转位式密码与替换式密码
- 格式:doc
- 大小:194.00 KB
- 文档页数:11
1、密码体制分类及典型算法描述密码体制分为三类:1、换位与代替密码体质2、序列与分组密码体制3、对称与非对称密钥密码体制。
典型算法描述:2、试对代替密码和换位密码进行安全性分析。
1.单表代替的优缺点优点: 明文字符的形态一般将面目全非缺点: (A) 明文的位置不变; (B) 明文字符相同,则密文字符也相同; 从而导致:(I) 若明文字符e被加密成密文字符a,则明文中e的出现次数就是密文中字符a的出现次数; (II) 明文的跟随关系反映在密文之中. 因此,明文字符的统计规律就完全暴露在密文字符的统计规律之中.形态变但位置不变 2. 多表代替的优缺点优点: 只要(1) 多表设计合理,即每行中元互不相同,每列中元互不相同.(这样的表称为拉丁方表) (2) 密钥序列是随机序列即具有等概性和独立性。
这个多表代替就是完全保密的。
等概性:各位置的字符取可能字符的概率相同独立性在其它所有字符都知道时也判断不出未知的字符取哪个的概率更大。
2. 多表代替的优缺点密钥序列是随机序列意味着1密钥序列不能周期重复2密钥序列必须与明文序列等长3这些序列必须在通信前分配完毕4大量通信时不实用5分配密钥和存储密钥时安全隐患大。
缺点周期较短时可以实现唯密文攻击。
换位密码的优缺点优点: 明文字符的位置发生变化;缺点: (A) 明文字符的形态不变;从而导致: (I) 密文字符e的出现频次也是明文字符e的出现次数; 有时直接可破! (如密文字母全相同) 换位密码优缺点总结:位置变但形态不变. 代替密码优缺点总结: 形态变但位置不变3、ADFGX密码解密过程分析1918年第一次世界大战已经接近尾声。
为了挽回日趋不利的局面德军集中了500万人的兵力向协约国发动了猛烈的连续进攻。
采用一种新密码ADFGX密码体制。
该密码用手工加解密费时不多符合战地密码的基本要求。
进行了两次加密有两个密钥一个是代替密钥棋盘密钥一个是换位密钥。
其结果是把前面代替加密形成的代表同一明文字符的两个字母分散开破坏密文的统计规律性。
背景了解替代是古典密码中用到的最基本的处理技巧之一。
替代密码是指先建立一个替换表,加密时将需要加密的明文依次通过查表,替换为相应的字符,明文字符被逐个替换后,生成无任何意义的字符串,即密文,替代密码的密钥就是其替换表。
根据密码算法加解密时使用替换表多少的不同,替代密码又可分为单表替代密码和多表替代密码。
单表替代密码的密码算法加解密时使用一个固定的替换表。
单表替代密码又可分为一般单表替代密码、移位密码、仿射密码、密钥短语密码。
多表替代密码的密码算法加解密时使用多个替换表。
多表替代密码有弗吉尼亚密码、希尔(Hill)密码、一次一密钥密码、Playfair密码。
多表替代密码单表替代密码表现出明文中单字母出现的频率分布与密文中相同,多表替代密码使用从明文字母到密文字母的多个映射来隐藏单字母出现的频率分布,每个映射是简单替代密码中的一对一映射多表替代密码将明文字母划分为长度相同的消息单元,称为明文分组,对明文成组地进行替代,同一个字母有不同的密文,改变了单表替代密码中密文的唯一性,使密码分析更加困难。
多表替代密码的特点是使用了两个或两个以上的替代表。
著名的维吉尼亚密码和Hill 密码等均是多表替代密码。
⒈维吉尼亚密码维吉尼亚密码是最古老而且最著名的多表替代密码体制之一,与位移密码体制相似,但维吉尼亚密码的密钥是动态周期变化的。
该密码体制有一个参数n。
在加解密时,同样把英文字母映射为0-25的数字再进行运算,并按n个字母一组进行变换。
明文空间、密文空间及密钥空间都是长度为n的英文字母串的集合,因此可表示加密变换定义如下:设密钥k=(k1,k2,…,kn), 明文m=(m1,m2,…,mn), 加密变换为:Ek(m)=(c1,c2,…,cn),其中ci(mi + ki)(mod26),i =1,2,…,n对密文c=(c1,c2,…,cn), 解密变换为:Dk(c)=(m1,m2,…,mn), 其中 mi=(ci -ki)(mod26),i =1,2,…,n⒉希尔(Hill)密码Hill密码算法的基本思想是将n个明文字母通过线性变换,将它们转换为n个密文字母。
Intelligent Information Security密码技术1,密码学简介置换密码3. 古典密码--置换密码1)最简单的置换密码是把明文中的字母顺序倒过来,然后将其截成固定长度的字母组作为密文。
3. (3.(n把明文按n密钥3. (3.(n把明文按3. (3.((无3.特殊n已知:明文:MING CHEN WU DIAN FA DONG FAN GONG密钥:n置换密码的最是 3. 作n1,已知作n 2,顺序颠倒八百里分麾下炙,n回文诗矩阵(十六字方阵回文诗[四言]·龙苍分析n营连角吹回梦剑看灯挑里醉醉灯梦角里看回连挑剑吹营结n文字隐意最n一价值最大的地方银票n月对暗号:谨防假票冒取,勿忘细视书章。
nn平遥古城日升昌票号博物馆务室陈列的密押n“国宝流通”四个字分“万、千、百、十”四个数字单位。
27置换密码中断换位----法国读预定的对角线,再读各列,忽略已读字母明文:This is a weak cipher it was broken密文:haieaito sk eeb ick twhs sw pan irr双重n式置换密码n美国南置换密码----单词换位n We will attack at down with the first division on the right and the second division on the left Surprise is置换密码n1,3×n明文:this is a testn密文:tiehsstsiat35Rail-fence4×7的三角排列明文:You must do that now 密文:tuhosayuttmdnoow旋明文及说明37dimensions 8x842n43置换密码Rail Fence矩阵列换位的分析可能性正确性,矩阵的列位置还原矩阵列换位的分析n举例469 17×493 Array双重。
实验一古典密码—单表代换【实验目的】理解代换密码的基本思想理解移位密码、仿射密码等算法的原理掌握上述各个算法的输入输出格式和密钥格式掌握上述各个算法的加解密过程和实现方法【实验原理】代换密码体制的一般定义为M=C=K=Z26,其中M为明文空间、C为密文空间、K为密钥空间、Z26为26个整数(对应26个英文字母)组成的空间;要求26个字母与模26的剩余类集合{0,1,2,…,25}建立一一对应的关系。
一、移位密码移位密码的加密实现上就是将26个英文字母向后循环移动k位,其加解密可分别表示为:c=E k(m)=m+k(mod 26)m=D k(c)=c-k(mod 26)其中,m、c、k是满足0≤m,c,k≤25的整数。
二、乘法密码乘法密码是通过对字母等间隔抽取以获得密文,其加解密可分别表示如下:-1c=mk(mod 26)m=ck(mod26)其中,m、c、k是满足0≤m,c,k≤25,且gcd(k,26)=1的整数。
三、仿射密码仿射密码的加密是一个线性变换,将移位密码和乘法密码相结合,其加解密可分别表示为:C=E a,b(m)=am+b(mod 26)M=D a,b(C)=a-1(c-b)(mod 26)其中:a、b是密钥,是满足0≤a,b≤25和gcd(a,26)=1的整数,即a和26互素;a-1的逆元,即a•a-1≡1 mod 2【实验环境】ISES客户端Microsoft CLR Debugger 2005或其它调试器【实验内容】通过运算器工具实现移位密码、乘法密码、仿射密码对各个算法的加解密进行扩展实验和算法跟踪【实验步骤】此处以移位密码为例说明,乘法密码、仿射密码可参照完成。
一、加解密计算(一) 加密(1) 参照实验原理,在明文栏输入所要加密的明文,在密钥栏输入相应的密钥,如下图1.1-2所示。
图 1.1-2(2) 点击“加密”按钮,在密文文本框内就会出现加密后的密文,如图1.1-3所示。
转位式密码与替换式密码第一节转位式密码转位式密码就是将明文做移位和重排加密,借由重新安排字母的顺序来隐藏信息,是一种比较简单的加密方式。
单纯的转位式密码很容易被破解,因为频率分布与原始文字一样,所以这种加密方式很不安全。
第二节栅栏密码所谓栅栏密码,就是把要加密的明文分成N个一组,然后把每组的第1个字连起来,形成一段无规律的话。
不过栅栏密码本身有一个潜规则,就是组成栅栏的字母一般不会太多(一般不超过30个,也就是一、两句话)。
例如加密information,先将其分行:i f r a i nn o m t o之后再合并:ifrainnomto这样就得到了密文ifrainnomto解密的时候,我们先把密文从中间分开,变为两行:i f r a i nn o m t o再按上下上下的顺序组合起来得到information。
若是英文长句再分出空格即可。
有些栅栏密码并非只有2栏,这时需先观察字母数,如有30个字母,30可写成2×3×5、3×10、2×15的乘积,则可以依次尝试2栏、3栏、5栏……即可找出明文。
第三节列置换加密法列置换加密法是一种比较复杂的加密方法,它是在行数固定的情况下,将明文一列一列地写成矩阵的结构,然后再一列一列写出之前,根据某种密钥将其重新排序。
例如:密钥:4 3 1 2 5 6 7明文:a t t a c k po s t p o n ed u n t i l tw o a m x y z密文:TTNAAPTMTSUOAODWCOIXKNLYPETZ第四节替换式密码替换式密码,又名取代加密法,是密码学中按规律把文字加密的一种方式。
替换式密码中可以用不同的字母数为单元,例如每一个或两个字母为一单元。
密文接收者解密时需用原加密方式解码才能获得原文本。
由于英语中替换式密码会把26个字母拆开,使用替换式密码较为容易;相反,中文需要建立密码本,然后遂字替换。
第1篇一、实验目的1. 理解置换密码算法的基本原理和特点。
2. 掌握置换密码算法的实现方法。
3. 通过编程实践,加深对置换密码算法的理解。
二、实验原理置换密码算法是一种通过对明文进行字符或位顺序的重新排列来实现加密的算法。
其基本原理是将明文中的字符或位按照一定的规则重新排列,形成密文。
解密时,按照相同的规则将密文恢复为明文。
常见的置换密码算法有:1. 旋转密码(Caesar密码):将明文中的每个字符按照密钥k向右或向左旋转k 个位置。
2. 列置换密码:将明文矩阵中的列按照密钥顺序进行置换。
3. 矩阵换位密码:将明文矩阵中的字符按照密钥顺序进行置换。
三、实验环境1. 操作系统:Windows 102. 编程语言:Python3.8.03. 开发环境:PyCharm四、实验步骤1. 旋转密码实现(1)定义密钥k,表示旋转的位数。
(2)定义明文字符串,将每个字符按照密钥k向右或向左旋转k个位置。
(3)输出密文。
2. 列置换密码实现(1)定义密钥,表示列的置换顺序。
(2)将明文矩阵中的列按照密钥顺序进行置换。
(3)输出密文。
3. 矩阵换位密码实现(1)定义密钥,表示矩阵的置换顺序。
(2)将明文矩阵中的字符按照密钥顺序进行置换。
(3)输出密文。
五、实验结果与分析1. 旋转密码实验结果明文:Hello, World!密钥:3密文:Khoor, Zruog分析:旋转密码将明文中的每个字符向右旋转3个位置,实现了加密。
2. 列置换密码实验结果明文:Hello, World!密钥:[2, 0, 3, 1]密文:oHlel, Wrold!分析:列置换密码将明文矩阵中的列按照密钥顺序进行置换,实现了加密。
3. 矩阵换位密码实验结果明文:Hello, World!密钥:[2, 0, 3, 1]密文:oHlel, Wrold!分析:矩阵换位密码与列置换密码类似,将明文矩阵中的字符按照密钥顺序进行置换,实现了加密。
六、实验总结通过本次实验,我们对置换密码算法有了更深入的了解。
转位式密码与替换式密码第一节转位式密码转位式密码就是将明文做移位和重排加密,借由重新安排字母的顺序来隐藏信息,是一种比较简单的加密方式。
单纯的转位式密码很容易被破解,因为频率分布与原始文字一样,所以这种加密方式很不安全。
第二节栅栏密码所谓栅栏密码,就是把要加密的明文分成N个一组,然后把每组的第1个字连起来,形成一段无规律的话。
不过栅栏密码本身有一个潜规则,就是组成栅栏的字母一般不会太多(一般不超过30个,也就是一、两句话)。
例如加密information,先将其分行:i f r a i nn o m t o之后再合并:ifrainnomto这样就得到了密文ifrainnomto解密的时候,我们先把密文从中间分开,变为两行:i f r a i nn o m t o再按上下上下的顺序组合起来得到information。
若是英文长句再分出空格即可。
有些栅栏密码并非只有2栏,这时需先观察字母数,如有30个字母,30可写成2×3×5、3×10、2×15的乘积,则可以依次尝试2栏、3栏、5栏……即可找出明文。
第三节列置换加密法列置换加密法是一种比较复杂的加密方法,它是在行数固定的情况下,将明文一列一列地写成矩阵的结构,然后再一列一列写出之前,根据某种密钥将其重新排序。
例如:密钥:4 3 1 2 5 6 7明文:a t t a c k po s t p o n ed u n t i l tw o a m x y z密文:TTNAAPTMTSUOAODWCOIXKNLYPETZ第四节替换式密码替换式密码,又名取代加密法,是密码学中按规律把文字加密的一种方式。
替换式密码中可以用不同的字母数为单元,例如每一个或两个字母为一单元。
密文接收者解密时需用原加密方式解码才能获得原文本。
由于英语中替换式密码会把26个字母拆开,使用替换式密码较为容易;相反,中文需要建立密码本,然后遂字替换。
然而由于中文字极多,完全替换不合经济效益。
而且中文中每个字由不同大小的字根来组字,较难转换,因此使用替换式密码的示例比较少。
当以替换式密码与转位式密码相比较时,会发现转位式密码只是把明文中的单元的位置改变,而单元本身没有作出改变;相反,替换式密码只是把单元转换,但密文中单元的位置没有改变。
替换式密码亦有许多不同类型。
如果每一个字母为一单元(或称元素)进行加密操作,就可以称之为“简易替换密码”(英语:simplesubstitution cipher)或“单表加密”(英语:monoalphabeticcipher)又称为单字母替换加密;字母群体为单元的加密则称为“多表加密”(英语:polyalphabeticcipher)或“表格式加密”(英语:polygraphic)。
单表加密只可在一个单元中使用同一种替换加密,而多表加密则可在一个单元使用不同的加密方式,明文单元映射到密文上可以有好几种可能性,反之亦然。
第五节凯撒密码将替换密码用于军事用途的第一个文件记载是恺撒著的《高卢战记》。
恺撒描述了他如何将密信送到正处在被围困、濒临投降的西塞罗。
其中罗马字母被替换成希腊字母使得敌人根本无法看懂信息。
苏托尼厄斯在公元二世纪写的《恺撒传》中对恺撒用过的其中一种替换密码作了详细的描写。
恺撒只是简单地把信息中的每一个字母用字母表中的该字母后的第三个字母代替。
这种密码替换通常叫做恺撒移位密码,或简单的说,恺撒密码。
尽管苏托尼厄斯仅提到三个位置的恺撒移位,但显然从1到25个位置的移位我们都可以使用,因此,为了使密码有更高的安全性,单字母替换密码就出现了。
如:明码表A B C D E F G H I J K L M N O P Q R S T U V W X Y Z密码表Q W E R T Y U I O P A S D F G H J K L Z X C V B N M明文F O R E S T密文Y G K T L Z只需重排密码表二十六个字母的顺序,允许密码表是明码表的任意一种重排,密钥就会增加到四千亿亿亿多种,我们就有超过4×1027种密码表,破解就变得很困难。
但是,我们可以通过分析字母频度的差异暴力破解凯撒密码等单字母替换密码。
9世纪的科学家阿尔•金迪在《关于破译加密信息的手稿》对该技术做了最早的描述。
“如果我们知道一条加密信息所使用的语言,那么破译这条加密信息的方法就是找出同样的语言写的一篇其他文章,大约一页纸长,然后我们计算其中每个字母的出现频率。
我们将频率最高的字母标为1号,频率排第2的标为2号,第三标为3号,依次类推,直到数完样品文章中所有字母。
然后我们观察需要破译的密文,同样分类出所有的字母,找出频率最高的字母,并全部用样本文章中最高频率的字母替换。
第二高频的字母用样本中2号代替,第三则用3号替换,直到密文中所有字母均已被样本中的字母替换。
”以英文为例,首先我们以一篇或几篇一定长度的普通文章,建立字母表中每个字母的频度表。
例如下文:UZQSOVUOHXMOPVGPOZPEVSGZWSZOPFPESXUDBMETSXAIZVUEPHZHMDZSHZOWSFPAPPDTSVPQUZWYMXUZUHSXEPYEPOPDZSZUFPOMBZWPFUPZHMDJUDTMOHMQ统计该文中每个字母出现的频率。
图2-1 文中每个字母出现的频率将其对照通常情况下每个字母出现的频率即可破解。
图2-2 英文字母出现频率统计经由两章表的对照,猜测P与Z就是e与t,猜测ZW就是th,而ZWP就是the,以此类推,边试边该,最后可得明文如下:it was disclosed yesterday that several informalbut direct contacts have been made with politicalrepresentatives of the viet cong in moscow虽然设密者后来针对频率分析技术对以前的设密方法做了些改进,比如说引进空符号等,目的是为了打破正常的字母出现频率。
但是小的改进已经无法掩盖单字母替换法的巨大缺陷了。
到16世纪,最好的密码破译师已经能够破译当时大多数的加密信息。
第六节维吉尼亚密码人们在单一恺撒密码的基础上扩展出多表密码,称为“维吉尼亚”密码。
它是由16世纪法国亨利三世王朝的布莱瑟•维吉尼亚发明的。
其特点是将26个恺撒密表合成一个,见下表:A B C D E F G H I J K L M N O P Q R S T U V W X Y ZA -ABCDEFGHIJKLMNOPQRSTUVWXY ZB -BCDEFGHIJKLMNOPQRSTUVWXYZ AC-C D E F G H I J K L M N O P Q R S T U V W X Y Z A BD- D E F G H I J K L M N O P Q R S T U V W X Y Z A B CE- E F G H I J K L M N O P Q R S T U V W X Y Z A B C DF- F G H I J K L M N O P Q R S T U V W X Y Z A B C D EG- G H I J K L M N O P Q R S T U V W X Y Z A B C D E FH- H I J K L M N O P Q R S T U V W X Y Z A B C D E F GI- I J K L M N O P Q R S T U V W X Y Z A B C D E F G HJ- J K L M N O P Q R S T U V W X Y Z A B C D E F G H IK- K L M N O P Q R S T U V W X Y Z A B C D E F G H I JL -L M N O P Q R S T U V W X Y Z A B C D E F G H I J KM- M N O P Q R S T U V W X Y Z A B C D E F G H I J K LN- N O P Q R S T U V W X Y Z A B C D E F G H I J K L MO- O P Q R S T U V W X Y Z A B C D E F G H I J K L M NP- P Q R S T U V W X Y Z A B C D E F G H I J K L M N OQ- Q R S T U V W X Y Z A B C D E F G H I J K L M N O PR- R S T U V W X Y Z A B C D E F G H I J K L M N O P QS- S T U V W X Y Z A B C D E F G H I J K L M N O P Q RT- T U V W X Y Z A B C D E F G H I J K L M N O P Q R SU- U V W X Y Z A B C D E F G H I J K L M N O P Q R S TV- V W X Y Z A B C D E F G H I J K L M N O P Q R S T UW- W X Y Z A B C D E F G H I J K L M N O P Q R S T U VX- X Y Z A B C D E F G H I J K L M N O P Q R S T U V WY- Y Z A B C D E F G H I J K L M N O P Q R S T U V W XZ- Z A B C D E F G H I J K L M N O P Q R S T U V W X Y维吉尼亚密码引入了“密钥”的概念,即根据密钥来决定用哪一行的密表来进行替换,以此来对抗字频统计。
维吉尼亚密码的密钥空间大小为26m,所以即使m的值很小,使用穷尽密钥搜索方法也需要很长的时间。
例如,当m=5时,密钥空间大小超过1.1*107,这样的密钥量已经超出了使用手算进行穷尽搜索的能力范围。
假如以上面第一行代表明文字母,左面第一列代表密钥字母,对如下明文加密:TO BE OR NOT TO BE THAT IS THE QUESTION当选定RELATIONS作为密钥时,加密过程是:明文一个字母为T,第一个密钥字母为R,因此可以找到在R行中代替T的为K,依此类推,得出对应关系如下:密钥:RELAT IONSR ELATI ONSRE LATIO NSREL明文:TOBEO RNOTT OBETH ATIST HEQUE STION密文:KSMEH ZBBLK SMEMP OGAJX SEJCS FLZSY历史上以维吉尼亚密表为基础又演变出很多种加密方法,其基本元素无非是密表与密钥,并一直沿用到二战以后的初级电子密码机上。