我想写一个RSA程序来了解更多关于密码的知识。我正在使用Java,但我正在寻找一般性建议。更好的编程实践
我的问题是,采取文件内容的最佳方式是什么,并将其转换为双倍块以提升权力?
所以说我有一个ASCII文本文件,其中包含哈姆雷特的全文(或K & RC,或其他) 我将它转换为字节块,并提高整个块的权力。如果我提高每个字节的功率,它就容易受到频率分析的影响。
现在我将文件读取到一个字节数组中,转换为一个double数组,将其转换为大小为[64] [file/64]的2d double数组,并且对于2d数组中的每个double []连接所有的双打到一个字符串,将该字符串转换为双精度(或者它应该是一个整数?),然后做我的数学。
这非常复杂。
我可以做到这一点没有2D数组,但这似乎是一个更简单的方法来处理块,因为你不能在java中切片数组。 你不需要给我代码,但我正在寻找更好的架构。
我不能把整个文本作为一个数,但如果我只是加密每个字节,这是很容易写一个程序来寻找模式 – Muricula 2012-03-15 04:30:23
我不能把整个文本作为一个数字,但如果我只是对每个字节进行加密,这将会降至频率分析。我需要提高整体力量。另外,如果我要用AES等对称算法加密某些东西,那么RSA的重点是什么?我明白你对加密密钥的看法,但为什么不使用duffie hellman密钥交换? 我使用双打,因为它们是最大的原始数据类型。他们比长时间长。我想我很快就会为bigIntegers重做它,我开始很简单。你有关于其他实现的建议吗? – Muricula 2012-03-15 04:40:58
关于编辑注释的默认时间戳 – Muricula 2012-03-15 04:41:20