블로그 이미지
안녕1999

카테고리

전체 (3067)
자바스크립트 (20)
안드로이드 (14)
WebGL (4)
변비 (17)
정치,경제 (35)
C언어,ARM (162)
컴퓨터(PC, Note Book, 윈.. (41)
전자회로, PCB (27)
유머,안웃긴,GIF,동영상 (118)
국부론60 (71)
모듈(PCB) (3)
건강 (2)
FreeCAD (25)
PADS (43)
퇴직,퇴사,구직,취업 활동 (3)
C# (86)
엑셀 (8)
워드 (0)
LabView (6)
레고 (30)
FPGA (0)
Total
Today
Yesterday

달력

« » 2024.5
1 2 3 4
5 6 7 8 9 10 11
12 13 14 15 16 17 18
19 20 21 22 23 24 25
26 27 28 29 30 31

공지사항

최근에 올라온 글

'crc32'에 해당되는 글 1건

  1. 2016.08.09 CRC32의 한계

CRC32의 한계

카테고리 없음 / 2016. 8. 9. 23:30

CRC32는 특정 데이터의 오류가 발생했는지를 확인하기위한 방법이다.


32비트 결과물이므로, 32비트보다 큰 데이터의 경우, 중복가능성이 존재한다.

64비트데이터인 경우, 32비트데이터 길이만큼 중복 가능성이 존재한다.

엄청난 문제이다. 그러나, 실제로 사용되는 데이터는 2^64 의 모든 경우를 사용하는 경우는 드물다.

그러므로 실제 오류가능성으 크게 낮아진다.

그러나, 중복가능성은 여전히 존재한다.


MD5같은 방식을 추천하기도 하지만, MD5도 중복 가능성은 존재한다.

가장 확실한 방법은 데이터를 1:1로 비교하는 방법이지만, 너무 부담스럽다.


다른 방법으로는 데이터를 n등분하여, 각 구역별로 CRC32를 계산하는 방법이 있을 수 있다.

그러나, 이역시, 완전한 대책은 되지 않는다.


또다른 방법으로는 CRC32+체크섬+가중치 체크섬+...등, 동일한 데이터를 여러가지 방식으로 표시한다.

CRC32도 같아야 하고, 체크섬도 같아야하고, ...

PC에서는 CRC32보다는 체크섬방식이 효율적이다.

CRC32는 하드웨어 구현할때 효과적인 방법이다.

(CRC32는 PC에서 계산할때, 시간이 많이 걸린다.)

왜 PC에는 CRC32계산하는 하드웨어가 없나???


데이터 중복이 문제가 될 소지가 있는 경우에는, CRC32가 같을 경우에도, 1:1로 완전한 비교가 필요하다.

물론, CRC32가 다른 경우에는 1:1비교는 불필요하다.


데이터의 크기가 상당히 큰 경우에는 1:1비교하는데 시간이 많이 걸리는 문제가 있다.


len, CRC32는 같은데, 데이터가 다른 경우, 처리방안

모든 CRC32를 사용하지 않으므로, CRC32+1에 저장하면 될듯 하다.

그러나, 이 역시 불안하다.

CRC32파일명으로 [LEN][DATA][LEN[DATA]...방식으로 저장하는것이 좋을듯 하다.

단, 데이터의 크기가 매우 크지 않을 경우에만

Posted by 안녕1999
, |

최근에 달린 댓글

글 보관함