现代密码学(中山大学)Lecture05
现代密码学:第55讲 后量子密码学
现代密码学第五十五讲后量子密码学信息与软件工程学院第五十七讲后量子密码学量子计算对密码学的影响后量子密码学的研究方向量子计算对密码学的威胁•贝尔实验室,Grove算法,1996年•针对所有密码(包括对称密码)的通用的搜索破译算法•所有密码的安全参数要相应增大•贝尔实验室,Shor算法,1994年•多项式时间求解数论困难问题如大整数分解问题、求解离散对数问题等•RSA、ElGamal、ECC、DSS等公钥密码体制都不再安全量子计算对密码学的威胁(续)密码算法类型目的受大规模量子计算机的影响AES对称密钥加密密钥规模增大SHA-2, SHA-3Hash函数完整性输出长度增加RSA公钥密码加密,签名,密钥建立不再安全ECDSA,ECDH公钥密码签名,密钥交换不再安全DSA公钥密码签名不再安全量子计算机的研究进展•2001年,科学家在具有15个量子位的核磁共振量子计算机上成功利用Shor算法对15进行因式分解。
•2007年2月,加拿大D-Wave系统公司宣布研制成功16位量子比特的超导量子计算机,但其作用仅限于解决一些最优化问题,与科学界公认的能运行各种量子算法的量子计算机仍有较大区别。
•2009年11月15日,世界首台可编程的通用量子计算机正式在美国诞生。
同年,英国布里斯托尔大学的科学家研制出基于量子光学的量子计算机芯片,可运行Shor算法。
•2010年3月31日,德国于利希研究中心发表公报:德国超级计算机成功模拟42位量子计算机。
•2011年5月11日, 加拿大的D-Wave System Inc. 发布了一款号称“全球第一款商用型量子计算机”的计算设备“D-Wave One”。
量子计算机的研究进展(续)•2011年9月,科学家证明量子计算机可以用冯·诺依曼架构来实现。
同年11月,科学家使用4个量子位成功对143进行因式分解。
•2012年2月,IBM声称在超导集成电路实现的量子计算方面取得数项突破性进展。
现代密码学 (5)
2011-4-12
7
分组密码算法应满足的要求
分组长度n要足够大: 分组长度 要足够大: 要足够大
防止明文穷举攻击法奏效。 防止明文穷举攻击法奏效。
密钥量要足够大: 密钥量要足够大:
尽可能消除弱密钥并使所有密钥同等地好, 尽可能消除弱密钥并使所有密钥同等地好,以防止 密钥穷举攻击奏效。
由密钥确定置换的算法要足够复杂: 由密钥确定置换的算法要足够复杂:
第四章 分组密码
一、分组密码概述 二、分组密码运行模式 三、DES 四、AES 五、分组密码的分析
2011-4-12
1
一、分组密码概述
2011-4-12
2
分组密码概述
分组密码是许多系统安全的一个重要组成部分。 分组密码是许多系统安全的一个重要组成部分。 可用于构造
拟随机数生成器 流密码 消息认证码(MAC)和杂凑函数 消息认证码(MAC)和杂凑函数 消息认证技术、数据完整性机构、 消
2011-4-12 22
III型迭代分组密码 型迭代分组密码
群密码:若密钥与明文、密文取自同一空间 群密码:若密钥与明文、密文取自同一空间GF(2 n),且 , y=x⊗k ⊗ 可通过k的逆元 式中, 式中,⊗是群运算,则称其为群密码。显然x可通过 的逆元 群运算,则称其为群密码。显然 可通过 求得 x=y⊗k-1 ⊗ F[x, k]=fI (x⊗kA, kB) = ⊗ 为迭代函数, 可以III型多轮迭代分组密码 。 在最后一轮 为迭代函数 , 可以 型多轮迭代分组密码。 型多轮迭代分组密码 另外加了一次群密码运算, 用以保证整个加、 中 , 另外加了一次群密码运算 , 用以保证整个加 、 解密 的对合性。 的对合性。
密钥k=(k0, k1,…, kt-1 ) 明文 x=(x0, x1,…, xm-1) 加密算法 密钥k=(k0, k1,…, kt-1 ) 明文 x=(x0, x1,…, xm-1) 解密算法
现代密码学第五讲:流密码3(必修)
1流密码(三)《现代密码学》第五讲上讲内容回顾Estream推荐软件算法 HC-256/128 算法Rabbit算法Salsa20算法SOSEMANUK3本章主要内容Estream推荐硬件算法Grain-128 算法MICKEY-128Trivium软件算法Grain-128Grain-128Grain-128的设计者:Martin Hell (Sweden), Thomas Johansson (Sweden) 和Willi Meier (Switzerland)Grain Version 1支持80比特长的密钥.对于穷举搜索攻击,目前计算机的能力不可破解。
但是,有可能利用“时间-存储-数据”攻击,以O(2k/2)的复杂度实施攻击,其中k为密钥长度。
即攻击者需要搜集约2k/2个并用不同的密钥加密的明文,以找出其中的一个密钥。
显然80比特的密钥太短。
Grain-128在Grain Version 1的基础上,弥补了密钥短的缺点,它支持128比特的密钥,输入变量为96比特。
Grain-128使用了一个线性反馈移位寄存器(LFSR)来确保很好的统计特性和密钥流周期的下限值。
为了引入非线性特性,它使用了一个非线性反馈移位寄存器(NFSR)和非线性滤波器(输出函数)。
Grain-128LFSR 的寄存器内容记为s i ,s i+1,……,s i+127 LFSR 的反馈多项式表示为f(x),是度数为128的本原多项式。
它定义为:为了消除可能的歧义,定义LFSR 对应的修正(更新)函数:128121905847321)(x x x x x x x f ++++++=968170387128+++++++++++=i i i i i i i s s s s s s sNFSR 的寄存器内容记为b i ,b i+1,…,b i+127 NFSR 的非线性反馈多项式g (x )是一个线性函数和一个非线性函数的和: 为消除歧义,NFSR 的修正函数定义为:11711511111088801016967631256160441281027237321)(x x x x x x x x x x xx x x x x x x x x g ++++++++++++=84686561484059271817131167396915626128+++++++++++++++++++++++++++++++=i i i i i i i i i i i i i i i i i i i i i b b b b b b b b b b b b b b b b b b b s b密钥的比特位定义为k i,0≤i≤127,输入自变量的比特位定义为IV i,0≤i≤95。
(完整版)北邮版《现代密码学》习题答案
(完整版)北邮版《现代密码学》习题答案《现代密码学习题》答案第一章1、1949年,(A )发表题为《保密系统的通信理论》的文章,为密码系统建立了理论基础,从此密码学成了一门科学。
A、ShannonB、DiffieC、HellmanD、Shamir2、一个密码系统至少由明文、密文、加密算法、解密算法和密钥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)算法抵抗频率分析攻击能力最强,而对已知明文攻击最弱。
A仿射密码B维吉利亚密码C轮转密码D希尔密码3、重合指数法对(C)算法的破解最有效。
A置换密码B单表代换密码C多表代换密码D序列密码4、维吉利亚密码是古典密码体制比较有代表性的一种密码,其密码体制采用的是(C )。
现代密码学第5章:序列密码
1.1 同步序列密码
根据加密器中记忆元件的存储状态σi是 否依赖于输入的明文字符,序列密码可进一 步分成同步和自同步两种。 σi独立于明文字符的叫做同步序列密码, 否则叫做自同步序列密码。由于自同步序列 密码的密钥流的产生与明文有关,因而较难 从理论上进行分析。目前大多数研究成果都 是关于同步序列密码的。
21
作为有限状态自动机的密钥流生成器
k
i
k
zi
k
22
作为有限状态自动机的密钥流生成器
这种密钥流生成器设计的关键在于找出 适当的状态转移函数φ和输出函数ψ,使得 输出序列z满足密钥流序列z应满足的几个条 件,并且要求在设备上是节省的和容易实现 的。 为了实现这一目标,必须采用非线性函 数。
3
1. 序列密码的基本概念
分组密码与序列密码的区别就在于有无 记忆性(如图)。序列密码的滚动密钥 z0=f(k,σ0)由函数f、密钥k和指定的初态σ0完 全确定。此后,由于输入加密器的明文可能 影响加密器中内部记忆元件的存储状态,因 而σi(i>0)可能依赖于k,σ0,x0,x1,…,xi-1 等参数。
序列密码的基本思想是利用密钥k产生 一个密钥流z=z0z1…,并使用如下规则对明 文串x=x0x1x2…加密: y=y0y1y2…=Ez0(x0)Ez1(x1)Ez2(x2)…。 密钥流由密钥流发生器f产生: zi=f(k,σi), 这里σi是加密器中的记忆元件(存储器)在 时刻i的状态,f是由密钥k和σi产生的函数。
28
F的设计:两种典型的基本编码手段
1. 非线性组合生成器 一个非线性组合生成器的图示如下:
F(x1 , x2 , x ) ,t
N1-LFSR
现代密码学课程ppt(完整版)
3
数字签名的基本概念
手写签名与数字签名的区别 手写签名是一种传统的确认方式,如写信、 手写签名是一种传统的确认方式,如写信、签订 协议、支付确认、批复文件等. 协议、支付确认、批复文件等
手写签名是所签文件的物理组成部分;数字签名必须与所签文件捆绑 在一起。 手写签名通过与标准签名比较或检查笔迹来验证,伪造签名比较容易; 数字签名是通过公开的验证算法来验证。好的数字签名算法应该伪造 签名十分困难。 手写签名不易复制;数字签名是一个二进制信息,十分容易复制,所 以必须防止数字签名重复使用。
16
一般数字签名算法一般数字签名算法-DSA
参数 p:满足2L-1<p<2L 的大素数,其中512≤L≤1024且 L是64的倍数. q:p-1的素因子,满足2159<q<2160 ,即q长为160 比特. g:g≡h(p-1)/q mod p,其中h是满足1<h<p-1且使 得h(p-1)/q mod p>1的任一整数. 用户秘密钥x(0<x<q的随机数或伪随机数); 用户的公开钥y:y≡gx mod p.
23
一般数字签名算法
基于离散对数问题的数字签名体制是数字签 基于离散对数问题 名体制中最为常用的一类,其中包括 ElGamal签名体制、DSA签名体制、Okamoto 签名体制等.
24
一般数字签名算法
离散对数签名体制 1) 参数和密钥生成 p:大素数;q:p-1或p-1的大素因子; g:g∈RZ*p,且gq≡1(mod p), g∈R Z*p表示g是从Z*p中随机选取的, Z*p=Zp-{0}; x:用户A的秘密钥,1<x<q; y:用户A的公开钥,y≡gx(mod p).
28
现代密码学(中山大学)Lecture14Lecture11
Paillier加密方案
• 同态加密是一种加密形式,它允许人们对 密文进行特定的代数运算得到仍然是加密 的结果,与对明文进行同样的运算再将结 果加密一样。换言之,这项技术令人们可 以在加密的数据中进行诸如检索、比较等 操作,得出正确的结果,而在整个处理过 程中无需对数据进行解密。其意义在于, 真正从根本上解决将数据及其操作委托给 第三方时的保密问题,例如对于各种云计 算的应用。
ElGamal的安全性
• • • • ElGamal加密体制不是CCA2安全的。 证明:假设敌手想解密: c=(c1, c2)=(gk, mhk) 敌手首先生成一个相关的密文c=(c1, 2c2)并 询问解密预言机。敌手得到c的明文m。然 后敌手计算:m=m’/2
Discrete Log Problem (DLP)
El Gamal 解密
• • • • 首先计算 message key K K = C1xB mod p = ak.xB mod p 计算明文: M = C2.K-1 mod p
ElGamal的安全性
• 引理 如果DDH问题是困难的,那么ElGamal加密体制在选择明文攻击下 是多项式安全的。
Pollard’s Rho Method (1975)
• The Rho method relies on the birthday paradox. • Elements drawn at random from <g> then the expected number of draws before an element is drawn twice (a collision) is order( g ) / 2 • Define a random walk on <g> consisting of elements of the form gehd for known e and d, wait for a collision with e’ and d’ such that gehd = ge’hd’ and compute logg h = (e – e’)/ (d’ –d) mod order(g).
现代密码学第3章(5)
3.1分组密码概述
在许多密码系统中,单钥分组密码是系统安全的一 个重要组成部分; 用分组密码易于构造 伪随机数生成器、流密码、消息认证码(MAC)和 杂凑函数等,还可进而成为消息认证技术、数据完 整性机制、实体认证协议以及单钥数字签字体制的 核心组成部分。
应用中对于分组码的要求
• 安全性 • 运行速度 • 存储量(程序的长度、数据分组长度、高速缓存大小)
② 密钥量要足够大(即置换子集中的元素足够 多),尽可能消除弱密钥并使所有密钥同等地好, 以防止密钥穷举攻击奏效。 但密钥又不能过长,以便于密钥的管理。
DES采用56比特密钥,太短了,IDEA采用128 比特密钥,据估计,在今后30~40年内采用80 比 特密钥是足够安全的。
③ 由密钥确定置换的算法要足够复杂,充分实现 明文与密钥的扩散和混淆,没有简单的关系可循, 能抗击各种已知的攻击,如差分攻击和线性攻击; 有高的非线性阶数,实现复杂的密码变换;使对手 破译时除了用穷举法外,无其它捷径可循。
在设计Feistel网络时,还有以下两个方面需要考虑: ① 快速的软件实现:在很多情况中,算法是被镶 嵌在应用程序中,因而无法用硬件实现。此时算法 的执行速度是考虑的关键。 ② 算法容易分析:如果算法能被无疑义地解释清 楚,就可容易地分析算法抵抗攻击的能力,有助于 设计高强度的算法。
2. Feistel解密结构
Feistel网络的实现与以下参数和特性有关: ① 分组大小: 分组越大则安全性越高,但加密速度 就越慢。分组密码设计中最为普遍使用的分组大小 是64比特。 ② 密钥大小:密钥越长则安全性越高,但加密速 度就越慢。现在普遍认为64比特或更短的密钥长度 是不安全的,通常使用128比特的密钥长度。 ③ 轮数:单轮结构远不足以保证安全性,但多轮 结构可提供足够的安全性。典型地,轮数取为16。 ④ 子密钥产生算法:该算法的复杂性越大,则密 码分析的困难性就越大。 ⑤ 轮函数:轮函数的复杂性越大,密码分析的困 难性也越大。
现代密码学第五讲(一):流密码
《现代密码学》第五讲流密码(一)上讲内容回顾⏹分组密码定义(分组填充)⏹分组密码的发展历史(Shannon DES AES。
)⏹保密系统的安全性分析及分组密码的攻击(主动/被动唯密文/已知明(密)文/选择明(密)文/自适应选择明(密)文)⏹数据加密标准(DES)算法介绍⏹高级加密标准(AES)算法介绍⏹中国无限局域网标准(SMS4)算法介绍⏹分组密码算法的运行模式本章主要内容⏹流密码(序列密码)的思想起源⏹流密码技术的发展及分类⏹基于移位寄存器的流密码算法⏹其它流密码算法⏹Estream推荐流密码算法⏹软件算法⏹硬件算法密钥流生成器种子密钥明文m1k1c1m2k2c2加密过程密钥流生成器种子密钥密文c1k1m1c2k2m2解密过程⏹设明文为m=m1m2… m i∈GF(2), i>0⏹设密钥为k=k1k2… k i∈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位相等。
杨波, 《现代密码学(第2版)》05-2
在设计密码算法时,经常使用似乎是随机的数 列,称为伪随机数列,例如RSA算法中素数的产生。 一般来说,决定一个大数N是否为素数是很困难的。 最原始的方法是用小于 的每个数去除N,如果N N 很大,比如10150,这一方法则超出了人类的分析能 力和计算能力。很多有效的算法是通过使用随机选 择的整数序列作为相对简单计算的输入,可检测一 个数的素性。如果随机选择的序列足够长(当然, 远小于 ),就可比较肯定地得出这个数的素 10150 性。这种方法称为随机化,在设计密码算法时经常 使用。
2. 不可预测性 在诸如相互认证和会话密钥的产生等应用中, 不仅要求数列具有随机性而且要求对数列中以后的 数是不可预测的。
对于真随机数列来说,数列中每个数都独立于 其他数,因此是不可预测的。 对于伪随机数来说,就需要特别注意防止敌手 从数列前边的数预测出后边的数。
5.4.2 随机数源
• 真随机数很难获得,物理噪声产生器,如离子辐射 脉冲检测器、气体放电管、漏电容等都可作为随机 数源,但在网络安全系统中很少采用,一方面是因 为数的随机性和精度不够,另一方面这些设备又很 难连接到网络系统中。
a n mod m 1 n 1, 2, , m 2 m1 a mod m 1
时,产生的数列是整周期的。例如, a=75=16807即 为m=231-1的一个本原根,由此得到的随机数产生 器Xn+1=(aXn)mod (231-1)已被广泛应用,而且与其 他产生器相比,经历过更多的检验,这种产生器常 用于统计和模拟工作。
EDE表示两个密钥的三重DES。
本方案具有非常高的密码强度,因为:
•采用了112比特长的密钥和9个DES加密;
•算法由两个伪随机数输入驱动,一个是当前的日 期和时间,另一个是算法上次产生的新种子; •即使某次产生的随机数Ri泄露了,但由于Ri又经一 次EDE加密才产生新种子Vi+1,所以别人即使得到 Ri也得不到Vi+1,从而得不到新随机数Ri+1。
现代密码学(中山大学)Lecture02
尝试成功,密码就被破解了。事实上对恺撒密码的密码 分析不像破解现代密码那样困难,但许多相同的原则 对两者都适用。让我们做些简单统计。事实证明英语 (或拉丁语)的字母出现的频率彼此差异很大。对使 用恺撒密码的消息进行加密不会改变消息中字母的统 计分布,它只会使另外的字母以同一频率出现。也就 是说,如果一种特定的恺撒密文密钥将E替换为Q,您 将发现一本书的加密版本中Q的数目和原书中的E一样 多。
加密变换:明文空间到密文空间的映射:
f:mc mM, c C
在1—1的映射下,存在有逆映射f-1,使
f-1(c)=f-1·f(m)=m m M ,c C
加密变换通常是在密钥控制下变化的,即
c=f(m, k)=Ek(m)
式中,k K , K为密钥空间。一个密码系统就是在f和密钥k
作用下,由ZqLZq‘L’的映射,或以Zq‘L’中的元素代换ZqL中的 元素,在这意义下,称这种密码为代换密码(Substitution Cipher)。L=1时,称作单字母或单码代换(Monogram Substition),也称为流密码(Stream Cipher)。L>1时称作多字 母或多码代换(Polygram Substition),也称为分组密码。
• 移位代换表:=12…d ,由d个字母序列给定的密钥
•
k=(k1, k2, …, kd )∈Zqd
• ki(i=1, …, d)确定明文第i+td个字母(t为正整数)的移位次数,
即
ci+td=Eki(mi+td )≡mi+td +ki mod q
• 称k为用户密钥(user key)或密钥字(key word),其周期地 延伸就给出了整个明文加密所需的工作密钥(working key) 。
现代密码学(中山大学)Lecture03
随机变量和概率分布
在密码学中,我们考虑的函数一般都是定义在离 散空间中的。离散空间S一般有有限个或可数个离 散的点。
例1、RSA体制:y=me mod N 例2、DL体制:y=gx mod P
随机变量和概率分布
离散随机变量和其分布函数
1、一个离散随机变量定义在一个离散的样本空间上的函数 ,它是一个试验的某个数字表示结果。 2、令S为离散空间,X为随机变量。那么X的离散分布函数 就是一个由S R的离散值的映射:
生日悖论
1、在一个房间里,至少需要多少人,才可以找到一个与 Alice的生日为同一天的概率大于1/2? 2、在一个房间里,至少需要多少人,才可以找到两个人的 生日为同一天的概率大于1/2 ? Answer:P=1- (364/365)t-1 t=183
The Birthday Problem
What is the probability that at least two of k randomly selected people have the same birthday? (Same month and day, but not necessarily the same year.)
11
The Birthday Paradox
How large must k be so that the probability is greater than 50 percent? The answer is 23
It is a paradox in the sense that a mathematical truth contradicts common intuition.
k 2 2n
18
Collision Search-4
现代密码学第五讲:流密码2(必修)
1流密码(二)《现代密码学》第五讲上讲内容回顾流密码(序列密码)的思想起源 流密码技术的发展及分类基于移位寄存器的流密码算法 其它流密码算法3本章主要内容Estream推荐软件算法HC-256/128 算法Rabbit算法Salsa20算法SOSEMANUK软件算法HC-256/128HC-256HC-256流密码由Hongjun Wu(大陆旅居新加坡学者)提出。
HC-256的特点是使用两张密表P和Q,每一张都包含1024个32比特元素,因此,算法的硬件速度较慢。
密钥流生成的每一步,都用非线性反馈函数更新表中一个元素,经过2048步两张表所有的元素都将被更新。
每次迭代输出32比特密钥流。
符号定义:+: x + y 表示x + y mod 232, 其中0 ≤x < 232 , 0 ≤y < 232;-: x -y 表示x −y mod 1024;⊕: 逐位异或OR;||: 串联;>> : 右移操作. x >> n 表示x右移n位.<< : 左移操作. x >> n 表示x左移n位.>>>: 右循环移位操作. x >>> n 等于((x >> n) ⊕(x << (32 −n)),其中0 ≤n < 32, 0 ≤x < 232.符号定义:P :含有1024个32-bit元素的表. 表中元素标记为P [i],0 ≤i ≤1023.Q : 含有1024个32-bit元素的表. 表中元素标记为Q [i],0 ≤i ≤1023.K: HC-256的256-bit密钥.I V: HC-256的256-bit初始化向量.s: HC-256正在生成的密钥流.在第i步生成的32-bit输出被标记为s i. 而s = s0||s1||s2|| ···s i|| s i+1||···将256比特密钥和256比特初始变量扩展并装载到P和Q 中, 然后混淆P和Q的内容1. 设K = K0||K1|| ···||K7,IV = IV0||IV1|| ···||IV7 , 其中K i和IV i标记一个32位数. K和IV扩展为矩阵W,W i为其第i个字(0 ≤i ≤2559) :W i= K i0 ≤i ≤7W i= IV i−88 ≤i ≤15W i= f2(W i−2) + W i−7+ f1(W i−15) + W i−16+ i16 ≤i ≤2559HC-2562. 用W更新表P和QP [i] = W i+5120 ≤i ≤1023Q[i] = W i+15360 ≤i ≤1023 3. 运行4096步密钥流生成操作(不输出)i = 0; //不断重复直到足够的密钥流生成{j = i mod 1024;if (i mod 2048) < 1024 //将输出字符的序号以2048个为一组{ //在组内序号小于1024时P [j] = P [j] + P [j -10] + g1 ( P [j -3], P [j -1023] );si= h1( P [j -12] ) ⊕P [j]; }else{ //在组内序号大于1024时Q[j] = Q[j] + Q[j-10] + g2( Q[j-3], Q[j-1023] );si= h2 ( Q[j-12] ) ⊕Q[j];}end-ifi = i + 1;}end-repeatHC-256密钥流生成六个函数:f 1(x ) = (x >>> 7) ⊕(x >>> 18) ⊕(x >> 3)f 2(x ) = (x >>> 17) ⊕(x >>> 19) ⊕(x >> 10)g 1(x, y ) = ((x >>>10) ⊕(y >>>23)) + Q [(x ⊕y ) mod 1024]g 2(x, y ) = ((x >>>10) ⊕(y >>>23)) + P [(x ⊕y ) mod 1024]h 1 (x ) = Q [x 0] + Q [256 + x 1] + Q [512 + x 2] + Q [768 + x 3]h 2 (x ) = P [x 0] + P [256 + x 1] + P [512 + x 2] + P [768 + x 3]其中x = x 3||x 2||x 1||x 0, x 为32-bit , x 0, x 1, x 2和x 3为4个字节. x 3 和x 0分别标记x 中最高字节和最低字节。
- 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
- 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
- 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。
理想的概念
定义1 设 N是环 R的一个子加群,即对 N 中
任意元素 a, b ,差 a b 仍属于 N .如果又有 r R, a N ra N ,
则称 N 是 R 的一个左理想; 如果 r R, a N
ar N
,则称 N是 R的一个
右理想; 如果N 既是环 R的左理想又是右理想,则称 N 是 R的一个双边理想,或简称为理想,并用符号
环的定义也可以描述为:一个集合R叫做一个环,假 如R对于加法构成一个交换群,对于乘法运算构成幺 半群,乘法对加法满足左右分配律。
在抽象代数产生的19世纪,数学家们开始研究满足所有合成律(即加法交换律、结 合律,乘法交换律、结合律,以及乘法对加法的分配律等等)或者满足其中的一部 分的集合。倘若一个集合具有加法、乘法和相应的运算性质,就称为环。环论是抽 象代数中较晚成熟的,20世纪以来环论得到了快速和广泛的发展。韦德伯恩研究了 线性结合代数,这种代数实际上就是环,而环和理想的系统理论由诺特给出。
现代密码学
Modern Cryptography
张方国 中山大学信息科学与技术学院
isszhfg@
第五讲 密码的代数学(二)
• 环论 • 域论 • 有限域: 构造及性质
群
群G,有时记做{G, ◦},是定义了一个二元运算的非空 集合,这个二元运算可表示为◦ ,G中的每一个序 对(a,b)通过运算生成G中的元素(a ◦ b),并满足以 下公理: • ①封闭性:如果a 和 b都属于G,则 (a ◦ b)也属于 G 。 • ②结合律成立:a ◦(b ◦ c)=(a ◦ b) ◦ c,对于G的 任意三个元素都a,b,c成立 • ③单位元:G里至少存在一个元素e,对于G的任 何元a,都有e ◦ a=a ◦ e=a成立。 • ④逆元:对于G的每一个元素a,在G里至少存在 一个元素a’,使得a’ ◦ a=a ◦ a’=e成立。
Modular Polynomial Arithmetic
• can write any polynomial in the form:
– f(x) = q(x) g(x) + r(x) – can interpret r(x) as being a remainder – r(x) = f(x) mod g(x)
环同态基本定理
定理 设 R与 R 是两个环,且 R ~ R .则 1)这个同态核 N ,即零元的全体逆象,是 R 的一个理想; 2) R N R . 证 设 是环 R 到环 R 的一个同态满射.
N 首先是环 R 的一个子 加群;其次,设 a N , r R ,则
1)核
a 0, r r .
• 交换群(Abel 群)
A statue of Abel in Oslo
环
• 一个集合R叫做一个环,假如 • ① R对于一个叫做加法的代数运算作成一个交换 群 • ② R对于一个叫做乘法的代数运算来说是封闭的 • ③ 这个乘法适合结合律a(bc)=(ab)c,对于属于 R的任意的元素a,b,c都成立 • ④ 分配律成立,a(b+c)=ab+ac,(b+c)a=ba+ca • 环R被称为含有单位元的环,是指R内含有乘法单 位元“1”,使得∀a∈R,有a· 1=1· a=a。 • 我们同城考虑的环一般是有单位元的。无乘法单 位元的的环一般记为Rng
整环
• 整环:含有乘法单位元“1”而无零因子的 交换环称为整环。 • 若在一个环里,a≠0,b ≠0但ab=0,我们 就说a是这个环的一个左零因子, b是这个 环的一个右零因子。 • 任何一个整环都至少含有2个元素。恰含有 2个元素的整环是存在的,例如F2={0,1}它 对模2的加法乘法运算形成一个整环,事实 上,它为二元域
域都同构于ZP。
特征:任意的a ∈ A,满足 na=0的最小的自然 数n 叫做A的特征。
定理:任何一个有限域都有一个素特征。
Finite Fields
• Zp (p prime) with + and * mod p, is a finite field. 1. (Zp, +) is an abelian group (0 is identity) 2. (Zp \ 0, *) is an abelian group (1 is identity) 3. Distribution: a*(b+c) = a*b + a*c 4. Cancellation: a*0 = 0 • Are there other finite fields? • What about ones that fit nicely into bits, bytes and words (i.e., with 2k elements)?
定义 设 R与 R是两个环.如果有一个 R到 R 的 映射 满足 a b a b , ab (a) (b) (a, b R) , 则称 是环 R到 R 的一个同态映射. 如果 是满射(单射、双射),则称 为环同态 满射(环同态单射,环同构).特别 是环同态满射 时,则称 R 与 R 同态,记为 R ~ R .
有限域
• 一个元素个数有限的域称为有限域,或者伽罗华域 (Galois field) 。 • 有限域中元素的个数为一个素数,或者一个素数的 幂,记为GF(p)或GF(pn ),其中p为素数。 • 有限域中运算满足交换律、结合律、和分配律。 • 加法的单位元是0,乘法的单位元是1,每个非零元素 都有一个唯一的乘法逆元。 • 密码学中用到很多有限域中的运算,因为可以保持 数在有限的范围内,且不会有取整的误差。 • – GF(p) • – GF(2n )
有限域的结构
任何一个有限域都可以表示成 GF(P) 或者 GF(Pn),P是一个素数。 GF(Pn)叫做 GF(P)的n次扩域,它可以表示成定义在 GF(P)上一个n维的向量空间。
子域: GF(Pn)的子域只有GF(Pm),m|n。
Ordinary Polynomial Arithmetic
• add or subtract corresponding coefficients • multiply all terms by each other • eg
– let f(x) = x3 + x2 + 2 and g(x) = x2 – x + 1 f(x) + g(x) = x3 + 2x2 – x + 3 f(x) – g(x) = x3 + x + 1 f(x) x g(x) = x5 + 3x2 – 2x + 2
Polynomial Arithmetic with Modulo Coefficients
• if have no remainder say g(x) divides f(x) • if g(x) has no divisors other than itself & 1 say it is irreducible (or prime) polynomial • polynomial arithmetic modulo an irreducible polynomial with coefficients in the field Zp forms a field
全体整数构成的集合对于普通加法和乘法来说作成一个环。 全体有理数构成的集合对于普通加法和乘法来说作成一个环。 n阶实方阵全体在矩阵的加和和乘法下构成一个环
交换环
• 一个环叫做一个交换环,假如ab=ba,对于属于R的任意 两个元素a,b都成立。 • 剩余类环Zn。Zn为整数模n剩余类的集合 Zn={[0],[1],…,[n-1]},它对剩余类的加法和乘法构成一个 含有单位元“[1]”的交换环。 • 各式各样的数域都对通常的数的加法和乘法形成一个含有 “1”的交换环 • 设F表示上面几个例子给出的任意一个数环。定义 F[x]={anx n+an-1x n-1+…+a1x+a0| ai∈F,n为正整数}, 它是F上的一元多项式环。 • 取大于1的正整数n,则n的一切整数倍形成的集合nZ对数 的加法和乘法形成了一个不含单位元“1”的交换环。
N R表示.否则记为 N R .
定理 设 I 是环 R 的理想,则
R
I
对陪集的加法
与乘法作成一个环,称为 R 关于 I 的商环,且
R~R I
.
证令
: a a I.
则易知这是 R 到 R I 的一个关于加法与乘法的同态 满射,故 R ~ R I ,由于R 是环,因此, R I 也是环.
Evariste Galois
A drawing done in 1848 from memory by Evariste's brother.
This is taken from a French stamp
• Imprint: ELSEVIER • ISSN: 1071-5797
• finite fields play a key role in cryptography • of increasing importance in cryptography
于是在 之下有
ra r 0 0, ar 0 r 0,
故 ra, ar N ,即N 是 R的理想. 2) 令
: a N (a),
则由群同态基本定理知,作为加群, 是 R N 到 R 的一个同构映射.又由于 (a N )(b N ) ab N ,而 (ab) (a) (b) ,因此 是环 R N 到环 R 的一个同 构映射,从而 R N R .
• when computing value of each coefficient do calculation modulo some value • could be modulo any prime • but we are most interested in mod 2