체크 디지트
"오늘의AI위키"의 AI를 통해 더욱 풍부하고 폭넓은 지식 경험을 누리세요.
1. 개요
체크 디지트는 사람의 필기 오류를 포착하기 위해 설계된 알고리즘으로, 문자/숫자 오류, 한 자리 오류, 바꿔쓰기 오류 등 다양한 오류 유형을 감지한다. 오류 포착 가능성과 구현 난이도 사이에는 상충 관계가 있으며, 간단한 방법은 구현이 쉽지만 오류 포착률이 낮고, 복잡한 방법은 오류 포착률이 높지만 구현이 어렵다. 룬 알고리즘, 베어호프 알고리즘, 댐 알고리즘 등이 대표적인 체크 디지트 알고리즘이며, 바코드, 계좌 번호, ISBN 등 다양한 식별 번호에 활용된다.
더 읽어볼만한 페이지
- 오류 검출 정정 - 부호 이론
부호 이론은 정보를 효율적으로 표현하고 오류를 감지 및 수정하는 기술을 연구하며, 소스 부호화, 채널 부호화, 암호 부호화 등으로 발전하여 CD, 모뎀, 휴대폰 등 다양한 분야에 응용된다. - 오류 검출 정정 - 비터비 알고리즘
비터비 알고리즘은 잡음이 있는 통신 링크 상에서 길쌈 부호 해독에 사용되며, 확률과 관련된 극대화 문제에 동적 계획법을 적용하는 표준 용어로, 상태 기계를 기반으로 은닉 마르코프 모델에서 가장 가능성 높은 상태 시퀀스를 찾는 데 활용되어 통신, 자연어 처리, 생물정보학 등 다양한 분야에 적용되고 개선 방법이 연구되고 있다.
체크 디지트 | |
---|---|
기본 정보 | |
유형 | 식별 코드 |
목적 | 오류 감지 |
설명 | 식별 번호에 추가된 숫자 |
세부 정보 | |
검사 방법 | 알고리즘 |
추가 위치 | 식별 번호의 끝 |
사용 예시 | |
적용 분야 | 신용 카드 번호 ISBN EAN 주민등록번호 |
알고리즘 종류 | |
주요 알고리즘 | 루한 알고리즘 Modulus 11 |
추가 정보 | |
관련 용어 | 데이터 유효성 검사 |
2. 설계
체크 디지트 알고리즘은 일반적으로 사람이 필기할 때 발생하는 오류를 포착하도록 설계되었다. 시스템을 선택할 때는 오류를 잡아낼 확률이 높을수록 구현하기 어렵다는 점을 고려해야 한다. 간단한 체크 디지트 시스템은 사람이 쉽게 이해하고 구현할 수 있지만, 복잡한 시스템만큼 많은 오류를 잡아내지 못한다.
바람직한 기능은 왼쪽에 0을 여러 개 추가해도 체크 디지트가 변경되지 않는 것이다. 이를 통해 가변 길이 숫자를 사용하고 길이를 변경할 수 있다. 원래 숫자에 단일 체크 디지트가 추가되면 시스템은 두 숫자를 바꿔 쓰는 오류(12 → 34)와 같은 여러 오류를 항상 잡아내지는 못하지만, 일반적으로 여러 오류의 약 90%는 발견된다.
매우 간단한 체크 디지트 방법은 모든 숫자의 합(디지털 합)을 모듈로 10으로 취하는 것이다. 이 방법은 모든 단일 숫자 오류를 잡을 수 있지만, 순서를 변경해도 합계가 변경되지 않으므로 전위 오류(두 숫자 전환)는 잡을 수 없다.
이보다 약간 더 복잡한 방법은 각 숫자 위치에 대해 서로 다른 가중치를 사용하여 숫자의 가중 합을 모듈로 10으로 취하는 것이다. 예를 들어, 네 자리 숫자의 가중치가 5, 3, 2, 7이고 코딩할 숫자가 4871인 경우 5×4 + 3×8 + 2×7 + 7×1 = 65가 된다. 65를 10으로 나눈 나머지인 5가 체크 디지트가 되어 48715가 된다.
가중치가 1, 3, 7 또는 9인 시스템은 이웃하는 숫자의 가중치가 다르며 널리 사용된다. 예를 들어 UPC 코드의 31 31 가중치, EAN 번호(GS1 알고리즘)의 13 13 가중치, 미국 은행 라우팅 전송 번호에 사용되는 371 371 371 가중치가 있다. 이러한 시스템은 모든 단일 숫자 오류와 전위 오류의 약 90%를 감지한다. 1, 3, 7, 9는 10과 서로소이므로 어떤 숫자를 변경해도 체크 디지트가 변경된다. 반면에 2 또는 5로 나누어지는 계수를 사용하면 정보가 손실되어(5×0 = 5×2 = 5×4 = 5×6 = 5×8 = 0 모듈로 10) 일부 단일 숫자 오류를 포착하지 못하게 된다. 이웃 숫자에 다른 가중치를 사용하면 대부분의 전위가 체크 디지트를 변경하지만, 모든 가중치가 짝수만큼 다르기 때문에 5만큼 다른 두 숫자(0과 5, 1과 6, 2와 7, 3과 8, 4와 9)의 전위는 포착하지 못한다. 2와 5를 곱하면 10이 되기 때문이다.
ISBN-10 코드에서는 소수인 모듈로 11을 사용하며, 모든 숫자 위치에 서로 다른 가중치 1, 2, ..., 10을 갖는다. 따라서 이 시스템은 모든 한 자리 대체 및 전치 오류(점프 전치 포함)를 감지하지만, 체크 디지트가 "X"로 표현되는 10이 될 수 있다는 단점이 있다. (다른 방법은 "X" 체크 디지트가 나오는 일련 번호를 사용하지 않는 것이다.) ISBN-13은 EAN 번호에 사용되는 GS1 알고리즘을 사용한다.
더 복잡한 알고리즘으로는 룬 알고리즘(1954), 페어호프 알고리즘(1969), 담 알고리즘(2004) 등이 있다. 룬 알고리즘은 단일 숫자 전위 오류의 98%를 잡아내고(90 ↔ 09는 감지하지 못함), 페어호프 알고리즘은 모든 단일 숫자 대체 및 전위 오류와 더 복잡한 오류를 많이(전부는 아님) 잡아낸다. 담 알고리즘과 같이 추상 대수 기반 방법은 모든 단일 숫자 오류와 모든 인접 전위 오류를 감지한다. 이러한 세 가지 방법은 단일 체크 디지트를 사용하므로 약 10%의 더 복잡한 오류를 잡아내지 못한다. 이 실패율을 줄이려면 둘 이상의 체크 디지트를 사용하거나(예: 국제 은행 계좌 번호에서 사용되는 모듈로 97 체크), 체크 디지트에서 더 넓은 범위의 문자(예: 숫자와 문자)를 사용해야 한다.
2. 1. 흔히 발생하는 오류 유형
체크 디지트 알고리즘은 사람이 필기할 때 발생하는 오류를 포착하기 위해 설계되었다. 일반적인 오류 유형은 다음과 같다.[15]오류 유형 | 설명 | 예시 |
---|---|---|
문자/숫자 오류 | 글자나 숫자를 잘못 쓰는 오류 | l → 1, O → 0 |
한 자리 오류 | 숫자 하나를 잘못 쓰는 오류 | 1 → 2 |
바꿔쓰기 오류 (전치 오류) | 두 숫자의 순서를 바꿔 쓰는 오류 | 12 → 21 |
쌍 오류 | 같은 숫자 두 개를 다른 숫자로 바꿔 쓰는 오류 | 11 → 22 |
점프 전치 오류 | 떨어진 두 숫자의 순서를 바꿔 쓰는 오류 | 132 → 231 |
점프 트윈 오류 | 떨어진 두 쌍의 숫자를 바꿔 쓰는 오류 | 131 → 232 |
발음 오류 | 발음이 비슷한 숫자로 잘못 쓰는 오류 | 60 → 16 ("sixty" - "sixteen") |
시스템을 선택할 때 오류를 포착할 가능성과 구현 난이도는 서로 반비례한다. 간단한 체크 디지트 시스템은 구현이 쉽지만 오류 포착률이 낮고, 복잡한 시스템은 오류 포착률이 높지만 구현이 어렵다.
바람직한 특징은 왼쪽에 0을 여러 개 추가해도 체크 디지트가 변경되지 않는 것이다. 이렇게 하면 가변 길이 숫자를 사용하고 길이를 변경할 수 있다.
원래 번호에 하나의 체크 디지트를 추가하는 경우, 시스템은 두 숫자를 바꿔 쓰는 오류(12 → 34)와 같은 복수 오류를 항상 잡아내지는 못한다. 하지만 일반적으로 복수 오류의 약 90%는 발견된다.
2. 2. 일반적인 체크 디지트 계산 방법
범용 제품 코드(UPC)의 마지막 숫자는 검사 숫자이며, 다음과 같이 계산된다.[16]# 오른쪽부터 홀수 자리(첫 번째, 세 번째, 다섯 번째 등 - 검사 숫자 제외)의 숫자를 더하고 3을 곱한다.
# 결과에 짝수 위치(두 번째, 네 번째, 여섯 번째 등)의 숫자(검사 숫자까지 제외)를 더한다.
# 나머지 결과를 10으로 나눈 나머지 값을 취한다(즉, 모듈로 연산). 나머지가 0이면 0을 검사 숫자로 사용하고, 0이 아니면 10에서 그 나머지를 빼서 검사 숫자를 도출한다.
예를 들어 티슈 상자의 UPC-A 바코드는 "036000241457"이다. 마지막 숫자 "7"이 검사 숫자이며, 다른 숫자가 정확하면 검사 숫자 계산에서 7이 생성되어야 한다.
단계 | 설명 | 계산 |
---|---|---|
1 | 홀수 자릿수를 더한다 | 0+6+0+2+1+5 = 14 |
2 | 결과에 3을 곱한다 | 14 × 3 = 42 |
3 | 짝수 자릿수를 더한다 | 3+0+0+4+4 = 11 |
4 | 두 결과를 함께 더한다 | 42 + 11 = 53 |
5 | (53 모듈로 10)이라고도 하는 (53 / 10)의 나머지를 취하고 0이 아니면 10에서 뺀다. | (53 / 10) = 5 나머지 3; 10 - 3 = 7 |
따라서 체크 디지트 값은 7이다. |
또 다른 예로, 다음 식품 항목 "01010101010 '''''x''''' "에 대한 검사 숫자를 계산하면 다음과 같다.
단계 | 설명 | 계산 |
---|---|---|
1 | 홀수 자릿수를 더한다 | 0+0+0+0+0+0 = 0 |
2 | 결과에 3을 곱한다 | 0 x 3 = 0 |
3 | 짝수 자릿수를 더한다 | 1+1+1+1+1=5 |
4 | 두 결과를 함께 더한다 | 0 + 5 = 5 |
5 | (5 모듈로 10)이라고도 하는 (5 / 10)의 나머지를 취하고 0이 아니면 10에서 뺀다. | (5 / 10) = 0 나머지 5; (10 - 5) = 5 |
따라서 검사 숫자 'x' 값은 5이다. |
10자리 국제표준도서번호에서 마지막 문자는 검사 숫자인데, 각 숫자에 숫자의 해당 위치에 해당하는 수(오른쪽부터 계산)를 곱하고 이들 곱의 합산의 모듈로 11을 합하면 0이 되도록 계산된다. 가장 오른쪽에 있는 숫자(1을 곱한 값)는 합계를 올바르게 만들기 위해 선택한 검사 숫자이다. 이때 필요한 숫자는 10이 될 수 있는데 이때는 문자 X로 표시된다. 예를 들어 ISBN 0-201-53082-1의 경우, 곱의 합은 0×10 + 2×9 + 0×8 + 1×7 + 5×6 + 3×5 + 0×4 + 8×3 + 2×2 + 1 ×1 = 99 ≡ 0(모드 11)이므로 ISBN이 유효하다. 위치는 왼쪽부터 계산할 수도 있는데, 이 경우에는 유효성을 확인하기 위해 검사 숫자에 10을 곱한다: 0×1 + 2×2 + 0×3 + 1×4 + 5×5 + 3×6 + 0 ×7 + 8×8 + 2×9 + 1×10 = 143 ≡ 0(mod 11).
ISBN 13(2007년 1월 사용)은 책 바코드 아래에 있는 EAN-13 코드와 같다. 체크 디지트는 홀수 대신 짝수에 3을 곱한다는 점을 제외하면 UPC와 동일한 방식으로 생성된다.[17]
EAN(European Article Number, 국제상품번호) 체크 디지트(GS1에서 관리)는 각 홀수 위치 번호에 3을 곱한 다음 짝수 위치 번호의 합계를 더하여 계산된다. 숫자는 오른쪽에서 왼쪽으로 검사되므로 첫 번째 홀수 위치는 코드의 마지막 숫자이다. 검사 숫자를 계산하기 위해 결과의 마지막 숫자를 10에서 뺀다(또는 이미 0인 경우 그대로 둔다). GS1 체크 디지트 계산기 및 자세한 문서는 GS1 웹사이트에서 온라인으로 제공한다.[18] 또 다른 공식 계산기 페이지는 GTIN-13의 메커니즘이 글로벌 위치 번호(GLN)과 동일함을 보여준다.[19]
2. 3. 더 복잡한 알고리즘
2004년부터 사용 중인 NOID Check Digit Algorithm (NCDA)은 영구 식별자에 적용하도록 설계되었으며, 확장 숫자라고 하는 문자 및 숫자의 가변 길이 문자열과 함께 작동한다.[20] ARK 식별자 체계와 함께 널리 사용되며, 핸들 시스템 및 DOI 와 같은 체계와 함께 다소 사용된다. 확장된 숫자는 모음과 문자 'l'(ell)을 뺀 영숫자인 베타 숫자 문자로 제한된다. 이러한 제한은 실수로 단어를 형성할 가능성이 없고, O와 0 또는 l과 1을 모두 포함하지 않는 불투명 문자열을 생성하는 데 도움이 된다. R=29의 소수 기수를 갖는 베타숫자 레퍼토리는 알고리즘이 길이가 R=29자 미만인 문자열에 대해 단일 문자 및 전치 오류[21]의 감지를 보장하도록 허용한다(그 이상은 약간 더 약한 검사를 제공한다). 이 알고리즘은 소수 기수 R 및 길이가 R자 미만인 문자열이 있는 모든 문자 레퍼토리로 일반화된다.일반적인 체크 디지트 알고리즘은 다음과 같은 ''인간''의 전사 오류를 잡아내도록 설계되었다.[2]
오류 종류 | 예시 |
---|---|
글자/숫자 오류 | l → 1 또는 O → 0 |
한 자리 숫자 오류 | 1 → 2 |
전위 오류 | 12 → 21 |
쌍둥이 오류 | 11 → 22 |
점프 전위 오류 | 132 → 231 |
점프 쌍둥이 오류 | 131 → 232 |
음성 오류 | 60 → 16 ("sixty"를 "sixteen"으로) |
룬 알고리즘(1954), 베어호프 알고리즘(1969), 담 알고리즘(2004) 등이 대표적인 체크 디지트 알고리즘이다.[2]
시스템을 선택할 때 오류를 잡아낼 확률이 높을수록 구현 난이도가 높아진다. 간단한 체크 디지트 시스템은 인간이 쉽게 이해하고 구현할 수 있지만, 복잡한 시스템만큼 많은 오류를 잡아내지 못한다. 복잡한 시스템은 구현을 위해 정교한 프로그램이 필요하다.
바람직한 특징은 0으로 왼쪽 채움을 해도 체크 디지트가 변경되지 않아야 한다는 것이다. 이를 통해 가변 길이 숫자를 사용할 수 있고 길이를 변경할 수 있다.
원래 숫자에 단일 체크 디지트가 추가되면 시스템은 두 개의 교체 오류(12 → 34)와 같은 ''다중'' 오류를 항상 잡아내지는 못하지만, 일반적으로 이중 오류는 90%의 시간 동안 감지될 것이다(두 변경 사항 모두 출력을 상쇄되는 양만큼 변경해야 한다).
매우 간단한 체크 디지트 방법은 모든 숫자의 합(디지털 합)을 모듈로 10으로 취하는 것이다. 이렇게 하면 모든 단일 숫자 오류를 잡을 수 있는데, 이러한 오류는 항상 합계를 변경하지만 순서를 변경해도 합계가 변경되지 않으므로 전위 오류(두 숫자 전환)는 잡을 수 없다.
약간 더 복잡한 방법은 각 숫자 위치에 대해 다른 가중치를 사용하여 숫자의 가중 합을 모듈로 10으로 취하는 것이다.
예를 들어, 네 자리 숫자의 가중치가 5, 3, 2, 7이고 코딩할 숫자가 4871인 경우 5×4 + 3×8 + 2×7 + 7×1 = 65, 즉 65 모듈로 10을 취하고 체크 디지트는 5가 되어 48715가 된다.
가중치가 1, 3, 7 또는 9인 시스템은 이웃하는 숫자의 가중치가 다르며 널리 사용된다. 예를 들어, UPC 코드의 31 31 가중치, EAN 번호(GS1 알고리즘)의 13 13 가중치, 미국 은행 라우팅 전송 번호에 사용되는 371 371 371 가중치가 있다. 이 시스템은 모든 단일 숫자 오류와 전위 오류의 약 90%를 감지한다. 1, 3, 7, 9는 10과 상호 소수이므로 어떤 숫자를 변경해도 체크 디지트가 변경되기 때문에 사용된다. 2 또는 5로 나누어지는 계수를 사용하면 정보가 손실되어 (5×0 = 5×2 = 5×4 = 5×6 = 5×8 = 0 모듈로 10) 일부 단일 숫자 오류를 잡을 수 없게 된다. 이웃하는 숫자에 다른 가중치를 사용한다는 것은 대부분의 전위가 체크 디지트를 변경한다는 것을 의미한다. 그러나 모든 가중치가 짝수만큼 다르기 때문에 5만큼 차이가 나는 두 숫자의 전위(0과 5, 1과 6, 2와 7, 3과 8, 4와 9)는 잡을 수 없는데, 2와 5를 곱하면 10이 되기 때문이다.
ISBN영어 코드는 대신 11을 모듈로 사용하며, 11은 소수이며 모든 숫자 위치에 서로 다른 가중치 1, 2, ... 10이 있다. 따라서 이 시스템은 모든 단일 숫자 대체 및 전위 오류(점프 전위 포함)를 감지하지만, 체크 디지트가 "X"로 표현되는 10이 될 수 있다는 단점이 있다. (다른 방법은 "X" 체크 디지트가 나오는 일련 번호를 사용하지 않는 것이다.) ISBN영어은 대신 EAN 번호에 사용되는 GS1 알고리즘을 사용한다.
더 복잡한 알고리즘에는 Luhn 알고리즘(1954)이 있는데, 이 알고리즘은 단일 숫자 전위 오류의 98%를 잡아낸다(90 ↔ 09는 감지하지 못함). Verhoeff 알고리즘(1969)은 모든 단일 숫자 대체 및 전위 오류와 많은(전부는 아님) 더 복잡한 오류를 잡는다. 이와 유사한 것은 또 다른 추상 대수 기반 방법인 Damm 알고리즘(2004)으로, 이 또한 모든 단일 숫자 오류와 모든 인접 전위 오류를 감지한다. 이 세 가지 방법은 단일 체크 디지트를 사용하므로 약 10%의 더 복잡한 오류를 잡아내지 못할 것이다. 이 실패율을 줄이기 위해서는 둘 이상의 체크 디지트를 사용하거나(예: 국제 은행 계좌 번호에서 사용되는 모듈로 97 체크), 체크 디지트에서 더 넓은 범위의 문자를 사용해야 한다.
3. 알고리즘
체크 디지트 알고리즘은 사람이 직접 자료를 입력할 때 생기는 전사 오류를 잡아내기 위해 설계되었다. 다음은 복잡성 순서대로 나열된 오류의 종류이다.
오류를 잡아낼 확률이 높은 시스템일수록 구현하기 어렵다. 간단한 체크 디지트 시스템은 사람이 쉽게 이해하고 구현할 수 있지만, 복잡한 시스템만큼 많은 오류를 잡아내지 못한다. 반면 복잡한 시스템은 정교한 프로그램이 필요하다.
바람직한 체크 디지트 시스템의 특징은 0으로 왼쪽 채움을 해도 체크 디지트가 변경되지 않는 것이다. 이를 통해 가변 길이 숫자를 사용하고 길이를 변경할 수 있다.
단일 체크 디지트를 추가하면 두 개의 교체 오류(12 → 34)와 같은 ''다중'' 오류를 항상 잡아내지는 못하지만, 일반적으로 이중 오류는 90%의 시간 동안 감지된다.
간단한 체크 디지트 계산 방법모든 숫자의 합(디지털 합)을 모듈로 10으로 취하는 매우 간단한 방법이 있다. 이 방법은 모든 단일 숫자 오류를 잡을 수 있지만, 순서를 변경해도 합계가 변경되지 않으므로 전위 오류는 잡을 수 없다.
더 복잡한 방법각 숫자 위치에 대해 다른 가중치를 사용하여 숫자의 가중 합을 모듈로 10으로 취하는 방법이 있다.
예를 들어 네 자리 숫자의 가중치가 5, 3, 2, 7이고 코딩할 숫자가 4871인 경우, 5×4 + 3×8 + 2×7 + 7×1 = 65, 즉 65 모듈로 10을 취하고 체크 디지트는 5가 되어 48715가 된다.
가중치가 1, 3, 7 또는 9인 시스템은 이웃하는 숫자의 가중치가 다르며 널리 사용된다. UPC 코드의 31 31 가중치, EAN 번호(GS1 알고리즘)의 13 13 가중치, 미국 은행 라우팅 전송 번호에 사용되는 371 371 371 가중치가 그 예이다. 이 시스템은 모든 단일 숫자 오류와 전위 오류의 약 90%를 감지한다. 1, 3, 7, 9는 10과 상호 소수이므로 어떤 숫자를 변경해도 체크 디지트가 변경되기 때문에 사용된다. 2 또는 5로 나누어지는 계수를 사용하면 정보가 손실되어 일부 단일 숫자 오류를 잡을 수 없게 된다. 이웃하는 숫자에 다른 가중치를 사용한다는 것은 대부분의 전위가 체크 디지트를 변경한다는 것을 의미한다. 그러나 모든 가중치가 짝수만큼 다르기 때문에 5만큼 차이가 나는 두 숫자의 전위(0과 5, 1과 6, 2와 7, 3와 8, 4와 9)는 잡을 수 없다.
ISBN-10 코드는 11을 모듈로 사용하며, 11은 소수이며 모든 숫자 위치에 서로 다른 가중치 1, 2, ... 10이 있다. 따라서 이 시스템은 모든 단일 숫자 대체 및 전위 오류(점프 전위 포함)를 감지하지만, 체크 디지트가 "X"로 표현되는 10이 될 수 있다는 단점이 있다. ISBN-13은 EAN 번호에 사용되는 GS1 알고리즘을 사용한다.
룬 알고리즘(1954)은 단일 숫자 전위 오류의 98%를 잡아내지만 90 ↔ 09는 감지하지 못한다. 베어호프 알고리즘(1969)은 모든 단일 숫자 대체 및 전위 오류와 많은 더 복잡한 오류를 잡는다. 담 알고리즘(2004) 또한 모든 단일 숫자 오류와 모든 인접 전위 오류를 감지한다. 이 세 가지 방법은 단일 체크 디지트를 사용하므로 약 10%의 더 복잡한 오류를 잡아내지 못한다. 실패율을 줄이기 위해서는 둘 이상의 체크 디지트를 사용하거나, 체크 디지트에서 더 넓은 범위의 문자를 사용해야 한다.
NCDA(NOID 체크 디지트 알고리즘)[8]는 2004년부터 사용되어 왔으며, 영구 식별자에 적용하도록 설계되었으며 확장된 숫자라고 불리는 문자 및 숫자의 가변 길이 문자열과 함께 작동한다. 이 알고리즘은 ARK 식별자 체계에 널리 사용되며, Handle System 및 DOI와 같은 체계에도 어느 정도 사용된다. 확장된 숫자는 베타숫자 문자로 제한되며, 이는 모음과 문자 'l'(엘)을 제외한 영숫자이다. 이러한 제한은 우연히 단어를 형성할 가능성이 낮고 O와 0 또는 l과 1을 모두 포함하지 않는 불투명 문자열을 생성할 때 도움이 된다. 소수 기수 R=29를 갖는 베타숫자 레퍼토리는 알고리즘이 R=29자 미만의 문자열에 대해 단일 문자 및 전치 오류[9]를 감지하도록 보장할 수 있도록 한다. 이 알고리즘은 소수 기수 R과 길이가 R자 미만인 문자열을 갖는 모든 문자 레퍼토리로 일반화된다.
4. 한국에서의 활용 사례
한국에서는 행정 및 공공 부문, 금융 부문 등 다양한 분야에서 식별번호의 오류를 검증하기 위해 체크 디지트를 활용한다.[13]
4. 1. 행정 및 공공 부문
바코드, 전자 게시판의 IP 관리, 학교의 학적 번호, 금융 기관의 계좌 번호, 신용 카드 번호, ISBN(국제 표준 도서 번호), 전국 지방 공공 단체 코드, 운전 면허증, 개인 번호, 법인 번호, 주민등록 코드, 해상 컨테이너, 철도 차량, 승차권 등 다양한 종류의 식별 번호에 체크 디지트가 사용된다.[13]4. 2. 금융 부문
금융 기관의 계좌 번호, 신용 카드 번호 등에 체크 디지트가 사용된다.[13]4. 3. 기타
체크 디지트는 바코드, 전자 게시판의 IP 관리, 학교의 학적 번호, 금융 기관의 계좌 번호, 신용 카드 번호, ISBN, 전국 지방 공공 단체 코드, 운전 면허증, 개인 번호, 법인 번호, 주민등록 코드, 해상 컨테이너, 철도 차량, 승차권 등 다양한 종류의 식별 번호에 사용된다.[13]5. 국제적인 활용 사례
국제적으로 체크 디지트는 다양한 분야에서 활용된다. 국제 SEDOL 번호, ISSN 코드, 국제 증권 식별 번호(ISIN), FIGI 표준, CAS 등록번호 등에서 마지막 숫자가 체크 디지트로 사용된다.[22]
신용카드 번호, 노르웨이 KID 번호, 휴대폰의 IMEI 등에도 Luhn 알고리즘을 통해 계산된 체크 디지트가 사용된다. GTIN의 EAN/UPC 일련번호, DUNS 번호, 국제 은행 계좌 번호, 국제 표준 텍스트 코드의 마지막 숫자, 자기 띠 카드의 마지막 문자 등도 체크 디지트를 활용한다.[10]
이 외에도 바코드, 전자 게시판의 IP 관리, 학교의 학적 번호, 금융 기관의 계좌 번호, ISBN, 전국 지방 공공 단체 코드, 운전 면허증, 개인 번호, 법인 번호, 주민등록 코드, 해상 컨테이너, 철도 차량, 승차권 등 다양한 식별 번호에 체크 디지트가 사용된다.[13]
5. 1. 국제 표준
- 국제 증권 식별 번호(ISIN)의 마지막 숫자.[10]
- ISSN 코드 또는 IMO 번호의 마지막 숫자.
- Object Management Group FIGI 표준 마지막 숫자.[10]
- 국제 CAS 등록 번호의 마지막 숫자.
- 신용 카드 계정 번호의 모듈로 10 검증 숫자(Luhn 알고리즘에 의해 계산됨).
- 은행 지로(신용 이체)에 사용되는 노르웨이 KID(고객 식별 번호) 번호에도 사용됨.
- 휴대폰의 IMEI에 사용됨.
- GTIN의 EAN/UPC 일련 번호화의 마지막 검증 숫자(GTIN-8, GTIN-12, GTIN-13 및 GTIN-14에 적용).
- DUNS 번호의 마지막 숫자(단, 이는 변경될 예정이며, 마지막 숫자는 검증 숫자가 아닌 새로운 할당에서 자유롭게 선택될 예정).
- 국제 은행 계좌 번호의 세 번째 및 네 번째 숫자(모듈로 97 검사).
- 국제 표준 텍스트 코드의 마지막 숫자.
- 자기 띠 카드에 인코딩된 마지막 문자는 계산된 종단 중복 검사임.
5. 2. 미국
- 미국 세관 및 국경 보호국 항목 번호의 11번째 숫자이다.
- 미국 의료 산업에서 국가 제공자 식별 번호의 10번째 숫자이다.
- POSTNET 코드의 마지막 숫자이다.
- 북미 CUSIP 번호이다.
- 미국에서 사용되는 은행 코드인 ABA 라우팅 환승 번호의 마지막(9번째) 숫자이다.
- 차량 식별 번호 (VIN)의 9번째 숫자이다.
- 메이요 클리닉의 애리조나 및 플로리다에서 사용되는 환자 식별 번호에는 후행 검사 숫자가 포함된다.
5. 3. 유럽 및 유라시아
- 영국 NHS 번호는 모듈로 11 알고리즘을 사용한다.
- 스페인 세금 식별 번호(número de identificación fiscal, NIF)는 모듈로 23을 기반으로 한다.
- 네덜란드 Burgerservicenummer(BSN) (국가 식별자)는 모듈로 11 알고리즘을 사용한다.
- 이스라엘의 Teudat Zehut(신분증) 번호의 아홉 번째 숫자는 체크 디지트이다.
- 세르비아 및 구 유고슬라비아 통합 시민 번호(JMBG)의 13번째 숫자는 체크 디지트이다. (단, 오류나 비거주로 인해 모두 적용되지는 않음)
- 11자리 터키 신분증 번호(TC Kimlik Numarası)의 마지막 두 자리는 체크 디지트이다.
- 14자리 유럽 연합 소 사육 패스포트 번호의 아홉 번째 문자 (1에서 7까지 순환: 영국 소 이동 서비스 참조)는 체크 디지트이다.
- 아이슬란드 Kennitala(국가 신분 번호)의 아홉 번째 숫자는 체크 디지트이다.
- 벨기에와 세르비아 은행 계좌 번호의 모듈로 97 검증 숫자. 세르비아는 참조 번호로 모듈로 11도 사용한다.
- 헝가리 TAJ 번호(사회 보험 번호)의 아홉 번째 숫자는 체크 디지트이다.
5. 4. 오세아니아
참조
[1]
웹사이트
What is Check Digit? - Definition from Techopedia
http://www.techopedi[...]
Techopedia.com
2022-03-16
[2]
서적
Identification Numbers and Check Digit Schemes
https://books.google[...]
Mathematical Association of America
[3]
웹사이트
GS1 Check Digit Calculator
http://www.uc-counci[...]
GS1 US
2008-05-21
[4]
웹사이트
How to calculate a check digit manually
https://www.gs1.org/[...]
GS1
2024-11-05
[5]
웹사이트
Check Digit Calculator
http://www.gs1.org/b[...]
GS1
2008-05-21
[6]
웹사이트
Check Digit Calculator, at GS1 US official site
http://www.gs1us.org[...]
GS1 US
2012-08-09
[7]
웹사이트
ISBN Users Manual
https://www.isbn-int[...]
International ISBN Agency
2008-05-21
[8]
웹사이트
noid - Nice Opaque Identifier Generator commands
https://metacpan.org[...]
2022-10-15
[9]
문서
Computational Number Theory
Key College Publishing
2000
[10]
웹사이트
OpenFIGI: Unlock the Power of Efficiency with Open Symbology
https://www.openfigi[...]
2022-10-15
[11]
잡지
Unique Identification Card
http://gg.ieeeiitr.c[...]
2011-09-01
[12]
웹사이트
New Format for Singapore IP Application Numbers at IPOS
http://blog.cantab-i[...]
Cantab IP
2014-01-20
[13]
웹사이트
ドイツの車両番号の右端の数字は何?
http://dampfhof.net/[...]
2017-01-16
[14]
웹인용
What is Check Digit? - Definition from Techopedia
http://www.techopedi[...]
2022-03-16
[15]
서적
Identification Numbers and Check Digit Schemes
https://books.google[...]
[16]
웹인용
GS1 Check Digit Calculator
http://www.uc-counci[...]
2008-05-21
[17]
웹인용
ISBN Users Manual
https://www.isbn-int[...]
2008-05-21
[18]
웹인용
Check Digit Calculator
http://www.gs1.org/b[...]
2008-05-21
[19]
웹인용
Check Digit Calculator, at GS1 US official site
http://www.gs1us.org[...]
2012-08-09
[20]
웹인용
noid - Nice Opaque Identifier Generator commands
https://metacpan.org[...]
2022-10-15
[21]
문서
Computational Number Theory
Key College Publishing
2000
[22]
웹인용
OpenFIGI: Unlock the Power of Efficiency with Open Symbology
https://www.openfigi[...]
2022-10-15
[23]
잡지
Unique Identification Card
http://gg.ieeeiitr.c[...]
2011-09-01
[24]
웹인용
New Format for Singapore IP Application Numbers at IPOS
http://blog.cantab-i[...]
2014-01-20
본 사이트는 AI가 위키백과와 뉴스 기사,정부 간행물,학술 논문등을 바탕으로 정보를 가공하여 제공하는 백과사전형 서비스입니다.
모든 문서는 AI에 의해 자동 생성되며, CC BY-SA 4.0 라이선스에 따라 이용할 수 있습니다.
하지만, 위키백과나 뉴스 기사 자체에 오류, 부정확한 정보, 또는 가짜 뉴스가 포함될 수 있으며, AI는 이러한 내용을 완벽하게 걸러내지 못할 수 있습니다.
따라서 제공되는 정보에 일부 오류나 편향이 있을 수 있으므로, 중요한 정보는 반드시 다른 출처를 통해 교차 검증하시기 바랍니다.
문의하기 : help@durumis.com