加密的加密数据
我想加密我用RSA encrytion加密的数据。但是,当我通过使用另一个公钥加密加密的数据。错误是“未指定的错误”加密的加密数据
我认为这个问题的关键尺寸。
我的密钥大小为1024位。
简短的源代码:
-
第一步:使用RSA公钥与密钥大小1024位数据加密
byte[] encryptedData = RSAalg.Encrypt(dataToEncrypt, false);
-
第二步:通过与其他RSA公钥加密数据密钥大小1024位或者
byte[] encryptedData1 = RSAalg1.Encrypt(encryptedData, false);
第二步显示错误。我怎样才能解决这个问题?
由于填充您无法加密与1024位的密钥数据的1024位(这是encryptedData
应该是什么)。
如果您使用的是.NET和C#,那么使用false
进行加密意味着您使用PKCS#1填充(从内存中)可以加密117个字节(而不是128个字节)。
注意:您不应该迭代第二次加密以获得结果 - 但您应该问自己为什么要使用两个密钥(具有相同密钥长度)加密此数据两次。如果你想要更多的安全性,那么你应该使用更大的密钥(一次)。 OTOH如果你想要多个密钥解密数据,那么你需要一个不同的策略。
我想通过使用两个不同的人使用两个键来进行安全的电子投票....这使我可以确保数据不会解密,除非两个键解密数据..... – Amin 2012-04-09 18:05:46
我想做一个通过使用两个不同的密钥来保证电子投票......这使我可以确保数据不会被解密,除非存在两个密钥...... 当第一个加密数据已经通过使用第一个密钥完成时。会通过使用第二密钥来加密的第一步 请咨询再进行第二次加密。 – Amin 2012-04-09 18:20:52
这不是一个新问题,您可以通过Google搜索找到关于此的很多文献**。一种方法是使用随机对称密钥(例如256位AES)和具有RSA-1的前一半(128位)和具有RSA-2的后一半(128位)来加密数据。 – poupou 2012-04-09 18:27:50
这是什么语言? – anuragsn7 2012-04-09 11:36:09