经典非对称加密算法:RSA
单向函数(One-way Function)
对于每一个输入,函数值都容易计算(多项式时间);但是对于一个随机的函数值,算出其对应的输入却比较困难(无法在多项式时间内使用确定性图灵机计算)。
最简单的单向函数是取模运算:m mod n = a
例如 11 mod 2 = 1
,根据输入的数据11很容易知道输出结果是1,但是根据输出结果1无法知道输入数据是什么
m 作为原文,n 作为公开的密钥,a 作为加密后的密文 ——
即使我们拿到了密钥也无法解密,因为这是不可逆的
密码学的新方向
—— 单向陷门函数(One-way Trapdoor Function)
单项陷门函数是有一个陷门的一类特殊单向函数。单项陷门函数包含两个明显特征:一是单向性,二是存在陷门。
单向函数存在
bug(陷门)吗?即可以实现单向函数的逆推。如果存在一种单向算法存在陷门,那么可以将这个算法称为单向陷门函数(One-way
Trapdoor Function)
在1976年 W. Diffie 和 M. Hellman 提出了这样的美好设想:
信息的接收者提前生 ...