CN1266616C - 计算机加密装置及其加密方法 - Google Patents
计算机加密装置及其加密方法 Download PDFInfo
- Publication number
- CN1266616C CN1266616C CN 02129354 CN02129354A CN1266616C CN 1266616 C CN1266616 C CN 1266616C CN 02129354 CN02129354 CN 02129354 CN 02129354 A CN02129354 A CN 02129354A CN 1266616 C CN1266616 C CN 1266616C
- Authority
- CN
- China
- Prior art keywords
- ciphertext
- value
- chaos
- encryption
- authentication value
- Prior art date
- Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
- Expired - Fee Related
Links
Images
Landscapes
- Storage Device Security (AREA)
Abstract
一种基于混沌理论高速加密装置和加密方法,利用混沌学原理对初值的敏感依赖性,生成无限循环的密钥流,具有很高的安全性。该方法所要求的密钥为可变长的,理论上可达到任意长度,(推荐范围为64~4096)。对密钥的初始处理使得密钥的微小变化将导致互相毫无关联的密文值,大幅度提高了抗破解特性。该方法所提出的随机数搅拌方法,在得到可变长密文的同时,在加密过程中加入了随机的不可预知的信息,实现了即使相同的明文每次加密得到不同的密文,使得对该密码的攻击完全不可能。另外,该加密方法的时间不随密钥长度变化而变化,具有比同等强度加密方法高很多的速度。该方法适用于各种平台,在因特网及手提电话等通信领域有着广泛的应用前景。
Description
技术领域
本发明通常涉及计算机领域和数据通讯领域的加密装置及其加密方法,特别涉及对私有的和非公开的数据在传输之前进行加密处理以及接收之后进行解密处理的数据加密装置及其加密方法。
背景技术
随着因特网的飞速发展,计算机和网络技术已成为人类生活必不可少的一部分。然而,人们在享受计算机和网络带来的方便的同时,个人的隐私也不断的遭到侵害。因此,近年来,计算机和网络安全也越来越成为信息技术的焦点问题之一。计算机和网络的防火墙等网络安全技术应运而生。然而,这些被动防御方案,只能在计算机和局域网内部起作用,而对于因特网上的传输的数据就无能为力了。只有采取主动防御,即对传输数据进行加密,即使信息在传输过程中被截获也无法解读,这样才能真正达到保密的目的。
现代密码学是在最近的几十年才发展起来的。按密钥的特点,加密方法分为对称密码体制和非对称密码体制。所谓对称密码体制,又称私钥密码体制,其加密密钥和解密密钥相同或彼此相互容易确定;所谓非对称密码体制,又称公钥密码体制,其加密密钥和解密密钥不同,很难从其中一个推出另外一个。按加密方式来分,对称密码方法分为流密码和分组密码。通常,速度较快的私钥密码安全性较差;反之,安全性很好的公钥密码速度却很慢。
实际应用中,公钥密码不仅具有很高的安全性,而且密钥的管理方面也有其方便之处。但是,由于它需要对相当长的密钥进行极其复杂的数学计算,速度非常缓慢,因此无法应用于很多对速度要求很高的系统中,如网络传输、多媒体数据交换等。故这些领域只能使用流密码。
因此,提高流密码的安全性就变得十分重要了。然而当前的流密码的要害问题在于其密钥流生成器未能突破有限循环。由于一字一密的方法被认为是安全的加密方法,因此问题就归结于如何找到一个方法上实现无限循环的密钥流生成器。
这样,本技术领域需要一种方法上实现密钥的无限循环的高速的流密码方法。
近年来迅速发展起来的混沌学理论的研究为实现无限循环的密钥流提供了有力的理论基础。该方法满足了该领域在上述应用中对加密方法的安全性和效率的需求。该密码方法巧妙的运用了混沌原理,并结合随机数搅拌及散列函数对数据进行高速又安全的加密/解密。此外,在加密/解密过程中得到的认证值可以对加密的数据作进一步认证。
在该密码方法中,对明文中任意一个字节的加密/解密过程具体过程如下。加密过程中,首先选取某个混沌函数f(),以密钥k为根,计算x0=fN(k),其中fn+1(k)=f(fn(k))(这样做的原因是,混沌函数必须在N轮迭代后才能产生混沌效果),然后再以x0为基础,利用混沌函数f()和明文m,做m次迭代,得到密文c=xm=fm(x0);解密过程中,利用同样的混沌函数f(),以相同的密钥k为根,计算x0=fN(k),然后再以x0为基础,利用混沌函数f()依次计算x0,x1,x2,……,其中xn+1=f(xn),直到找到某个i,使得xi=c(c为密文值),则明文m=i。这样,利用混沌原理的特性,即对初始条件的敏感依赖性、不可预测性及不可逆性,使得在不知道密钥的情况下,破译者无法直接通过密文值解得明文值。
然而,部分混沌函数在某些特殊的条件下,可能会出现不同的明文对应相同的密文的情况。即有可能存在m<n使得f(xm)=f(xn)。这样一来,在解密的过程中可能会出错。例如,将n加密后得到c=f(xn)(=f(xm)),解密时,当计算到m时,发现c=f(xm),此时就会认为明文为m,造成出错。
在该方法中,一次加密计算只与一个明文值、一个密钥值相关,即对于同一个密钥k和同一个明文m,一定会得出唯一的密文c。这样的作法与简单的古典密码系统非常相近。这样的密码系统很容易通过统计的方法破解出密钥值,仍然存在不安全隐患。
发明内容
本发明的目的在于提出一种基于混钝原理计算机加密装置和加密方法,实现密钥的无限循环的高速的流密码的加密装置和加密方法。
本发明的计算机加密装置及其加密方法的再一个目的在于利用散列函数的方法,将f改进成一一对应的函数,保证了不同的明文一定对应不同的密文值。
本发明的计算机加密装置及其加密方法的再一个目的在于还加入了独特的随机数生成器,每次加密前生成不同的随机序列,通过本发明中独特的随机数搅拌方法,在明文前加上该随机序列,和明文一起加密。
本发明的计算机加密装置及其加密方法的再一个目的在于还引进独特的密钥更新器,在加密/解密过程中不断更新密钥流,从而实现了无限循环的密钥流。
本发明的计算机加密装置及其加密方法的再一个目的在于还建立了本身的认证方法,利用每一步加密/解密过程中产生的中间值,逐步得到认证值,通过该值可以达到辨别加密数据的合法性的目的。
根据本发明的第一方面,本发明的计算机加密装置是由基于混钝原理的计算机动态加密器和解密器组成,用于对原数据进行加密和将密码文进行解密,所述的加密器包括:
一加密预处理装置,生成密文头信息;
一初始密钥转化装置,将原始密钥转化成密钥流;
一随机序列生成器,生成一串随机序列;
一随机序列搅拌器,利用密钥流对随机序列加密,同时更新密钥流;
一明文的加密器,利用密钥流对明文加密,同时不断更新密钥流;
一产生认证值的装置,将最终的密钥流转化成认证值;所述的解密器包括:
一解密预处理装置,取得密文头信息;
一初始密钥转化装置,将原始密钥转化成密钥流;
一随机序列提纯器,利用密钥流对密文随机部解密,同时更新密钥流;
一密文解密装置,利用密钥流对密文解密,同时更新密钥流;和
一校验认证值的装置,将最终的密钥流转化成认证值,并与密文的认证值比较。
根据本发明的第二方面,本发明的计算机加密装置的加密器的所述的加密预处理装置,由确定加密器版本信息的装置,取得密文头信息的装置和加密密文头信息的装置组成,该器版本信息包括版本号,该密文头信息包括密文随机部的长度和报尾认证值的长度;
所述的加密器的初始密钥转化装置,由取得对密钥的各项值作算术运算的转换用的种子的装置和包括混沌函数的加密器的初始密钥流的生成器组成;
所述的加密器的随机序列生成器;由从系统获得随机序列生成器的种子的装置,从系统获取系统随机序列的装置,混沌随机数生成器和种子的更新器组成;
所述的加密器的随机序列搅拌器,包括对随机序列进行Chaos加密生成Chaos值的装置;
所述的加密器的明文的加密器,由对明文进行Chaos加密生成Chaos值的装置,将Chaos值转换为密文值的密文转换器,利用Chaos值对密钥流进行更新的密钥流更新器和利用Chaos值对认证值进行更新的认证值更新器组成;
所述的加密器的产生认证值的装置,包括利用Chaos值更新作为密文报尾的认证部的认证值的装置;
所述的解密器的解密预处理装置,由从密文报头取得加密方法版本信息的装置,解密密文头信息的装置和取得该密文头信息的装置组成,该版本信息包括密文报头的密文头信息,该密文头信息包括密文随机部的长度和报尾认证值的长度;
所述的解密器的初始密钥转化装置,由取得转换对密钥的各项值作算术运算的种子的装置和初始密钥流的生成器组成;
所述的解密器的随机序列提纯器,由对密文随机部进行Chaos解密生成Chaos值的装置,该装置包括使用散列函数的调整方法的混沌函数的解密器,利用Chaos值对密钥流进行更新的密钥流更新器和利用Chaos值对认证值进行更新的认证值更新器组成;
所述的解密器的密文解密装置,由对密文进行Chaos解密生成Chaos值和明文的装置,利用Chaos值对密钥流进行更新的密钥流更新器和利用Chaos值对认证值进行更新的认证值更新器组成;
所述的解密器的校验认证值的装置,由从密文报文中取得认证值的装置,利用Chaos值更新认证值的装置和通过认证值验证数据合法性的装置组成,其中认证值的为密文报尾的认证部。
根据本发明的第三方面,本发明的所述加密器中:
所述的加密预处理装置中的加密密文头信息的装置包括混沌函数的加密器和散列函数的调整装置;
所述的随机序列生成器包括操作系统固有的随机序列生成器,所述的混沌随机数生成器包括混沌函数的加密器和散列函数调整装置,所述的种子的更新器包括对数据的取逆装置;
所述的随机序列搅拌器的Chaos加密器装置包括混沌函数的加密器和散列函数的调整装置,所述的密文转换器包括对各个字节的异或计算装置,所述的密钥流更新器包括字节反序计算装置和异或计算装置所述的认证值更新器包括混沌函数装置和加法计算装置;
所述的明文的加密器的Chaos加密器装置包括混沌函数的加密器和散列函数的调整装置,所述的密文转换器包括对各个字节的异或计算装置,所述的密钥流更新器包括字节反序计算装置和异或计算装置,所述的认证值更新器包括混沌函数装置和加法计算装置;
所述的产生认证值的装置的所述的更新认证值的装置包括混沌函数装置和加法计算装置。
计算机加密装置的所述的加密预处理装置中的加密密文头信息的装置包括混沌函数的加密器和散列函数的调整装置;
根据本发明的第四方面,本发明的计算机加密装置的所述解密器中,所述的解密预处理装置的解密密文头信息的装置包括混沌函数的加密器和散列函数的调整装置;
所述的初始密钥转化装置的初始密钥流的生成器包括混沌函数的加密器;
所述的随机序列提纯器的密钥流更新器包括字节反序计算装置和异或计算装置,所述的认证值更新器包括混沌函数装置和加法计算装置。
所述的密文解密装置的Chaos解密器包括混沌函数的解密器和散列函数的调整装置;所述的密钥流更新器包括字节反序计算装置和异或计算装置;所述的认证值更新器包括混沌函数装置和加法计算装置;
所述的校验认证值的装置的更新认证值的装置包括混沌函数装置和加法计算装置;所述的验证数据合法性的装置为逐位比较装置。根据本发明的第五方面,本发明的一种计算机加密方法,是基于混钝原理的对原数据进行加密和将密码文进行解密的计算机加密、解密方法,所述的加密方法包括步骤:
加密预处理,生成密文头信息;
初始密钥转化,将原始密钥转化成密钥流;
随机序列生成,生成一串随机序列;
随机序列搅拌,利用密钥流对随机序列加密,同时更新密钥流;
加密明文,利用密钥流对明文加密,同时不断更新密钥流;和
产生认证值,将最终的密钥流转化成认证值;所述的解密方法包括步骤:
解密预处理,取得密文头信息;
初始密钥转化,将原始密钥转化成密钥流;
随机序列提纯,利用密钥流对密文随机部解密,同时更新密钥流;
解密密文,利用密钥流对密文解密,同时更新密钥流;和
校验认证值,将最终的密钥流转化成认证值,并与密文的认证值比较。
根据本发明的第六方面,在本发明的计算机加密方法是基于混钝原理的对原数据进行加密和将密码文进行解密的计算机加密、解密方法,所述的加密方法中,所述的加密预处理包括确定加密方法版本信息的方法,取得密文头信息的方法和加密密文头信息的方法,该版本信息包括版本号,该密文头信息包括密文随机部的长度和报尾认证值的长度;
所述的初始密钥转化包括转换用的种子的取得方法和初始密钥流的方法,其中种子为对密钥的各项值作的算术运算;
所述的随机序列生成包括从系统获得随机序列生成器的种子的方法,从系统获取系统随机序列的方法,混沌随机数生成方法和种子的更新方法,其中种子包括微秒级的系统时间和当前的进程号而随机序列包括操作系统固有的随机序列生成器生成的随机序列;
所述的随机序列搅拌包括对随机序列进行Chaos加密生成Chaos值的方法,将Chaos值转换为密文值的密文转换方法,利用Chaos值对密钥流进行更新的密钥流更新方法和利用Chaos值对认证值进行更新的认证值更新方法;
所述的加密明文方法包括对明文进行Chaos加密生成Chaos值的方法,将Chaos值转换为密文值的密文转换方法,利用Chaos值对密钥流进行更新的密钥流更新方法和利用Chaos值对认证值进行更新的认证值更新方法;
所述的产生认证值的方法包括利用Chaos值更新认证值的方法和认证值与密文值合并的方法,其中认证值的为密文报尾的认证部;所述的解密方法中:
所述的解密预处理方法包括从密文报头取得加密方法的包括密文报头的密文头信息的版本信息的方法,解密包括密文随机部的长度和报尾认证值的长度的密文头信息的方法和取得该密文头信息的方法;
所述的初始密钥转化方法包括转换种子的取得方法和初始密钥流的方法;
所述的随机序列提纯方法包括对密文随机部进行Chaos解密生成Chaos值的方法,利用Chaos值对密钥流进行更新的密钥流更新方法和利用Chaos值对认证值进行更新的认证值更新方法;
所述的解密密文方法包括对密文进行Chaos解密生成Chaos值和明文的方法,利用Chaos值对密钥流进行更新的密钥流更新方法和利用Chaos值对认证值进行更新的认证值更新方法;和
所述的校验认证值方法包括从密文报文中取得认证值的方法,利用Chaos值更新认证值的方法和通过认证值验证数据合法性的方法,其中认证值的为密文报尾的认证部。
计算机加密方法是基于混钝原理的对原数据进行加密和将密码文进行解密的计算机加密、解密方法。
根据本发明的第七方面,本发明的加密方法的加密预处理方法中,加密密文头信息的方法包括混沌函数的加密方法和散列函数的调整方法。
根据本发明的第八方面,本发明的的加密方法的初始密钥转化方法中,初始密钥流的方法包括混沌函数的加密方法。
根据本发明的第九方面,本发明的加密方法的随机序列生成方法中,混沌随机数生成方法包括混沌函数的加密方法和散列函数调整方法,种子的更新方法包括对数据的取逆方法。
根据本发明的第十方面,本发明的计算机加密方法所述的加密方法的加密随机序列方法中,Chaos加密方法包括混沌函数的加密方法和散列函数的调整方法,密文转换方法包括对各个字节的异或方法,密钥流更新方法包括字节反序方法和异或方法,认证值更新方法包括混沌函数和加法运算。
根据本发明的第十一方面,本发明的计算机加密方法的所述的加密方法的加密明文方法中,Chaos加密方法包括混沌函数的加密方法和散列函数的调整方法,密文转换方法包括对各个字节的异或方法,密钥流更新方法包括字节反序方法和异或方法,认证值更新方法包括混沌函数和加法运算。
根据本发明的第十二方面,本发明的计算机加密方法所述的加密方法的产生认证值的方法中,更新认证值的方法包括混沌函数和加法运算。
根据本发明的第十三方面,本发明的计算机加密方法的所述的解密方法的解密预处理方法中,解密密文头信息的方法包括混沌函数的加密方法和散列函数的调整方法。
根据本发明的第十四方面,本发明的计算机加密方法的所述的解密方法的初始密钥转化方法中,种子为对密钥的各项值作的算术运算,初始密钥流的方法包括混沌函数的加密方法。
根据本发明的第十五方面,本发明的计算机加密方法的所述的解密方法的解密随机序列(随机序列提纯)方法中,Chaos解密方法包括混沌函数的解密方法和散列函数的调整方法,密钥流更新方法包括字节反序方法和异或方法,认证值更新方法包括混沌函数和加法运算。
根据本发明的第十六方面,本发明的计算机加密方法的所述的解密方法的解密密文方法中,Chaos解密方法包括混沌函数的解密方法和散列函数的调整方法,密钥流更新方法包括字节反序方法和异或方法,认证值更新方法包括混沌函数和加法运算。
根据本发明的第十七方面,本发明的计算机加密方法的所述的解密方法的校验认证值的方法中,更新认证值的方法包括混沌函数和加法运算,验证数据合法性的方法为逐位比较。
根据本发明的第十八方面,本发明的计算机加密方法采用的密文储格式包括密文报头部,密文报文部和密文报尾部。
根据本发明的第十九方面,本发明的计算机加密方法的所述的密文报头部包括版本信息和密文头信息,所述的密文报文部包括密文随机部和密文部,所述的密文报尾部包括认证值。
本发明的基于混沌理论高速加密装置和加密方法是一种安全度较高的同时速度很快的加密装置和加密方法,它适合于应用在因特网上安全要求很高同时数据量很大的数据传输过程中,可以应用在Internet上通讯的数据保护。另外,还可以应用在数据保护加密领域中,对重要数据、文件的加密保存。
附图说明
图1是提供了实现本发明中加密方法的一般性的运行框架的方框图;
图2是提供了实现本发明中解密方法的一般性的运行框架的方框图;
图3是本发明用于数据加密过程所使用的各模块的组成的功能方块图;
图4是本发明用于数据解密过程所使用的各模块的组成的功能方块图;
图5-1是加密过程中的加密预处理的逻辑流程图;
图5-2是解密过程中的解密预处理的逻辑流程图;
图6是加密/解密过程中对用户输入的密钥文进行的初始密钥转换器的逻辑流程图;
图7是加密过程中的混沌随机序列生成器的结构图;
图7A是加密过程中的混沌随机数生成器的逻辑流程图;
图8是加密过程中随机序列加密器的结构图;
图8A是加密过程中随机序列加密器对随机序列进行加密的逻辑流程图;
图9是加密过程中明文加密器的结构图;
图9A是加密过程中明文加密器对明文进行加密的逻辑流程图;
图10是解密过程中随机序列解密器的结构图;
图10A是解密过程中随机序列解密器对随机部进行解密的逻辑流程图;
图11是解密过程中密文解密器的结构图;
图11A是解密过程中密文解密器对密文进行解密的逻辑流程图;
图12是本加密方法的密文的格式的结构图。
具体实施方式
下面结合附图,对本发明的计算机数据加密的系统及其方法做详细说明。为便于说明,对本说明书中涉及的符号和名次规定如下:
明文为M={M1,M2,…,M1m},0≤Mi<256,其长度为lm;密文为C={C1,C2,…,Clc},0≤Ci<256,其长度为lc;
用户定义的密钥文为Key={Key1,Key2,…,Keylk},0≤Keyi<256,其长度为lk;变换后的密钥为k={k1,k2,…,klk},0≤ki<2564,即ki为4字节整数,其长度也为lk;
若f()为混沌函数,则fn+1(x)=f(fn(x))(n>0),f1(x)=f(x)。其中0≤x<2564,0≤f(x)<2564。
为达到混沌效果,在进行加密之前需对初始值预先迭代若干(即为N)次,通常取N=50可以满足条件。
另外,本加密/解密方法中,共有5步使用到了混沌函数:加密报头(fh)、随机数种子生成(fs)、随机数生成(fr)、加密/解密随机序列(fcr)、加密明文/解密密文(f),其中括号内表示函数名。它们分别代表相同或不同的混沌函数,全部具有共同的混沌特性,作为本发明的一个实施例,选取f(x)=4x(1-x)作为混沌函数。
图1说明提供了实现本发明中加密方法的一般性的运行框架。加密系统1000首先包括加密器1010,该加密器包含加密流程的各个步骤;加密系统1000还包括输入的明文1020,密钥1030,以及输出的密文1040。加密者利用私有的密钥1030,并以明文1020作为输入调用加密器,输出密文1040。
图2说明提供了实现本发明中解密方法的一般性的运行框架。解密系统2000首先包括解密器2010,该解密器包含解密流程的各个步骤;解密系统2000还包括输入的密文2020,密钥2030,以及输出的明文2040。解密者利用私有的密钥2030(必须与加密密钥相同),并以密文2020作为输入调用解密器,输出明文2040。
图3提供了本发明的加密模块1100的组成和模块图。一般,图3所示的组成和模块的目的是利用密钥1030将明文1020进行加密,从而输出密文1040。
图3所示的组成和模块对输入的明文1020进行加密。加密模块1100包括加密预处理1110,首先获得加密模块的版本号,并确定密文a100中的密文随机部a130的长度以及验证值a150的长度,并对其进行加密处理,加密后的数据储存于密文头信息a120。
加密模块1100包括初始密钥转换器1120,利用混沌公式将用户输入的密钥1030作变换,生成变换后的初始密钥流1380。
加密模块1100包括随机序列生成器1130,首先利用操作系统得到系统信息1410作为种子1420,再取得系统随机序列1430作为基础,在混沌随机数生成器1440的作用下生成随机序列1450。
加密模块1100包括随机序列加密器1140,利用初始密钥转换器1120得到的初始密钥流1380,对随机序列生成器1130生成的随机序列进行加密,生成密文随机部1670。同时,在加密过程中将密钥流1380不断更新。
加密模块1100包括明文加密器1150,利用随机序列加密器1140加密过程中更新的密钥流1380,对明文1020进行加密,生成密文a140。
加密模块1100包括计算认证值1160,在加密随机序列和明文的过程中,分别对认证值1690和认证值1790进行更新,该值即作为认证值a150。可用于对加密数据进行合法性认证。
图4提供了本发明的解密模块2100的组成和模块图。一般,图4所示的组成和模块的目的是利用密钥2030将密文2020进行解密,从而输出明文2040。
图4所示的组成和模块对输入的密文2020进行解密。解密模块2100包括解密预处理2110,首先从密文报头版本信息获得解密模块的版本号,并通过对密文头信息a120进行解密处理,确定密文a100中的密文随机部a130的长度以及认证值a150的长度。
解密模块2100包括初始密钥转换器2120,利用混沌公式将用户输入的密钥2030作变换,生成变换后的初始密钥流1380。
解密模块2100包括随机序列解密器2140,利用初始密钥转换器2120得到的初始密钥流1380,对密文随机部1670进行解密。同时,在加密过程中将密钥流1380不断更新。
解密模块2100包括密文解密器2150,利用随机序列解密器2140解密过程中更新的密钥流1380,对密文2020进行解密,生成明文。
解密模块2100包括核对认证值2160,在解密随机序列和密文的过程中,分别对认证值2690和认证值2790进行更新,该值和认证值a150作比较。可用于对加密数据进行合法性认证,不相同则不合法。
图5-1是加密过程中的加密预处理的逻辑流程图。主要包括取得加密器版本号1202和确定密文随机部长度和认证值长度1204两部分。通过这两部分处理为以下的加密处理做好准备。
步骤1220,取得该加密器的版本号,将其储存在密文报头a160的版本信息a110中,以便在解密过程中决定解密器所要采取的版本。
步骤1230,根据用户对安全度和效率的要求确定密文随机部的长度LR。
步骤1240,根据用户对安全度和效率的要求确定密文认证部的长度LT。
步骤1250,将步骤1230生成的LR和步骤1240生成的LT合成L,然后对L进行加密,得到的值CL作为密文报头的密文头信息。过程如下:
(1)初始化数组u[256],设u[i]=false,0<i<255
(2)计算
(Keyi为密钥的第i个分量),x0=fh50(w)
(3)j从0到L,反复执行以下步骤(4)至步骤(6)
(4)计算xj=fh(xj-1)(当j=0时跳过该步)
(5)依次查找u[xj(mod256)],u[xj+1(mod256)],u[xj+2(mod256)],……,直到找到某个t,使得u[xj+t(mod256)]=false
(6)令u[xj+t(mod256)]=true
(7)最终得到的xj+t(mod256)即为CL
步骤1260,将步骤2250获得的CL作为密文头信息储存于密文报头。
图5-2是解密过程中的解密预处理的逻辑流程图。主要包括从密文取得解密器版本号2202和确定密文随机部长度和认证值长度2204两部分。通过这两部分处理为以下的解密处理做好准备。
步骤2220,从密文报头的版本信息中取得版本号以选择相应的版本的解密器。
步骤2230,从密文报头的密文头信息部取得密文头信息,即为CL。
步骤2240,对步骤2230中取得的CL进行解密,得到L,过程如下:
(1)初始化数组u[256],设u[i]=false,0<i<255
(2)计算
(Keyi为密钥的第i个分量),x0=fh50(w)
(3)j从0到255,反复执行以下步骤(4)至步骤(6)
(4)计算xj=fh(xj-1)(当j=0时跳过该步)
(5)依次查找u[xj(mod256)],u[xj+1(mod256)],u[xj+2(mod256)],……,直到找到某个t,使得u[xj+t(mod256)]=false
(6)若CL=xj+t(mod256),转到(7),否则令u[xj+t(mod256)]=true
(7)此时的j即为密文头信息L
步骤2250,从L中提取出密文随机部的长度LR。
步骤2260,从L中提取出密文认证部的长度LT。
图6是加密/解密过程中对用户输入的密钥文进行的初始密钥转换器的逻辑流程图。该转换器主要实现将用户提供的密钥转换成可以被使用的初始密钥流。转换过程中去除了用户密钥中的相关信息。
步骤1320-1380实现了从用户密钥到初始密钥流的转换:
步骤1320,计算S为初始密钥的每一个字节的平方和:
步骤1330,初始化C=S,i=1。
步骤1340-1370是对密钥流的每个分量作转换处理:
步骤1340对C作变换C=
C(
C为C的按位取逆),t=Keyi。
步骤1350,计算C=fsN+t(C)。
步骤1360,Ki=C,i=i+1。
步骤1370,判断i是否超出密钥的长度。如果否,则转到步骤1340,继续处理密钥的下一个字节;如果是,则转到步骤1380。
步骤1380,将序列K作为初始密钥流输出。
图7是加密过程中的混沌随机序列生成器的结构图。它利用操作系统的一些特有的信息,通过独特的混沌随机数生成器,生成一组的独特的随机序列,从而为实现随机序列搅拌方法提供了基础。
混沌随机序列生成器1400包括系统信息1410,从操作系统获得毫秒级的时间值和当前进程的进程号。并将这两个值作为生成种子的参数传给种子1420。
混沌随机序列生成器1400包括种子1420,将系统信息1410生成的两个值分别储存为S1和S2:
S1=系统时间,S2=进程号。
混沌随机序列生成器1400包括系统随机系列1430,按照步骤1230确定的随机序列长度LR,并利用操作系统的随机序列生成器,生成一组长度为LR的随机序列R0,作为混沌随机序列生成器1440的一组参数。
混沌随机序列生成器1400包括混沌随机数生成器1440,利用种子1420和系统随机序列1430产生随机序列1450。
混沌随机序列生成器1400包括随机序列1450,为混沌随机数生成器产生的随机序列1450,用于置于明文之前加密,从而实现随机数搅拌方法。
混沌随机序列生成器1400包括种子更新器1460,在每次生成随机数之后,利用当前的随机序列对种子1420作更新处理。
图7A是加密过程中的混沌随机数生成器的逻辑流程图。图7A详述了混沌随机数生成器1440的具体处理流程。它以系统随机序列1430和种子1420为参数,生成随机序列1450,同时利用种子更新器1460更新种子1420。
步骤1520,将系统生成的时间值和进程号储存为种子S1和S2:
S1=系统时间值,S2=进程号
步骤1530,利用系统的随机数生成器生成随机序列R0,作为混沌随机数生成器的参数。
步骤1540,初始化i=0。
步骤1550-1580是生成随机序列的每个字节的处理过程。
步骤1550,以S2为参数,计算
即得到随机序列的一个分量。
步骤1560,更新S1,
步骤1570,下标i移到下一个随机数:i=i+1。
步骤1580,判断下标i是否超出随机序列的长度(LR),如果否,则转到步骤1550,继续生成下一个随机数;如果是,转到步骤1590。
步骤1590,将生成的随机序列R作为随机序列输出。该随机序列将会被置于明文之前与明文共同加密组成密文,即实现对明文的随机数搅拌方法。
图8是加密过程中随机序列加密器的结构图。对混沌随机数生成器1500生成的混沌随机序列1590进行加密,生成的密文将置于密文随机部中作为密文的一部分。在加密过程中不断更新密钥流,使得密钥流呈现非周期性。同时使得每次加密明文时使用不同的密钥流,大大增强了抗破解性。
随机序列加密器1600包括密钥流1610,作为无限循环的密钥流的载体。
随机序列加密器1600包括随机序列1620,该序列为混沌随机序列生成器1400生成的随机序列1450。该随机序列为Chaos加密器1630的输入。
随机序列加密器1600包括Chaos加密器(随机序列)1630,以密钥流1610位参数,对输入的随机序列1620进行逐位加密,生成Chaos值1640。
随机序列加密器1600包括Chaos值1640,该值为Chaos加密器1630利用混沌函数计算后得到的值,用来产生密文随机部,同时更新认证值和密钥流。
随机序列加密器1600包括密钥更新器1650,以密钥流1610和Chaos值1640参数,更新密钥流1610的值。
随机序列加密器1600包括密文转换器1660,以Chaos值为参数,生成密文随机部1670。
随机序列加密器1600包括密文随机部1670,密文转换器1660生成的结果。
随机序列加密器1600包括认证值更新器1680,以当前认证值1690和Chaos值1640为参数,更新当前认证值1690。
随机序列加密器1600包括认证值1690,用来加在密文报尾的认证值,认证数据的合法性。
图8A是加密过程中随机序列加密器对随机序列进行加密的逻辑流程图。图8A详述了Chaos加密器1630的具体处理流程。它以随机序列1450位参数,产生Chaos值1640,进而利用密文转换器1660生成密文随机部,同时利用密钥更新器1650更新密钥流1610,并利用认证值更新器1680更新认证值。
步骤1720,初始化密钥流指针p=1,认证值V=0,i=1。
步骤1730-1780是随机序列加密器对随机序列的每个字节的加密处理过程:
步骤1730,以混沌随机序列的第i个字节Ri和密钥流第p个字节Kp为参数,计算Chaos值,过程如下:
(1)初始化数组u[256]为false,
(2)计算x0=fcrN(Kp)
(3)j从1到Ri,重复执行步骤(4)步骤(6)
(4)计算xj=fcr(xj-1)
(5)计算yj=xj的各字节之异或和
(6)依次查找u[yj(mod256)],u[yj+1(mod256)],u[yj+2(mod256)],……,直到找到一个某个t,使得u[yj+t(mod256)]=false,令u[yj+t(mod256)]=true
(7)此时的xj即为Chaos值,yj+t(mod256)为密文值
步骤1740,步骤1730(7)由Chaos值生成的yj+t(mod256)即为随机数密文值:
CRi=yj+t(mod256)
步骤1750,以Chaos值为参数,利用认证值更新器1680,更新认证值V:
V=V+fcr(Chaos)其中Chaos为Chaos值
步骤1760,以Chaos值为参数,利用密钥更新器1650,更新密钥流:
Kp=r(Kp)Chaos
Kp+1=KpChaos
其中,表示异或方法;r()表示字节反序操作(abcd→dcba);Chaos表示Chaos值。
步骤1770,更新当前随机数位置i=i+1,移动密钥流当前指针:p=(p+1)mod lk,其中lk为密钥长度。
步骤1780,判断下标i是否超出随机序列的长度(LR),如果否,则转到步骤1730,继续加密下一个随机数;如果是,转到步骤1790。
步骤1790,加密过程中生成的序列CR作为密文随机部输出,同时保留密钥流的所有值及当前指针p还有当前的认证值,以备加密明文时继续使用。
图9是加密过程中明文加密器的结构图。对用户输入的明文1820进行加密,生成的密文将置于密文报文部a170的密文a140部分。在加密过程中不断更新密钥流,使得密钥流呈现非周期性。同时使得每次加密明文时使用不同的密钥流,大大增强了抗破解性。
明文加密器1800包括密钥流1810,作为无限循环的密钥流的载体。该密钥流保存了随机序列加密器1600加密过程中更新的值。
明文加密器1800包括明文1820,该序列为用户需要加密的明文。该明文为Chaos加密器1830的输入。
明文加密器1800包括Chaos加密器(明文)1830,以密钥流1810位参数,对输入的明文1820进行逐位加密,生成Chaos值1840。
明文加密器1800包括Chaos值1840,该值为Chaos加密器1830利用混沌函数计算后得到的值,用来产生密文,同时更新认证值和密钥流。
明文加密器1800包括密钥更新器1850,以密钥流1810和Chaos值1840参数,更新密钥流1810的值。
明文加密器1800包括密文转换器1860,以Chaos值为参数,生成密文1870。
明文加密器1800包括密文1870,密文转换器1860生成的结果。
明文加密器1800包括认证值更新器1880,以当前认证值1890和Chaos值1840为参数,更新当前认证值1890。
明文加密器1800包括认证值1890,用来加在密文报尾的认证值,认证数据的合法性。
图9A是加密过程中明文加密器对明文进行加密的逻辑流程图。图9A详述了Chaos加密器1830的具体处理流程。它以明文1820和密钥流1810为参数,产生Chaos值1840,进而利用密文转换器1860生成密文a140,同时利用密钥更新器1850更新密钥流1810,并利用认证值更新器1880更新认证值。
步骤1920,保留随机序列加密过程中的密钥流指针p和认证值V,令i=1。
步骤1930-1980是明文加密器对明文的每个字节的加密处理过程:
步骤1930,以明文的第i个字节Mi和密钥流的第p个字节Kp为参数,计算Chaos值,过程如下:
(1)初始化数组u[256]为false,
(2)计算x0=fcrN(Kp)
(3)j从1到Mi,重复执行步骤(4)步骤(6)
(4)计算xj=f(xj-1)
(5)计算yj=xj的各字节之异或和
(6)依次查找u[yj(mod256)],u[yj+1(mod256)],u[yj+2(mod256)],……,直到找到一个某个t,使得u[yj+t(mod256)]=false,令u[yj+t(mod256)]=true
(7)此时的xj即为Chaos值,yj+t(mod256)为密文值
步骤1940,步骤1930(7)由Chaos值生成的yj+t(mod256)即为密文值:
Ci=yj+t(mod256)
步骤1950,以Chaos值为参数,利用认证值更新器1880,更新认证值V:
V=V+f(Chaos)其中Chaos为Chaos值
步骤1960,以Chaos值为参数,利用密钥更新器1850,更新密钥流:
Kp=r(Kp)Chaos
Kp+1=KpChaos
其中,表示异或方法;r()表示字节反序操作(abcd→dcba);Chaos表示Chaos值。
步骤1970,更新当前明文位置i=i+1,移动密钥流当前指针:p=(p+1)mod lk,其中lk为密钥长度。
步骤1980,判断下标i是否超出明文的长度(lm),如果否,则转到步骤1930,继续加密下一个明文;如果是,转到步骤1990。
步骤1990,加密过程中生成的序列C作为密文输出,同时将当前的认证值储存于密文的报尾,作为密文的认证部。
图10是解密过程中随机序列解密器的结构图。对密文随机部a130进行解密。在解密过程中不断更新密钥流,使得密钥流呈现非周期性。同时将密钥流的值恢复到和加密明文之前的密钥流相同的状态,以便正确的解密。
随机序列解密器2600包括密钥流2610,作为无限循环的密钥流的载体。
随机序列解密器2600包括密文随机部2620,该序列为密文的密文随机部a140。该密文随机部为Chaos解密器2630的输入。
随机序列解密器2600包括Chaos解密器(随机序列)2630,以密钥流2610位参数,对输入的密文随机部2620进行逐位解密,生成Chaos值2640。
随机序列解密器2600包括Chaos值2640,该值为Chaos解密器2630利用混沌函数计算后得到的值,用来更新认证值和密钥流。
随机序列解密器2600包括密钥更新器2650,以密钥流2610和Chaos值2640参数,更新密钥流2610的值。
随机序列解密器2600包括认证值更新器2680,以当前认证值2690和Chaos值2640为参数,更新当前认证值2690。
随机序列解密器2600包括认证值2690,用来与密文报尾的认证值比较,认证数据的合法性。
图10A是解密过程中随机序列解密器对随机部进行解密的逻辑流程图。图10A详述了Chaos解密器2630的具体处理流程。它以密文随机部2620位参数,产生Chaos值2640,进而利用密钥更新器2650更新密钥流2610,同时利用认证值更新器2680更新认证值。
步骤2720,初始化密钥流指针p=1,认证值V=0,i=1。
步骤2730-2780是随机序列解密器对随机序列的每个字节的解密处理过程:
步骤2730,以密文随机部的的i个字节CRi和密钥流的第p个字节Kp为参数,计算Chaos值,过程如下:
(1)初始化数组u[256]为false,
(2)计算x0=fcrN(Kp)
(3)j从1到256,重复执行步骤(4)步骤(6)
(4)计算xj=fcr(xj-1)
(5)计算yj=xj的各字节之异或和
(6)依次查找u[yj(mod256)],u[yj+1(mod256)],u[yj+2(mod256)],……,直到找到一个某个t,使得u[yj+t(mod256)]=false,如果yj+t(mod256)=CRi,则转到(7),否则令u[yj+t(mod256)]=true
(7)此时的xj即为Chaos值
步骤2750,以Chaos值为参数,利用认证值更新器2680,更新认证值V:
V=V+fcr(Chaos)其中Chaos为Chaos值
步骤2760,以Chaos值为参数,利用密钥更新器2650,更新密钥流:
Kp=r(Kp)Chaos
Kp+1=KpChaos
其中,表示异或方法;r()表示字节反序操作(abcd→dcba);Chaos表示Chaos值。
步骤2770,更新当前密文随机头位置i=i+1,移动密钥流当前指针:p=(p+1)mod lk,其中lk为密钥长度。
步骤2780,判断下标i是否超出密文随机头的长度(LR),如果否,则转到步骤2730,继续解密下一个随机数;如果是,转到步骤2790。
步骤2790,保留密钥流的所有值及当前指针p还有当前的认证值,以备解密密文时继续使用。
图11是解密过程中密文解密器的结构图。对密文2820进行解密,生成的复原的明文。在解密过程中不断更新密钥流,使得密钥流呈现非周期性。
密文解密器2800包括密钥流2810,作为无限循环的密钥流的载体。
密文解密器2800包括密文2820,该序列为密文报文的密文部分a140。该密文为Chaos解密器2830的输入。
密文解密器2800包括Chaos解密器(密文)2830,以密钥流2810位参数,对输入的密文2820进行逐位解密,生成Chaos值2840和明文2870。
密文解密器2800包括Chaos值2840,该值为Chaos解密器2830利用混沌函数计算后得到的值,用来更新认证值和密钥流。
密文解密器2800包括密钥更新器2850,以密钥流2810和Chaos值2840参数,更新密钥流2810的值。
密文解密器2800包括明文2870,Chaos解密器(密文)2830生成的结果。
密文解密器2800包括认证值更新器2880,以当前认证值2890和Chaos值2840为参数,更新当前认证值2890。
密文解密器2800包括认证值2890,用来与密文报尾的认证值比较,认证数据的合法性。
图11A是解密过程中密文解密器对密文进行解密的逻辑流程图。图11A详述了Chaos解密器2830的具体处理流程。它以密文2820和密钥流2810为输入生成明文2870,并产生Chaos值2840,同时利用密钥更新器2850更新密钥流2810,并利用认证值更新器2880更新认证值。
步骤2920,保留密文随机部解密过程中的密钥流指针p和认证值V,令i=1。
步骤2930-2980是密文解密器对密文的每个字节的解密处理过程:
步骤2930,以密文的第i个字节Ci和密钥流的第p个字节Kp为参数,计算Chaos值,过程如下:
(1)初始化数组u[256]为false,
(2)计算x0=fcrN(Kp)
(3)j从1到256,重复执行步骤(4)步骤(6)
(4)计算xj=f(xj-1)
(5)计算yj=xj的各字节之异或和
(6)依次查找u[yj(mod256)],u[yj+1(mod256)],u[yj+2(mod256)],……,直到找到一个某个t,使得u[yj+t(mod256)]=false,如果yj+t(mod256)=Ci,则转到(7),否则令u[yj+t(mod256)]=true
(7)此时的xj即为Chaos值,j即为明文值
步骤2940,步骤2930(7)中得到的j即为名文值:
Mi=j
步骤2950,以Chaos值为参数,利用认证值更新器2880,更新认证值V:
V=V+f(Chaos)其中Chaos为Chaos值
步骤2960,以Chaos值为参数,利用密钥更新器2850,更新密钥流:
Kp=r(Kp)Chaos
Kp+1=KpChaos
其中,表示异或方法;r()表示字节反序操作(abcd→dcba);Chaos表示Chaos值。
步骤2970,更新当前密文位置i=i+1,移动密钥流当前指针:p=(p+1)mod lk,其中lk为密钥长度。
步骤2980,判断下标i是否超出明文的长度(lm),如果否,则转到步骤2930,继续解密下一个密文;如果是,转到步骤2990。
步骤2990,解密过程中生成的序列M作为明文输出,同时将当前的认证值与密文的报尾的认证值作比较,相同则认证合法,否则不合法。
图12是本加密方法独特的密文格式的构成图。表示了加密明文所得到的密文值的存储格式。
密文格式a100包含报头部分a160。其中包括加密器/解密器的版本信息a110和密文头信息a120。
密文格式a100包含报文部分a170。其中包括密文随机部a130和密文部a140。
密文格式a100包含报为部分a180。其中包括认证值a150。
本发明的一种基于混沌理论高速加密装置和加密方法是一种安全度较高的同时速度很快的加密装置和加密方法,它适合于应用在因特网上安全要求很高同时数据量很大的数据传输过程中,可以应用在Internet上通讯的数据保护例如HTTP协议下的数据通信,IPSec协议的虚拟个人专用网(VPN)等各种网络协议上的数据加密。另外,还可以应用在数据保护加密领域中,对重要数据、文件的加密保存。例如,应用在口令加密、文件的加密、数据库的加密保存领域。可以在传输数据或保存数据之前,利用私有的密钥,通过调用加密处理模块对数据进行加密;在接收数据或读取数取之前,利用相同的密钥,调用解密处理模块对数据进行解密。
综上所述,会理解本发明提供的一种基于混沌理论高速加密装置和加密方法,其可以对数据进行快速有效的保护。应该明白上述内容只涉及本发明的举例性实施例,可以对其做出各种改变,而不会背离由下述权利要求所限定的本发明的精神和范围。
Claims (19)
1、一种计算机加密装置,是由基于混钝原理的计算机动态加密器和解密器组成,用于对原数据进行加密和将密码文进行解密,其特征在于所述的加密器包括:
一加密预处理装置,生成密文头信息;
一初始密钥转化装置,将原始密钥转化成密钥流;
一随机序列生成器,生成一串随机序列;
一随机序列搅拌器,利用密钥流对随机序列加密,同时更新密钥流;
一明文的加密器,利用密钥流对明文加密,同时不断更新密钥流;
一产生认证值的装置,将最终的密钥流转化成认证值;所述的解密器包括:
一解密预处理装置,取得密文头信息;
一初始密钥转化装置,将原始密钥转化成密钥流;
一随机序列提纯器,利用密钥流对密文随机部解密,同时更新密钥流;
一密文解密装置,利用密钥流对密文解密,同时更新密钥流;和
一校验认证值的装置,将最终的密钥流转化成认证值,并与密文的认证值比较。
2.根据权利要求1的计算机加密装置,其特征在于:
所述的加密器的加密预处理装置,由确定加密器版本信息的装置,取得密文头信息的装置和加密密文头信息的装置组成,该器版本信息包括版本号,该密文头信息包括密文随机部的长度和报尾认证值的长度;
所述的加密器的初始密钥转化装置,由取得对密钥的各项值作算术运算的转换用的种子的装置和包括混沌函数的加密器的初始密钥流的生成器组成;
所述的加密器的随机序列生成器;由从系统获得随机序列生成器的种子的装置,从系统获取系统随机序列的装置,混沌随机数生成器和种子的更新器组成;
所述的加密器的随机序列搅拌器,包括对随机序列进行Chaos加密生成Chaos值的装置;
所述的加密器的明文的加密器,由对明文进行Chaos加密生成Chaos值的装置,将Chaos值转换为密文值的密文转换器,利用Chaos值对密钥流进行更新的密钥流更新器和利用Chaos值对认证值进行更新的认证值更新器组成;
所述的加密器的产生认证值的装置,包括利用Chaos值更新作为密文报尾的认证部的认证值的装置;
所述的解密器的解密预处理装置,由从密文报头取得加密方法版本信息的装置,解密密文头信息的装置和取得该密文头信息的装置组成,该版本信息包括密文报头的密文头信息,该密文头信息包括密文随机部的长度和报尾认证值的长度;
所述的解密器的初始密钥转化装置,由取得转换对密钥的各项值作算术运算的种子的装置和初始密钥流的生成器组成;
所述的解密器的随机序列提纯器,由对密文随机部进行Chaos解密生成Chaos值的装置,该装置包括使用散列函数的调整方法的混沌函数的解密器,利用Chaos值对密钥流进行更新的密钥流更新器和利用Chaos值对认证值进行更新的认证值更新器组成;
所述的解密器的密文解密装置,由对密文进行Chaos解密生成Chaos值和明文的装置,利用Chaos值对密钥流进行更新的密钥流更新器和利用Chaos值对认证值进行更新的认证值更新器组成;
所述的解密器的校验认证值的装置,由从密文报文中取得认证值的装置,利用Chaos值更新认证值的装置和通过认证值验证数据合法性的装置组成,其中认证值的为密文报尾的认证部。
3.根据权利要求1或2的计算机加密装置,其特征在于所述加密器中:
所述的加密预处理装置中的加密密文头信息的装置包括混沌函数的加密器和散列函数的调整装置;
所述的随机序列生成器包括操作系统固有的随机序列生成器,所述的混沌随机数生成器包括混沌函数的加密器和散列函数调整装置,所述的种子的更新器包括对数据的取逆装置;
所述的随机序列搅拌器的Chaos加密器装置包括混沌函数的加密器和散列函数的调整装置,所述的密文转换器包括对各个字节的异或计算装置,所述的密钥流更新器包括字节反序计算装置和异或计算装置所述的认证值更新器包括混沌函数装置和加法计算装置;
所述的明文的加密器的Chaos加密器装置包括混沌函数的加密器和散列函数的调整装置,所述的密文转换器包括对各个字节的异或计算装置,所述的密钥流更新器包括字节反序计算装置和异或计算装置,所述的认证值更新器包括混沌函数装置和加法计算装置;
所述的产生认证值的装置的所述的更新认证值的装置包括混沌函数装置和加法计算装置。
4.根据权利要求1或2的计算机加密装置,其特征在于所述解密器中:
所述的解密预处理装置的解密密文头信息的装置包括混沌函数的加密器和散列函数的调整装置;
所述的初始密钥转化装置的初始密钥流的生成器包括混沌函数的加密器;
所述的随机序列提纯器的密钥流更新器包括字节反序计算装置和异或计算装置,所述的认证值更新器包括混沌函数装置和加法计算装置。
所述的密文解密装置的Chaos解密器包括混沌函数的解密器和散列函数的调整装置;所述的密钥流更新器包括字节反序计算装置和异或计算装置;所述的认证值更新器包括混沌函数装置和加法计算装置;
所述的校验认证值的装置的更新认证值的装置包括混沌函数装置和加法计算装置;所述的验证数据合法性的装置为逐位比较装置。
5.一种计算机加密方法,是基于混钝原理的对原数据进行加密和将密码文进行解密的计算机加密、解密方法,其特征在于所述的加密方法包括步骤:
加密预处理,生成密文头信息;
初始密钥转化,将原始密钥转化成密钥流;
随机序列生成,生成一串随机序列;
随机序列搅拌,利用密钥流对随机序列加密,同时更新密钥流;
加密明文,利用密钥流对明文加密,同时不断更新密钥流;和
产生认证值,将最终的密钥流转化成认证值;所述的解密方法包括步骤:
解密预处理,取得密文头信息;
初始密钥转化,将原始密钥转化成密钥流;
随机序列提纯,利用密钥流对密文随机部解密,同时更新密钥流;
解密密文,利用密钥流对密文解密,同时更新密钥流;和
校验认证值,将最终的密钥流转化成认证值,并与密文的认证值比较。
6.根据权利要求5的计算机加密方法,其特征在于所述的加密方法中:
所述的加密预处理包括确定加密方法版本信息的方法,取得密文头信息的方法和加密密文头信息的方法,该版本信息包括版本号,该密文头信息包括密文随机部的长度和报尾认证值的长度;
所述的初始密钥转化包括转换用的种子的取得方法和初始密钥流的方法,其中种子为对密钥的各项值作的算术运算;
所述的随机序列生成包括从系统获得随机序列生成器的种子的方法,从系统获取系统随机序列的方法,混沌随机数生成方法和种子的更新方法,其中种子包括微秒级的系统时间和当前的进程号而随机序列包括操作系统固有的随机序列生成器生成的随机序列;
所述的随机序列搅拌包括对随机序列进行Chaos加密生成Chaos值的方法,将Chaos值转换为密文值的密文转换方法,利用Chaos值对密钥流进行更新的密钥流更新方法和利用Chaos值对认证值进行更新的认证值更新方法;
所述的加密明文方法包括对明文进行Chaos加密生成Chaos值的方法,将Chaos值转换为密文值的密文转换方法,利用Chaos值对密钥流进行更新的密钥流更新方法和利用Chaos值对认证值进行更新的认证值更新方法;
所述的产生认证值的方法包括利用Chaos值更新认证值的方法和认证值与密文值合并的方法,其中认证值的为密文报尾的认证部;所述的解密方法中:
所述的解密预处理方法包括从密文报头取得加密方法的包括密文报头的密文头信息的版本信息的方法,解密包括密文随机部的长度和报尾认证值的长度的密文头信息的方法和取得该密文头信息的方法;
所述的初始密钥转化方法包括转换种子的取得方法和初始密钥流的方法;
所述的随机序列提纯方法包括对密文随机部进行Chaos解密生成Chaos值的方法,利用Chaos值对密钥流进行更新的密钥流更新方法和利用Chaos值对认证值进行更新的认证值更新方法;
所述的解密密文方法包括对密文进行Chaos解密生成Chaos值和明文的方法,利用Chaos值对密钥流进行更新的密钥流更新方法和利用Chaos值对认证值进行更新的认证值更新方法;和
所述的校验认证值方法包括从密文报文中取得认证值的方法,利用Chaos值更新认证值的方法和通过认证值验证数据合法性的方法,其中认证值的为密文报尾的认证部。
7.根据权利要求5或6的计算机加密方法,其特征在于所述的加密方法的加密预处理方法中,加密密文头信息的方法包括混沌函数的加密方法和散列函数的调整方法。
8.根据权利要求5或6的计算机加密方法,其特征在于所述的加密方法的初始密钥转化方法中,初始密钥流的方法包括混沌函数的加密方法。
9.根据权利要求5或6的计算机加密方法,其特征在于所述的加密方法的随机序列生成方法中,混沌随机数生成方法包括混沌函数的加密方法和散列函数调整方法,种子的更新方法包括对数据的取逆方法。
10.根据权利要求5或6的计算机加密方法,其特征在于所述的加密方法的随机序列搅拌方法中,Chaos加密方法包括混沌函数的加密方法和散列函数的调整方法,密文转换方法包括对各个字节的异或方法,密钥流更新方法包括字节反序方法和异或方法,认证值更新方法包括混沌函数和加法运算。
11.根据权利要求5或6的计算机加密方法,其特征在于所述的加密方法的加密明文方法中,Chaos加密方法包括混沌函数的加密方法和散列函数的调整方法,密文转换方法包括对各个字节的异或方法,密钥流更新方法包括字节反序方法和异或方法,认证值更新方法包括混沌函数和加法运算。
12.根据权利要求5或6的计算机加密方法,其特征在于所述的加密方法的产生认证值的方法中,更新认证值的方法包括混沌函数和加法运算。
13.根据权利要求5或6的计算机加密方法,其特征在于所述的解密方法的解密预处理方法中,解密密文头信息的方法包括混沌函数的加密方法和散列函数的调整方法。
14.根据权利要求5或6的计算机加密方法,其特征在于所述的解密方法的初始密钥转化方法中,种子为对密钥的各项值作的算术运算,初始密钥流的方法包括混沌函数的加密方法。
15.根据权利要求5或6的计算机加密方法,其特征在于所述的解密方法的随机序列提纯方法中,Chaos解密方法包括混沌函数的解密方法和散列函数的调整方法,密钥流更新方法包括字节反序方法和异或方法,认证值更新方法包括混沌函数和加法运算。
16.根据权利要求5或6的计算机加密方法,其特征在于所述的解密方法的解密密文方法中,Chaos解密方法包括混沌函数的解密方法和散列函数的调整方法,密钥流更新方法包括字节反序方法和异或方法,认证值更新方法包括混沌函数和加法运算。
17.根据权利要求5或6的计算机加密方法,其特征在于所述的解密方法的校验认证值的方法中,更新认证值的方法包括混沌函数和加法运算,验证数据合法性的方法为逐位比较。
18.根据权利要求5或6的计算机加密方法,其特征在于在所述的加密明文的步骤中所得到的密文值,其存储格式包括密文报头部,密文报文部和密文报尾部。
19.根据权利要求18的计算机加密方法,其特征在于所述的密文报头部包括版本信息和密文头信息,所述的密文报文部包括密文随机部和密文部,所述的密文报尾部包括认证值。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN 02129354 CN1266616C (zh) | 2002-09-04 | 2002-09-04 | 计算机加密装置及其加密方法 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN 02129354 CN1266616C (zh) | 2002-09-04 | 2002-09-04 | 计算机加密装置及其加密方法 |
Publications (2)
Publication Number | Publication Date |
---|---|
CN1480851A CN1480851A (zh) | 2004-03-10 |
CN1266616C true CN1266616C (zh) | 2006-07-26 |
Family
ID=34144126
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN 02129354 Expired - Fee Related CN1266616C (zh) | 2002-09-04 | 2002-09-04 | 计算机加密装置及其加密方法 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN1266616C (zh) |
Families Citing this family (9)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN1815948B (zh) * | 2005-06-30 | 2010-04-28 | 西南交通大学 | 基于复合非线性数字滤波器的混沌散列构造方法 |
CN1909447B (zh) * | 2005-08-03 | 2010-04-28 | 盛大计算机(上海)有限公司 | 使用动态加密算法进行网络数据通讯的方法 |
CN101216868A (zh) * | 2007-01-05 | 2008-07-09 | 李树德 | 一种应用混沌密码流加密的方法和系统 |
CN101232367B (zh) * | 2008-01-23 | 2010-06-30 | 黑龙江大学 | 混沌函数的无乘除混沌加/解密方法及其电路 |
CN103973427B (zh) * | 2013-08-27 | 2017-12-08 | 哈尔滨理工大学 | 基于虚拟计算和数据优化的混沌并行数据的加密方法 |
CN106611130A (zh) * | 2016-12-29 | 2017-05-03 | 北京奇虎科技有限公司 | 一种文件处理方法和装置 |
CN109327466B (zh) * | 2018-11-16 | 2021-08-06 | 广州创想云科技有限公司 | 数据加密传输方法、电子设备、存储介质 |
CN109347862A (zh) * | 2018-11-21 | 2019-02-15 | 安徽云融信息技术有限公司 | 一种个人信息数据加密处理系统及方法 |
CN117857078B (zh) * | 2023-11-23 | 2024-06-11 | 烟台新韦达智慧科技有限公司 | 一种可变长混合动态传输加解密方法及装置 |
-
2002
- 2002-09-04 CN CN 02129354 patent/CN1266616C/zh not_active Expired - Fee Related
Also Published As
Publication number | Publication date |
---|---|
CN1480851A (zh) | 2004-03-10 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN1203431C (zh) | 公用密钥加密装置 | |
CN1147087C (zh) | 保证设备之间通信安全的加密装置 | |
CN1124545C (zh) | 实现高速加密处理的设备和方法 | |
CN1272929C (zh) | 加密/解密方法和使用多仿射密钥系统的验证方法及装置 | |
CN1125407C (zh) | 信息处理装置,信息处理方法,信息处理系统 | |
CN1266876C (zh) | 数据通信系统、加密装置及解密装置 | |
CN1282324C (zh) | 数据加密装置和方法 | |
CN1822538A (zh) | 加密方法,加密装置,解密方法和解密装置 | |
CN1242587C (zh) | 高速、灵活的加密系统的方法及设备 | |
CN1312630A (zh) | 基于分块加密方式的加密装置与方法及译码装置与方法 | |
CN1921382A (zh) | 一种基于aes算法的加解密方法及加解密器 | |
CN1714377A (zh) | 用于生成伪随机数的方法及伪随机数生成器 | |
CN1157020C (zh) | 提高了安全性的密码处理装置 | |
CN1235446A (zh) | 椭圆曲线变换装置、利用装置和利用系统 | |
CN1202659A (zh) | 信息处理装置,信息处理方法,信息处理系统和记录介质 | |
CN1643922A (zh) | 内容重现装置、方法和程序以及密钥管理装置和系统 | |
CN1701294A (zh) | 计算单元及以加密操作数执行算术运算之方法 | |
CN1879138A (zh) | 密码处理装置、密码处理方法及其计算机程序 | |
CN1382291A (zh) | 数据再生装置 | |
CN1518268A (zh) | 公用密钥交换方法及通信设备 | |
CN1266616C (zh) | 计算机加密装置及其加密方法 | |
CN1922643A (zh) | 加密系统、加密装置、解密装置、程序和集成电路 | |
CN1695340A (zh) | 数据处理方法、程序及装置 | |
CN1909449A (zh) | 用于处理信息的方法、设备和程序 | |
CN1343411A (zh) | 加密装置和加密方法及解密装置和解密方法以及用于记录程序的计算机可读取记录媒体 |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
C06 | Publication | ||
PB01 | Publication | ||
C10 | Entry into substantive examination | ||
SE01 | Entry into force of request for substantive examination | ||
C14 | Grant of patent or utility model | ||
GR01 | Patent grant | ||
C19 | Lapse of patent right due to non-payment of the annual fee | ||
CF01 | Termination of patent right due to non-payment of annual fee |