マイナンバーとパスワードの暗号化

 意外に思われるかもしれないが、個人が喋ることのほとんどは、それまでに誰も話したことのない文によって成り立っているという研究がある。また、歌詞の一部をローマ字に変えただけのものや、英語の名言を使ったものなど、インターネット上にある言葉を使って作られたパスワードは破られやすいという問題がある。そこでアルファベットをアルファベット順に一つずつシフトさせたり、前と後ろを反転させたりなど、色々な方法を使って暗号を複雑にしていくこともできる。この研究とこの問題という二つの事柄を組み合わせると、強力な暗号を作る方法が浮かび上がってきた。

 つまり個人がその場で誰も知らない文を作り、それをネットに載せることもせずに、その文からパスワードを生成すれば、どんなハッカーであろうとパスワードを特定することが原理的に不可能と言えるのではないか。なぜならそれは本人以外は誰もしらない究極の個人情報をもとに生成されたパスワードであるからだ。本人以外の誰にも共有されていない文字列をどれだけネット上で探しても見つかるはずがない。本人がネットに書かなければよいのだ。具体的な手順を以下に示す。

 例えば20151125日の日記を書いて、適当に数字を選び、その数字番目の文を使って暗号を作れば、誰もそれを破ることはできないのではないか。そう、こんな風に。

 

1. 今日は12時過ぎから起きてきて、洗濯機を回すことから始めた。

2. チキンラーメンを食べようかどうしようか考えあぐねた挙句、未だに食べずにいる。

3. そのうち作って食べようと思う。

4. パソコンを起動して、キーボードでタイピングしていると、昨夜のように指が痛くなってきた。

5. やはり寒さと関係しているらしい。

6. Feedlyはアプリ版とウェブ版が連携していないらしく、ウェブ版で読んだはずの記事が未読の状態になっていたり、ウェブ版では購読を解除したはずのサイトがアプリ版の方ではまだ購読する状態になっていたりして、この食い違いはやっかいだなぁと感じた。

7. YouTube永井均さんと鈴木康夫さんの対談の動画を見始めた。

8. 動画は音だけ聞いていればよさそうなので、はてなブログで記事を書き始め、この文に至る。

 

8文から成る日記である。ここで1〜8の中から好きな数字を一つ選ぶ。私は8を選ぶ。

そこで8番目の文をローマ字表記に書き換える。

dougahaotodakekiiteirebayosasounanode hatenaburoguwokijidekakihajime konobunnniitaru

この文から子音のみを抜き出す

dghtdkktrbnd htnbrgdkjwkkhjm knbnnntr

この時点でもかなりセキュリティーレベルの高いパスワードになっていると思うのだが、もう一捻りして、句点で区切られた3つのブロックの中から素数番目の子音を抜き出す。

ブロック1:ghdn

ブロック2:tnrdkh

ブロック3:nbnt

このブロックの中から子音を使って文を作りやすいものをひとつ選ぶ。ブロック1を選んで次のような文を作る。

 

グレープフルーツ(g)は(h)毒(d)なのだ(n)

 

これをローマ字表記にする。

 

gurepufurutuhadokunanoda

 

例えばこれをパスワードにする。 

と、こんなことを考えていた。暗号化の手順を考えていくと、暗号の本質とはどこにあるのかということについての理解が進んだように感じられた。つまり究極の個人情報をその場で作って、それを使って暗号を生成するのがある意味で暗号の本質に迫っていると私には思われた。