将RSA签名附加到文本文件

时间:2011-06-09 13:01:20

标签: c rsa aes digital-signature

我有一个文本文件,我必须使用RSA私钥进行签名,然后附加此签名并对此“文本文件+签名”进行AES加密。

出于演示原因,我正在测试这样一个加密文件。

我在C中编写一个简单的程序来执行以下操作: 首先在文本文件上执行RSA符号(1024位)。 然后将签名附加到文本文件 然后对文件进行AES加密。

然后执行AES解密 然后从文件中删除128字节签名。 然后在解密后对原始文本文件和文本文件进行RSA验证。

以下是我的问题:

将二进制签名附加到文本文件是否是个好主意? 如果不是这样做的一般方式是什么?

我尝试了一个简单的程序来执行上述操作,但我总是在AES解密中获得一个或两个垃圾字符,因此RSA验证失败。

请建议。 AES解密此类文件,然后删除128字节(1024位模数)签名。

1 个答案:

答案 0 :(得分:2)

一段时间以前Privacy Enhanced Mail引入了在文本文件中嵌入加密信息的临时标准:基本上二进制信息在base-64中编码并附加到文本文件以及标题行以识别添加内容的“剪辑”点。

以下是一个典型的示例(此块将添加到现有文本文件的末尾)


-----BEGIN PRIVACY-ENHANCED MESSAGE-----
Proc-Type: 4,ENCRYPTED
Content-Domain: RFC822
DEK-Info: DES-CBC,F8143EDE5960C597
Originator-ID-Symmetric: linn@zendia.enet.dec.com,,
Recipient-ID-Symmetric: linn@zendia.enet.dec.com,ptf-kmc,3
Key-Info: DES-ECB,RSA-MD2,9FD3AAD2F2691B9A,
          B70665BB9BF7CBCDA60195DB94F727D3
Recipient-ID-Symmetric: pem-dev@tis.com,ptf-kmc,4
Key-Info: DES-ECB,RSA-MD2,161A3F75DC82EF26,
         E2EF532C65CBCFF79F83A2658132DB47

LLrHB0eJzyhP+/fSStdW8okeEnv47jxe7SJ/iN72ohNcUk2jHEUSoH1nvNSIWL9M
8tEjmF/zxB+bATMtPjCUWbz8Lr9wloXIkjHUlBLpvXR0UrUzYbkNpk0agV2IzUpk
J6UiRRGcDSvzrsoK+oNvqu6z7Xs5Xfz5rDqUcMlK1Z6720dcBWGGsDLpTpSCnpot
dXd/H5LMDWnonNvPCwQUHt==
-----END PRIVACY-ENHANCED MESSAGE-----