计算机网络安全——密码学

一.古典密码

1.代换和置换

代换:将明文中的一个字母由其它字母、数字或符号替代

  • 单表代换:一个明文对应的密文是确定的
  • 多表代换:一个明文对应的密文可以是多个密文字母

置换:将明文字符按照某种规律重新排列

2.单表代换密码

  • 单表代换密码:思想是将密钥字依次填入到代换表中,密钥字填完后再按从A——Z的顺序继续填代换表,密钥中已经存在的字母就跳过

计算机网络安全——密码学_第1张图片

  • 凯撒密码

计算机网络安全——密码学_第2张图片

另一种形式:计算机网络安全——密码学_第3张图片

3.多表代换

思想:密钥为行坐标,明文为纵坐标,然后根据维吉尼亚密码表进行代换

计算机网络安全——密码学_第4张图片

4.置换

计算机网络安全——密码学_第5张图片

二.现代密码

1.加密算法的分类

按密钥方式分类

  • 对称加密(私有密钥)    :加解密密钥相同或可以相互推出,如AES、AES
  • 非对称加密(公开密钥):加解密密钥不相同,如RSA

按明文处理方式分类:

  • 流密码    :对明文进行逐位加密,属于对称加密
  • 分组密码:将明文分成若干个分组进行加密

2.对称加密技术

2.1.DES加密

2.1.1概述

DES算法是对称加密分组算法,密钥长64bit,其中56位参与运算,8位位校验位

2.1.2步骤

步骤大概分为三个过程,分别是初始置换、16轮迭代、逆置换

第一步:初始置换

根据初始置换表,对明文进行置换

计算机网络安全——密码学_第6张图片

将置换结果分为L0,R0,分别为32个bit

 第二步:迭代

迭代过程:

L1=R0,R1=L0异或f(R0,子密钥k1...一直循环16轮

f(R,K)轮函数过程:

1.E扩展:将32bit->48bit

将R分为八组,每组4位,在每一组头部加一个bit为前一组的最后一位,在每一组尾部加一个bit为后一组的第一位

2.求子密钥Ki

密钥k为64bit,将其分为8*8bit矩阵,每一组的最后一位为奇偶校验位不参加置换

先把剩下的56bit分为C0,D0,参考置换选择1(下表)进行置换

计算机网络安全——密码学_第7张图片

 然后将C0和D0参考循环左移表进行左移

计算机网络安全——密码学_第8张图片

 最后将C0和D0拼接在一起,参考置换选择2进行置换,得到48bit数据

计算机网络安全——密码学_第9张图片

3.将E扩展结果对子密钥进行异或

4.将异或结果分为8组,每组6bit,参考s盒转换为每组4bit,得到32bit数据 

计算机网络安全——密码学_第10张图片

 5.将32bit数据参考p盒进行置换

计算机网络安全——密码学_第11张图片

第三步:将R16与L16拼接在一起,进行逆置换就能得到密文

计算机网络安全——密码学_第12张图片

2.2AES加密

3.公钥加密技术

3.1RSA加密

你可能感兴趣的:(计算机网络安全,安全,http,网络协议)