■オイラーのトーシェント関数(その57)
二つの大きな数をかけるのは易しいが、大きな数を因数分解は難しい。そこで、
r=pq
(s,φ(r))=1である指数sを選ぶ
rを公表するのである。
===================================
[参]小島寛之「素数ほどステキな数はない」技術評論社
にしたがって解説すると
p=3,q=11
N=pq=33を公開鍵とする。
Nと組になる公開鍵をr=3とするが、その場合、秘密鍵はs=7となる。
「え」=14=aを暗号化する
14^r=5 (modN)
「5」を復号するためにsを用いる。
5^s=14 (modN)
===================================
オイラーの定理をN=33に適用する。
33と互いに素で、33以下の数は20個ある。φ(33)=φ(3)φ(11)=2・10=20
a~20=1 (mod33)が成り立つ。
rs=1 (modφ(33))となるsを選ぶ。
a^r=b (modN)で暗号化
b^s=(a^r)^s=a^rs=a (modN)より、aに復号。
φ(33)=(p-1)(q-1)を知るためには、p,qを知る必要があるが、ということはNを素因数分解しなければならない。
しかし、素因数分解のための効率的なアルゴリズムは、現在のところ見つかっていないのである。
===================================
φ(33)=20
φ(20)=20(1-1/2)(1-1/5)=8
s=φ(φ(33))-1=7
===================================