1 / 50

有关加密技术的几个术语

有关加密技术的几个术语. 保护数据的方法属于密码学的范筹.实际上,该学科包括三个名称: 密码学 (cryptography) 密码术 (cryptology) 密码分析学 (cryptanalysis) 严格讲密码学研究的是如何设计密码体制; 密码术研究的是如何在不安全的信道上传递信息及其它相关问题; 密码分析学是研究如何破坏这种体制.. 有关加密技术的几个术语. 以上几个术语在一般情况下可以混用;

jasper-roy
Download Presentation

有关加密技术的几个术语

An Image/Link below is provided (as is) to download presentation Download Policy: Content on the Website is provided to you AS IS for your information and personal use and may not be sold / licensed / shared on other websites without getting consent from its author. Content is provided to you AS IS for your information and personal use only. Download presentation by click this link. While downloading, if for some reason you are not able to download a presentation, the publisher may have deleted the file from their server. During download, if you can't get a presentation, the file might be deleted by the publisher.

E N D

Presentation Transcript


  1. 有关加密技术的几个术语 保护数据的方法属于密码学的范筹.实际上,该学科包括三个名称: • 密码学(cryptography) • 密码术(cryptology) • 密码分析学(cryptanalysis) • 严格讲密码学研究的是如何设计密码体制; • 密码术研究的是如何在不安全的信道上传递信息及其它相关问题; • 密码分析学是研究如何破坏这种体制.

  2. 有关加密技术的几个术语 以上几个术语在一般情况下可以混用; 另一术语编码理论(coding theory)也常用来描述密码学.但编码理论研究内容主要有:压缩(compression)、保密(secrecy) 和纠错。

  3. 有关加密技术的几个术语 现化密码学领域主要依赖于数学、计算机科学和人的聪明才智.

  4. §1.5加密技术概述 • 密码基本概念 • 密码技术的分类 • 密码系统的设计原则

  5. § 1.5加密技术概述-密码基本概念 密码基本概念 • 密码学(cryptography): 研究改变信息和信号的形式以隐弊(加密)或复现(解密)的学科,即研究如何设计密码体制;

  6. § 1.5加密技术概述-密码基本概念 密文( ciphertext ) 明文(plaintext) 明文(plaintext) 加密 (encryption) 解密 (decryption) 发送方 接收方 算法+密钥 密钥:采用某种算法对明文进行加密时    该算法需要输入的参数 第三方

  7. § 1.5加密技术概述-密码基本概念 • 明文空间:所有明文的集合称为明文空间 • 密文空间:所有密文的集合称为密文空间 • 密钥空间:所有密钥的集合称为密钥空间 • 密码系统:包含明文空间、密文空间、密钥空间和算法 • 密码体制:一般指密钥空间与相应的加密运算结构,同时还包括了明文和密文的结构特征.

  8. § 1.5加密技术概述-密码基本概念 • 对加密系统的攻击 明文(plaintext) 明文(plaintext) 密文( ciphertext ) 加密 (encryption) 解密 (decryption) 发送方 接收方 第三方可以截获密文

  9. § 1.5加密技术概述-密码基本概念 • 可能的攻击 • 仅知密文(ciphertext only) • 已知明文(known plaintext) • 选择明文(chosen plaintext) • 选择密文(chosen ciphertext) 防止攻击的方法有: • 算法保密; • 密钥保密

  10. § 1.5加密技术概述-密码基本概念 • 算法相对固定,密钥则不固定: 为什么? 原理:现代密码学最重要的一个假设之一克彻霍夫原 则(或译成柯克霍夫原则, Kerchoffs’s Principle): 即在评定一个密码体制安全性时,人们假定攻击者知道所有目前已使用的密码学方法,因此体制的安全性应建立在密钥的基础之上,而不是依赖于算法的隐藏(可否说出几种理由?).

  11. § 1.5加密技术概述 • 密码技术的分类 • 按应用技术或历史发展阶段划分 • 手工密码 第一次世界大战前的密码 • 机械密码 第一次世界大战至第二次世界大战中得到普遍使用 • 电子机内乱密码 上世纪50-70年代 • 计算机密码 上世纪70年代以来

  12. § 1.5加密技术概述-加密技术分类 • 按保密程度划分 • 理论上保密的密码 • 实际上保密的密码 • 不保密的密码

  13. § 1.5加密技术概述-加密技术分类 • 按密钥方式划分 • 对称密钥 • 非对称密钥

  14. § 1.5加密技术概述-加密技术分类 • 按明文形态分 • 模拟型密码 • 数字型密码

  15. § 1.5加密技术概述-加密技术分类 • 按编制原理划分 • 移位(shift ) • 代替(substitution) • 置换(Permutation )-或称为换位密码 • 以它们组合 • 按照明文的处理方式 • 流密码(stream)-按单字符加密(或称为序列密码) • 分组密码(block)

  16. § 1.5加密技术概述-加密技术分类 • 与电子商务相关的安全理论主要有以下三大类 • 分组密码 • 公开密钥密码(属于非对称密钥密码) • 非密码的安全理论和技术。

  17. § 1.5加密技术概述 • 密码系统的设计原则 • 易操作原则 • 不可破原则 • 整体安全原则 • 柯克霍夫原则 (或译克彻霍夫斯原则, Kerchoffs’s Principle): • 与计算机、通信系统匹配原则

  18. § 1.5加密技术概述 • 古典密码体制(补充) 几个约定: • 明文用小写,密文用大写 • 英文字母分别用0-26代替 • 忽略标点和空格

  19. § 1.5加密技术概述-古典密码体制 • 移位密码(shift) • 加密 早期的密码体制创始人之一是Julius Caesar. 假设他要发送如下的明文信息: gaul is divided three parts 他不想让敌方获取该信息,于是他将每个字母向后移动三位. JDXOLVVGLYLGHGLQWRWKUHHSDUWV 在这一加密体制中: • 算法为移位 • 密钥为移位的个数( 上例中key=3)

  20. § 1.5加密技术概述-古典密码体制 • 解密 解密过程为将字母回移3位(并尽量判断如何还原空格) gaulisdividedthreeparts gaul is divided three parts

  21. § 1.5加密技术概述-古典密码体制 • 攻击 最一般的情况是仅知道密文(ciphertext only)攻击: 此时最好的策略就是穷尽搜索: 即从k=1开始解密,直到k=25,然后分析移位后的结果,判断可能的明文.

  22. § 1.5加密技术概述-古典密码体制 例1. 已知采用移位加密方式得到了KDDKMU • kddkmu • leelnv • mffmow • nggnpx • ohhoqy • piiprz • qjjqsa • rkkrtb • sllsuc • tmmtvd • unnuwe • voovxf • wppwyg • xqqxzh • yrryai • zsszbj • attack • buubdl • cvvcem • dwwdfn • exxego • fyyfhp • gzzgiq • haahjr • ibbiks • jccjlt 回移2位 回移1位 经分析明文应是attack Key=10

  23. § 1.5加密技术概述-古典密码体制 例2. 已知采用移位加密方式得到了 YCVEJQWVHQTDTWVWU 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. § 1.5加密技术概述-古典密码体制 例2. 已知采用移位加密方式得到了 YCVEJQWVHQTDTWVWU 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 Watch out for brutus watchoutforbrutus

  25. § 1.5加密技术概述-古典密码体制 思考题 下列密文为移位密码的输出结果,试解密成明文 LCLLEWLJAZLNNZMVYIYLHRMHZA

  26. #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. //移位算法,移位算法的密钥空间为,1,...25 void 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. 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. 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. 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. § 1.5加密技术概述-古典密码体制 • 代替密码(替换密码体制)(substitution) • 替换密码是最流行的密码体制之一.它的原理很简单:对字母表中的每个字母用其它(也可能是相同的字母代替),更准确的说,就是用置换字母表来代替明文中的字母. • 一般来说移位密码可以看成是替换密体制的特列.

  32. § 1.5加密技术概述-古典密码体制 • Playfair和ADFGX密码(代替密码体制,替换密码体制 在第一次世界大战中,英国人和德国人分别使用了playfair和ADFGX密码. Playfair是由Charles Wheatston在1854年发明的. • 加密 该算法的密钥是一个英文词,例如playfair,将重复的字母去掉,则得到playfir,将其排列成5×5的矩阵的起始部分,矩阵的其余部分则用剩下的字母来填充(i,j 看作一个字母)

  33. § 1.5加密技术概述-古典密码体制 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 红色部分为密钥 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. § 1.5加密技术概述-古典密码体制 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 • 解密 EG MN FQ QM KN BK SV VR GQ XN KU me et at th es ch ox ol ho us ex –第二个x删除 Meetattheschoolhouse 判断空格的加入点 Meet at the schoolhouse • 攻击:采用频率分析法分析密钥(构成矩阵的单词)

  35. § 1.5加密技术概述-古典密码体制 • 置换密码(Permutation) 不改变明文中字母,而通过改变明文中字母的位置来实现对明文的加密.

  36. § 1.5加密技术概述-古典密码体制 • Enigma(替换密码机制) 轮转机加密设备是1920年发明的,最著明的设计是德国的Enigma(亚瑟·谢尔比乌斯 ,Arthur Scherbius 发明),它是第二次世界大战中德国使用的最著明的机器之一. 具说它非常安全,但英国人在二战期间破译了该设备.

  37. § 1.5加密技术概述-古典密码体制 1918年,德国发明家亚瑟·谢尔比乌斯(Arthur Scherbius)和他的朋友理查德·里特(Richard Ritter)创办了谢尔比乌斯和里特公司。这是一家专营把新技术转化为应用方面的企业,很象现在的高新技术公司,利润不小,可是风险也很大。谢尔比乌斯负责研究和开发方面,紧追当时的新潮流。他曾在汉诺威和慕尼黑研究过电气应用,他的一个想法就是要用二十世纪的电气技术来取代那种过时的铅笔加纸的加密方法。

  38. § 1.5加密技术概述-古典密码体制 键盘 显示器 接线板

  39. § 1.5加密技术概述-古典密码体制 照片左方是一个完整的转子,右方是转子的分解, 我们可以看到安装在转子中的电线

  40. § 1.5加密技术概述-古典密码体制 一个完整转子的两个侧面的视图

  41. § 1.5加密技术概述-古典密码体制 实际机器中有26个触点,此处为简化仅给出6个

  42. 每键入一个字母 轮子转动1/26圏 此处为1/6)

  43. § 1.5加密技术概述-古典密码体制 当第一轮子转动一圈, 机器将带动第2个轮子转动1/26圏(依次类推)

  44. 在三个轮子的后面还有一个反射器, 用于实现解码在三个轮子的后面还有一个反射器, 用于实现解码

  45. Enigma 中的反射器

  46. Enigma 的内部结构

  47. § 1.5加密技术概述-古典密码体制 只要设备的被始设置相同,则输入明文字母可输出密文字母,而输入的是密文字母时,输出的则为明文字母. 破译的难度: 3个转动子每个有26种初值,则共有263=17576种可能 性,3个转动子有6种可能的排列方式,那么转子就有6×17576=105456种可能

  48. § 1.5加密技术概述-古典密码体制 • 在线路版上又有6种字母交换的方式,因此共有632736种可能的初始值. 接线板

  49. § 1.5加密技术概述-古典密码体制 • 于是转子的初始方向决定了整个密文的加密方式。如果通讯当中有敌人监听,他会收到完整的密文,但是由于不知道三个转子的初始方向,他就不得不通过一个一个地试验来找到这个密匙。 • 问题在于632736个初始方向这个数目并不是太大。如果试图破译密文的人把转子调整到某一方向,然后键入密文开始的一段,看看输出是否象是有意义的信息。如果不象,那就再试转子的下一个初始方向……如果试一个方向大约要一分钟,而且二十四小时日夜工作,那么在大约72星期里就可以找遍转子所有可能的初始方向。 • 英国人发明了解密机“炸弹”,解密每天的密钥需要2小时. 密文 : KEGSA CJOJP MVRVD HNJGX SQORC CSQW 明文: ???

  50. 上机练习 用Java语言写一个可破解P25页的移位密码的小程序,要求数据从“文件”中输入,结果也要写到“文件中”. • 可参照p26,p27 页中的C语言程序来完成。 • 下课前将对该题目进行讲解。

More Related