现代密码学 第2讲流密码
现代密码学第02讲
密码可能经受的攻击
攻击类型
惟密文攻击 已知明文攻 击 选择明文攻 击 选择密文攻 击
2014-1-20
攻击者拥有的资源
加密算法 截获的部分密文 加密算法, 截获的部分密文和相应的明文
加密算法 加密黑盒子,可加密任意明文得到相应的密文
加密算法 解密黑盒子,可解密任意密文得到相应的明文
Yj=f 1(sj ,Xj) Sj+1 =f 2(sj ,Xj) Y
第j时刻输入Xj X ,输出Yj
2014-1-20
27
例2-1
S={s1,s2,s3},X={x1, x2,x3},Y=(y1,y2,y3) 转移函数
x1 y1 y2 y3 x2 y3 y1 y2 X3 y2 y3 y1 f2 s1 s2 s3 x1 s2 s3 s1 x2 s1 s2 s3 X3 s3 s1 s2
2014-1-20
14
公钥体制的主要特点
加密和解密能力分开 可以实现多个用户加密的消息只能由一个用户 解读(用于公共网络中实现保密通信) 只能由一个用户加密消息而使多个用户可以解 读(可用于认证系统中对消息进行数字签字)。
无需事先分配密钥。
2014-1-20
15
三、密码分析
截收者在不知道解密密钥及通信者所采用的加 密体制的细节条件下,对密文进行分析,试图 获取机密信息。研究分析解密规律的科学称作 密码分析学。 密码分析在外交、军事、公安、商业等方面都 具有重要作用,也是研究历史、考古、古语言 学和古乐理论的重要手段之一。
2014-1-20 4
几个概念(三)
密码分析(Cryptanalysis):截收者试图通过分析从 截获的密文推断出原来的明文或密钥。 密码分析员(Cryptanalyst):从事密码分析的人。 被动攻击 (Passive attack):对一个保密系统采取截 获密文进行分析的攻击。 主动攻击 (Active attack):非法入侵者 (Tamper)、 攻击者(Attcker)或黑客(Hacker)主动向系统窜扰,采用 删除、增添、重放、伪造等窜改手段向系统注入假消息 ,达到利已害人的目的。
现代密码学PPT课件
信息安全所面临的威胁来自很多方面,并且随着时 间的变化而变化。这些威胁可以宏观地分为人为威 胁和自然威胁。
自然威胁可能来自于各种自然灾害、恶劣的场地环 境、电磁辐射和电磁干扰、网络设备自然老化等。 这些事件有时会直接威胁信息的安全,影响信息的 存储媒质。
3. 完整性业务
和保密业务一样,完整性业务也能应用于消息流、 单个消息或一个消息的某一选定域。用于消息流的 完整性业务目的在于保证所接收的消息未经复制、 插入、篡改、重排或重放,即保证接收的消息和所 发出的消息完全一样;这种服务还能对已毁坏的数 据进行恢复,所以这种业务主要是针对对消息流的 篡改和业务拒绝的。应用于单个消息或一个消息某 一选定域的完整性业务仅用来防止对消息的篡改。
2. 认证业务
用于保证通信的真实性。在单向通信的情况下,认 证业务的功能是使接收者相信消息确实是由它自己 所声称的那个信源发出的。在双向通信的情况下, 例如计算机终端和主机的连接,在连接开始时,认 证服务则使通信双方都相信对方是真实的(即的确 是它所声称的实体);其次,认证业务还保证通信 双方的通信连接不能被第三方介入,以假冒其中的 一方而进行非授权的传输或接收。
恶意软件指病毒、蠕虫等恶意程序,可分为两类, 如图1.2所示,一类需要主程序,另一类不需要。前 者是某个程序中的一段,不能独立于实际的应用程 序或系统程序;后者是能被操作系统调度和运行的 独立程序。来自图1.2 恶意程序分类
对恶意软件也可根据其能否自我复制来进行分类。 不能自我复制的一般是程序段,这种程序段在主程 序被调用执行时就可激活。能够自我复制的或者是 程序段(病毒)或者是独立的程序(蠕虫、细菌 等),当这种程序段或独立的程序被执行时,可能 复制一个或多个自己的副本,以后这些副本可在这 一系统或其他系统中被激活。以上仅是大致分类, 因为逻辑炸弹或特洛伊木马可能是病毒或蠕虫的一 部分。
李发根现代密码学2
ant cnat cn1at1 c1ant1, t 1,2,
线性反馈移位寄存器:实现简单、速度快、有较为成熟的理论, 成为构造密钥流生成器的最重要的部件之一。
例 下图是一个5级线性反馈移位寄存器,其初始状 态为(a1,a2,a3,a4,a5)=(1,0,0,1,1)
表2.2 一个3级反馈移位 寄存器的状态和输出
状态 (a3,a2,a1)
输出
101
1
图3 一个3级反馈移位寄存器
110 111
0 1
即输出序列为101110111011…,
011 101
1 1
周期为4。
110
0
线性反馈移位寄存器LFSR(linear feedback shift register)
可求出输出序列为 1001101001000010101110110001111100110…
周期为31。
总是假定c1,c2,…,cn中至少一个0,否则 f(a1,a2,…,an)≡0。
总是假定cn=1。
LFSR输出序列的性质:完全由其反馈函数决定。 n级LFSR状态数:最多有2n个。 n级LFSR的状态周期: 2n-1。 输出序列的周期=状态周期, 2n-1。
RC4是一种基于非线性数据表变化的流密码,它 以一个足够大的数据表S为基础,对表进行非线性 变换,产生非线性的密钥流序列。
RC4数据表的大小随着参数n的变化而变化,通 常取n=8,此时总共可以生成28个元素的数据表, 主密钥的长度至少为40比特。
RC4密钥流的每个输出都是数据表S中的一个ቤተ መጻሕፍቲ ባይዱ 机元素。
第2章 流密码
2.1 流密码的基本概念 2.2 线性反馈移位寄存器 2.3 流密码RC4
北邮精品课程-现代密码学课件 现代密码学第二讲:密码学的信息论基础共29页文档
39、没有不老的誓言,没有不变的承 诺,踏 上旅途 ,义无 反顾。 40、对时间的价值没有没有深切认识 的人, 决不会 坚韧勤 勉。
谢谢你的阅读
❖ 知识就是财富 ❖ 丰富你的人生
71、既然我已经踏上这条道路,那么,任何东西都不应妨碍我沿着这条路走下去。——康德 72、家庭成为快乐的种子在外也不致成为障碍物但在旅行之际却是夜间的伴侣。——西塞罗 73、坚持意志伟大的事业需要始终不渝的精神。——伏尔泰 74、路漫漫其修道远,吾将上下而求索。——屈原 75、内外相应,言行相称。——韩非
北邮精品课程-现代密码学课件 现代 密码学第二讲:密码学的信息论基础
36、“不可能”这7、不要生气要争气,不要看破要突 破,不 要嫉妒 要欣赏 ,不要 托延要 积极, 不要心 动要行 动。 38、勤奋,机会,乐观是成功的三要 素。(注 意:传 统观念 认为勤 奋和机 会是成 功的要 素,但 是经过 统计学 和成功 人士的 分析得 出,乐 观是成 功的第 三要素 。
现代密码学第二章知识点复习题
第二章流密码一、填空:1. 分组密码和流密码的根本区别在于_______________________________2. n-LFSR最大周期是 __________3. 已知一3-FSR,其反馈函数为f(a i,a2,a3)=a i 二a2a3,且当前的状态(a s,a2,a i)=(101),则其前两个状态分别是____________ ,输出序列的周期是_____________4. n级m序列的异相自相关函数值为_____________________5. 序列{a i}为m序列的充要条件是___________________________________6. 已知{a i}为m序列,且在该序列中最大0游程为4,则该序列的周期是________7. 已知p(x)=x3+x+1,贝U其产生的非0序列的异相自相关函数值是_________8. n级M序列的周期是 ______________9. 已知一钟控生成器由LFSR1控制LFSR2,极小多项式分别为f1(x)=1+x+x3和f2(X)= 1+X2+X3,则产生序列的周期为 ___________________ 线性复杂度为10. 已知LFSR1为一10级m序列,LFSR2为以5级m序列,则构成的钟控序列的周期为_______ 线性复杂度为_______________11. n级m序列中长为i的1游程有多少 ______ ,长为n的1游程有多少______ ,长为n的0游程有几个___12. 至少知道_________ 连续的密钥流bit可以破译m序列13. RC4算法的最大密钥长度是___________14. 已知某一n级LFSR其非零状态的状态转移图为一个大圈,则其产生的非0序歹U的周期是______15. eSTREAM计划候选算法Grain v1的密钥长度________ 针对硬件还是软件开发的___________二、选择:每一项有1个或多个选项是正确的1. 下面哪些多项式可以作为非退化的5-LFSR的反馈函数(状态转移函数) _____4 5 4 5A. 1+x+xB. X1 二X2二X4x5C. 1+x+xD. x +x2•对于一个n-LFSR,设其序列生成函数为A(x),特征多项式p(x),全0状态除夕卜,则下面那个要素与其它要素不是--------- 对应的__________A.①(x),满足A(x)=①(x)/p(x)B.初始状态C. p(x)D. G(p(x))中的序列3. 一个LFSR的极小多项式为p(x),其所生产的序列也都能由特征多项式为t(x)的LFSR 产生,则gcd(p(x),t(x))= _______A. p(x)B. t(x)C. 1D.次数大于1的某个g(x),且不等于p(x)和t(x)4. 下面哪个选项不是Golomb对伪随机周期序列提出的随机性公设____________A.在一个周期内0和1个数至多差1B.长为i的游程占游程总数的1/2'C.异相自相关函数为常数D.任意比特的下一比特不可预测5. 哪些组合通常作为密钥流产生器的状态转移函数和输出转移函数_________A.线性的©和线性的书B.线性的©和非线性的书C.非线性的©和线性的书D.非线性的©和非线性的书三、判断:(正确的划””,错误的划””以下同)1. 在流密码中,只要被加密的明文长度小于密钥流序列的周期,就可以达到无条件安全了( ) 2. 只要LFSR产生的序列的周期足够大,就能够达到计算上安全的,可用于作为密钥流序列( )3. 流密码中如果第i个密钥比特与前i-1个明文有关则称为同步流密码()4. LFSR的初始状态对其产生序列的周期没有任何影响()5. 序列{a'}的生成函数为A(x)=©(x)/p(x),p(x)的次数大于1,则必有G(p(x))中的一个序列,满足A(x)=x/p(x) ( )6. LFSR产生的序列中有一条序列是m序列,则所有非0序列都是m序列( )7. 钟控序列的线性复杂度是指产生钟控序列的密钥流产生器中包含的移位寄存器的总级数( )8. n级m序列中,存在两个0的n-1游程。
现代密码学第二章知识点复习题
第二章流密码一、填空:1. 分组密码和流密码的根本区别在于____________________________2. n-LFSR最大周期是__________3. 已知一3-FSR,其反馈函数为f(a1,a2,a3)=a1⊕a2a3,且当前的状态(a3,a2,a1)=(101),则其前两个状态分别是____________,输出序列的周期是____________4. n级m序列的异相自相关函数值为____________________5. 序列{a i}为m序列的充要条件是_________________________________6. 已知{a i}为m序列,且在该序列中最大0游程为4,则该序列的周期是_______7. 已知p(x)=x3+x+1, 则其产生的非0序列的异相自相关函数值是________8. n级M序列的周期是____________9. 已知一钟控生成器由LFSR1控制LFSR2,极小多项式分别为f1(x)=1+x+x3和f2(x)=1+x2+x3,则产生序列的周期为___________________,线性复杂度为______________________。
10. 已知LFSR1为一10级m序列,LFSR2为以5级m序列,则构成的钟控序列的周期为______,线性复杂度为______________11. n级m序列中长为i的1游程有多少_____,长为n的1游程有多少_____,长为n的0游程有几个___12. 至少知道_________个连续的密钥流bit可以破译m序列13. RC4算法的最大密钥长度是___________14. 已知某一n级LFSR其非零状态的状态转移图为一个大圈,则其产生的非0序列的周期是________15. eSTREAM计划候选算法Grain v1的密钥长度______是针对硬件还是软件开发的__________二、选择:每一项有1个或多个选项是正确的1. 下面哪些多项式可以作为非退化的5-LFSR的反馈函数(状态转移函数)_____A. 1+x+x4B. x1⊕x2⊕x4x5C. 1+x+x5D. x4+x52.对于一个n-LFSR,设其序列生成函数为A(x),特征多项式p(x),全0状态除外,则下面那个要素与其它要素不是一一对应的________A. Ф(x),满足A(x)=Ф(x)/p(x)B. 初始状态C. p(x)D. G(p(x))中的序列3. 一个LFSR的极小多项式为p(x),其所生产的序列也都能由特征多项式为t(x)的LFSR产生,则gcd(p(x),t(x))=_________A. p(x)B. t(x)C. 1D. 次数大于1的某个g(x),且不等于p(x)和t(x)4. 下面哪个选项不是Golomb对伪随机周期序列提出的随机性公设_________A. 在一个周期内0和1个数至多差1B. 长为i的游程占游程总数的1/2iC. 异相自相关函数为常数D. 任意比特的下一比特不可预测5. 哪些组合通常作为密钥流产生器的状态转移函数和输出转移函数______A. 线性的φ和线性的ψB. 线性的φ和非线性的ψC. 非线性的φ和线性的ψD. 非线性的φ和非线性的ψ三、判断:(正确的划”√”,错误的划”⨯”,以下同)1. 在流密码中,只要被加密的明文长度小于密钥流序列的周期,就可以达到无条件安全了()2. 只要LFSR产生的序列的周期足够大,就能够达到计算上安全的,可用于作为密钥流序列()3. 流密码中如果第i个密钥比特与前i-1个明文有关则称为同步流密码( )4. LFSR的初始状态对其产生序列的周期没有任何影响( )5. 序列{a i}的生成函数为A(x)=Ф(x)/p(x),p(x)的次数大于1,则必有G(p(x))中的一个序列,满足A(x)=x/p(x) ( )6. LFSR产生的序列中有一条序列是m序列,则所有非0序列都是m序列()7. 钟控序列的线性复杂度是指产生钟控序列的密钥流产生器中包含的移位寄存器的总级数()8. n级m序列中,存在两个0的n-1游程。
现代密码学杨波课后习题讲解
,(ab mod 2n ) (abdiv2n )
1,(ab mod 2n ) (abdiv2n )
注意:(ab mod 2n)相当于 ab 的 n 个有效最低位,(ab div 2n) 是 ab 右移 n 位。
IDEA:明文、分组、密钥、8轮迭代(不是传统的feistel)、 输出变换
习题
习题
……
(1,1,0,1) (1,0,1,1) (0,1,1,1) (1,1,1,1)
输出序列为 11011 11011 …, 周期为 5。
(1,1,1,0) (1,1,0,1) ….
f(a1,a2,a3, 输出 a4)
1
1
1
1
1
0
0
1
1
1
1
1
….
….
习题
6.已知流密码的密文串1010110110和相应的明文串 0100010001,而且还已知密钥流是使用3级线性反馈移位寄 存器产生的,试破译该密码系统。
所以 gcd(4655, 12075)=35。
习题
x 2 mod 3
6.求下列同余方程组
x
1mod
5
(中国剩余定理)
x 1mod 7
习题
10. 设通信双方使用 RSA 加密体制,接收方的公钥是 (e,n)=(5,35),接收到的密文是 C=10,求明文 M
RSA?密钥产生、加密、解密
解:
习题
∵ 11*19 ≡ 1 mod 26 (说明:求模逆元可采用第 4 章的“4.1.7 欧几里得算法”
,或者直接穷举 1~25)
对密文 C 进行解密: m’=D(C)≡ 19*(c-23) (mod 26) =[19 7 4 13 0 19 8 14 13 0 11 18 4 2 20 17 8 19 24 0
第2讲:序列密码
现代密码学第二讲-----密码学历史、序列密码郑东2.1.古典密码密码学的历史已有4000多年 古埃及人曾把象形文字写在石碑上2.1.1Caesar Cipher-恺撒密码 2千年前,Julius Ceasar 使用了一种简单的替换密码-——后被人称为恺撒密码(Caesar cipher ) 首先被应用于军事上(cf Gallic Wars ) 替换方法,每个字母用其后的第三个字母替换eg. L FDPH L VDZ L FRQTXHUHG -> I CAME I SAW I CONQUERED Caesar cipher 可以描述如下:Plain: ABCDEFGHIJKLMNOPQRSTUVWXYZ Cipher: DEFGHIJKLMNOPQRSTUVWXYZABC 练习解密"RPQLD JDOOLD HVW GLYLVD LQ SDUWHV WUHV"2.1.2.恺撒密码的一般形式 一般形式,可以把Caesar cipher 中字母移动的位数由3变为1-25中的任何一个可以指定一个密钥字母作为字母A 的密文。
例如:密钥字母F 表示:A F,B —G, ... Y —D, Z —E 即每个字母移动5位共有26种可能的密码算法(25种可用)2.1.3.混合单码替换密码 不仅仅是移位变换每个字母可以用其它任何一个字母替换(不能重复) 每个字母可以随机的映射到其它一个 因此密钥长度是26个字母单字母替换密码(Monoalphabetic Substitution Cipher )例如:明文: ABCDEFGHIJKLMNOPQRSTUVWXYZ 密文: DKVQFIBJWPESCXHTMYAUOLRGZN Plaintext: IFWEWISHTOREPLACELETTERS Ciphertext: WIRFRWAJUHYFTSDVFSFUUFYA2.1.4.简单的单码替换密码 混合单码密码有26个字母长的密钥 需要一种简单方法指定密钥有多种方法,一种简单方法是写没有重复字母的“密钥字”,其它字母按顺序写在密钥字最后字母后面例如,给定密钥字"JULIUSCAESAR" Plain:ABCDEFGHIJKLMNOPQRSTUVWXYZ Cipher:JULISCAERTVWXYZBDFGHKMNOPQ2.1.5单码替换密码历史 不同种类的替换密码用在政府和军事上 频率攻击方法由阿拉伯科学家提出 最早的攻击描述:"A Manuscript on Deciphering Cryptographic Messages", published in the 9th century2.1.6. Vigenère Cipher Blaise de Vigen ère 发明了多字母替换密码(polyalphabetic substitution cipher ) 使用多个单字母替换表因此一个字母可以被多个字母替换 方法,用一个密钥选择对每个字母使用哪个字母表密钥的第I 个字母表示使用第ith 个字母表 依次使用每个字母表当密钥的字母使用完后,在从头开始2.1.7. Vigenère Example 例:写出明文在明文下重复写出密钥字依次使用每个字母作为caesar cipher 的密钥 加密对应的明文字母PlaintextTHISPROCESSCANALSOBEEXPRESSED Keyword CIPHERCIPHERCIPHERCIPHERCIPHE Plaintext VPXZTIQKTZWTCVPSWFDMTETIGAHLH2.1.8 Vigenère Example (续) C -> CDEFGHIJKLMNOPQRSTUVWXYZAB I -> IJKLMNOPQRSTUVWXYZABCDEFGH P -> PQRSTUVWXYZABCDEFGHIJKLMNO H -> HIJKLMNOPQRSTUVWXYZABCDEFG E -> EFGHIJKLMNOPQRSTUVWXYZABCD R -> RSTUVWXYZABCDEFGHIJKLMNOPQ ABCDEFGHIJKLMNOPQRSTUVWXYZto map the above plaintext letters. ‘T' uses key 'C' maps to 'V' ‘H' uses key 'I' maps to 'P' ‘I' ises key 'P' maps to 'X'etc2.1.9 Vigenère Cipher 的历史 可以看出,越安全的密码使用起来越复杂 因此,在有些场合还可以看到单码替换密码 使得vigen ère cipher 逐渐被各国使用 1854年,首次被Charles Babbage 攻破,但没有公开Friedrich Kasiski 于1863年攻破并发表 此密码的各种变形被沿用到20世纪2.1.10 Ciphers Machines 1--1 为了简化加密/解密过程,导致密码设备出现 Jefferson cylinder , 1790s 被研制成功,包含36个圆盘,每个圆盘有个随机字母表1920年还被美国军队使用2.1.11 Ciphers Machines 1--2 Wheatstone disc , by Wadsworth in 18172.1.12. Ciphers Machines随着密码技术的提高,要求有更高级的密码装置高级密码装置可以实现更复杂的密码这些装置在二战时期广泛使用例:the German Enigma,the Swedish Hagelin (below)and the Japanese Purple2.1.1puters and Cryptography现代电子系统与计算机能够实现更复杂的密码系统70年代中期, 首次出现了现代分组密码—DES 70年代末, 公钥密码学问世直到今天,我们使用的密码学系统参考文献:《密码传奇-从军事隐语到电子芯片》上海译文出版社2.2 序列密码流密码(也称序列密码):将被加密的消息m 分成连续的符号(一般为比特串),m=m 1m 2m 3……;然后使用密钥流k=k 1k 2k 3……中的第i 个元素k i 对m的第i 个元素m i 执行加密变换,i =1,2,3,……;所有的加密输出连接在一起就构成了对m 执行加密后的密文。
第二章 密码技术基础
a, b Z
2.4 密码学的基本数学知识
同余 设a,b∈Z,n≠0,如果n|(a-b),则称为a和b模 n同余,记为a ≡ b (mod n),整数n称为模数。 若0≤b<n,我们称b是a对模n的最小非负剩余, 也称b为a对模n的余数。两个数同余的基本性 质如下:
单套字母替代法统计分析
字母 a b c d e f g h i j k l m 百分比 8.2 1.5 2.8 4.2 12.7 2.2 2.0 6.1 7.0 0.1 0.8 4.0 2.4 字母 n o p q r s t u v w x y z 百分比 6.8 7.5 1.9 0.1 6.0 6.3 9.0 2.8 1.0 2.4 2.0 0.1 0.1
密码分析的方法
穷举攻击(Exhaustive attack),是指密码分析者 采用遍历(ergodic)全部密钥空间的方式对所获密 文进行解密,直到获得正确的明文; 统计分析攻击(Statistical analysis attack),是指 密码分析者通过分析密文和明文的统计规律来破译密 码; 数学分析攻击(Mathematical analysis attack), 是指密码分析者针对加解密算法的数学基础和某些密 码学特性,通过数学求解的方法来破译密码
模逆元(乘法逆元)的求解
假设M为模数,U为小于M的本元元素,且与M互
素,R为余数,它们满足U*V mod M=R,当R=1时, 我们称V为U的模逆元,当R≠1时,称V为U的模 系数.模逆元和模系数是公开密钥加密算法和 数字签名算法中最常用的参数之一 。
现代密码学 (2)
Ra,a(2)=(-1)0+0+(-1)1+1+(-1)0+1 +(-1)1+1 +(-1)1+0 +(-1)1+0 +(-1)0+1=-1, Ra,a(3)= Ra,a(4)= Ra,a(5)= Ra,a(6)=-1.
16
伪随机序列
哥伦布(Golomb, 1955)随性假设
12
2.2 线性反馈移位寄存器序列
伪随机序列 考虑二元序列: a={ai}=a0a1a2a3 …. 周期序列
定义2.1 设a= (a0, a1,…,ai,…)是一个二元序列,若 存在正整数N和非负整数m,使得ai+N=ai对于任意i m成立,则称二元序列a是终归周期序列。如果 m=0,则称序列a是严格周期序列,简称周期序列。
基于大数分解困难问题
公钥密码
基于离散对数困难问题 ......
3
2.1 流密码一般模型
流密码( stream cipher)(序列密码)体制模型
明文序列: m= m1 m2 m3 …; 密钥序列: z=z1 z2 z3 …; 密文序列: c= c1c2 c3 …; 加密变换: ci=E(zi,mi) (i=1,2,3,…); 解密变换: mi=D(zi, ci) (i=1,2,3,…).
如果cn=0,则称LFSR是退化的;否则称LFSR是非 退化的。
把多项式: f(x)=1+c1x+c2x2+…+cnxn
称为LFSR的特征多项式(characteristic polynomial), 或级连多项式、或生成多项式。
现代密码学PPT课件
1.3 密码学基本概念
1.3.1 保密通信系统
通信双方采用保密通信系统可以隐蔽和保护需要发 送的消息,使未授权者不能提取信息。发送方将要 发送的消息称为明文,明文被变换成看似无意义的 随机消息,称为密文,这种变换过程称为加密;其 逆过程,即由密文恢复出原明文的过程称为解密。 对明文进行加密操作的人员称为加密员或密码员。 密码员对明文进行加密时所采用的一组规则称为加 密算法。
② 系统的保密性不依赖于对加密体制或算法的保密, 而依赖于密钥。这是著名的Kerckhoff原则。
③ 加密和解密算法适用于所有密钥空间中的元素。
④ 系统便于实现和使用。
1.3.2 密码体制分类
密码体制从原理上可分为两大类,即单钥体制和双 钥体制。
1.1.3 安全业务
安全业务指安全防护措施,有以下5种。 1. 保密业务
保护数据以防被动攻击。保护方式可根据保护范围 的大小分为若干级,其中最高级保护可在一定时间 范围内保护两个用户之间传输的所有数据,低级保 护包括对单个消息的保护或对一个消息中某个特定 域的保护。保密业务还包括对业务流实施的保密, 防止敌手进行业务流分析以获得通信的信源、信宿、 次数、消息长度和其他信息。
20世纪90年代,因特网爆炸性的发展把人类带进了 一个新的生存空间。因特网具有高度分布、边界模 糊、层次欠清、动态演化,而用户又在其中扮演主 角的特点,如何处理好这一复杂而又巨大的系统的 安全,成为信息安全的主要问题。由于因特网的全 球性、开放性、无缝连通性、共享性、动态性发展, 使得任何人都可以自由地接入,其中有善者,也有 恶者。恶者会采用各种攻击手段进行破坏活动。信 息安全面临的攻击可能会来自独立的犯罪者、有组 织的犯罪集团和国家情报机构。对信息的攻击具有 以下新特点: 无边界性、突发性、蔓延性和隐蔽性。
现代密码学第二章
因此希望密钥流k满足Golomb随机性假设(1’)(2’)
(3’)。但这还不够,还必须具有“很高的线性复 杂度”。(将在以后介绍)
8/5/2019
11
二、线性反馈移位寄存器序列
线性反馈移位寄存器序列
若比特流k由如下的方式生成: (1) 选择长度为n的比特串k1k2k3… kn; (2)当l>n后,kl=c1kl-1 ‘+’ c2kl-2 ‘+’ … ‘+’ cnkl-n。 其中常数c1、 c2 、 … 、 cn都是比特值,且cn=1。
特异或。
记作
c=m ‘+’k
注意:此时有
m=c ‘+’k k=m ‘+’c
8/5/2019
3
一、流密码的基本概念
当
(1)明文是比特流m,称为明文流; (2)加密密钥和解密密钥相同,是比特流k,称为密钥
流;
(3)密文是比特流c,称为密文流;
(4)加密算法和解密算法相同,
加密:c=m ‘+’k; 解密:m=c ‘+’k。
8/5/2019
21
二、线性反馈移位寄存器序列
线性反馈移位寄存器序列的综合
定理 如果一个比特流是一个周期序列,则它一定是 线性反馈移位寄存器序列。
证明 设比特流k的最小周期是N。 则
l>N后,kl=kl-N。 因此比特流k为N阶线性反馈移位寄存器序列,抽头系
数为 {c1、 c2 、 … 、 cN}={0、0 、 …0 、1}(即极 小多项式f(x)=1‘+’xN),初始状态为k1k2k3… kN。
则称这样的加解密算法为流密码,又称其为序列密码。
8/5/2019
古典密码和流密码的原理及应用
古典密码和流密码的原理及应用1. 引言1.1 古典密码和流密码的原理及应用古典密码和流密码是密码学领域中两种基本的密码体制。
古典密码是一种基于替换或移位的加密方法,其原理是通过替换明文中的字母或移动字母的位置来生成密文。
流密码则是一种基于流的加密方法,其原理是通过不断产生伪随机密钥流并与明文进行异或运算来生成密文。
古典密码的应用可以追溯到古代,如凯撒密码和维吉尼亚密码等。
这些密码体制在军事情报传递和个人通信中起到了重要作用。
而流密码则在现代密码学中得到了广泛应用,例如在无线通信、网络安全和数据加密领域。
古典密码和流密码在现代密码学中都扮演着重要的角色。
古典密码虽然在安全性上存在较大的局限性,但对于理解密码学的基本原理和历史发展仍具有重要意义。
而流密码则由于其高效性和安全性,被广泛应用于现代通信系统和加密协议中。
古典密码和流密码都是密码学中不可或缺的一部分,它们各自的原理和应用为我们提供了深入了解密码学的基础,并在现代密码学中扮演着重要的角色。
在不断发展和完善的密码学领域中,古典密码和流密码仍然具有不可替代的地位。
2. 正文2.1 古典密码的原理古典密码是指使用固定密钥对明文进行加密的一种密码方法,其原理主要包括替换密码和移位密码两种基本形式。
替换密码是通过将明文中的每个字母替换为密钥字母表中对应的字母来加密信息,而移位密码则是通过将明文中的每个字母向后或向前移动固定的位置来实现加密。
这些方法都可以通过简单的数学运算来实现,但由于其固定密钥的特性,容易受到破解攻击。
古典密码的应用主要体现在历史上的军事通信领域,比如凯撒密码就是一种简单的移位密码,被用于古罗马军队的通信中。
古典密码的安全性很差,容易被破解,因此在现代密码学中已经被淘汰。
古典密码的原理虽然简单,但在密码学发展的历程中扮演了重要的角色,为后来更加复杂的密码算法奠定了基础。
通过研究古典密码的原理,人们也更深入地理解了密码学的发展轨迹和演变过程,对于现代密码学的发展具有积极的意义。
(现代密码学课件)02序列密码
2
一、二进制与位运算
二进制表示 字符编码 常用位运算 位运算练习
3
二进制表示
在现代密码算法中,我们通常需要将明文 用二进制的明文流来表示,然后再对二进 制的明文流加密。
任何十进制数字都可以用二进制数字表示 练习:将自己的学号的后三位用二进制数
字表示(后面的练习还需要用到)
输 出 时刻 状 态
4321
18
0 0 0 1 0 0
9 10 11 12 0 1101 1110 1111 0111 0011 0001
输出
1 0 1 0 1 1 1 1
33
LFSR 练习
设3级 LFSR 的递归函数为ai+3=ai+2+ai,初 始状态为 (a1,a2,a3)=(1,0,1)。求输出序列和 周期,并画出LFSR的示意图。
ai+n
c1
c2
ai+n-1 xn
ai+n-2 xn-1
cn-1
cn
ai+1
ai
ai-1, …, a1
x2
x1
31
线性反馈移位寄存器例子
例子:n=4的LFSR。输出序列满足ai+4=ai+1+ai。初始 状态(a1,a2,a3,a4)为1000。序列的周期为15=24-1。
ai+4 ai+3
ai+2
优点:具有自同步能力,强化了其抗统计分析 的能力
缺点:有n位长的差错传播。
11
同步流密码
同步流密码SSC (Synchronous Stream Cipher):
i与明文消息无关,密钥流将独立于明文。
现代密码学-第2章流密码习题与解答-20091021
现代密码学-第2章流密码习题与解答-20091021第2章流密码习题及参考答案1.设3级LFSR 的特征多项式为f (x )= 1+x +x 3,(1)画出该LFSR 的框图(2)给出输出序列的递推关系式(3)设初态为(0,0,1),写出输出序列(4)列出序列的游程解: (1) LFSR 框图为:(2)由3级LFSR 的特征多项式f (x )= 1+x +x 3。
得序列的递推公式为:a n =a n -1+a n -3 (3)所以输出序列如下:时刻状态输出 1级 2级 3级 0 1 0 0 0 1 1 1 0 0 2 1 1 1 1 3 0 1 1 1 4 1 0 1 1 5 0 1 0 0 6 0 0 1 1 71 0 0从上得输出序列为:0011101 00111010011101…… (4)周期为7,长为1的0游程1个,长为1的1游程1个,长为2的0游程1个,长为3的1游程1个。
a n -1 a n -2a n -3+2.设4阶LFSR 序列按如下规律生成a n =a n -1+a n -4+a n -2初始状态为(a 0, a 1, a 2, a 3)=(1, 1, 0, 1),求它的输出序列、周期及状态转移图。
解:由序列递推公式:a n = a n -1+a n -4+a n -2初始状态为(a 0, a 1, a 2, a 3)=(1, 1, 0, 1) 所以输出如下:时刻状态输出 1级 2级 3级 4级 0 1 0 1 1 1 1 0 1 0 1 1 2 00 1 0 0 3 0 0 0 1 1 4 1 0 0 0 0 5 1 1 0 0 0 6 0 1 1 0 0 71 0 1 11由上得11010001101000……,周期为7. 状态转移图如下:3.设4阶NLFSR 的特征多项式为f (x 1, x 2, x 3, x 4)= x 1+x 3+x 2x 4,初态为(a 0, a 1, a 2, a 3)=(1, 0, 0, 1),求它的输出序列、周期及状态转移图。
- 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
- 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
- 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。
2.2线性反馈移位寄存器
2013-8-4
6
反馈移位寄存器
状态:每一时刻的状态对应于GF(2)上的一个n维向量 (a1,a2,…,an) ,ai是第i级存储器的内容。共有2n种可能的状态。 反馈函数f(a1,a2,…,an):n元布尔函数,即n个变元a1,a2,…,an 可以独立地取0和1这两个可能的值,函数中的运算有逻辑与、 逻辑或、逻辑补等运算。 工作原理:当第i个移位时钟脉冲到来时,每一级存储器ai都将其内容 向下一级ai-1传递,并根据寄存器此时的状态计算f(a1,a2,…,an),作为 an+1。(输出-计算-移位-反馈)
2.3线性移位寄存器的特征多项式与序列周期
n级线性移位寄存器的输出序列满足递推关系
an+k=c1an+k-1 c2an+k-2 … cnak 用一个一元高次多项式表示 P(x)=1+c1x+…+cn-1xn-1+cnxn
称这个多项式为LFSR的特征多项式(连接多 项式)
2013-8-4 11
第2章 流密码
2.1 2.2 2.3 2.4 2.5 2.6 流密码的基本概念 线性反馈移位寄存器 线性移位寄存器的一元多项式表示 m序列的伪随机性 m序列密码的破译 非线性序列
1
2013-8-4
2.1 流密码的基本概念
流密码的基本思想 y=y0y1y2…=Ez0(x0)Ez1(x1)Ez2(x2)…。 密钥流z=z0z1…,明文串x=x0x1x2…: 密钥流由密钥流发生器f产生:zi=f(k,σi), σi是加密器中的记忆元件(存储器)在时刻i的状态, f是由密钥k和σi产生的函数。
2013-8-4
R(1)=R(2)=….=-1/7
15
Golomb随机性假设-PN序列
①在序列一个周期内,0与1出现个数相差至多为1; (0和1出现概率基本相同) ②长为l的游程占1/2l,在等长的游程中,“0”游 程和“1”游程个数相等或至多差一个。 (0和1在各位置上出现概率基本相同) ③异相自相关函数是常数,与白噪声的自相关函数( 函数)相近 m序列满足Golomb的三 条伪随机假设。 (序列平移不能提供更多信息) PN序列可用于通信中同步序列、码分多址(CDMA)、 导航中多基站码、雷达测距码等。PN序列虽与白噪 声序列相似,但远还不能满足密码体制要求。
线性反馈移位寄存器 实现简单、速度快、 理论成熟, 是构造密 钥流生成器的最重要 GF(2)上的n级线性反馈移位寄存器 的部件。
2013-8-4 8
例下图是一个5级线性反馈移位寄存器,其初始状态为 (a5,a4,a3, a2, a1 )=(1,1, 0,0,1)
反馈函数f(a1,a2,a3,a4,a5)=a4 + a1
(a5,a4,a3,a2,a1) 11001 01100 输出 1 0 01011 00101 10010 1 1 0
10110
0
01001
1
输出序列为满足递推关系ak+5=ak+3+ ak
周期31
1001101001000010101110110001111100110…
C2=1
C5=1
LFSR反馈函数 f(a1,a2,a3,a4,a5)=C2a4+ C5a1 定义LFSR特征多项式(连接多项式) P(x)=1+x2+x5
序列周期
a3
a2 +
a1
特征多项式
x3+x2+x+1
多项式周期 4 输出序列 ak+3=ak+ak+1+ak+2
10101010…
x3+1 3
ak+3=ak
101101… 3
序列周期
2
m序列的伪随机性
随机性:如果密钥流是周期的,要完全做到随机性是困难的。 游程:设{ai}=(a1a2a3…)为0、1序列,例如00110111, 其前两个数字是00,称为0的2游程;接着是11,是1的2游 程;再下来是0的1游程和1的3游程。 自相关函数:R(τ)=(1/T)∑k=1T-1 (-1)ak(-1)ak+τ, 序列向后 平移τ位,0≤τ≤T-1定义中的和式表示序列{ai}与{ai+τ}在 一个周期内对应位相同的位数与对应位不同的位数之差。当 τ=0时,R(τ)=1;当τ≠0时,称R(τ)为异相自相关函数。 10100111010
对线性移位寄存器序列进行非线性组合
2013-8-4
25
非线性组合
密钥流生成器
驱动子系统
一个或多个LFSR来实现
非线性组合子系统
用非线性组合函数F来实现
生成序列评价
周期极大化 线性复杂度
最短LFSR级数
极小特征多项式:最短LFSR的特征多项式
2013-8-4 26
2.6.2 J-K触发器
2013-8-4
0110011111 1101001000 1011010111
1011010111 1101001000 0110011111
4
2.1.3 密钥流产生器
状态转移函数 υ:σi→σi+1 输出函数 ψ:σi→zi,
密钥流发生器f: zi=f(k,σi)
目前最为流行和实用的密钥流产生器是线性反馈移位寄存器。
1
a6
a7 a8 a9 a10 c5 c4 c3 c2 c1
0
1 0 0 0 c5 c4 c3 c2 c1
1 1 0 1 0 1 0 1 0 0 0 1 0 0 1 1 0 0 1 0 0 0 1 0 0
0 1 c5 c4 c3 c2 c1 0 1 0 0 0 0 0 1
Sm l2 Sm1 l3 Sm 2 lm S1 0
Sm lm S1 lm1S2 l2 Sm1 l j 1Sm j
j 1 m 1
设序列{ai}满足线性递推关系:
ah1 0 1 0 0 ah ah 2 0 0 1 0 ah 1 a c c c c a 1 h n 1 h n n n 1 n 2 Sh+1=M· h S
2013-8-4
17
2.4 m序列的伪随机性
定理 m序列满足Golomb的三条伪随机假设。
m序列否满足密码要求?
① n级m序列的周期为2n-1,n大,周期指数地加大,
例如n=166时,p=1050(9.353610465 ×1049)。 ② 只要知道n次本原多项式,m序列极易生成。
③ m序列极不安全,只要泄露2n位连续数字,就可
由于X可逆
n级LFSR
cn cn 1 c1 an 1 an 2 a2 n X 1
2013-8-4
限制了其在密码学中的应用
19
序列递推关系:
ah n c1ah n1 c2 ah n2 cn ah
an1
an 2 a2 n cn cn 1 c1 a1 a2 an a2 a3 an 1 a a a n n 1 2 n 1
序列为m序列的充要条件特征多项式为本原多项式。
2013-8-4 12
初始101a3 +来自a2a1a3
a2 +
a1
特征多项式
x3+x+1 7
多项式周期
输出序列
x3+x2+1 7
ak+3=ak+ak+2
7
+
ak+3=ak+ak+1
10111001011… 7
a3 a2 a1
10100111010…101001 11010…
2013-8-4
2
加解密变换的选取
二元加法流密码 加密变换可表示为yi=zi xi。
2013-8-4
3
流加密举例
11010010000101 01100111111100
10110101111001 11010010000101 01100111111100
10110101111001
序列周期
序列周期 使对所有k,ak+r=ak 成立的的最小整数r 多项式的周期使f(x)除尽xp-1的最小整数p的取值。 序列的周期r与特征多项式的周期p密切相关。(r/p) 特征多项式是n次既约多项式周期为p ,则生成序列的 周期为p。 输出序列最大周期为2n-1。 不可约多项式最大周期达到2n-1。 m序列 本原多项式
1 0 0 1 0 0 1 0 0 0 0 1 1 0 11 0 11 0
c5
c4 c3 c2 c1 1 0 0 1 0
ak 5 c5 ak c2 ak 3 ak ak 3
2.6 非线性序列
非线性移位寄存器序列
f(a1,a2,a3)=a1a2+a3 输出序列10111011....,周期为4. 非线性移位寄存器研究困难, 对线性移位寄存器研究充分。
2013-8-4 7
线性反馈移位寄存器LFSR
线性反馈移位寄存器LFSR(linear feedback shift register):反馈函数f(a1,a2,…,an)是线性函数. f(a1,a2,…,an)=cna1cn-1a2…c1an 输出序列an+1 其中常数ci=0或1,是模2加法。 ci=0或1可用开关的断开和闭合来实现,
a1 a2 a3 a4 a 5 a2 a3 a4 a5 a3 a4 a5 a6 a4 a5 a6 a7 a5 a6 a7 a8 a6 a7 a8 a9