ImageVerifierCode 换一换
格式:DOCX , 页数:6 ,大小:87.47KB ,
资源ID:9488509      下载积分:3 金币
快捷下载
登录下载
邮箱/手机:
温馨提示:
快捷下载时,用户名和密码都是您填写的邮箱或者手机号,方便查询和重复下载(系统自动生成)。 如填写123,账号就是123,密码也是123。
特别说明:
请自助下载,系统不会自动发送文件的哦; 如果您已付费,想二次下载,请登录后访问:我的下载记录
支付方式: 支付宝    微信支付   
验证码:   换一换

加入VIP,免费下载
 

温馨提示:由于个人手机设置不同,如果发现不能下载,请复制以下地址【https://www.bdocx.com/down/9488509.html】到电脑端继续下载(重复下载不扣费)。

已注册用户请登录:
账号:
密码:
验证码:   换一换
  忘记密码?
三方登录: 微信登录   QQ登录  

下载须知

1: 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。
2: 试题试卷类文档,如果标题没有明确说明有答案则都视为没有答案,请知晓。
3: 文件的所有权益归上传用户所有。
4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
5. 本站仅提供交流平台,并不能对任何下载内容负责。
6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。

版权提示 | 免责声明

本文(十进制加密技术.docx)为本站会员(b****8)主动上传,冰豆网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对上载内容本身不做任何修改或编辑。 若此文所含内容侵犯了您的版权或隐私,请立即通知冰豆网(发送邮件至service@bdocx.com或直接QQ联系客服),我们立即给予删除!

十进制加密技术.docx

1、十进制加密技术十进制加密技术十进制加密技术大家都知道,我们一般使用的加密算法都是是针对十六进制数进行加密的,而人习惯使用十进制数,在相当多的网络通信应用中需要对十进制数信息进行加密。有很多应用要求十进制数的明文位数和加密后的十进制数的密文位数相对应,而不能基于十六进制的加密算法就无法满足这方面的要求,采用十进制数的明文转换成十六进制数的明文进行加密,再将加密后的十六进制数的密文转换成十进制数,其密文的十进制位数将多于十进制数明文的位数,不能满足十进制数明文与密文长度相等的特殊要求。下面我们就给大家介绍一下十进制的加密技术。一、十进制加密技术其算法原理AES加密算法是美国的数据加密国家标准,是对

2、称加密算法中加密性能和速度等各项性能指标最好的加密算法。而本文我们基于十进制加密技术的新算法是以AES加密算法为基础,并对AES的四种加密运算进行重新设计,以适应十进制数的直接加密的要求。将AES中的轮密钥加改为轮密钥加密运算控制,不同的密钥加密运算的算法不一样,使加密算法具有随机性。提出了动态密钥的概念,做到了加密解密一次一密,使加密算法具有混沌加密算法一次一密的特点。因此,新算法同时具有AES加密算法、随机加密算法、混沌加密算法的优点。1、加密中四种运算该算法以AES加密算法为基础进行设计,对AES算法中的四种加密运算S盒替换(ByteSub)、行移位(ShiftRows)、列混合(Mix

3、Column)、轮密钥加(AddRounds)分别进行重新设计,将AES中的轮密钥加设计为轮密钥运算控制。下面分别对四种加密运算进行介绍:(1)S盒替换(S-box)由于本加密算法是基于十进制数,所以S盒的空间为GF(10),相对于AES加密中的S盒GF(256)要小得多。为了使状态在加密过程中得到扩散,我们设计的S盒替换使替换的值与原值有2bit的变化,也就是在每一轮的替换中达到有一半的bit位发生了变化,使每一组状态state在加密过程中得到充分的扩散。我们设计的S盒如图所示:(2)行移位(ShiftRows)下表中Nb为状态state的列数,ci为第i行移位的位数。状态根据实际使用情况可

4、分为8位、12位、16位、20位、24位、28位、32位等十进制数,状态中最后3行循环移位的位数如下表所示。即第0行不移位。第1行移位c1位数。第2行移位c2位数,第3行移位c3位数,对与小于4列和大于7列的状态移位要进行特殊处理。(3)列混合(MixColumn)十进制数的列混合运算不能使用AES的列混合,AES列混合中的异或加对于十进制数没有可逆性。这里采用线性列混合的加密方法,加密时对每一列的数据进行列混合,得到的结果放回到原来的矩阵中,列混合矩阵见公式1:列混合的逆矩阵见公式2:定义1:对于正整数矩阵A,如果存在正整数矩阵B,使得A*B=Emodm(E为单位矩阵),则称B为A的逆正整数

5、矩阵。定理1:对于正整数矩阵A,如果gcd(det(A),m)=1,则正整数矩阵A的逆正整数矩阵B存在,且det(A)*B=A*modm(det(A)为A的行列式的值,A*为A的伴随矩阵)。证明:A*A-1=E设一向量使得A*=kmodm,k为一向量,有A-1*k=A*det(A)*k=modm如果存在一矩阵B,满足B=A-1modm即det(A)*B=A*modmgcd(det(A),m)=1gcd(det(A),m)A*根据线性同余式定理矩阵B存在且B=A-1modm证毕(4)轮密钥运算控制(ControlRoundKey)在AES加密算法中,利用密钥与状态对应的字节做异或运算来加密。但是

6、异或运算对于十进制数没有可逆性,所以我们将AES轮密钥加改为轮密钥运算控制,定义了四种运算对状态循环加密运算。轮密钥运算控制程序有四个入口,入口由每一轮加密所使用的密钥的按位的和模上4来确定。该算法中一般要求密钥为32位十进制数,每一轮加密所用的密钥是由密钥扩展函数根据上一次加密所用的密钥扩展得到。轮密钥运算控制的伪代码如下:ControlRoundKey(State,key,time)i0=len*time;/len为状态长度enter=0;for(i=i0;ii0+len-1;i+)enter=(enter+keyi)mod4;for(i=0;ilen;i+)j=(i+enter)mod4

7、;ifj=0Statei=(Statei+keyi+i0)mod10;ifj=1statei=(Statei-keyi+i0)mod10;ifj=2Statei=(Statei+Boxkeyi+i0)mod10;ifj=3Statei=(Statei-Boxkeyi+0)mod10;轮密钥控制中引入的四种运算,不同的密钥其加密运算也不同。其加密强度比AES中的轮密钥加的加密强度大。2、动态密钥为了进一步提高加密的强度,笔者在新加密算法中引入动态密钥的概念,动态密钥根据初始密钥、加密通信次数和加密者的身份号ID由动态密钥算法产生每次加密解密的32位十进制数密钥.加密通信次数每通信一次加1,动态密

8、钥算法对加密通信次数敏感,通信双方用通信加密次数做混沌同步参数。使该加密算法具有混沌加密算法的特点,从预付费管理中心到终端设备用动态密钥加密,从终端到管理中心用终端密钥加密。3、新算法的加密/解密如果用C代表ControlRoundKey,B代表S-box,S代表ShiftRows,M代表MixColumn,加密流程如下:CBSMCBSMCBSC由于该加密运算中采用的每一种运算都是可逆的,所以对于上面的加密过程只需要对每一种运算求逆即可解密。解密流程如下:C-1S-1B-1C-1M-1S-1B-1C-1M-1S-1B-1C-1二、十进制加密算法加密性能分析我们对该算法的加密性能进行了软件仿真测

9、试分析,分别以12位、16位、20位、32位十进制数为加密分组,进行2到15轮的加密解密运算测试,20位十进制数为加密分组所得测试结果如下。明文对密文的扩散率,密钥对密文的扩散率如图所示:解密时密文对明文的扩散率,密钥对明文的扩散率如下图所示,从下图中可看出,加密轮数大于4就有很好的扩散性。本加密算法借鉴了AES加密算法的思想,并对AES算法进行重新设计,适应十进制数加密/解密的要求。此加密算法中重新定义了AES中的S盒置换、行移位、列混合、轮密钥加四种运算,算法结合了AES加密算法、混沌加密算法、随机加密算法的特点,克服了由于密钥、状态为十进制数使空间变小而带来的加密强度降低的问题。其中S盒置换与列混合可以有效地对抗明文的差分攻击与相关性分析,算法对硬件要求低,实现容易,加密解密速度快,加密强度高,具有较高的安全性,该加密算法可广泛用于各种需要十进制数加密的领域。

copyright@ 2008-2022 冰豆网网站版权所有

经营许可证编号:鄂ICP备2022015515号-1