メールを暗号化

ようやく一番やりたいことの本質に近付いてきました。

メールを暗号化して送信するには,メールを書いた後に
C-c C-eでPGP暗号化し,C-c C-cで送信します。

動作の流れとしては,まずPGPはランダムに発生させたパスフレーズを
用いて本文を暗号化します(1)。この時に使われるのはIDEAと呼ばれる
共有鍵暗号のアルゴリズムです。 そしてこのランダムなパスフレーズを
相手の公開鍵を用いて暗号化します(2)。ここで使われるのは
RSAと呼ばれる公開鍵暗号の アルゴリズムです。
最後に(1)と(2)をくっつけて送信します。

一方メールを受けとった方では,まず受信者用に暗号化された
(2)の部分を受信者自身の秘密鍵を使って復号化します。(RSA)
この時,自分で秘密鍵,公開鍵を作成した時に入力したパスフレーズを
入力する必要があります。
復号に成功すると,ランダムなパスフレーズが復号されることになります。

最後に取り出されたランダムなパスフレーズを使って(1)の部分を
復号化します。(IDEA)
復号に成功すると,メール本文が復号されます。


本文をいきなりRSAで暗号化して送信しないのは
複数の人に暗号化されたメールを送ることを考えて下さい。

受信者の公開鍵で暗号化する必要があるため,
複数回の暗号化作業をしなくてはいけません。

動作速度のおそいRSAで長いメールの本文を直接暗号化して
個別に送信する(そんなことすると送る人によって
内容が変わってきますし)よりも,動作の高速なIDEAで一旦
本文を暗号化し,短いIDEAの共通鍵だけをRSAで暗号化して
添付させたほうがよいからです。
(ただしこの鍵は個人別に複数ついてしまいます。)


ということは相手の公開鍵を登録していない場合は
PGPで暗号化できないわけです。((2)の部分が不可能)
同様に相手に自分の公開鍵を登録してもらわないと
向こうからはPGP暗号化されたメールは自分に届かないわけです。

よくメールをやりとりする人であれば急いで(相手の公開鍵を
入手し/自分の公開鍵を登録してもらい)ましょう。^^


もどる