Cryptography 使用GPG加密而不向加密文件添加内容?
那么,如何避免添加GPG内容呢?我只需要加密的字节 由于AES256是对称的,我想做如下操作:Cryptography 使用GPG加密而不向加密文件添加内容?,cryptography,gnupg,encryption-symmetric,Cryptography,Gnupg,Encryption Symmetric,那么,如何避免添加GPG内容呢?我只需要加密的字节 由于AES256是对称的,我想做如下操作: $ echo "helloworld" > text.txt $ cat text.txt helloworld $ gpg --cipher-algo AES256 --symmetric --armor text.txt gpg: gpg-agent is not available in this session $ ls text.txt text.txt.asc $ cat tex
$ echo "helloworld" > text.txt
$ cat text.txt
helloworld
$ gpg --cipher-algo AES256 --symmetric --armor text.txt
gpg: gpg-agent is not available in this session
$ ls
text.txt text.txt.asc
$ cat text.txt.asc
-----BEGIN PGP MESSAGE-----
Version: GnuPG v1
jA0ECQMCnGyzh+mRmpBg0kgBfcqLbdAhLc+xwZDta3/kudi/f6MmjXUzFUbNFr3H
IoXgqzjRqbeNESHd+nFSTxHQc8tXF80vXMdDzTy3HmD6ZWk3BvVx5Vo=
=EviP
-----END PGP MESSAGE-----
因此,如果我是A,并且想向我的朋友B发送“sometext”:
如果我将gpg与AES和我的朋友一起使用另一个软件或另一个对称算法,而不知道我的密钥,这应该是可能的。但这只有在gpg(或他的软件)不向加密文件添加内容的情况下才有可能。我只想应用AES算法,这样我就可以用同一个密钥加密多次并得到原始密钥 您可能希望使用openssl而不是gnupg。例如:
1. Apply AES with keyA to "file_original.txt" and produce "file_keyA.txt"
2. Apply AES with keyB to "file_keyA.txt" and get "file_keyA_keyB.txt"
3. Apply AES with keyA to "file_keyA_keyB.txt" and get "file_keyB.txt"
4. Apply AES with keyB to "file_keyB" and get "file_original.txt"
手册页上的更多信息:您可能希望使用openssl而不是gnupg。例如:
1. Apply AES with keyA to "file_original.txt" and produce "file_keyA.txt"
2. Apply AES with keyB to "file_keyA.txt" and get "file_keyA_keyB.txt"
3. Apply AES with keyA to "file_keyA_keyB.txt" and get "file_keyB.txt"
4. Apply AES with keyB to "file_keyB" and get "file_original.txt"
主页上的更多信息:如果您希望使用gpg向朋友发送加密消息,而不共享用于解密消息的密码短语,那么您可能希望使用非对称加密。要做到这一点,您和您的朋友都需要使用生成PGP密钥
openssl enc -aes128 -salt -in yyy -out yyy.enc
然后交换你的公钥
gpg --gen-key
在你的朋友收到消息后,他们需要用
gpg -e -a -u "my key" -r "their key" --sign -o somefile.txt.gpg somefile.txt
他们得到了信息。GnuPG将生成一个强密钥,使用该密钥加密消息,然后使用您朋友的密钥加密该密钥并将其附加到文件。它还将使用您的私钥对文件进行签名,这样您的朋友就可以(合理地)确定文件在传输过程中没有被篡改。在本例中,您可以使用
gpg -d -o somefile.txt somefile.txt.gpg
gpg——列出键
在-r“他们的密钥”部分的引号中查找他们的密钥句柄(它是“rsa4096/”之后和创建日期之前的位),以及
gpg --list-keys <or gpg -k>
gpg——列出密钥
要找到钥匙的把手,请在-u“我的钥匙”部分使用
如果您真的希望使用对称加密并与朋友共享密码短语,那么我还建议使用openssl,如@pchris建议的那样。如果您希望使用gpg向朋友发送加密消息,而不共享用于解密消息的密码短语,那么您可能需要使用非对称加密。要做到这一点,您和您的朋友都需要使用生成PGP密钥
openssl enc -aes128 -salt -in yyy -out yyy.enc
然后交换你的公钥
gpg --gen-key
在你的朋友收到消息后,他们需要用
gpg -e -a -u "my key" -r "their key" --sign -o somefile.txt.gpg somefile.txt
他们得到了信息。GnuPG将生成一个强密钥,使用该密钥加密消息,然后使用您朋友的密钥加密该密钥并将其附加到文件。它还将使用您的私钥对文件进行签名,这样您的朋友就可以(合理地)确定文件在传输过程中没有被篡改。在本例中,您可以使用
gpg -d -o somefile.txt somefile.txt.gpg
gpg——列出键
在-r“他们的密钥”部分的引号中查找他们的密钥句柄(它是“rsa4096/”之后和创建日期之前的位),以及
gpg --list-keys <or gpg -k>
gpg——列出密钥
要找到钥匙的把手,请在-u“我的钥匙”部分使用
如果您真的希望使用对称加密并与您的朋友共享密码短语,那么我也建议您使用openssl,就像@pchris建议的那样。您在谈论什么“东西”?您在谈论什么“东西”?