有关加密技术的几个术语
-
Upload
jasper-roy -
Category
Documents
-
view
45 -
download
0
description
Transcript of 有关加密技术的几个术语
《电子商务安全与管理 》 1/49 ©2009-02-27 Guangzhou University
有关加密技术的几个术语
保护数据的方法属于密码学的范筹.实际上,该学科包括三个名称:
密码学 (cryptography)密码术 (cryptology)密码分析学 (cryptanalysis)
严格讲密码学研究的是如何设计密码体制;密码术研究的是如何在不安全的信道上传递信息及
其它相关问题;密码分析学是研究如何破坏这种体制.
《电子商务安全与管理 》 2/49 ©2009-02-27 Guangzhou University
以上几个术语在一般情况下可以混用;
另一术语编码理论( coding theory) 也常用来描述密码学.但编码理论研究内容主要有:压缩 (compression) 、保密 (secrecy) 和纠错。
有关加密技术的几个术语
《电子商务安全与管理 》 3/49 ©2009-02-27 Guangzhou University
现化密码学领域主要依赖于数学、计算机科学和人的聪明才智.
有关加密技术的几个术语
《电子商务安全与管理 》 4/49 ©2009-02-27 Guangzhou University
§ 1.5 加密技术概述
密码基本概念 密码技术的分类 密码系统的设计原则
《电子商务安全与管理 》 5/49 ©2009-02-27 Guangzhou University
密码基本概念密码学 (cryptography):
研究改变信息和信号的形式以隐弊 ( 加密 ) 或复现( 解密 ) 的学科,即研究如何设计密码体制;
§ 1.5 加密技术概述 - 密码基本概念
《电子商务安全与管理 》 6/49 ©2009-02-27 Guangzhou University
加密(encrypti
on)
解密(decrypti
on)发送方
明文 (plaintext)密文 ( ciphertext ) 明文 (plaintext)
接收方
§ 1.5 加密技术概述 - 密码基本概念
算法+密钥密钥:采用某种算法对明文进行加密时 该算法需要输入的参数第三方
《电子商务安全与管理 》 7/49 ©2009-02-27 Guangzhou University
明文空间:所有明文的集合称为明文空间密文空间:所有密文的集合称为密文空间密钥空间:所有密钥的集合称为密钥空间
密码系统:包含明文空间、密文空间、密钥空间和算法
密码体制:一般指密钥空间与相应的加密运算结构,同时还包括了明文和密文的结构特征.
§ 1.5 加密技术概述 - 密码基本概念
《电子商务安全与管理 》 8/49 ©2009-02-27 Guangzhou University
加密(encrypti
on)
解密(decrypti
on)发送方
明文 (plaintext) 密文 ( ciphertext ) 明文 (plaintext)
接收方
§ 1.5 加密技术概述 - 密码基本概念
第三方可以截获密文
对加密系统的攻击
《电子商务安全与管理 》 9/49 ©2009-02-27 Guangzhou University
可能的攻击 仅知密文( ciphertext only) 已知明文 (known plaintext) 选择明文 (chosen plaintext) 选择密文 (chosen ciphertext)
防止攻击的方法有 : 算法保密 ; 密钥保密
§ 1.5 加密技术概述 - 密码基本概念
《电子商务安全与管理 》 10/49 ©2009-02-27 Guangzhou University
算法相对固定,密钥则不固定:
为什么?原理:现代密码学最重要的一个假设之一克彻霍夫原
则 ( 或译成柯克霍夫原则 , Kerchoffs’s Principle):
即在评定一个密码体制安全性时,人们假定攻击者知道所有目前已使用的密码学方法 , 因此体制的安全性应建立在密钥的基础之上,而不是依赖于算法的隐藏 ( 可否说出几种理由 ? ).
§ 1.5 加密技术概述 - 密码基本概念
《电子商务安全与管理 》 11/49 ©2009-02-27 Guangzhou University
密码技术的分类
按应用技术或历史发展阶段划分 手工密码
第一次世界大战前的密码 机械密码
第一次世界大战至第二次世界大战中得到普遍使用 电子机内乱密码
上世纪 50-70 年代 计算机密码
上世纪 70 年代以来
§ 1.5 加密技术概述
《电子商务安全与管理 》 12/49 ©2009-02-27 Guangzhou University
按保密程度划分理论上保密的密码
实际上保密的密码
不保密的密码
§ 1.5 加密技术概述 - 加密技术分类
《电子商务安全与管理 》 13/49 ©2009-02-27 Guangzhou University
按密钥方式划分
对称密钥
非对称密钥
§ 1.5 加密技术概述 - 加密技术分类
《电子商务安全与管理 》 14/49 ©2009-02-27 Guangzhou University
按明文形态分模拟型密码
数字型密码
§ 1.5 加密技术概述 - 加密技术分类
《电子商务安全与管理 》 15/49 ©2009-02-27 Guangzhou University
按编制原理划分移位 (shift )代替 (substitution)置换( Permutation ) -或称为换位密码以它们组合
按照明文的处理方式 流密码 (stream)- 按单字符加密 ( 或称为序列密码) 分组密码 (block)
§ 1.5 加密技术概述 - 加密技术分类
《电子商务安全与管理 》 16/49 ©2009-02-27 Guangzhou University
与电子商务相关的安全理论主要有以下三大类分组密码公开密钥密码(属于非对称密钥密码)非密码的安全理论和技术。
§ 1.5 加密技术概述 - 加密技术分类
《电子商务安全与管理 》 17/49 ©2009-02-27 Guangzhou University
• 密码系统的设计原则
易操作原则 不可破原则 整体安全原则 柯克霍夫原则 ( 或译克彻霍夫斯原则 , Kerchoffs’s
Principle): 与计算机、通信系统匹配原则
§ 1.5 加密技术概述
《电子商务安全与管理 》 18/49 ©2009-02-27 Guangzhou University
古典密码体制 ( 补充)
几个约定:明文用小写,密文用大写英文字母分别用 0-26 代替忽略标点和空格
§ 1.5 加密技术概述
《电子商务安全与管理 》 19/49 ©2009-02-27 Guangzhou University
移位密码 (shift)加密早期的密码体制创始人之一是 Julius Caesar. 假设他要发送如下的明文信息 :
gaul is divided three parts他不想让敌方获取该信息,于是他将每个字母向后移动
三位 .JDXOLVVGLYLGHGLQWRWKUHHSDUWV
在这一加密体制中: 算法为移位 密钥为移位的个数 ( 上例中 key=3)
§ 1.5 加密技术概述 - 古典密码体制
《电子商务安全与管理 》 20/49 ©2009-02-27 Guangzhou University
解密解密过程为将字母回移 3 位(并尽量判断如何还原空
格) gaulisdividedthreeparts gaul is divided three parts
§ 1.5 加密技术概述 - 古典密码体制
《电子商务安全与管理 》 21/49 ©2009-02-27 Guangzhou University
攻击最一般的情况是仅知道密文 (ciphertext only) 攻击:此时最好的策略就是穷尽搜索:
即从 k=1 开始解密,直到 k=25 ,然后分析移位后的结果,判断可能的明文.
§ 1.5 加密技术概述 - 古典密码体制
《电子商务安全与管理 》 22/49 ©2009-02-27 Guangzhou University
例 1. 已知采用移位加密方式得到了 KDDKMU
§ 1.5 加密技术概述 - 古典密码体制
unnuwe
voovxf
wppwyg
xqqxzh
yrryai
zsszbj
attack
buubdl
cvvcem
kddkmu
leelnv
mffmow
nggnpx
ohhoqy
piiprz
qjjqsa
rkkrtb
sllsuc
tmmtvd
dwwdfn
exxego
fyyfhp
gzzgiq
haahjr
ibbiks
jccjlt 回移 1 位回移 2 位
经分析明文应是 attack
Key=10
《电子商务安全与管理 》 23/49 ©2009-02-27 Guangzhou University
例 2. 已知采用移位加密方式得到了YCVEJQWVHQTDTWVWU
§ 1.5 加密技术概述 - 古典密码体制
ycvejqwvhqtdtwvwu
zdwfkrxwirueuxwxv
aexglsyxjsvfvyxyw
bfyhmtzyktwgwzyzx
cgzinuazluxhxazay
dhajovbamvyiybabz
eibkpwcbnwzjzcbca
fjclqxdcoxakadcdb
gkdmryedpyblbedec
hlenszfeqzcmcfefd
imfotagfradndgfge
jngpubhgsbeoehghf
kohqvcihtcfpfihig
lpirwdjiudgqgjijh
mqjsxekjvehrhkjki
nrktyflkwfisilklj
osluzgmlxgjtjmlmk
ptmvahnmyhkuknmnl
qunwbionzilvlonom
rvoxcjpoajmwmpopn
swpydkqpbknxnqpqo
txqzelrqcloyorqrp
uyrafmsrdmpzpsrsq
vzsbgntsenqaqtstr
watchoutforbrutus
xbudipvugpscsvuvt
《电子商务安全与管理 》 24/49 ©2009-02-27 Guangzhou University
例 2. 已知采用移位加密方式得到了YCVEJQWVHQTDTWVWU
§ 1.5 加密技术概述 - 古典密码体制
ycvejqwvhqtdtwvwu
zdwfkrxwirueuxwxv
aexglsyxjsvfvyxyw
bfyhmtzyktwgwzyzx
cgzinuazluxhxazay
dhajovbamvyiybabz
eibkpwcbnwzjzcbca
fjclqxdcoxakadcdb
gkdmryedpyblbedec
hlenszfeqzcmcfefd
imfotagfradndgfge
jngpubhgsbeoehghf
kohqvcihtcfpfihig
lpirwdjiudgqgjijh
mqjsxekjvehrhkjki
nrktyflkwfisilklj
osluzgmlxgjtjmlmk
ptmvahnmyhkuknmnl
qunwbionzilvlonom
rvoxcjpoajmwmpopn
swpydkqpbknxnqpqo
txqzelrqcloyorqrp
uyrafmsrdmpzpsrsq
vzsbgntsenqaqtstr
watchoutforbrutus
xbudipvugpscsvuvt
watchoutforbrutus Watch out for brutus
《电子商务安全与管理 》 25/49 ©2009-02-27 Guangzhou University
思考题下列密文为移位密码的输出结果,试解密成明文LCLLEWLJAZLNNZMVYIYLHRMHZA
§ 1.5 加密技术概述 - 古典密码体制
《电子商务安全与管理 》 26/49 ©2009-02-27 Guangzhou University
#include "stdafx.h"
#include <string.h>#include <conio.h>
void shift(char *,char *,int);
int _tmain(int argc, _TCHAR* argv[]){
char plaintext[100],ciphertext[100];strcpy(plaintext,"LCLLEWLJAZLNNZMVYIYLHRMHZA");
for(int i=1;i<26;i++){shift(plaintext,ciphertext,i);printf("Key=%d: %s\n",i,ciphertext);
}
getch();return 0;
}
《电子商务安全与管理 》 27/49 ©2009-02-27 Guangzhou University
// 移位算法,移位算法的密钥空间为 ,1,...25void shift(char *plaintext,char *ciphertext,int key){
char list[]="ABCDEFGHIJKLMNOPQRSTUVWXYZ";
int i=0;while(plaintext[i]!='\0'){
ciphertext[i]=list[(plaintext[i]-'A'+key)%26]+32;i++;
}
ciphertext[i]=0;return ;
}
《电子商务安全与管理 》 28/49 ©2009-02-27 Guangzhou University
Key=1: mdmmfxmkbamooanwzjzmisniab
Key=2: nenngynlcbnppboxakanjtojbc
Key=3: ofoohzomdcoqqcpyblbokupkcd
Key=4: pgppiapnedprrdqzcmcplvqlde
Key=5: qhqqjbqofeqsseradndqmwrmef
Key=6: rirrkcrpgfrttfsbeoernxsnfg
Key=7: sjssldsqhgsuugtcfpfsoytogh
Key=8: tkttmetrihtvvhudgqgtpzuphi
《电子商务安全与管理 》 29/49 ©2009-02-27 Guangzhou University
Key=9: uluunfusjiuwwivehrhuqavqij
Key=10: vmvvogvtkjvxxjwfisivrbwrjk
Key=11: wnwwphwulkwyykxgjtjwscxskl
Key=12: xoxxqixvmlxzzlyhkukxtdytlm
Key=13: ypyyrjywnmyaamzilvlyuezumn
Key=14: zqzzskzxonzbbnajmwmzvfavno
Key=15: araatlaypoaccobknxnawgbwop
Key=16: bsbbumbzqpbddpcloyobxhcxpq
《电子商务安全与管理 》 30/49 ©2009-02-27 Guangzhou University
Key=17: ctccvncarqceeqdmpzpcyidyqr
Key=18: duddwodbsrdffrenqaqdzjezrs
Key=19: eveexpectseggsforbreakfast
Key=20: fwffyqfdutfhhtgpscsfblgbtu
Key=21: gxggzrgevugiiuhqtdtgcmhcuv
Key=22: hyhhashfwvhjjvirueuhdnidvw
Key=23: iziibtigxwikkwjsvfvieojewx
Key=24: jajjcujhyxjllxktwgwjfpkfxy
Key=25: kbkkdvkizykmmyluxhxkgqlgyz
《电子商务安全与管理 》 31/49 ©2009-02-27 Guangzhou University
代替密码 ( 替换密码体制 ) ( substitution)
替换密码是最流行的密码体制之一.它的原理很简单:对字母表中的每个字母用其它(也可能是相同的字母代替),更准确的说,就是用置换字母表来代替明文中的字母.
一般来说移位密码可以看成是替换密体制的特列.
§ 1.5 加密技术概述 - 古典密码体制
《电子商务安全与管理 》 32/49 ©2009-02-27 Guangzhou University
Playfair 和 ADFGX 密码 ( 代替密码体制,替换密码体制
在第一次世界大战中,英国人和德国人分别使用了playfair 和 ADFGX 密码. Playfair 是由 Charles Wheatston 在 1854 年发明的.
加密 该算法的密钥是一个英文词 , 例如 playfair ,将重复
的字母去掉,则得到 playfir,将其排列成 5×5 的矩阵的起始部分,矩阵的其余部分则用剩下的字母来填充( i,j 看作一个字母 )
§ 1.5 加密技术概述 - 古典密码体制
《电子商务安全与管理 》 33/49 ©2009-02-27 Guangzhou University
p l a y f
i r b c d
e g h k m
n o q s t
u v w x z
红色部分为密钥
§ 1.5 加密技术概述 - 古典密码体制
meet at the schoolhouse
将空格去掉,并分成两两一组,若有重字母,则插入 x并重新分组me et at th es ch ox ol ho us ex
若两个字母不同一行和同一列,则以两字的行和列作为下标在矩阵中取一字母.
若在一行则用它右边字母代替它(到尾时回卷 ) ,若在同一列则用它下面一个字母代替(到底时上卷).
EG MN FQ QM KN BK SV VR GQ XN KU
《电子商务安全与管理 》 34/49 ©2009-02-27 Guangzhou University
解密
EG MN FQ QM KN BK SV VR GQ XN KU
p l a y f
i r b c d
e g h k m
n o q s t
u v w x z
me et at th es ch ox ol ho us ex – 第二个 x删除Meetattheschoolhouse 判断空格的加入点Meet at the schoolhouse
§ 1.5 加密技术概述 - 古典密码体制
攻击:采用频率分析法分析密钥(构成矩阵的单词)
《电子商务安全与管理 》 35/49 ©2009-02-27 Guangzhou University
置换密码 (Permutation)不改变明文中字母,而通过改变明文中字母的位置来实现对明文的加密.
§ 1.5 加密技术概述 - 古典密码体制
《电子商务安全与管理 》 36/49 ©2009-02-27 Guangzhou University
Enigma( 替换密码机制 )
轮转机加密设备是 1920 年发明的 , 最著明的设计是德国的 Enigma(亚瑟 ·谢尔比乌斯 ,Arthur Scherbius 发明 ), 它是第二次世界大战中德国使用的最著明的机器之一 . 具说它非常安全 , 但英国人在二战期间破译了该设备 .
§ 1.5 加密技术概述 - 古典密码体制
《电子商务安全与管理 》 37/49 ©2009-02-27 Guangzhou University
1918 年,德国发明家亚瑟 ·谢尔比乌斯 (Arthur Scherbius) 和他的朋友理查德 ·里特 (Richard Ritter)创办了谢尔比乌斯和里特公司。这是一家专营把新技术转化为应用方面的企业,很象现在的高新技术公司,利润不小,可是风险也很大。谢尔比乌斯负责研究和开发方面,紧追当时的新潮流。他曾在汉诺威和慕尼黑研究过电气应用,他的一个想法就是要用二十世纪的电气技术来取代那种过时的铅笔加纸的加密方法。
§ 1.5 加密技术概述 - 古典密码体制
《电子商务安全与管理 》 38/49 ©2009-02-27 Guangzhou University
§ 1.5 加密技术概述 - 古典密码体制
键盘
显示器
接线板
《电子商务安全与管理 》 39/49 ©2009-02-27 Guangzhou University
§ 1.5 加密技术概述 - 古典密码体制
照片左方是一个完整的转子,右方是转子的分解,我们可以看到安装在转子中的电线
《电子商务安全与管理 》 40/49 ©2009-02-27 Guangzhou University
§ 1.5 加密技术概述 - 古典密码体制
一个完整转子的两个侧面的视图
《电子商务安全与管理 》 41/49 ©2009-02-27 Guangzhou University
§ 1.5 加密技术概述 - 古典密码体制
实际机器中有 26 个触点,此处为简化仅给出 6 个
《电子商务安全与管理 》 42/49 ©2009-02-27 Guangzhou University
每键入一个字母轮子转动 1/26 圏
此处为 1/6)
《电子商务安全与管理 》 43/49 ©2009-02-27 Guangzhou University
§ 1.5 加密技术概述 - 古典密码体制
当第一轮子转动一圈,机器将带动第 2 个轮子转动 1/26 圏(依次类推)
《电子商务安全与管理 》 44/49 ©2009-02-27 Guangzhou University
在三个轮子的后面还有一个反射器 , 用于实现解码
《电子商务安全与管理 》 45/49 ©2009-02-27 Guangzhou University
Enigma 中的反射器
《电子商务安全与管理 》 46/49 ©2009-02-27 Guangzhou University
Enigma 的内部结构
《电子商务安全与管理 》 47/49 ©2009-02-27 Guangzhou University
只要设备的被始设置相同,则输入明文字母可输出密文字母,而输入的是密文字母时,输出的则为明文字母.
破译的难度:3个转动子每个有 26 种初值,则共有 263=17576 种可能性, 3 个转动子有 6 种可能的排列方式,那么转子就有
6×17576=105456 种可能
§ 1.5 加密技术概述 - 古典密码体制
《电子商务安全与管理 》 48/49 ©2009-02-27 Guangzhou University
• 在线路版上又有6种字母交换的方式,因此共有632736 种可能的初始值.
接线板
§ 1.5 加密技术概述 - 古典密码体制
《电子商务安全与管理 》 49/49 ©2009-02-27 Guangzhou University
• 于是转子的初始方向决定了整个密文的加密方式。如果通讯当中有敌人监听,他会收到完整的密文,但是由于不知道三个转子的初始方向,他就不得不通过一个一个地试验来找到这个密匙。
• 问题在于 632736 个初始方向这个数目并不是太大。如果试图破译密文的人把转子调整到某一方向,然后键入密文开始的一段,看看输出是否象是有意义的信息。如果不象,那就再试转子的下一个初始方向……如果试一个方向大约要一分钟,而且二十四小时日夜工作,那么在大约 72星期里就可以找遍转子所有可能的初始方向。
• 英国人发明了解密机“炸弹”,解密每天的密钥需要 2小时. 密文 : KEGSA CJOJP MVRVD HNJGX SQORC CSQW 明文 : ???
§ 1.5 加密技术概述 - 古典密码体制
《电子商务安全与管理 》 50/49 ©2009-02-27 Guangzhou University
上机练习
用 Java 语言写一个可破解 P25页的移位密码的小程序,要求数据从“文件”中输入,结果也要写到“文件中” .
可参照 p26,p27 页中的 C 语言程序来完成。下课前将对该题目进行讲解。