• 回答数

    3

  • 浏览数

    135

西西里的蘑菇
首页 > 学术期刊 > aes密码硬件实现方法研究论文

3个回答 默认排序
  • 默认排序
  • 按时间排序

天使之懿727

已采纳

密码学论文写作范例论文

随着网络空间竞争与对抗的日益尖锐复杂,安全问题以前所未有的深度与广度向传统领域延伸。随着移动互联网、下一代互联网、物联网、云计算、命名数据网、大数据等为代表的新型网络形态及网络服务的兴起,安全需求方式已经由通信双方都是单用户向至少有一方是多用户的方式转变。如果你想深入了解这方面的知识,可以看看以下密码学论文。

题目:数学在密码学中的应用浅析

摘要:密码学作为一门交叉学科,涉及学科广泛,其中应用数学占很大比例,其地位在密码学中也越来越重要,本文简单介绍密码学中涉及数学理论和方法计算的各种算法基本理论及应用,并将密码学的发展史分为现代密码学和传统密码学,列举二者具有代表性的明文加密方法,并分别对其中一种方法进行加密思想的概括和阐述。

关键词:密码学 应用数学 应用

随着信息时代的高速发展,信息的安全越来越重要,小到个人信息,大到国家安全。信息安全主要是将计算机系统和信息交流网络中的各种信息进行数学化的计算和处理,保护信息安全,而密码学在其中正是处于完成这些功能的技术核心。在初期的学习当中,高等数学、线性代数、概率论等都是必须要学习的基础学科,但是涉及密码学的实际操作,数论和近世代数的'数学知识仍然会有不同程度的涉及和应用,本文在这一基础上,讨论密码学中一些基本理论的应用。

一、密码学的含义及特点

密码学是由于保密通信所需从而发展起来的一门科学,其保密通讯的接受过程如下: 初始发送者将原始信息 ( 明文) 进行一定方式转换 ( 加密) 然后发送,接受者收到加密信息,进行还原解读 ( 脱密) ,完成保密传输信息的所有过程,但是由于传输过程是经由有线电或无线电进行信息传输,易被窃取者在信息传输过程中窃取加密信息,在算法未知的情况下恢复信息原文,称为破译。

保密信息破译的好坏程度取决于破译者的技术及经验和加密算法的好坏。实际运用的保密通信由两个重要方面构成: 第一是已知明文,对原始信息进行加密处理,达到安全传输性的效果; 第二是对截获的加密信息进行信息破译,获取有用信息。二者分别称为密码编码学和密码分析学,二者互逆,互相反映,特性又有所差别。

密码体制在密码发展史上是指加密算法和实现传输的设备,主要有五种典型密码体制,分别为: 文学替换密码体制、机械密码体制、序列密码体制、分组密码体制、公开密钥密码体制,其中密码学研究目前较为活跃的是上世纪70年代中期出现的公开密钥密码体制。

二、传统密码应用密码体制

在1949年香农的《保密系统的通信理论》发表之前,密码传输主要通过简单置换和代换字符实现,这样简单的加密形式一般属于传统密码的范畴。

置换密码通过改变明文排列顺序达到加密效果,而代换密码则涉及模运算、模逆元、欧拉函数在仿射密码当中的基本理论运用。

传统密码应用以仿射密码和Hill密码为代表,本文由于篇幅所限,就以运用线性代数思想对明文进行加密处理的Hill密码为例,简述其加密思想。

Hill密码,即希尔密码,在1929年由数学家Lester Hill在杂志《American Mathematical Monthly》

上发表文章首次提出,其基本的应用思想是运用线性代换将连续出现的n个明文字母替换为同等数目的密文字母,替换密钥是变换矩阵,只需要对加密信息做一次同样的逆变换即可。

三、现代密码应用

香农在1949年发表的《保密系统的通信理论》上将密码学的发展分为传统密码学与现代密码学,这篇论文也标志着现代密码学的兴起。

香农在这篇论文中首次将信息论引入密码学的研究当中,其中,概率统计和熵的概念对于信息源、密钥源、传输的密文和密码系统的安全性作出数学描述和定量分析,进而提出相关的密码体制的应用模型。

他的论述成果为现代密码学的发展及进行信息破译的密码分析学奠定理论基础,现代的对称密码学以及公钥密码体制思想对于香农的这一理论和数论均有不同程度的涉及。

现代密码应用的代表是以字节处理为主的AES算法、以欧拉函数为应用基础的RSA公钥算法以及运用非确定性方案选择随机数进行数字签名并验证其有效性的El Gamal签名体制,本文以AES算法为例,简述现代密码应用的基本思想。

AES算法的处理单位是计算机单位字节,用128位输入明文,然后输入密钥K将明文分为16字节,整体操作进行十轮之后,第一轮到第九轮的轮函数一样,包括字节代换、行位移、列混合和轮密钥加四个操作,最后一轮迭代不执行列混合。

而且值得一提的是在字节代换中所运用到的S盒置换是运用近世代数的相关知识完成加密计算的。

四、结语

本文通过明确密码学在不同发展阶段的加密及运作情况,然后主要介绍密码学中数学方法及理论,包括数论、概率论的应用理论。

随着现代密码学的活跃发展,数学基础作为信息加密工具与密码学联系越来越密切,密码学实际操作的各个步骤都与数学理论联系甚密,数学密码已经成为现代密码学的主流学科。

当然,本文论述的数学理论与密码学的应用还只是二者关系皮毛,也希望看到有关专家对这一问题作出更深层次的论述,以促进应用数学理论与密码学发展之间更深层次的沟通与发展。

178 评论

红枫叶马大姐

1 AES加密、解密算法原理和AVR实现 AES是分组密钥,算法输入128位数据,密钥长度也是128位。用Nr表示对一个数据分组加密的轮数(加密轮数与密钥长度的关系如表1所列)。每一轮都需要一个与输入分组具有相同长度的扩展密钥Expandedkey(i)的参与。由于外部输入的加密密钥K长度有限,所以在算法中要用一个密钥扩展程序(Keyexpansion)把外部密钥K扩展成更长的比特串,以生成各轮的加密和解密密钥。1.1圈变化AES每一个圈变换由以下三个层组成:非线性层——进行Subbyte变换;线行混合层——进行ShiftRow和MixColumn运算;密钥加层——进行AddRoundKey运算。① Subbyte变换是作用在状态中每个字节上的一种非线性字节转换,可以通过计算出来的S盒进行映射。Schange:ldi zh,$01;将指针指向S盒的首地址mov zl,r2;将要查找的数据作为指针低地址ldtemp,z+;取出这个对应的数据mov r2,temp;交换数据完成查表... ret② ShiftRow是一个字节换位。它将状态中的行按照不同的偏移量进行循环移位,而这个偏移量也是根据Nb的不同而选择的[3]。shiftrow:;这是一个字节换位的子程序mov temp,r3;因为是4×4mov r3,r7; r2 r6 r10 r14 r2 r6 r10 r14 mov r7,r11; r3 r7 r11 r15---r7 r11 r15 r3mov r11,r15; r4 r8 r12 r17 r12 r17 r4 r8mov r15,temp; r5 r9 r13 r18 r18 r5 r9 r13mov temp,r4mov temp1,r8mov r4,r12mov r8,r17mov r12,tempmov r17,temp1mov temp,r18mov r18,r13mov r13,r9mov r9,r5mov r5,tempret③ 在MixColumn变换中,把状态中的每一列看作GF(28)上的多项式a(x)与固定多项式c(x)相乘的结果。b(x)=c(x)*a(x)的系数这样计算:*运算不是普通的乘法运算,而是特殊的运算,即b(x)=c(x)·a(x)(mod x4+1)对于这个运算b0=02。a0+03。a1+a2+a3令xtime(a0)=02。a0其中,符号“。”表示模一个八次不可约多项式的同余乘法[3]。mov temp,a0;这是一个mixcolimn子程序rcall xtime;调用xtime程序mov a0,tempmov temp,a1rcall xtimeeor a0,a1eor a0,tempeor a0,a2eor a0,a3;完成b(x)的计算. .. xtime:;这是一个子程序ldi temp1,$1b lsl tempbrcs next1;如果最高位是1,则转移next: ret;否则什么也不变化next1:eor temp,temp1 rjmp next对于逆变化,其矩阵C要改变成相应的D,即b(x)=d(x)*a(x)。④ 密钥加层运算(addround)是将圈密钥状态中的对应字节按位“异或”。⑤ 根据线性变化的性质[1],解密运算是加密变化的逆变化。这里不再详细叙述。1.2轮变化 对不同的分组长度,其对应的轮变化次数是不同的,如表1所列。 1.3密钥扩展 AES算法利用外部输入密钥K(密钥串的字数为Nk),通过密钥的扩展程序得到共计4(Nr+1)字的扩展密钥。它涉及如下三个模块:① 位置变换(rotword)——把一个4字节的序列[A,B,C,D]变化成[B,C,D,A];② S盒变换(subword)——对一个4字节进行S盒代替;③ 变换Rcon[i]——Rcon[i]表示32位比特字[xi-1,00,00,00]。这里的x是(02),如Rcon[1]=[01000000];Rcon[2]=[02000000];Rcon[3]=[04000000]…… 扩展密钥的生成:扩展密钥的前Nk个字就是外部密钥K;以后的字W[[i]]等于它前一个字W[[i-1]]与前第Nk个字W[[i-Nk]]的“异或”,即W[[i]]=W[[i-1]]�W[[i- Nk]]。但是若i为Nk的倍数,则W[i]=W[i-Nk]�Subword(Rotword(W[[i-1]]))�Rcon[i/Nk]。 程序执行的时候,主要调用以上几个子程序,具体实现如下:Keyexpansion:rcall rotwoedrcall subwordrcall Rcon... 2 AES加密、解密算法的优化 由以上算法的流程中可以清楚地看到,整个算法中程序耗时最多的就是圈变化部分,因此对于算法的优化也就在此;而圈变化部分可以优化的也就是列变化。因为列变化是一个模乘同余规则。由于AES加密和解密是不对称的,如果不对其进行优化,会使算法的解密速度远远大于加密的速度[1]。① 加密运算。对列变换(Mixcolumn)可以通过调用xtime子程序进行优化。另一种有效的优化方法就是离线构造一个表格,即列变化表格。这样只要通过查表的方式就可以提高加密速度。② 解密算法的优化。由于解密的列变换的系数分别是09、0E、0B和0D。在AVR单片机上实现以上的乘法显然是需要很多的时间,从而导致了解密的性能降低。 优化方法一:对列变化进行分解使倍乘次数降低。 仔细研究解密矩阵的系数,不难发现解密矩阵和加密矩阵有着一定的联系,即解密矩阵等于加密矩阵和一个矩阵的相乘。通过这样的联系,就可以对算法进行优化:这样一来,只用几个简单的“异或”就可以实现列变化,使倍乘的次数降低,提高解密的速度。优化方法二:构造表格。 同加密构造方法一样,可以构造四个表格T[ea]=e×a; T[9a]=9×a;T[9a]=9×a;T[ba]=b×a。这样一来,也只需要进行查表和简单的异或就可以完成解密的任务。虽然这种方法将增加额外的开销,但是它却是一种有效的方法。3 AES加密与解密的实验仿真 根据以上实验步骤和优化方法得出表2、3所列实验结果。 设主密钥为:000102030405060708090a0b0c0d0e0f(128bit)。加密明文:00112233445566778899AABBCCDDEEFF。密文:69C4E0D86A7B0430D8CDB78070B4C55A。解密密文:69C4E0D86A7B0430D8CDB78070B4C55A。明文:00112233445566778899AABBCCDDEEFF。 总之,AES密码是一个非对称密码体制,它的解密要比加密复杂和费时。解密优化算法没有增加存储空间的基础上,以列变化为基础进行处理,程序比原始的要小,而且节约了时间。解密优化方法速度最快,效率最高,但要增加系统的存储空间,因此它的程序也是最大的一个流程图省略 朋友参考吧

358 评论

魅丽无限

AES 全称 Advanced Encryption Standard(高级加密标准)。它的出现主要是为了取代 DES 加密算法的,因为 DES 算法的密钥长度是 56 位,因此算法的理论安全强度是 2^56。但二十世纪中后期正是计算机飞速发展的阶段,元器件制造工艺的进步使得计算机的处理能力越来越强,所以还是不能满足人们对安全性的要求。于是 1997 年 1 月 2 号,美国国家标准技术研究所宣布希望征集高级加密标准,用以取代 DES。AES 也得到了全世界很多密码工作者的响应,先后有很多人提交了自己设计的算法。最终有5个候选算法进入最后一轮:Rijndael,Serpent,Twofish,RC6 和 MARS。最终经过安全性分析、软硬件性能评估等严格的步骤,Rijndael 算法获胜。

AES 密码与分组密码 Rijndael 基本上完全一致,Rijndael 分组大小和密钥大小都可以为 128 位、192 位和 256 位。然而 AES 只要求分组大小为 128 位,因此只有分组长度为 128 位的 Rijndael 才称为 AES 算法。本文只对分组大小 128 位,密钥长度也为 128 位的 Rijndael 算法进行分析。密钥长度为 192 位和 256 位的处理方式和 128 位的处理方式类似,只不过密钥长度每增加 64 位,算法的循环次数就增加 2 轮,128 位循环 10 轮、192 位循环 12 轮、256 位循环 14 轮。

给定一个 128 位的明文和一个 128 位的密钥,输出一个 128 位的密文。这个密文可以用相同的密钥解密。虽然 AES 一次只能加密 16 个字节,但我们只需要把明文划分成每 16 个字节一组的块,就可以实现任意长度明文的加密。如果明文长度不是 16 个字节的倍数,则需要填充,目前填充方式主要是 PKCS7 / PKCS5。

下来主要分析 16 个字节的加解密过程,下图是 AES 算法框架。

密钥生成流程

G 函数

关于轮常量的生成下文会介绍。

主要作用:一是增加密钥编排中的非线性;二是消除AES中的对称性。这两种属性都是抵抗某些分组密码攻击必要的。

接下来详细解释一下几个关键步骤。

明文矩阵和当前回次的子密钥矩阵进行异或运算。

字节代换层的主要功能是通过 S 盒完成一个字节到另外一个字节的映射。

依次遍历 4 * 4 的明文矩阵 P 中元素,元素高四位值为行号,低四位值为列号,然后在 S 盒中取出对应的值。

行位移操作最为简单,它是用来将输入数据作为一个 4 * 4 的字节矩阵进行处理的,然后将这个矩阵的字节进行位置上的置换。ShiftRows 子层属于 AES 手动的扩散层,目的是将单个位上的变换扩散到影响整个状态当,从而达到雪崩效应。它之所以称作行位移,是因为它只在 4 * 4 矩阵的行间进行操作,每行 4 字节的数据。在加密时,保持矩阵的第一行不变,第二行向左移动 1 个字节、第三行向左移动 2 个字节、第四行向左移动 3 个字节。

列混淆层是 AES 算法中最为复杂的部分,属于扩散层,列混淆操作是 AES 算法中主要的扩散元素,它混淆了输入矩阵的每一列,使输入的每个字节都会影响到 4 个输出字节。行位移层和列混淆层的组合使得经过三轮处理以后,矩阵的每个字节都依赖于 16 个明文字节成可能。其实质是在有限域 GF(2^8) 上的多项式乘法运算,也称伽罗瓦域上的乘法。

伽罗瓦域

伽罗瓦域上的乘法在包括加/解密编码和存储编码中经常使用,AES 算法就使用了伽罗瓦域 GF(2^8) 中的运算。以 2^n 形式的伽罗瓦域来说,加减法都是异或运算,乘法相对较复杂一些,下面介绍 GF(2^n) 上有限域的乘法运算。

本原多项式: 域中不可约多项式,是不能够进行因子分解的多项式,本原多项式是一种特殊的不可约多项式。当一个域上的本原多项式确定了,这个域上的运算也就确定了,本原多项式一般通过查表可得,同一个域往往有多个本原多项式。通过将域中的元素化为多项式的形式,可以将域上的乘法运算转化为普通的多项式乘法模以本原多项式的计算。比如 g(x) = x^3+x+1 是 GF(2^3) 上的本原多项式,那么 GF(2^3) 域上的元素 3*7 可以转化为多项式乘法:

乘二运算: 无论是普通计算还是伽罗瓦域上运算,乘二计算是一种非常特殊的运算。普通计算在计算机上通过向高位的移位计算即可实现,伽罗瓦域上乘二也不复杂,一次移位和一次异或即可。从多项式的角度来看,伽罗瓦域上乘二对应的是一个多项式乘以 x,如果这个多项式最高指数没有超过本原多项式最高指数,那么相当于一次普通计算的乘二计算,如果结果最高指数等于本原多项式最高指数,那么需要将除去本原多项式最高项的其他项和结果进行异或。

比如:GF(2^8)(g(x) = x^8 + x^4 + x^3 + x^2 + 1)上 15*15 = 85 计算过程。

15 写成生成元指数和异或的形式 2^3 + 2^2 + 2^1 + 1,那么:

乘二运算计算过程:

列混淆 :就是把两个矩阵的相乘,里面的运算,加法对应异或运算,乘法对应伽罗瓦域 GF(2^8) 上的乘法(本原多项式为:x^8 + x^4 + x^3 + x^1 + 1)。

Galois 函数为伽罗瓦域上的乘法。

解码过程和 DES 解码类似,也是一个逆过程。基本的数学原理也是:一个数进行两次异或运算就能恢复,S ^ e ^ e = S。

密钥加法层

通过异或的特性,再次异或就能恢复原数。

逆Shift Rows层

恢复 Shift Rows层 的移动。

逆Mix Column层

通过乘上正矩阵的逆矩阵进行矩阵恢复。

一个矩阵先乘上一个正矩阵,然后再乘上他的逆矩阵,相当于没有操作。

逆字节代换层

通过再次代换恢复字节代换层的代换操作。

比如:0x00 字节的置换过程

轮常量生成规则如下:

算法原理和 AES128 一样,只是每次加解密的数据和密钥大小为 192 位和 256 位。加解密过程几乎是一样的,只是循环轮数增加,所以子密钥个数也要增加,最后轮常量 RC 长度增加。

194 评论

相关问答

  • 论文研究方法实证研究法

    论文的研究方法有哪些 论文的研究方法有哪些,研究方法是在一个研究中发现新的现象、新的事物,或者提出新理论、观点,论文研究方法需要大量阅读法,找到不足和创新点,来

    沫沫晓七 4人参与回答 2023-12-11
  • 论文格密码学研究

    密码学论文写作范例论文 随着网络空间竞争与对抗的日益尖锐复杂,安全问题以前所未有的深度与广度向传统领域延伸。随着移动互联网、下一代互联网、物联网、云计算、命名数

    吃尸体的秃鹰 2人参与回答 2023-12-08
  • 硬件漏洞检测方法研究论文题目

    ·免费[网络论文]|校园图书馆网络架构论文--do·免费[网络论文]|无线局域网的构建及其安全防·免费[网络论文]|无线局域网论文--doc文档·免费[网络论文

    珊珊来了 7人参与回答 2023-12-06
  • 论文研究方法的实验研究方法

    最近我也在写论文的开题报告。下面是我复制的,百分之百正确。调查法调查法是科学研究中最常用的方法之一。它是有目的、有计划、有系统地搜集有关研究对象现实状况或历史状

    joanna0727 3人参与回答 2023-12-09
  • 计算机硬件研究论文

    作为一个着重研究信息系统开发、应用的专业,计算机毕业论文的写作应该更贴合实际出来,可能有很多刚拿到题目的学生不知道改如何着手,下面我们就来了解一下计算机毕业论文

    paradisevita 2人参与回答 2023-12-05