上一页 下一页

加密原理

作者:Jeff Tyson

散列算法

公钥加密中的密钥基于一个散列值。这个值是使用散列算法从一个基本输入数字计算得出的。本质上,散列值是原始值的一个摘要。散列值的重要之处在于,在不知道用于创建散列值的数据的情况下,几乎不可能推导出原始输入数字。这是一个简单的例子:

输入数字

10,667

广告

散列算法

输入# x 143

散列值

1,525,381

你可以看到,要确定值1,525,381是由10,667和143相乘得来的有多困难。但是如果你知道乘数是143,那么计算出10,667这个值就会非常容易。公钥加密实际上比这个例子复杂得多,但这就是基本思想。

公钥通常使用复杂的算法和非常大的散列值进行加密,包括40位甚至128位数字。一个128位数字可能有多达2128,即3,402,823,669,209,384,634,633,746,074,300,000,000,000,000,000,000,000,000,000,000种不同的组合——这就像试图在撒哈拉沙漠中找到一粒特定的沙子。