このプログラムは、「もし個人番号の検査用数字がISBN13やJANコードなどと互換の1-3 mod 10方式だったらどうだったか」という話を 検証するために造ったものです。 実は私(上原)はパブリックコメントにおいて検査用数字をISBN13互換にするべきじゃないのかと提案していました。 ただ、実際にこのプログラムで調べたら実はISBN13互換はイマイチ2桁入替誤りに弱いのでどっちもどっちという気もしています。 本来はコラムで指摘したように Dammのアルゴリズムの方がずっと良いのですが、 パブコメ書いていたときは本当に時間がなくて…残念です。
このプログラムでは以下の手順で誤り率を計算しています。
検査用数字 | 出現数 | 1桁誤り発生数 | 2桁入替誤り発生数 |
---|---|---|---|
0 | |||
1 | |||
2 | |||
3 | |||
4 | |||
5 | |||
6 | |||
7 | |||
8 | |||
9 | |||
合計 |
2桁入れ替え誤り発生個人番号