密码学流密码
- 格式:ppt
- 大小:648.50 KB
- 文档页数:37
现代密码学第五讲(一):流密码《现代密码学》第五讲流密码(一)上讲内容回顾分组密码定义(分组填充)分组密码的发展历史(Shannon DES AES。
)保密系统的安全性分析及分组密码的攻击(主动/被动唯密文/已知明(密)文/选择明(密)文/自适应选择明(密)文)数据加密标准(DES)算法介绍高级加密标准(AES)算法介绍中国无限局域网标准(SMS4)算法介绍?分组密码算法的运行模式本章主要内容流密码(序列密码)的思想起源?流密码技术的发展及分类基于移位寄存器的流密码算法?其它流密码算法Estream推荐流密码算法软件算法硬件算法密钥流生成器种子密钥明文m1k1c1m2k2c2加密过程密钥流生成器种子密钥密文c1k1m1c2k2m2解密过程设明文为m=m1m2… m i∈GF(2), i>0?设密钥为k=k1k2… ki∈GF(2), i>0?设密文为c=c1c2… c i∈GF(2), i>0?则加密变换为c i=m i+ k i(mod 2) i>0?则解密变换为m i=c i+ k i(mod 2) i>0思想起源:20世纪20年代的Vernam 体制,即“一次一密”密码体制。
香农利用信息论证明“一次一密”密码体制在理论上不可破译?由有限的种子密钥生成无限长的随机密钥序列?流密码研究内容——设计安全高效的伪随机序列发生器密钥流生成、存储和分发困难随机序列计算机无法实现评测标准:线性复杂度高;周期大Golomb伪随机性测试周期为r的0-1序列的随机性公设如下:r是奇数,则0-1序列{si}的一个周期内0的个数比1的个数多一个或少一个;若r是偶数,则0的个数与1的个数相等.在长度为r的周期内,长为1的游程的个数为游程总数的1/2,长为2的游程的个数占游程总数的1/22,…, 长为c的游程的个数占总游程的1/2c.而且对于任意长度,0的游程个数和1的游程个数相等.例:0110111101中,4个游程长度为1,1个游程长度为2,1个游程长度为4异相自相关函数是一个常数.设一个周期为r的序列a1, a2,…, a r, a r+1, a r+2,…,将序列平移T位得到另外一个序列a T, a T+1,… a r+T, a r+T+1,…,若a i= a i+T, 则称对应第i位相等。
回忆:Vigenère密码•加密消息:INDIVIDUAL CHARACTER密钥:HOSTm=I ND I V I DU ALCH ARAC TERk=HOST HOST HOST HOST HOSE k(m)=P BV B C W VN HZUA HFSV ASJ1One-Time Pad•用和明文一样长的随机密钥流K •加密:M = C = K = Z2nc i = mi⊕kiOTP: 安全性分析•定理:OTP is Unconditional Security3第五章流密码•流密码总览•伪随机序列发生器(Pseudorandom Number Generation)•PRNGs-Linear Feedback Shift Register (LFSR)-Blum Blum Shub(BBS)•流密码4流密码•一次一密(OTP): C=P⊕K ,K 是随机密钥流•流密码:–思想: 代替“随机”为“伪随机”–用Pseudorandom Number Generator (PRNG)–PRNG: {0,1}s→{0,1}n–种子是秘密密钥•C=M⊕PRNG(seed)56回忆分组密码•加密消息的方式–分组密码•c=(c 1c 2…)(c i c i+1…)... = e K (m 1m 2...) e K (c i c i+1…)…–流密码•c=c 1c 2…=e k1(m 1)e k2(m 2)…•密钥流(k 1,k 2,…)流密码:性质•数学性较好–OTP 绝对保密–伪随机有很长的研究历史•加密速度很快–基于“⊕”•密钥流只能用一次–已知明文攻击–PRNG的周期应该足够长•应用很广–Network, DVD,移动通信8第五章流密码•流密码总览•伪随机序列发生器(Pseudorandom Number Generation)•PRNGs-Linear Feedback Shift Register (LFSR)-Blum Blum Shub(BBS)•流密码9伪随机数应用•相互认证–使用一次性随机数来防止重放攻击•会话密钥的产生–用随机数作为会话密钥•公钥密码算法中密钥的产生–用随机数作为公钥密码算法中的密钥–以随机数来产生公钥密码算法中的密钥10密码学中对伪随机数的要求•随机性–均匀分布:数列中每个数出现的频率相等或近似相等•不可预测性–密码分析者很难从数列前边的数预测出后边的数11PRNG•定义:一个伪随机序列发生器G是一个确定的多项式算法,使得–∃l(n)>n, ∀x, |G(x)| = l(|x|)–伪随机性:{G(U n); n≥1} 同一个随机序列{U l(n);n≥1}是多项式不可区分的12伪随机性•定义:两个随机序列{X n; n≥1} 和{Y n; n≥1}是多项式不可区分的,如果:∀多项式布尔函数f: {0,1}*→{0,1}∀正的多项式p(x) 和n≥N|Pr(f(X n)=1) –Pr(f(Y n)=1)| < 1/p(n)•定义:两个随机序列{X n; n≥1} 和{Y n; n≥1}是统计不可区分的,如果:∆(n) = ½Σx∈{0,1}n|Pr(X n=x) -Pr(Y n=x)| < 1/p(n)13Golomb随机性检测1)在序列的一个周期内,0和1的个数相差至多为12)在序列的一个周期内,长为1的游程占总游程数的1/2,长为2的游程占总数的1/22,…长为i的游程占游程总数的1/2i,…,且在等长的游程中,0和1游程个数至多相差为13)异自相关函数是一个常数•满足以上三个条件的序列称为伪随机序列,也称为拟噪声序列(Pseudo Noise Sequence,PN序列)15举例•讨论序列:1010111011000111110011010010000 1010111011000111110011010010000...是否满足Golomb随机性检测的前2个条件?•周期:31•0的个数15;1的个数16•0和1的1-游程个数都为4;0和1的2-游程个数都为2;0和1的3-游程个数都为1;0的4-游程个数为1 1的4-游程个数为0;0的5-游程个数为0;1的5-游程个数为1•i-游程个数占游程总数的1/2i16第五章流密码•流密码总览•伪随机序列发生器(Pseudorandom Number Generation)•PRNGs-Linear Feedback Shift Register (LFSR)-Blum Blum Shub(BBS)•流密码17LFSR的最大长度•定理:LFSR的最大序列长度是2n-1, ( n 指寄存器个数)•Proof:–For K={k0, k1,…, k L}, there are 2L different states–The sequence for K is K1,K2,…,K2L,K i,…K i must be in K1,K2,…,K2L•So repeated–If bits in K are all zero, should be excluded–So 2L-125m-序列(m-sequence)•定义:由LFSR产生的最大长度序列是m-序列}说明:•m-序列{zi–{z} 的周期是:2n-1i–满足Golomb随机性检测•在一个周期内, 0和1的个数是2n-1-1及2n-1•其它…26m-序列内涵•定理:{ai } 是m-序列当且仅当它的特征多项式p(x)是本原多项式•定义:如果p(x)的次数是n,且其周期为2n-1,则称p(x)为本原多项式•定义:设p(x)为GF(2)上的多项式,使式子p(x)|x p-1成立的最小正整数p称为p(x)的周期2829线性复杂性•设{a i } 的线性复杂性是L •已知明文攻击:•复杂性:–L 已知: 用线性关系O(L)–L 未知:用Berlekamp-Massey 算法O(L 2)=L 21c .c c ..⎢⎢⎢⎣⎡⎢⎥⎥⎥⎥⎦⎤n+L-1n+1n a .a a ..⎢⎢⎢⎣⎡⎢⎥⎥⎥⎥⎦⎤n+L-2n n-1a .a a ..⎢⎢⎢⎣⎡⎢n+L-3n-1n-2a .a a ...…..n-1n-L +1n-L a .a a ..⎥⎥⎥⎥⎦⎤……实际应用中的非线性序列•对于非线性序列的研究还在初级阶段•实际应用中的非线性序列–用m-序列作为驱动序列–非线性混合序列–钟控序列31钟控序列•思想:用一些m-序列来驱动其它m-序列•Advantages:–Its linear complexity is exponential with the number of registers in LFSR–Its linear complexity can be controlled easily •Disadvantages:–Not good randomness–Many long runs33第五章流密码•流密码总览•伪随机序列发生器(Pseudorandom Number Generation)•PRNGs-Linear Feedback Shift Register (LFSR)-Blum Blum Shub(BBS)•流密码35Blum Blum Shub发生器•产生伪随机序列的另一种方法:基于数论中的难题•Shamir发生器–分解问题•BBS 发生器–二次剩余问题3637Blum Blum Shub 发生器1. 产生两个大的素数p 和q (p ≡q ≡3 mod 4)2. 计算n=pq3. 选择一个随机的整数x ,gcd(x,n)=14. BBS 的初始输入是: x 0≡x 2(mod n )5. 最后,BBS 通过如下过程产生一个随机的序列b 1 b 2 b 3…:a) x j ≡x j-12(mod n )b) b j 是x j 的最低有效比特BBS发生器:举例1. 产生:p=24672462467892469787q=3967368945678345898032. 则n=97884761408531107941688552174137157819613. 选择x=8732456478884783490134. 则初始输入就是:x≡x2(mod n)≡884529871047878009708991774601012286317238BBS发生器:举例5. 由公式x j≡x j-12(mod n)可得x1,x2,…,的值:x1 ≡7118894281131329522745962455498123822408 x2 ≡3145174608888893164151380152060704518227 x3 ≡4898007782307156233272233185574899430355 x4 ≡3935457818935112922347093546189672310309 x5 ≡675099511510097048901761303198740246040 ... ...b2 b3 b4 b5 …=01110…则产生的序列是b139BBS发生器分析•Fact:If there is a distinguisher D which tells BBS from random sequence, then D can be converted into a probabilistic polynomial-time algorithm A which guess the x-1mod 2 givenx0∈Z N Q+ (D⇒A)40第五章流密码•流密码总览•伪随机序列发生器(Pseudorandom Number Generation)•PRNGs-Linear Feedback Shift Register (LFSR)-Blum Blum Shub(BBS)•流密码41流密码设计目标•设计一个性能良好的流密码是一项困难的任务:–长周期–高线性复杂度–统计性能好–足够的“混乱”42A543A5 说明•钟控序列–由3个m-序列驱动–由3个LFSRs产生–主要函数是非线性的•应用–A5 可以在GSM中保护语音通信44了解RC4•Designed by Ron Rivest in 1987, public in 1994•Simple and effective design–Very fast and very easy to remember•Byte-oriented stream cipher–The internal states is a byte array S[0..255]–S[0..255] is a permutation of 0 to 255•Applications–In SSL to protect the Internet traffic–In WEP to protect the wireless links45RC4:初始化•Produce a initial permutation from the key K(K is divided into L bytes. In fact, this is a pad)•Initialisation:for i=0to 255 do S[i] = i;j =0;for i=0to 255 doj= (j +S[i] + K[I mod L]) mod 256;swap (S[i], S[j]);46RC4: 加密•Two indexes: i, j with i=j=0•Produce one byte of keystream Ks:i = (i + 1)mod 256;(Loop for next Ks)j = (j + S[i])mod256;swap (S[i], S[j]);t = (S[i] + S[j])mod256;Ks = S[t];•Encryption: C i= M i⊕S[t]47RC4安全•RC4的周期是:256! ≈21700•宣称可抵抗已知的所有攻击–有一些分析, 没有实践49总结•流密码总览•伪随机序列发生器(Pseudorandom Number Generation)•PRNGs-Linear Feedback Shift Register (LFSR)-Blum Blum Shub(BBS)•流密码-A5-RC450。
古典密码和流密码的原理及应用古典密码和流密码是密码学中两种基本的加密方法,它们都有着各自独特的原理和应用。
本文将深入介绍古典密码和流密码的原理,以及它们在实际中的应用。
古典密码是指一种使用简单的替换或排列规则对明文进行加密的加密方法。
古典密码包括凯撒密码、简单曹文和多替换密码等。
凯撒密码是最为典型的古典密码之一。
凯撒密码顾名思义,就是由古罗马军事家凯撒创立的一种密码算法。
凯撒密码的原理是将明文中的每个字母按照一个固定的偏移量进行位移,以得到密文。
若偏移量为3,那么明文中的字母A就被替换成D,B替换为E,以此类推。
而解密过程则是将密文中的字母按同样的偏移量进行逆向位移,得到原始明文。
古典密码的原理相对简单,适用于只具备基本加密需求的场景。
由于其固定的替换或者排列规则,古典密码容易受到密码分析的攻击,安全性较低。
在现代的密码保护领域,古典密码已经渐渐被更安全的加密方法所替代。
流密码是另一种加密方法,它采用了更为复杂的原理进行加密。
流密码的基本原理是利用一个伪随机序列对明文进行逐位的加密。
这个伪随机序列可以通过特定的算法以及一个密钥生成,而密钥则决定了伪随机序列的生成规则。
流密码的一个经典应用是RC4流密码算法。
RC4是由著名密码学家罗纳德·里维斯提出的一种流密码算法,它被广泛应用于SSL/TLS协议中,用于保护网络通信的安全性。
RC4算法使用了一个变长的密钥进行初始化,并以此生成一个伪随机的密钥流,再将这个密钥流与明文进行逐位的异或运算,得到密文。
解密过程与加密过程类似,将密文与生成的密钥流进行异或运算,还原出原始明文。
流密码相对于古典密码来说,具有更高的安全性。
因为伪随机序列的长度会根据密钥的长度而变化,使得密码分析者难以找到规律进行破解。
流密码的加密过程是逐位进行的,使得即使部分明文泄露,也无法得知整个密文的信息。
流密码则可以提供更高的安全性,适用于对信息保密要求较高的场景,比如网络通信和金融交易等领域。
古典密码和流密码的原理及应用1. 引言1.1 古典密码和流密码的定义古典密码是一种利用固定的密码算法对明文进行加密的加密方式,其加密和解密过程都是通过固定的规则来进行的。
古典密码通常采用替换或移位等简单的算法进行加密操作,如凯撒密码、栅栏密码等。
流密码是一种利用流加密算法对明文进行加密的加密方式,其加密过程是通过不断变化的密钥流和明文进行异或运算来实现的。
流密码不像古典密码那样只进行一次加密操作,而是通过不断更新密钥流来生成大量密文。
古典密码和流密码在密码学领域有着重要的应用价值。
古典密码作为密码学的起源,为人们提供了了解密码学基础原理的重要途径,同时也为密码算法的发展奠定了基础。
流密码则在现代通信领域有着广泛应用,如在无线通信、网络安全等方面都有着不可或缺的作用。
古典密码和流密码的定义和应用价值对于理解密码学的基本概念和实际应用具有重要意义。
1.2 古典密码和流密码的应用价值古典密码和流密码在当今信息安全领域发挥着重要作用,它们的应用价值不可忽视。
古典密码通过对明文进行加密处理,保护了信息的机密性。
它们被广泛应用于军事、政府机构以及商业组织中,用于保护机密通信和数据。
古典密码的应用还涉及个人隐私保护、电子支付安全等方面,为社会的稳定和发展提供了有力支持。
古典密码和流密码的应用价值不仅体现在保护信息安全和维护隐私方面,还有助于促进信息技术的发展和推动数字化社会的进步。
随着信息安全需求的不断增加和密码学技术的不断发展,古典密码和流密码将在未来的社会中发挥更加重要的作用。
2. 正文2.1 古典密码的原理古典密码是一种利用简单的替换或移位规则来加密信息的传统密码体制。
其原理是根据特定的规则将明文转换为密文,以达到保障信息安全的目的。
古典密码的加密过程通常涉及到替换、移位、排列等操作,而解密过程则是反向的操作,将密文转换为明文。
古典密码主要有几种经典的类型,包括凯撒密码、恺撒密码、栅栏密码等。
这些密码各有特点,但都是基于简单的规则进行加密,容易被破解。
古典密码和流密码的原理及应用【摘要】古典密码和流密码是密码学领域中常见的两种加密方式。
古典密码是基于固定的密钥和特定的算法来加密和解密信息的传统加密方式,其原理包括替换、置换和移位等方法。
古典密码在历史上被广泛运用于军事和外交领域,如凯撒密码和维吉尼亚密码。
流密码则是一种根据密钥生成的伪随机比特流对信息进行加密,其原理包括异或运算和伪随机序列生成。
流密码在现代通信和计算机系统中得到广泛应用,如SSL/TLS协议和Wi-Fi加密。
古典密码和流密码在原理和应用上各有特点,比较之下可以发现各自的优劣。
未来,随着信息技术的不断发展,古典密码和流密码的应用前景将会更加广阔。
【关键词】古典密码、流密码、加密、解密、原理、应用、比较、前景展望1. 引言1.1 古典密码和流密码的原理及应用概述古典密码和流密码是密码学中两种基本的加密方法,它们在信息安全领域中有着重要的应用。
古典密码是一种基于固定密钥的加密算法,其原理是通过对明文进行一系列固定的置换和替换操作来生成密文,只有使用相同的密钥才能解密出明文。
古典密码在历史上曾经被广泛应用于军事和外交领域,如凯撒密码、仿射密码等。
流密码则是一种基于流密钥的加密算法,其原理是通过生成一系列伪随机的密钥流与明文进行按位异或操作来得到密文。
流密码的特点是每个明文位与密钥流中的对应位独立加密,提高了加密的安全性。
古典密码和流密码各自有其独特的应用场景和特点,古典密码适用于短文本的加密,而流密码则适用于大数据流的加密。
在当今信息安全日益重要的环境下,古典密码和流密码的原理及应用也在不断发展和完善,以应对新的安全挑战。
本文将分别介绍古典密码和流密码的原理和应用,以及对它们的比较和展望。
2. 正文2.1 古典密码的原理古典密码是一种使用固定密钥进行加密和解密的加密方式,其原理主要包括替换和置换两种方法。
替换是将明文中的字母或符号按照一定规则替换成密文中的字母或符号,从而实现加密。
最经典的替换密码是凯撒密码,即将所有字母按照一个固定的偏移量进行替换。
古典密码和流密码的原理及应用1. 引言1.1 古典密码和流密码的概念定义古典密码和流密码是密码学中两种重要的加密技术。
古典密码是一种根据特定规则对明文进行替换或移位加密的方法,常见的古典密码包括凯撒密码、维吉尼亚密码等。
流密码则是一种通过生成伪随机密钥流对明文进行加密的方法,相较于古典密码更加安全和高效。
古典密码和流密码在信息安全领域扮演着不可或缺的角色。
古典密码的加密原理简单直接,易于理解和实现,被广泛运用于历史上的通信保密中。
流密码则更适合于现代网络通信的加密保护,其高强度和高速性能满足了当今信息传输的安全需求。
通过对古典密码和流密码的深入理解和应用,我们能够更好地保护个人隐私和企业机密,确保信息传输过程的安全性和私密性。
古典密码和流密码的概念定义及其在加密通信中的重要性,将在下文中详细探讨和阐述。
1.2 古典密码和流密码的重要性古典密码和流密码在信息安全领域中扮演着至关重要的角色。
古典密码作为最早的密码形式之一,其原理和应用影响了后续密码学的发展。
通过对明文进行替换、置换或加密等操作,古典密码可以有效保护敏感信息的安全性,防止未经授权的访问和窃取。
在古代,古典密码曾被用于军事、外交和商业领域,起到了至关重要的保密作用。
而流密码则是一种更加现代化和复杂的密码形式,其原理在信息传输中起着重要作用。
流密码以流式加密和解密为基础,可以实现更高级别的加密算法和更加安全的信息传输。
在当今信息化时代,随着互联网的普及和数据传输量的增加,流密码的应用变得愈加广泛。
古典密码和流密码的重要性体现在它们可以帮助保护个人隐私、商业机密和国家安全。
在信息安全风险不断增加的背景下,加强对密码学原理和技术的研究和应用,对于确保信息的保密性和完整性至关重要。
古典密码和流密码不仅仅是传统密码学的重要组成部分,更是信息安全领域中不可或缺的重要工具。
对于个人、企业和政府机构而言,了解和应用古典密码和流密码是确保信息安全的必由之路。