《数学之美》读书笔记 (二)

来源:互联网 发布:暗物质 知乎 编辑:程序博客网 时间:2024/05/01 13:58

《数学之美》读书笔记 (二) 

密码学作为信息传递的一个重要分支,已经有两千多年的历史。无论是凯撒大帝的罗马字母对应表,还是姜太公与周武王的阴符,都体现了密码在信息传递中的重要作用,不过从现代密码学的眼光来看,破译这种密码根本不需要密码本,只需要多收集几次情报就可以破译出来了。但是,这种加密保护信息安全的方式却被人们不断传承、发展,形成了以数学为基础的现代密码学。

现代密码学的加密原则:

1.      加密函数不应该根据几个自变量和函数值就能推出函数本身

2.      密码系统应该就算被所有人知道系统的运作步骤,仍然是安全的。

3.      系统必须可用,非数学上不可译码。  

4.      系统不一定要保密,可以轻易落入敌人手中。  

5.      密匙必须可以不经书写的资料交换和记忆,且双方可以改变密匙。  

6.      系统可以用于电讯。  

7.      系统可以转移位置,它的功能必须不用经过几个人之手才可达到。  

8.      系统容易使用,不要求使用者的脑力过份操劳或有很多的规则。  

    现代密码学是专注于加密和解密两个过程,公钥密码学就是其中一个代表。

在公钥系统中,公钥可以随意流传,但私钥只有该人拥有。典型的用法是,其他人用公钥来加密给该接受者,接受者使用自己的私钥解密。 公开钥匙算法大多基于计算复杂度上的难题,通常来自于数论。例如,RSA源于整数因子分解问题;DSA源于离散对数问题(表示看不懂)。

    公开密钥系统的简单、灵活、可靠,使之成为了最常用的加密系统。密码学的最高境界是无论敌方获取多少密文,也无法消除己方系统的不确定性,而这依靠的就是简单的数学原理,数学俨然是密码学的核心。

 公钥密码学原理

1.对密文进行转换使之变成明码  如单词caesar 用ascll码表示   caesar   x=067097101115097114(每三位代表一个字母)

2.对明码进行加密  这要求我们做一个密码系统

        1.找两个很大的质数P和Q,越大越好,然后计算他们的乘积

                    N=P·Q 

                    M=(P-1)·(Q-1)

       2.找一个和M互质的整数E,也就是说M和E除了1以外没有公约数。

       3.找一个整数D,使得E·D除以M余1,即E ·Dmod M=1

      E是公钥谁都可以用来加密,D是私钥用于解密,乘积N是公开的

3.利用加密公式对X加密,得到密码Y。

           加密公式:X^E  mod N= Y

4,利用解密公式对Y解密,得到X

         Y^D mod N = X

        其中的数学知识 费马小定理



原创粉丝点击