BOOGALOOメニュー
おしゃれな憩いの場・コミュニティサイトのnanini
nanani | 憩いの場・コミュニティサイトはこちら

公開鍵暗号化方式RSAをコマンドプロンプトで実行したい

今回は公開鍵暗号化方式RSAを使ったファイル暗号化を、外部ツールを使用せずに、自力で行います

Windowsのコマンドプロンプトで実行する手順を記載いたします

今回のテストPC環境

OS:Windows 10 Pro
バージョン:21H1
ビルド:19043.1645
ビット:64

まずはコマンドプロンプトにてRSA関数を使用可能にするため、OpenSSLをインストールいたします

OpenSSLインストーラのダウンロードリンク

基本的にWindowsはMSIファイル、他OSはEXEファイルで良いのですが、MSIファイルを実行しようとするとWindows Defender SmartScreenがブロックしてしまう場合がございます
その場合はEXEファイルをダウンロードして、実行インストールしてください

当方は「Win64 OpenSSL v3.0.3 Light」のEXEファイルをダウンロードしております

インストーラを実行しインストールいたします

パスをコピーしておくと後で便利
チェックを全て外します

インストールしたOpenSSLを環境変数に登録いたします

検索ボックスで “環境変数を編集” と検索して環境変数ウインドウを表示させます
ユーザーアカウント制御(UAC)が有効だと、システム環境変数の編集ボタンがグレーアウトしており編集できない場合がございます

その場合は Windows PowerShell を管理者権限で起動し
Start C:\Windows\system32\rundll32.exe sysdm.cpl, EditEnvironmentVariables
と入力実行してください
※検索ボックスで “Windows PowerShell” と検索し右クリックから管理者起動できます

Start C:\Windows\system32\rundll32.exe sysdm.cpl, EditEnvironmentVariables


システム環境変数が編集できるようになります

システム環境変数のPathを編集いたします

新規 → ディレクトリ入力 → OK
※32ビットの場合は C:\Program Files\OpenSSL-Win32\bin

C:\Program Files\OpenSSL-Win64\bin

環境変数の登録確認
コマンドプロンプトを起動し
openssl version
と入力実行してください
※Win + Rで開いたボックスへ “cmd” と3文字入力してコマンドプロンプト起動できます

openssl version

エラーにならず、バージョンが表示されれば登録成功です

秘密鍵を作成いたします
※作業フォルダを作り、エクスプローラのアドレスバーへ “cmd” と入力すると、作業フォルダがカレントディレクトリになった状態でコマンドプロンプトが起動するのでおすすめです

openssl genrsa > private.key -aes256

と入力実行してください

openssl genrsa > private.key -aes256

秘密鍵を生成するとともに、秘密鍵自体を共通鍵暗号方式の暗号化方式「AES256」で保護します
※Advanced Encryption Standard

秘密鍵保護のパスフレーズを尋ねられますので、2回同じものを入力し設定してください

カレントディレクトリに private.key ができました

エディタで開くとこんな感じ

秘密鍵をもとに公開鍵を作成いたします

openssl rsa -RSAPublicKey_out < private.key > public.key

と入力実行してください

openssl rsa -RSAPublicKey_out < private.key > public.key

パスフレーズの入力を求められるので、先ほど設定した秘密鍵保護パスフレーズを入力してください

カレントディレクトリに public.key ができました

エディタで開くとこんな感じ

カレントディレクトリに暗号化するファイルを用意してください
※当方が用意したファイル:機密情報.txt (平文テキスト “hello” )

公開鍵で暗号化いたします

openssl rsautl -encrypt -pubin -inkey public.key < 機密情報.txt > 機密情報_暗号化.txt

と入力実行してください

openssl rsautl -encrypt -pubin -inkey public.key < 機密情報.txt > 機密情報_暗号化.txt

カレントディレクトリに 機密情報_暗号化.txt ができました

エディタで開くとこんな感じ

秘密鍵で復号化いたします

openssl rsautl -decrypt -inkey private.key < 機密情報_暗号化.txt > 機密情報_復号化.txt

と入力実行してください

openssl rsautl -decrypt -inkey private.key < 機密情報_暗号化.txt > 機密情報_復号化.txt

パスフレーズの入力を求められるので、秘密鍵保護パスフレーズを入力してください

カレントディレクトリに 機密情報_複合化.txt ができました

エディタで開くとこんな感じ

公開鍵と秘密鍵はセットですので、当たり前ですが他の秘密鍵では復号化できません

以上です、お疲れ様でした

この記事が気に入ったら
フォローしてね!

  • URLをコピーしました!
  • URLをコピーしました!
おしゃれな憩いの場・コミュニティサイトのnanini

この記事を書いた人

BOOGALOO BOOGALOO ブガルー代表

ロジックパズル・雑談掲示板サイト
nanini を開発いたしております
左のリンクボタンからどうぞ↓🙏

目次