체크섬 checksum

jino630·2021년 6월 16일
0

hash

목록 보기
3/6

체크섬 - 위키

체크섬(checksum)은 중복 검사의 한 형태로, 오류 정정을 통해, 공간(전자 통신)이나 시간(기억 장치) 속에서 송신된 자료의 무결성을 보호하는 단순한 방법이다.

통신에서 순환 중복 검사(CRC)를 체크섬이라고 말하기도 한다. 엄밀히 말하면 체크섬은 나열된 데이터를 더하여 체크섬 숫자를 얻고, 정해진 비트수의 모듈라로 정해진 비트수로 재구성 한다. 단순 덧셈 방식과 순환 중복 검사의 계산 방식과는 차이가 있으나, 많은 경우 순환 중복 검사의 결과를 체크섬이라고 말하므로 단순 덧셈만을 의미하지는 않는다.

기본적인 메시지 구성 요소(보통 비트)를 추가하여 결과값을 저장함으로써 동작한다. 나중에 누구나 데이터에 같은 작업을 수행할 수 있고, 무결성 검사에 대한 결과를 비교할 수 있으며, (체크섬이 맞아 떨어지는지 확인해 봄으로써) 메시지가 손상되지 않았다고 결론을 내릴 수도 있다.

마이크로프로세서를 활용한 시스템을 설계할 때, 프로그램은 주로 C언어로 작성한다. C 언어는 컴파일러와 링커에 의해 최종 결합하면 기계어 코드의 묶음이 나온다. 이것이 실행파일(헥사 파일, hexa)인데, 메모리에 써서 CPU가 동작할 수 있게 한다. 이 실행파일에 체크섬을 적용하여 줄 단위로 오류를 검증한다. 인텔과 과거 모토로라(현재 프리스케일, 반도체 칩 제조사)에서 사용 하였다. 여기서는 정해진 형식에 따라 바이트 단위로 단순 덧셈을 하여, 1바이트 모듈라를 취해 최종 값을 만든다. 이것을 해당라인의 끝에 오류 체크용으로 붙여 파일을 만든다.

0개의 댓글