RSAは2つの素数から、その積を計算するのは簡単であるが、その積から元の素数 に素因数分解することが困難であるという特徴を利用した暗号化方式です。
いま、花子(受信者)が太郎(送信者)からメッセージを暗号化して送ってもらうと
仮定します。花子は自分の秘密鍵と太郎に教えるための公開鍵
と
を用
意します。花子は用意した公開鍵(
と
)を太郎に教え、太郎は花子から教え
てもらった公開鍵(
と
)を使ってメッセージを暗号化し、それを花子に送信
します。花子は太郎から送信された暗号化されたメッセージを自分の秘密鍵
(
)で復号化し、元のメッセージに変換することができます。
手続きの流れ | 花子 | 送信の方向 | 太郎 |
1 | 秘密鍵(![]() ![]() ![]() |
||
2 | 公開鍵(![]() ![]() |
![]() |
|
3 | 花子に送信するメッセージを作成 | ||
4 | 花子の公開鍵(![]() ![]() |
||
5 |
![]() |
暗号化したメッセージを送信 | |
6 | メッセージを秘密鍵(![]() |