古典密码体制资料
实验二 古典密码
实验2 古典密码1.实验目的(1)了解古典密码中的基本加密运算。
(2)了解几种典型的古典密码体制。
(3)掌握古典密码的统计分析方法。
2.实验内容(1)古典密码体制①简单移位加密(单表代换)该加密方法中,加密时将明文中的每个字母向前推移K位。
经典恺撒密码加密变换就是这种变换,取k=3。
步骤1:打开CAP4软件,并加载实验一附带的“mw.txt”,如图2-1所示。
图2-1加载文件步骤2:采用恺撒加密方法手工加密“mw.txt”;打开CAP4菜单栏“Cipher”菜单项选择“simple shift”选项,并选择移位值“shift value”为3,加密步骤1中加载的文件,如图2-2所示。
图2-2 参数设置图2-3加密文件步骤3:比较二者的加密结果是否相同。
步骤4:点击CAP4软件中的“Simple analysis”下的“shift”键,观察恺撒加密法的可能密钥值,并分析其攻击的难度,如图2-4所示。
图2-4密钥分析②仿射密码加密(单表代换)在仿射密码加密(affine cipher)中,字母表中的字母被赋予一个数字,例如,a=0,b=1,c=2,…,z=25.仿射密码加密法的密钥为0~25之间的数字对(a,b)。
a与26的最大公约数必须为1,这就是说能整除a和26的数只有1.现在假设m为明文字母的数字,而c为密文字母的数字,那么,这两个数字之间有如下关系: c=(am+b)(mod 26)m=a-1(c-b)(mod 26)其中,(mod 26)的操作是:除以26,得其余数。
例如,选取密钥为(7,3)。
因为7与26互素,也就是只有公约数1,所以(7,3)可以作为仿射密码的加密钥。
将“hot”转换成数字7、14、19,利用仿射等式生成: c(H)=(7×7+3) mod 26=52 mod 26=0,即为字母“a“。
c(O)=(7×14+3) mod 26=101 mod 26=23,即为字母“x“.c(T)=(7×19+3) mod 26=136 mod 26=6,即为字母”g”. 这样,对于这个密钥,”hot”变成了“axg“.CAP4软件中实现仿射密码加密:步骤1:在CAP4软件中加载要加密地的明文“mw.txt“.步骤2:选取Cipher菜单下的Affine Cipher菜单项,弹出如下对话框,如图2-5所示。
密码学-第2章古典密码
问题:
置换和换位的定义、区别?
作业:
习题2.1、2.2、2.3、2.4、2.6
抽象代数
群:由一个非空集合和一个二元运算组成,并满 足封闭性、结合性、单位元、逆元的代数系统。
乘法群
环:一个集合,可以在其上进行加法和乘法运算 而封闭。
交换环:对于乘法运算可交换
域:非零元都有乘法逆的交换环。
设明文m = (m1, m2, …, mn) ∈Z26n,密文c= (c1, c2, …, cn) ∈ Z26n ,密钥为Z26上的的n×n阶可逆 方阵K = (kij) n×n ,则 c = mK mod 26, m = cK-1 mod 26。
例2.4 设n=2,密钥为 11 8 7 18 -1 K= ,容易计算 K = 3 7 23 11 设明文为Hill, 则相应的明文向量为(7,8)和( 11,11)。于是,相应的密文向量 分别为 11 (7,8) 3 11 ( 11,11) 3 8 77 24, 56 56 )=(23,8), =( 7 8 121 33, 88 77 )=(24, 9 ), =( 7
表2.4称为Vigenere方阵(书P12)。当用密钥字 母ki对明文字母mi进行加密时,Vigenere方阵中 的第ki行第mi列的字母就是相应的密文字母。
例2.2
设明文为 This cryptosystem is not secure, 密钥为cipher, 则密文为:
VPXZGI AXIVWP UBTTMJ PWIZIT WZT。
有限域(伽罗瓦域):GF(2)
第2章 古典密码
主要内容
古典密码中的基本加密运算 几种典型的古典密码体制 古典密码的统计分析
古典密码体制
变换后得到的新数字:
21
9-3-23-14 11-21 6-11-24-11-6-7-6 11-16-22-17 22-10-20-7-7 18-3-20-22-
按照上表,这些数字和下面的密文是对应的!
密文:JDXO LV GLYLGHG LQWR WKUHH SDUWV
★古典密码概述★
古典密码编码技术分类 代替:利用预先设计的代替规则,对明文逐字符或逐
字符组进行代替,分为单表代替和多表代替两种
换位:对各字符或字符组进行位置移动
加减:将明文逐符或逐字符组与乱数相加或相减 古典密码分析技术——频率分析+语言知识
★密码学概论★第4-7讲:古典密码体制★
★古典密码概述★
★移位代替密码★
通过一个例子说明什么是移位代替密码:
Alice要将明文“gaul is divided into three parts”加密成密文,传给Bob。
第一步:选定密码体制并协商密匙
Alice与Bob决定采用移位代替密码来加密他们 的消息。并协商编码方式为明文字母后移3位, 即加密密钥及解密密钥同为k=3。
★密码学概论★第4-7讲:古典密码体制★
★移位代替密码★
模运算举例:
101(mod 7) 因为101=7×14+3,且0≤3<7, 所以有101≡3(mod 7),读作“101与3模7同余”; 或者有101 mod 7=3,读作“a经过模m运算, 结果为b”。
★密码学概论★第4-7讲:古典密码体制★
★移位代替密码★
第四步:Bob收到消息,使用密钥进行解密 密文:JDXO LV GLYLGHG LQWR WKUHH SDUWV
密码技术专题(二)——古典密码体制
密码技术专题(二)—古典密码体制∙1、密码体制的概念o明文信源o密文o密钥与加密运算o密码体制∙2、古典密码体制的发展o古典加密方法o代替密码o换位密码o转轮密码∙3、几种典型的古典密码体制o CAESAR体制o双字的Playfair体制o维吉尼亚体制o Hill体制我们已经知道,一个密码体制由明文信源、密文、密钥与加密运算这四个基本要素构成,下面我们将进一步给出它们的数学模型。
1、明文信源直观地讲,明文信源就是明文字母表或者明文字母。
比如所有的英文字母、全部的中文字符就是典型的明文字母表。
准确一点,明文信源还应当包含明文字母的概率分布。
如果用X表示明文字母表,则它的元素x∈X则就是明文字母。
在明文字母表中,不同的明文字母出现的频率往往是不同的,比如在26个英文字母中,一般来说字母“e”的频率最高;而在汉字中,可能是“的”字频率最高。
所以,一个明文信源记为S=[X,p(x)],其中X为明文字母表,p(x)为明文字母x∈X 出现的概率,而且p(x)满足如下条件:对任何x∈X,p(x)≥0,且∑p(x)=1。
2、密文密文由密文字母表Y和密文字母y∈Y组成,密文字母表一般是指密文可能使用的全部字母的集合,而y∈Y是它的元素。
密文字母表可以与明文字母表相同,也可以不同。
3、密钥与加密运算密钥用来从密码体制的一组加密运算中选择一个加密运算(或者称为加密步),密钥允许你按照以前制定的规则改变加密,比如每天,或每份报之后,或者每个字符之后。
通常,密钥的组织和编排须利于它们允许通过简单的规则产生单独的加密步。
加密方法的组合复杂度取决于在此方法下密钥的数量。
如果用K表示密钥空间,也就是选择加密步的参数集合,k∈K则称为一个密钥。
加密步就是明文字母表X到密文字母表Y的一个映射:E:X→Y,对每个x∈X。
由于加密步并不是单一的,而是一族运算,因此我们就可以记为Ek=Ek(x),其中x∈X,k∈K。
除特殊的编码方法外,如多名码或多音码,对于每个k∈K,Ek(x)都是X到Y的1-1映射。
应用密码学2-古典密码
cryp togr aphy XI BK GLT I ZKSB 这就是一种替代密码。
例:n长的英文字母串上的置换。(共有n!种) 将crptography的第一位字母和最后一个字母对调,
将第二位字母和导数第二位字母对调,依次类推, 产生一个置换。
Ee (m) (e(m1)e(m2 )) (c1c2 ) c 单表替代是用一个固定的置换 e。 对 c 解密时,计算,d e1
Dd (c) (d (c1)d (c2 )) (m1m2 ) m
恺撒密码就是单表替代密码,如果我们用数字 0,1,2,……24,25
分别表示字母A,B,C,……Y,Z,则密文字母
设 S 是一个有限集合,置换p 是从 S 到 S 的一 个双射。
如果p是(1,2, … ,n)到(1,2, … ,n)的一个置换,
则记为
p
1 p(1)
2 p(2)
n p(n)
例: S=(1,2,3,4,5), 一个置换 p:S-> S 定义为: p(1)=3, p(2)=5, P(3)=4, p(4)=2, p(5)=1,
可用明文字母 表示为: 3 (mod 26)
例如明文字母为Y,即 24 ,则
24 3 27 1 (mod 26)
因此密文为B。这里密钥就是3。
因为置换限制为移位,所以这类密码又称为移位密码。 (s就是用一系列的不同置换替代明文中的字母 。 也就是在不同字母位置使用不同的替换规则。 A是含有 q 个符号的字母表 M是 A 上的长度为 n 的所有符号串的集合 密钥空间 K 包含所有有序的 n 个置换( p1, p2, pn ) 的集合, 每个置换都定义在A上。
密码学第2章 古典密码体制
2. 古典密码举例
➢ 古典密码的主要技术手段:代换(Substitution)和置 换(Permutation),相应的密码系统称为代换密码和 置换密码。
➢ 代换密码又分为单字母代换密码和多字母代换密码。 ➢ 单字母代换密码又分为单表代换密码和多表代换密码。 ➢ 字母怎样进行加解密操作?
ABCDE FGH I J K L M 0 1 2 3 4 5 6 7 8 9 10 11 12
N O P Q R S T U VWX Y Z
13 14 15 16 17 18 19 20 21 22 23 24 25
2.1 移位密码(Shift Cipher)
➢ 模运算 定义 2.2:假设 a 和 b 均为整数, m 是一正整数。若 m 整 除 b a 则可将其表示为 a b(modm) 。式 a b(modm) 读 作“ a 与 b 模 m 同余”,正整数 m 称为模数。
密码体制 2.1:移位密码(加法密码)
令 26 。对 0 K 25,任意 x, y Z26 ,定义
以及
eK (x) (x K ) mod 26
dK ( y) ( y K ) mod 26
➢ 密码体制 2.1 给出了移位密码。因为英文有 26 个字母, 故其一般定义在 26 上。很容易验证移位密码满足前面所 定 义 的 密 码 体 制 的 条 件 , 对 任 意 的 x 26 , 有 d K (eK (x)) x 。
(ab)c a(Biblioteka c)9、 1 是乘法单位元:对任意的 a m ,有 a 1 1 a a 10、乘法和加法之间存在分配律:对任意的 a,b, c m ,
有 (a b)c (ac) (bc) , a(b c) (ab) (ac)
第1章_古典密码体制2
密码学起源
大约在4000年以前,在古埃及的尼罗河畔,一位擅 长书写者在贵族的基碑上书写铭文时有意用加以变 形的象形文字而不是普通的象形文字来写铭文,从 而揭开了有文字记载的密码史。这篇颇具神秘感的 碑文,已具备了密码的基本特征:把一种符号(明 文)用另一种符号(密文)代替
古典密码加密方法
代替密码; 置换密码; 代替密码和置换密码的结合。
一种早期的 希腊变换密码 一张纸条环绕在一个圆柱上 消息沿着圆柱横写 纸条上的字母看起来是一些随机字母 并不十分安全,密钥是纸条和圆柱的宽度
公元前1世纪古罗马凯撒大帝时代曾使用过 一种“替代式密码”,在这种密码中,每个 字母都由其后的第三个字母(按字母顺序) 所代替。这种替代式密码直到第二次大战时 还被日本海军使用。 公元前4世纪前后,希腊著名作家艾奈阿斯 在著作《城市防卫论》中就曾提到一种被称 为“艾奈阿斯绳结”的密码。它的作法是从 绳子的一端开始,每隔一段距离打一个绳结, 而绳结之间距离不等,不同的距离表达不同 的字母。
〈六韬.龙韬.阴书〉武王问太公曰:‘引兵深 入诸侯之地,主将欲合兵,行无穷之变,图不测 之利。其事繁多,符不能明;相去辽远,言语不 通。为之奈何?’太公曰:‘诸有阴事大虑,当 用书,不用符。主以书遗将,将以书问主。书皆 一合而再离,三发而一知。再离者,分书为三部; 三发而一知者,言三人,人操一分,相参而不知 情也。此谓阴书。敌虽圣智,莫之能识。’武王 曰:‘善哉。’
保密通信的功罪
1941年12月,日本取得了突袭珍珠港、摧毁美国 太平洋舰队主力的重大胜利,为了完全控制太平 洋,并设法诱出在珍珠港的美国舰队残部予以彻 底消灭,日本制定了于1942年6月突然攻击夏威 夷前哨中途岛的计划。
第3讲古典密码体制
6分组密码(Block Cipher)与流密码(Stream Cipher )
根据密钥流是否依赖明文流, 可将流密码分为两种: (1)同步流密码,就是生成的密 钥流独立于明文流; (2)自同步流密码,每个密钥字 符都从以前密文的固定n个字符 中导出。
2 移位密码(Shift Cipher)
模的同余性质 :
(6) 若a b ( mod m), c d ( mod m ),
则l,kZ(整数集合), 有la kc lb kd( mod m ) 且ac bd ( mod m )
2 移位密码(Shift Cipher)
(7)设f(x)与g(x)分别是两个整系 数多项式: f(x) = an x n+ an-1xn-1+…+ a g(x) = bn x n+ bn-1xn-1+…+ b
3.1 古典密码体制
1 基本概念 2 移位密码 3 维吉尼亚密码 4 置换密码 5 替代(代换)密码 6 分组密码与流密码
基本概念
密码学的最基本目的: 对通信或者存储的信息进行
某种编码变换使得非法者无法了 解通信或者存储的真正内容。
基本概念
一般模型都假定Alice和Bob 在一个不安全的信道上通信,而 Eve作为第三者(或密码分析者) 总是企图破译Alice和Bob之间的 通信内容。Alice发送给Bob的信 息,通常称为明文(Plaintext), 如英文单词、数字符号或数据。
对于移位密码(模26)的明显的 弱点就是密钥空间太小。因 | Z26| = 26,所以密钥仅有26种可能值, 用密钥穷搜索方法很容易破译。
04古典密码学的体制
i =1
来作为CI的估计值。其中L代表密文的长度, xi 文符号i出现的次数。
代表密
\Chi 测试 n χ = ∑pi qi pi ,qi 是符号i在第一个和第 其中 i=1
二个分布中出现的概率。 n \ χ = ∑pi qi 值的用途
R V K
A X E E A
D H W F Q
I K P W L
O I S A G
为还原密文到明文,用右列矩阵来表示 J 该矩阵的第一列R下的密文字母通过“减”R解 D 密,第二列通过“减”A解密等等。 第一列和第二列的密文是两个不同的移位 密码“加”R的结果。 R 密钥字中每个字母与第一个字母的相对距离 0 见右表(a,b,c,…, z; 0,1,…25) 对上述矩阵处理如下:把第二列字母提前9个 位置,第三列提前12位置,等等,可得
RUN
重合指数法(Coincidence Index)
\设一门语言由n个字母构成,每个字母发生
的概率为 pi 1 ≤ i ≤ n,则重合指数是指其中两个 n 随机字母相同的概率,记为 CI = ∑ pi2 。
i =1
比如,从26个英文字母中独立随机选两次得到两 个相同字母的概率(重合指数)是 CI=26X(1/26)^2=0.0385,但是根据表2.3中所 示的英文文章中实际的字母出现概率计算得到 的有意义英文字母的重合指数是CI=0.065。显 然这个重合指数相关较大,从而,有助于区分 随机字母串和有意见的文本串。
2.2.3 对Hill 密码的已知明文分析 例 2.9 明文 friday是用Hill 密码加密的,m=2,得到
密文POCFKU。 ) =(10 ,20 ) ) =(15 ,16 ) ek (8, 3) = (2, 5) , ek (0,24 则有 ek (5,17 , 。 从最初两个明文对,我们得到矩阵方程
密码学第2章 古典密码体制共73页
4、 0 是加法单位元:对任意的 a Zm ,有 a 0 0 a a 5、 任何元素存在加法逆元: a 的逆元为 m a ,因为
a (m a) (m a) a 0
6、 对乘法运算封闭:对任意的 a,b Zm ,有 ab Zm 7、 乘法运算满足交换律:对任意的 a,b Zm ,有 ab ba 8、 乘 法 运 算 满 足 结 合 律 : 对 任 意 的 a,b, c Zm , 有
e(x) (ax b) mod 26
a,b Z26 。因为这样的函数被称为仿射函数,所以也 将这样的密码体制称为仿射密码。 可以看出当 a 1 时其对应的正是移位密码。当 b 0 是 称为乘积密码。
为了能对密文进行解密,必须保证所选用的仿射函数 是一单射(可逆)函数。
即对任意 y Z26 ,同余方程 ax b y(mod26) 有唯一 解x。
(ab)c a(bc)
9、 1 是乘法单位元:对任意的 a Zm ,有 a 1 1 a a 10、乘法和加法之间存在分配律:对任意的 a,b, c Zm ,
有 (a b)c (ac) (bc) , a(b c) (ab) (ac)
性质 1,3-5,说明 Zm 关于其上定义的加法运算构成一 个群;若再加上性质 2,则构成一个交换群(阿贝尔群)。
按照上表应有 e (a) X , e (b) N ,等等。
解密函数是相应的逆置换。由下表给出:
A B CD E F GH I J KLM d l r y v o h e z xwp t
N O P Q R S T U VWX Y Z b g f j q nmu s k a c i
古典密码学汇总.
de f g h I j k l mn o p q rs tu v w x y zAb c
Attack at dawn
Dwwdfn dw gdzq
2
Attack at dawnt
Dwwdfn dw gdzqt
• • • •
二 古典密码体制
•古典密码是基于字符替换的密码 •加密技术的两个基本构造模块是替代和置换, 下面介绍的 Caesar (恺撒)密码、 Vigenere (维吉尼尔)密码、 Hill 密码、转轮机都属 于使用替代技术的加密技术。
1
二 古典密码体制-恺撒密码
• 基本原理
– 在开拓罗马帝国的时候,恺撒担心信使会阅读他送给 士兵的命令,因此发明了对命令进行加密的算法-- 恺撒密码器。 – 恺撒密码器非常简单:把字母表中的每个字母向前循 环移动3位。
(2)若分组到最后一组时只有一个字母,则补充字母k; (3)若明文字母在矩阵中同行,则循环取其右边字母为密文 (如ar被加密为RM); (4)若明文字母在矩阵中同列,则循环取其下边字母为密文 (如um被加密为MC); (5)若明文字母在矩阵中不同行不同列,则取其同行且与下一字母 同列的字母为密文(如hs被加密为BP,ea被加密为IM或JM)。 7
加密信息将字母向前移动三位 解密信息将字母向后移动三位 移动的位数是关键,称之为密钥 加密和解密的密钥是相同的,我们称之 为对称密码器
3
二 古典密码体制-恺撒密码
•数学表达 •为每个字母分配一个数值(如a=0、b=1等), 对每个明文字母 p,用密文字母 C 代替,则恺 撒密码的加密算法可表示为: •C=E(p)=(p+3) mod 26 •而解密算法则可表示为 •p=D(C)=(C-3) mod 26
古典密码体制
为k=k1k2...kn,明文 M=m1m2...mn,则加密变换为Ek(m1m2...mn)=(m1+k1 mod
26,m2+k2 mod 26,....mn+kn mod 26)。
其他替代密码
一般单表替代密码:通过建立一张“明文-密文”对照表来实现加密。一般单表替 代密码首先要建立一张字母替换表。 仿射密码:属于单表替代密码的一种,是一种线性变换。 密钥短语密码:选用一个英文短语或单词作为密钥,先去掉其中重复的字母得到
一个无重复字母的字符串,然后再将英文字母表中腊的斯巴达人使用一种叫作scytale的棍子来传递信息。 ② 棋盘密码:是将26个英文字母写在5X5的表格中每个字母对应的密文由行号和列号对应的数字组成。
移位密码(凯撒密码)
函数表达式: 加密变换:Ek(m)=m+k(mod26)(m∈M,k∈K);
解密变换:Dc(c)=c-k(mod26)(c∈C,k∈K)。
例题: 设明文为killthem,密钥为gun试用维吉尼亚密码对明文进行加密 解:明文对应的数字为:10 8 11 11 19 7 4 12 密钥对应的数字为:6 20 13 6 20 13 6 20 相加取余数变换后:16 2 24 17 13 20 10 6 对应的密文是: h c y r n v w g
后,就可以构造出一个字母替代表。 希尔密码:是一种特殊的多表替代密码。利用矩阵变换来对信息实现加密。
置换密码
置换密码: 是指变换明文中各元素的相对位
置(即对各元素进行换位),但保持其内容
密码学第2章 古典密码体制
密码体制 2.2: 代换密码
令 P C Z26 。 K 由 26 个数字 0,1,…,25 的所有
可能置换组成。对任意的置换 K ,定义:
再定义
e (x) (x) ,
d ( y) 1 ( y) ,
这里 1 代表置换 的逆置换。
也可以认为 P 和 C 是 26 个英文字母(而不是 Z26 元
解密法则 dK D 。并且对每一 eK : P C , dK : C P ,对任意
的明文 x P ,均有 d K (eK (x)) x 。
保密通信过程示意图
实用密码体制需要满足的基本条件
1.每个加密函数 ek 和每个解密函数 d k 应当能被有效地 计算。
2.即使看到密文串 y,窃听者 Oscar 确定所用的密钥 k 或明文串 x 是不可行的。
性质 1-10,说明 Zm 是一个环。
由于在 Zm 中存在加法逆,我们可以在 Zm 中做减法。定 义 Zm 中 a b 为 (a b) mod m 。即,我们计算整数 a b , 然后对它进行模 m 约化。例如,为了在 Z31 中计算,我们 首先用 11 减去 18,得到 7 ,然后计算 (7) mod 31 24 。
N O P Q R S T U VWX Y Z
13 14 15 16 17 18 19 20 21 22 23 24 25
2.1 移位密码(Shift Cipher)
模运算 定义 2.2:假设 a 和 b 均为整数, m 是一正整数。若 m 整 除 b a 则可将其表示为 a b(modm) 。式 a b(modm) 读 作“ a 与 b 模 m 同余”,正整数 m 称为模数。
例:计算101mod7 ,101 7 14 3 ,因为 0 3 6 ,故 101mod7 3
古典密码-单表密码体制
古典密码-单表密码体制如果明⽂中不同的位置的同⼀明⽂字母在密⽂中对应的密⽂字母相同,则称其为单表密码体制。
代表性的单表密码:1.移位或加法密码2.乘数或乘法密码3.仿射密码4.密钥短语密码下⾯分别举⼀个例⼦:1.加法密码算法:P=C=K=Z m (Zm∈{0,1,...,m-1})E k(x)=x+k(mod m)=y∈CD k(y)=y-k(mod m)=x∈P当k=3时,该密码算法就是凯撒密码。
E3(1)=1+3(mod 26)=4 1代表A,4代表D,所以就把明⽂A加密成DD3(4)=4-3(mod 26)=1 所以把密⽂D,解密成明⽂A这种算法容易受到唯密⽂攻击,由算法可知,密钥的可能性个数为m,如果是英语字母表,只有26个字母,那么只要尝试25种(不包括0,因为m=0就等于是明⽂了)密钥,就能破解该算法。
2.乘法密码算法P=C=Z mK={a ∈Z m | (a, m)=1}E a(x)=a x (mod m) =y ∈CD a (y)=a-1y (mod m) =x ∈P(a-1是a对于m的乘法逆元)当m=26,P=C=Z26,K={a ∈Z26 | (a, 26)=1},E a(x)=a x (mod 26) =y ∈CD a (y)=a-1y (mod 26) =x ∈P(a-1是a对于26的乘法逆元)当a=9时,逆元a-1=3E9(x)=9x (mod 26)=y ∈CD9(y)=3y (mod 26)=x ∈P加密过程:字符B,对应的X=1 y=E9(x)=9*1 (mod 26)=9 替换为字符J解密过程:字符J,对应y=9 x=D9(x)=9*3 (mod 26)=1 还原为字符B对于乘数密码,当且仅当a与26互素时,加密变换才是⼀对⼀映射的。
因此a的选择只有11种:3,5,7,9,11,15,17,19,21,23,25,可能的密钥只有11种!3.仿射密码算法:P=C=Z mK={(a,b)∈Z m×Z m|(a,m)=1}E(a,b) (x)=ax + b (mod m)D(a,b) (y)=a-1(y-b)(mod m)当a=1时,变为加法密码当b=0时,变为乘法密码所以,加法密码和乘法密码是仿射密码的特例。
古典密码体制
B:3
11111111 00000011 00000011
2.1.3 电子隐藏技术
隐写工具
Steganos S-Tools (GIF, JPEG) Eshow StegHide (WAV, BMP) Invisible Secrets (JPEG) JPHide Camouflage Hiderman Many others…
1
2.2.1替换密码:分类
利用预先设计的代替规则,对明文逐字 符或逐字符组进行代替的密码。
凯撒密码
仿射密码 单表代换密码 多表代换密码
2.2.2 替换密码:凯撒密码
26
是一种对英文字母的典型逐字母加密的密码。
例如: A B CF
C
D D
TW
E
F
XA
G…… X
Y B
Y
Z
2.2.4替换密码:单表代替密码
英语中有26个字母 密钥总量:
天河机以每秒2.57千万亿次的速度来计算,若一 次运算能检验可能密钥中的一条,则检查完所有 的密钥并破解信息花费的时间大概是500年
公元九世纪,阿拉伯密码破译 专家,击破单表替换密码!
34 2.2.4替换密码:单表代替密码
e:出现频率约为0.127 t,a,o,i,n,s,h,r:出现频率约在0.06到0.09之间 d,l:的出现频率约为0.04 c,u,m,w,f,g,y,p,b :出现频率约在0.015到0.028之间
2.2.4替换密码:单表代替密码
有了上面的提示, 我们很容易确定出明文和例中的密 钥,解密明文如下: Our friend from Paris examined his empty glass with surprise, as if evaporation had taken place while he wasn’t looking. I poured some more wine and he settled back in his chair, face tilted up towards the sun.
西方古典密码方式
西方古典密码方式是一种古老的加密技术,起源于古希腊和罗马时期。
这种密码方式主要通过替换、移位和排列等方法对原始信息进行变换,以达到保密的目的。
以下是一些常见的西方古典密码方式:1.凯撒密码(Caesar Cipher):这是最早的一种古典密码方式,由古罗马将领凯撒发明。
凯撒密码的原理是将明文中的每个字母按照一个固定的偏移量进行移位。
例如,如果偏移量为3,那么字母A将被替换为D,B将被替换为E,以此类推。
凯撒密码的优点是实现简单,但缺点是容易被破解,因为偏移量通常是26的倍数。
2.维吉尼亚密码(Vigenere Cipher):这是一种基于凯撒密码的变种,由法国密码学家布莱斯·德·维吉尼亚发明。
维吉尼亚密码的原理是将明文和密钥都分成一系列字母,然后按照密钥字母的顺序将明文字母进行替换。
维吉尼亚密码的优点是安全性较高,但缺点是需要密钥长度与明文长度相同。
3.栅栏密码(Rail Fence Cipher):这是一种通过置换和重组的方法对明文进行加密的古典密码方式。
栅栏密码的原理是将明文按照一定的宽度分为若干行,然后将这些行按照特定的顺序进行排列,最后将排列后的字符连接起来形成密文。
栅栏密码的优点是实现简单,但缺点是解密过程较为复杂。
4.希尔密码(Hill Cipher):这是一种基于线性代数的古典密码方式,由美国数学家Lester S. Hill发明。
希尔密码的原理是将明文和密钥都表示为矩阵,然后通过矩阵乘法对明文进行加密。
希尔密码的优点是安全性较高,但缺点是计算复杂度较高。
5.仿射密码(Affine Cipher):这是一种基于线性代数的古典密码方式,由法国密码学家阿德里安·卡西斯基发明。
仿射密码的原理是将明文和密钥都表示为向量,然后通过向量加法和标量乘法对明文进行加密。
仿射密码的优点是安全性较高,但缺点是密钥空间较小。
总之,西方古典密码方式在古代起到了重要的保密作用,为后世的密码学发展奠定了基础。
03古典密码学的定义及分类
1. 单表代换密码 单表代换密码是对明文的所有字母都用一个 固定的明文字母表到密文字母表的映射, 即 f : Z q → Z q 。令明文 m = m m L ,则相应的密 文为 c = ek (m) = c0c1 L = f (m0 ) f (m1 )L 。 字母与数字之间的常用对应表
0 1
a 0 n 13 o 14
⎛11 8 ⎞ (9,20 )⎜ ⎜ 3 7 ⎟ = (99 + 60,72 + 140 ) = (3,4) ⎟ ⎝ ⎠
⎛11 8 ⎞ (11,24)⎜ ⎜ 3 7 ⎟ = (121 + 72,88 + 168) = (11,22) ⎟ ⎝ ⎠
因此,july的加密是DELW。
'
{
}
集 Z q = {0,1 , L , q ' − '1} 。密文单元或组 L Zq 上的随 c =(c0,c1,LcL−1)(L个) ∈Zq ,0≤l' ≤ L' −1 , ,cl 为 。 c是定义在 L 机变量。密文空间 Z q 。一般地,明文和密文由同一字母 L 表构成。代换密码可以看作是从 Zq 到 C = Z 的映射。L=1 时,称作单字母代换,也称作流密码(Stream cipher)。 L>1时,称作多字母代换,亦称分组密码(Block cipher)。
m 26
例 2.5 假定密钥是
⎛11 8 ⎞ k =⎜ ⎜ 3 7⎟ ⎟ ⎝ ⎠ ⎛11 8 ⎞ ⎛ 7 18 ⎞ k =⎜ ⎜ 3 7 ⎟ = ⎜ 23 11 ⎟ ⎟ ⎜ ⎟ ⎝ ⎠ ⎝ ⎠
−1 −1
则。现在加密明文july,分为两个明文组(9,20)(相
应于ju)和(11,24)(相应于ly)。计算如下:
古典密码体制
1、古典密码体制简单代替密码(simple substitution cipher),又称单表密码(monoalphabetic cipher):明文的相同字符用相应的一个密文字符代替多表密码(ployalphabetic cipher):明文中的相同字符映射到密文空间的字符不唯一,有多个。
单表代替是密码学中最基础的一种加密方式。
在加密时用一张自制字母表上的字母来代替明文上的字母(比如说A——Z,B——D)来达到加密。
移位密码也属于单表代替,只不过比较有规律,相当于集体向前或向后。
这种加密方法最容易被破解。
破解方法为统计法。
在英语中,最常用的字母为E,所以在密文中代替E 的字母出现的频率也最高,由此便可破解。
一般单表替代密码算法特点:▲密钥空间K很大,|K|=26!=4×1026 ,破译者穷举搜索计算不可行,1微秒试一个密钥,遍历全部密钥需要1013 年。
▲移位密码体制是替换密码体制的一个特例,它仅含26个置换做为密钥空间。
密钥π不便记忆。
▲针对一般替换密码密钥π不便记忆的问题,又衍生出了各种形式单表替代密码。
多表代替密码:由多个简单的代替密码构成,例如,可能有5个被使用的不同的简单代替密码,单独的一个字符用来改变明文的每个字符的位置。
多表替代密码的特点是使用了两个或两个以上的替代表。
著名的维吉尼亚密码和Hill密码等均是多表替代密码。
2、对称密码体制分组密码的一般设计原理•分组密码是将明文消息编码表示后的数字(简称明文数字)序列,划分成长度为n的组(可看成长度为n的矢量),每组分别在密钥的控制下变换成等长的输出数字(简称密文数字)序列,•DES的操作模式是什么?上述5种操作模式均可。
•AES的操作模式是什么?在AES的实际应用中,经常会选择CBC和CTR模式。
更多的是选择CTR。
古典密码体制简介
换表个数有限,重复使用。例如Vigenere密码,1858年提出。
关于多表代换密码:
在单表代换下,除了字母名称改变以外,字母的频率、重复字母模 式、字母结合方式等统计特性并未改变,依靠这些不变的统计特性就 能破译单表代换。 而在多表代换下,原来明文中的这些特性通过多个表的平均作用而 被隐蔽了起来,然而,利用密文字母表(如英文)呈现出的一些其他 统计特性,仍然可以破译这种密码(如破译Vigenere密码)。
利用穷举搜索不行,然而,可以用统计的方式破译它。 通过字母的
26
使用频率就可以成功的破译单表代换密码。
比如,在明文、密文字母表为英文的情况下,许多密码 分析方法都利用了英文语言的统计特性。 可以从各种小说、杂志和报纸上统计出26个英文字母出 现的频率,见下表,是一个统计结果。
根据统计数据,Beker和Piper把26个英文字母划分成如 下5组:
多表代换密码:
以一系列(两个以上)代换表依次对明文消息的字母进行代换。 令f(f1,f2,…)为代换序列,设m=
m1m2…是一个明文字母序列,则
相应的密文字母序列为: c=Ek(m)=f1(m1) f2(m2)…
若f是非周期的无限序列,所对应的密码称为非周期多表代换密码。
这类密码对每个明文都采用不同的代换表(或密钥)进行加密, 即一次一密密码。
而在多表代换下原来明文中的这些特性通过多个表的平均作用而被隐蔽了起来然而利用密文字母表如英文呈现出的一些其他统计特性仍然可以破译这种密码如破译vigenere密码
在计算机出现以前,出现的密码体制统称为古 典密码体制。一般情况下,明文和密文由同一 字母表构成,如英文字母表。 很多古典密码都比较简单、且容易破译,但了 解这些密码及其分析方法对理解现代密码学是 十分有益的。
第3章_古典密码体制
多字母代换密码
可以用矩阵变换方便地描述多字母代换密码, 有时又称为矩阵变换密码
• Hill密码 • Playfair密码
移位密码(Shift Cipher)
➢ 模运算
定义 2.2:假设 a 和 b 均为整数, m 是一正整数。若 m 整 除 b a 则可将其表示为 a b(modm) 。式 a b(modm) 读 作“ a 与 b 模 m 同余”,正整数 m 称为模数。
密码体制的定义
定义 2.1:一个密码体制是满足以下条件的五元组 (P , C, K,E, D) :
1. P 表示所有可能的明文组成的有限集 2. C表示所有可能的密文组成的有限集 3. K 代表密钥空间,由所有可能的密钥组成的有限集 4. 对任意的 K K ,都存在一个加密法则 eK E 和相应的
密码体制分类
基于密钥的算法,按照密钥的特点分类:
对称密码算法(symmetric cipher):又称传统密码算法( conventional cipher),就是加密密钥和解密密钥相同, 或实质上等同,即从一个易于推出另一个。又称秘密密 钥算法或单密钥算法。
非对称密钥算法(asymmetric cipher):加密密钥和解密密 钥不相同,从一个很难推出另一个。又称公开密钥算法 (public-key cipher)。 公开密钥算法用一个密钥进行加密, 而用另一个密钥进行 解密.其中的加密密钥可以公开,又称公开密钥(public key),简称公钥.解密密钥必须保密,又称私人密钥( private key)私钥.简称私钥。 混合系统=非对称密码分发密码+对称密码加密
注 1:若 a q1m r1,b q2m r2 ,0 r1 m 1,0 r2 m 1。 则 a b(modm) 当且仅当 r1 r2 。