2012-06-22 45 views
1

使用128位密钥进行加密和解密意味着密钥不能存储在long int变量中。那么什么算术运算完全可以用这个键来完成。32位或64位CPU如何对大数字进行算术运算?

+1

你可以看看在[OpenSSL的〕国阵(大码)(http://openssl.org/) , 例如。还有GNU [GMP](http://gmplib.org/)软件包,可以作为你之后的基础。当然,128位算术只是64位的小扩展;这些软件包能够处理更大的计算,例如可用于公钥加密的2048或4096位数。您可能想要将128位算术看作类似于8位或16位或32位CPU执行16位或32位或64位算术的方式。 –

+0

@JonathanLeffler你的评论本来是值得回答的:) – emboss

回答

2

让我问你一个问题:如果你只有你的大脑,一支纸和一支纸,你会如何增加或减少 - 而且数量比你直接用大脑计算的数量还要多?

用于笔和纸张数学的相同方案可应用于比CPU寄存器更长的数字。

对于某些加密算法有RSA的也进行了优化,专业的数学运算,像Montgomery Multiplication

+0

就像“手工计算”一样,有很多优化可以发生。在用于划分的表格中,第一个奔腾系列之一[着名的有一个缺陷](http://www.willamette.edu/~mjaneba/pentprob.html)。 –