当前位置:文档之家› 格密码学课程四

格密码学课程四

格密码学课程四
格密码学课程四

Lattices in Cryptography

University of Michigan,Fall 2015Lecture 4Coppersmith,Cryptanalysis Instructor:Chris Peikert

Scribe:Jacob Alperin-Sheriff

1Coppersmith’s Theorem

Today we prove the “full version”of Coppersmith’s Theorem,stated here.

Theorem 1.1.Let N be a positive integer and f (x )∈Z [x ]be a monic,degree-d polynomial.There is an algorithm that,given N and f ,ef?ciently (i.e.,in time polynomial in the bit length of the inputs)?nds all integers x 0such that f (x 0)=0mod N and |x 0|≤B ≈N 1/d .

In the theorem statement and what follows,for simplicity of analysis we use ≈to hide factors which are polynomial in d and N εfor some arbitrarily small constant ε>0.1The remainder of this section is dedicated to the proof of the theorem.

Last time we considered adding multiples of N ·x i to f (x ),which preserves the roots of f (x )modulo N .But this only let us obtain a bound of B ≈N 2/d 2.To do better,we consider higher powers of f

(x )and N .That is,our strategy will be to use LLL to ef?ciently ?nd a nonzero polynomial h (x )= i h i x i ∈Z [x ]of

degree at most n =d (m +1),for some positive integer m to be determined,such that:

1.Any mod-N root of f is a mod-N m root of h ,i.e.,if f (x 0)=0mod N then h (x 0)=0mod N m .

2.The polynomial h (Bx )is “short,”i.e.,its coef?cients h i B i are all less than N m /(n +1)in magnitude.From the second property it follows that if |x 0|≤B ,then

|h (x 0)|≤ i

|h i B i |

Therefore,by the ?rst property,any small mod-N root of f is a root of h (x )over the integers (not modulo anything).So,having found h (x ),we can ef?ciently factor it over the integers and check whether each of its small roots is indeed a root of f (x )modulo N .

To construct a lattice basis that lets us ?nd such an h (x ),the ?rst helpful insight is that f (x 0)=0mod N implies f (x 0)k =0mod N k for any positive integer k .To create our lattice basis,we de?ne n =d (m +1)polynomials g u,v (x )whose mod-N m roots will include all of the mod-N roots of f (x ).Concretely,

g u,v (x )=N m ?v f (x )v x u for u ∈{0,...,d ?1},v ∈{0,...,m }.

We use two important facts about these polynomials.First,f (x )is monic and of degree d ,so g u,v (x )has leading coef?cient N m ?v and is of degree exactly u +vd .Second,if x 0is a mod-N root of f (x ),then x 0is a mod-N m root of g u,v (x )for all u,v ,because N m divides N m ?v f (x 0)v .

The basis vectors for our lattice are de?ned by the coef?cients of g u,v (Bx )where,as above,B corresponds to the bound on the absolute value of the roots.Speci?cally,the basis is B =[b 0,...,b n ?1],where b u +vd is the coef?cient vector of g u,v (Bx )represented as a polynomial in x .Since g u,v (x )is of degree u +vd with leading coef?cient N m ?v ,and u +vd runs over {0,...,n ?1}as u,v run over their respective ranges,the basis is triangular,with diagonal entries N m ?v B u +vd .A simple calculation then reveals that

det(B )=B n (n ?1)/2·N dm (m +1)/2.

Running the LLL algorithm on B yields a nonzero vector v ∈L (B )of length

v ≤2(n ?1)/2det(B )1/n =2(n ?1)/2 B n (n ?1)/2·N

dm (m +1)/2 1/n ≤(2B )n/2·N m/2.

1This yields a true bound of B =N 1/d ?ε,though with more work the theorem can be proved for B =N 1/d .

Setting B≈(N1/d)m/(m+1),which is N1/d?εfor large enough(but still polynomially bounded)m,we can ensure that(2B)n/2

2Cryptanalysis of RSA Variants

One of the most interesting applications of Coppersmith’s algorithm is to attack variants of RSA.

2.1RSA Recap

The RSA function and cryptosystem(named after its inventors Rivest,Shamir and Adleman)is one of the most widely used public-key encryption and digital signature schemes in practice.

It is important to differentiate between the RSA function and an RSA-based cryptosystem.The RSA function is de?ned as follows.Let N=pq,where p and q are distinct very large primes(according to current security recommendations,they should be at least1,000bits each).Let e be a public“encryption exponent”such that gcd(e,?(N))=1,where?(N)=|Z?N|=(p?1)(q?1)is the totient function.The RSA function f e,N:Z?N→Z?N is de?ned by the public values(N,e)as follows:

f e,N(x):=x e mod N.

It is conjectured that,given just N,e,and y=f e,N(x)for a uniformly random x∈Z?N,it is computationally infeasible to?nd x.However,one can ef?ciently invert the RSA function using some extra“trapdoor”information.Let d be the“decryption exponent”de?ned by e·d=1mod?(N),which is ef?ciently computable given the factorization of N.Then the inverse RSA function is de?ned as

f?1

(y):=y d mod N.

e,N

This indeed inverts the function because,for y=f e,N(x)=x e mod N,we have

y d=(x e)d=(x e·d mod?(N))=x mod N,

where the?rst inequality holds because the order of the group Z?N is?(N).It follows that f e,N is a bijection (also called a permutation)on Z?N.

2.2Low-Exponent Attacks

Because exponentiation modulo huge integers is somewhat computationally expensive,many early proposals advocated using encryption exponents as small as e=3with RSA,due to some signi?cant ef?ciency bene?ts.2For example,using an encryption exponent of the form e=2k+1,one can compute x e using only k+1modular multiplications via the standard“repeated squaring”method.Moreover,the basic RSA function still appears to be hard to invert(on uniformly random y∈Z?N)for small e.

Like any other deterministic public-key encryption scheme,the RSA function itself is not a secure cryptosystem.This is because if an attacker had a guess about the message in a ciphertext c(say,because the number of possible messages was small),it could easily test whether its guess was correct by encrypting the message and checking whether the resulting ciphertext matched c.Therefore,one needs to use a randomized 2Note that one cannot use e=2(or any other even e)because it is never coprime with?(N),which is also even.

encryption algorithm.The most obvious way to randomize the RSA function is to append some“padding”of random bits to the end of the message before encrypting.However,devising a secure padding scheme is quite dif?cult and subtle,due to the existence of clever attacks using tools like LLL.Here we describe one such attack:when e is small and the padding is not long enough,the attack ef?ciently recovers an encrypted message M given just two encryptions of M with different paddings.3

We start with a simple“related-message attack,”which is interesting in its own right and will also be a key component of the padding attack.Note that this attack is on the deterministic version of the RSA function. Lemma2.1.Let e=3and M1,M2∈Z?N satisfy M1= (M2)mod N,where (x)=ax+b for some a,b=0is a known linear function.Then one can ef?ciently recover M1,M2from C1=M e1mod N and C2=M e2mod N(and the other public information N,e,f).4

Proof.De?ne polynomials g1(x)= (x)e?C1,g2(x)=x e?C2∈Z N[x].Notice that M2is a root of both g1and g2,and thus(x?M2)is a common divisor of g1and g2(here is where we need a=0).If it is in fact the greatest common divisor(i.e.,the common divisor of largest degree),then we can?nd it using Euclid’s algorithm.5We show next that(x?M2)is indeed the greatest common divisor.

First observe that for any C∈Z?N,the polynomial x3?C has only one root modulo N,because the RSA function is a bijection.As a result,we have g2(x)=x3?C2=(x?M2)(x2+β1x+β0),where the quadratic term is irreducible,so gcd(g1,g2)is either(x?M2)or g2.Since b=0,we have that g2(x) g1(x), and therefore the greatest common divisor is indeed x?M

2.

We now consider a potential padding method:to encrypt a message M,one appends m uniformly random bits r∈{0,1}m(for some publicly known value of m),and applies the RSA function:

C=f N,e(M r).

(Upon decryption,the pad bits are ignored.)Mathematically,this corresponds with transforming M to 2m·M+r for uniformly random r∈{0,...,2m?1}.Note that M must be short enough,and m small enough,so that the result can be interpreted as an element of Z?N and unambiguously represents M.

The following theorem shows that if the pad length is too short(as determined by the size of e),then it is possible to ef?ciently recover the message M from two distinct encryptions of it.Notice that for e=3,a pad length of n/9≈2,000/9≈222is large enough to prevent any repeated pad values with overwhelming probability,yet it stil provides essentially no security.

Theorem2.2.Let N have bit length n,and let m≤ n/e2 for e=3be the bit length of the pad.Given two encryptions C1,C2of the same message M with arbitrary distinct pads r1,r2∈{0,...,2m?1},one can ef?ciently recover M.

Proof.We have M1=2m·M+r1and M2=2m·M+r2for some distinct r1,r2∈{0,...,2m?1}.We de?ne two bivariate polynomials g1(x,y),g2(x,y)∈Z N[x]as

g1(x,y)=x e?C1=x e?M e1

g2(x,y)=(x+y)e?C2=(x+y)e?M e2

3In real-life applications it is quite common to encrypt the same message more than once,e.g.,via common protocol headers or retransmission.

4It turns out that theorem is“usually”true even for e>3,but there are rare exceptions.

5Strictly speaking,Euclid’s algorithm would normally require Z N to be a?eld,which it is not.However,if Euclid’s algorithm fails in this setting then it reveals the factorization of N as a side effect,which lets us compute the decryption exponent and the messages.

Essentially,x represents the unknown message,and y represents the unknown pads.Since g1is independent of y,we have that(x=M1,y= )is a root of g1for any value of y.Similarly,(x=M1,y=r2?r1)is a root of g2.

To take the next step,we need a concept called the resultant of two polynomials in a variable x,which is de?ned as the product of all the differences between their respective roots:

res x(p(x),q(x))=

(x0?x1).

p(x0)=q(x1)=0

In our setting,we treat the bivariate polynomials g i(x,y)as polynomials in x whose coef?cients are polynomials in y(i.e.,elements of Z N[y]),which is why res x(g1,g2)is a polynomial in y.

We use a few important facts about the resultant.First,it is clear that res x(p(x),q(x))=0when p,q have a common root.Second,res x(p,q)=det(S p,q),where S p,q is a square(deg p+deg q)-dimensional matrix called the Sylvester matrix,whose entries are made up of various shifts of the coef?cient vectors of p and q.Therefore,the resultant can be computed ef?ciently.Finally,in our setting the x-coef?cients of g1 are degree-0polynomials in y,while the x-coef?cients of g2are polynomials of degree at most e in y.By de?nition of the Sylvester matrix,the resultant h(y)=res x(g1,g2)has degree at most e2in y.

We claim that?=r2?r1=0,which has absolute value|?|≤2m

Armed with this information,our attack proceeds as follows.We construct the polynomials g1,g2,and compute the resultant h(y)=res x(g1,g2).Then deg(h(y))≤e2,and we know that h(y)has?=r2?r1= 0as a root modulo N.We run Coppersmith’s algorithm on h(y),and since|?|≤2m

1,C2.

The above is just one of countless Coppersmith-style attacks against variants of RSA and problems related to factoring,such as:

?Small decryption exponent d:so far the best known attack recovers d if it is less than N0.292.This uses a bivariate version of Coppersmith that lacks a rigorous proof of correctness,but seems to work well in practice.Important open questions are whether d

?Partial secret key exposure:when certain bits of d or the factors p,q of N are exposed,it is often possible to recover them completely.

6Note that we have rigorously proved Lemma2.1only for the case e=3,but the attack will work as long as the algorithm from the lemma actually succeeds.

密码学课程设计

密码学 课程设计报告

目录 实验一凯撒加密算法 (1) 1.1算法简介 (1) 1.2算法原理 (1) 1.3加解密算法 (1) 1.4运行截图 (2) 实验二MD5算法 2.1算法简介 (3) 2.2 算法分析 (3) 2.3 算法步骤 (4) 2.4运行截图 (5) 实验三分组密码AES加密解密 (6) 3.1 算法概述 (6) 3.2 算法设计思路 (6) 3.3运行结果 (8) 实验四椭圆曲线加密算法 (9) 4.1 算法简介 (9) 4.2算法设计 (9) 4.3 运行结果 (9) 实验总结 (10)

实验一凯撒加密算法 1.1算法简介 著名的凯撒加密算法就是一种简单的替代加密法,它是将明文中每一个字符用右移3位并以26个字符为模的替代(A由D替代,B由E替代,··…—,W由Z 替代,X由A替代,Y由B替代,Z由C替代)。 1.2基本原理 在密码学中存在着各种各样的置换方式,但所有不同的置换方式都包含2个相同的元素。密钥和协议(算法)。凯撒密码的密钥是3,算法是将普通字母表中的字母用密钥对应的字母替换。置换加密的优点就在于它易于实施却难于破解. 发送方和接收方很容易事先商量好一个密钥,然后通过密钥从明文中生成密文,即是敌人若获取密文,通过密文直接猜测其代表的意义,在实践中是不可能的。 凯撒密码的加密算法极其简单。其加密过程如下: 在这里,我们做此约定:明文记为m,密文记为c,加密变换记为E(k1,m)(其中k1为密钥),解密变换记为D(k2,m)(k2为解密密钥)(在这里k1=k2,不妨记为k)。凯撒密码的加密过程可记为如下一个变换: c≡m+k mod n (其中n为基本字符个数) 同样,解密过程可表示为: m≡c+k mod n (其中n为基本字符个数) 对于计算机而言,n可取256或128,m、k、c均为一个8bit的二进制数。显然,这种加密算法极不安全,即使采用穷举法,最多也只要255次即可破译。当然,究其本身而言,仍然是一个单表置换,因此,频率分析法对其仍是有效的。 1.3加解密算法 恺撒密码的替换方法是通过排列明文和密文字母表,密文字母表示通过将明文字母表向左或向右移动一个固定数目的位置。例如,当偏移量是左移3的时候(解密时的密钥就是3): 明文字母表:ABCDEFGHIJKLMNOPQRSTUVWXYZ 密文字母表:DEFGHIJKLMNOPQRSTUVWXYZABC 使用时,加密者查找明文字母表中需要加密的消息中的每一个字母所在位置,并且写下密文字母表中对应的字母。需要解密的人则根据事先已知的密钥反过来操作,得到原来的明文。例如: 明文:THE QUICK BROWN FOX JUMPS OVER THE LAZY DOG

密码学答案2

《密码学原理与实践(第三版)》课后习题参考答案 (由华中科技大学信安09级提供) 第二章 2.1(何锐) 解:依题意有:x ∈{2,…,12},y ∈{D ,N} 计算Pr[x ,y]: Pr[2,D]=1/36 Pr[3,D]=0 Pr[4,D]=1/36 Pr[5,D]=0 Pr[6,D]=1/36 Pr[7,D]=0 Pr[8,D]=1/36 Pr[9,D]=0 Pr[10,D]=1/36 Pr[11,D]=0 Pr[12,D]=1/36 Pr[2,N]=0 Pr[3,N]=1/18 Pr[4,N]=1/18 Pr[5,N]=1/9 Pr[6,N]=1/9 Pr[7,N]=1/6 Pr[8,N]=1/9 Pr[9,N]=1/9 Pr[10,N]=1/18 Pr[11,N]=1/18 Pr[12,N]=0 计算Pr[x | y]: 有Pr[D]=1/6 Pr[N]=5/6 Pr[2 | D]=1/6 Pr[3 | D]=0 Pr[4 | D]=1/6 Pr[5 | D]=0 Pr[6 | D]=1/6 Pr[7 | D]=0 Pr[8 | D]= 1/6 Pr[9 | D]=0 Pr[10 | D]= 1/6 Pr[11 | D]=0 Pr[12 | D]=1/6 Pr[2 | N]=0 Pr[3 | N]=1/15 Pr[4 | N]=1/15 Pr[5 | N]=2/15 Pr[6 | N]=2/15 Pr[7 | N]=1/5 Pr[8 | N]=2/15 Pr[9 | N]=2/15 Pr[10 | N]=1/15 Pr[11 | N]=1/15 Pr[12 | N]=0 计算Pr[y | x]: Pr[D | 2]=1 Pr[D | 3]=0 Pr[D | 4]=1/3 Pr[D | 5]=0 Pr[D | 6]=1/5 Pr[D | 7]=0 Pr[D | 8]=1/5 Pr[D | 9]=0 Pr[D | 10]=1/3 Pr[D | 11]=0 Pr[D | 12]=1 Pr[N | 2]=0 Pr[N | 3]=1 Pr[N | 4]=2/3 Pr[N | 5]=1 Pr[N | 6]=4/5 Pr[N | 7]=1 Pr[N | 8]=4/5 Pr[N | 9]=1 Pr[N | 10]=2/3 Pr[N | 11]=1 Pr[N | 12]=0 有上面的计算可得: Pr[D | x]Pr[x] = Pr[D]Pr[x | D] Pr[N | x]Pr[x] = Pr[N]Pr[x | N] 显然符合Bayes 定理。 2.2(王新宇) 证明: 由P=C=K=z n ,对于1≤i ≤n,加密规则e i (j)=L(i,j)(1≤j ≤n), 且每行的加密规则不同。 首先,计算C 的概率分布。假设i ∈ z n ,则 )] (Pr[i ]Pr[]Pr[d K j Z k K y y n k ∑∈ === = )](Pr[i n 1 d K j Z n k ∑∈==

密码学

密码学 ——信息战中的一把利剑 中文摘要:密码技术是保障信息安全的核心技术。密码学是在编码与破译的斗争实践中逐步发展起来的,并随着先进科学技术的应用,已成为一门综合性的尖端技术科学。Abstract:Cryptographic techniques to protect the information security of the core technology. Cryptography is the practice of encoding and decoding of the struggle gradually developed, and along with the application of advanced science and technology has become a comprehensive cutting-edge technological sciences. 中文关键字:密码学密码技术信息安全 Keyword:Cryptology Crytography Security 第一章引言 密码学是研究编制密码和破译密码的技术科学。研究密码变化的客观规律,应用于编制密码以保守通信秘密的,称为编码学;应用于破译密码以获取通信情报的,称为破译学,总称密码学。 一般来讲,信息安全主要包括系统安全及数据安全两方面的内容。系统安全一般采用防火墙、病毒查杀、防范等被动措施;而数据安全则主要是指采用现代密码技术对数据进行主动保护,如数据保密、数据完整性、数据不可否认与抵赖、双向身份认证等。 密码技术是保障信息安全的核心技术。密码技术在古代就已经得到应用,但仅限于外交和军事等重要领域。随着现代计算机技术的飞速发展,密码技术正在不断向更多其他领域渗透。它是集数学、计算机科学、电子与通信等诸多学科于一身的交叉学科。密码技术不仅能够保证机密性信息的加密,而且完成数字签名、身份验证、系统安全等功能。所以,使用密码技术不仅可以保证信息的机密性,而且可以保证信息的完整性和确证性,防止信息被篡改、伪造和假冒。 密码是通信双方按约定的法则进行信息特殊变换的一种重要保密手段。依照这些法则,变明文为密文,称为加密变换;变密文为明文,称为脱密变换。密码在早期仅对文字或数码进行加、脱密变换,随着通信技术的发展,对语音、图像、数据等都可实施加、脱密变换。 密码学是在编码与破译的斗争实践中逐步发展起来的,并随着先进科学技术的应用,已成为一门综合性的尖端技术科学。它与语言学、数学、电子学、声学、信息论、计算机科学等有着广泛而密切的联系。它的现实研究成果,特别是各国政府现用的密码编制及破译手段都具有高度的机密性。

AES密码学课程设计(C语言实现)

成都信息工程学院课程设计报告 AES加密解密软件的实现 课程名称:应用密码算法程序设计 学生姓名:樊培 学生学号:2010121058 专业班级:信息对抗技术101 任课教师:陈俊 2012 年6月7日

课程设计成绩评价表

目录 1、选题背景 (4) 2、设计的目标 (4) 2.1基本目标: (4) 2.2较高目标: (5) 3、功能需求分析 (5) 4、模块划分 (6) 4.1、密钥调度 (6) 4.2、加密 (8) 4.2.1、字节代替(SubBytes) (8) 4.2.2、行移位(ShiftRows) (10) 4.2.3、列混合(MixColumn) (11) 4.2.4、轮密钥加(AddRoundKey) (13) 4.2.5、加密主函数 (14) 4.3、解密 (16) 4.3.1、逆字节替代(InvSubBytes) (16) 4.3.2、逆行移位(InvShiftRows) (17) 4.3.3、逆列混合(InvMixCloumns) (17) 4.3.4、轮密钥加(AddRoundKey) (18) 4.3.5、解密主函数 (18) 5.测试报告 (20) 5.1主界面 (20) 5.2测试键盘输入明文和密钥加密 (20) 5.3测试键盘输入密文和密钥加密 (21) 5.3测试文件输入明文和密钥加密 (22) 5.4测试文件输入密文和密钥加密 (22) 5.5软件说明 (23) 6.课程设计报告总结 (23) 7.参考文献 (24)

1、选题背景 高级加密标准(Advanced Encryption Standard,AES),在密码学中又称Rijndael加密法,是美国联邦政府采用的一种区块加密标准。这个标准用来替代原先的DES,已经被多方分析且广为全世界所使用。经过五年的甄选流程,高级加密标准由美国国家标准与技术研究院(NIST)于2001年11月26日发布于FIPS PUB 197,并在2002年5月26日成为有效的标准。2006年,高级加密标准已然成为对称密钥加密中最流行的算法之一。该算法为比利时密码学家Joan Daemen和Vincent Rijmen所设计,结合两位作者的名字,以Rijndael 之命名之,投稿高级加密标准的甄选流程。(Rijndael的发音近于 "Rhine doll") 严格地说,AES和Rijndael加密法并不完全一样(虽然在实际应用中二者可以互换),因为Rijndael加密法可以支援更大范围的区块和密钥长度:AES的区块长度固定为128 位元,密钥长度则可以是128,192或256位元;而Rijndael使用的密钥和区块长度可以是32位元的整数倍,以128位元为下限,256位元为上限。加密过程中使用的密钥是由Rijndael 密钥生成方案产生。大多数AES计算是在一个特别的有限域完成的。 截至2006年,针对AES唯一的成功攻击是旁道攻击 旁道攻击不攻击密码本身,而是攻击那些实作于不安全系统(会在不经意间泄漏资讯)上的加密系统。2005年4月,D.J. Bernstein公布了一种缓存时序攻击法,他以此破解了一个装载OpenSSL AES加密系统的客户服务器[6]。为了设计使该服务器公布所有的时序资讯,攻击算法使用了2亿多条筛选过的明码。有人认为[谁?],对于需要多个跳跃的国际互联网而言,这样的攻击方法并不实用[7]。 Bruce Schneier称此攻击为“好的时序攻击法”[8]。2005年10月,Eran Tromer和另外两个研究员发表了一篇论文,展示了数种针对AES的缓存时序攻击法。其中一种攻击法只需要800个写入动作,费时65毫秒,就能得到一把完整的AES密钥。但攻击者必须在执行加密的系统上拥有执行程式的权限,方能以此法破解该密码系统。 虽然高级加密标准也有不足的一面,但是,它仍是一个相对新的协议。因此,安全研究人员还没有那么多的时间对这种加密方法进行破解试验。我们可能会随时发现一种全新的攻击手段会攻破这种高级加密标准。至少在理论上存在这种可能性。 2、设计的目标 2.1基本目标: (1)在深入理解AES加密/解密算法理论的基础上,能够设计一个AES加密/解密软件系统,采用控制台模式,使用VS2010进行开发,所用语言为C语言进行编程,实现加密解密; (2)能够完成只有一个明文分组的加解密,明文和密钥是ASCII码,长度都为16个字符(也就是固定明文和密钥为128比特),输入明文和密钥,输出密文,进行加密后,能够进

现代密码学课后答案第二版讲解

现代密码学教程第二版 谷利泽郑世慧杨义先 欢迎私信指正,共同奉献 第一章 1.判断题 2.选择题 3.填空题 1.信息安全的主要目标是指机密性、完整性、可用性、认证性和不可否认性。 2.经典的信息安全三要素--机密性,完整性和可用性,是信息安全的核心原则。 3.根据对信息流造成的影响,可以把攻击分为5类中断、截取、篡改、伪造和重放,进一 步可概括为两类主动攻击和被动攻击。

4.1949年,香农发表《保密系统的通信理论》,为密码系统建立了理论基础,从此密码学 成为了一门学科。 5.密码学的发展大致经历了两个阶段:传统密码学和现代密码学。 6.1976年,W.Diffie和M.Hellman在《密码学的新方向》一文中提出了公开密钥密码的 思想,从而开创了现代密码学的新领域。 7.密码学的发展过程中,两个质的飞跃分别指 1949年香农发表的《保密系统的通信理 论》和 1978年,Rivest,Shamir和Adleman提出RSA公钥密码体制。 8.密码法规是社会信息化密码管理的依据。 第二章 1.判断题 答案×√×√√√√××

2.选择题 答案:DCAAC ADA

3.填空题 1.密码学是研究信息寄信息系统安全的科学,密码学又分为密码编码学和密码分 析学。 2.8、一个保密系统一般是明文、密文、密钥、加密算法、解密算法 5部分组成的。 3.9、密码体制是指实现加密和解密功能的密码方案,从使用密钥策略上,可分为对称和 非对称。 4.10、对称密码体制又称为秘密密钥密码体制,它包括分组密码和序列 密码。

第三章5.判断 6.选择题

密码学课程设计

一、设计题目 随机数产生器应用系统 二、课题要求 系统功能要求: 1)模拟线性移位寄存器、线性同余发生器等产生伪随机数,并比较算法性能以及伪随机数的随机性; 2)利用该模拟随机数,应用到口令认证系统中,完成口令的生产、口令的加密保护、登陆验证等功能; 3)利用该模拟随机数,应用到密钥生成系统中,可以利用该密钥完成对称密钥的加密和解密功能。 三、系统设计和模块设计 1.总体设计思路 利用线性同余发生器(LCG)和线性反馈移位寄存器(LFSR)生成伪随机数M序列,并通过口令认证系统完成口令生成加密工作,同时完成对随机数的加密和解密功能。 2.模块设计思路 2.1原理 通过一定的算法对事先选定的随机种子(seed)做一定的运算可以得到一组人工生成的周期序列,在这组序列中以相同的概率选取其中一个数字,该数字称作伪随机数,由于所选数字并不具有完全的随机性,但是从实用的角度而言,其随机程度已足够了。这里的“伪”的含义是,由于该随机数是按照一定算法模拟产生的,

其结果是确定的,是可见的,因此并不是真正的随机数。伪随机数的选择是从随机种子开始的,所以为了保证每次得到的伪随机数都足够地“随机”,随机种子的选择就显得非常重要,如果随机种子一样,那么同一个随机数发生器产生的随机数也会一样。 2.2线性同余算法生成随机数 到目前为止,使用最为广泛的随机数产生技术是由Lehmer首先提出的称为线性同余算法,即使用下面的线性递推关系产生一个伪随机数列x1,x2,x3,… 这个算法有四个参数,分别是: a 乘数 0 ≤ a < m c 增量 0 ≤ c< m m 模数 m > 0 ≤ x0 < m x0 初始种子(秘密) 0 伪随机数序列{ xn}通过下列迭代方程得到: xn+1=(axn+c)modm 如果m、a、c和x0都是整数,那么通过这个迭代方程将产生一系列的整数,其中每个数都在0 ≤ xn < m的范围内。数值m、a和c的选择对于建立一个好的伪随机数产生器十分关键。为了形成一个很长的伪随机数序列,需要将m设置为一个很大的数。一个常用准则是将m选为几乎等于一个给定计算机所能表示的最大非负整数。因而,在一个32位计算机上,通常选择的m值是一个接近或等于231的整数。此外,为了使得随机数列不易被重现,可以使用当前时间的毫秒数作为初始种子的位置。 2.2 线性反馈移位寄存器生成随机数 LFSR是指给定前一状态的输出,将该输出的线性函数再用作输入的线性寄存器。异或运算是最常见的单比特线性函数:对寄存器的某些位进行异或操作后作为输入,再对寄存器中的各比特进行整体移位。赋给寄存器的初始值叫做“种子”,因为线性反馈移位寄存器的运算是确定性的,所以,由寄存器所生成的数据流完全决定于寄存器当时或者之前的状态。而且,由于寄存器的状态是有

现代密码学期终考试试卷和答案

一.选择题 1、关于密码学的讨论中,下列(D )观点是不正确的。 A、密码学是研究与信息安全相关的方面如机密性、完整性、实体鉴别、抗否认等的综 合技术 B、密码学的两大分支是密码编码学和密码分析学 C、密码并不是提供安全的单一的手段,而是一组技术 D、密码学中存在一次一密的密码体制,它是绝对安全的 2、在以下古典密码体制中,属于置换密码的是(B)。 A、移位密码 B、倒序密码 C、仿射密码 D、PlayFair密码 3、一个完整的密码体制,不包括以下(?C?? )要素。 A、明文空间 B、密文空间 C、数字签名 D、密钥空间 4、关于DES算法,除了(C )以外,下列描述DES算法子密钥产生过程是正确的。 A、首先将DES 算法所接受的输入密钥K(64 位),去除奇偶校验位,得到56位密钥(即经过PC-1置换,得到56位密钥) B、在计算第i轮迭代所需的子密钥时,首先进行循环左移,循环左移的位数取决于i的值,这些经过循环移位的值作为下一次 循环左移的输入 C、在计算第i轮迭代所需的子密钥时,首先进行循环左移,每轮循环左移的位数都相同,这些经过循环移位的值作为下一次循 环左移的输入 D、然后将每轮循环移位后的值经PC-2置换,所得到的置换结果即为第i轮所需的子密钥Ki 5、2000年10月2日,NIST正式宣布将(B )候选算法作为高级数据加密标准,该算法是由两位比利时密码学者提出的。 A、MARS B、Rijndael C、Twofish D、Bluefish *6、根据所依据的数学难题,除了(A )以外,公钥密码体制可以分为以下几类。 A、模幂运算问题 B、大整数因子分解问题 C、离散对数问题 D、椭圆曲线离散对数问题 7、密码学中的杂凑函数(Hash函数)按照是否使用密钥分为两大类:带密钥的杂凑函数和不带密钥的杂凑函数,下面(C )是带密钥的杂凑函数。 A、MD4 B、SHA-1

(完整版)密码学学习心得

密码学认识与总结 专业班级信息112 学号201112030223 姓名李延召报告日期. 在我们的生活中有许多的秘密和隐私,我们不想让其他人知道,更不想让他们去广泛传播或者使用。对于我们来说,这些私密是至关重要的,它记载了我们个人的重要信息,其他人不需要知道,也没有必要知道。为了防止秘密泄露,我们当然就会设置密码,保护我们的信息安全。更有甚者去设置密保,以防密码丢失后能够及时找回。密码”一词对人们来说并不陌生,人们可以举出许多有关使用密码的例子。现代的密码已经比古代有了长远的发展,并逐渐形成一门科学,吸引着越来越多的人们为之奋斗。 一、密码学的定义 密码学是研究信息加密、解密和破密的科学,含密码编码学和密码分析学。 密码技术是信息安全的核心技术。随着现代计算机技术的飞速发展,密码技术正在不断向更多其他领域渗透。它是集数学、计算机科学、电子与通信等诸多学科于一身的交叉学科。使用密码技术不仅可以保证信息的机密性,而且可以保证信息的完整性和确证性,防止信息被篡改、伪造和假冒。目前密码的核心课题主要是在结合具体的网络环境、提高运算效率的基础上,针对各种主动攻击行为,研究各种可证安全体制。 密码学的加密技术使得即使敏感信息被窃取,窃取者也无法获取信息的内容;认证性可以实体身份的验证。以上思想是密码技术在信息安全方面所起作用的具体表现。密码学是保障信息安全的核心;密码技术是保护信息安全的主要手段。 本文主要讲述了密码的基本原理,设计思路,分析方法以及密码学的最新研究进展等内容 密码学主要包括两个分支,即密码编码学和密码分析学。密码编码学对信息进行编码以实现信息隐藏,其主要目的是寻求保护信息保密性和认证性的方法;密码分析学是研究分析破译密码的学科,其主要目的是研究加密消息的破译和消息的伪造。密码技术的基本思想是对消息做秘密变换,变换的算法即称为密码算法。密码编码学主要研究对信息进行变换,以保护信息在传递过程中不被敌方窃取、解读和利用的方法,而密码分析学则于密码编码学相反,它主要研究如何分析和破译密码。这两者之间既相互对立又相互促进。密码的基本思想是对机密信

国外密码学相的关课程

国外密码学相关课程: Australia Australian Defence Force Academy Lawrie Brown teaches a Master's course on Computer Security and Cryptography at the Australian Defence Force Academy, University College,UNSW. Queensland University of Technology has a wide range of security and cryptography courses. Prof Bill Caelli teaches Network Security (post-graduate), Prof Ed Dawson teaches Introduction to Cryptology (under- graduate) and Advanced Topics in Cryptology, Prof Dennis Longley teaches Data Security, Dr Mark Looi teaches Access Control and Smart Cards, Dr Colin Boyd teaches Security Topics. Two new subjects (Security Management & Operating Systems Security) are planned for 1998. There is a complete Masters in Information Security, and components of it can also be taken as part of a Graduate Diploma qualification. Monash University in Australia Yuliang Zheng teaches several courses on cryptology and computer security at Monash University in Australia. Belguim Katholieke Universiteit Leuven There is a four day summer course at Katholieke Universiteit Leuven in Belgium. Canada McGill University Claude Cr廧eau teaches a Crypto course.

现代密码学-第3章分组密码习题与解答-20091206

第3章 分组密码 习题及参考答案 1. 设DES 算法中,明文M 和密钥K 分别为: M =0011 1000 1100 0100 1011 1000 0100 0011 1101 0101 0010 0011 1001 1110 0101 1110 K =1010 1001 0011 0101 1010 1100 1001 1011 1001 1101 0011 1110 1101 0101 1100 0011 求L 1和R 2。 解: 初始变换IP : 1001 1010 1101 0101 1101 0010 0011 1000 0101 0110 0010 0101 1100 0101 1110 1000 则,0L =1001 1010 1101 0101 1101 0010 0011 1000 0R =0101 0110 0010 0101 1100 0101 1110 1000 K 去校验位得: 0C =1101 0111 1100 0000 0010 0111 0111 0D =1010 1000 0111 0110 0011 0101 0010 循环左移一位:1C =1010 1111 1000 0000 0100 1110 1111 1D =0101 0000 1110 1100 0110 1010 0101 经过置换选择得到:1K =0000 1111 0110 1000 1101 1000 1001 1010 1000 0111 0011 0001 同样可以得到:2K =0101 0101 0110 0001 1101 1101 1011 0101 0101 0000 0110 1110 1L =0R =0101 0110 0010 0101 1100 0101 1110 1000

密码学作业参考答案

第1章绪论 1.1为什么会有信息安全问题的出现? 答题要点: (1)网络自身的安全缺陷。主要指协议不安全和业务不安全。协议不安全的主要原因 一是 Internet 从建立开始就缺乏安全的总体构想和设计;二是协议本身可能会泄漏口令等。业务不安全的主要表现为业务内部可能隐藏着一些错误的信息;有些业务本,难以区分出错原因;有些业务设置复杂,一般非专业人士很难完善地设置。 (2)网络的开放性。网络协议是公开的协议,连接基于彼此的信任,远程访问等,使 得各种攻击无需到现场就能成功。 (3)人的因素,包括人的无意失误、黑客攻击、管理不善等。 1.2简述密码学与信息安全的关系。 答题要点: 密码技术是实现网络信息安全的核心技术,是保护数据最重要的工具之一。 密码学尽管在网络信息安全中具有举足轻重的作用,但密码学绝不是确保网络信息安全的唯一工具,它也不能解决所有的安全问题。 1.3简述密码学发展的三个阶段及其主要特点。 答题要点:密码学的发展大致经历了三个阶段: (1)古代加密方法(手工阶段)。特点:基于手工的方式实现,通常原理简单,变化量小,时效性较差等。 (2)古典密码(机械阶段)。特点:加密方法一般是文字置换,使用手工或机械变换的 方式实现。它比古代加密方法更复杂,但其变化量仍然比较小。转轮机的出现是这一阶段的重要标志,利用机械转轮可以开发出极其复杂的加密系统,缺点是密码周期有限、制造费用高等。 (3)近代密码(计算机阶段)。特点:这一阶段密码技术开始形成一门科学,利用电子 计算机可以设计出更为复杂的密码系统,密码理论蓬勃发展,出现了以 DES 为代表的对称 密码体制和 RSA 为代表的非对称密码体制,制定了许多通用的加密标准,促进和加快了密 码技术的发展。 1.4近代密码学的标志是什么? 答:1949 年 Claude Shannon 发表论文 The communication theory of secrecy systems,1976 年 W.Diffie 和 M.Hellman 发表论文 New directions in cryptography,以及美国数据加密标准 DES 的实施,标志着近代密码学的开始。 1.5安全机制是什么?主要的安全机制有哪些? 答题要点: 安全机制是指用来保护网络信息传输和信息处理安全的机制。 安全机制可分为两类:特定的安全机制和通用的安全机制。 特定的安全机制包含:加密、数字签名、访问控制、数据完整性、认证交换、流量填充、路由控制和公证。 通用的安全机制包含:可信功能、安全标签、事件检测、安全审计跟踪和安全恢复。1.6什么是安全服务?主要的安全服务有哪些? 答题要点: 安全服务就是指在信息传输和处理过程中为保证信息安全的一类服务。 主要的安全服务包括:机密性、完整性、鉴别、非否认性、访问控制、可用性。 1.7简述安全性攻击的主要形式及其含义。 答题要点:

密码学复习整理

《计算机密码学》复习范围 第1章引言 信息安全属性 保密性,完整性,可用性,真实性,实时性,不可否认性。 1.什么是被动攻击和主动攻击,各有几种类型?分别是对信息系统的什么性质进行的攻击? 1.被动攻击 被动攻击即窃听,是对系统的保密性进行攻击,如搭线窃听、对文件或程序的非法拷贝等,以获取他人的信息。 被动攻击又分为两类,一类是获取消息的内容第二类是进行业务流分析,假如我们通过某种手段,比如加密,使得敌手从截获的消息无法得到消息的真实内容,然而敌手却有可能获得消息的格式、确定通信双方的位置和身份以及通信的次数和消息的长度,这些信息可能对通信双方来说是敏感的。 被动攻击因不对消息做任何修改,因而是难以检测的,所以抗击这种攻击的重点在于预防而非检测。 2.主动攻击 这种攻击包括对数据流的某些篡改或产生某些假的数据流。主动攻击又可分为以下三个子类: ①中断:是对系统的可用性进行攻击,如破坏计算机硬件、网络或文件管理系统。 ②篡改:是对系统的完整性进行攻击,如修改数据文件中的数据、替换某一程序使其执行不同的功能、修改网络中传送的消息内容等。 ③伪造:是对系统的真实性进行攻击。如在网络中插入伪造的消息或在文件中插入伪造的记录。 抗击主动攻击的主要途径是检测,以及对此攻击造成的破坏进行恢复。 2. 恶意程序的分类:是否需要主程序、能否自我复制? 恶意软件指病毒、蠕虫等恶意程序,可分为两类,一类可自我复制:蠕虫,病毒 不可复制的:特洛伊木马,逻辑炸弹,陷门 3.安全业务分为哪5种?各有什么含义? 保密业务,认证业务,不可否认业务,访问控制

4. 信息安全的基本模型?信息系统的保护模型? 信息安全的基本模型: 通信双方欲传递某个消息,需通过以下方式建立一个逻辑上的信息通道: 首先在网络中定义从发送方到接收方的一个路由,然后在该路由上共同执行通信协议。 如果需要保护所传信息以防敌手对其保密性、认证性等构成的威胁,则需要考虑通信的安全性。安全传输技术有以下两个基本成分:①消息的安全传输,包括对消息的加密和认证。加密的目的是将消息搞乱以使敌手无法读懂,认证的目的是检查发送者的身份。 ②通信双方共享的某些秘密信息,如加密密钥。 为获得消息的安全传输,可能还需要一个可信的第三方,其作用可能是负责向通信双方发布秘密信息或者在通信双方有争议时进行仲裁。 安全的网络通信必须考虑以下4个方面: ①加密算法。 ②用于加密算法的秘密信息。 ③秘密信息的分布和共享。 ④使用加密算法和秘密信息以获得安全服务所需的协议。 信息系统的保护模型: 对付未授权访问的安全机制可分为两道防线: 第一道称为守卫者,它包括基于通行字的登录程序和屏蔽逻辑程序,分别用于拒绝非授权用户的访问、检测和拒绝病毒;采用技术如基于口令的验证方式。由于该方式容易被攻破,目前开始采用基于数字证书的验证方式。 第二道防线由一些内部控制部件构成,用于管理系统内部的各项操作和分析所存有的信息,以检查是否有未授权的入侵者。如将合法用户划分为不同的用户组,不同用户组被赋予不同的权限以访问主机的目录、文件等资源 5.密码体制从原理上可分为哪两大类,各自的含义? 单钥体制(One-key system):加密密钥和解密密钥相同。分类: 流密码(Stream cipher):明文逐位加密 分组密码(Block cipher):明文逐组加密 单钥体制不仅可用于数据加密,也可用于消息的认证。 采用单钥体制的系统的保密性主要取决于密钥的保密性,与算法的保密性无关,即由密文和加解密算法不可能得到明文。换句话说,算法无需保密,需保密的仅是密钥。 根据单钥密码体制的这种特性,单钥加解密算法可通过低费用的芯片来实现。密钥可由发送方产生然后再经一个安全可靠的途径(如信使递送)送至接收方,或由第三方产生后安全可靠地分配给通信双方。 ?双钥体制(Two-key system):加密密钥和解密密钥不同。加密和解密能力分开 ?可以实现多个用户加密的消息只能由一个用户解读(用于公共网络中实现保密通信) ?只能由一个用户加密消息而使多个用户可以解读(可用于认证系统中对消息进行数字签字)。

(完整版)北邮版《现代密码学》习题答案

《现代密码学习题》答案 第一章 1、1949年,( A )发表题为《保密系统的通信理论》的文章,为密码系统建立了理论基础,从此密码学成了一门科学。 A、Shannon B、Diffie C、Hellman D、Shamir 2、一个密码系统至少由明文、密文、加密算法、解密算法和密钥5部分组成,而其安全性是由( D)决定的。 A、加密算法 B、解密算法 C、加解密算法 D、密钥 3、计算和估计出破译密码系统的计算量下限,利用已有的最好方法破译它的所需要的代价超出了破译者的破译能力(如时间、空间、资金等资源),那么该密码系统的安全性是( B )。 A无条件安全B计算安全C可证明安全D实际安全 4、根据密码分析者所掌握的分析资料的不通,密码分析一般可分为4类:唯密文攻击、已知明文攻击、选择明文攻击、选择密文攻击,其中破译难度最大的是( D )。 A、唯密文攻击 B、已知明文攻击 C、选择明文攻击 D、选择密文攻击 5、1976年,和在密码学的新方向一文中提出了公开密钥密码的思想,从而开创了现代密码学的新领域。 6、密码学的发展过程中,两个质的飞跃分别指 1949年香农发表的保密系统的通信理论和公钥密码思想。 7、密码学是研究信息寄信息系统安全的科学,密码学又分为密码编码学和密码分析学。 8、一个保密系统一般是明文、密文、密钥、加密算法、解密算法 5部分组成的。 9、密码体制是指实现加密和解密功能的密码方案,从使用密钥策略上,可分为对称和非对称。 10、对称密码体制又称为秘密密钥密码体制,它包括分组密码和序列密码。 第二章 1、字母频率分析法对(B )算法最有效。 A、置换密码 B、单表代换密码 C、多表代换密码 D、序列密码 2、(D)算法抵抗频率分析攻击能力最强,而对已知明文攻击最弱。

密码学基础教学大纲完整版

《密码学基础》课程教学大纲 (课程代码:07310620) 课程简介 密码学基础是信息安全专业的一门技术基础课程,该课程的学习将为后续的信息安全课程打下基础,同时也为将来从事信息安全研究和安全系统的设计提供 必要的基础。该课程主要讲授流密码(古典密码学)分组密码学、公钥密码学、 密钥分配与管理、信息认证和杂凑算法、数字签名以及网络加密与认证等几个部分,在其中将学习各种加解密、散列函数、单向函数、签名模式及伪随机发生器 等多种密码学工具,以及如何应用这些工具设计一个实现基本信息安全目标的系 统(目前学时不够,没有安排)。基本密码学工具的掌握和应用这些工具构造安 全服务就是本课程的基本目标。 本课程具有如下特点: (一)依赖很强的数学基础 本课程需要数论、近世代数、概率论、信息论、计算复杂性等数学知识作为 学习的基础。这些数学基础的讲解既要体现本身的体系性,同时还要兼顾密码学背景。 (二)可扩展性强 各种具体方法的学习不是本课程的最终目标,背后的基本原理以及应用这些原理设计新工具的能力才是本课程的最终目标。 (三)课程内容复杂且涉及面广 由于密码学内容丰富,且包含许多复杂的知识点,所以本课程的讲授以线为主,即在基本主线的勾勒基础上对授课内容及复杂程度做出取舍。 本课程先修课程有:数据结构、近世代数、概率论、高等数学、高级语言程 序设计等。后续课程有信息安全扫描技术、PKI技术、病毒学等专业课程。 课程教材选用国内信息安全优秀教材杨波编著的《现代密码学》(清华大学出版社),同时参考国外优秀教材:《经典密码学与现代密码学》,Richard Spillman,清华大学出版社、Douglas R. Stinson著,冯登国译的《密码学原理和实践》,电子工业出版社,2003年2月第二版。另外还向学生推荐国内的一些具有特色的操作系统教材如胡向东编写的《应用密码学教程》(电子工业出版社)等。 实验教材选用自编的实验指导书,同时参考上海交大的“信息安全综合实验系统实验指导书”,除了这些教材之外,学校的图书馆为师生提供了相关的学术 期刊和图书。 课程教学体系:理论课程(34学时)课程实验(16学时)。达到从算法 验证、综合设计、到创新应用知识的逐步提高、全面培养的目的。相应的教学 材料由教学大纲、实验大纲、实验指导书等。实践环节的实验条件有:计算机 科学技术系的实验中心(实施课程实验)。 课程教学安排 序号内容课时数备注 一密码学概述 2 二古典密码学算法(一) 2

密码学级考卷A卷 答案

试题 2015 年~ 2016 年第1 学期 课程名称:密码学专业年级: 2013级信息安全 考生学号:考生姓名: 试卷类型: A卷■ B卷□考试方式: 开卷□闭卷■……………………………………………………………………………………………………… 一. 选择题(每题2分,共20分) 1.凯撒密码是有记录以来最为古老的一种对称加密体制,其加密算法的定义为, 任意,,那么使用凯撒密码加密SECRET的结果是什么()。 A. UGETGV B. WIGVIX C. VHFUHW D. XIVGIW 2.在一下密码系统的攻击方法中,哪一种方法的实施难度最高的()。 A. 唯密文攻击 B. 已知明文攻击 C. 选择明文攻击 D. 选择文本攻击 3.仿射密码顺利进行加解密的关键在于保证仿射函数是一个单射函数,即对于 任意的同余方程有唯一解,那么仿射密码的密钥空间大小是()。(表示中所有与m互素的数的个数) A. B. C. D. 4.为了保证分组密码算法的安全性,以下哪一点不是对密码算法的安全性要求

()。 A. 分组长度足够长 B. 由密钥确定置换的算法要足够复杂 C. 差错传播尽可能地小 D. 密钥量足够大 5.以下哪一种分组密码工作模式等价于同步序列密码()。 A. 电码本模式(ECB模式) B. 密码分组链接模式(CBC模式) C. 输出反馈模式(OFB模式) D. 密码反馈模式(CFB模式) 6.以下对自同步序列密码特性的描述,哪一点不正确()。 A.自同步性 B.无错误传播性 C.抗主动攻击性 D.明文统计扩散性 7.如下图所示的线性移位寄存器,初始值为,请问以下哪 一个选项是正确的输出序列()。 A. B. C. D. 8.以下关于消息认证码的描述,哪一点不正确()。 A.在不知道密钥的情况下,难以找到两个不同的消息具有相同的输出 B.消息认证码可以用于验证消息的发送者的身份 C.消息认证码可以用于验证信息的完整性 D.消息认证码可以用于加密消息 9.以下哪些攻击行为不属于主动攻击()。 A.偷听信道上传输的消息

密码学

绪论 密码学的发展历史(1) 1.3 密码学的发展历史 密码学的发展历程大致经历了三个阶段:古代加密方法、古典密码和近代密码。 1.3.1 古代加密方法(手工阶段) 源于应用的无穷需求总是推动技术发明和进步的直接动力。存于石刻或史书中的记载表明,许多古代文明,包括埃及人、希伯来人、亚述人都在实践中逐步发明了密码系统。从某种意义上说,战争是科学技术进步的催化剂。人类自从有了战争,就面临着通信安全的需求,密码技术源远流长。 古代加密方法大约起源于公元前440年出现在古希腊战争中的隐写术。当时为了安全传送军事情报,奴隶主剃光奴隶的头发,将情报写在奴隶的光头上,待头发长长后将奴隶送到另一个部落,再次剃光头发,原有的信息复现出来,从而实现这两个部落之间的秘密通信。 密码学用于通信的另一个记录是斯巴达人于公元前400年应用Scytale加密工具在军官间传递秘密信息。Scytale实际上是一个锥形指挥棒,周围环绕一张羊皮纸,将要保密的信息写在羊皮纸上。解下羊皮纸,上面的消息杂乱无章、无法理解,但将它绕在另一个同等尺寸的棒子上后,就能看到原始的消息。

我国古代也早有以藏头诗、藏尾诗、漏格诗及绘画等形式,将要表达的真正意思或“密语”隐藏在诗文或画卷中特定位置的记载,一般人只注意诗或画的表面意境,而不会去注意或很难发现隐藏其中的“话外之音”。 由上可见,自从有了文字以来,人们为了某种需要总是想法设法隐藏某些信息,以起到保证信息安全的目的。这些古代加密方法体现了后来发展起来的密码学的若干要素,但只能限制在一定范围内使用。 传输密文的发明地是古希腊,一个叫Aeneas Tacticus的希腊人在《论要塞的防护》一书中对此做了最早的论述。公元前2世纪,一个叫Polybius的希腊人设计了一种将字母编码成符号对的方法,他使用了一个称为Polybius的校验表,这个表中包含许多后来在加密系统中非常常见的成分,如代替与换位。Polybius校验表由一个5 5的网格组成(如表1-1所示),网格中包含26个英文字母,其中I和J在同一格中。每一个字母被转换成两个数字,第一个是字母所在的行数,第二个是字母所在的列数。如字母A就对应着11,字母B就对应着12,以此类推。使用这种密码可以将明文“message”置换为密文“32 15 43 43 11 22 15”。在古代,这种棋盘密码被广泛使用。 表1-1 Polybius校验表 古代加密方法主要基于手工的方式实现,因此称为密码学发展的手工阶段。 1.3.2 古典密码(机械阶段)

现代密码学_清华大学_杨波着+习题答案

设 A = ' ∞ , = = ≤ ? ≤ ∞ ' ? ≤ ? ≤ ∞ ' ? 可求得 A = ' 一、古典密码 (1,2,4) 11,23AGENCY ”加密,并使用解密变换 D 11,23(c)≡11-1(c-23) (mod 26) 验证你的加密结果。 解:明文用数字表示:M=[19 7 4 13 0 19 8 14 13 0 11 18 4 2 20 17 8 19 24 0 6 4 13 2 24] 密文 C= E 11,23(M)≡11*M+23 (mod 26) =[24 22 15 10 23 24 7 21 10 23 14 13 15 19 9 2 7 24 1 23 11 15 10 19 1] = YWPKXYHVKXONPTJCHYBXLPKTB ∵ 11*19 ≡ 1 mod 26 (说明:求模逆可采用第4章的“4.1.6欧几里得算法”,或者直接穷举1~25) ∴ 解密变换为 D(c)≡19*(c-23)≡19c+5 (mod 26) 对密文 C 进行解密: M ’=D(C)≡19C+5 (mod 26) =[19 7 4 13 0 19 8 14 13 0 11 18 4 2 20 17 8 19 24 0 6 4 13 2 24] = THE NATIONAL SECURITY AGENCY 2. 设由仿射变换对一个明文加密得到的密文为 edsgickxhuklzveqzvkxwkzukvcuh ,又已知明文 的前两个字符是“if ”。对该密文解密。 解: 设解密变换为 m=D(c)≡a*c+b (mod 26) 由题目可知 密文 ed 解密后为 if ,即有: D(e)=i : 8≡4a+b (mod 26) D(d)=f : 5≡3a+b (mod 26) 由上述两式,可求得 a=3,b=22。 因此,解密变换为 m=D(c)≡3c+22 (mod 26) 密文用数字表示为: c=[4 3 18 6 8 2 10 23 7 20 10 11 25 21 4 16 25 21 10 23 22 10 25 20 10 21 2 20 7] 则明文为 m=3*c+22 (mod 26) =[8 5 24 14 20 2 0 13 17 4 0 3 19 7 8 18 19 7 0 13 10 0 19 4 0 7 2 4 17] = ifyoucanreadthisthankateahcer 4. 设多表代换密码 C i ≡ AM i + B (mod 26) 中,A 是 2×2 矩阵,B 是 0 矩阵,又知明文“dont ” 被加密为“elni ”,求矩阵 A 。 解: dont = (3,14,13,19) => elni = (4,11,13,8) ?a b / ≤ c d ? 则有: ? 4 / ?a b / ? 3 / ?13/ ?a b / ?13/ '11∞ ' c d ?≤14∞ (mod 26) , ' 8 ∞ ' c d ?≤19∞ (mod 26) ?10 13/ ≤ 9 23∞

相关主题
文本预览
相关文档 最新文档