Polynomial多项式时间不可解,所以绝对安全。我们可以安心啦we can rest assured our chat is as private as it can get.
GPG来,上号,一起玩。
Windows: gpg4win https://www.gpg4win.org/get-gpg4win.html
Linux: gpg https://gnupg.org/download/ 或者用包管理器apt install gnupg
, yum install gnupg
, pacman -Sy gnupg
–一般默认都装了的。直接开聊。
信任我的gpg公钥,并开始和我聊天吧0-0,评论区发来encrypted_message.gpg 一起开启谜语世界,还有私聊发我公钥让我能解密消息.
流程:
当然,以下是安全交流流程的中文说明:
安全交流流程
用户 A 想要发送加密消息给用户 B:
- 用户 A 写好消息。
- 用户 A 生成一个对称密钥并用它来加密消息。
- 用户 A 用用户 B 的公钥 (B_pub) 加密对称密钥。
- 加密的消息和加密的对称密钥被发送给用户 B。
用户 B 接收消息:
- 用户 B 使用他们的私钥 (B_priv) 解密对称密钥。
- 用户 B 使用解密后的对称密钥解密消息。
在线发布加密消息
如果用户 A 想要发送加密消息给用户 B 并在线发布,过程如下:
用户 A 加密消息:
- 用户 A 写好消息。
- 用户 A 生成一个对称密钥来加密消息。
- 用户 A 用用户 B 的公钥 (B_pub) 加密对称密钥。
- 用户 A 在线发布加密的消息和加密的对称密钥。
用户 B 获取消息:
- 用户 B 下载加密的消息和加密的对称密钥。
- 用户 B 使用他们的私钥 (B_priv) 解密对称密钥。
- 用户 B 使用解密后的对称密钥解密消息。
通过这些步骤,用户 A 和用户 B 可以安全地进行交流,即使加密消息被公开发布。
将下面这段文本保存成public_key.asc并导入和信任
-----BEGIN PGP PUBLIC KEY BLOCK-----
mDMEZkalOxYJKwYBBAHaRw8BAQdAjOa3lP0x+0UdbOae19BF619RIlD/nVbHWaqf
bj4yxtO0FEdDUCA8R0NQQGdvb2dsZS5jb20+iJkEExYKAEEWIQSxJ9vBggCLtSHk
0GGrOrkerSZxuAUCZkalOwIbAwUJBaPLhQULCQgHAgIiAgYVCgkICwIEFgIDAQIe
BwIXgAAKCRCrOrkerSZxuLhpAP9MZWaVplZtdYPo2nX5ekXZOc9CvR/+DnORm/WK
uW2PbgEA9X5NuPMUq9SJiuA2eHf6Sp99wEoBYT1JcAu4M/e/agu4OARmRqU7Egor
BgEEAZdVAQUBAQdAmpwbjzAs5KxhGXAlU3T6r9zFNcrmctc8J+WrE9vcX28DAQgH
iH4EGBYKACYWIQSxJ9vBggCLtSHk0GGrOrkerSZxuAUCZkalOwIbDAUJBaPLhQAK
CRCrOrkerSZxuJ0/AP9k5mYWCNcItddESl7FvITm+OgWh0ZgRq8mYMgld2TnVAD/
afTBpgn3CQGgYWTeEqsoxk1Z5AY7rXAd+ZFhrfMwZgw=
=jpgT
-----END PGP PUBLIC KEY BLOCK-----
聊天教程:
# 产生一对公私钥
gpg --gen-key
#管理自己的密钥
gpg --list-keys
#导出公钥,这个Your Name可以替换成你想要的名字
gpg --export -a "Your Name" > public_key.asc
# 通过别人的public_key.asc文件导入别人的公钥,用来解密消息。
gpg --import public_key.asc
# 导入完之后可以信任别人的公钥
gpg --sign-key "Friend's Name"
# 可以把自己签名信任过的公钥再发出来
gpg --send-keys "Friend's Name"
# 产生加密后的聊天消息到encrypted_message.gpg文件,Recipient's Name填收件人名字
gpg --encrypt --recipient "Recipient's Name" -o encrypted_message.gpg message聊天文件.txt
# 解密一个消息
gpg --decrypt encrypted_message.gpg