如何快速上手opmsg5分钟搭建你的第一个完美前向保密加密系统【免费下载链接】opmsgopmsg message encryption项目地址: https://gitcode.com/gh_mirrors/op/opmsgopmsg是一款功能强大的加密工具作为gpg的替代品它能为你的邮件进行加密、签名和验证也能为本地文件创建或验证分离的签名。opmsg采用了与gpg完全不同的概念特别强调完美前向保密PFS特性让你的通信更加安全可靠。 opmsg的核心优势opmsg之所以能成为安全通信的理想选择源于其丰富的特性完美前向保密PFS通过ECDH或DH密钥交换实现确保即使长期私钥泄露过去的通信内容也不会被解密多加密算法支持可配置的加密算法和密钥长度包括RSA、DH、ECC、AES、Chacha等强制签名机制所有消息都必须进行签名确保消息完整性和发送者身份可否认签名支持类似OTR协议的可否认签名保护通信隐私简单易用的密钥管理开放式密钥存储可通过基本命令行工具管理邮件客户端无缝集成与mutt等邮件客户端完美配合无需修改邮件服务器或客户端代码 快速安装与编译opmsg的安装过程非常简单只需几分钟即可完成。它需要OpenSSL提供的加密原语支持不使用SSL/TLS协议仅使用加密和哈希算法。编译步骤# 克隆仓库 git clone https://gitcode.com/gh_mirrors/op/opmsg cd opmsg/src # 编译 make # 安装到系统路径 cp build/opmsg /usr/local/bin/ # 创建配置目录 mkdir ~/.opmsg touch ~/.opmsg/config对于不同的系统可能需要稍作调整OpenBSDmake CXXeg DEFS-DHAVE_BN_GENCB_NEW0OSX建议安装独立的OpenSSL因为Apple已将系统OpenSSL标记为弃用 persona身份创建与管理opmsg的核心概念是persona身份它是一个绑定了EC或RSA密钥的身份标识。通信在两个persona之间进行每个persona通过其EC/RSA密钥的哈希值唯一标识。创建新persona创建RSA personaopmsg --newp --name 你的名称 邮箱创建EC persona推荐生成速度更快opmsg --newecp --name 你的名称 邮箱执行后系统会生成类似以下的输出opmsg: Successfully generated persona with id opmsg: 1cb7992f96663853 1d33e59e83cd0542 95fb8016e5d9e35f b409630694571aba opmsg: Tell your remote peer to add the following RSA pubkey like this: opmsg: opmsg --import --phash sha256 --name 你的名称导入对方persona当收到对方的公钥时使用以下命令导入opmsg --import --phash sha256 --name 对方名称 邮箱然后粘贴对方提供的公钥内容完成导入。persona链接推荐为了方便与不同联系人通信建议为每个联系人创建专用persona并进行链接opmsg --link 对方personaID --persona 你的personaID这样当向特定联系人发送消息时opmsg会自动选择对应的源persona无需每次手动指定。 加密与解密消息加密消息向指定persona加密消息opmsg -E 对方personaID --out 加密后的文件名.opmsg然后输入要加密的内容按Ctrl-C结束输入。如果要加密文件opmsg -E 对方personaID --in 要加密的文件 --out 加密后的文件.opmsg解密消息解密收到的消息opmsg --decrypt --in 加密文件.opmsg --out 解密后的文件创建和验证分离签名创建文件的分离签名opmsg --sign -i 要签名的文件 --persona 你的personaID 签名文件.sign验证分离签名opmsg -V 原始文件 -i 签名文件.sign⚙️ 配置文件设置opmsg的配置文件位于~/.opmsg/config以下是一个基本配置示例# opmsg 配置文件示例 version2 my_id 你的persona完整ID rsa_len 4096 dh_plen 2048 calgo aes128ctr idformat split new_dh_keys 3 curve brainpoolP320r1主要配置项说明version协议版本推荐设为2my_id默认使用的persona IDcalgo加密算法可选aes128cbc、aes128ctr、aes256gcm等curveEC曲线推荐使用brainpool系列曲线 邮件客户端集成opmsg可以与mutt等邮件客户端无缝集成以下是mutt配置示例# .muttrc 配置 my_hdr X-opmsg: version1 set pgp_long_ids set pgp_list_pubring_command/usr/local/bin/opmsg --listpgp --short --name %r set pgp_encrypt_sign_command/usr/local/bin/opmsg --encrypt %r -i %f set pgp_encrypt_only_command/usr/local/bin/opmsg --encrypt %r -i %f set pgp_decrypt_command/usr/local/bin/opmsg --decrypt -i %f set pgp_verify_command/usr/local/bin/opmsg --decrypt -i %f对于需要同时使用opmsg和gpg的用户可以使用opmux工具实现自动切换。 高级功能可否认persona与量子安全opmsg提供了可否认persona功能允许你创建无法被证明是你发送的消息opmsg --namedeniable_persona --deniable --newecp对于对量子计算威胁有顾虑的用户可以创建后量子personaopmsg --namepq_persona --deniable --salt2 1234 --brainkey2 --newecpsecp521r1 --phashsha256 更多资源配置文件示例sample.config扩展工具说明README2.md贡献代码目录src/contrib/【免费下载链接】opmsgopmsg message encryption项目地址: https://gitcode.com/gh_mirrors/op/opmsg创作声明:本文部分内容由AI辅助生成(AIGC),仅供参考