美文网首页
密码学基础二

密码学基础二

作者: xandone | 来源:发表于2019-12-17 11:51 被阅读0次

    一、考虑下面几个数学题:

    1.幂数取余

    32 %5=4,很简单能算出结果是4。

    那么,如果3x %5=4,求X的值?这就很难推算出X的值是多少,因为X的值不是唯一的。简单统计一下3的10次幂以内:32,36,310分别对5取余,结果都是4。

    2.一条运算法则

    (An)m=(Am)n

    交换n、m的位置,计算的结果值不变

    二、根据以上原理,可以设计如下加密策略:

    1.假如有如下这个简单的通讯过程,共有3个角色,“发送方”,“接收方”,和“窃听者”

    0c9b667f0763e4c085f4b7b69136322.png

    根据刚才提到的算法,

    1. 假设发送方保存了一个“私有指数2”,对一个随机数(比如5)进行幂运算,然后对另一个随机数(比如7)取余=>52 %7=4。然后将4发送给接收方,此时,接收方和窃听方都收到了4这个数,

    2. 假设接收方也保存了一个“私有指数3”,同样对5进行幂运算,然后对7取余=>53 %7=6。然后将6发送给接收方,此时,接收方和窃听方都收到了6这个数,

    3. 然后到了算法的核心地方:

    发送方接收到6后,使用自己的私有指数运算:62%7=1;

    接收方接收到4后,使用自己的私有指数运算:43%7=1;

    由上可见,发送方和接收方最终运算结果一样,因为6是53 %7的值,4是52 %7的值,带入进去即是:

    1576305669(1).jpg

    (53)2 %7=(52)3 %7

    1. 这里的1就相当于“公共秘钥”,使用“1”进行通讯中的加密计算。而仅仅有

    底数5,整数7,以及两次取余的结果6和4,是很难推算出发送方和接收方的私有指数的(2和3),同时“7”这个整数越大,越难反推出私有指数的值,因此窃听方也无法算出公共秘钥1这个值。

    相关文章

      网友评论

          本文标题:密码学基础二

          本文链接:https://www.haomeiwen.com/subject/yeicnctx.html