网络安全 密码学

密码学
1、 密码学概述
二战时期美军截获了日军密码,日军当时使用的是JN25密码,因此,美军在在中途岛战役中取得了巨大成功
密码学发展史:
古代密码学:
天书、象形文字、矾书、凯撒密码……
公元前5、6世纪,古斯巴达人发明了天书(是一种器械,在上面书写文字)
近代密码学:
香农发表《保密系统的通信原理》,从此开始,密码学作为一门学科
近代密码学一分为二,香农为分界线
密码学技术:
为了让攻击者没有办法截取到信息,并且无法伪造信息
密码系统:
明文M、密文C、密钥K和算法组成(加密E、解密D)
密码系统的安全策略:
密码系统可以采取两种安全策略:基于算法保护和基于密码保护
密码系统的设计要求:(四点)
系统便于实现、不应该依赖于某一体制或某一算法(移植性低)、
2、 古典密码体制
现代很少使用,但是思想值得借鉴
代换密码技术:
从一个字母替换到另一个字母
单表代换:
在加密时用一张自制字母表上的字母来代替明文上的字母(比如说A——Z,B——D)来达到加密。例如凯撒密码
在这里插入图片描述

多表代换:
多表代替密码是古典密码中代替密码的一种。针对单表代替密码容易被频率分析法破解的缺点,人们提出多表代换密码,用一系列(两个以上)代换表依次对明文消息的字母进行代换。
换位密码技术:
两行轮流
矩阵置换:数字从小到大,字母按照顺序来输出
单钥密码体制
加密密钥和解密密钥相同,所以也叫做对称密码体制
序列密码:
以明文为比特为加密单位,用某一个伪随机序列作为加密密钥,与明文进行异或运算,获得密文序列,在接收端,用随机序列与密文进行异或运算便可恢复明文序列。(所以,伪随机序列越长,越安全。但是太长的伪随机序列不好储存,所以使用种子密钥和密钥序列产生算法来产生密钥序列)
分组密码:
在密钥的控制下一次变换一个分组;将明文以固定长度进行分组,每一组明文用相同的密钥和加密函数进行运算。
DES密码体制:
是一种分组加密,分组长度64位,密钥长度56位(奇偶校验位8位),每八位有个奇偶校验位。
初始置换——十六次迭代——逆初始置换
(1) 初始置换(64位)
(2) 把结果划分成部分,左右各32位;
(3) 把密钥也划分成两部分,左右各28位,
(4) 然后循环左移一位
(5) 密钥划分的右半部分扩展到48位
(6) 扩展48位与密钥左28位做异或
(7) 已异或完成之后是48位,经S盒压缩得到32位结果
(8) 再次置换32位的结果,与原始数据的左边进行异或
其他分组密码算法:3DES
AES算法:
原理:AES的分组长度是128位,很长所以抗穷举性比较强,密钥长度可以以128、192、256位
2.4 双钥密码体制
原理:
也叫做不对称密码体制,不对称在每一个用户都有两个密钥,一个公钥(对明文进行加密)进行注册公布、一个私钥(对密文进行解密)用户自己秘密保存。两个密钥之间存在某种算法联系,但由一个密钥无法或很难推导出另一个密钥。
实现技术:
大整数/大素数分解问题类:RSA密码体制(最著名的双钥密码体制)
椭圆曲线类
离散对数问题
RSA密码体制:
RSA体制基于“大数分解和素数检测”这一注明数论难题
将两个大素数相乘十分容易,但将该乘积分解为两个大素数因子却极其困难;
素数检测就是判定一个给定的正整数是否为素数。
RSA密钥产生过程:

  1. 生成两个大素数(p和q)
  2. 计算这两个素数的乘积(n)
  3. 计算小于n并且与n互质的整数的个数,及欧拉函数f(n)=(p-1)*(q-1)
  4. 随机选择一个加密密钥e,使e满足1<e<f(n)(e满足条件的肯能有很多,随机选一个就行),并且e和f(n)互质
  5. 利用欧几里得扩展算法计算e的逆元d,以满足:e*d=1 mod f(n) //设模x,ed=xf(n)+mod
    //mod是取余,例:7/5=模1余2,所以取2
  6. 公钥PK={e,n};对应的私钥SK={d};
    RSA的加解密:
    对消息内容M进行加密,发送者:
    获得接收者的公钥PK={e,n}
    计算:C=M的e次方 mod n
    解密秘闻C,接收者:
    使用自己的私钥SK={d,n}
    计算:M=C的d次方 mod n
    双钥密钥体制的优缺点:
    优点:保密强度高、密钥分配及管理简便、可以用于数字签名实现身份证
    缺点:运算复杂、速度慢
    RSA公钥体制的安全性:
    RSA算法的基于这样的数学事实:两个大质数相乘得到的大数难以被因式分解。
    如:有很大质数p跟q,很容易算出N,使得 N = p * q,
    但给出N, 比较难找p q(没有很好的方式, 只有不停的尝试)
    在这里插入图片描述

如果n可以被因数分解,d就可以算出,因此RSA安全性建立在N的因式分解上。大整数的因数分解,是一件非常困难的事情。
只要密钥长度足够长,用RSA加密的信息实际上是不能被解破的。
2.6 密码破译与密钥管理
密码破译:
穷举破译法
密码分析破译法:
伪密文攻击、已知明文攻击、选择明文攻击、选择密文攻击
防止密码破译措施:
增强密码算法安全性、使用动态会话密钥(银行U盾)、定期更换会话密码
密钥管理:
KDC:使用可信第三方验证
D……
密钥分配:
理想密钥分配:传输量和存储量都比较小;

  • 1
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值