对称加密算法的设计与实现 精品
对称密码算法的基本原理

对称密码算法的基本原理
对称密码算法是一种使用相同的密钥对数据进行加密和解密的算法。
其基本原理是将明文按照一定规则和密钥进行计算,得到密文;将密文按照相同的规则和密钥进行计算,得到明文。
整个过程中,密钥起到了保密数据的作用。
对称密码算法的基本原理可以概括为以下几个步骤:
1. 密钥生成:通信双方在进行加密和解密之前需要共享一个密钥。
密钥可以通过随机数生成算法生成,也可以通过密钥交换协议在通信双方之间进行协商。
2. 加密过程:明文按照一定规则和密钥进行计算,生成密文。
加密算法的设计中通常包括替换、置换、混淆以及迭代等操作,以增强算法的安全性。
3. 解密过程:密文按照相同的规则和密钥进行计算,生成明文。
解密算法与加密算法相反,通过逆向的操作将密文还原为明文。
对称密码算法的优点是计算速度快、实现简单,适用于对大量数据进行加密和解密的场景。
然而,对称密码算法的缺点是通信双方需要提前共享密钥,密钥的管理和分发成为了一个安全性问题。
另外,对称密码算法也不适用于实现安全通信和存储,因为密钥的保密性无法得到保障。
为了解决这些问题,常常将对称密码算法与非对称密码算法相结合,使用非对称密码算法来保证密钥的安全性,然后使用对称密码算法来对通信数据进行加密和解密。
说明对称密码算法和非对称密码算法的原理和优缺点

说明对称密码算法和非对称密码算法的原理和优缺点
对称密码算法:
原理:对称密码算法是一种加密算法,发送方和接收方使用相同的密钥进行加密和解密。
加密过程中,将明文按照一定的规则和算法进行混淆和置换,以产生密文。
解密过程中,使用相同的密钥和算法对密文进行逆向操作,还原出明文。
优点:
1. 加密和解密速度快,适用于大量数据的加密和解密操作。
2. 密钥长度相对较短,不占用过多的存储空间。
3. 实现简单,操作容易。
缺点:
1. 密钥的分发和管理较为困难,存在安全性问题。
2. 无法有效解决密钥传递问题,即如何确保密钥在发送和接收之间的安全传递。
非对称密码算法:
原理:非对称密码算法是一种加密算法,发送方和接收方使用不同的密钥进行加密和解密。
加密过程中,发送方使用接收方的公钥进行加密,接收方使用自己的私钥进行解密。
优点:
1. 安全性高,公钥可以随意公开,只有私钥持有者才能解密密文。
2. 解决了对称密码的密钥分发和管理问题。
缺点:
1. 加密和解密速度较慢,适用于少量数据的加密和解密操作。
2. 密钥长度相对较长,占用较多的存储空间。
3. 实现较为复杂,操作稍微复杂。
总结:
对称密码算法的优点在于速度快、实现简单,但安全性相对较低;非对称密码算法的优点在于安全性高,但加密和解密速度较慢、实现较为复杂。
因此,实际应用中常常采用对称密码算法和非对称密码算法的结合,即非对称密码算法用于密钥分发和管理,对称密码算法用于实际的数据加密和解密。
数据库中数据加密与解密的实现方法

数据库中数据加密与解密的实现方法在当今信息时代,数据的安全性愈发突显重要。
尤其是数据库中存储的大量敏感数据,如用户个人信息、企业机密等,必须得到有效的保护,以防止恶意访问和滥用。
加密与解密是一种常用的数据保护措施,通过对数据进行加密处理,即使数据库遭到非法访问,也能有效防止数据泄露。
本文将介绍数据库中数据加密与解密的实现方法。
一、对称加密算法对称加密算法是一种常用的加密方法,也称为私钥加密算法。
该算法使用相同的密钥进行加密和解密操作,因此在应用中密钥的保护措施至关重要。
对称加密算法的优点是加密解密速度快,适合对大量数据进行加密。
常见的对称加密算法有DES(Data Encryption Standard)、AES(Advanced Encryption Standard)等。
在数据库中使用对称加密算法进行数据加密,需要进行以下步骤:1. 选择合适的加密算法和密钥长度。
根据实际需求和数据敏感程度,选择适当的对称加密算法和密钥长度。
2. 生成密钥并妥善保存。
为了保证数据的安全性,密钥的生成和妥善保存非常重要。
可以使用专门的密钥管理系统来生成和管理密钥。
3. 对数据进行加密处理。
对于需要加密的数据,在数据库中创建相应的字段,并通过对称加密算法使用密钥对数据进行加密处理。
4. 存储密文。
将加密后的数据存储在数据库中。
为了提高安全性,最好将密钥和密文分别存储在不同的位置,以免数据泄露导致密钥被获取。
5. 解密数据。
在需要访问加密数据的时候,通过密钥使用相同的对称加密算法进行解密处理,得到明文数据。
二、非对称加密算法非对称加密算法也称为公钥加密算法,相对于对称加密算法,它使用一对不同的密钥进行加密和解密操作,一把密钥是公开的,称为公钥,而另一把密钥是私密的,称为私钥。
公钥用于加密数据,只有持有相应私钥的人才能解密数据。
非对称加密算法的优点是密钥的传输相对安全,不会被中间人窃取。
常见的非对称加密算法有RSA、DSA、ECC等。
对称密码算法概述

❖ 典型算法
▪ DES、3DES、AES、IDEA
▪ RC5、Twofish、CAST-256、MARS
3
数据加密标准(DES)
❖DES是一种对称密钥算法,密钥长度为56bits (加上奇偶校验,通常写成64bits)。
❖分组加密算法,64 bits为一个分组。
❖基本思想:
▪ 混乱(Confusion)
❖ 1990年,Xuejia Lai 和James Massey
▪第一版,PES(Proposed Encryption Standard)
❖为对抗差分攻击,修改算法增加强度,称为IPES。 ❖1992年改名IDEA。 ❖“依我看来,该算法是目前已公开的最好和最安 全的分组密码算法” ——《应用密码学》,p226。 ❖PGP中集成了IDEA算法。
13
IDEA算法
❖IDEA算法用了三种数学运算:
▪ 模216异或算法,常用 表示; ▪ 模216加法,表示为 X+Y=Z mod(216);常用 表示; ▪ 模216+1 乘法,表示为 X*Y=Z mod(216+1);常用
表示;
❖IDEA 分组长度64比特 ,分4组,每组长度为16 比特,表示为:X1、X2、X3和X4 ❖密钥长度 128比特 ❖同一算法既可以加密,也可用于解密。 ❖软件实现IDEA比DES快两倍 ❖现在还没有资料证明它有什么弱点。
6
DES的产生和应用
❖1974年8月,NBS第二次征集,IBM提交LUCIFER算法
▪ 发明人:IBM公司 W. Tuchman 和 C. Meyer,(19711972)
▪ 基 础:1967年美国Horst Feistel提出的理论
❖1976年11月,采纳为联邦标准
Python3对称加密算法AES、DES3实例详解

Python3对称加密算法AES、DES3实例详解本⽂实例讲述了Python3对称加密算法AES、DES3。
分享给⼤家供⼤家参考,具体如下:python3.6此库安装⽅式,需要pip3 install pycryptodome。
如有site-packages中存在crypto、pycrypto,在pip之前,需要pip3 uninstall crypto、pip3 uninstall pycrypto,否则⽆法安装成功。
这⾥顺带说⼀下pycrypto,这个库已经有很久没有⼈维护了,如果需要安装此库,需要先安装 VC++ build tools然后将 ~\BuildTools\VC\Tools\MSVC\14.15.26726\include ⽬录下的 stdint.h 拷贝到 C:\Program Files (x86)\Windows Kits\10\Include\10.0.17134.0\ucrt 下。
(Win10 需管理员权限)接着将同⽬录下的 inttypes.h 中的#include <stdint.h>(第⼗四⾏),改成#include "stdint.h"。
然后使⽤pip3 install pycrypto,就能直接安装了。
注:如果不是业务需要,请尽可能使⽤ pycryptodome。
AES:import Crypto.Cipher.AESimport Crypto.Randomimport base64import binasciidef auto_fill(x):if len(x) <= 32:while len(x) not in [16, 24, 32]:x += " "return x.encode()else:raise "密钥长度不能⼤于32位!"key = "asd"content = "abcdefg1234567"x = Crypto.Cipher.AES.new(auto_fill(key), Crypto.Cipher.AES.MODE_ECB)a = base64.encodebytes(x.encrypt(auto_fill(content)))b = x.decrypt(base64.decodebytes(a))print(a)print(b)a = binascii.b2a_base64(x.encrypt(auto_fill(content)))b = x.decrypt(binascii.a2b_base64(a))print(a)print(b)key = "dsa"iv = Crypto.Random.new().read(16) # 向量,必须为16字节content = "1234567abcdefg"y = Crypto.Cipher.AES.new(auto_fill(key), Crypto.Cipher.AES.MODE_CBC, iv)c = binascii.b2a_base64(y.encrypt(auto_fill(content)))z = Crypto.Cipher.AES.new(auto_fill(key), Crypto.Cipher.AES.MODE_CBC, iv)d = z.decrypt(binascii.a2b_base64(c))print(c)print(d)运⾏结果:b'jr/EIUp32kLHc3ypZZ1cyg==\n'b'abcdefg1234567 'b'jr/EIUp32kLHc3ypZZ1cyg==\n'b'abcdefg1234567 'b'j+Ul9KQd0HnuiHW3z9tD7A==\n'b'1234567abcdefg 'DES3:import Crypto.Cipher.DES3import base64import binasciidef auto_fill(x):if len(x) > 24:raise "密钥长度不能⼤于等于24位!"else:while len(x) < 16:x += " "return x.encode()key = "asd"content = "abcdefg1234567"x = Crypto.Cipher.DES3.new(auto_fill(key), Crypto.Cipher.DES3.MODE_ECB)a = base64.encodebytes(x.encrypt(auto_fill(content)))print(a)b = x.decrypt(base64.decodebytes(a))print(b)a = binascii.b2a_base64(x.encrypt(auto_fill(content)))b = x.decrypt(binascii.a2b_base64(a))print(a)print(b)运⾏结果:b'/ee3NFKeNqEk/qMNd1mjog==\n'b'abcdefg1234567 'b'/ee3NFKeNqEk/qMNd1mjog==\n'b'abcdefg1234567 '附:AES的⼯⼚模式封装Cipher_AES.py(封装Crypto.Cipher.AES)'''Created on 2018年7⽉7⽇@author: ray'''import Crypto.Cipher.AESimport Crypto.Randomimport base64import binasciiclass Cipher_AES:pad_default = lambda x, y: x + (y - len(x) % y) * " ".encode("utf-8")unpad_default = lambda x: x.rstrip()pad_user_defined = lambda x, y, z: x + (y - len(x) % y) * z.encode("utf-8")unpad_user_defined = lambda x, z: x.rstrip(z)pad_pkcs5 = lambda x, y: x + (y - len(x) % y) * chr(y - len(x) % y).encode("utf-8")unpad_pkcs5 = lambda x: x[:-ord(x[-1])]def __init__(self, key="abcdefgh12345678", iv=Crypto.Random.new().read(Crypto.Cipher.AES.block_size)):self.__key = keyself.__iv = ivdef set_key(self, key):self.__key = keydef get_key(self):return self.__keydef set_iv(self, iv):self.__iv = ivdef get_iv(self):return self.__ivdef Cipher_MODE_ECB(self):self.__x = Crypto.Cipher.AES.new(self.__key.encode("utf-8"), Crypto.Cipher.AES.MODE_ECB)def Cipher_MODE_CBC(self):self.__x = Crypto.Cipher.AES.new(self.__key.encode("utf-8"), Crypto.Cipher.AES.MODE_CBC, self.__iv.encode("utf-8")) def encrypt(self, text, cipher_method, pad_method="", code_method=""):if cipher_method.upper() == "MODE_ECB":self.Cipher_MODE_ECB()elif cipher_method.upper() == "MODE_CBC":self.Cipher_MODE_CBC()cipher_text = b"".join([self.__x.encrypt(i) for i in self.text_verify(text.encode("utf-8"), pad_method)])if code_method.lower() == "base64":return base64.encodebytes(cipher_text).decode("utf-8").rstrip()elif code_method.lower() == "hex":return binascii.b2a_hex(cipher_text).decode("utf-8").rstrip()else:return cipher_text.decode("utf-8").rstrip()def decrypt(self, cipher_text, cipher_method, pad_method="", code_method=""):if cipher_method.upper() == "MODE_ECB":self.Cipher_MODE_ECB()elif cipher_method.upper() == "MODE_CBC":self.Cipher_MODE_CBC()if code_method.lower() == "base64":cipher_text = base64.decodebytes(cipher_text.encode("utf-8"))elif code_method.lower() == "hex":cipher_text = binascii.a2b_hex(cipher_text.encode("utf-8"))else:cipher_text = cipher_text.encode("utf-8")return self.unpad_method(self.__x.decrypt(cipher_text).decode("utf-8"), pad_method)def text_verify(self, text, method):while len(text) > len(self.__key):text_slice = text[:len(self.__key)]text = text[len(self.__key):]yield text_sliceelse:if len(text) == len(self.__key):yield textelse:yield self.pad_method(text, method)def pad_method(self, text, method):if method == "":return Cipher_AES.pad_default(text, len(self.__key))elif method == "PKCS5Padding":return Cipher_AES.pad_pkcs5(text, len(self.__key))else:return Cipher_AES.pad_user_defined(text, len(self.__key), method)def unpad_method(self, text, method):if method == "":return Cipher_AES.unpad_default(text)elif method == "PKCS5Padding":return Cipher_AES.unpad_pkcs5(text)else:return Cipher_AES.unpad_user_defined(text, method)使⽤⽅法:加密:Cipher_AES(key [, iv]).encrypt(text, cipher_method [, pad_method [, code_method]])解密:Cipher_AES(key [, iv]).decrypt(cipher_text, cipher_method [, pad_method [, code_method]])key:密钥(长度必须为16、24、32)iv:向量(长度与密钥⼀致,ECB模式不需要)text:明⽂(需要加密的内容)cipher_text:密⽂(需要解密的内容)cipher_method:加密⽅法,⽬前只有"MODE_ECB"、"MODE_CBC"两种pad_method:填充⽅式,解决 Java 问题选⽤"PKCS5Padding"code_method:编码⽅式,⽬前只有"base64"、"hex"两种来段调⽤封装类 Cipher_AES 的 demo_Cipher_AES.py,⽅便⼤家理解:import Cipher_AESkey = "qwedsazxc123321a"iv = key[::-1]text = "我爱⼩姐姐,可⼩姐姐不爱我 - -"cipher_method = "MODE_CBC"pad_method = "PKCS5Padding"code_method = "base64"cipher_text = Cipher_AES(key, iv).encrypt(text, cipher_method, pad_method, code_method)print(cipher_text)text = Cipher_AES(key, iv).decrypt(cipher_text, cipher_method, pad_method, code_method)print(text)'''运⾏结果:uxhf+MoSko4xa+jGOyzJvYH9n5NvrCwEHbwm/A977CmGqzg+fYE0GeL5/M5v9O1o我爱⼩姐姐,可⼩姐姐不爱我 - -'''PS:关于加密解密感兴趣的朋友还可以参考本站在线⼯具:更多关于Python相关内容感兴趣的读者可查看本站专题:《》、《》、《》、《》、《》、《》及《》希望本⽂所述对⼤家Python程序设计有所帮助。
对称密码学

(2) 异或。扩展后的 48 位输出 E(Ri) 与压 缩后的 48 位密钥 Ki 作异或运算。
(3) S 盒替代。将异或得到的 48 位结果分 成八个 6 位的块 , 每一块通过对应的一个 S盒产生一个 4 位的输出。
S 盒的具体置换过程为 : 某个 Si 盒的 6 位输入 的第 1 位和第 6 位形成一个 2 位的二进制数从 0-3, 对应表中的某一行 : 同时 , 输入的中间 4 位构成 4 位二进制数 0-15 对应表中的某一列。 例如 , 第 8 个 S 盒的输入为 001011 , 前后 2 位形成的二进制数为 01, 对应第 8 个 S 盒的第 1 行 : 中间 4 位为 0101, 对应同一S盒的第 5 列。从表 2-6 中可得 S8 盒的第 1 行第 5 列的 数为 3, 于是就用 0011 代替原输入001011。
表2-3每轮移动的位数
轮 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 数 位1 1 2 2 2 2 2 2 1 2 2 2 2 2 2 1 数
移动后 , 将两部分合并成 56 位后通过压缩置换 PC-2 后得到 48 位子密钥 , 即 Kj=PC-2(CjDj)。 压缩置换如表 2-4 所示
2.获取子密钥Kj
DES加密算法的密钥长度为56位,但一般表示为 64位,其中,每个第8位用于奇偶校验。在DES加密 算法中,将用户提供的64位初始密钥经过一系列的 处理 得到K1, K2,…, K16,分别作为1-16轮运算的 16个子密钥。首先,将64位密钥去掉8个校验位,用 密钥置换PC-1置换剩下的56位密钥;再将56位分成
在现代密码学中,所有算法的安全性都要求基 于密钥的安全性, 而不是基于算法细节的安 全性。也就是说, 只要密钥不公开, 即使算 法公开并被分析, 不知道密钥的人也无法理 解你所加密过的消息。
常见对称加密算法

常见对称加密算法1、对称加密算法1.1 定义对称加密算法是应⽤较早的加密算法,技术成熟。
在对称加密算法中,数据发信⽅将明⽂()和加密(mi yue)⼀起经过特殊加密算法处理后,使其变成复杂的加密密⽂发送出去。
收信⽅收到密⽂后,若想解读原⽂,则需要使⽤加密⽤过的及相同算法的逆算法对密⽂进⾏解密,才能使其恢复成可读明⽂。
在对称加密算法中,使⽤的只有⼀个,发收信双⽅都使⽤这个密钥对数据进⾏加密和解密,这就要求解密⽅事先必须知道加密密钥。
1.2 优缺点优点:算法公开、计算量⼩、加密速度快、加密效率⾼。
缺点:(1)交易双⽅都使⽤同样钥匙,安全性得不到保证。
(2)每对⽤户每次使⽤对称加密算法时,都需要使⽤其他⼈不知道的惟⼀钥匙,这会使得发收信双⽅所拥有的钥匙数量呈⼏何级数增长,成为⽤户的负担。
对称加密算法在分布式⽹络系统上使⽤较为困难,主要是因为困难,使⽤成本较⾼。
1.3 常⽤对称加密算法基于“”的加密算法主要有DES、3DES(TripleDES)、AES、RC2、RC4、RC5和Blowfish等。
本⽂只介绍最常⽤的对称加密算法DES、3DES(TripleDES)和AES。
2、DES2.1 概述DES算法全称为Data Encryption Standard,即数据加密算法,它是IBM公司于1975年研究成功并公开发表的。
DES算法的⼊⼝参数有三个:Key、Data、Mode。
其中Key为8个字节共64位,是DES算法的⼯作密钥;Data也为8个字节64位,是要被加密或被解密的数据;Mode 为DES的⼯作⽅式,有两种:加密或解密。
2.2 算法原理DES算法把64位的明⽂输⼊块变为64位的密⽂输出块,它所使⽤的密钥也是64位,其算法主要分为两步:(1)初始置换其功能是把输⼊的64位数据块按位重新组合,并把输出分为L0、R0两部分,每部分各长32位,其置换规则为将输⼊的第58位换到第⼀位,第50位换到第2位......依此类推,最后⼀位是原来的第7位。
des加密算法的实现及应用

DES加密算法的实现及应用学生姓名:梁帅指导老师:熊兵摘要随着信息与通信技术的迅猛发展和广泛应用,人们通过互联网进行信息交流,难免涉及到密码保护问题,这就需要使用DES加密技术来对数据进行加密保护。
本课程设计介绍了DES加密的基本原理以及简单的实现方法。
本课程设计基于C语言,采用DES算法技术,设计了DES加密程序,实现了DES加密解密功能。
经测试,程序能正常运行,实现了设计目标。
关键词DES加密,C语言,信息交流1 引言1.1本文主要内容DES是一个分组密码算法,使用64位密钥(除去8位奇偶校验,实际密钥长度为56位)对64比特的数据分组(二进制数据)加密,产生64位密文数据。
DES是一个对称密码体制,加密和解密使用同意密钥,解密和加密使用同一算法(这样,在硬件与软件设计时有利于加密单元的重用)。
DES的所有的保密性均依赖于密钥。
DES算法的入口参数有三个:Key、Data、Mode。
其中Key为8个字节共64位,是DES算法的工作密钥;Data也为8个字节64位,是要被加密或被解密的数据;Mode为DES的工作方式,有两种:加密或解密。
DES算法是这样工作的:如Mode为加密,则用Key 去把数据Data进行加密,生成Data的密码形式(64位)作为DES的输出结果;如Mode为解密,则用Key去把密码形式的数据Data解密,还原为Data的明码形式(64位)作为DES的输出结果。
在通信网络的两端,双方约定一致的Key,在通信的源点用Key对核心数据进行DES加密,然后以密码形式在公共通信网(如电话网)中传输到通信网络的终点,数据到达目的地后,用同样的Key对密码数据进行解密,便再现了明码形式的核心数据。
这样,便保证了核心数据(如PIN、MAC等)在公共通信网中传输的安全性和可靠性DES的加密过程:第一阶段:初始置换IP。
在第一轮迭代之前,需要加密的64位明文首先通过初始置换IP 的作用,对输入分组实施置换。
- 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
- 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
- 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。
延 边 大 学 (
二 〇 一 三 年 五 月 摘 要
本 科 毕 业 论 文 本科毕业设计 题 目:基于DES的对称加密算法的设计与实现 学生姓名:周莹冰 学 院:工学院 专 业:数字媒体技术 班 级:2009级 指导教师:李永珍 副教授
学校代码: 10184 学 号: 2094021629 延边大学本科毕业设计说明书 随着信息时代的来临,信息的安全性变得尤为重要,而对数据进行加密是行之有效的能保证信息安全性的方法。DES算法是众多数据加密算法中的一种,在过去的几十年中在数据加密领域有着举足轻重的地位,然而随着计算机技术的发展,DES算法的安全性也被大大地降低,针对DES的暴力破解所用的时间在逐年减少,为了能使DES这种优秀的加密算法能够重新使用,本文将针对就DES的暴力破解提供一种有效的解决方案:基于DES算法迭代算法的改进,对DES的密钥长度进行了扩展。使DES的安全性得到了增强,同时相较于DES算法的改进算法3DES算法,效率上会比3DES高,安全性上也不会逊色于3DES。 关键词:DES;密钥扩展;迭代算法;
Abstract 延边大学本科毕业设计说明书 With the coming of information age, information security has become especially important, and to encrypt data is effective to ensure the security of the information. DES algorithm is one of data encryption algorithms, in the past few decades has a pivotal position in the field of data encryption. however, with the development of computer technology, the security of DES algorithm also has been greatly reduced, the time of brute force of DES has been reducing year by year, in order to make this good encryption algorithm can be used again, this article will focus on the DES of brute force to provide an effective solution: based on iterative algorithm of DES algorithm, and extended the length of DES key. To make the security of DES more enhanced, at the same time, compared with the 3 DES algorithm, the efficiency will be higher than 3 DES, and security will not inferior to 3 DES.
Key word: DES; key expansion; iterative algorithm 延边大学本科毕业设计说明书 目 录 引 言 ......................................................................................................................................... 1 第一章 对称加密算法 ........................................................................................................ 2 1.1 对称加密算法简介 ..................................................................................................... 2 1.2 DES的历史 ................................................................................................................. 2 1.3 DES加密算法原理 ..................................................................................................... 4 1.3.1初始置换 ................................................................................................................ 5 1.3.2 每轮变换的详细过程 ........................................................................................... 7 1.3.3 密钥的产生 ......................................................................................................... 10 第二章 DES算法的安全性分析及改进 ........................................................................... 12 2.1 DES算法基于对称加密算法的问题 .......................................................................... 12 2.2 DES算法的密钥 .......................................................................................................... 12 2.2.1 密钥的长度 ......................................................................................................... 12 2.2.2 存在弱密码 ......................................................................................................... 13 2.3 针对DES的一些破解方法 ......................................................................................... 14 2.4 DES的改进算法 .......................................................................................................... 15 2.4.1 3DES算法细节 .................................................................................................... 15 第三章 针对DES密钥长度的两个改进 .......................................................................... 17 3.1 基于对换迭代结果的密钥扩展 ................................................................................. 17 3.1.1算法的基本原理 .................................................................................................. 17 3.2 基于对换迭代子密钥的密钥扩展 ............................................................................. 19 3.2.1算法的基本原理 .................................................................................................. 20 第四章 两种改进方法的算法分析及与3DES的比较 ......................................................... 21 4.1 两种改进的算法分析 ................................................................................................. 21 4.1.1 算法效率 ............................................................................................................. 21 4.1.2 算法的安全性 ..................................................................................................... 21 4.2 改进算法与3DES算法的比较 ................................................................................... 22 第五章 与DES、3DES算法的效率实验 ............................................................................... 24