10-密码学基础03-对称加密_第1页
10-密码学基础03-对称加密_第2页
10-密码学基础03-对称加密_第3页
10-密码学基础03-对称加密_第4页
10-密码学基础03-对称加密_第5页
已阅读5页,还剩19页未读 继续免费阅读

下载本文档

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

文档简介

密码学基础03

对称加密了解对称加密算法理解对称加密算法优势与缺点理解对称加密算法应用场景教学目标对称加密算法概述RC4DESAES目录对称密码主要特征就是加密和解密使用相同的密钥,也叫单密钥加密。根据加密对象分为流加密,每次加密都通过密钥生成一个密钥流,解密也是使用同一个密钥流,明文与同样长度的密钥流进行异或运算得到密文,密文与同样的密钥流进行异或运算得到明文。典型算法RC4块加密,块密码算法也叫分组密码算法,从字面意思就可以知道,它把加密和解密序列分成了一个个分组,最后把每一块序列合并到一起,形成明文或者密文。根据不同的分组加密方式,每个分组之间可以有联系,也可以没有联系。典型算法是DES和AES对称加密基本概念RC4应用广泛,是典型的流加密算法。常见用于SSL/TLS,及802.11和WAP中。流加密会逐字节加密数据,RC4本质是以密钥为种子(seed)产生的随机数来对明文进行逐字节异或。分组密码与流密码的区别就在于有无记忆性。RC4介绍概述每次加密明文中的一个字节密钥长度可变,1-256字节基本流程初始化S和T计算排列S,j从0到255产生与明文等长的密钥流加密运算RC4介绍算法描述S和T的初始状态:S中元素的值按升序被置为0-255,同时建立一个临时向量T。将密钥的值循环复制到T向量中。S的初始置换用T产生S的初始置换,置换伪码如下

j=0;

for(i=0;i<256;i++){

j=(j+S[i]+T[i])mod256;

swap(S[i],S[j]);

}RC4介绍密钥流生成伪码如下

i,j=0;

while(true){

i=(i+1)mod256;

j=(j+S[i])mod256;

swap(S[i],S[j]);

t=(S[i]+S[j])mod256;

k=S[t];

}RC4介绍RC4介绍数据加密标准(dataencryptionstandard,DES)是迄今为止世界上最为广泛使用和流行的一种分组密码算法它的分组长度为64比特,密钥长度为56比特,它是由美国IBM公司研制DES在1975年3月17日首次被公布在联邦记录中,经过大量的公开讨论后,DES于1977年1月15日被正式批准并作为美国联邦信息处理标准1998年5月美国EFF(electronicsfrontierfoundation)宣布,他们以一台价值20万美元的计算机改装成的专用解密机,用56小时破译了56比特密钥的DES块加密的解密流程和加密流程往往是不同的DES介绍

DES介绍初始转换,举例:64比特的输入M,

置换:X=IP(M)64比特输入 X=IP(M)DES介绍M1M2M3M4M5M6M7M8M9M10M11M12M13M14M15M16M17M18M19M20M21M22M23M24M25M26M27M28M29M30M31M32M33M34M35M36M37M38M39M40M41M42M43M44M45M46M47M48M49M50M51M52M53M54M55M56M57M58M59M60M61M62M63M64M58M50M42M34M26M18M10M2M60M52M44M36M28M20M12M4M62M54M46M38M30M22M14M6

M64M56M48M40M32M24M16M8

M57M49M41M33M25M17M9M1

M59M51M43M35M27M19M11M3

M61M53M45M37M29M21M13M5M63M55M47M39M31M23M15M7轮变换公式:DES介绍F中的代换由8个S盒组成每个S盒的输入长为6比特输出长为4比特其变换关系由表定义每个S盒给出了4个代换DES介绍密钥的产生:56比特密钥首先经过一个置换运算,然后将置换后的56比特分为各为28比特的左、右两半,分别记为C0和D0。在第i轮分别对Ci-1和Di-1进行左循环移位,所移位数由表给出。移位后的结果作为求下一轮子密钥的输入,同时也作为置换选择2的输入。通过置换选择2产生的48比特的Ki,即为本轮的子密钥,作为函数F(Ri-1,Ki)的输入。其中置换选择2由表定义。DES介绍为了提高DES的安全性,并利用实现DES的现有软硬件,可将DES算法在多密钥下多重使用。2DES是多重使用DES时最简单的形式。其中明文为P,两个加密密钥为K1和K2,密文为:

3DES最初使用3个不同的密钥做3次加密,这样密钥长度为56x3=168。一种实用的方法是仅使用两个密钥做3次加密,实现方式为加密\|解密\|加密,即:

2DES

3DES分组密码在加密时,明文分组的长度是固定的,而实际应用中待加密消息的数据量是不定的,数据格式可能是多种多样的。为了能在各种应用场合使用DES,美国在FIPSPUS74和81中定义了DES的4种运行模式这些加密模式大都可以归类为两种,即ECB模式和CBC模式ECB全称为ElectronicCodeBook,是块加密中比较简单的加密模式。在ECB模式中,每一块明文数据都被独立地进行加密来生成加密块。这意味着如果你发现两个加密块有相同的内容,那么就可以确定这两个加密块的原文也是相同CBC全称为Cipher-BlockChaining,算是最常见的块加密模式了。在CBC模式中,每个明文块都会在加密前被使用前一个明文块的秘文进行异或;解密过程则正好相反。其中第一个明文块会被使用IV即初始化向量进行异或。DES的加密模式DES的加密模式模式描述用途电码本(ECB)模式每个明文组独立以同一密钥加密传送短数据(如一个加密密钥)密码分组链接(CBC)模式加密算法的输入是当前明文组与前一密文组的异或传送数据流;认证密码反馈(CFB)模式每次只处理输入的j比特,将上一次的密文用作加密算法的输入以产生伪随机输出,该输出再与当前明文异或以产生当前密文传送数据流;认证输出反馈(OFB)模式与CFB类似,不同之处是本次加密算法的输入为前一次加密算法的输出有扰信道上(如卫星通讯)传送数据流差分密码分析是迄今已知的攻击迭代密码最有效的方法之一,其基本思想是:通过分析明文对的差值对密文对的差值的影响来恢复某些密钥比特。线性密码分析是对迭代密码的一种已知明文攻击,它利用的是密码算法中的“不平衡(有效)的线性逼近”。密码分析1997年4月15日,美国ANSI发起征集AES(advancedencryptionstandard)的活动,并为此成立了AES工作小组。1998年8月,在首届AES候选会议上公布了AES的15个候选算法。1999年3月,在第2届AES候选会议上经过对全球各密码机构和个人对候选算法分析结果的讨论,从15个候选算法中选出了5个。2000年10月,NIST宣布Rijndael作为新的AES。至此,经过3年多的讨论,Rijndael终于脱颖而出。AES介绍Rijndael由比利时的JoanDaemen和VincentRijmen设计,算法的原型是Squ

温馨提示

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

评论

0/150

提交评论