【摘要】:依据交通规则,车辆从A驶向B是允许的,但从B掉转车头返回A是不允许的,必须要经过C大门,因此,除非驾驶员拥有开启C大门锁的钥匙,否则将无法从B回到A。可以看出,是否拥有开启C大门锁的钥匙,是车辆能够从B返回A的必要条件,这把“钥匙”就是所谓的“陷门”。单向陷门函数的特点,是从一个方向计算容易而从反方向计算却很难。但如果知道了“陷门”,则很容易计算这个函数的反函数。
公钥密码算法的数学原理是“单向陷门函数”。我们用生活中的一个实例来说明什么是“陷门”。
下图是一个逆时针的单行道路,其中C是一个加了锁的大门。依据交通规则,车辆从A驶向B是允许的,但从B掉转车头返回A是不允许的,必须要经过C大门,因此,除非驾驶员拥有开启C大门锁的钥匙,否则将无法从B回到A。
单向陷门承数示意图
可以看出,是否拥有开启C大门锁的钥匙,是车辆能够从B返回A的必要条件,这把“钥匙”就是所谓的“陷门”。
单向陷门函数的特点,是从一个方向计算容易而从反方向计算却很难。但如果知道了“陷门”,则很容易计算这个函数的反函数。
用数学来表示,单向陷门函数可以表示为y=f(x,k),它具有以下特点:
1.给定x,k,计算y=f(x,k)很容易;
2.给定y,不知道陷门k′,计算x=f-1(y,k′)非常困难;
3.知道陷门k′,对于给定的任何y,计算x=f-1(y,k′)很容易。
在公钥密码中,若x是明文,y是密文,则计算函数y=f(x,k)相当于加密,k是公钥,计算函数x=f-1(y,k′)相当于解密,k′是私钥。
正如“牙膏挤出来容易弄回去难”一样,在数学上,有很多问题属于“验证容易求解难”,比如:要验证一个整数是不是一个大整数的因子很容易,只要用除法计算就可以了,但要找出这个大整数的因子,或者说对这个大整数进行因子分解,就十分困难。
免责声明:以上内容源自网络,版权归原作者所有,如有侵犯您的原创版权请告知,我们将尽快删除相关内容。