モジュール詳細:RSA暗号
ヒル暗号2.0。
ある6文字の英単語が、ディスプレーの中央にある6つの数字に暗号化されている。この単語を送信すると、モジュールは解除される。
6つの数字の真上には、NとEのラベルが付けられた別の2つの数字がある。真下には、キーボードからの入力内容を最大6文字受け付ける点滅カーソルがある。緑の丸いボタンは入力内容を送信し、赤の丸いボタンは入力内容を削除する。
以下の手順に従い、復号された単語を取得する。
ステップ1:λ(N)の取得
最初にやることは、Nに掛け合わせられている2つの素数を取得することである。以下は、このモジュールで使用される素数の一覧である。
11, 13, 17, 19, 23, 29, 31, 37, 41, 43, 47, 53, 59, 61, 67, 71, 73, 79, 83, 89, 97
2つの素数を見つけたら、以下の式を用いてλ(N)を求める。
λ(N) = ((P1 - 1) * (P2 - 1)) / GCD(P1 - 1, P2 - 1)
GCDは「最大公約数」のことであり、以下の手順を使用して求めることができる。
- 2つの数字のうち大きい方を取得し、小さい方の数字で割った余りを求める。
- その後、割った数(除算の右側にある数)を先程の結果で割った余りを求める。
- ステップ2を、結果が0になるまで行う。
- 結果が0になる際の割った数が、2つの数字の最大公約数である。
例
N = 1643
P1 = 31
P2 = 53
GCDの計算
52 % 30 = 22
30 % 22 = 8
22 % 8 = 6
8 % 6 = 2
6 % 2 = 0
GCD(52, 30) = 2
λ(N) = (52 * 30) / 2 = 780