# 체크섬 체크섬(checksum) 또는 검사합은 데이터의 무결성을 판별하기 위해 데이터에서 파생된 작은 크기의 데이터 블록을 의미한다. 체크섬을 생성하는 절차를 체크섬 함수 또는 체크섬 알고리즘이라고 한다. 체크섬은 바코드나 주민등록번호, [[computer-network]]에 사용된다. ## 주민등록번호 1975년부터 주민등록번호의 마지막 숫자를 체크섬으로 사용하고 있다. 주민등록번호에서 체크섬 계산 방법은 아래와 같다. 13자리 주민등록번호 $ABCDEF-GHIJKLX$를 예로 들어보자. 체크섬으로 사용되는 마지막 숫자 $X$를 제외하고 앞 12자리 숫자에 대해 아래와 같이 상수를 곱한다. $$ \begin{align*} A' &= A \times 2 \\ B' &= B \times 3 \\ C' &= C \times 4 \\ D' &= D \times 5 \\ E' &= E \times 6 \\ F' &= F \times 7 \\ G' &= G \times 8 \\ H' &= H \times 9 \\ I' &= I \times 2 \\ J' &= J \times 3 \\ K' &= K \times 4 \\ L' &= L \times 5 \\ \end{align*} $$ 이렇게 계산된 12개의 숫자를 모두 더한 뒤, 11로 나눈 나머지를 구한다. $$ S = A' + B' + C' + D' + E' + F' + G' + H' + I' + J' + K' + L' $$ $$ R = S \; \text{mod} \; 11 $$ 마지막으로 11에서 $R$을 뺀 후 10으로 나눈 나머지를 구하면 체크섬 $X$가 된다. 10으로 나눈 나머지를 사용하는 이유는 두 자리 이상의 값이 나오는 경우 1의 자리 숫자만을 사용하기 위함이다. $$ X = (11 - R) \; \text{mod} \; 10 $$ ## 2025년 경기도 포천 전투기 오폭 사고 2025년 3월 6일 자유의 방패 연습(프리덤 실드)에서 훈련 중이던 KF-16 전투기 2기가 민가에 항공 폭탄을 투하한 사고가 있었다. 이 오폭 사고는 조종사가 위도 7자리와 경도 8자리 좌표를 입력하던 중, 위도 좌표 `XX 05.XXX`를 `XX 00.XXX`로 잘못 입력해서 일어났다. 만약 체크섬을 사용했다면 높은 확률로 사고를 막을 수 있었다는 지적이 있다.