#author("2022-07-16T18:51:16+09:00","","")
*GnuPG - Encrypt [#n5f11957]

#contents

-ここでは、署名・暗号化と検証・復号化についてとりあつかいます。
-基本的に -armor (-a) をつけて解説します。なければバイナリファイル .gpg になるでしょう。
-秘密鍵は [[arqtan@mail.asaasa.tk 531AEF287476BCAF68A21CA038A607829B5C4D98>Tips/GnuPG/myArqtanKey]] を用います。

**きほん [#h92961bf]

***共通鍵 [#b8d55652]

-$ gpg -ac filename
--$ gpg -armor --symmetric filename と同じ
--共通鍵暗号を用いる。パスワードZIPとかと理屈は同じ。
 $ cat hello.txt
 Hello, world!
 $ gpg -ac hello.txt
 $ cat hello.txt.asc
--内容を表示
 -----BEGIN PGP MESSAGE-----
 
 jA0ECQMCIbehNJQRlYv/0koBKxPRICkO+rUG7zwE+ONL/fnRKt6qpZrCHYfOZ3CQ
 fckgP2vr4zZfVSL/jYedI2rCYEP5x346SzxtOVHnBQ8CdqUw04c+KwUHmg==
 =C7gK
 -----END PGP MESSAGE-----
 
-gpg -o output.txt -d filename
--gpg --output output.txt --decrypt filename と同じ
--暗号を解除。なお、これについては公開鍵を用いた暗号化ファイルについても同じである。
-$ gpg -o hello.txt -d hello.txt.asc
-$ gpg -d hello.txt.asc > hello.txt
--どちらも同じ結果が得られる。

***秘密鍵 - 署名と暗号化両方を行う [#l5ba070a]

-$ gpg -aes -u arqtan -r arqtan -o hello.txt.asc hello.txt
--自分自身で署名し、自分用に暗号化する
-- -u で発信元を、-r で発信先を指定する。
-- -aes の a がテキスト化、 e が暗号化、 s が署名を意味する。
-$ cat hello.txt.asc
--例によって内容確認
 -----BEGIN PGP MESSAGE-----
 
 hF4DSH96WCbVdSkSAQdA5XR6GELJc6Rk26jPIFw1MV0tGdSFZwsLfQFzYAFD8HAw
 w8OpkqJh8QUnMfWNjYHpY0LCY6z68BCMeROdyQZ6diIE2GnKbyB0RjZ8jLYTku4l
 0sAiAVblkXTm34RumA7XnpFk//u5VcICukKoIz2vxujeMruQBDy6HBoIsJAvmpOp
 v2Mit4/mlzgwhjGH7w3WTZQIjhewzoe/HKlTnnLt9F+D4TofKuKiaT5sX9FczPSY
 cDhldXniQGxZx396nVj/Av9ddlO0Vob1mOZ+LHY4ybE77IbcbWwWuEC/lDY91H7P
 IM6R0NlPoz0zcOokzHc17g/LiC5Df7D4xwjJ/gB5Q3pm6rD6tgulOdCFM6PSZ/cA
 1fMlXmun1qQl3PZrxtwiKeNkmw5jCyYoNWguFQaDs+3WLi4Gdw==
 =/V3Z
 -----END PGP MESSAGE-----
-$ gpg -o hello.txt -d hello.txt.asc
-$ gpg hello.txt.asc > hello.txt
--暗号解除と署名確認をする

「-aes」のところを -ae や -as にしてみよう。どっちみち、暗号化されてるような状態で出力される。( as の場合は暗号化されてないので署名確認くらいにはなるか)

** 署名各種 : テキストにクリア署名、バイナリに分離署名 [#uc868ebd]

テキスト内部に署名するときは --clear を用いる。

-$ gpg -a -u arqtan --clear hello.txt
-$ cat hello.txt.asc
 -----BEGIN PGP SIGNED MESSAGE-----
 Hash: SHA256
 
 Hello, world!
 -----BEGIN PGP SIGNATURE-----
 
 iIwEARYIADQWIQRTGu8odHa8r2iiHKA4pgeCm1xNmAUCYtKIkRYcYXJxdGFuQG1h
 aWwuYXNhYXNhLnRrAAoJEDimB4KbXE2YXZMA/i1CzHiB9Gp/KvjIE+u+0Do/RXCT
 olxrdRELDvOomb2lAP9nV/Cu7sNJpZdOP81lF+btc5rwQAA+VEj//gvrWVd5Cw==
 =mnfI
 -----END PGP SIGNATURE-----
-$ gpg --d hello.txt.asc


バイナリの場合などは、分割署名のほうがよい。

-$ gpg -a -u arqtan --detach-sign hello.txt
--hello.txt.asc ができるので、 gpg -d か gpg --verify で署名の検証ができる。

トップ   差分 履歴 リロード   一覧 検索 最終更新   ヘルプ   最終更新のRSS