基本密码理解:RSA签名

时间:2011-06-28 07:14:38

标签: encryption cryptography rsa signature

我需要设置一个场景,客户端发送加密(AES)和签名文件,服务器对其进行解密并验证签名(RSA)。

以下是我想到的步骤:

1)计算文本文件的签名,然后将(base64编码的)签名附加到标题中 2)加密文本文件(添加标题)。 3)将加密文件发送到服务器 4)在服务器上,解密文件,然后从头中提取签名(base64解码它)。验证发件人。如果验证,则使用文本文件。

我的问题是:

你认为我应该首先加密文本文件,然后在plain中添加标题(base64),以便首先验证发送者,然后如果验证了发件人,操作是否可以继续解密文件内容?

Bottomline是,当我最初做的时候,我想象签名也可以被混淆,因此我加密了所有。现在的问题是,签名是否真的会被混淆? 攻击者如何使用签名(如果是普通的?)?他无论如何都无法篡改它,因为验证会失败......请稍微点亮。

1 个答案:

答案 0 :(得分:0)

简而言之:不要重新发明轮子,特别是如果你没有密码学方面的专业知识。

采用现有的加密方案,例如OpenPGP或PKI(您将需要它的CMS部分)并使用它。如果您没有集中密钥管理(即不涉及证书颁发机构等),OpenPGP就很好。如果您想依赖证书(和密钥)分发和管理的现有基础架构,PKI是很好的。 PKI在各种软件中有更好的支持,但如果客户端和服务器都是由您设计的,那么这并不重要。