古典密码
来源:互联网 发布:绑定独立域名有什么用 编辑:程序博客网 时间:2024/04/29 02:38
概述
一个密码体制(M,C, K, E, D)
c=E k (m)
m=D k (c)
用相同的密钥 K 来加密和解密
K 必须保密
c=E k (m)
m=D k (c)
用相同的密钥 K 来加密和解密
K 必须保密
典型的数学变换
代替
用另一个字母代替原来的字母单表单代替密码
移位密码
(凯撒密码为右移三位的移位密码)
加密 ci=ek(mi)=(mi+k) mod 26
解密 ciphertext c mi=dk(ci)=(ci-k) mod 26
穷举攻击:
|K|(密钥空间)太小–
对于穷举攻击(字母个数n)
复杂性:平均(n-1)/2次
复杂性:最坏(n-1)次
仿射密码
扩展的移位密码c=am+b mod n
穷举攻击– 对于Zn, |K|=(n)n 对于Z26,|K|=312
改进:使用单表代替
多表代替密码
维吉尼亚密码
著名的恩格玛机所使用
加密消息:
INDIVIDUAL CHARACTER
密钥: HOST
m= I ND I V I DU ALCH ARAC TER
k=HOST HOST HOST HOST HOS
Ek(m)=PBVB CWVN HZUA HFSV ASJ
• P = C = K = (Zn)m
• K = (k1, k2, k3,…km)
• eK(x1, x2,…xm) = (x1+k1,x2+k2,…,xm+km)mod 26
• dK(y1, y2,…ym) = (y1-k1,y2-k2,…,ym-km) mod 26
• 注:
– |K| = nm
– Vigenere 密码能掩饰字母的频率
– Vigenere 密码是代替密码的集合
每个分组中对应次序的字母的集合为普通的单表代替密码
只需要找到分组长度m就可以进行破解
方法:1.kasisky检验,2.重合指数法
Kasisky检验
• 寻找密钥长度
key: deceptivedeceptivedeceptive
plaintext: wearediscoveredsaveyourself
ciphertext:ZICVTWQNGRZGVTWAVZHCQYGL
两组重复序列之间的举例为可能值。
获得多个不同的可能值,所有可能值的最大公因数为分组长度m(或其倍数)
重合指数法
重合指数=从字符串中任选两个字符,他们相等的概率。 ≈每个字母出现的频率的平方的和。
自然语言的重合指数≈0.065;全随机的重合指数≈0.038
猜测分组长度为m,将密文按照对应在m中的次序分为m组,若每一组的重合指数都接近于0.065,则说明很可能分组长度m猜测正确。
多名代替密码
希尔密码
一般n阶矩阵能掩盖n-1长度的字符频率
置换
改变字母的位置写密码用一种方式,读密码用另一种方式
参考电子工业出版社《密码学原理与实践》,仅为个人学习整理归纳...........
0 0
- 古典密码
- 古典密码
- 古典密码
- 古典密码 --- 实验吧
- 古典密码习题解析
- 古典密码之希尔密码
- [转载]仿射密码(古典)
- 古典密码(Hill加密算法)
- 实验吧—古典密码
- 1.古典密码之移位密码
- 古典密码体制 密码置换技术验证
- 古典密码之维吉尼亚密码破解思路
- [古典密码]:Caesar cipher(凯撒密码)
- [古典密码]:PlayFair cipher(Playfair密码)
- [古典密码]:Hill cipher(希尔密码)
- [古典密码]:Vigenere cipher 维吉尼亚密码
- 古典密码——置换密码
- 置换密码 古典加密算法 信息安全
- sparse data clustering with infinite-norm
- .net发送邮件源码
- jsonp(跨域请求)案例
- windows virtualenv cx_oracle安装
- linux下ftp服务器搭建
- 古典密码
- Java自定义注解 简单Hibernate的注解实现
- AES加密及解密
- Word2016 样式保存
- UI设计小知识——按钮背景的制作
- MFC创建流程详解
- 在用eclipse时出现的问题罗列
- 不错vs2010相关
- 野指针