【轻量级分组密码的理论基础4100字】_第1页
【轻量级分组密码的理论基础4100字】_第2页
【轻量级分组密码的理论基础4100字】_第3页
【轻量级分组密码的理论基础4100字】_第4页
【轻量级分组密码的理论基础4100字】_第5页
已阅读5页,还剩3页未读, 继续免费阅读

下载本文档

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

文档简介

轻量级分组密码的理论基础综述1.1分组密码介绍人类进入大数据时代,信息变成了人类的财富,是人类生存、活动和进步的重要资源。我们通常所说的人与人之间信息的交换,其实就是语言、文字、图像、数据和符号等的相互交流或传递。任何一个国家、党派乃至一个小团体,为了自己的利益,都要在内部交换信息。但许多信息除合法的授权者外,不想也不能让其他任何人知道,这就产生了密码通信。图1.1.1表示一般的密码通信系统模型。图1.1.1中,信息的原生态称为明文(用m表示),明文的产生处称为明文源,明文的接收处称为明文宿,将明文变换为不可懂的信息(隐藏态),此时的信息称为密文(用c表示),由明文变换为密文的过程称为加密,反之称为解密或脱密。加密时采用的所有加密算法总体称为加密算法空间,而解密时采用的所有解密变换总体称为解密算法空间或脱密算法空间。控制加密算法Eke,变化的关键信息或参数ke称为加密密钥,所有加密密钥组成加密密钥源,控制解密算法Dkd图1.1.1密码通信系统模型分组密码加解密过程由图1.1.2所示。图中,M=(m0m1m2...mn−1)为明文组,C=(−1)为对应的密文组,图1.1.2分组密码加密和解密过程由密码体制的定义可知,在分组密码体制中,加密变换空间为E={EK|EK:F解密变换空间为D={DK|DK:FE和D均为2n阶对称群S2n,的一个子集。如果E=S2n,那么对于任一EKϵE,即使已知n对明密文(Mi,Ci),Ci=EK(Mi),i=1,2,n,对每个M∉{Mi|i=1,2,3,n}破译者只能知道但是,实际上不可能使密钥空间K取最大值E=S2n。例如当n=6时,|S2n|=(2n如何构造一个分组密码体制,确切地讲,如何由密钥空间K中任一密钥K确定密码变换EK和DK呢?一种方法是利用某些简单的函数来定义EK和DK。例如,在单表代替密码的构造中,我们曾经讨论过用矩阵法构造代替密码(即分组密码)的密码变换EK和DK,它们是F226→(尽管这个数字随n指数的增长而增长。但是,只要知道n组线性无关的明文组{Mi|i=1,2,3,n}及其对应的密文组{Ci|i=1,2,3,n}以下我们再看另一个例子。设E={EK其中,EKC=即E是F2n上的一般Caesar代替密码。这时无论n有多大,只要对某个M知道了EK(M),由以上讨论可知,分组密码的设计问题就在于找到一种算法,使得此算法的变化依赖于一个很大的密钥空间K,而且能在密钥KϵK的控制下,从一个足够大且“足够好”的S2n的子集中,简单、迅速地选出一对密码变换EK和为了防止明文穷举攻击成功,需要我们将分组长度n设置得足够大,;为了防止密钥穷举攻击成功,需要我们将密钥空间K设置得足够大;良好的混乱性;良好的扩散性;便于实现。这里的第(3)条和第(4)条体现了Shannon混乱与扩散的编码原则。依据混乱原则来设计分组密码是指,密文与明文及密钥之间应该是相当复杂的函数关系,以抵抗解析分析。函数的关系足够复杂至少有两层含义:一是强相关的,二是高非线性的。扩散原则要求,对分组密码的每个密钥K所决定的加密变换EK,应让每一位明文输入都尽最大限度地迅速影响到更多的输出密文上,以隐蔽明文数字的统计特性。同样的,这样的方法也可以用于将任意比特密钥数字最大限度地迅速影响到更多个比特的密文上,就可以在一定程度上防止密钥被攻击方破译。Shannon曾经在自己的研究中将“扩散”和“混乱”的概念比喻为“和面”。但在“揉和”明文和密钥的过程中还需要满足以下两点:一是在加密的过程中使用到的加密模块必须是可逆的,这在一定程度上限制了一些“混合”使用子块:密码运算操作需要以子块为单位,为了配合软件的编程,需要将子块的长度单位进行一定的限制,比如8bit等。在软件实现中,尽量避免使用bit运算。使用基本运算指令:在进行加密子块的运算时,最好是用一些便于软件实现的基本处理器指令,比如加法、移位等。加解密的相似性:为能够在大规模集成芯片上实现,还需要尽可能地让加密过程与解密过程相似,最好是仅限于密钥使用方式上的差异。这样的话,同样的结构既可用来加密又可用来解密。1.2分组密码的一般结构目前,公开的主流分组密码的一般结构如下,首先将一个简单函数作为分组密码的轮函数,然后进行多轮的迭代,通过这样的方式构造成更为复杂的加密变换或解密变换。主要的分组密码结构有Feistel结构和SPN结构。1.1.1Feistel结构IBM公司的Feistel和Tuchman在上世纪六十年代设计Lucifer分组密码时提出了名为Feistel的分组密码结构,该结构在之后也应用于DES分组密码,并随着DES的使用被大家熟知。图1.1.1是r轮Feistel结构第i(1≤i≤r)轮加密过程示意图,其中f:是轮函数,K1图1.1.1Feistel结构示意图Feisted结构加解:过程如下:将2nbit的明文M分成左右两半,将左边的nbit记为,,右边的nbit记,L1,则M=L0L1。然后对M连续进行r轮形如图1.1.1所示的变换,i=1,2,3,...r有Li+1=Li−1⊕f(Li,Ki),且最后一轮不做“左右交换”,得到密文1.1.2SPN结构在SPN结构中,函数S是一个由轮密钥控制的可逆非线性函数;P是一个可逆线性变换。在此基础上,SPN结构的每轮加解密变换通常都会由一个函数S和一个P组成。图1.1.2,给出了r轮SPN结构中第i(1≤i≤r)轮加密变换的一般结构示意图。设明文为M=X0X图1.1.2SPN结构示意图可得到密文C=Xr,.在SPN结构中,函数S被用于制造“混乱”效果,而P用于制造“扩散”效果。SPN结构的数据扩散速度较Feisted结构而言更为迅速。但SPN结构不是加解密相似的,从而实现时将占用更多的资源。1.3轻量级分组密码的原理在过去的几年里,许多新的密码原语被提出并用于RFID标签部署、传感器网络和其他资源限制要求比较高的设备的应用程序。小型计算设备的广泛部署带来了许多值得探索和思考的问题。某种意义上讲,提高算法的运行效率就意味着会在一定程度上降低算法的安全性。轻量级密码算法的主要目标是:在提供足够的安全性保证的同时力求提高执行效率。在资源受限的环境(例如:无限的传感器网络和射频技术标签)中,分组加密的操作需要是轻量级的。由于轻量级密码算法可以处理的数据量较小,因此轻量级分组密码算法的数据吞吐速率要求比普通的分组密码要低得多。大多数轻量级分组密码在密码算法的实现中由硬件实现,这就需要在实施加密算法时,硬件资源占用的存储空间较小,并且通常由门号GE(门等效)来衡量规模,它是用硬件实现密码算分的过程中对数字电路复杂性的一种度量。在最近几年的发展中,轻量级块密码的进化速度有了一定的提升。这得益于算法在设计领域的成果积累,以及对有关应用的认识。一些基于AES的设计原则的轻量级密码算法模块被设计出来。虽然基于AES的设计方式非常适合软件,但并不能提供硬件中最优化、轻量级的实现。1.4轻量级S盒原理同样,分组密码S盒也率先在Lucifer算法中被提出。S主要的作用是为分组密算法提供算法所需,它是许多分组密码算法中唯一的非线性成分。本质上,可以将S盒视为映射S(x)=(f1(x),...,通常情况下,大多数的分组密码算法利用S盒构建自己非线性的部分。如果将S盒设计为自然映射或线性变换(即,输出和输入形成某种线性关系),则S盒不会在混淆中发挥作用,因此这样的S盒并不安全,也就是说,它成为整个加密算法中的一个缺陷。因此,研究如何设计安全的S盒具有非常重要的理论指导价值和实际参考意义。对于轻量级分组密码算法而言,由于操作执行环境对于资源限制要求比较高,因此在算法设计时不能过于复杂,所使用的S盒也不能太大(即m、n值不能过大)。实际上,考虑到安全性和效率之间的平衡,轻量级分组密码通常使用4比特S盒(即输入和输出是4位)。例如,像KLEIN[19],PRESENT[20],LED[21]等算法都是如此。这种算法的安全性很大程度上依赖于4比特S盒的安全性。解决轻量级算法硬件实现优化问题便成了一个具有实际意义和价值的研究课题。轻量级分组密码比普通分组密码算法的硬件实现限制要求更为严格。对于轻量级算法的硬件实现,完整结构具有的门面积(包括模拟部分的低成本RFID标签)在1,000至10,000GE之间,而安全组件最多要占据到2,000GE[17]。面积的限制可能会通过降低传感器的限制要求进行补足。通过使用TSMC0.18µmProcess1.8-VoltSAGE-X标准,常见的轻量级分组密码P

温馨提示

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

评论

0/150

提交评论