当前位置:论文写作 > 毕业论文范文 > 文章内容

数据加密中的DES加密算法详解

主题:密钥加密技术 下载地址:论文doc下载 原创作者:原创作者未知 评分:9.0分 更新时间: 2024-02-17

简介:大学硕士与本科密钥加密毕业论文开题报告范文和相关优秀学术职称论文参考文献资料下载,关于免费教你怎么写密钥加密方面论文范文。

密钥加密论文范文

密钥加密技术论文

目录

  1. 一、对称加密算法
  2. 二、非对称加密算法
  3. 1.加密处理过程
  4. 2.加密变换过程
  5. 3.子密钥生成过程
  6. 4.解密处理过程
  7. 2.000 1 4 1 81 2 10】
  8. 3.D 22 64 C6 57 D1 论文范文 C3 CF 77 CE 2F DO E1 78 2A4D ED 7A A8
  9. 7.8 06 41 8D B5 E9 3F 00 0D C3 28 D1 F9 6D 17 48 6EA7 41 68
  10. 4.0
  11. 密钥加密技术:cad画直_cad2013产品密钥_cad图纸怎样加密

从最初的保密通信发展到目前的网络信息加密,信息加密技术一直伴随着信息技术的发展而发展.作为计算机信息保护的最实用和最可靠的方法,信息加密技术被广泛应用到信息安全的各个领域.信息加密技术是一门涉及数学,论文范文学和计算机的交叉学科.现代论文范文学的发展,使信息加密技术已经不再依赖于对加密算法本身的保密,而是通过在统计学意义上提高论文范文的成本来提供高加密算法的安全性.

论文范文学是一门古老而又年轻的科学.它用于保护军事和外交通信.可追溯到几千年前.1976年Diffie和Hellman的”论文范文学的新方向”一文引发的论文范文学的一场革命,开创了公钥论文范文学的新纪元.

常用加密算法主要用来对敏感数据、摘 要、签名等信息进行加密.按照密钥方式划分,可分为对称加密算法和非对称加密算法.

一、对称加密算法

对称加密算法有时又叫做传统论文范文算法.加密密钥可以从解密密钥中推导出来.解密密钥也可以从加密密钥中推导出来.在大多数的对称算法中,加密密钥和解密密钥是相同的,因此也成为秘密密钥算法或者单密钥算法.它要求发送发和接收方在安全通信之前先商定一个密钥.对称算法的安全性依赖于密钥,所以密钥的保密性对通信至关重要.对称加密算法主要有分组加密和流加密两类.分组加密是指将明文分成固定商都的组.用同一密钥分别对每一组加密,输出固定长度的密文,典型代表.DES、3DES.IDEA.

二、非对称加密算法

非对称加密算法有时又叫做公开密钥算法.其中用到两个密钥.一个是公共的.一个事私有的.一个密钥用于加密.另一个密钥用于解密.两个密钥不能够互相推导.常用的非对称加密算法有RSA公钥算法、Diffie-Hellman算法和ECC椭圆曲线论文范文.

我们详细分析一下DES加密算法的处理过程.

DES加密算法是分组加密算法,明文以64位为单位分成块.64位数据在64位密钥的控制下,经过初始变换后,进行1 6轮加密迭代:64位数据被分成左右两半部分,每部分32位,密钥与右半部分相结合,然后再与左半部分相结合,结果作为新的右半部分,结合前的右半部分作为新的左半部分.这一系列步骤组成一轮.这种轮换要重复1 6次.最后一轮之后,再进行初始置换的逆置换,就得到了64位的密文.

DES的加密过程可分为加密处理,加密变换和子密钥生成几个部分组成.

1.加密处理过程

(1)初始变换.加密处理首先要对64位的明文,初始换位表IP进行变换.表中的数值表示输入位被置换后的新位置.例如输入的第58位,在输出的时候被置换到第1位,输入的是第7位,在输出时被置换到第64位

(2)加密处理.上述换位处理的输出,中间要经过1 6轮加密变换.初始换位的64位的输出作为下一次的输入,将64位分为左.右两个32位,分别记为L0和RO.从LO、RO到L16、R16.共进行1 6轮加密变换.其中,经过n轮处理后的点左右32位分别为Ln和Rn.则可做如下定义

Ln-Rn-1

Rn-Ln-l

其中,kn是向第n轮输入的48位的子密钥.Ln-1和Rn-1分别是第n-l轮的输出.f是Mangler函数.

(3)最后换位.进行1 6轮的加密变换之后,将L16和R16合成64位的数据.再按照表2所示的

最后换位表进行lP-1的换位,得到64位的密文,这就是DES算法加密的结果.

2.加密变换过程

通过重复某些位将32位的右半部分按照扩展表3扩展换位表扩展为48位,而56位的密钥先移位然后通过选择其中的某些位减少至48位,48位的右半部分通过异或操作和48位的密钥结合,并分成6位的8个分组.通过8个s-盒将这48位替代成新的3 2位数据,再将其置换一次.这些s-盒输入6位,输出4位.

一个S盒中具有4种替换表(行号用O、1.2.3表示),通过输入的6位的开头和末尾两位选定行.然后按选定的替换表将输入的6位的中间4位进行替代,例如:当向S1输入01 101 1时.开头和结尾的组合是01.所以选中编号为1的替代表,根据中间4位1 1 01.选定第1 3列,查找表中第1行第1 3列所示的值为5.即输出01 01 这4位就是经过替代后的值按此进行输出32位,再按照表4单纯换位表P进行变换,这样就完成了f(R,K)的变换,如图2所示.

3.子密钥生成过程

钥通常表示为64位的自然数,首先通过压缩换位PC-l去掉每个字节的第8位,用作奇偶校验,因此,密钥去掉第8、16、24-64位减至56位,所以实际密钥长度为56位,而每轮要生成48位的子密钥.

输入的64位密钥,首先通过压缩换位得到56位的密钥每层分成两部分,上部分28位为co.下部分为DO,co和DO依次进行循环左移操作生成了C1和D1.将Cl和D1合成56位,再通过压缩换位PC-2输出48位的子密钥K1.再将Cl和D1进行循环左移和PC-2压缩换位,得到子密钥K2等 以此类推得到1 6个子密钥.密钥压缩换位表如表6所示在产生子密钥的过程中,L1、L2、L9、L16是循环左移1位,其余都是左移2位.

4.解密处理过程

从密文到明文的解密过程可采用与加密完全相同的算法.不过解密要用加密的逆变换,就是把上面的最后换位表和初始换位表完全倒过来变换.这里不再赘述.

下面这个例子中演示了如何使用c#中的加密包进行DES算法加密,大家可以借助这个例子一窥DES加密的用法.

des demo cs代码如下

using System,

using System Security Cryptography.

using System 10

using System Text,

public class EncryptStringDES

public static void Main(String[] args)

if (args.Length<,1)

Console WriteLine(’『Usage

des_demo

encrypt>,"args[0]),

return

/使用UTF8函数加密输入参数

UTF8Encoding utf8Encoding等于new UTF8Encoding().

byte[] inputByteArray等于utf8Encoding GetBytes( args

[0] ToCharArray()),

//方式一调用默认的DES实现方法DES一CSP

密钥加密技术:cad画直_cad2013产品密钥_cad图纸怎样加密

DES des等于DES.Create():

//方式二直接使用DES_CSP()实现DES的实体

//DES_CSP DES等于new DES_CSP().

//初始化DES加密的密钥和一个随机的,8比特的初始化向量(IV)

Byte[] key等于{Ox01, Ox23. Ox45. Ox67. Ox89, Oxab.

Oxcd Oxef}

Byte[]lV等于:Ox12. Ox34. Ox56, Ox78. Ox90. Oxab.

Oxcd.Oxef:,

des Key等于key:

des IV -IV

//建立加密流

SymmetricStreamEncryptor sse等于des CreateEncryptor㈠

//使用CryptoMemoryStream方法获取加密过程的输出

CryptoMemoryStream cms等于new CryptoMemoryStream().

/∥将SymmetricStreamEncryptor流中的加密数据输出到

CryptoMemoryStream中

sse SetSink( cms):

//加密完毕,将结果输出到控制台

sse Write (inputByteArray),

sse CloseStream().

//获取加密教据

byte[] encryptedData等于cms.Data,

//输出加密后结果

Console WriteLine(”加密结果 ”),

for (int l等于0.i<,encryptedData.Length:I++){

Console Write(”{O X2}”.encryptedData[i]).

Console WriteLine().

//上面演示了如何进行加密,下面演示如何进行解密

SymmetricStreamDecryptor ssd等于des CreateOecryptor().

cms等于new CryptoMernoryStream().

ssd Set Sink( cms)

ssd Write( encryptedData):

ssd CloseStream():

byte[] decryptedData等于cms.Data.

char[] decryptedCharArray等于utf8Encoding GetChars( decryptedData).

Console WriteLine(”解密后数据 ”)

Console Write( decryptedCharArray)

Console WriteLine().

编译.

D\csharp>,csc des一demo cs

Microsoft (R) C#Compiler Version 7 00 8905 [NGWS runtir11e

2.000 1 4 1 81 2 10】

Copyright (C) Microsoft Corp 2000. All rights reserved

运行实例:

D\csharp>,des—demo exe使用ct编写DES加密程序的framework

加密结果

3.D 22 64 C6 57 D1 论文范文 C3 CF 77 CE 2F DO E1 78 2A4D ED 7A A8

83 F9 0E 14 E1 BA 38

7.8 06 41 8D B5 E9 3F 00 0D C3 28 D1 F9 6D 17 48 6EA7 41 68

4.0

解密后数据.

使用C#编写DES加密程序的framework

DES算法具有极高的安全性,到目前为止,除了用穷举搜索法对DES算法进行攻击外,还没有发现更有效的办法.通过穷尽搜索空间,可获得总共256(大约7.2×1016)个可能的密钥.如果每秒能检测一百万个的话,需要2000年完成检测.可见,这是很难实现的.当然,随着科学技术的发展,当出现超高速计算机后,可以考虑把DES密钥的长度再增长一些,以此来达到更高的保密程度.随着信息化和数字化社会的发展,随着计算机和Inte rnet的普及,论文范文学必将在国家安全、经济交流、网络安全及人民生活等方面发挥更大作用.

总结:本论文可用于密钥加密论文范文参考下载,密钥加密相关论文写作参考研究。

密钥加密技术引用文献:

[1] 织密监督网论文范文 关于织密监督网类论文写作参考范文8000字
[2] 侦破间谍案缴获克格勃密电码论文范文 侦破间谍案缴获克格勃密电码方面论文写作参考范文3000字
[3] 白醋为墨新型密写纸更论文范文 白醋为墨新型密写纸更方面有关论文如何怎么撰写2500字
《数据加密中的DES加密算法详解》word下载【免费】
密钥加密技术相关论文范文资料