ohacのブログ

React hooks collection vol.6 (ブラウザだけで暗号化)

December 30, 2020

ブラウザだけで暗号化/復号

Javascriptで公開鍵ペア生成・暗号化/復号をしてみた

https://qiita.com/poruruba/items/272bdc8f539728d5b076

この記事を参考にしてブラウザだけで暗号化/復号ができるようにしてみました。

最初に鍵長で強度(デフォルト1024ビット)を設定し、鍵ペア生成ボタンを押すことで 鍵ペアが生成されます。

生成された鍵は公開鍵と秘密鍵の欄にテキスト形式で表示されます。

必要に応じてこれらをパスワード管理アプリやメモ帳などに保存してください。

次にメッセージに暗号化したい文字列を入れて、暗号化ボタンを押すと暗号文のところ に暗号化されたテキストが表示されます。

このとき必要となるのは受信者の公開鍵のみです。必要に応じて事前に相手の公開鍵 を公開鍵の欄に入れてお使いください。

メッセージを復号したいときは暗号文に受け取った暗号とご自身の秘密鍵を入力し、 復号ボタンを押すとメッセージ欄にメッセージが表示されます。

相手に鍵ペアを作ってもらえればPPAPメールのようなパスワードをメール本文に書いて 送信するといったことはしなくて済みますね。

2021/10/10 追記: 最新の環境にすると動かなくなったので、ひとまず無効にします。

<RSATool />
<br />

ソースコード

ソースコードは以下のgistに置きました。

https://gist.github.com/ohac/7303f5471b355685ec2fbef43b3d42f7