信息安全-摘要-数字签名

信息安全-摘要-数字签名

在计算机中,信息安全非常重要,正好最近完成了信息安全的课程,就来写下博客记录下。

信息摘要 #

主要的创建摘要算法有

  • 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