我有一个文本文件,我必须使用RSA私钥进行签名,然后附加此签名并对此“文本文件+签名”进行AES加密。
出于演示原因,我正在测试这样一个加密文件。
我在C中编写一个简单的程序来执行以下操作: 首先在文本文件上执行RSA符号(1024位)。 然后将签名附加到文本文件 然后对文件进行AES加密。
然后执行AES解密 然后从文件中删除128字节签名。 然后在解密后对原始文本文件和文本文件进行RSA验证。
以下是我的问题:
将二进制签名附加到文本文件是否是个好主意? 如果不是这样做的一般方式是什么?
我尝试了一个简单的程序来执行上述操作,但我总是在AES解密中获得一个或两个垃圾字符,因此RSA验证失败。
请建议。 AES解密此类文件,然后删除128字节(1024位模数)签名。
答案 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-----