スマートフォンアプリ作成

AppStoreにて無料公開中! ”システム手帳”で検索! - AppStoreへ iPad版 - iPhone版

インターネットは素数で動いている

インターネットは素数で動いている。

多くのサイトは、やりとりするデータを秘匿するために暗号化する仕組みを搭載している。

SSLという20年ほど前から発明されている暗号化方式だ。

20年前に、私が通信会社に入社してすぐに調査して発表するように命令されたのがSSLや電子証明書はどうやって通信データを暗号しているのかだった。

当時は有名なサイトであっても、 telnet や ftp でアクセスできてしまうようなセキュリティの状態だった。

ショップの支払い方法は、まだ「インターネットでクレジットカードを使うのは危ない」という認識が強かったため、ネットで購入するときは宅配便による代引きだったり、銀行振込が主流だった。

そんな状況のとき、クレジットカード決済するためにSSLを導入しようとしたわけだ。

電子証明書は、現在ではRSA 1024bitやRSA 2048bitの長さのものを使うのが一般的だが、当時はプライベートの証明書でRSA 256bitの長さの証明書を作成していた。

このRSAという暗号化方式は、素数を使うことで一度暗号化した文字列を復号化するのを困難にしている。

2, 3, 5, 7, 11, 13, 17, 19, 23, 29, 31, 37, 41, 43, 47, 53, 59, 61, 67, 71, 73, 79, 83, 89, 97, 101, 103, 107, 109, 113, 127, 131, 137, 139, 149, 151, 157, 163, 167, 173, 179, 181, 191, 193, 197, 199, 211, 223, 227, 229, 233, 239, 241, 251, 257, 263, 269, 271 というのが素数だ。

https://oeis.org/A000040 より引用

RSAで暗号化する数式は一般に公開されている。

数式の引数に素数を指定するのだが、上で示したような誰もが知っている素数ではすぐに復号化されてしまう。

そこで、電子証明書を発行管理する Verisign社 などは独自に発見した素数(大きな素数)を元にRSA電子証明書を発行しているのだ。

2016年現在では、22,338,618桁の素数が発見されている。

無限大数をはるかに超え、数字というよりはデータのかたまりとしてしか捉えられないほどの桁数である。

次のアドレスでその素数の数値が見られるので体感してほしい。

http://wired.jp/2016/01/22/discover-your-own-prime-number/

2018年5月
  12345
6789101112
13141516171819
20212223242526
2728293031  
android
iOS
アプリの著作権
ブロックチェーン/暗号技術
日本のなりたち

AppStoreにて無料公開中! ”システム手帳”で検索! - AppStoreへ iPad版 - iPhone版
スマートフォンアプリ作成