密码学基础知识(二)密码体制
2015-07-05 20:42
246 查看
密码体制五元组:(M,C,K,E,D),分别是明文,密文,密钥,加密,解密。
咱们基本目的就是,有明文m,经过加密密钥k加密就能得到密文c。但是有密文c却没有解密密钥就不能得到明文m。
大家看见了解密密钥和加密密钥,想这是怎么回事呢。
原来,密码体制有两大正派,
一是对称密码体制,就是单钥密码体制,加密和解密密钥一样,或者其中一个容易推出另一个,也就是祖传功法就一部,分了上下两册,这个门派可是源远流长根基深厚的大门派。
二是非对称密码体制,就是双钥密码体制,就是祖传功法两部,这两部还是一个外门功法一部内门功法,互不想干。这个是后来的门派,不过这个门派根据自己的一个特点起了个文艺的名字:公钥密码体制。这是咋回事呢,难不成是怕了对称密码了嘛。原来是由于非对称密码体制中,由加密密钥推出解密密钥是极其困难的,于是他们就把自己的外门功法-加密密钥公布,吸引香客,入了门派后再将内家功法-解密密钥传授。为了评选红旗门派,他们还因人授课,传授不同的解密密钥。
有正派就得有反派啊,反派的招数有:
穷举攻击:我虽然不知道内容,但是我把所有的功法-密钥,都试一试,总有克你的。
统计分析攻击:我研究你这 招数的样子-明文 相对应 经脉图-密文 的规律。
解密变换攻击:要求有良好的数学内力,见招拆招,用强大的实力直接打倒你。
侧信道攻击:暂不提她。
那正反门派准备了这么久蓄势待发,什么时候才能打起来呢?神器?
唯密文:知道一些密文
已知明文:知道一些明文和对应的密文
选择明文:有间谍,能够选择一些明文得到其密文
选择密文:有内奸,能够选择一些密文得到其明文
那这杖什么时候不能打起来呢?
无条件安全:怎么攻击我都不怕,都不怕,你怕不怕。就是一次一密密码体制。
计算上不可破译:你攻击我付出的代价还不如不攻击呢。常见就是破译了,有效期却过了。或者破译出的价值还不如吃的盒饭贵呢。
那咱们怎么玩转啊?
密码体制的安全性在于密钥,门派的根基在于功法嘛。我们总要假定敌人知道我们的加密算法,虽然我们知道算法不公开才更安全。商业密码的算法就得公开。
这一说,关键还是密钥啊。shannon建议,扩散,混淆,乘积迭代的方式设计密码。扩散:将明文和密钥对密文的影响尽可能扩大;混淆:密文和密钥的关系复杂化。乘积迭代:将容易设计的简单密码迭代来达成扩散和混淆的效果。事实证明是,正确的。大神还说了,密码的本质就在于寻找一个难解问题。狭义看就是计算复杂性。
公钥密码体制与对称密码体制相比,有哪些优点和不足?
优点:I.密钥的分发相对容易;
II.密钥管理简单;
III.可以有效地实现数字签名。
缺点:I.与对称密码体制相比,非对称密码体制加解密速度较慢;
II.同等安全强度下,非对称密码体制要求的密钥位数要多一些;
III.密文长度往往大于明文长度。
咱们基本目的就是,有明文m,经过加密密钥k加密就能得到密文c。但是有密文c却没有解密密钥就不能得到明文m。
大家看见了解密密钥和加密密钥,想这是怎么回事呢。
原来,密码体制有两大正派,
一是对称密码体制,就是单钥密码体制,加密和解密密钥一样,或者其中一个容易推出另一个,也就是祖传功法就一部,分了上下两册,这个门派可是源远流长根基深厚的大门派。
二是非对称密码体制,就是双钥密码体制,就是祖传功法两部,这两部还是一个外门功法一部内门功法,互不想干。这个是后来的门派,不过这个门派根据自己的一个特点起了个文艺的名字:公钥密码体制。这是咋回事呢,难不成是怕了对称密码了嘛。原来是由于非对称密码体制中,由加密密钥推出解密密钥是极其困难的,于是他们就把自己的外门功法-加密密钥公布,吸引香客,入了门派后再将内家功法-解密密钥传授。为了评选红旗门派,他们还因人授课,传授不同的解密密钥。
有正派就得有反派啊,反派的招数有:
穷举攻击:我虽然不知道内容,但是我把所有的功法-密钥,都试一试,总有克你的。
统计分析攻击:我研究你这 招数的样子-明文 相对应 经脉图-密文 的规律。
解密变换攻击:要求有良好的数学内力,见招拆招,用强大的实力直接打倒你。
侧信道攻击:暂不提她。
那正反门派准备了这么久蓄势待发,什么时候才能打起来呢?神器?
唯密文:知道一些密文
已知明文:知道一些明文和对应的密文
选择明文:有间谍,能够选择一些明文得到其密文
选择密文:有内奸,能够选择一些密文得到其明文
那这杖什么时候不能打起来呢?
无条件安全:怎么攻击我都不怕,都不怕,你怕不怕。就是一次一密密码体制。
计算上不可破译:你攻击我付出的代价还不如不攻击呢。常见就是破译了,有效期却过了。或者破译出的价值还不如吃的盒饭贵呢。
那咱们怎么玩转啊?
密码体制的安全性在于密钥,门派的根基在于功法嘛。我们总要假定敌人知道我们的加密算法,虽然我们知道算法不公开才更安全。商业密码的算法就得公开。
这一说,关键还是密钥啊。shannon建议,扩散,混淆,乘积迭代的方式设计密码。扩散:将明文和密钥对密文的影响尽可能扩大;混淆:密文和密钥的关系复杂化。乘积迭代:将容易设计的简单密码迭代来达成扩散和混淆的效果。事实证明是,正确的。大神还说了,密码的本质就在于寻找一个难解问题。狭义看就是计算复杂性。
公钥密码体制与对称密码体制相比,有哪些优点和不足?
优点:I.密钥的分发相对容易;
II.密钥管理简单;
III.可以有效地实现数字签名。
缺点:I.与对称密码体制相比,非对称密码体制加解密速度较慢;
II.同等安全强度下,非对称密码体制要求的密钥位数要多一些;
III.密文长度往往大于明文长度。
相关文章推荐
- 【ctsc2007】【挂缀】
- eclipse 远程调试mapreduce
- E题hdu 1425 sort
- OpenFlow Switch学习笔记(四)——Matching
- 青蛙跳台问题
- 码农、黑客和2B程序员之间的区别
- [LeetCode][Java] Two Sum
- XMLHttpRequest对象的属性和方法
- 数据结构基础 之 树与二叉树 各类操作、思想与实现
- MD5 加密
- 2016, Hillary Clinton Win!
- 欢迎使用CSDN-markdown编辑器
- OpenGL的版本历史和发展
- xib自定义UIView报错误 "forUndefinedKey:]: this class is not key value coding-compliant for the key"
- MVC强类型视图、强类型HTML辅助方法
- js实现:'w5-8' -> /^\w{5,8}$/
- 一种JAVA线程轮训调度算法(转载)
- Hadoop小练习——利用MapReduce求平均数
- 51nod 算法马拉松3 A:序列分解
- [华为机试练习题]58.查找同构数的数量