公開鍵暗号方式を理解する

公開鍵暗号方式を理解する

AWSのKMSやCloudHSMとかを使うようになると公開鍵暗号とか共通鍵暗号とかの知識が必要になってきます。

公開鍵暗号方式というのは秘密鍵と公開鍵の2つのキーペアがセットです。

秘密鍵は秘密にしないといけないのでKMSとかを使って安全に保管する必要があります。

公開鍵は全員にばらまくので、特にセキュアである必要はありません。

私はセキュリティエンジニアではないのでこの辺の知識が欠けていますが今後この辺はアプリエンジニアも勉強していかないといけない領域になると思います。

opensslコマンドで公開鍵暗号方式に習うより慣れる

暗号化して復号化するとか、秘密鍵で公開鍵を作成してとか正直やってみないと理解ができません。

という事でopensslコマンドで実際に暗号化から復号化までを試してみたいと思います。

秘密鍵を作るにはgenrsa、2048bitで作成します。これがコマンドだと以下になります。

拡張子はpem派、key派で派閥があるようです。これはどっちも正しいので、とりあえずここではpemにしましょう。privatekey.pemという秘密鍵を作成しました。

プライベートキーから公開鍵を作成する

公開鍵はプライベートキー(ここではprivatekey.pem)から作成します。

これで秘密鍵と公開鍵の作成が完了です。

中身にhello world.と書いているa.txtというファイルを作成します。

このファイルを公開鍵で暗号化してみます。

出力されたhelloファイルを見てみます。

暗号化されているのがわかると思います。

では次にhelloファイルを復号化してみます。

これで復号できました。

勘違いしていたのですが、秘密鍵で復号するんですね。。

公開鍵暗号 〜 復号化できるのは秘密鍵だけ 〜

スポンサーリンク
  • このエントリーをはてなブックマークに追加
  • Evernoteに保存Evernoteに保存
スポンサーリンク

コメントをどうぞ

メールアドレスが公開されることはありません。 * が付いている欄は必須項目です

CAPTCHA