轻量级密码研究综述
- 格式:docx
- 大小:52.54 KB
- 文档页数:15
轻量级密码算法在信息安全上的应用研究信息安全是我们日常生活中不可缺少的一部分,随着计算机技术的不断发展,信息安全得到了越来越多的关注。
密码算法是信息安全的核心之一,目前主流的密码算法主要分为对称密码算法和非对称密码算法两种。
对称密码算法常用的有AES、DES等,而非对称密码算法则常用的有RSA、ECC等。
但这些算法都存在着缺陷,不可避免的会面临着各种攻击。
因此,轻量级密码算法逐渐成为研究的热点之一,越来越多的人开始关注这一领域。
一、轻量级密码算法的定义和分类轻量级密码算法是相对于主流密码算法而言的,它主要指针对不同场景下的安全需求,设计出针对性更强、复杂度更低、速度更快、资源更少的一类密码算法。
不同的场景需要不同的密码算法,因此轻量级密码算法也被按照应用场景分成了多个子类。
1. 嵌入式环境下的轻量级密码算法:在嵌入式系统(如智能卡、手持设备、传感器、好时器等)中,硬件资源是非常有限的,因此嵌入式环境下的轻量级密码算法需要具有尽可能小的存储空间和计算复杂度。
2. 网络通信安全中的轻量级密码算法:在网络通信中,密钥的传输需要速度快、成本低、安全可靠,因此网络通信安全中的轻量级密码算法主要有对称密码算法和哈希函数等。
3. 物联网中的轻量级密码算法:物联网是由大量的物理设备组成的,这些设备同样受到存储空间和计算功耗的限制,因此物联网中的密码算法需要具有非常小的存储空间和计算复杂度。
二、轻量级密码算法的特点和优势轻量级密码算法具有以下特点和优势:1. 算法复杂度低:轻量级密码算法采用的算法复杂度较低,因此计算速度非常快,适用于需要高速加密或解密的场景。
2. 存储空间小:轻量级密码算法需要存储密钥和算法,因此需要尽可能小的存储空间,适用于存储空间有限的场景。
3. 算法设计简洁:轻量级密码算法一般采用简单易懂的算法设计,因此相比大型密码算法更容易理解和实现。
4. 对抗攻击能力强:轻量级密码算法可以具有适当的难度,从而提高密码的安全性,对抗各种攻击手段的能力更强。
轻量级密码算法研究与性能评估随着互联网的发展,数据的保护愈发重要,密码算法成为了各种软件、设备以及通信协议的必备部分。
而轻量级密码算法因其在资源受限的场景下优秀的性能表现,成为了广大研究者的关注重点。
本文旨在介绍轻量级密码算法的研究现状以及性能评估,为读者深入了解轻量级密码算法提供一些参考。
一、轻量级密码算法概述轻量级密码算法是指在资源受限的系统中使用的密码算法,如物联网设备、传感器等。
这类设备具有处理能力、存储空间等方面的限制,因此不能使用传统意义上的加密算法进行数据保护。
轻量级密码算法的诞生解决了这一问题,使得密码算法能够更广泛地应用于各种资源受限环境中。
轻量级密码算法通常具有以下特点:1. 算法复杂度低:轻量级密码算法的设计考虑到了受限系统的处理能力,因此通常采用的算法都具有低复杂度的特点。
2. 存储空间要求低:受限系统的存储空间往往有限,轻量级密码算法的设计通常也考虑到了这一点,尽可能地减小了算法对存储空间的需求。
3. 低功耗:在许多场景下,轻量级密码算法需要长时间持续运行,因此在设计时需要考虑功耗的问题,并尽可能地减小算法对功耗的消耗。
二、轻量级密码算法的研究现状目前,轻量级密码算法的研究可以分为两个大方向:一是继续设计新的算法,二是改进已有的轻量级密码算法。
在新算法设计方面,一些重要的轻量级密码算法如下:1. PRESENT算法:由法国研究者设计,是目前为止最流行的轻量级密码算法之一。
PRESENT的设计理念是控制流,其核心思想是采用S盒代替传统的线性运算。
2. SIMON算法:由美国研究者设计,与PRESENT算法类似,同样采用了S盒代替传统的线性运算。
SIMON算法的优势在于其可以轻松地进行扩展,适用于多种不同的加密场景。
在已有算法改进方面,主要有以下几种方法:1. 增加轮数:轻量级密码算法的常用方法是增加轮数,这可以提升算法的安全性。
但同时也会带来较大的性能开销。
2. 修改算法结构:改变算法的结构,如在ROUND函数中增加S盒、混淆公式等操作,会影响算法的性能和安全性,但难度较大。
轻量级密码算法在物联网中的应用研究随着物联网技术的不断发展,各种智能设备不断涌现,智能家居、智能汽车、智能医疗等应用也逐渐普及起来。
而这些设备都需要进行数据的传输和存储,其中安全问题尤为重要。
随着数据的增多和攻击技术的不断进步,加密技术已经成为保护数据安全的最佳选择。
而轻量级密码算法在物联网中的应用也成为了当前研究的热点之一。
一、轻量级密码算法的定义和特点轻量级密码算法是指在数字密码技术中,加解密算法数据处理速度非常快,同时所需处理的电子器件和存储器的硬件成本也非常低的密码算法。
其主要需要满足以下几个条件:1. 快速:算法加密解密速度快。
2. 简单:算法逻辑简单,可实现硬件和软件实现。
3. 安全:算法保密性好,能够抵抗攻击和窃取。
4. 轻量级:算法的硬件成本和存储器消耗低。
5. 灵活:算法能够适应多样的微控制器和嵌入式系统。
轻量级密码算法除了在物联网领域广泛使用,还被广泛应用于智能卡,移动互联网等领域。
二、轻量级密码算法在物联网中的需求物联网中有大量的小型设备,如智能灯具、温度传感器等。
这些小型设备的存储器和处理器天然就非常有限,因此需要的加密解密算法也要相应地轻量级。
而且,许多物联网应用都是在无线网络中进行数据通信,而无线网络往往时延较高,因此必须避免加密解密算法对通信时延造成过大的影响。
此外,物联网设备的供电通常依赖于电池等移动式电源,因此也需要算法能够适应不同的供电需求。
三、轻量级密码算法的优缺点分析优点:1. 轻量级密码算法具有低功耗、低成本等优势,适合于小型设备和资源受限的环境。
2. 能够适应无线网络通信,有效地减少了通信延迟。
3. 能够为物联网设备提供更好的保密性和安全性,有效地防止了数据泄露和攻击。
4. 能够为设备提供更好的安全性,保护用户的隐私,防止数据被非法使用。
缺点:1. 轻量级密码算法比较容易被攻破,安全性不够高。
2. 安全性虽然较高,但是在某些特定情况下可能仍然存在被攻破的风险。
基于轻量级密码体系的物联网安全技术研究随着物联网技术的快速发展,越来越多的设备连上了网络。
这些设备需要传输和存储机密信息,因此安全性成为了非常重要的问题。
然而,传统的加密算法会在资源受限设备上消耗过多的计算资源,无法被广泛应用。
基于轻量级密码体系的物联网安全技术因此应运而生。
一、轻量级密码体系的概念轻量级密码体系是指那些加密算法中,加密过程所消耗的计算资源相对较小,针对CPU大小受限的设备量身打造,具有较低的功耗和内存消耗。
目前,NIST已经发布了一些轻量级密码竞赛的标准,比如LAC、SABER、NTP等。
二、基于轻量级密码体系的物联网安全技术研究1. 基于轻量级密码体系的加密算法首先,需要研究和开发适用于物联网设备的轻量级加密算法。
这些算法需要能够在资源有限的设备中运行,并且提供足够的安全性,保障数据的机密性、完整性和可用性。
例如,基于LAC算法开发的LAC-OAEP加密算法,在轻量级设备上能够灵活运行且安全性较高。
2. 基于轻量级密码体系的身份认证协议物联网系统中大量的设备需要进行身份认证,以保障系统的安全性。
轻量级密码体系下的身份认证协议需要满足以下条件:首先,能够有效地确认设备的真实身份;其次,具有良好的性能,能够在时间和资源上达到合理的平衡。
大量的研究已经致力于轻量级身份认证协议的发展,比如基于SABER算法的身份认证协议PINHOLE。
3. 基于轻量级密码体系的密钥管理协议轻量级密码体系下的密钥管理协议应该能够通过安全的方式,保障设备之间的通信安全。
密钥管理协议需要提供有效的身份验证、密钥生成、加密解密等功能。
例如,基于NTP算法开发的TLS-SMP密钥管理协议,可以为物联网设备提供安全的通信。
三、基于轻量级密码体系的物联网安全技术应用场景1. 地下矿井安全监测在煤矿井下,巨大的岩石、有毒气体和氧气不足的环境使煤矿生命安全和生产设备安全性成为了重大问题。
相应地,基于轻量级密码体系的物联网安全技术可以帮助保护生产设备,确保员工安全。
中科院软件所轻量级密码算法
中国科学院软件研究所(简称中科院软件所)在密码学领域进
行了大量的研究工作,其中包括了轻量级密码算法的研究。
轻量级
密码算法是指在资源受限的环境下(如物联网设备、传感器等)能
够提供较高安全性和较低能耗的密码算法。
中科院软件所在轻量级密码算法方面的研究主要包括以下几个
方面:
1. 算法设计,中科院软件所的研究人员针对轻量级密码算法的
特点,设计了一系列高效、安全的密码算法,以满足资源受限设备
的需求。
2. 安全性分析,研究人员对设计的轻量级密码算法进行了严格
的安全性分析,确保其能够抵抗各种常见的攻击手段,如差分攻击、线性攻击等。
3. 实际应用,除了理论研究外,中科院软件所的研究人员还将
设计的轻量级密码算法应用于实际的物联网设备和传感器中,以验
证其在实际环境中的可行性和有效性。
此外,中科院软件所还积极参与国际上的轻量级密码算法标准化工作,与国际上的密码学专家和组织合作,推动轻量级密码算法的国际标准化进程,以促进该领域的发展和应用。
总的来说,中科院软件所在轻量级密码算法方面的研究取得了一定的成果,为我国在物联网和传感器领域的信息安全提供了有力的支撑。
希望未来能够进一步加强研究,推动轻量级密码算法在实际应用中发挥更大的作用。
轻量级密码技术在物联网中的应用研究随着物联网的逐渐兴起,越来越多的设备被连接到互联网上,形成一个庞大的生态系统。
然而,与此同时也带来了安全威胁。
为了保护物联网中的数据安全,轻量级密码技术应运而生。
轻量级密码技术是指在进行加密和解密操作时所需要的计算量、存储空间和能量相对较小的密码技术。
与传统的加密方式不同,轻量级密码技术可以在计算资源和存储空间有限的物联网设备中使用,保护物联网中的数据安全。
轻量级密码技术具有以下的特点:一、小型化轻量级密码技术在设计时注重在计算和存储方面的小型化。
轻量级密码算法中的操作速度较快,所需内存较小,能在资源有限的小型设备中运作。
二、高效性轻量级密码技术的设计原则是将加密算法的安全性、数据处理时间和存储空间占用尽可能降低,从而保证加密和解密操作的高效性。
三、强安全性轻量级密码技术在设计上考虑了对各种攻击方式的防范,如攻击者对密钥进行猜测或暴力破解等。
因此轻量级密码技术在保证高效性的同时,也能保证数据的安全性。
轻量级密码技术可以在物联网的各种设备中得到很好的应用,主要包括以下几种场景:一、智能家居场景在智能家居领域,轻量级密码技术可以保护连接这些设备的数据。
智能家居设备通常有很多本地数据,轻量级密码技术能够确保这些数据受到保护。
二、智能医疗场景轻量级密码技术也可以应用于智能医疗领域。
通过轻量级的加密技术,可以确保连接到物联网的医疗设备中的患者数据得到保护。
三、智能交通场景在智能交通系统中,轻量级密码技术可以确保车辆之间的通信过程中的数据安全。
通过轻量级的加密技术,可以保障车辆之间的通信数据不会被黑客窃取或篡改。
轻量级密码技术对物联网设备的基本要求是计算资源和存储空间相对有限。
同时,轻量级密码技术还应具备较高的安全性和较低的功耗。
轻量级密码技术需要提供适当的安全保证,以保护物联网设备不受攻击。
在物联网应用中,数据安全至关重要。
而轻量级密码技术正是因为它的设计理念中特别注重计算量和存储空间的小型化,因此可以应用于物联网设备中。
基于RFID的轻量级密码算法研究综述作者:樊红娟来源:《科技风》2020年第27期摘要:随着物联网技术日益发展,RFID技术也得到了快速的普及,因此如何提高RFID 在信息传输进程中的安全性,成为日益重要的研究课题,与此同时基于RFID的轻量级密码算法也成了近年的研究热门。
本文主要对基于RFID的典型轻量级密码算法进行了详细的分析总结,为以后轻量级密码算法的研究提供一个全面且可靠的依据。
关键词:RFID;轻量级密码算法;发展历程;安全性分析1 緒论随着物联网技术的发展,RFID[1](Radio Frequency Identification)是采用射频信号和空间耦合完成无接触信息传递并通过所传达的信息达到识别目的的技术。
因其具有成本低、功耗小、容量大、速度快、抗污染力强等优点,现已遍及到各个领域中,这也促使很多学者开始对其进行深入地研究与探索。
本文在参考了大量文献的基础上对基于RFID的典型轻量级密码算法进行了一次较为全面的概述,其中主要对分组密码、序列密码、散列函数进行了详细的分析和总结。
2 典型的轻量级密码算法2.1 分组密码分组密码[2]是加解密双方用同一密钥进行加解密运算的密码算法,其首次被提出是在1970年左右。
在早期的研究中,主要是针对于DES进行探索。
到90年代,有学者提出了差分密码分析和线性密码分析,接着学者们又提出了IDEA、SHARK、SQUARE等密码算法。
到2003年有专家提出了矩阵攻击,该方法主要是运用差分分析的性质来实现。
在2005年,有研究者发表了一篇关于把矩阵攻击和相关密钥攻击相结合的文章,该方法在一定程度上降低了计算的复杂度。
2007年有位专家发表了一篇关于密钥差分攻击的文章,其主要思想是把差分分析和相关的密钥攻击相结合。
近几年来也发表了很多关于把不同攻击方法联合起来使用的攻击方法的文章。
密码的安全性分析对于密码学的研究来说非常的重要,已经成为当前的研究热点,其在安全性分析方面主要包括差分分析和线性分析。
轻量级密码学算法在网络安全中的应用研究随着网络技术的不断发展,网络安全问题愈发重要。
在这样一个信息交流、共享的时代,保障安全的网络环境对于个人和组织而言都是至关重要的。
而密码学作为网络安全的基石,其在保护信息安全方面越来越受到重视。
本文将围绕着密码学算法在网络安全中的应用研究,重点探讨轻量级密码学算法在网络安全中的应用。
一、轻量级密码学算法的定义轻量级密码学算法指的是一类适用于资源受限的场景中使用的加解密实现,是对传统密码学算法的一种优化或者优化后的变体。
资源受限的场景中指的是资源(例如处理器和存储空间)有限,并且算法需要在有限的时间内完成加密和解密操作场景。
典型的应用场景有物联网设备和无线传感器节点等场景。
轻量级密码学算法通常旨在通过牺牲一定的安全性能(例如密钥长度和加解密速度)来达到小型化、低功耗和低成本等特点。
二、轻量级密码学算法的应用场景1. 物联网设备物联网设备通常具有资源受限的特点,例如移动手机、智能家居、智能手表等。
这些设备的计算能力和存储能力都较为有限,普通的加解密算法显然不适合这些场景下的应用需求。
轻量级密码学算法可以为这些设备提供更为符合实际需求的加解密方案,其轻量化、低功耗、高效性质可以极大地提升这些设备在信息安全方面的保障能力。
2. 无线传感器节点无线传感器节点通常分布在较为恶劣的环境中,并且采用的能源和计算资源有限,因此对于加密算法的要求更高。
此外,由于节点之间的通信距离较短,因此需要使用轻量级算法,来提高加密运算的速度和效率,同时将加密和压缩等处理步骤整合起来。
三、轻量级密码学算法的安全性分析轻量级密码学算法在安全性上相对于传统密码学算法略有牺牲,因此对其要进行安全性分析。
常见的攻击手段包括分组密码的差分攻击以及更高效的相关密钥攻击等方法。
对于这些攻击手段,我们需要测试轻量级密码学算法的抵抗能力,包括测试其相关密钥攻击和差分攻击的对抗能力。
四、轻量级密码学算法的实战应用在具体应用中,应根据实际需求和场景来选择合适的轻量级密码学算法。
轻量级密码算法在物联网中的应用研究物联网(Internet of Things,IoT)作为一个快速发展的领域,涉及到海量的设备和传感器之间的通信和数据交换。
随着物联网应用的增多,数据的安全性和隐私保护变得尤为重要。
轻量级密码算法作为一种能在资源受限的设备上高效运行的加密方法,在物联网中的应用研究具有重要意义。
轻量级密码算法是一种设计用于节约能源和计算资源的密码算法。
相较于传统的加密算法,具有较低的计算复杂度和存储要求。
在物联网中,许多设备由于资源限制无法承载较重的加密算法,因此轻量级密码算法成为一种理想的选择。
首先,轻量级密码算法在物联网中能够提供高效的加密保护。
在物联网中,设备和传感器间的通信需要保证数据的安全性和完整性。
轻量级密码算法能够在设备的资源有限情况下,实现可靠的数据加密和解密。
这样的优势使得轻量级密码算法成为实现端到端的数据传输和通信的理想方案。
其次,轻量级密码算法通过高效的加密算法,可以减少能耗。
由于物联网设备通常由电池供电,能源效率成为极为关键的问题。
采用轻量级密码算法可以降低计算和存储的需求,从而延长设备的电池寿命。
这一优势在许多物联网应用场景中都非常重要,特别是在需要长期运行且无法方便充电的设备中。
而且,轻量级密码算法在物联网中能够提供较低的延迟。
在物联网应用中,实时性对于很多应用场景来说至关重要。
传统的加密算法可能由于复杂的计算过程导致较大的延迟,影响设备间通信的效率。
轻量级密码算法通过精简算法和优化设计,能够在保证数据安全的前提下提供更低的延迟。
此外,轻量级密码算法还能够保证物联网设备的安全性。
由于物联网中存在着大量的设备和数据传输,设备的安全性显得尤为重要。
采用轻量级密码算法可以有效抵御各种常见的攻击手段,包括传统的密码攻击、侧信道攻击以及抗量子计算攻击。
轻量级密码算法能够提供充足的安全保护,确保设备和数据的安全与隐私。
然而,轻量级密码算法的应用研究还面临一些挑战。
基于轻量级密码算法的信息安全技术研究信息安全一直以来都是人们关注的热点问题之一。
在网络时代,信息的传递速度快,范围广,也更容易受到安全威胁。
为了保护信息的安全性,研究人员提出了各种密码算法来加密和保护信息。
本文将探讨基于轻量级密码算法的信息安全技术研究。
首先,我们需要了解什么是轻量级密码算法。
轻量级密码算法是指那些在资源受限的环境下仍能提供较高安全性的加密算法。
这些算法具有较小的存储空间要求、低功耗和较快的运算速度。
由于物联网设备、传感器和嵌入式系统等资源受限的设备越来越常见,轻量级密码算法的研究和应用具有重要意义。
一种常见的轻量级密码算法是SIMON算法。
SIMON是美国国家安全局(NSA)研发的一种块密码算法,具有较小的存储空间和低功耗的特点。
SIMON算法支持不同的块大小和密钥长度,可以根据实际应用的需求进行调整。
SIMON算法在物联网设备和嵌入式系统中的应用广泛,同时也被广泛应用于网络通信和云计算等领域。
另一种重要的轻量级密码算法是PRESENT算法。
PRESENT是由德国研究人员提出的一种块密码算法,具有较小的存储空间需求和较快的运算速度。
PRESENT算法采用64位块大小和80位密钥长度,具有较高的安全性。
PRESENT算法可以应用于RFID技术、传感器网络和智能卡等领域,在电子支付和身份认证等场景中发挥着重要作用。
除了SIMON和PRESENT算法,目前还有许多其他的轻量级密码算法被广泛研究和应用。
例如,皮亚格诺密码(Pigeon)算法、皮克特密码(Piccolo)算法等。
这些算法在不同的场景下,根据资源限制和系统需求,提供了不同程度的安全性和性能。
轻量级密码算法的研究不仅关注算法的安全性,还包括算法的设计和优化。
如何在保证安全性的前提下,减小存储空间需求、降低功耗和提高运算速度等是研究的重点。
同时,如何将轻量级密码算法与物联网设备、嵌入式系统和云计算等技术结合起来,提供更全面的信息安全解决方案也是研究人员的挑战。
轻量级密码研究进展综述摘要:随着物联网的发展,RFID、无线传感器的应用越来越广泛,为了保护这类资源受限设备所传输、处理的数据,轻量级密码应运而生,并成为密码学的一个研究热点,取得了丰富的研究成果。
本文介绍了轻量级密码的研究进展,包括轻量级密码的设计要求及设计特点、典型的轻量级分组密码和流密码,并总结了轻量级密码的实现性能和安全性。
关键词:分组密码流密码轻量级硬件效率设计分析1.引言随着信息技术、计算机技术以及微电子技术的高速发展,RFID技术开始被大量应用于生产自动化、门禁、公路收费、停车场管理、身份识别、货物跟踪等领域,而由RFID技术与互联网结合实现的物联网作为新一代信息化浪潮的典型代表正逐步深入到人们生活的各个领域中,例如环境监测、现代物流、智能交通等。
2009年我们国家提出建立“感知中国”中心,这一举措极大地促进了国内RFID技术和物联网应用的发展。
作为信息传递和处理的网络,全面感知、可靠传送和智能处理是物联网的核心功能。
要实现可靠数据传送必须以密码算法为基础提供相应的安全服务,所以相应的密码算法研究是保障物联网安全运行的关键技术之一。
而与物联网关系密切,也需要密码算法作为基础支撑的无线传感器网络也是近年来发展迅猛的领域之一。
作为密码算法的使用环境,无线传感器和物联网具有共同的特征:首先,它们的应用组件不同于传统的台式机和高性能计算机,而是计算能力相对较弱的嵌入式处理器;其次,由于应用环境的关系,计算可使用存储往往较小;最后,考虑到各种设备的功能需求,能耗必须限制在某个范围之内。
因此传统密码算法无法很好地适用于这种环境,这就使得受限环境中密码算法的研究成为一个热点问题。
适宜资源受限环境使用的密码算法就是所谓的轻量级密码。
源于应用的推动,近几年,轻量级密码的研究非常热,取得了丰富的研究成果。
国际标准化组织正在制定轻量级密码的相关标准,其中包括轻量级的分组密码、流密码、数字签名等。
本文介绍轻量级密码的研究进展,包括轻量级密码的设计要求及设计特点、典型的轻量级密码算法,以及典型的轻量级密码算法的实现效率和安全性分析。
2.设计需求及特点2.1轻量级密码的特点轻量级密码与传统密码相比有几个特点:首先,资源受限的应用环境通常处理的数据规模比较小,因此,对轻量级密码吞吐量的要求比普通密码要低的多;其次,RFID和传感器等应用通常对安全性的要求不是很高,适中的安全级别即可;再次,轻量级密码大多采用硬件实现,由于实现环境条件的限制,除了安全性之外,轻量级密码算法追求的首要目标是实现所占用空间及实现效率。
简单的说,就是应用环境对轻量级密码硬件实现的芯片大小有严格的限制。
在这些环境下,为了追求实现,轻量级密码有的不实现密钥扩展算法而是采用机器内置密钥;有的不提供解密算法。
这些特点使得轻量级密码的密钥长度多为64比特和80比特。
需要特别强调的是,轻量级其实是依据密码的应用环境、实现的资源需求提出的一个概念,所以严格来讲轻量级可以指密码的轻量级实现,也可以指轻量级密码。
前者是指普通环境中可以使用的传统密码(如DES、AES等)经过实现技术上的改进,可以满足资源受限环境的需求,例如,已有研究者提出了一种低功耗、低成本的AES实现,该实现仅需要等效门(GE)3200[1]。
后者则指针对某种或是某类资源受限环境特别设计的密码算法,例如,PRESENT[2]。
当然,也有从改进实现技术和对组件进行轻量化两个方面入手的设计,比如DESL类算法[3]。
2.2 轻量级密码的设计轻量级密码的设计目的不是要代替传统密码,而是要适用于资源受限的设备,且能提供足够的安全性,并有良好的实现效率。
每个轻量级密码设计者都要在安全、成本和实现效率之间权衡。
对于分组密码,密钥长度提供一个安全和成本的平衡,而总的轮数提供一个安全和实现效率的平衡,硬件结构则提供成本和效率的平衡。
一般来说,优化这三个设计目标中的任意两个安全和成本、安全和效率或成本和效率是比较容易的;但是要同时优化三个设计目标就困难了。
例如,通过采用流水线和抗边信道的结构可以获得安全和高效的硬件实现,但结果是需要更多的面积,当然还有高成本。
另一方面,设计一种安全低成本的硬件实现也是可能的,但在效率方面会有缺点。
安全永远是密码算法追求的第一目标,但在轻量级分组密码的设计中,由于在资源受限环境中对于安全的要求一般不是特别高,所以算法实现效率就成了首要考虑的问题,轻量级分组密码设计处处都体现着安全性与效率的平衡和博弈。
首先,基于资源受限的要求,大多数轻量级密码算法采用4×4的S盒,这便是效率优先的一个抉择。
其次,扩散层一般采用易于实现的拉线方式,同时保证雪崩效应。
目前,除了改进原有密码算法的实现技术来适应受限环境的应用之外,轻量级密码的设计主要通过两种方法实现。
第一种方法就是在现有密码算法的基础上,对密码算法的组件进行轻量化的改进,例如,将不同的S盒换成相同的S盒,这样如果使用串行结构,便可以使S盒实现面积减少为原来的1/m(m为算法中使用的S盒数目),降低密码算法实现的资源需求。
第二种方法就是从零开始,设计一个全新的轻量级密码算法。
除了安全性外,要把实现作为设计的第一准则,加入每个组件时都要考虑到该组件的实现是不是符合轻量级。
第一种方法本质上是借助已有算法结构的安全性和健壮性,在尽可能不损失安全性或是提高安全性的情况下向轻量级方向进行改进。
这种方法的优点是设计工作量小,安全性分析也因为有原算法的分析而相对容易。
但是不可避免的也会有一些缺点:首先算法实现所需的资源受到原算法结构的限制,因此选择基础算法时应该选择实现效率比较好的算法。
其次新的改动势必会使算法具有一些新的特点和弱点,所以利用这种方式设计的轻量级算法有可能遭遇新型攻击。
第二种方法更加灵活,没有固定算法的限制,设计者可以更好地利用可行的方式使得算法的实现效率尽可能少。
但是,这种方式设计出的密码算法需要进行大量的安全性分析。
3.典型的轻量级密码3.1分组密码3.1.1DESLDES类轻量级密码[4]最早公布于RFIDSec06,它是在DES的基础上进行轻量化的设计,主要考虑的是使用可减少门电路复杂度的串行硬件体系结构,所以将原来DES中使用的不同S盒都换成相同S盒,这样改进后的密码算法被称为DESL。
针对DES密钥长度太短的缺陷,设计者加入了扩充密钥空间的操作,前后各加一轮白话子密钥,增加穷举攻击的难度;这样改进的DES称为DESX。
而将这两步改进同时作用于DES便得到了DESXL。
DES是面向硬件的密码算法,有数据统计[5]DES所需的逻辑资源仅仅是AES 的6%,并且比AES有更短的关键路径。
所以以DES为基础的DESL也有良好的硬件特性。
在实现中DESL采用面向4比特或是6比特字的串行结构,而不是面向32比特或是48比特,虽然这种实现势必会减少吞吐量,但是也使得实现面积大幅减少。
而DESXL的实现也只需在加密前后各加一个异或门而已。
同DES的实现一样,轻量级密码算法因为对于吞吐量的要求不是很高,所以通常采取的提高实现效率的一种方法就是用减少吞吐量来换取更小的实现面积,DESL采用上面所说的方法需要的GE数可以减少到1850,比起DES的最好实现(2310GEs)减少了大约20%。
经过优化的DESL的ASIC实现需要1848GEs,加密64比特明文需要时钟周期数是144。
在频率为100Hz的环境下吞吐量是5.55kbps。
为了增强DESL 的安全性,设计者除了加入DESXL版本为,在选择S盒上做了大量工作。
针对DES的差分和线型密码分析的一些结果,设计者在DESL中使用了加强版的S盒,设计S盒时增加了8个限制条件,来提高算法抵抗差分和线型密码分析的能力。
3.1.2HIGHTHIGHT[6]是由Hong D.,Sung J.,Hong S.等人在CHES2006上提出的轻量级分组密码。
设计者声称HIGHT不仅包含一系列面向轻量级的简单操作,而且还能提供足够的安全性。
HIGHT是一个32轮的迭代密码,分组长度为64比特,密钥长度是128比特;HIGHT的整体结构类似于CAST-128[7],采用一种广义Feistel 结构,轮函数规模非常小,输入和输出都是8比特,且轮函数没有用S盒,只使用循环移位、异或和模加操作。
HIGHT所采用的广义Feistel结构对轻量级密码来说是个好的选择。
因为既可以利用结构本身的安全特性,而且在硬件实现时不会增加代价,对于设计者来说轮函数的设计也可以自由发挥。
考虑到资源受限环境中使用的处理器,HIGHT的轮函数中使用了两个内部函数F0和F1,这两个函数提供了比特级的扩散。
既提供了良好的安全特性,而且使用了尽可能少的硬件消耗。
子密钥实在加密过程中通过密钥扩展算法得到的,所以密钥寄存器只需要存储128比特的主密钥,这使得HIGHT的应用更贴近轻量级的环境。
HIGHT的硬件实现需要3048GE,在80MHz的处理器上吞吐量为150.6Mbps。
设计者对于HIGHT的安全性进行了全面的分析。
对于差分密码分析、线型密码分析、截断差分密码分析、不可能差分密码分析、饱和攻击、飞来去器攻击、高阶差分攻击、代数攻击和相关密钥攻击都给出了相应的分析。
文献[8]对HIGHT 抵抗饱和攻击的能力进行了分析,给出了22轮HIGHT的饱和攻击。
文献[9]给出了31轮HIGHT的相关密钥攻击和26轮HIGHT的不可能差分攻击。
3.1.3PRESENTPRESENT最早发布于CHES2007,是比较有竞争力的一个轻量级分组密码,它的硬件实现需求可以和主流的流密码相媲美,所以它也被称为超轻量级密码算法。
PRESENT的整体结构采用的是31轮的SP结构,每轮由轮密钥加、混淆层、扩散层P三部分组成。
算法分组长度为64比特,密钥长度80比特或128比特。
设计者声称对于资源受限环境80比特密钥已足够,不建议使用128比特密钥。
PRESENT的混淆层由16个4×4的S盒并置而成,S盒的硬件实现性能不错,其GE数远远小于8×8的S盒,而且使用相同的S盒,可以使用串行实现,牺牲一些效率来换取更小的实现面积。
扩散层P是比特置换,这几乎可以说是硬件实现效率最高的操作,因为在硬件实现中只需要线路的变化即可完成。
PRESENT面向硬件的设计使得它有很好的硬件实现效率:实现PRESENT-80的GE数只需要1570,在频率为100KHz的芯片上吞吐量能达到200kbps,模拟测得的能量消耗只需要5μW,这些数据使得PRESENT在轻量级密码中极具竞争力。
设计者在考虑实现效率的同时,也没有忽略安全性。
PRESENT选取的4×4的S盒具有很好的密码特性,不仅考虑了抵抗差分攻击的特性,还增加了加强雪崩效应的性质。