mk-mode BLOG

このブログは自作の自宅サーバに構築した Debian GNU/Linux で運用しています。
PC・サーバ構築等の話題を中心に公開しております。(クローンサイト: GitHub Pages

ブログ開設日2009-01-05
サーバ連続稼働時間
Reading...
Page View 合計
Reading...
今日
Reading...
昨日
Reading...

Linux - ファイル暗号化・復号化用の公開鍵生成(OpenSSL)!

[ pc_tips ] [ Linux, OpenSSL, 暗号 ]

こんばんは。

OpenSSL を使用して公開鍵方式でファイルを暗号化するには、まず秘密鍵&公開鍵を生成する必要があります。

以下、秘密鍵&公開鍵生成方法についての記録です。

0. 前提条件

  • LMDE2(Linux Mint Debian Edition 2) での作業を想定。
  • 使用する OpenSSL は 1.0.1t を想定。
  • ここでは、公開鍵(共通鍵)の詳細については説明しない。

1. 秘密鍵の生成

AES-256 アルゴリズムで長さ 2048 ビットの秘密鍵を生成する例。

1
2
3
4
5
6
7
$ openssl genrsa -aes256 -out private-key.pem 2048
Generating RSA private key, 2048 bit long modulus
...+++
..................+++
e is 65537 (0x10001)
Enter pass phrase for private-key.pem:              # <= パスワード入力
Verifying - Enter pass phrase for private-key.pem:  # <= パスワード確認入力
  • 秘密鍵のビット長のデフォルトは 512
  • 秘密鍵のビット長を指定する場合は、一番最後に記述する

2. 秘密鍵の確認

private-key.pem
1
2
3
4
5
6
7
8
9
10
11
12
13
$ cat private-key.pem
-----BEGIN RSA PRIVATE KEY-----
Proc-Type: 4,ENCRYPTED
DEK-Info: AES-256-CBC,DE24386B30C08A165C2B8FB2FC4DE73A

IK0a52HDMQZ9+jWhCVFLgc/EBgBq16PGo90QO7z6Fo0QOYSvUjPKt71qAxdFKpDk
ZYWQT65r24kbbm3xa2EmW/uTSo5a8/ubO09bhkGS90y2xm2HwTQ6BG6tP8rif0ho

===< 中略 >===

SQLtQ+8vw3hiLYl90WSvOIF53O8PHi8zD9RkUUM2NsxYbB4Eh6+qpct28ZY2U4tM
Y0Zu2e4WK5j1Nx3NAk38kO1YkdiZqMNgF/Xc5hBpQ7gmzlB/5ej3D+yQuWzWl+0k
-----END RSA PRIVATE KEY-----

3. 公開鍵の生成

生成された秘密鍵を指定して公開鍵を生成する。

1
2
3
$ openssl rsa -in private-key.pem -pubout -out public-key.pem
Enter pass phrase for private-key.pem:
writing RSA key

4. 公開鍵の確認

public-key.pem
1
2
3
4
5
6
7
8
9
$ cat public-key.pem
-----BEGIN PUBLIC KEY-----
MIIBIjANBgkqhkiG9w0BAQEFAAOCAQ8AMIIBCgKCAQEAvRpQqkqudsH3ZNf7Ro8D

===< 中略 >===

CUssOdLjRfWJd9XiqfAyi0xH9Hs1syNSoHIziloF427wzzEI2ZHue9WiCMxXE2B1
IQIDAQAB
-----END PUBLIC KEY-----

5. 参考サイト

その他、 man openssl も参考に。


これで、公開鍵方式でファイルを暗号化する準備が整いました。

次回、 OpenSSL を使用した公開鍵方式での暗号化・復号化について記録した内容を紹介します。

以上。

Comments