密码学原理与实践第二版课件_第1页
密码学原理与实践第二版课件_第2页
密码学原理与实践第二版课件_第3页
密码学原理与实践第二版课件_第4页
密码学原理与实践第二版课件_第5页
已阅读5页,还剩89页未读 继续免费阅读

下载本文档

版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领

文档简介

2022/12/15第2章对称密钥密码体系理解密码学的基本原理掌握DES加密算法了解A5和IDEA加密算法理解序列密码原理2022/12/11第2章对称密钥密码体系理解密码学的基本2022/12/152.1密码体制原理与分类(I)加密解密明文P密文C明文P加密密钥Ke解密密钥KdC=E(Ke,P)P=D(Kd,E(Ke,P)对称密码体制(symmetriccryptosystem)-单钥加密密钥和解密密钥是相同的非对称密码体制(asymmetriccryptosystem)-公钥密码加密密钥和解密密钥是成对出现加密过程和解密过程不同,使用的密钥也不同2022/12/112.1密码体制原理与分类(I)加密解密2022/12/15密码算法安全准则与分类密码的安全性原则公开的密码算法才是安全的,保密的算法只在小范围内设计和研究。按照密钥使用方法分对称密码算法(symmetriccipher):又称传统密码算法(conventionalcipher)或秘密密钥算法、单密钥算法。非对称密钥算法(asymmetriccipher),又称公开密钥算法(public-Keycipher)。按照明文的处理方法分分组密码(blockcipher):将明文分成固定长度的组,用同一密钥和算法对每一块加密,输出也是固定长度的密文。流密码(streamcipher):又称序列密码,每次加密一位或一字节的明文。

2022/12/11密码算法安全准则与分类密码的安全性原则2022/12/152.1.4密码分析可破译密码当给予足够的时间和计算资源的时候,破译者能确定的加密算法。对可破译性的评估基于当前的技术。穷举攻击攻击者对一条密文尝试所有可能的密钥,直到得到有意义的明文。Kerckhoff原则:加密算法应建立在算法的公开不影响明文和密钥的安全的基础上。这一原则得到普遍承认,成为判定密码强度的衡量标准,实际上也成为古典密码和现代密码的分界线。2022/12/112.1.4密码分析可破译密码2022/12/15传统密码体制基于加密信息的攻击类型2022/12/11传统密码体制基于加密信息的攻击类型2022/12/15密码的安全性与攻击复杂性无条件安全(Unconditionallysecure)无论破译者有多少密文,他也无法解出对应的明文,即使他解出了,他也无法验证结果的正确性.一次一密计算上安全的破译密码的代价超出密文信息的价值破译密码的时间超出密文信息的有效生命期攻击复杂性:数据时间存储量2022/12/11密码的安全性与攻击复杂性无条件安全(Un2022/12/15古典密码古典密码的加密方法一般是文字置换,使用手工或机械变换的方式实现。古典密码系统已经初步体现出近代密码系统的雏形,它比古代加密方法复杂,其变化较小。单表代替密码:Caesar密码;多表代替密码:Vigenere密码、Hill密码;转轮密码:二战中的Enigma。2022/12/11古典密码古典密码的加密方法一般是文字置换2022/12/15现代密码计算机的发展使得基于复杂计算的密码成为可能,密码学成为一门新的学科。对称密钥密码算法的发展:1977年DES正式成为标准1977年公钥密码(非对称密码)出现90年代逐步出现椭圆曲线等其他公钥算法一些新的密码技术,如,混沌密码、量子密码等2022/12/11现代密码计算机的发展使得基于复杂计算的密2022/12/15恺撒密码的破译分析一般的恺撒密码加密:ci=E(pi)=(pi+k)mod26解密:pi=E(ci)=(ci-k)mod26其中k为密钥,1k25一般的恺撒密码的破译分析已知加密和解密算法需要测试的密钥只有25个明文所用的语言是已知的,且其意义易于识别。可以采用穷举攻击2022/12/11恺撒密码的破译分析一般的恺撒密码2022/12/15代换密码substitutioncipherABCDEFGHIJKLMNOPQRSTUVWXYZwordABCEFGHIJKLMNPQRSTUVXYZ2022/12/11代换密码substitutioncip2022/12/15置换密码置换密码体制1.61.明文与密文字母不变,利用转换打乱明文字母的位置和次序。存储空间与报文长度相关。2.完全保留字符的统计信息3.使用多轮加密可提高安全性2022/12/11置换密码置换密码体制1.61.明文与密文2022/12/152.2数据加密标准(DES)

2.2.1DES算法

DES加密算法如图2-3所示,由以下四个部分组成。2022/12/112.2数据加密标准(DES)2022/12/151.初始置换函数IPDES对64位明文分组进行操作。首先,64位明文分组x经过一个初始置换函数IP,产生64位的输出x0,再将分组x0分成左半部分L0和右半部分R0,即:

x0=IP(x)=L0R0置换表如表2-1所示。此表顺序为从上到下,从左至右。如初始置换把明文的第58位换至第1位,把第50位换至第二位,以此类推。2022/12/111.初始置换函数IP2022/12/15表2-1初始置换IP585042342618102605244362820124625446383022146645648403224168574941332517915951433527191136153453729211356355473931231572022/12/11表2-1初始置换IP58502022/12/15图2-5DES加密算法2022/12/11图2-5DES加密算法2022/12/15

2.获取子密钥Ki

DES加密算法的密钥长度为56位,但一般表示为64位,其中,每个第8位用于奇偶校验。在DES加密算法中,将用户提供的64位初始密钥经过一系列的处理得到K1,K2,…,K16,分别作为1~16轮运算的16个子密钥。现在来看如何获得这16个子密钥。首先,将64位密钥去掉8个校验位,用密钥置换PC–1置换剩下的56位密钥;再将56位分成前28位C0和后28位D0两部分,即PC–1(K56)=C0D0。密钥置换PC-1如表2-2所示。2022/12/112.获取子密钥2022/12/15表2-2密钥置换PC–157494133251791585042342618102595143352719113605244366355473931231576254463830221466153453729211352820124

2022/12/11表2-2密钥置换PC–157492022/12/15

接下来,根据轮数,这两部分分别循环左移1位或2位。具体每轮移位的位数如表2-3所示。表2-3每轮移动的位数2022/12/11接下来,根据轮数2022/12/15

移动后,将两部分合并成56位后通过压缩置换PC–2后得到48位子密钥,即Ki=PC-2(CiDi)。压缩置换如表2-4所示。表2-4压缩置换PC–214171124153281562110231912426816727201324152313747553040514533484449395634534642503629329,18?2022/12/11移动后,将两部分2022/12/15图2-6子密钥产生2022/12/11图2-6子密钥产生2022/12/153.密码函数F1)函数F的操作步骤密码函数F的输入是32比特数据和48比特的子密钥,其操作步骤如图2-5所示。(1)扩展置换(E)。将数据的右半部分Ri从32位扩展为48位。位选择函数(也称E盒)如表2-5所示。2022/12/113.密码函数F2022/12/15图2-7F(Ri,Ki)计算2022/12/11图2-7F(Ri,Ki)计算2022/12/15表2-5扩展置换(E)32123

4

54

5678

989101112131213141516171617

18192021202122232425242526272829282930313212022/12/11表2-5扩展置换(E)3212022/12/15(2)异或。扩展后的48位输出E(Ri)与压缩后的48位密钥Ki作异或运算。

(3)S盒替代。将异或得到的48位结果分成八个6位的块,每一块通过对应的一个S盒产生一个4位的输出。八个S盒如表2-6所示。2022/12/11(2)异或。扩展后的48位输出E(Ri2022/12/15

S盒的具体置换过程为:某个Si盒的6位输入的第1位和第6位形成一个2位的二进制数(从0~3),对应表中的某一行;同时,输入的中间4位构成4位二进制数(从0~15)对应表中的某一列(注意:行和列均从0开始计数)。例如,第8个S盒的输入为001011,前后2位形成的二进制数为01,对应第8个S盒的第1行;中间4位为0101,对应同一S盒的第5列。从表2-6中可得S8盒的第1行第5列的数为3,于是就用0011代替原输入001011。

2022/12/11S盒的具体置换2022/12/15表2-6S盒S1盒1441312151183106125907015741421311061211953841148136211151297310501512824917511314100613S2盒15181461134972131205103134715281412011069115014711104131581269321513810131542116712051492022/12/11表2-6S盒S1盒142022/12/15S3盒1009146315511312711428137093461028514121115113649815301112125101471101306987415143115212S4盒7131430691012851112415138115615034721211014910690121171315131452843150610113894511127214S5盒21241710116853151301491411212471315015103986421111013781591256301411812711421361509104532022/12/11S3盒10091462022/12/15S6盒1211015926801334147511101542712956113140113891415528123704101131164321295151011141760813S7盒4112141508133129751061130117491101435122158614111312371410156805926111381410795015142312S8盒13284615111109314501271151381037412561101492711419121420610131535821147410813151290356112022/12/11S6盒121101592022/12/15

(4)P盒置换。将八个S盒的输出连在一起生成一个32位的输出,输出结果再通过置换P产生一个32位的输出即:F(Ri,Ki)。表2-7为P盒置换。至此,密码函数F的操作就完成了。最后,将P盒置换的结果与最初的64位分组的左半部分异或,然后左、右半部分交换,接着开始下一轮计算。2022/12/11(4)P盒置2022/12/15表2-7P盒置换16720212912281711523265183110282414322739191330622114252022/12/11表2-7P盒置换162022/12/15

2)函数F的设计

函数F是DES加密的核心,它依赖于S盒的设计。这也适用于其它的对称分组加密算法。下面我们简单讨论一下有关F函数的一些通用设计准则以及S盒设计问题。

(1)F的设计准则。函数F的基本功能就是“扰乱(confusion)”输入,因此,对于F来说,其非线性越高越好,也就是说,要恢复F所做的“扰乱”操作越难越好。2022/12/112)函数F的2022/12/15

其它的设计准则还包括严格雪崩准则(SAC)和比特独立准则(BIC)

。所谓SAC,就是要求算法具有良好的雪崩效应,输入当中的一个比特发生变化都应当使输出产生”尽可能多”

的比特变化。严格地说,就是当任何单个输入比特位i发生变换时,一个S盒的第j比特输出位发生变换的概率应为1/2,且对任意的i,j都应成立。

BIC的意思是当单个输入比特位i发生变化时,输出比特位j,k的变化应当互相独立,且对任意的i,j,k均应成立。

SAC和BIC可以有效的增强F函数的“扰乱”功能。2022/12/11其它的设计准则还2022/12/15

(2)S盒设计。S盒的设计在对称分组密码研究领域中起着举足轻重的作用。本质上,S盒的作用就是对输入向量进行处理,使得输出看起来更具随机性,输入和输出之间应当是非线性的,很难用线性函数来逼近。显然,S盒的尺寸是一个很重要的特性。一个S盒其输入为n比特,输出为m比特。DES的S盒大小为6×4。S盒越大,就越容易抵制差分和线性密码分析。2022/12/11(2)S盒设2022/12/15Mister和Adams提出了很多的S盒设计原则,其中包括要求S盒满足SAC和BIC的原则,以及S盒的所有列的全部线性组合应当满足一类称为bent函数的高度非线性布尔函数的原则。Bent函数具有很多有趣的特性,其中,高度非线性和最高阶的严格雪崩准则对于S盒的设计尤为重要。2022/12/11Mister和Adams提出了很多的S盒2022/12/15

Nyberg提出了以下几种S盒的设计和实践原则:●随机性:采用某些伪随机数发生器或随机数表格来产生S盒的各个项。●随机测试:随机选择S盒各个项,然后按照不同准则测试其结果。●数学构造:根据某些数学原理来产生S盒。其好处就是可以根据数学上的严格证明来抵御差分和线性密码分析,并且可以获得很好的扩散(Diffusion)特性。2022/12/11Nyberg提出2022/12/15

4.末置换函数IP-1

末置换是初始置换的逆变换。对L0和R0进行16轮相同的运算后,将得到的两部分数据合在一起,经过一个末置换函数就可得到64位的密文c,即:

c=IP-1(R16L16)(16指的是16轮)表2-8列出了该变换。2022/12/114.末置换函数2022/12/15表2-8末置换IP-1408481656246432397471555236331386461454226230375451353216129364441252206028353431151195927342421050185826331419491757252022/12/11表2-8末置换IP-1402022/12/155.总结根据上面所述,可以将DES算法归结如下:子密钥生成:

C[0]D[0]=PC–1(K)for1<=i<=16{C[i]=LS[i](C[i−1])D[i]=LS[i](D[i−1])K[i]=PC–2(C[i]D[i])}2022/12/115.总结2022/12/15加密过程:L[0]R[0]=IP(x)for1<=i<=16{L[i]=R[i−1]R[i]=L[i−1]XORf (R[i−1],K[i])}c=IP−1(R[16]L[16])v2022/12/11加密过程:2022/12/15解密过程:R[16]L[16]=IP(c)for1<=i<=16{R[i−1]=L[i]L[i−1]=R[i]XORf (L[i],K[i])}x=IP−1(L[0]R[0])2022/12/11解密过程:2022/12/152.2.2三重DESDes密钥56bit太短,1998年EFF用25万美元的计算机破译三重DES密钥56*3=168bit2022/12/112.2.2三重DESDes密钥56bit2022/12/152.3IDEA算法国际数据加密算法,分组长度为64位的分组密码算法,密钥长度是128bit具体实现见P262022/12/112.3IDEA算法国际数据加密算法,分2022/12/152.4高级加密标准AES1997年美国国家标准与技术研究所要求:比三重DES快,安全性不低于3DESRijndael(荣代尔)代替/置换算法2022/12/112.4高级加密标准AES1997年美国2022/12/152.5序列密码(流密码)流密码(streamcipher)每次加密数据流的一位或一个字节密钥由序列发生器生成用于加密和解密的密钥序列古典流密码:Vigenere密码和Vernam密码分组密码(blockcipher)将明文分成一段一段,将一段明文作为一个分组进行加密,每组分别在密钥的控制下变换成等长的输出密文序列。如:Wewillmeetthisafternoon.以5个字符为一组,则得到明文分组:wewillmeetthisafternoonxx,其中不够一个分组的采用填充。2022/12/112.5序列密码(流密码)流密码(str2022/12/15流密码模型密钥序列密钥序列明文明文解密加密密文加密:ci=pi

ki解密:pi=ci

ki密钥序列发生器密钥序列发生器流密码模型2022/12/11流密码模型密钥序列密钥序列明文明文解密加2022/12/15流密码和分组密码的比较流密码优点:转换速度快;低错误扩散率缺点:低扩散率;易被恶意插入和篡改分组密码优点:高扩散率;无法插入符号缺点:加密速度慢;错误扩散2022/12/11流密码和分组密码的比较流密码2022/12/15本章讨论与设计方向DES/AES算法实现与安全性分析Md5算法的原理与安全性分析2022/12/11本章讨论与设计方向DES/AES算法实现2022/12/15第2章对称密钥密码体系理解密码学的基本原理掌握DES加密算法了解A5和IDEA加密算法理解序列密码原理2022/12/11第2章对称密钥密码体系理解密码学的基本2022/12/152.1密码体制原理与分类(I)加密解密明文P密文C明文P加密密钥Ke解密密钥KdC=E(Ke,P)P=D(Kd,E(Ke,P)对称密码体制(symmetriccryptosystem)-单钥加密密钥和解密密钥是相同的非对称密码体制(asymmetriccryptosystem)-公钥密码加密密钥和解密密钥是成对出现加密过程和解密过程不同,使用的密钥也不同2022/12/112.1密码体制原理与分类(I)加密解密2022/12/15密码算法安全准则与分类密码的安全性原则公开的密码算法才是安全的,保密的算法只在小范围内设计和研究。按照密钥使用方法分对称密码算法(symmetriccipher):又称传统密码算法(conventionalcipher)或秘密密钥算法、单密钥算法。非对称密钥算法(asymmetriccipher),又称公开密钥算法(public-Keycipher)。按照明文的处理方法分分组密码(blockcipher):将明文分成固定长度的组,用同一密钥和算法对每一块加密,输出也是固定长度的密文。流密码(streamcipher):又称序列密码,每次加密一位或一字节的明文。

2022/12/11密码算法安全准则与分类密码的安全性原则2022/12/152.1.4密码分析可破译密码当给予足够的时间和计算资源的时候,破译者能确定的加密算法。对可破译性的评估基于当前的技术。穷举攻击攻击者对一条密文尝试所有可能的密钥,直到得到有意义的明文。Kerckhoff原则:加密算法应建立在算法的公开不影响明文和密钥的安全的基础上。这一原则得到普遍承认,成为判定密码强度的衡量标准,实际上也成为古典密码和现代密码的分界线。2022/12/112.1.4密码分析可破译密码2022/12/15传统密码体制基于加密信息的攻击类型2022/12/11传统密码体制基于加密信息的攻击类型2022/12/15密码的安全性与攻击复杂性无条件安全(Unconditionallysecure)无论破译者有多少密文,他也无法解出对应的明文,即使他解出了,他也无法验证结果的正确性.一次一密计算上安全的破译密码的代价超出密文信息的价值破译密码的时间超出密文信息的有效生命期攻击复杂性:数据时间存储量2022/12/11密码的安全性与攻击复杂性无条件安全(Un2022/12/15古典密码古典密码的加密方法一般是文字置换,使用手工或机械变换的方式实现。古典密码系统已经初步体现出近代密码系统的雏形,它比古代加密方法复杂,其变化较小。单表代替密码:Caesar密码;多表代替密码:Vigenere密码、Hill密码;转轮密码:二战中的Enigma。2022/12/11古典密码古典密码的加密方法一般是文字置换2022/12/15现代密码计算机的发展使得基于复杂计算的密码成为可能,密码学成为一门新的学科。对称密钥密码算法的发展:1977年DES正式成为标准1977年公钥密码(非对称密码)出现90年代逐步出现椭圆曲线等其他公钥算法一些新的密码技术,如,混沌密码、量子密码等2022/12/11现代密码计算机的发展使得基于复杂计算的密2022/12/15恺撒密码的破译分析一般的恺撒密码加密:ci=E(pi)=(pi+k)mod26解密:pi=E(ci)=(ci-k)mod26其中k为密钥,1k25一般的恺撒密码的破译分析已知加密和解密算法需要测试的密钥只有25个明文所用的语言是已知的,且其意义易于识别。可以采用穷举攻击2022/12/11恺撒密码的破译分析一般的恺撒密码2022/12/15代换密码substitutioncipherABCDEFGHIJKLMNOPQRSTUVWXYZwordABCEFGHIJKLMNPQRSTUVXYZ2022/12/11代换密码substitutioncip2022/12/15置换密码置换密码体制1.61.明文与密文字母不变,利用转换打乱明文字母的位置和次序。存储空间与报文长度相关。2.完全保留字符的统计信息3.使用多轮加密可提高安全性2022/12/11置换密码置换密码体制1.61.明文与密文2022/12/152.2数据加密标准(DES)

2.2.1DES算法

DES加密算法如图2-3所示,由以下四个部分组成。2022/12/112.2数据加密标准(DES)2022/12/151.初始置换函数IPDES对64位明文分组进行操作。首先,64位明文分组x经过一个初始置换函数IP,产生64位的输出x0,再将分组x0分成左半部分L0和右半部分R0,即:

x0=IP(x)=L0R0置换表如表2-1所示。此表顺序为从上到下,从左至右。如初始置换把明文的第58位换至第1位,把第50位换至第二位,以此类推。2022/12/111.初始置换函数IP2022/12/15表2-1初始置换IP585042342618102605244362820124625446383022146645648403224168574941332517915951433527191136153453729211356355473931231572022/12/11表2-1初始置换IP58502022/12/15图2-5DES加密算法2022/12/11图2-5DES加密算法2022/12/15

2.获取子密钥Ki

DES加密算法的密钥长度为56位,但一般表示为64位,其中,每个第8位用于奇偶校验。在DES加密算法中,将用户提供的64位初始密钥经过一系列的处理得到K1,K2,…,K16,分别作为1~16轮运算的16个子密钥。现在来看如何获得这16个子密钥。首先,将64位密钥去掉8个校验位,用密钥置换PC–1置换剩下的56位密钥;再将56位分成前28位C0和后28位D0两部分,即PC–1(K56)=C0D0。密钥置换PC-1如表2-2所示。2022/12/112.获取子密钥2022/12/15表2-2密钥置换PC–157494133251791585042342618102595143352719113605244366355473931231576254463830221466153453729211352820124

2022/12/11表2-2密钥置换PC–157492022/12/15

接下来,根据轮数,这两部分分别循环左移1位或2位。具体每轮移位的位数如表2-3所示。表2-3每轮移动的位数2022/12/11接下来,根据轮数2022/12/15

移动后,将两部分合并成56位后通过压缩置换PC–2后得到48位子密钥,即Ki=PC-2(CiDi)。压缩置换如表2-4所示。表2-4压缩置换PC–214171124153281562110231912426816727201324152313747553040514533484449395634534642503629329,18?2022/12/11移动后,将两部分2022/12/15图2-6子密钥产生2022/12/11图2-6子密钥产生2022/12/153.密码函数F1)函数F的操作步骤密码函数F的输入是32比特数据和48比特的子密钥,其操作步骤如图2-5所示。(1)扩展置换(E)。将数据的右半部分Ri从32位扩展为48位。位选择函数(也称E盒)如表2-5所示。2022/12/113.密码函数F2022/12/15图2-7F(Ri,Ki)计算2022/12/11图2-7F(Ri,Ki)计算2022/12/15表2-5扩展置换(E)32123

4

54

5678

989101112131213141516171617

18192021202122232425242526272829282930313212022/12/11表2-5扩展置换(E)3212022/12/15(2)异或。扩展后的48位输出E(Ri)与压缩后的48位密钥Ki作异或运算。

(3)S盒替代。将异或得到的48位结果分成八个6位的块,每一块通过对应的一个S盒产生一个4位的输出。八个S盒如表2-6所示。2022/12/11(2)异或。扩展后的48位输出E(Ri2022/12/15

S盒的具体置换过程为:某个Si盒的6位输入的第1位和第6位形成一个2位的二进制数(从0~3),对应表中的某一行;同时,输入的中间4位构成4位二进制数(从0~15)对应表中的某一列(注意:行和列均从0开始计数)。例如,第8个S盒的输入为001011,前后2位形成的二进制数为01,对应第8个S盒的第1行;中间4位为0101,对应同一S盒的第5列。从表2-6中可得S8盒的第1行第5列的数为3,于是就用0011代替原输入001011。

2022/12/11S盒的具体置换2022/12/15表2-6S盒S1盒1441312151183106125907015741421311061211953841148136211151297310501512824917511314100613S2盒15181461134972131205103134715281412011069115014711104131581269321513810131542116712051492022/12/11表2-6S盒S1盒142022/12/15S3盒1009146315511312711428137093461028514121115113649815301112125101471101306987415143115212S4盒7131430691012851112415138115615034721211014910690121171315131452843150610113894511127214S5盒21241710116853151301491411212471315015103986421111013781591256301411812711421361509104532022/12/11S3盒10091462022/12/15S6盒1211015926801334147511101542712956113140113891415528123704101131164321295151011141760813S7盒4112141508133129751061130117491101435122158614111312371410156805926111381410795015142312S8盒13284615111109314501271151381037412561101492711419121420610131535821147410813151290356112022/12/11S6盒121101592022/12/15

(4)P盒置换。将八个S盒的输出连在一起生成一个32位的输出,输出结果再通过置换P产生一个32位的输出即:F(Ri,Ki)。表2-7为P盒置换。至此,密码函数F的操作就完成了。最后,将P盒置换的结果与最初的64位分组的左半部分异或,然后左、右半部分交换,接着开始下一轮计算。2022/12/11(4)P盒置2022/12/15表2-7P盒置换16720212912281711523265183110282414322739191330622114252022/12/11表2-7P盒置换162022/12/15

2)函数F的设计

函数F是DES加密的核心,它依赖于S盒的设计。这也适用于其它的对称分组加密算法。下面我们简单讨论一下有关F函数的一些通用设计准则以及S盒设计问题。

(1)F的设计准则。函数F的基本功能就是“扰乱(confusion)”输入,因此,对于F来说,其非线性越高越好,也就是说,要恢复F所做的“扰乱”操作越难越好。2022/12/112)函数F的2022/12/15

其它的设计准则还包括严格雪崩准则(SAC)和比特独立准则(BIC)

。所谓SAC,就是要求算法具有良好的雪崩效应,输入当中的一个比特发生变化都应当使输出产生”尽可能多”

的比特变化。严格地说,就是当任何单个输入比特位i发生变换时,一个S盒的第j比特输出位发生变换的概率应为1/2,且对任意的i,j都应成立。

BIC的意思是当单个输入比特位i发生变化时,输出比特位j,k的变化应当互相独立,且对任意的i,j,k均应成立。

SAC和BIC可以有效的增强F函数的“扰乱”功能。2022/12/11其它的设计准则还2022/12/15

(2)S盒设计。S盒的设计在对称分组密码研究领域中起着举足轻重的作用。本质上,S盒的作用就是对输入向量进行处理,使得输出看起来更具随机性,输入和输出之间应当是非线性的,很难用线性函数来逼近。显然,S盒的尺寸是一个很重要的特性。一个S盒其输入为n比特,输出为m比特。DES的S盒大小为6×4。S盒越大,就越容易抵制差分和线性密码分析。2022/12/11(2)S盒设2022/12/15Mister和Adams提出了很多的S盒设计原则,其中包括要求S盒满足SAC和BIC的原则,以及S盒的所有列的全部线性组合应当满足一类称为bent函数的高度非线性布尔函数的原则。Bent函数具有很多有趣的特性,其中,高度非线性和最高阶的严格雪崩准则对于S盒的设计尤为重要。2022/12/11Mister和Adams提出了很多的S盒2022/12/15

Nyberg提出了以下几种S盒的设计和实践原则:●随机性:采用某些伪随机数发生器或随机数表格来产生S盒的各个项。●随机测试:随机选择S盒各个项,然后按照不同准则测试其结果。●数学构造:根据某些数学原理来产生S

温馨提示

  • 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
  • 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
  • 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
  • 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
  • 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
  • 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
  • 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。

评论

0/150

提交评论