의견.png

CRC-32

위키원
martinyj (토론 | 기여)님의 2020년 1월 14일 (화) 12:17 판 (개요)
이동: 둘러보기, 검색

CRC-32은 Cyclic Redundancy Check (CRC) 방식중의 하나이며 CRC 알고리즘 계산을 추진할 때 CRC32 다항식 (Polynomial) 을 사용한다. CRC는 네트워크 데이터블록 또는 파일 등 데이터에 근거하여 짧고 간단하며 자리수가 고정 된 검증코드를 발생시키는 채널코딩기술 (Channel Coding Techniques) 이며 주로 데이터 전송 또는 저장 후에 발생할 수 있는 오류 등을 감지 또는 검증하는데 사용된다. CRC는 1961년에 미국의 정보와 컴퓨터과학 전문가 W. Wesley Peterson 이 발명하였다.

개요

CRC-32은 Cyclic Redundancy Check (CRC) 방식중에 CRC32 다항식을 적용하여 검증코드 (체크섬;Checksum) 를 취득하고 이를 통신에 적용하는 채널코딩기술이다.

적용시 송신자측은 전송하고자 하는 메세지에 산출 된 체크섬을 더하여 전송하고 수신자측은 체크섬 산출 시 사용하였던 다항식을 그대로 적용하여 수신한 메세지에 나누기를 적용하여 산출 된 값이 Zero인지를 판단한다. Zero 이면 데이터 송수신이 정확히 진행되었고 아닐 경우 송수신 오류가 발생하였다고 판단한다.

CRC검증작업에서 실수(검증작업에서 오류를 발견못하는) 할 확율은 1/2^32이다. 실제 작업중에는 실수가 없다고 과언해도 무리는 아니다.

CRC-32 다항식은 x32 + x26 + x23 + x22 + x + x16 + x12 + x11 + x10 + x8 + x7 + x5 +x4 + x2 + x + 1

CRC-32 산하에는 적용하는 다항식에 따라 CRC-32 알고리즘군이 구성되어 있으며 넓은 영역에서 사용된다. 구체적으로 아래시트를 참조할 수 있다.[1][2]

CRC-32 알고리즘 군

CRC원리

CRC 검증코드 수동계산 사례

각주

  1. "Cyclic redundancy check", Wikipedia
  2. 하늘 가득 비, 〈CRC란 무엇인가?〉, 《네이버 블로그》, 2018-09-05

참고자료

같이 보기

  의견.png 이 CRC-32 문서는 암호 알고리즘에 관한 토막글입니다. 위키 문서는 누구든지 자유롭게 편집할 수 있습니다. [편집]을 눌러 이 문서의 내용을 채워주세요.