: 아는 사람 다 아는거지만..
;;
:
: 주민등록번호의 형식(남여 구분하는 부분이나 생년월일등...)만 맞다면..
:
: 임의로 넣은 방식이 맞을 확률은 10%입니다.
;;
:
: 이런거 내용함부로 말하면 법에 걸린다고 알고 있는데...
:
: 쯔압...군트라넷에서 배운걸 어쩌라고~
;;
주민등록번호는 뭘 넣어도 10%의 확률입니다. 남여구분 생년월일
이런거 안넣어도 됩니다. 주민등록번호의 체크섬은 맨끝자리입니다.
복잡한 공식의 어쩌고 저쩌고를 뒤에 여섯개 번호로 만든다음에
그걸 어쩌고 저쩌고 해서 남는 숫자가 끝자리 입니다.
따라서, 뭘 넣어도 맨끝은 0~9까지중의 하나입니다. 즉, 제대로
계산해서 넣으면 멀쩡한 다른사람의 번호와 겹칩니다만...
111111x 에서 x대신에 0~9까지 넣어도 번호의 오류는 안납니다.
다시말하면 체크는 오로지 끝자리로만 하므로 반드시 10%의 확율입니다.
:
:
: : 주민등록 체크 알고리즘은 간단합니다.
: : 각 자리수의 값에 일정 상수를 곱하여 더한 값을
: : 나머지 연산한 후 번호의 맨 끝 수와 비교하면 되고,
: : 생성 알고리즘은 정수를 생성하여 더한 후 나머지 연산한
: : 값을 주민등록 번호의 맨 마지막 수로 하면 됩니다.
: : 그런데 요거 좀 생각하다가 여러 의문이 들었습니다.
: :
: : 왜 이런 식의 알고리즘을 사용하는지 아시는 분
: : 계십니까? 이런 거 공부하려면 어떤 수학 공부해야 하는지,
: : 어떤 책 봐야 하는지 조언 좀 해 주세요.
: :
: : 또, 임의로 입력한 수값이 체크 알고리즘을 통과할 확률은
: : 얼마나 되나요? 직관적으론 1/10도 안될 거 같은데...
: : 그리고 더 나은 알고리즘을 도입할 경우 이론적으로 최대로 낮은
: : 확률값은 얼마나 되나요?
: :
: : 마지막으로 이거 국가 기밀 아닌가요?
: :
: : 참고)요즘 페르마의 마지막 정리,라는 야인시대보다 더 재밌는
: : 책을 읽다 보니...
:
: --
: 나는 까토다...-_-v
:
: Always Digital...