版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领
文档简介
现代密码学概论1第1讲密码学基础模型与概念什么是密码?37/29/202611:11AMAliceBobOscar不安全媒介如何安全聊天?47/29/202611:11AM电话聊天57/29/202611:11AM信息隐藏作业:制作“空白”的纸白纸内容:隐藏学号、姓名、任意的一段话。要求:学号、姓名显影出来,其它内容需保持隐藏。保密通信模型87/29/202611:11AMAlice加密机解密机Bob安全信道密钥源Oscarmcmk对称密码97/29/202611:11AM加密:E:(m,k)
c,c=E(m,k)mckE明文密文密钥对称密码107/29/202611:11AMcmkD解密:D:(c,k)
m,m=D(c,k)对称密码的理解117/29/202611:11AM非对称密码(公开密码)任何人都可以用公开密钥来加密并给你发送密文Epk(m)=c而只有私钥的拥有者可以解密Dsk(c)=m127/29/202611:11AM对比:对称密码、非对称密码
对称密码
非对称密码密码攻击的分类唯密文攻击已知明文攻击选择明文攻击(得到密文)自适应选择明文攻击选择密文攻击(得到明文)选择密钥攻击(具有不同密钥间关系的知识)软磨硬泡攻击(折磨密钥持有人)147/29/202611:11AM例1:抛硬币的游戏游戏1:Alice和Bob聚在一起,为决定去看电影还是看足球而选择一个公平游戏。游戏2(作业):Alice和Bob为决定去看电影还是看足球而选择一个公平游戏,可惜的是两个人都不在一起,要通过电话进行游戏。协议:一个适当定义的、在多个实体之间执行的规程。注意:如果一个规程仅有一个实体执行,那么不是协议,而是算法157/29/202611:11AM例2:银行转账167/29/202611:11AM客户C要银行B把¥1M转到商家D的账上,假定C与B之间使用加密算法足够安全,共享密钥KCB只有双方知道,C信任B,转账过程为:C
B:KCB(Hi,我是C)B
C:KCB(Hi,我是银行)C
B:KCB(我要转账到D)B
C:KCB(OK,转多少?)C
B:KCB(¥1M)B
C:KCB(OK,已经转账完毕)上述方案是否有漏洞?重放攻击!!177/29/202611:11AM客户C与银行B的认证:C
B:{C,RC}B
C:{RB,KCB(RC)}C
B:{KCB(RB)}…...客户C与银行B认证的攻击:D
B:{C,RD}B
D:{RB,KCB(RD)}D
B:KCB(RB)}D=>B:{C,RB}B=>D:{RB2,KCB(RB)}D=>B:KCB(RB)}…...一个常见的三次握手的认证过程可能被用来实现假冒攻击常见网络攻击手段187/29/202611:11AM网络攻击分类攻击分类:被动攻击与主动攻击被动攻击,如窃听或者偷窥,非常难以被检测到,但可以防范releaseofmessagecontenttrafficanalysis主动攻击,常常是对数据流的修改,可以被检测到,但难以防范masqueradereplaymodificationofmessagedenialofservice197/29/202611:11AM网络攻击的负面影响207/29/202611:11AM信息安全的基本内容过去认为密码学提供的有机密(Confidentiality)
认证(Authentication)
完整(Integrity)
抗抵赖(Nonrepudiation)217/29/202611:11AM密码学与信息安全的研究热点
——观点的转变227/29/202611:11AM机密性
隐私性、匿名性、不可见性、不可区分性认证数据源、数据完整性、对等实体不可否认性消息发布、消息收据
知识证明(ProofofKnowledge)知识拥有权、知识结构可生存性(Survivability)
可用性可信计算(Survivability)易受攻击的环境
——Dolev-Yao威胁模型密码协议的标准威胁模型:在这个模型中,Malice有如下特征:他能获得经过网络上的任何消息他是网络的一个合法使用者,因而能够发起与任何其他用户的对话他有机会成为任何主题发出信息的接收者他能冒充任何别的主体给任意主体发消息237/29/202611:11AM密码基本概念影响密码安全性的基本因素包括:密码算法的复杂度、密钥机密性和密钥长度等。密码算法本身的复杂程度或保密强度取决于密码设计水平、破译技术等,它是密码系统安全性的保证。对于密钥的机密性,早在1883年柯克霍夫(Kerckhoff)在其名著《军事密码学》中就提出了一个原则:密码的安全不依赖于对加密系统或算法的保密,而依赖于密钥。这一原则已被后人广泛接受,称为柯克霍夫原则(Kerckhoffs’Principle)。24网络安全发展的三个阶段信息保护(访问控制,御敌于国门之外)信息保障(入侵检测,入侵是不可能被完全防范的)信息可生存性(入侵容忍,入侵是不可能完全被发现的)257/29/202611:11AM推荐参考书WilliamStalling,CryptographyandNetworkSecurity:PrincipleandPractice,ThirdEdition.(英文原版)PearsonPress,August,2002.刘玉珍、王丽娜等译,密码学与网络安全:原理与实践(第三版),电子工业出版社,2004年1月。WenboMao,ModernCryptography:TheoryandPractice.电子工业出版社影印版,2004年王继林、伍前红等译,现代密码学理论与实践,电子工业出版社,2004年7月BruceSchneier,AppliedCryptography,Protocols,algorithms,andsourcecodeinC.SecondEdition.吴世忠,祝世熊,张文政等,应用密码学,机械工业出版社。2000年。王育民刘建伟,通信网的安全理论与技术,西安电子科技大学出版社,2000年5月张玉清,肖国镇改编,赖溪松,韩亮,张真诚著.计算机密码学及其应用.国防工业出版社,2001Google,CNKI,IEL,WebofScience,SpringVerlag,AcmPortal.267/29/202611:11AM无条件安全与流密码潘森杉计算机科学与通信工程学院,江苏大学密码学无条件安全一次一密乱码本、安全性及优缺点流密码基本思想流密码加解密模型流密码设计原则目录无条件安全本讲前提假设:攻击者只能监听密文信息——惟密文攻击(CiphertextOnlyattack)回顾:替换密码,多表替换密码不安全
思考存在密码方案能达到无条件安全吗?无论攻击者花多长时间,无法得到明文的任何信息。正方观点:RSA、AES、SM2、SM4?反方观点:攻击能力随着计算机运算能力持续提高存在,即一次一密乱码本(OTP,One-TimePad,Vernam–1917)张三李四公开信道王五(攻击者)ccc无条件安全与流密码无条件安全性(perfectsecrecy)
攻击者不可区分性实验定理:加密方案无条件安全,当且仅当它是完全不可区分的Pr[EXP(1)]=1/2。不限制时间开销不暴露蛛丝马迹无条件安全与流密码
攻击者
一次一密乱码本、安全性及优缺点OTP
...
无条件安全与流密码U:均匀随机选取
替换密码VSOTP重复使用短密钥随机生成足够长的密钥
OTP的安全性
无条件安全与流密码
OTP优缺点
⊕
⊕
实验如果使用C++random库中的uniform_int_distribution函数,输出一串整数是否足够随机?无条件安全与流密码能否降低要求,改进缺点,得到折中方案?ManyTimePad
c1='25030206463d3d393131555f7f1d061d4052111a19544e2e5d'c2='0f020606150f203f307f5c0a7f24070747130e16545000035d'c3='1203075429152a7020365c167f390f1013170b1006481e1314'c4='0f4610170e1e2235787f7853372c0f065752111b15454e0e09'c5='081543000e1e6f3f3a3348533a270d064a02111a1b5f4e0a18'c6='0909075412132e247436425332281a1c561f04071d520f0b11'c7='4116111b101e2170203011113a69001b475206011552050219'c8='041006064612297020375453342c17545a01451811411a470e'c9='021311114a5b0335207f7c167f22001b44520'c10='06140611460c26243c7f5c167f3d015446010053005907145d'c11='0f05110d160f263f3a7f4210372c03111313090415481d49'流密码
流密码(Steamcipher,
序列密码)的基本思想
短密钥
近似随机无条件安全与流密码
OTPVS流密码长密钥短密钥真随机伪随机流密码的安全性能否降低要求,得到有条件的安全性模型?问题流密码方案能达到无条件安全吗?
h
k×无条件安全与流密码流密码的安全性(语义安全)
高效的攻击者
定理:如果函数h是伪随机生成器,那么流密码是语义安全的。
无条件安全与流密码h
k
流密码的加解密模型加解密结构相同
密钥流生成器的设计是流密码安全性的关键张三李四无条件安全与流密码流密码的设计原则
扩展阅读国家标准GB/T32915—2016《信息安全技术二元序列随机性检测方法》NISTSP800-22r1a,AStatisticalTestSuiteforRandomandPseudorandomNumberGeneratorsforCryptographicApplications
设计密钥流生成器使得密钥流不可预测是流密码安全的保证。具体为:①统计性能良好②长周期③高线性复杂度④抵抗不同形式的攻击
无条件安全与流密码无条件安全与流密码无条件安全一次一密乱码本、安全性及优缺点流密码基本思想流密码加解密模型流密码设计原则小结谢谢观看!现代密码学概论7/29/202611:11AM46江苏大学计算机科学与通信工程学院主讲人:潘森杉第2讲古典密码的演化名词与基本概念4811/10/1510:57加密是获得信息保密的实用工具,保密是密码学的核心现代加密技术是一些变换算法,将消息看成空间中的数字或者代数元,然后在“有意义的消息区”和“不可理解的消息区”之间进行变换。原文,有意义消息区中的消息和加密算法的输入密文,加密算法不可理解的输出明文,忽视加密输入消息的可理解性,可以是随机数或者密文消息的第二次加密输入解密,加密变换的逆变换,用于恢复信息密码体制,加密算法、解密算法、消息和密钥的形式描述构成了一个密码系统的密码体制。11/10/1510:5749DefinitionofCryptographicSystem:密码体制构成如下:
明文消息空间M
密文消息空间C
加密密钥空间K
解密密钥空间K’有效的密钥生成算法:
有效的加密算法:
有效的解密算法:密码体制图示5011/10/1510:57Ke和Kd相同时,就是对称密码体制,也称单钥密码体制;Ke和Kd成对出现且互不相同时,称为公钥密码体制或者非对称密码体制。设计密码被广泛认可的约定:Kerchoffs原理
5111/10/1510:57
Knowledgeofthealgorithmandkeysizeaswellastheavailabilityofknownplaintext,arestandardassumptionsinmoderncryptanalysis.Sinceanadversarymayobtainthisinformationeventually,itispreferablenottorelyonitssecrecywhenassessingcryptographicstrength《保密系统的通信理论》
byClaudeShannon混淆(confusion):密钥密文扩散(diffusion):明文密文缺点:错误传播5211/10/1510:5753作业1:已知一段问题的密文为FRQJUDWXODWLRNVZKDWLVBRXUQDPH请解密并回答上述问题。古典密码体制古典密码有两个基本工作原理:代换(substitution)置换(permutation)这两个基本工作原理在仍然是现代对称加密算法的最重要的核心技术现代对称密码DES和AES中就有这两个工作原理的应用5411/10/1510:57代换密码
1移位密码shiftcipher在移位密码中,密钥空间、明文空间和密文空间是相同的,加密和解密的定义为:11/10/1510:5755因为JuliusCaesar用过N=26,k=3时的加密算法,它也称为恺撒密码注:a除以b所得余数记为amodb实用加密体制需满足:
1.Εk,Dk易于计算
2.对任何敌手,即使获得密文y,不可能由此确定k和x。已知y,试图得到k的过程,称为密码分析。要求:通过y计算k至少与通过y计算x同样困难。2仿射密码affinecipher11/10/1510:5757此处,要求gcd(k₁,N)=1因为这样才能使得k₁×m(modN)取遍消息空间ZN定义:a∈Zm
,若存在a’∈Zm
,使aa’≡a’a≡1(modm),a’称为a在Zm上的乘法逆,记为a-1
modm,简记为a-1
。解:7-1mod26=15,故加密解密函数为:
Ek(x)=7x+21mod26Dk(y)=15(y-21)mod26security1842201781924计算7x+21得:1723951025247密文RXJFKZYH例:k=(7,21),对security加密。作业已知加密算法是仿射密码,对security的加密结果是RXJFKZYH,如何破解该密码(能够求出密钥k=(k1,k2)或对VLXIJH解密)。597/29/202611:11AM6011/10/1510:573单表代换密码例:原文proceedmeetingasagreed=>密文cqkzyyrjyyowftvlvtqyyr明文和密文消息串中各包含了22个消息,而密钥空间大小为26!>4×1026,与消息空间的大小比是非常大的单表密码是非常弱的:每一个明文字符被加密成唯一的密文字符,可以采用密码分析中的“频度分析”来攻击。(譬如英文里e是使用频率最高的字符,对应密文中y是最高的,如此……)思考:为什么不用空格?6111/10/1510:57etaonrishdlfcmugypwbvkjxqz11/10/1510:57abcdefghijklm0.0820.0150.0280.0430.1270.0220.0200.0610.0700.0020.0080.0400.024nopqrstuvwxyz0.0670.0750.0190.0010.0600.0630.0910.0280.0100.0230.0010.0200.001仿射密码的密码分析例:利用仿射密码中获得密文:
FMXVEDKAPHFERBNDKRXRSREFMORUDSDKDVSHVUFEDKAPRKDLYEVLRHHRH(57)频数统计:R(8),D(7),EHK(5),FV(4),S(3),…R←eD←te(4)=4a+b=17e(19)=19a+b=3
a=6b=19,gcd(a,26)=2,密钥不合法
E←t4a+b=1719a+b=4
a=13,密钥不合法
H←t4a+b=1719a+b=7
a=8,密钥不合法
K←t4a+b=1719a+b=10
a=3,b=5K=(3,5)为合法密钥解密函数为:dK(y)=a-1(y-b)=9y-19对密文解密:algorithmsarequitegeneraldefinitionsofarithmticprocesses例题Vigenère密码密钥为gold,对应表(6,14,11,3)其中,A=0,……,Z=25输入为proceedmeetingasagreed,对应下表的第一行则输出对应第三行,为vfzfksopkseltulvguchkr11/10/1510:57644多表密码PolyalphabeticCiphers
Vigenère密码的密码分析确定密钥字的长度m
Kasiski测试法
(1863FriedrichKasiski)----两个相同的明文段将被加密成相同的密文段,位置间距≡0(modm)----搜索长度至少为3的密文段,记下其离起点的那个密文段的距离,可猜测m为它们的最大公因子的因子。
重合指数法(1920WilliamFriedman)----x=x1x2…xn的重合指数Ic(x)定义为x中两个随机元素相同的概率假设f0,f1,…,f25为A,B,…,Z在x中出现的频数,有Cn2种方法选择x中任意两个元素,有Cfi2种方法使所选字母皆为i,故:Ic(x)=(∑Cfi2)/Cn2=(∑fi(fi-1))/n(n-1)x为英文文本串,A,B,…,Z出现的期望概率p0,p1,…,p25Ic(x)≈∑pi2=0.065用维吉尼亚密码加密:y=y1y2…yn
y1=y1ym+1y2m+1…y2=y2ym+2y2m+2………ym=ymy2my3m…m如果是密钥字长度,Ic(yi)≈0.065,否则yi更为随机,其值接近0.038(完全随机串的值26(1/26)2)已知m,确定K=(k1,k2,…km)----f0,f1,…,f25为A,B,…,Z在yi中出现的频数,n’=n/m为yi长度
26个字母在yi中的概率分布为:
f0/n’,f1/n’,…,f25/n’----
yi中是由明文子集中字母移ki位所得,故移位后概率分布fki/n’,f1+ki/n’,…,f25+ki/n’
应近似等于p0,p1,…,p25----
定义Mg=∑(pifi+g)/n’,g=0,1,…25
如果g=ki,Mg
≈∑pi2=0.065
如果g≠ki,Mg
一般应该<0.065
对每个i,由此确定ki11/10/1510:5768换位密码换位密码,也成为置换密码,通过重新排列消息中元素的位置而不改变元素本身来变换一个消息,这种思想广泛应用于现代分组密码的构造。密钥为置换:加密算法为:显然有:解密算法为:
共有b!种不同的密钥,或者说一个明文对应b!种可能的密文。
思考为什么换位密码对于频率分析技术也是脆弱的。11/10/1510:5769注意空格的处理!希尔密码(HillCipher)P=C=(Z26)m,m(≥2)∈Z,
K={定义在Z26上的m阶可逆矩阵}对每一个K∈K
,定义:
eK(x)=xK=(x1,x2,…,xm)K
dK(y)=yK-1=(y1,y2,…,ym)K例:密钥,试对明文abcd加密。解:(a,b)=(0,1)加密
(0,1)
K
=(3,7)=(D,H);
(c,d)=(2,3)加密
(2,3)K=(31,37)=(5,11)=(F,L)。所以,明文abcd经过Hill密码加密后,变为密文DHFL.
对DHFL解密:
(D,H)=(3,7)解密(3,7)
K-1
=(0,1)=(a,b)(F,L)=(5,11)解密(5,11)K-1
=(2,3)=(c,d)得明文abcdHill密码的密码分析唯密文攻击较难,已知明文攻击易假设敌手已知m,至少有m个不同的明-密文对:xj=(x1,j,…,xm,j),yj=(y1,j,…,ym,j)有yj=e(xj)
定义X=(xij),Y=(yij),有Y=XK
如果X可逆,K=X-1Y
如果X不可逆,重新选择m个明-密文对。
例:m=2的Hill密码:friday→PQCFKU,求K。解:eK(5,17)=(15,16)eK(8,3)=(2,5)eK(0,24)=(10,20)注:如果不知道m,假设m不太大,可试m=2,3,…,直到找到密钥。古典密码的应用与安全性基于字符的代换密码,明文消息空间是字母表,加密就是逐字符的代换,明文消息中一个字符将被加密为密文消息中一个固定的字符(自然语言中,字符有固定的频度,频度分析技术,可由密文消息发现明文或者密钥消息)多表密码和换位密码比代换密码安全,但是如果密钥很短而消息很长,密码分析技术还是很容易攻破这样的密码如果密钥使用了某些条件,那么古典密码甚至简单代换密码也可以非常安全。实际上,正确地使用密钥后,简单代换密码可以广泛的应用于密码体制和协议。7311/10/1510:5711/10/1510:5774Vernam密码和一次一密(One-TimePad)明文密钥密文与加密算法:其中,表示均匀、随机地选取1.Vernam密码满足是代换密码的特例,如果密钥串仅用一次,就满足了密码的两个强安全性条件。——无条件安全。2.k=(逐比特的),由于任意m能产生c,所以密文消息串不能提供给窃听者任何关于明文m的信息。古典密码、频率分析和一次一密11/10/1510:57流密码分组密码——将明文分成固定长度的组,用相同的密钥和算法对每组加密的到固定长度的密文
x=x1x2x3…
KKK…y=y1y2y3…流密码——又称序列密码,每次加密1比特或1字节
x=x1x2x3…
密钥流z=z1z2z3…z1z2z3…y=y1y2y3…定义:
同步流密码是一个六元组(P,C,K,L,E,D)和一个函数g
P——明文空间,C——密文空间,K——密钥空间
L——密钥流字母表,
g——密钥流生成器,以K为输入,输出密钥流为
z=z1z2z3…
满足:每个z,存在ez∈E
和相应的dz∈D,使得dz(ez(x))=x
,对每个x∈
P
例:维吉尼亚密码的密钥长度为m,P=C=L=Z26,K=(Z26)mK=(k1,k2,…,km)∈K,定义密钥流z=z1z2z3…=k1k2…kmk1k2…kmk1k2…km…定义ez(x)=x+zmod26dz(y)=y-zmod26注:分组密码可视为流密码的特例周期流密码:密钥流是周期序列如前例维吉尼亚密码可视为周期为m的周期流密码流密码常以二元字符表示,加解密可用硬件有效实现m级线性移位寄存器(LFSR)
K=(k1,k2,…,km),定义zi=ki,
1≤i≤m
zi+m=c0zi+c1zi+1+…+cm-1zi+m-1mod2
其中:c0,c1,…,cm-1∈Z2为常数,c0=1硬件实现例:m=4,zi+4=zi+zi+1mod2如(0,0,0,1),产生的密钥流为0001001101011110001001101011110001…(周期为2m-1=24-1=15的序列称为m序列)k4k3k2k1⊕异步流密码:zi的产生不仅与K有关,还与明文或密文有关密码体制
自动密钥密码
P=C=K=L=Z26
z1=k∈K,zi=xi-1
i≥2z∈Z26,定义:ez(x)=x+zmod26
dz(y)=y-zmod26例:K=6加密明文ciphertext
明文数字281574171942319
密钥流62815741719423
密文数字810232211221023116
密文IKXWLWKXBQ
注:这种密码体制不安全:密钥空间太小!作业2破解密码锁线性反馈移位寄存器与流密码的例子潘森杉计算机科学与通信工程学院,江苏大学密码学真随机序列与伪随机序列反馈移位寄存器(FSR)详解Trivium流密码案例研究ZUC流密码案例研究目录真随机序列与伪随机序列自然产生的随机比特流需要借助特定的硬件设备或软件算法来实现。难以产生安全性问题管理问题自然产生的随机比特流仅能使用一次,否则容易受到攻击和破解。自然产生的随机比特流生成、传输、存储、更新过程可能需要大量的时间和资源。真随机比特流的挑战
OTPVS流密码长密钥短密钥真随机伪随机线性同余生成器
(LCG,LinearCongruentialGenerator)xn≡axn-1+b(modm)解线性方程组xn+2≡axn+1+b(modm)xn+1≡axn+b(modm)xn+2-xn+1≡a(xn-1-xn)(modm)a≡
(xn+2-xn+1)/(xn-1-xn)(modm)b≡xn+1-axn(modm)线性同余生成器
(LCG,LinearCongruentialGenerator)#n=714326667532888136341930300469812503108568533171958701229258381897431946521867367344505142446819#output=[683884150135567569054700309393082274015273418755015984639210872641629102776137288905334345358223,285126221039239401347664578761309935673889193236512702131697050766454881029340147180552409870425,276893085775448203669487661735680485319995668779836512706851431217470824660349740546793492847822,670041467944152108349892479463033808393249475608933110640580388877206700116661070302382578388629,122640993538161410588195475312610802051543155060328971488277224112081166784263153107636108815824,695403107966797625391061914491496301998976621394944936827202540832952594905520247784142392337171,108297989103402878258100342544600235524390749601427490182149765480916965811652000881230504838949,3348901603647903020607356217291999644800579775392251732059562193080862524671584235203807354488,632094372828241320671255647451901056399237760301503199444470380543753167478243100611604222284853,54758061879225024125896909645034267106973514243188358677311238070832154883782028437203621709276]答案Spirit{Gr3at__J0b!_You_can_be___better!}流密码的核心组件介绍线性反馈移位寄存器线性反馈移位寄存器(LFSR)是生成伪随机序列的一种常用方法。它由一个或多个二进制寄存器组成,通过线性反馈函数控制寄存器的移位和输出。非线性反馈移位寄存器与线性反馈移位寄存器相比,非线性反馈移位寄存器(NFSR)具有更好的密码学特性。NFSR的反馈函数是非线性的,这使得其生成的序列具有更好的随机性和不可预测性。伪随机序列生成器流密码的核心组件是伪随机序列生成器,用于生成看似随机的密钥序列。这些序列在统计上接近真正的随机序列,但它们的生成过程具有确定性和可重复性。030201结构简单 实现方便成本低廉 统计性优良因此广泛应用于流密码、无线通信、图像处理等领域。优势反馈移位寄存器(FSR)优势
FSR详解FSR的工作原理反馈函数LFSR的核心,根据寄存器中部分内容计算新比特。工作原理基于线性反馈函数和移位操作,每个时钟周期输入序列经反馈函数处理,寄存器右移一位,反馈函数产生新比特填充最右边位置。
状态输出状态输出10111011110011001111011101111011即输出序列为10111011101,周期为4。练一练LFSR的例子和破译方法
×破译方法LFSR的例子和破译方法③⑤④⑥密钥流的递推关系
只使用线性反馈移位寄存器,无法保证密码前后向安全
①已知明文攻击,提取密钥流z片段。初始化:①密钥加载②迭代该阶段用于混淆内部状态与密钥k和初始向量IV的对应关系。密钥生成:②迭代③输出密钥该阶段用于生成伪随机序列。在流密码中,密钥通过迭代算法进行加密,生成密钥流。流密码的两个阶段①②③密钥生成函数:非线性反馈函数:线性或非线性Trivium流密码案例研究ISO/IEC29192-3:2012轻量级密码结构:简单、紧凑Trivium由三个非线性反馈移位寄存器(NFSR)组成,每个NFSR的位数分别为93、84和111。特点
Trivium的结构和特点
物联网设备保护通信,如智能传感器和网关确保数据完整性和机密性资源使用最小化RFID系统加密RFID标签与读取器通信防止未经授权的访问和数据拦截可穿戴健康设备保护敏感健康数据传输应用于健身追踪器等工业物联网保护传感器与控制系统数据传输保护智能工厂敏感操作数据智能农业加密土壤和气候监测传感器数据确保数据机密性Trivium密码的具体应用场景0102030405Trivium在不同硬件平台的表现特色:加密速度快资源需求小平台密码算法加密速度(Mbps)功耗(mW)面积大小(mm²)存储需求(KB)FPGA(XilinxVirtex-5)Trivium10,0001,2000.150.5AES-1281,2001,0000.201.0ASIC(0.18µmCMOS)Trivium1,000100.010.1AES-128500200.020.2ARMCortex-M3Trivium10050-1.0AES-1285060-2.0GPU(NVIDIAGTX1080)Trivium100,000150-50AES-12850,000200-100ZUC流密码案例研究LTE国际移动通信标准ZUC密码的具体应用场景移动通信安全:用于3G、4G和5G网络中的用户数据保护-确保通信的机密性和完整性物联网(IoT)安全:-适用于资源受限的设备-保护物联网设备之间的通信安全金融交易安全:-实时数据加密,保护交易数据的机密性和完整性-防止数据泄露和欺诈军事通信安全:-加密军事数据和通信信息-确保军事通信的机密性和安全性云计算安全:-加密云存储数据和云服务通信-确保数据的安全性和隐私性线性反馈移位寄存器(LFSR)层线性反馈移位寄存器以有限域GF(2
31-1)上的16次本原多项式P(X)=x16-215x15-217x13-221x10-220x4-(28+1)为连接多项式。因此,输出为素域GF(231-1)上的m序列,具有良好的随机性。比特重组(BR)层ZUC的BR层负责将LFSR层的输出进行比特重组,通过线性变换生成新的序列。这一层的设计旨在提高序列的变化速度和统计特性。非线性函数(F)层ZUC的F层由多个非线性函数组成,这些函数根据输入的不同进行不同的运算,从而生成混淆和扩散性的输出。这一层的设计旨在为保密算法提供混淆与扩散性的同时降低对移动通讯设备的硬件资源占用。ZUC的结构和特点ZUC的结构和特点线性反馈移位寄存器(LFSR)层输出具有良好随机性的m序列2026/7/29101线性反馈移位寄存器以有限域GF(2
31-1)上的16次本原多项式P(X)=x16-215x15-217x13-221x10-220x4-(28+1)为连接多项式。其输出的m序列的周期为(231-1)16-1,约等于2496。ZUC的结构和特点比特重组(BR)层提高序列变化速度和统计特性。中层的比特重组从LFSR的寄存器单元中抽取128比特组成4个32比特字X0、X1、X2、X3。比特重组采用取半合并技术,实现LFSR数据单元到非线性函数F和密钥输出的数据转换。ZUC的结构和特点非线性函数(F)层提供混淆与扩散性,降低硬件资源占用。103非线性函数F内部包含2个32比特存储单元R1和R2,F的输入为来自比特重组的3个32比特字X0、X1、X2,输出为一个32比特字W。因此,非线性函数F是一个把96比特压缩为32比特的一个非线性压缩函数。ZUC密码与AES的性能数据对比在硬件实现上,ZUC密码的处理速度优于AES。在软件实现上,AES的加密解密速度通常比ZUC快。在功耗方面,ZUC密码的低功耗设计使其适用于移动设备。平台加密算法加密速度功耗面积大小XilinxVirtex-6ZUC约1.5Gbps约0.6W约12,000个LUTAES约1Gbps约1W约20,000个LUTAlteraCycloneVZUC约1.2Gbps约0.5W约10,000个LUTAES约0.8Gbps约0.8W约18,000个LUT65nmCMOS工艺ZUC约4Gbps约1mW约0.15mm²AES约3Gbps约1.5mW约0.2mm²ARMCortex-M4(STM32F4)ZUC约0.8Mbps约1.2mA约1.5KBFlash,约150字节RAMAES约0.5Mbps约2mA约2KBFlash,约200字节RAMAVRATmega328(ArduinoUno)ZUC约0.4Mbps约0.6mA约750字节Flash,约75字节RAMAES约0.2Mbps约1mA约1KBFlash,约100字节RAMIntelCorei7(Haswell)ZUC约80Mbps约1.2W约150KBL1缓存,约15KBL2缓存AES约50Mbps约2W约200KBL1缓存,约20KBL2缓存ARMCortex-A72(RaspberryPi4)ZUC约40Mbps约0.6W约75KBL1缓存,约7.5KBL2缓存AES约25Mbps约1W约100KBL1缓存,约10KBL2缓存伪随机序列的生成反馈移位寄存器TriviumZUC小结谢谢您的观看THANKS现代密码学概论7/29/202611:11AM107主讲人:潘森杉第3讲数据加密标准
·有关实用密码的两个一般设计原则是Shannon提出的混淆原则和扩散原则。混淆:人们所设计的密码应使得密钥和明文以及密文之间的依赖关系相当复杂以至于这种依赖性对密码分析者来说是无法利用的。扩散:人们所设计的密码应使得密钥的每一位数字影响密文的许多位数字以防止对密钥进行逐段破译,而且明文的每一位数字也应影响密文的许多位数字以便隐蔽明文数字统计特性。软硬件实现的设计原则:加密和解密可用同样的器件来实现。尽量使用规则结构,因为密码应有一个标准的组件结构以便其能适应于用超大规模集成电路实现。大多数分组密码都是乘积密码,通常伴随一系列置换与代换操作,常见的乘积密码是迭代密码。典型的迭代密码:明确定义一个轮函数和一个密钥编排方案,一个明文的加密将通过Nr轮类似过程。K——确定长度的随机二元密钥用K生成Nr个轮密钥(也叫子密钥)K1,K2,…,KNr,其列表(K1,K2,…,KNr)即为密钥编排方案,它是由K经过一个固定的、公开的算法生成。轮函数g以轮密钥Kr和当前状态wr-1作为它的两个输入,下一个状态定义为wr,初态w0被定义成明文x,密文y定义为经过Nr轮后的状态,即:加密:
w0
←
x
初态w1
←g(w0,K1)第1轮…………wNr-1
←g(wNr-2,KNr-1)第Nr-1轮wNr
←g(wNr-1,KNr)第Nr轮
y
←wNr
为解密,g在第二个变量固定的条件下必须是单射,即等价于存在g-1,g-1(g(w,k),k)=w解密:
wNr
←
y
wNr-1
←g-1(wNr,KNr)
………w1
←g(w2,K2)w0
←g(w1,K1)
x
←w0
线性密码分析假设能在明文比特子集与最后一轮即将进行代换的输入状态比特子集之间找到一个概率线性关系。即存在一个比特子集,使其中元素的异或表现出非随机的分布(如该异或值以偏离1/2的概率取0)攻击者有用同一未知K加密的明-密文对对每个明密文对,用所有可能的候选密钥对最后一轮解密y,对每个候选密钥,计算包含在线性关系式中的相关状态比特的异或值,然后确定上述的线性关系是否成立,若成立,相应计数器上加1,最后,计数频率离明密文对数的一半最远的候选密钥含有那些比特的正确值。明文密文分组长为n,密钥分组长为m,分别记为:P[1],…,P[n];C[1],…,C[n];K[1],…,K[m]定义A[i,j,…,k]=A[i]⊕A[j]⊕…⊕A[k]线性密码分析的目标:找出如下形式的有效线性方程:P[i1,i2,…,ia]⊕C[j1,j2,…,jb]=K[k1,k2,…,kc]如果方程成立概率p≠1/2,则称为有效的线性逼近如果|p-1/2|是最大的,则称为最有效的线性逼近N—明文数,T是使得方程左边为0的明文数T>N/2:K[k1,k2,…,kc]=0(p>1/2)or1(p<1/2)T<N/2:K[k1,k2,…,kc]=0(p<1/2)or1(p>1/2)从而可得关于密钥比特的一个线性方程,对不同的明密文重复以上过程,可得关于密钥的一组线性方程,从而确定出密钥比特。差分密码分析同线性密码分析的主要区别:包含将两个输入的异或与其相对应的两个输出的异或相比较。选择明文攻击:假设攻击者有大量的四元组(x,x*,y,y*),x’=x⊕x*为固定值对每个四元组,应用所有可能的候选密钥对该密码的最后一轮进行解密;对每一个候选密钥,计算某些状态比特的值,并确定它们的异或是否有一个确定的值(即对给定输入异或值的最可能取的值);如果是,就把对应的计数器加1;最后,希望具有最高频率的候选密钥含有真正密钥那些比特的取值。差分密码分析最早由Murphy发表于1990年。是一种强有力的密码分析方法,但它对DES并不十分凑效。根据设计DES的IBM小组成员所述,在1974年就知道了差分分析,设计S盒和置换P时充分考虑了抗差分攻击。针对于DES的线性密码分析由Matsui发表于1993年,需要243个明文就可以找出DES的密钥,而差分分析需247个选择明文。迄今为止,几乎没有其他研究组做工作来验证线性分析方法。数据加密标准(DES)DES概述1977年1月,美国国家标准局公布了DES,它是用于非保密数据(与国家安全无关的信息)的算法。该算法在世界范围内得到广泛应用,一个主要的例子就是银行的资金转帐它本来被批准用5年,此后经住了时间的考验,又批准了3个5年使用期是第一个并且也是最重要的现代对称加密算法。11611/10/1510:5711711/10/1510:57DES介绍DES是分组密码,其中的消息被分成定长的数据分组,每一分组称为M或者C中的一个消息在DES中,M=C={0,1}64,K={0,1}56DES的运算可描述为三步:步骤一、将输入分组进行固定的“初始置换”IP:其中,L0,R0分别称为左右半分组,都是32bit。IP是固定的函数,是公开的,输入密钥不是它的参数,或者说,这个初始置换无明显的密码意义11811/10/1510:57步骤二、将下面的运算迭代16轮,i=1,…,16其中,ki成为轮密钥,是56bit输入密钥的一个48bit的子串,f称为“S盒函数(S-box)”,S表示代换,上述运算的特点是交换左右两半分组,就是说,一轮的左半分组输入是上一轮的右半分组输出,其目的是获得很大程度的信息扩散,本质是获得Shannon的混合特性。“S盒函数”f通过两个子运算实现了下面两个性质:消息分布所需的随机性:ki与Ri-1逐比特相加获得消息分布所需的非线性:S盒中包含8个代换盒(代换密码一般是非线性的仿射和移位是线性中的子类)11/10/1510:57119步骤三、将16轮迭代后得到的结果(L16,R16)输入到IP的逆置换来消除初始置换的影响,这一步的输出就是DES的输出,可表示为:说明:加密和解密都用这三个步骤,仅有的不同就是如果加密算法中使用的密钥是:那么解密中使用的轮密钥就应当是:这种排列轮密钥的方法成为“密钥表”,记为:思考题:请证明DES密码能满足Dk(Ek(m))=mIP-1的输入使得16轮迭代的两个半分组又进行了一次交换Feistel型密码Li=Ri-1Ri=Li-1⊕f(Ri-1,Ki)可逆:Li-1=Ri⊕f(Li,Ki)=(Li-1⊕f(Ri-1,Ki))⊕f(Li,Ki)Ri-1=LiLi-1Ri-1LiRifKiDES的结构DES描述图1217/29/202611:11AM初始置换IP
在迭代运算之前,需要将输入的64位明文进行初始置换IP。进行初始置换后,明文的次序被打乱,如原来放在第58位的数据置换后放在第1位。58504234261810260524436282012462544638302214664564840322416857494133251791595143352719113615345372921135635547393123157轮函数f(A,J)的描述
A为32比特串,J为48比特串,输出f(A,J)为32比特串A根据一个固定扩展函数E扩展成一个长为48比特串E(A)计算E(A)⊕J,并将所得结果分成8个长为6的比特串,记为B=B1B2…B8使用8个S盒S1,…,S8.每个Si为6进4出,用4×16矩阵描述。对Bj=b1…b6,计算Sj(Bj):b1b6对应Sj
的行,b2b3b4b5对应Sj的列,对应二进制表示Cj=Sj(Bj),将长为32比特的C=C1C2…C8通过固定置换P:
P(C)=f(A,J)轮函数加密流程图1247/29/202611:11AM扩展置换
扩展置换将前一轮迭代的结果Ri−1作为输入,根据扩展函数E将32位的比特输入扩展为48位。
扩展函数E将32位的明文每4位为分成一组,共有8组,每个分组由4位扩展为6位。扩展方法为:每个分组的4位作为6位输出分组的中间4位,6位输出分组中的第1位和第6位分别由相邻的两个4位小分组的最外面两位扩散进入到本分组产生,其中第1个小分组的左侧相邻分组为最后一个小分组。将8个小分组扩展后的结果列成一张表,就构成了E置换的扩展置换表:3212345456789891011121312131415161716171819202120212223242524252627282928293031321012345678910111213141501231441312151183106125907015741421311061211954841148136211151297310501512824917511314100613S101231518146113497213120510313471528141201106911501471110413158126932151381013154211671205149S201231009146315511312711428137093461028514121115113649815301112125101471101306987415143115212S30123
7131430691012851112415138115615034721211014910690121171315131452843150610113894511127214S4S盒0123
2124171011685315130149141121247131501510398642111101378159125630141181271142136150910453S50123121101592680133414751110154271295611314011389141552812370410
温馨提示
- 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
- 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
- 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
- 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
- 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
- 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
- 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。
最新文档
- 3kV大功率双指数脉冲源的关键技术研究与实现
- 3-(1-萘氧基)-1,2-环氧丙烷水解动力学拆分:机制、影响因素及医药应用探索
- 2026年节能型空气分离设备行业创新研发报告
- 2026年智能用电系统产品行业管理系统创新报告
- 2026年新能源电动汽车电池材料创新发展趋势报告
- 感恩教育课件(德育教育)
- 2026北师大三下讲故事互动课件
- 2026数学核心素养解读公开课课件
- 产品认证过程跟进回复函6篇
- 食品加工行业HACCP体系认证实施手册
- 中医特色护理在肾内科的应用
- 《造血细胞检验》课件
- 新能源项目典型案件争议解决实务-笔记
- 医药代表KOL培养
- DB11T 211-2017 园林绿化用植物材料 木本苗
- 脾脏的外科解剖及部分切除术
- 2022年全国职业院校技能大赛赛项-ZZ-2022002农机维修赛项正式赛卷-植保无人机维修评分标准
- 五年级数学(小数乘除法)计算题专项练习及答案
- 环境与资源保护法(第五版)课件全 第1-9章 环境与资源保护法概述- 国际环境法
- 2023年江苏省综合评标专家库和专家续聘考核题(公共基础)汇总
- 黄芪注射液联合当归注射液对急性失血性休克围手术期血乳酸水平和氧代谢的影响
评论
0/150
提交评论