收藏 分享(赏)

ch-1-数论基础及对称加密算法.ppt

上传人:天天快乐 文档编号:428295 上传时间:2018-04-05 格式:PPT 页数:35 大小:575.50KB
下载 相关 举报
ch-1-数论基础及对称加密算法.ppt_第1页
第1页 / 共35页
ch-1-数论基础及对称加密算法.ppt_第2页
第2页 / 共35页
ch-1-数论基础及对称加密算法.ppt_第3页
第3页 / 共35页
ch-1-数论基础及对称加密算法.ppt_第4页
第4页 / 共35页
ch-1-数论基础及对称加密算法.ppt_第5页
第5页 / 共35页
点击查看更多>>
资源描述

1、,1,数论基础及对称加密算法,2,提纲,数论基础加密系统中常用的数论知识复杂性理论简介对称加密算法对称密码体制模型流密码分组密码DESRijndael密码体制(AES加密算法)KASUMI分组密码,3,数论基础,4,加密系统中常用数论知识,模q运算定义:给定任一正整数q和任一整数a,如果用q除a,得到商s和余数r,则有a=sq+r,记ra mod q;运算操作:加法:(a mod q)+(b mod q)=(a+b) mod q乘法: (a mod q)(b mod q)=(ab) mod q,5,加密系统中常用数论知识,模q运算运算性质:Zn定义为集合0,1,q-1,也称为模q的剩余类集合,

2、以下为Zn上的模运算的性质;交换律:(a+b) mod q=(b+a) mod q (ab) mod q=(ba) mod q结合律:(a+b)+c mod q= a+(b+c) mod q (ab)c mod q= a(bc) mod q分配律: a(b+c) mod q=ab+ac mod q恒等律:(0+a) mod q=a mod q (1a) mod q=a mod q加法逆元:若存在a,b Zn,使得(ab) mod q=0,则b是a模q的加法逆元。乘法逆元:若存在a,b Zn,使得ab=1 mod q,则b是a模q的乘法逆元。,6,加密系统中常用数论知识,模q运算求模逆运算: (

3、辗转相除法)定理:设r1=b1u mod q,r2=b2u mod q,r1=mr2+r3,则r3=(b1-mb2)u mod q。求逆元:u,q已知,求x,(0r3rkrk+10,以上操作必终止于有限步,不妨设rk+1=0,那么必有1=rk=(rk,rk-1)=(r3,r2)=(r2,r1)=(u,q)所以rk=bku mod q,得bku1 mod q,于是u-1bk mod q,7,加密系统中常用数论知识,环群是一种代数结构,由一个集合以及一个二元运算所组成。 群是一个集合 G,连同一个运算 ,它结合了任何两个元素 a 和 b 而形成另一个元素指示,记为 a b。符号 是对具体给出的运算

4、,比如上面加法的一般的占位符。要具备成为群的资格,这个集合和运算 (G, ) 必须满足叫做群公理的四个要求:1.闭合。对于所有 G 中 a, b,运算 a b 的结果也在 G 中。2.结合律。对于所有 G 中的 a, b 和 c,等式 (a b) c = a (b c) 成立。3.单位元。存在 G 中的一个元素 e,使得对于所有 G 中的元素 a,等式 e a = a e = a 成立。4.逆元。对于每个 G 中的 a,存在 G 中的一个元素 b 使得 a b = b a = e,这里的 e 是单位元。使等式 a b = b a 总是成立的群叫做阿贝尔群(以尼尔斯阿贝尔命名)。 例子:整数配备

5、上加法运算就形成一个群。,8,加密系统中常用数论知识,环集合R和定义于其上的二元运算 + 和,(R, +, )构成一个环,若它们满足:(R, +)形成一个交换群,其幺元称为零元素,记作0。即: (a + b) = (b + a) (a + b) + c = a + (b + c) 0 + a = a + 0 = a a (a) 满足 a + a = a + a = 0 (R, )形成一个半群,即: (ab)c = a(bc) 乘法关于加法满足分配律: a(b + c) = (ab) + (ac) (a + b)c = (ac) + (bc) 其中,乘法运算符常被省略,所以 ab 可简写为 ab

6、。 此外,乘法是比加法优先的运算,所以 a + bc 其实是 a + (bc)。交换环 :若环R中,(R, )还满足交换律,从而构成交换半群,即:a,bR,有ab=ba,则R称为交换环。,9,加密系统中常用数论知识,域集合R和定义于其上的二元运算 + 和,(R, +, )构成一个环,若它们满足:(R, +)形成一个交换群,其幺元称为零元素,记作0。即: (a + b) = (b + a) (a + b) + c = a + (b + c) 0 + a = a + 0 = a a (a) 满足 a + a = a + a = 0 (R, )形成一个半群,即: (ab)c = a(bc) 乘法关于

7、加法满足分配律: a(b + c) = (ab) + (ac) (a + b)c = (ac) + (bc) 其中,乘法运算符常被省略,所以 ab 可简写为 ab。 此外,乘法是比加法优先的运算,所以 a + bc 其实是 a + (bc)。交换环 :若环R中,(R, )还满足交换律,从而构成交换半群,即:a,bR,有ab=ba,则R称为交换环。,10,加密系统中常用数论知识,域:是一种可进行加、减、乘和除(除了除以零之外)运算的代数结构,是数域以及四则运算的推广;域分为两种:无限域,元素个数无限,特征为0;有限域,元素个数有限,特征为p;特征:假设p是最小的正整数, 使得p个1相加等于0,

8、那么p就称为域的特征;有限域元素个数为q=pn;有限域GF(q)同构于GF(p)x/f(x),其中f(x)为GF(p)上的不可约多项式;多项式在GF(p)上不可约:有限域GF(p)的任一元素都不是多项式方程的解。,域,无限域,有限域,特征0,特征p,含有q = pn个元素,GF(q)同构于GF(p)x/f(x)其中f(x)为GF(p)上不可约多项式,11,加密系统中常用数论知识,欧拉定理若m,a为正整数,且m,a互素,(gcd(a,m) = 1),则a(m)1 mod m,其中(m)为欧拉函数,mod m为同余关系。 在数论中,对正整数n,欧拉函数(n)是小于或等于n的正整数中与n互质的数的数

9、目。此函数以其首名研究者欧拉命名,它又称为函数、欧拉商数等。例如(8)=4,因为1,3,5,7均和8互质。这个定理可以用来简化幂的模运算。比如计算7222的个位数,实际是求7222被10除的余数。7和10互素,且(10)=4,由欧拉定理知74 1 (mod 10),所以:7222=7455+2=(74)557215572499 (mod 10),12,加密系统中常用数论知识,费马定理费马小定理是数论中的一个定理:假如a是一个整数,p是一个素数,那么: apa (mod p)如果a不是p的倍数,这个定理也可以写成: ap-11 (mod p)费马定理是欧拉定理的一种特殊情况。,13,复杂性理论简

10、介,算法复杂性时间复杂性T(n):以某特定的基本步骤为单元,完成计算过程所需的总单元数称为算法的时间复杂性,或时间复杂度,n是输入的规模和尺寸;时间复杂度:多项式时间复杂度和指数时间复杂度;空间复杂性S(n):以某特定的基本存储空间为单元,完成计算过程所用的存储单元数,称为算法的空间复杂性或空间复杂度,n是输入的规模和尺寸。,14,复杂性理论简介,问题复杂性图灵机:一种具有无限读写能力的有限状态机,是一种具有无限读写能力的有限状态机,有确定型和非确定型的两种。P类:确定性多项式时间可解类。在确定型图灵机上多项式时间可解的问题,为P问题,也就是易处理问题。NP类:不确定性多项式可解类,在非确定型

11、图灵机上多项式时间可解的问题,为NP问题,难解问题。NPC类:不确定性多项式时间可解完全类。NPC问题,又称NP完全问题或NP完备问题,是NP(非决定性多项式时间)中最难的决定性问题。因此NP完备问题应该是最不可能被化简为P(多项式时间可决定)的决定性问题的集合。,15,对称密码体制,16,对称密码算法,如果一个系统加密密钥和解密密钥相同,或存在简单的可推导关系,那么就称为对称密码体制;对称密码体制有很高保密程度,运算速度很快,处理效率很高;对称密码体制安全使用的关键在于:加密算法本身必须是足够强的,至少在攻击者获得一个或者多个密文是无法破译;发送者和接收者必须在某种安全的条件下获得密钥,并保

12、证密钥的安全。核心问题在于密钥的管理;机制本身决定了不能处理不可抵赖问题;典型算法:DES算法;分为:序列密码和分组密码两类。,17,流密码(序列密码),军事和外交场合常用;安全强度取决于产生的伪随机序列;速度快,安全程度高;分为:同步流密码和自同步流密码。,产生伪随机序列,使用该序列加密信息流(逐比特),明文,密文,18,同步流密码,利用滚动密钥ki对输入的明文符号xi进行加密的,加密器可分为密钥流生成器和加密变化器两部分。在传输过程中出现一个错误只影响一个字符,不会影响后继字符。对敌方的恶意篡改没有任何检测能力。,初始密钥,19,自同步流加密算法,其加密器也可划分为密钥流生成器和加密变换器

13、两部分,但是密钥流的生成与明文有关,因此密文不但与当前时刻明文有关,还与之前时刻明文有关将明文每个字符都扩散在密文的多个字符中,具有较强的抗统计分析能力。,20,分组密码,将明文按照固定长度进行分 组,加密以分组为单位进行;速度快,易于标准化,便于 软硬件实现;与流密码相比,加密器中没 有有记忆功能的元件。其核心是相信复杂函数可以 由简单函数迭代得到;根据明文组和密文组的长度,可分为有数据扩展、有数据压缩和通常的分组加密算法主要算法包括:DES,3-DES,IDEA,Skipjack,Safer-64, LOK189,Shark等,21,DES算法,密匙长度是56位(因为每个第8 位都用作奇偶

14、校验),密匙可以是任意的数;DES对64(bit)位的明文进行一个初始置换IP置换并分成左半部分和右半部分(L0,R0),各32位长。在每一轮中:密匙位移位,然后再从密匙的56位中选出48位。通过一个扩展置换将数据的右半部分扩展成48位,并通过一个异或操作替代成新的32位数据,在将其置换换一次。这四步运算构成了函数f。通过另一个异或运算,函数f的输出与左半部分结合,其结果成为新的右半部分,原来的右半部分成为新的左半部分。算法保密性依赖于密钥 ,密钥分为弱密钥,半弱密钥和互补密钥;,22,对称加密算法发展,DES算法变形,得到3-DES,独立子密钥方法,GDES等;差分攻击法可攻击DES算法;A

15、ES算法:信息块长度和密钥长度都可变;宽轨迹设计策略;每层由线性混合层、非线性层和密钥加层组成;,23,有限域计算在AES中应用,有限域GF(28)由不可约多项式定义m(x)=x8+x4+x3+x+1,1 1 B,x6+x4+x2+x+157,x7+x+183,+,x7+x6+x4+x2D4,二进制位异或,x7+x6+1C1,a(x)b(x) mod m(x),这里选的M(x)所有次数为8的不可约多项式列表中的第一个,如果a(x)b(x) mod m(x) =1那么称b(x)为a(x)的逆元,24,有限环运算,环和域的区别在于,域可以进行除法运算而环不可以;加法定义为简单的比特位异或;,两个系

16、数为GF(28)上的多项式,a(x)=a3x3+a2x2+a1x1+a0,b(x)=b3x3+b2x2+b1x1+b0,c(x)=c6x6+c5x5+c4x4+c3x3+c2x2+c1x1+c0,c6=a3*b3,c5=a3*b2a2b3,c4=a3*b1a2b2a1b3,c3=a3*b0a2b1a1b2a0b3,c2=a2*b0a1b1a0b2,c1=a1*b0a0b1,c0=a0*b0,d3=a3*b0a2b1a1b2a0b3,d2=a2*b0a1b1a0b2a3b3,d1=a1*b0a0b1a3b2a2b3,d0=a0*b0a3b1a2b2a1b3,因xq mod x4+1=xq mod

17、 4因此a(x) b(x)=d(x)其中d(x)=d3x3+d2x2+d1x1+d0,25,AES算法框架流程,26,128位AES算法流程,27,AES轮函数,AES的轮函数每一轮迭代的结构都一样,由下述4个不同的变换构成,只是最后一轮省略了列混合变换。 字节替换(ByteSub):对数据的每一字节应用一个非线性变换。 行移位(ShiftRow):对每一行的字节循环重新排序。 列混合(MixColumn):对矩阵的列应用一个线性变换。轮密钥加(AddRoundKey):把轮密钥混合到中间数据。,28,S-BOX替换盒,把数据块分成字的形式,每个 字包含4个字节,每个字节8bit;字节变换By

18、teSub是一种非线性 字节变换,定义入右图所示,其 中ai,j代表了一个字节,而ai,j-1 则是ai,j在GF(28)中的乘法逆; 在具体实现中,S-BOX使用查表法实现来提供效率;替代表是一个1616的矩阵。表中纵向的x取自状态矩阵中的高4比特,横向的y取自低取自状态矩阵中的4比特。替代的过程如下表,x行和y列的数据就用来替代的数据,=,+,29,AES字节变换替换表,30,AES行位移变换,行移位运算(ShiftRow):这是状态中字节的循环移位运算。这个运算可以表示成为Bi,j = Ai,(i+j) mod 4,31,AES列混合变换,列混合变换:将状态每一列都视为环GF(28)上多

19、项式s(x),然后乘以固定多项式a(x),并模除x4+1其中a(x)=03x3+01x2+01x+02,定义变换公式 根据环GF(28)的相关理论有:,32,AES轮密钥加密过程,对状态和每轮的子密钥进行简单的异或操作。每轮子密钥是通过密钥调度算法从主密钥中产生, 子密钥长度等于分组长度。轮密钥加运算需要用到4个导出的32比特子密钥。,33,AES子密钥的生成,第i-1轮的16个字节的子密钥被分成4组来处理,每组4个字节。先执行一个字节的循环左移,由S盒(这个S盒与字节替代时的S盒是一样的)来进行替代处理,然后这4个字节结果中的第一个字节和预先定义的轮常数ai相异或。最后把上面得到的结果和轮密钥的前4个字节按位相异或,得到i轮密钥的前4个字节,然后又和密钥的下面4个字节按位相异或,得到i轮密钥的下面4个字节,以此类推。,34,AES算法解密过程,因为AES算法每步计算都是可逆的,所以AES解密算法结构和加密算法相同,只是对其中的操作做逆;过程:先进行仿射的逆变换;把字节的值用的乘法逆来代替;列混合变换的逆类似于列混合变换,将状态的每一列都乘以多项式d(x)=0Bx3+0Dx2+09x+0E,35,下次课提要,KUSAMI算法非对称机密体制RSA加密体制ElGamal密码体制椭圆曲线密码体制,

展开阅读全文
相关资源
猜你喜欢
相关搜索
资源标签

当前位置:首页 > 企业管理 > 经营企划

本站链接:文库   一言   我酷   合作


客服QQ:2549714901微博号:道客多多官方知乎号:道客多多

经营许可证编号: 粤ICP备2021046453号世界地图

道客多多©版权所有2020-2025营业执照举报