1. CRC 생성 다항식 종류 : 여러가지 CRC 생성다항식 g(X) 例)
※ `생성 다항식` 이란?
- 용도 : 입력 데이터 비트열로부터 유효 부호어를 `생성시킬 수 있는 다항식` 형태의 표현
. 입력 데이터 비트열로부터 검사용 비트(CRC)를 생성하기 위해 사용됨
- 표현 방식
. 입력에 의해 출력이 결정되는 `조합 논리`의 표현을,
. `부울 대수`가 아닌 `추상 대수`의 대수적 표현(다항식 환)에 의함
- 표현 항목
. 계수 : GF(2) (2진 유한체, 즉 계수는 {0,1}) 위에서 정의됨
. 차수 : 통상, 생성 다항식의 차수(degree)는, 추가되는 CRC 비트의 수를 의미
. 연산 : XOR 연산을 다항식 덧셈으로 봄
- 검사용 비트열 (CRC 부호어) : (생성 다항식으로 생성됨)
. CRC 부호어는, 메시지 다항식을 생성 다항식으로 나누었을 때, 나머지 = 0 이 되도록 설계됨
ㅇ CRC-8 (비트 길이 : 8 + 1 = n - k + 1 bits)
- 생성 다항식 : g(x) = X8 + X2 + X1+ 1
- 이진 표현 : 1000 0011 1 (9 비트)
- 사용 例) : ATM HEC, SMBus 등
ㅇ CRC-10 (비트 길이 : 10 + 1 = n - k + 1 bits)
- 생성 다항식 : g(x) = X10 + X9 + X5 + X4 + X1 + 1
- 이진 표현 : 1100 0011 001 (11비트)
- 사용 例) : ATM HEC 등
ㅇ CRC-12 (비트 길이 : 12 + 1 = n - k + 1 bits)
- 생성 다항식 : g(x) = X12 + X11 + X3 + X2 + X + 1
- 이진 표현 : 1100 0000 1111 (13비트)
- 사용 例) : 전송 시스템, 케이블 모뎀 DOCSIS 등
ㅇ CRC-16 (비트 길이 : 16 + 1 = n - k + 1 bits)
- 생성 다항식 : g(x) = X16 + X15 + X2 + 1
- 이진 표현 : 1100 0000 0000 0101 (17비트)
- 사용 例) : IBM SDLC, ANSI X3.28
ㅇ CRC-16-CCITT (비트 길이 : 16 + 1 = n - k + 1 bits)
- 생성 다항식 : g(x) = X16 + X12 + X5 + 1
- 이진 표현 : 1000 1000 0000 1001 (17비트)
- 사용 例) : X.25, HDLC, Bluetooth, PPP
ㅇ CRC-32 (비트 길이 : 32 + 1 = n - k + 1 bits) : IEEE 802.3-2008
- 생성 다항식 : g(x) = X32 + X26 + X23 + X22 + X16 + X12 + X11 + X10 + X8 + X7 + X5
+ X4 + X2 + X + 1
- 이진 표현 : 1000 0100 1100 0001 0001 1101 1011 0111 (33비트)
- 사용 例) : Ethernet (IEEE 802.3), ZIP, PNG, SCTP, MPEG-2