安企神电脑监控软件 在线试用
扫码咨询客服
安企神电脑监控软件、局域网监控软件
首页
功能对比
下载中心
购买咨询
客户列表
关于安企神

基于S盒优化的轻量级加密算法设计

更新时间:2022-10-28 15:44:06


本文简介:S盒作为DES算法的一个关键环节,它的设计好坏直接影响DES的加密性能。为此,我们首先根据DES算法,并结合分组密码特点提出了一种基于s盒优化的轻量级分组加密算法。一、轻量级安全加密算法过程及实现该算法的密钥k采用28bit的0、1符号串,明文m和密文c则是由0,1组成的长度为32bit的符号串。设m=m1m2...m32,c=c1c2...32,k=k1k2...k28。由于初始置换及其逆置换不

基于S盒优化的轻量级加密算法设计

S盒作为DES算法的一个关键环节,它的设计好坏直接影响DES的加密性能。为此,我们首先根据DES算法,并结合分组密码特点提出了一种基于s盒优化的轻量级分组加密算法。

一、轻量级安全加密算法过程及实现

该算法的密钥k采用28bit的0、1符号串,明文m和密文c则是由0,1组成的长度为32bit的符号串。设m=m1m2...m32,c=c1c2...32,k=k1k2...k28。由于初始置换及其逆置换不影响加密,没有密码学意义,故将其取消,其加密过程可表达如下:

DES(m)=T16*T15....T2*T1(m)。算法流程图如图1所示。

基于S盒优化的轻量级加密算法设计
加密过程可由明文初始化、迭代过程、密钥生成方案完成。

先将明文串的每一个字符转化为其ASCII码,用8位二进制0,1串来表示,依次选取32bit划为一块,共将明文分为n块,若最后一块不满32bit,可以补随机产生的0,1串,但必须让接收者清楚哪些是多余的明文。

本加密算法的迭代过程与DES中类似。先将要加密的32bit明文块分为左右两块等长L0,R0,迭代计算式为:Li=Ri1,Ri=Li-1⊕f(Ri-1,ki),再将16bit的Ri1经E作用膨胀为24bit,
再与ki作异或运算,将运算结果分为4组,通过S盒输出结果为16bit,S盒的输出又经过一个固定置换P后得f(Ri-1,ki),迭代8轮后的结果L8R8左右交换为R8L8即密文。

每一轮都使用不同的、从初始密钥k导出的24 bit密钥ki(1≤i≤16)。k是由一个长度为32的比特串,删去第8,16,24,32位的4个校验比特得到的,校验比特主要为了检错。

二、S盒设计

1、 S盒元素选取方案

S盒中输出元素是由输入的六个比特确定,一般将首末两位构成的二进制数作为行标,而中间四位二进制数作为列标,通过增加逻辑陷阱进行选取。逻辑运算不仅实现简单,而且便于编程修改,在一定周期内可通过修改逻辑门来提高算法安全性。具体过程如下:

①在迭代过程中计算Ri-1⊕E后,将结果24比特串分成4个长度为6的比特串,将它们记为B=B1B2B3B4;

②使用4个S1、S2、S3、S4,每个Si是一个固定的4×16阶矩阵,它的元素来自0到15这16个整数。给定一个长度为6的比特串,例如:B1=b1b2b3b4b5b6,我们可按下列办法计算S1盒的输出S1(B1):用两个比特b2、b3对应的整数r (0≤r≤3)来确定S1的行(所谓两个比特b2、b3对应的整数r意指r的二进制表示为b2、b3,以下含义相同),用b1⊕b4,b4,b5,b6四位对应的整数c(0≤r≤15)来确定S1的列,S1(B1)的取值就是S1的第r行第c列的整数所对应的二进制表示。将四个S盒的输出比特记为:Dj=Sj(Bj),1≤j≤4。

③将长度为16的比特串D=D1D2D3D4通过一个固定的置换P,所得结果即为迭代过程中的f(Ri-1,ki)。

基于S盒优化的轻量级加密算法设计

表1给出了四个S盒的行列标的选择方法,通过增加逻辑运算来改变传统DES算法中的行列标选择位,打乱了原来S盒固有的选择模式,这种方案增加了元素选择方式,不仅能使算法的安全性得到提高,而且由于逻辑运算实现起来较简单,可以使算法在开销方面节俭很多。

2、S盒元素设计

S盒作为DES算法中唯一的非线性器件,是加密的关键所在,然而,多年来,一直未有人将S盒的设计准则公开。从已有的关于S盒的推理不难看出有如下几条准则。

①S盒的每一行是整数0,1,2,…,15的一个置换;

②每个S盒均为6位输入,4位输出;

③S盒的输出都不是其输入的简单线性或仿射函数;

④改变S盒的1位输入,至少要引起2位的输出变化。

通过分析知S盒行列标的选择位已发生变化,因此必须根据以上的原则重新设计S盒中元素来满足加密所需,其中要使输入的1位改变至少导致输出的2位改变是S盒非线性的关键准则。首先假设行标的2位不变,那么对于输入的4位列标中有1位发生变化,则所对应的S盒中元素至少2位变化,以S1盒设计为例说明,则有表2所示的相关表,其他三个S盒设计类似。表中带黑框的数为排在该行列代码前面的列号,下划线标出的表示与自己相同的列号可不用考虑。

当b2b3=00时,如果b1b4b5b6=0100,那么b1⊕b4=1、b4=1、b5=0、b6=0,即表示选择的是S1盒0行12列的元素,从表2中可看出,该元素必须与它前面的0、5、6列中的元素至少有两位不同,也就是说必须从0、5、6列已选择元素的非线性相关数的交集中选取。

基于S盒优化的轻量级加密算法设计

当b2b3=01或10时,由于与b2b3=00有1位不同,故该行元素的选取方法与第二行类似。当b2b3=11,由于与01,11均有一位不同,必须考虑与第1行和第2行的对应列的相关性。即第3行的每1位元素的选取不仅要考虑与本行的列代码1位不同的相关性,还要考虑与1行和2行对应列的相关性。例如:当b1b2b3b4b5b6=011101,则表示选择S盒第3行第13列元素,由于非线性要求,查表2知,该元素必须与1、4、7列元素至少有2位不同,还要与第1行13列元素,以及第2行13列中元素不同,故只能从这五个元素的交集中去选取,以此类推。表3仅给出了S1盒的元素的选定结果,其他S盒选择过程与其类似。

基于S盒优化的轻量级加密算法设计

三、安全性分析

这4个S盒的输入输出对应于4个函数。每个函数的定义域都是{0,1,2,3,…,63},而值域都是{0,1,2,3,…,15}。因为这4个S盒是相互独立的,因而可以计算出这4个S盒并出的概率分布,根据以往分析,实际DES的S盒统计特性近似满足正态分布,故也可认为本文设计的S盒近似满足正态分布特性。

由于4个S盒的输出之和取值范围是{0,1,2,3,…,60},可计算出它的均值和方差为μ=(0+1+2+...+60)/61=30和σ=17.6068。

基于S盒优化的轻量级加密算法设计

图2分别给出了实际设计的四个S盒的概率密度曲线、理论曲线、DES算法S盒曲线以及实际曲线与DES算法S盒输出概率的误差曲线,从图2中可看出理论概率密度曲线的输出值在60-80之间仍能取到,但是根据以上分析可知实际的四个S盒输出值不可能超过60。通过本算法设计的四个S盒的实际概率密度曲线与理论概率密度曲线以及标准DES算法S盒曲线进行比较,本算法S盒输出与理论S盒输出概率密度误差公式以及与DES算法S盒输出概率密度误差公式分别为如式(1)、式(2)所示:

基于S盒优化的轻量级加密算法设计

本算法S盒输出与理论S盒输出概率密度曲线平均误差为1.40×10-3,最大误差1.96×10-2,与DES算法S盒输出概率密度平均误差为1.88×10-3,最大误差2.3×10-3,与它们误差基本控制在10-3数量级,因此统计特性与DES算法中S盒统计特性近似,具有较高的安全性,从图2中以可看出绝大多数明文经过S盒替换之后,本算法中4个子S盒的输出之和将集中在30周围,DES算法也有此特性,因此,若在选择密文时使得其相应于4个S盒的输出之和尽量远离30,可防止选择密文攻击。

加密技术应用的领域很广,然而标准加密算法受成本限制在低端领域很难应用。S盒作为DES算法中的唯一非线性器件,是起混乱作用的重要环节,其设计优劣直接影响整个加密系统的性能。

小知识s盒

S盒用在分组加密算法中,是非线性结构,其密码强度直接决定了密码算法的好坏。

S盒的功能就是一种简单的“代替”操作。一个n输入、m输出的S盒所实现的功能是从二元域F2上的n维向量空间F2到二元域F2上的m维向量空间F2的映射:F2——>F2,该映射被称为S盒代替函数。

构造S盒常用的方法有如下3种:随机选择、人为构造和数学方法构造。

立即下载试用

基于动态信任的内生安全架构

动态信任是一种新型的信息安全架构,近年来随着物联网、云计算和移动化等技术的发展而逐渐受到关注。传统的信息安全架构往往是建立在固定的信任模型之上,而动态信任则更加灵活和自适应,可以根据实际情况动态调整信任度,从而提高整个系统的安全性。本文将从以下几个方面来探讨基于动态信任的内生安全架构,包括动态信任的概念、功能特点、应用场景、实现方法等。

一、动态信任的概念

动态信任是指基于多方交互和数据分析,根据实时风险评估结果自适应调整信任度的一种信任模型。它与传统的访问控制模型不同,传统模型是基于身份验证和访问授权来限制访问权限的,而动态信任则更加注重实时风险评估和动态调整信任度。动态信任由于其灵活性和自适应性被广泛应用于物联网、云计算和移动化等领域,成为一种新型的内生安全框架。

二、动态信任的功能特点

1、实时风险评估
动态信任的核心是实时风险评估,通过对多方交互数据的分析、模型预测和机器学习等方法,从而实现对用户、设备、应用以及网络等方面的风险评估。同时,动态信任支持多种评估方法,可以根据实际情况选择不同的评估方法来评估系统的安全性。

2、动态调整信任度
动态信任可以根据实时风险评估结果自适应调整信任度,从而提高整个系统的安全性。例如,对于一个新的设备或应用,由于缺少足够的信任度,系统可以限制其访问权限,等到其表现良好后再逐步增加信任度。另外,在不同的应用场景中,可以根据不同的容错需求设置不同的信任阈值,从而更加灵活地调整系统的安全性。

3、安全事件的自适应响应
基于动态信任的内生安全框架可以根据实时风险评估结果自适应响应安全事件,例如实时阻断异常访问或异常信任行为等,从而保护整个系统的安全。另外,动态信任还可以实现安全威胁预警和安全日志审计等功能,为后续的安全事件响应提供支持。

三、动态信任的应用场景

基于动态信任的内生安全框架适用于物联网、云计算和移动化等领域,可以提高系统的安全性和稳定性。具体应用场景如下:

1、物联网领域
对于物联网场景,动态信任可以实现对设备、应用、用户等的实时风险评估和动态信任管理,从而保护整个物联网系统的安全。例如,可以基于设备的行为、属性等数据进行风险评估,判断设备是否存在安全风险,并进行相应的防御措施。

2、云计算领域
对于云计算场景,动态信任可以实现对用户、应用、网络等的实时风险评估和自适应调整信任度,从而提高整个云计算系统的安全性和稳定性。例如,可以根据用户的访问情况和应用的行为数据等进行风险评估,判断用户和应用是否存在安全风险,并相应的限制其访问权限。

3、移动化场景
对于移动应用场景,动态信任可以实现对应用、用户等的实时风险评估和自适应调整信任度,从而保护整个移动应用系统的安全。例如,可以根据应用的行为数据、用户的位置信息等进行风险评估,判断应用和用户是否存在安全风险,并相应的限制其访问权限。

四、动态信任的实现方法

基于动态信任的内生安全框架的实现方法主要包括以下几个方面:

1、机器学习技术
机器学习技术可以实现对多方交互数据的分析和预测,进而实现实时风险评估和动态信任管理。例如,可以使用支持向量机、神经网络、朴素贝叶斯等算法对数据进行分类和预测,从而实现安全风险评估。

2、分布式计算技术
分布式计算技术可以实现对大规模数据的分析和处理,多种评估方法的实现和系统的扩展性等。例如,可以使用MapReduce等分布式计算技术来实现大规模数据的分析和处理,从而提高系统的效率和准确性。

3、安全日志管理技术
安全日志管理技术可以实现对安全事件的记录、分析和响应等功能,从而提高系统的安全性和稳定性。例如,可以使用SIEM技术来实现安全事件的实时监测、分析和响应,从而提供相应的安全保障。

总之,基于动态信任的内生安全框架是一种新型的信息安全架构,其具有灵活性和自适应性等特点,可以根据实际情况动态调整信任度,提高整个系统的安全性。在物联网、云计算和移动化等领域具有广泛的应用前景,同时也面临着各种技术挑战和安全威胁。因此,我们需要进一步探索动态信任技术的研究和应用,并积极探索基于动态信任的内生安全框架的实现方法和应用策略,从而实现网络信息安全的可靠保障。

本文为收集整理,文章部分观点不代表本站观点,如有侵权或其它问题请反馈客服。https://www.wgj7.com/cjwt/16314.html