在计算机中,信息安全非常重要,正好最近完成了信息安全的课程,就来写下博客记录下。
信息摘要 #
主要的创建摘要算法有
- SHA家族 - Secure Hash Algorithm - 安全散列算法
- MD算法 - MD5 - Message Digest - 消息摘要算法
- MAC算法 - Message Authentication Code - 消息认证码算法
摘要算法的主要目的在于创建信息的不可逆摘要,在网上下载程序安装包或者大型文件时,往往会提供一个MD5代码用于验证我们下载的文件是否出现错误,在摘要算法中,输入为我们指定的的数据,输出为一个定长的,由输入的数据确定的唯一确定的一个数据序列,一旦输入数据的任意一个字节数据发生改变,那么生成的数据序列也会发一定会发生改变。
数字签名 #
DSA算法
代补充
DES加密算法-对称加密 #
DES是典型的对称加密,通信的双方都要保存一个相同的密钥。
DES算法工作方式:
如Mode为加密,则用Key 去把数据Data进行加密, 生成Data的密码形式(64位)作为DES的输出结果;
如Mode为解密,则用Key去把密码形式的数据Data解密,还原为Data的明码形式(64位)作为DES的输出结果。
在通信网络的两端,双方约定一致的Key,在通信的源点用Key对核心数据进行DES加密,然后以密码形式在公共通信网(如电话网)中传输到通信网络的终点,数据到达目的地后,用同样的Key对密码数据进行解密,便再现了明码形式的核心数据。
这样,便保证了核心数据(如PIN、MAC等)在公共通信网中传输的安全性和可靠性。
RAS加密算法-非对称加密 #
RAS是一种非对称的加密算法。广泛的用于现代的加密通信中。
计算方法:
第一步,随机选择两个不相等的质数p和q。
如61和53。(实际应用中,这两个质数越大,就越难破解。)
第二步,计算p和q的乘积n。
61和53相乘得到3233。
第三步,计算n的欧拉函数φ(n)。
φ(n) = (p-1)(q-1)
这里计算得到60x52=3210
第四步,随机选择一个整数e,条件是1< e < φ(n),且e与φ(n) 互质。
在1到3120之间,随机选择了17。(实际应用中,常常选择65537。)
第五步,计算e对于φ(n)的模反元素d。
所谓 “模反元素”就是指有一个整数d,可以使得ed被φ(n)除的余数为1。
ed = 1 (mod φ(n))
这个式子等价于
ed - 1 = kφ(n)
于是,找到模反元素d,实质上就是对下面这个二元一次方程求解。
ex + φ(n)y = 1
已知 e=17, φ(n)=3120,
17x + 3120y = 1
这个方程可以用 “扩展欧几里得算法”求解,此处省略具体过程。总之,算出一组整数解为 (x,y)=(2753,-15),即 d=2753。
至此所有计算完成。
第六步,将n和e封装成公钥,n和d封装成私钥。
在上面的例子中,n=3233,e=17,d=2753,所以公钥就是 (3233,17),私钥就是(3233, 2753)。
DH算法-密钥交换 #
代补充
Reference #
最后更新于: 2020-02-10