暗号化

RSA

RSAとは暗号化アルゴリズムを開発した3名の頭文字です。その3名とはRonald Rivest氏(ロナルド・リベスト氏)、Adi Shamir氏(アディ・シャミア氏)、Reonard Adleman氏(レオナルド・エーデルマン氏)です。1977年に開発して2002年にチューリング賞を受賞しました。彼らは公開鍵暗号という概念をもって、暗号化と復号化と鍵生成という3つのアルゴリズムを定義しました。

暗号化と復号化の鍵で一つだと、その鍵が盗まれてしまえば、暗号は解読されてしまいます。公開鍵暗号とは、秘密鍵と公開鍵という二つの鍵で暗号化と復号化の処理をします。秘密鍵とはその名のとおり、本人のみが知る誰にも教えない鍵です。そして公開鍵というのは暗号化文書をやり取りする相手に知らせる鍵です。この鍵は盗まれても大丈夫なのです。誰にでも公開している鍵であり、暗号化文書をやり取りする相手だけではなく誰にでも知ってもらう、その名のとおり公開している鍵なのです。

例えば、A氏に暗号化文書を送り、A氏がそれを解読するという場合、A氏の公開鍵を使って文書を暗号化します。A氏の公開鍵は誰でも知る事ができますから、誰でもA氏の公開鍵を使って暗号化文書を作成できます。暗号化文書をA氏に送ります。A氏は、A氏だけが持っている秘密鍵で文書を復号化して平文で読む事ができます。

公開鍵は暗号化文書を作成できますが、復号化できな一方通行の鍵なのです。RSAはこの秘密鍵と公開鍵を生成するアルゴリズムと公開鍵を使った暗号化アルゴリズムと、秘密鍵を使った復号化アルゴリズムを定義したものです。