R. Ayanokouzi et al.

[GnuPG] ファイルの暗号化

ファイルを暗号化する際に複数の受取人を持たせることが可能。暗号化されたファイルには受取人の情報を含めることも含めないことも可能

まずは現在の鍵束の状態を確認。

$ gpg --verbose --list-public-keys --with-fingerprint --with-fingerprint --keyid-format 0xlong
gpg: using PGP trust model
/home/hoge/.gnupg/pubring.gpg
-----------------------------
pub   4096R/0xB8A5F029FDD5840B 2000-01-01
      Key fingerprint = 09F6 31A9 B3C5 193C 6BA1  55B2 B8A5 F029 FDD5 840B
uid                            u00 <u00@example.com>
sub   4096R/0x12041ECC0E41ECA0 2000-01-01
      Key fingerprint = 7D63 ACDE C98C 3EBE 22A3  D3CD 1204 1ECC 0E41 ECA0

pub   4096R/0x2F33B318C9F24399 2000-01-01
      Key fingerprint = 68CC 485E C1EA B02D ED29  D46E 2F33 B318 C9F2 4399
uid                            u01 <u01@example.com>
sub   4096R/0x83526B256456735D 2000-01-01
      Key fingerprint = F2B4 158E 494D 4850 6F43  07CF 8352 6B25 6456 735D

pub   4096R/0x6F31A58CCF8F88CB 2000-01-01
      Key fingerprint = E531 4438 ABF0 9A0B 9348  FB90 6F31 A58C CF8F 88CB
uid                            u02 <u02@example.com>
sub   4096R/0x065DEE9F22DD20F0 2000-01-01
      Key fingerprint = 54F0 99C9 991A A3FF 5491  02E0 065D EE9F 22DD 20F0

$ gpg --verbose --list-secret-keys --with-fingerprint --with-fingerprint --keyid-format 0xlong
gpg: using PGP trust model
/home/hoge/.gnupg/secring.gpg
-----------------------------
sec   4096R/0xB8A5F029FDD5840B 2000-01-01
      Key fingerprint = 09F6 31A9 B3C5 193C 6BA1  55B2 B8A5 F029 FDD5 840B
uid                            u00 <u00@example.com>
ssb   4096R/0x12041ECC0E41ECA0 2000-01-01
      Key fingerprint = 7D63 ACDE C98C 3EBE 22A3  D3CD 1204 1ECC 0E41 ECA0

暗号化を行うには --encrypt を使い、暗号化ファイルの受取人に対応する key id を --recipient または --hidden-recipient で指定する。暗号化ファイルに key id の情報を含める場合は --recipient、含めない場合は --hidden-recipient を使う。

$ gpg --verbose --encrypt --recipient u01 --hidden-recipient u02 ~/secret_file.txt
gpg: using PGP trust model
gpg: using subkey 22DD20F0 instead of primary key CF8F88CB
gpg: This key belongs to us
gpg: using subkey 6456735D instead of primary key C9F24399
gpg: This key belongs to us
gpg: reading from `secret_file.txt'
gpg: writing to `secret_file.txt.gpg'
gpg: RSA/AES256 encrypted for: "6456735D u01 <u01@example.com>"
gpg: RSA/AES256 encrypted for: "22DD20F0 u02 <u02@example.com>"

--decrypt と --verbose を同時に使えば、暗号化ファイルの受取人は暗号化ファイルの作成時に使われた key id を知ることが可能。--hidden-recipient を使った場合には指定した key id が 0 で埋められていることがわかる。

$ gpg --verbose --decrypt --batch /home/hoge/secret_file.txt.gpg
gpg: public key is 6456735D
gpg: public key is 00000000
gpg: encrypted with RSA key, ID 00000000
gpg: encrypted with RSA key, ID 6456735D
gpg: decryption failed: secret key not available

リファレンス

  1. encryption - GPG - why am I encrypting with subkey instead of primary key? - Server Fault
  2. encryption - Can I check who can decrypt my GPG message after I encrypt it? - Information Security Stack Exchange

ソーシャルブックマーク

  1. はてなブックマーク
  2. Google Bookmarks
  3. del.icio.us

ChangeLog

  1. Posted: 2008-04-14T16:22:55+09:00
  2. Modified: 2008-04-14T16:22:55+09:00
  3. Generated: 2021-03-31T07:51:33+09:00