CRC(Cyclic Redundancy Check)로 Check-sum이나 패리티 비트와 같이 에러 검출할 때 사용한다.
Parity비트는 1의 개수가 홀수냐 짝수냐로 에러를 검출하는데 1/2의 찍신으로 그냥 넘겨질 수 있기때문에 완전하지 못하다.
Check-sum의 경우도 우연의 일치로 합이 같아질 수 있기 때문에 조심해야 한다.
ex) 1100 , 1001은 check-sum이 같다.
CRC는 패리티와 체크섬에 비하면 신뢰할만하다고 할 수 있다.
ex)
P(X)가 보내고자 하는 데이터
G(X)는 미리 정해진 값
Q(X)는 몫
R(X)라고
해보자!
P(X) = 110011
G(X) = 11001
k=4
이라고 해보자!
xk * P(X) = 1100110000
1100110000 = 11001 * (10000 + 1) + (1000 + 1)
Q(X) = 10001
R(X) = 1001 = FCS
xkP(X) + R(X) = 1100110000 + 1001 = 110011/1001가 전송된다.
'임베디드 보안' 카테고리의 다른 글
자동차 공격 시나리오 (0) | 2017.12.12 |
---|---|
리눅스 sublime text3 업데이트 팝업 뜨지 않도록 하기! (0) | 2017.12.12 |
리눅스 패키지 의존성 문제 해결 (0) | 2017.12.12 |
CAN 패킷 분석 (0) | 2017.12.12 |
CAN 통신 (0) | 2017.12.08 |