RSA(Rivest-Shamir-Adleman cryptosystem)
RSAとは
RSA(Rivest-Shamir-Adleman cryptosystem)とは、桁数が大きい合成数の素因数分解を実用的な時間内に実行することは困難であることを安全性の根拠とした公開鍵暗号の一つです。
1977年に発明され、発明者である「ロナルド・リベスト」「アディ・シャミア」「レオナルド・エーデルマン」の原語表記の頭文字をつなげてRSAと呼ばれています。
RSAは鍵のペア(公開鍵と秘密鍵)を作成して一方で暗号化、もう片方で復号を行う暗号方式であり、一方の鍵を公開し(公開鍵)もう一方の鍵を秘密にする(秘密鍵)のが特徴です。
公開鍵で暗号化した暗号文を鍵なしで復号するのは困難な仕組みになっているため、秘密鍵を用いずに暗号文から平文を得ることは難しいと考えられています。
公開鍵暗号とは
公開鍵暗号方式とは「暗号化」と「復号」に別の鍵を使い、「暗号化」の鍵を公開できるようにした暗号方式です。
暗号化に利用する鍵と復号に利用する鍵は異なり、送信者は公開された「公開鍵」で平文を暗号化します。そして受信者はペアとなっている「秘密鍵」で「暗号文」を復号します。
詳細はこちら
デジタル署名への応用
公開鍵暗号(RSA)を応用することでデジタル署名を行うことができます。
【RSA本来の流れ】
- 送信者:平文→ 公開鍵(暗号化)→ 暗号文
- 受信者:暗号文 → 秘密鍵(復号) → 平文
【デジタル署名への応用時の流れ】
- 送信者:文書 → 秘密鍵(署名生成※暗号化) → 署名値
- 受信者:署名値 → 公開鍵(署名検証※復号) → 文書
このように秘密鍵で署名生成(暗号化)、公開鍵で証明検証(復号)することにより、デジタル署名を行なうことができます。暗号化された署名を署名者の公開鍵で復号できれば、その署名は署名者本人しか知らない秘密鍵によって生成された署名であることが確認できるからです。
helpful
この記事は役に立ちましたか?