RSA

RSA


MITのRivest, Shamir, Adlemanの3人によって提唱された 代表的な公開鍵暗号方式.

公開鍵暗号方式とは, 「暗号化鍵」と「復号化鍵」という2つの鍵をペアで利用し, そのうち「暗号化鍵」は公開して構わないという特徴を持っている. 通信文を送信する場合には, 公開されている「暗号化鍵」によって暗号化し, 受信者は, 各自で秘密にしている「復号化鍵」で元に戻すことができる. これらの鍵は数学的な関係に基づいて決められており, 鍵の決め方や演算アルゴリズムによって様々なバリエーションが存在するが, それらの中で最も有名なものがこのRSA暗号である. RSA暗号の基本的なアルゴリズムは以下の通り.

まず, ある2つの大きな素数pとqを選んで, その積n=pqを求める. 次に (p-1)×(q-1) 以下で (p-1)×(q-1) と互いに素な整数eを選び,

を満たす整数dを求める. すると2つの数の組である(e,n)が公開鍵, (d,n)が秘密鍵となる. ここで, 文Mを暗号化するにはC= Msupe/sup mod nの計算をし, 暗号文Cを 復号化するにはM=Csupd/sup mod nの計算を行えばよい. 公開鍵(e,n)から秘密鍵(d,n) を求めるためには, nを素因数分解してpとqを求める必要があるが, 非常に大 きな値であれば, 現実的な時間内に素因数分解を実行するのは不可能なので, 安全性が保たれる.


戻る