터키 신분번호와 검증 숫자
터키 국민은 모두 11자리 T.C. Kimlik Numarası를 가집니다. 마지막 두 자리는 앞 9자리로 계산하는 검증 숫자입니다. 번호를 발급하는 NVİ는 이 사실을 밝히지만 계산식은 공개하지 않습니다. 이 가이드는 널리 쓰이는 공개 계산식과 그 식이 잡아내는 오류, 식에서 나오는 성질, 그리고 번호가 알려 주지 않는 것을 설명합니다.
어떤 번호인가
T.C. Kimlik Numarası(터키 공화국 신분번호)는 터키 인구·시민권청(NVİ)이 발급합니다. NVİ에 따르면 2000년에 번호 풀을 만들어, 주민 등록 기록(구, 권, 가족 순번, 개인 순번)의 순서대로 국민에게 부여했습니다. 번호는 한 번만 주어지며 바꿀 수 없습니다. 신분증에 적혀 있고 공공 서비스, 은행, 여러 민간 양식에서 쓰입니다.
NVİ는 구조를 몇 문장으로 설명합니다. 번호는 11자리이고, 마지막 두 자리는 검증 숫자이며, 앞 9자리로 알고리즘에 따라 계산합니다. 또 이 알고리즘은 어떤 번호가 NVİ가 발급했을 수 있는 번호인지만 알려 주며, 다른 공공기관이 번호를 확인할 수 있도록 공유한다고 덧붙입니다. 계산식 자체는 NVİ 사이트에 없습니다.
널리 쓰이는 공개 계산식
공개적으로 알려져 있고 검증 도구와 라이브러리 대부분이 쓰는 식은 두 단계입니다. 왼쪽부터 각 자리를 d1~d11이라고 합니다.
- 10번째 자리: 홀수 번째 자리(d1 + d3 + d5 + d7 + d9)의 합에 7을 곱하고, 짝수 번째 자리(d2 + d4 + d6 + d8)의 합을 뺍니다. 결과의 마지막 자리(10으로 나눈 나머지, 양수로)가 d10입니다.
- 11번째 자리: d10을 포함한 앞 10자리를 더합니다. 합의 마지막 자리가 d11입니다.
그리고 첫 자리는 0이 아닙니다.
예시: 앞 9자리가 123456789이면 홀수 번째 자리의 합은 1 + 3 + 5 + 7 + 9 = 25, 짝수 번째 자리의 합은 2 + 4 + 6 + 8 = 20입니다. 25 × 7 − 20 = 155이므로 d10 = 5입니다. 앞 10자리의 합은 45 + 5 = 50이므로 d11 = 0입니다. 전체 번호는 12345678950입니다. 설명을 위한 예이며 실제 사람의 번호가 아닙니다.
NVİ가 계산식을 공개하지 않으므로, LeedyBox 검증기는 공개된 계산식을 쓴다고 페이지에 밝히고, 검토 문서에는 공식 문서로 확인되지 않은 식으로 표시해 두었습니다.
마지막 자리가 늘 짝수인 이유
두 단계는 놓치기 쉬운 방식으로 맞물려 있습니다. 앞 9자리 가운데 홀수 번째 자리의 합을 O, 짝수 번째 자리의 합을 E라고 하면, d10 ≡ 7O − E이고 d11 ≡ O + E + d10 ≡ O + E + 7O − E = 8O입니다(모두 10으로 나눈 나머지). 어떤 정수든 8을 곱하면 0, 2, 4, 6, 8로 끝나므로, 이 식에서 11번째 자리는 항상 짝수입니다. 1, 3, 5, 7, 9로 끝나는 번호는 바로 걸러 낼 수 있습니다.
검증 숫자가 잡아내는 오류
- 한 자리만 틀린 경우는 항상 잡힙니다. 홀수 번째 자리가 바뀌면 7O가 바뀐 양의 7배만큼, 짝수 번째 자리가 바뀌면 E가 바뀌므로 어느 쪽이든 d10이 맞지 않습니다. d10이나 d11을 잘못 쓰면 그 자리의 검사에서 걸립니다.
- 자리를 바꿔 쓴 경우는 일부 잡히지 않습니다. 이웃한 홀수·짝수 번째 자리를 바꾸면 7O − E가 두 숫자 차이의 8배만큼 바뀌는데, 차이가 5이면 이 값은 10의 배수입니다. 예를 들어 앞 두 자리가 바뀌었는데도 16000000018과 61000000018은 둘 다 통과합니다.
- 검사로는 번호가 있는지 알 수 없습니다. 0으로 시작하지 않는 11자리 수 가운데 대략 100개에 1개는 검증 숫자가 맞습니다. 발급된 적 없는 번호가 수백만 개라는 뜻입니다.
번호가 알려 주지 않는 것
번호에 출생지, 성별, 나이가 들어 있다는 믿음이 흔합니다. NVİ는 그 반대라고 밝힙니다. 번호에는 그 사람이 누구인지, 성별, 나이, 종교, 출생지 같은 의미 있는 정보가 없고, 어떤 사람의 번호로 친척의 신원 정보를 알아낼 수도 없습니다. 누구나 계산할 수 있는 규칙이 있는 부분은 검증 숫자뿐입니다.
소프트웨어에서 다룰 때
- 번호는 11자 문자열로 저장합니다. 산술적인 의미가 없고, 숫자 필드는 시스템에 따라 자리를 채우거나 형식을 바꿀 수 있습니다.
- 입력할 때 검사해 오타를 잡고, 신원 확인이 필요하면 연동한 공식 서비스에 맡깁니다. 검사 통과는 신원 확인이 아닙니다.
- 실제 번호는 개인정보로 다룹니다. URL, 로그, 오류 보고, 분석 도구에 넣지 마세요.
- 테스트 데이터에는 검사를 통과하는 생성 번호를 씁니다. 검증기가 브라우저에서 만들어 주며, 실제 사람의 번호와 우연히 같을 수 있으니 누구의 신원으로도 쓰지 마세요.
자주 묻는 질문
공개된 계산식이 공식 계산식인가요?
NVİ는 마지막 두 자리를 앞 9자리로 계산하며 알고리즘을 공공기관과 공유한다고 확인하지만, 계산식은 공개하지 않습니다. 여기서 설명한 식은 널리 쓰이는 공개 계산식이고, LeedyBox는 그렇게 표시합니다.
T.C. Kimlik 번호가 0으로 시작할 수 있나요?
아닙니다. 알려진 규칙에서 첫 자리는 0이 아니므로, 0으로 시작하는 11자리 번호는 검증 숫자가 맞더라도 거부됩니다.
마지막 자리는 정말 항상 짝수인가요?
이 식에서는 그렇습니다. 11번째 자리는 홀수 번째 자리 합의 8배를 10으로 나눈 나머지이므로 항상 짝수입니다.
누구의 번호인지 알 수 있나요?
아닙니다. 검사는 숫자만 쓰고, NVİ에 따르면 번호에는 개인 정보가 없으며, 검증기는 어디에도 번호를 조회하지 않습니다.
출처
출처: Nüfus ve Vatandaşlık İşleri Genel Müdürlüğü: T.C. Kimlik No İşlemleri · 확인일: