Encryption 混合密码系统中AES初始化向量与客户端的通信
我需要为客户机-服务器通信实现安全性。我已经实现了以下几点 要在混合密码系统中加密发送给Alice的消息,Bob执行以下操作:Encryption 混合密码系统中AES初始化向量与客户端的通信,encryption,rsa,aes,public-key,private-key,Encryption,Rsa,Aes,Public Key,Private Key,我需要为客户机-服务器通信实现安全性。我已经实现了以下几点 要在混合密码系统中加密发送给Alice的消息,Bob执行以下操作: 获取Alice的公钥 为数据封装方案生成新的对称密钥 使用刚刚生成的对称密钥在数据封装方案下加密消息 使用Alice的公钥在密钥封装方案下加密对称密钥 将这两个加密发送给Alice 要解密此混合密文,Alice执行以下操作: 使用她的私钥解密密钥封装段中包含的对称密钥 使用此对称密钥解密数据封装段中包含的消息 我将RSA用于公钥密码系统,AES用于对称密钥密码系统。每件
谢谢。我做了同样的事情,我用同样的方法处理它——将AES密钥与IV连接起来,并对它们进行加密
您也可以只发送密钥并使用密钥本身来生成IV,例如,使用密钥散列的前128位作为IV。只要您为每个会话生成一个新的AES密钥,并且不反复使用相同的AES密钥和相同的IV,就可以安全地进行加密。静脉注射-你可以用透明的方式发送。只需确保每次都选择一个新的(与使用AES键的方式相同)
也就是说,将AES密钥和IV打包在一起通常很方便。16字节的加密没有那么昂贵。您不需要加密IV。将其与加密密钥捆绑,然后(以明文形式)发送给收件人 这方面的标准确实存在。该方案在CMS(S/MIME基于CMS)中称为“KeyTransRecipientInfo”,PGP提供了类似的模式。TLS还将初始化向量作为参数包含在密钥加密算法标识符中,使用与CMS相同的ASN.1语法。一个健壮的、开源的库来执行此操作,可用于许多平台 至少,研究CMS规范可能有助于避免家用brew实现中的一些陷阱。看