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

一.古典密码

1.代换和置换

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

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

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

2.单表代换密码

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

  • 凯撒密码

另一种形式:

3.多表代换

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

4.置换

二.现代密码

1.加密算法的分类

按密钥方式分类

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

按明文处理方式分类:

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

2.对称加密技术

2.1.DES加密

2.1.1概述

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

2.1.2步骤

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

第一步:初始置换

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

将置换结果分为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(下表)进行置换

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

在这里插入图片描述

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

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

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

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

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

在这里插入图片描述

2.2AES加密

3.公钥加密技术

3.1RSA加密

  • 2
    点赞
  • 26
    收藏
    觉得还不错? 一键收藏
  • 打赏
    打赏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

十八岁讨厌Java

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值