加密数据的方法及加密数据的传输装置.pdf

上传人:111****112 文档编号:4322969 上传时间:2018-09-13 格式:PDF 页数:13 大小:880.91KB
返回 下载 相关 举报
摘要
申请专利号:

CN201210043941.4

申请日:

2012.02.26

公开号:

CN102546185A

公开日:

2012.07.04

当前法律状态:

撤回

有效性:

无权

法律详情:

发明专利申请公布后的视为撤回IPC(主分类):H04L 9/32申请公布日:20120704|||公开

IPC分类号:

H04L9/32; H04L9/08

主分类号:

H04L9/32

申请人:

光束(北京)国际工程技术研究院有限公司

发明人:

白杰

地址:

100083 北京市海淀区中关村东路18号1号楼6层A-710

优先权:

专利代理机构:

代理人:

PDF下载: PDF下载
内容摘要

本发明提供了一种加密数据的方法及加密数据的传输装置,首先从传输数据W中随机截取预订长度k的数据W’;以数据W’为种子产生一个随机数r,再以r作为种子随机计算数据域的长度q和起点a,以q和a为参数从传输数据W中截取数据生成数据域F;以数据域F为参数生成公钥E和私钥R;最后用公钥E编码W,得到加密结果Z。本发明还提供了一种加密数据的装置,以及一种加密数据的传输方法,和一种加密数据的传输装置。

权利要求书

1.一种加密数据的方法,其特征在于包括:    从传输数据W中随机截取预订长度k的数据W’; 以数据W’为种子产生一个随机数r,再以r作为种子随机计算数据域的长度q和起点a,以q和a为参数从传输数据W中截取数据生成数据域F;    以数据域F为参数生成公钥E和私钥R;     用公钥E编码W,得到加密结果Z。2.根据权利要求1所述的加密数据的方法,其特征在于还包括:利用滑动窗口技术处理加密结果Z,生成所述Z的引用标签序列,以标签序列作为新的加密结果。3.根据权利要求1或2所述的加密数据的方法,其特征在于:比较所述传输数据W的长度和k,当二者相等时,以W作为W’;当W的长度大于k,从W中随机截取k的长度作为W’,当W的长度小于k,向W中补充随机数,使W的长度等于k,将补充随机数后的W作为W’。4.根据权利要求3所述的加密数据的方法,其特征在于:以数据F为参数,利用非线性可逆函数生成公钥E和私钥R。5.一种加密数据的装置,包括存储待传输数据W的存储器单元,其特征在于还包括:随机数单元,从存储器单元取得传输数据W,从W中截取预订长度k的数据W’,以数据W’为种子产生一个随机数r,再以r作为种子随机计算数据域的长度q和起点a,以q和a为参数从传输数据W中截取数据生成数据域F;可变动态密钥单元,以数据域F为参数生成公钥E和私钥R;      加密编码单元,用公钥E编码W,得到加密结果Z。6.一种加密数据的传输方法,其特征在于包括:    从传输数据W中随机截取预订长度k的数据W’; 以数据W’为种子产生一个随机数r,再以r作为种子随机计算数据域的长度q和起点a,以q和a为参数从传输数据W中截取数据生成数据域F;    以数据域F为参数生成公钥E和私钥R;     用公钥E编码W,得到加密结果Z;将Z与R组合成新的传输数据M发送。7.根据权利要求6所述的6加密数据的传输方法,其特征在于:确定组合Z与R的数据结构,用于组合Z与R。8.一种加密数据的传输装置,包括存储待传输数据W的存储器单元,其特征在于还包括:随机数单元,从存储器单元取得传输数据W,从W中截取预订长度k的数据W’,以数据W’为种子产生一个随机数r,再以r作为种子随机计算数据域的长度q和起点a,以q和a为参数从传输数据W中截取数据生成数据域F;可变动态密钥单元,以数据域F为参数生成公钥E和私钥R;      加密编码单元,用公钥E编码W,得到加密结果Z;    加密数据处理单元,将Z与R组合成新的传输数据M发送。9.根据权利要求8所述的加密数据的传输装置,其特征在于还包括与加密数据处理单元连接的标签压缩加密单元;所述标签压缩加密单元,接收加密数据处理单元的输出结果M,利用滑动窗口技术处理M,生成所述M的引用标签序列,以标签序列作为最后的加密结果发送。

说明书

加密数据的方法及加密数据的传输装置

技术领域

本发明涉及数据传输方法,尤其涉及数据加密方法和加密数据传输方法。

背景技术

为了实现被传输数据的保密性,人们采取了很多措施,其中之一就是在传输数据过程中加密被传输的数据,公钥私钥加密体系是数据加密领域的典型代表。该体系使用一个公钥和一个私钥,公钥可以在共享数据的节点间公开传递,用于加密数据,对被传输导数据提供保障。但私钥是保密的,与节点有独立的对应关系,只有使用私钥才能解密用公钥加密的数据。

    然而,数据传输过程采用的类似该体系的传统加密体系无不面临着量子计算的挑战,例如,1994年发明的Shor算法(P.W.Shor,“A1gorithms for quantum computation:Discretelog and factoring”,Proceedings of the 35th Symposium On Foundations of Computer Science,1994,pp.124-134.),能以多项式时间攻破所有的能够转换成广义离散傅立叶变换的公钥密码。应对量子计算挑战的基本对策,是采用不能转换成离散傅立叶变换的数学方法建立公钥体系。例如MQ体系,采用多变元二次多项式公钥密码体制(Multivariate Quadratic Polynomials in Public Key Cryptosystem),利用二次多项式不定方程组的难解性提供加密安全保障。

2005年,被绝大多数密码专家认为固若金汤的两大密码算法(世界通用密码标准MD5和SHA-1)被攻破,这说明,依靠数学难度构建的静态加密体系的可靠性总是相对的。也可以说,传统的加密被传输数据方法的共性,是依靠加密过程使用的数学方法或数学公式的难度提供安全保障。然而,从数据加解密的历史发展过程看,单纯依靠加密过程使用的数学算法的难度难以实现理想的安全,只要存在加密过程的规律性,破解就是时间问题,就难以实现理想安全程度的数据传输。

 

发明内容

本发明解决的问题是,提供一种安全程度较高的加密数据的方法及装置,以及加密数据的传输方法及装置。

为解决上述问题,本发明实施例提供的加密数据的方法,包括:

    从传输数据W中随机截取预订长度k的数据W’; 

以数据W’为种子产生一个随机数r,再以r作为种子随机计算数据域的长度q和起点a,以q和a为参数从传输数据W中截取数据生成数据域F;

    以数据域F为参数生成公钥E和私钥R; 

    用公钥E编码W,得到加密结果Z。

在一个优选的加密数据的方法实施例中,还包括下述步骤:

利用滑动窗口技术处理加密结果Z,生成所述Z的引用标签序列,以标签序列作为新的加密结果。

本发明实施例提供的加密数据的装置,包括存储待传输数据W的存储器单元,还包括:

随机数单元,从存储器单元取得传输数据W,从W中截取预订长度k的数据W’,以数据W’为种子产生一个随机数r,再以r作为种子随机计算数据域的长度q和起点a,以q和a为参数从传输数据W中截取数据生成数据域F;

可变动态密钥单元,以数据域F为参数生成公钥E和私钥R;  

    加密编码单元,用公钥E编码W,得到加密结果Z。

本发明实施例提供的加密数据的传输方法,包括下述步骤:

    从传输数据W中随机截取预订长度k的数据W’; 

以数据W’为种子产生一个随机数r,再以r作为种子随机计算数据域的长度q和起点a,以q和a为参数从传输数据W中截取数据生成数据域F;

    以数据域F为参数生成公钥E和私钥R; 

    用公钥E编码W,得到加密结果Z;

将Z与R组合成新的传输数据M发送。

本发明实施例提供的加密数据的传输装置,包括存储待传输数据W的存储器单元,还包括:

随机数单元,从存储器单元取得传输数据W,从W中截取预订长度k的数据W’,以数据W’为种子产生一个随机数r,再以r作为种子随机计算数据域的长度q和起点a,以q和a为参数从传输数据W中截取数据生成数据域F;

可变动态密钥单元,以数据域F为参数生成公钥E和私钥R;  

    加密编码单元,用公钥E编码W,得到加密结果Z;

    加密数据处理单元,将Z与R组合成新的传输数据M发送。

与现有的静态加密方法相比,本发明实施例提供的方法具有以下优点:

1、随机可变。从传输数据W中随机截取数据W’做为种子产生一个随机数r,再以r作为种子随机计算数据域的长度q和起点a,以q和a为参数从传输数据W中截取数据生成随机性的数据域F,以及以数据域F为参数生成公钥E和私钥R;由于以随机参数做种子计算加密因子的数据基础,作为种子的数据以传输数据的不同和随机数不同而变化,还由于加密基础的随机性,即数据域F的随机性导致不同的加密结果,这种加密方法在每次的数据加密和传输过程中都在更新加密参数,没有任何规律可言,因此具有较高程度的保密性。

2、动态多重。在每次的数据加密过程中,作为密钥产生的基础-数据域F都处在动态变化中。而且加密方法本身也可以通过多种辅助方法,例如标签加密等多种方式进一步处理,而且标签的形式还具有极其优良的数据压缩能力和随机性加密能力,进一步保证了数据加密的效果。

3、加密方法具有一次性的效果。由于加密密钥在接收节点得到结果后即消失,即使被截获也不再有作用,这个特点决定了加密过程和方法无法复制,即使截获到传输的数据也不能利用数据本身以外的任何方法解密。

    综上所述,本发明实施例提供的方法具有极高的加密安全保障。

附图说明

图1是加密数据的方法实施例流程图;

图2是加密数据的装置实施例框图;

图3是加密数据的传输方法实施例流程图;

图4是加密数据的传输装置实施例1框图;

图5是加密数据的传输装置实施例2框图。

具体实施方式

首先参考图1所述实施例。按照该实施例,我们可知数据加密采用的是可变和随机动态的加密手段。首先在步骤11,将待加密的传输数据W一次性读入或者以数据流方式读入到计算机系统的内存或高速缓存中,用W作为加密密钥的产生基础。但是W的长度是不确定的,简单用W作为密钥产生基础会使计算资源的消耗变得不确定,从而使应用该方法的产品变得性能不稳定,因此,本例采用了一种相对优化的做法。做法是,预先设定一个常数k,从传输数据W中随机截取预订长度k的数据W’,以W’作为加密密钥的基础。在一般的应用中,W的长度通常大于k,这时W’的获取就是截取操作,而且该截取操作的起点是随机的,也即,截取操作的起点是能够满足可靠截取到W’前提下的随机起点,以增强W’的随机性,需要说明,确定截取的随机起点非常容易做到,此不再赘述。在特殊的应用中,W长度小于k,这时可以用W直接作为W’,即将W全部截取作为W’,用W的随机性解决W’的随机性问题。在其他的例子中,为使W’的长度稳定且进一步增加随机性,也采取下述进一步优化的截取方式:比较所述传输数据W的长度和k,当二者相等时,截取W的全部作为W’;当W的长度大于k,从W中随机截取k的长度作为W’,当W的长度小于k,向W’中补充随机数,使W’的长度等于k,即,将补充随机数后的W作为W’。

所述k是一个根据经验或者实验确定的一个经验数字,例如1M或100K,目的是使产生加密密钥的基础稳定,使得本实施例能够较好地适应当前的主流计算机,而且进一步促使实现该数据截取操作的算法简洁。

第12步骤,以数据W’为种子产生一个随机数r。产生随机数的方法很多,例如:

   (1)r=(∑(W’) mod C);

即,随机数r等于W’的数据“数”求和,再与常数C模运算后的余数。常数C具有很大的任意性,通常的范围是1到∑(W’)-1。例如,W’是如下的十六进制数据序列:21458F2AD2,则∑(W’)的十六进制为:

∑(W’)= 2+1+4+5+8+F+2+A+D+2; 十进制为:

∑(W’)= 2+1+4+5+8+15+2+10+13+2=62。

从十进制角度看,该常数C∈[1,61]。

   (2)r=HASH(W’);

即用公知的哈希算法求解r即可。

步骤12的目的是进一步为后续步骤增加随机性基础。

第13步骤,再以r作为种子随机计算数据域的长度q和起点a,以q和a为参数从传输数据W中截取数据生成数据域F。本步骤最重要的工作是随机计算数据域的长度q和起点a,由于计算长度q和起点a的本质是随机数的计算,也有多种方法可以完成该计算,例如:

q=(f(r) mod C1)+C2;其中,f可以是任意的线性或非线性等任意复杂度的函数,常数C2是产生有效数据域F的最小位数,该数值的大小可以根据经验或实验确定,C1+C2是产生有效数据域F的最大位数,故C1的大小可以根据经验或实验确定。

假设,数据W的长度=p+q,其中长度p可以看作产生起点a的冗余长度,p>0。实际中,为了得到a的值,通常根据经验或实验确定p为一个固定的常数C,此时,有多种方法得到a,例如:

a=g(r) mod C。

本例中,当W< p+q时,通常向W中填充随机数,使W=p+q。当然,填充随机数并不破坏原来的传输数据W,例如将W复制到存储器中完成该操作,此不再赘述。

第14步骤,以数据域F为基础或参数生成公钥和私钥。公钥和私钥的本质,是函数和对应的逆函数,用一般的可逆变换函数都可以实现,具体如线性可逆变换函数、非线性可逆变换函数等等,运用这些变换函数的逆函数,就能够得到公钥和私钥。因此,可以用很多公知的方法实现本步骤。为增加本实施例的效果,采用下述方式生成公钥和私钥:

首先,选择正整数m,n,其中,m>n,且m,n小于数据域F的数据长度。

其次,选择域F中的元素xi和yj,且1≤i≤m,1≤j≤n;令x=(x1,…,xm),y=(y1,…,yn),x、y均为由域F中的元素所组成的向量;

    生成包含有E(x))的公钥,其中,E(x)为在域F上的从x=(x1,…,xm)到y=(y1,…,yn)的非线性映射函数组;并且,所述E(x)中隐含有接口函数R(x),其用于根据x=(x1,…,xm)得到n个关于x=(x1,…,xm)的函数,R(x)=(u01(x1,…,xm),…,u0n(x1,…,xm));

    生成与所述公钥相对应的私钥,所述私钥包括R(x)。

    其中,生成包含有E(x)的公钥的过程是:

首先选择域F中的元素ai,1≤i≤n;n小于且域F的数据长度, (a1,…,an)是由域F中的元素所组成的向量。然后选取s+1个域F上的n元可逆线性变换T=(T1,…,Ti,…,Ts+1),其中,每个Ti包括n个域F上的关于(a1,…,an)的n元线性多项式;再选取s个域F上的n元可逆非线性变换G=(G1,…,Gi,…,Gs),其中,每个Gi包括n个域F上的关于(a1,…,an)的函数,所述函数可以是多项式、有理分式等各种函数类型。最后,依据预置规则,合成所述u0(x)、T和G,得到从x到y的非线性映射函数组:

(y1,…,yn)= E(x)= (E1(x1,…,xm),…,En(x1,…,xm));

其中,u0(x)= (u01(x1,…,xm),…,u0n(x1,…,xm))。

选取E(x)中的n’个函数作为E’ (x),得到公钥,n’<n;其中,E’(x)中含有关于(x1,…,xm)的函数;

E’(x)=(E1(x1,…,xm),…,En’(x1,…,xm))。

生成私钥的过程是:

生成T的逆函数T-1;生成G的逆函数G-1;由T-1和G-1计算得到D(y);生成私钥,所述私钥包括R(x)和D(y),

    所述预置规则,可以根据实际情况进行设置。例如,如果期望得到的E’(x)中含有关于(x1,…,xm)的有理分式函数,则所述预置规则可以为以下两种情况:

把函数组u0(x)代入到T1,把T1,代入到G1,把G1代入到T2,把T2代入到G2,把Tj代入到Gj,把Ts代入到Gs,把Gs代入到Ts+1;

或者,只把函数组u0(x)代入到T1,把T1,代入到G1,把G1代入到T2,把T2代入到G2,把Tj代入到Gj,把Ts代入到Gs。

对于上述两种可能的方式而言,当最后为线性变换Ts+1时,得到有理分式的公钥,其每个有理分式的分母多项式是相同的;当最后为非线性变换Gs时,其公钥中每个有理分式的分母多项式通常都不同。实践中通常默认相同的分母,可以节省公钥存储空间,提高运算速度。

第15步骤,用公钥E编码传输数据W,得到加密结果Z。

为了更进一步提高加密数据方法的可破解难度,加强其随机性的程度,另一个实施例进一步利用滑动窗口技术处理加密结果Z,生成所述Z的引用标签序列,以标签序列作为新的加密结果。

生成引用标签可以按照公知的方法完成。具体可以是:按照重复数据表示出来的重复特性,例如特定相邻的字符构成的字符串,尽可能多地确定多个满足该特性要求的数据段,为这些数据段设置彼此不重复的引用标签,将所述引用标签与所述数据段绑定在一起,存储入数据库,即标签与数据段对照的关系数据库。

确定一个数据序列的引用标签,可以利用一个指纹函数和一个窗口,通过动态调整所述窗口,对输入的数据流,从一个方向确定一系列的分割点,利用所述分割点分割所述数据流,截取一个或多个数据段,所述数据段与所述数据库中存储的至少一个数据段相同,然后用引用标签代替截取的数据段与数据流中剩余的数据组装为新的数据流。 

    例如,假设传输数据W看作有方向的输入数据流,从数据的流入方向或者数据流稳定输入后从数据流尾部方向截取一个或多个数据段,只要截取的所述数据段与所述第一数据库中存储的至少一个数据段相同,就可以认为该数据段是一个预先确定的高重复概率数据段,就可以按照所述数据库中引用标签和所述数据段的绑定关系,用引用标签代替截取的数据段与数据流中剩余的数据组装为新的数据流。由于数据的生成与数据段的截取可以采用相关的算法,因此,易于从一个随机的数据流中找到高重复概率的数据段,从而可以实现用引用标签代替数据段传输,减少实际传输的数据量。

分割出的数据段不用考虑该数据段周围的其它数据如何。上述标签的确定过程的一个方面就是要将输入数据进行分割,在分割过程中识别出“分割点”,如果一个分割方案设计合理、恰当,数据段的端点对于同样的数据段而言,它应具有相同的重复性,出现在相同的地方,而不用考虑这个数据在什么样的内容中出现。因此,对于数据中的那些具有共同数据特性的重复性数据段,就能用一种同样的方法分割出来。

  具体的数据分割方案之一,是使用数据本身中的信息去引导该分割过程,而不用那种从外部把数据块尺寸、传输界定参数等强加给分割过程。

  当输入数据被编码过程消耗后,输入数据的各种各样的值和结构就会去引导分割过程,通过这种把输入内容引导分割用于处理输入数据流,就能把时间跨度很大的重复数据寻找出来,而不必将已经分析过的数据重新分析一遍。只要同类的数据被在输入数据的过程中出现过,无论其在何处,同样的数据段就会被发现,从而得到重复的数据段而无需重复分析数据。

然而,尽管输入的数据具有某种数据特性,但由于每次需要处理的数据具有的随机性,用输入数据的内容引导数据的分割,实际上只是在分割得到的数据段的尺寸最大,与重复数据段的数量最多之间的矛盾中找到一个平衡点。

    需要指出,在其他的以图1所示实施例为基础的加密数据的方法实施例中,可以不采用步骤11,步骤12产生的随机数r也可以是一个任意的随机数或以任意数据为种子的随机数,甚至取消步骤12,仅在步骤13以任意一个随机数作为种子,以任意一个随机数据序列为样本生成数据域F,这样,数据加密的方法就会消耗更少的计算资源,而牺牲的随机性却是极其有限的。

图2是加密数据的装置实施例框图。

    图2所示实施例有四个单元,存储器单元21、随机数单元22、可变动态密钥单元23和加密编码单元24。存储器单元21是内存存储器,从系统外部存储器读入的传输数据W就存储在该单元。存储器单元21与随机数单元22,以及加密编码单元24直接连接,而可变动态密钥单元23串联在随机数单元22和加密编码单元24之间。

其中的随机数单元22,从存储器单元取得传输数据W,从W中截取预订长度k的数据W’,以数据W’为种子产生一个随机数r,再以r作为种子随机计算数据域的长度q和起点a。q和a的作用,是作为从传输数据W中截取数据生成数据域F的参数。

为使随机数单元22具有更高的效率,在另外的实施例中,随机数r也可以是一个任意的随机数或以任意数据为种子的随机数,以及,以任意一个随机数作为种子,以任意一个随机数据序列为样本生成数据域F,这样,随机数单元22就会消耗更少的计算资源,而牺牲的随机性却极其有限。

在实际应用中,W长度可能大于、等于、或小于k,为使W’的长度稳定减少算法的复杂性,且进一步增加随机数r的随机性,本例采取下述数据W截取方式:比较所述传输数据W的长度和k,当二者相等时,截取W的全部作为W’;当W的长度大于k,从W中随机截取k的长度作为W’,当W的长度小于k,向W’中补充随机数,使W’的长度等于k,即,将补充随机数后的W作为W’。

以数据W’为种子产生一个随机数r。产生随机数的方法很多,例如:

   (1)r=(∑(W’) mod C1)+C2;

即,随机数r等于W’的数据“数”求和,再与常数C1模运算后的余数。常数C1具有很大的任意性,通常的范围是1到∑(W’)-1。

   (2)r=HASH(W’);

哈希函数HASH()应能够保证r大于等于 C2,这很容易做到,即用公知的哈希算法求解r。

以r作为种子随机计算密钥的数量p也有多种方法可以完成该计算,例如:

p=(f(r) mod C)+1;其中,f可以是任意的线性或非线性等任意复杂度的函数,常数C即可以根据经验或实验确定,也可以根据使用本实施例的计算机系统的性能确定,以使本实施例更好地适应计算机系统。例如,在系统启动的初始化阶段,预先协商数据传输端点之间的数据处理能力,根据所述处理能力确定C的数值,由于确定C的方法有很多,此不再赘述。

以r作为种子随机计算数据域的长度q和起点a的操作,本质上也是随机数的计算操作,也有多种方法可以完成。例如:

q=(f(r) mod C1)+C2;其中,f可以是任意的线性或非线性等任意复杂度的函数,常数C2是产生有效数据域F的最小位数,该数值的大小可以根据经验或实验确定,C1+C2是产生有效数据域F的最大位数,故C1的大小可以根据经验或实验确定。

假设,数据W的长度=p+q,其中长度p可以看作产生起点a的冗余长度,p>0。实际中,为了得到a的值,通常根据经验或实验确定p为一个固定的常数C,此时,有多种方法得到a,例如:

a=g(r) mod C。

本例中,当W< p+q时,通常向W中填充随机数,使W=p+q。当然,填充随机数并不破坏原来的传输数据W,例如将W复制到存储器中完成该操作,此不再赘述。

可变动态密钥单元23,以数据域F为基础或参数生成公钥和私钥。

可以用很多公知的方法生成公钥私钥序列。例如,为增加密钥本身的加密能力,采用下述方式生成公钥和私钥:

首先,选择正整数m,n,其中,m>n,且m,n小于以数据W’为基础生成的子集的数据长度。

其次,以该子集作为数据域F,选择域F中的元素xi和yj,且1≤i≤m,1≤j≤n;令x=(x1,…,xm),y=(y1,…,yn),x、y均为由域F中的元素所组成的向量;

    生成包含有E(x))的公钥,其中,E(x)为在域F上的从x=(x1,…,xm)到y=(y1,…,yn)的非线性映射函数组;并且,所述E(x)中隐含有接口函数R(x),其用于根据x=(x1,…,xm)得到n个关于x=(x1,…,xm)的函数,R(x)=(u01(x1,…,xm),…,u0n(x1,…,xm));

    生成与所述公钥相对应的私钥,所述私钥包括R(x)。

    加密编码单元24,从存储器单元21读取存储的传输数据W,用公钥E编码W,得到加密结果Z。

    需要说明,编码后的加密结果Z可以传输到存储器单元21存储待发送,也可以传输到其他存储器单元中(图中未绘出)存储待发送。

    为了更进一步提高加密数据方法的可破解难度,加强其随机性的程度,在另外的实施例中,还包括一个和加密编码单元24连接的标签加密单元,该单元利用滑动窗口技术处理加密结果Z,生成所述Z的引用标签序列,以标签序列作为新的加密结果Z。

    图3是加密数据的传输方法实施例流程图;

由图3可知,图3所示实施例与图1所示实施例相比,增加了步骤16。图3中,步骤11到步骤15是传输数据W的加密过程,而步骤16是将加密结果传输的过程。为使接收加密数据的节点能够解密接收到的加密数据,需要将加密结果Z和解密用的私钥一并传送到接收节点,即将Z与私钥序列R组合成新的传输数据发送。为使接收节点能够得到Z与R,例如采用下述做法: 

计算Ri的最大长度,将每个R镶嵌到一个根据该长度制作的固定长度的数据框中,该数据框中包括数据首标识、尾标识、R和R识别标识等数据,形成私钥数据框R,当一个具体的Ri长度较小时,该数据框中还会有填充的随机数,根据公知常识,这时需要增加一些必要的数据标识,此不赘述。将由加密结果Z形成的数据框Z与R组织或组合成一个数据序列就形成了新的传输数据。当然,根据组织数据思路的约定不同,在数据框和/或新的传输数据中还会有其他标识数据结构用的数据,甚至填充的随机数,等等,这是很容易做的。最简单的做法,就是按照约定的数据结构组织Z与R,例如以顺序组合的方式组织Z与R,鉴于这点极其容易实现,此不再赘述。

需要说明,在另外的实施例中,每次数据传输都即时约定或确定Z与R的数据结构,这样做的目的是使组合后的数据更难以被辨析,只需要在该结构中增加必要的标识,即可实现组织Z与Ri的随机性,从而进一步增加数据被破解的难度。

图4是加密数据的传输装置实施例1框图。

    由图4可知,图4所示实施例与图2所示实施例相比,增加了与加密编码单元24连接的加密数据处理单元25,现仅对加密数据处理单元25进行说明。

为使接收加密数据的节点能够解密接收到的加密数据,加密数据处理单元25需要将加密结果Z和解密用的私钥一并传送到接收节点,即将Z与私钥序列R组合成新的传输数据发送出去和/或存储起来。最简单的做法,就是按照约定的数据结构组织Z与R,例如以顺序组合的方式组织Z与R,鉴于这点极其容易实现,此不再赘述

    实际中,加密数据处理单元25组织数据使用的加密结果Z来源于存储器单元21或加密编码单元24,这取决于数据传输过程的实时性程度。

在另外的加密数据的传输装置实施例中,还包括设置与加密数据处理单元连接的标签单元26,参考图5.该单元接收加密数据处理单元的输出结果,即Z与私钥序列Ri组合成的新传输数据M,利用滑动窗口技术处理M,生成所述M的引用标签序列,以标签序列作为最后的加密结果发送出去和/或存储起来,从而进一步压缩加密M。

加密数据的方法及加密数据的传输装置.pdf_第1页
第1页 / 共13页
加密数据的方法及加密数据的传输装置.pdf_第2页
第2页 / 共13页
加密数据的方法及加密数据的传输装置.pdf_第3页
第3页 / 共13页
点击查看更多>>
资源描述

《加密数据的方法及加密数据的传输装置.pdf》由会员分享,可在线阅读,更多相关《加密数据的方法及加密数据的传输装置.pdf(13页珍藏版)》请在专利查询网上搜索。

1、(10)申请公布号 CN 102546185 A (43)申请公布日 2012.07.04 C N 1 0 2 5 4 6 1 8 5 A *CN102546185A* (21)申请号 201210043941.4 (22)申请日 2012.02.26 H04L 9/32(2006.01) H04L 9/08(2006.01) (71)申请人光束(北京)国际工程技术研究院有 限公司 地址 100083 北京市海淀区中关村东路18 号1号楼6层A-710 (72)发明人白杰 (54) 发明名称 加密数据的方法及加密数据的传输装置 (57) 摘要 本发明提供了一种加密数据的方法及加密数 据的传输装。

2、置,首先从传输数据W中随机截取预 订长度k的数据W;以数据W为种子产生一个随 机数r,再以r作为种子随机计算数据域的长度q 和起点a,以q和a为参数从传输数据W中截取数 据生成数据域F;以数据域F为参数生成公钥E和 私钥R;最后用公钥E编码W,得到加密结果Z。本 发明还提供了一种加密数据的装置,以及一种加 密数据的传输方法,和一种加密数据的传输装置。 (51)Int.Cl. 权利要求书2页 说明书8页 附图2页 (19)中华人民共和国国家知识产权局 (12)发明专利申请 权利要求书 2 页 说明书 8 页 附图 2 页 1/2页 2 1.一种加密数据的方法,其特征在于包括: 从传输数据W中随机。

3、截取预订长度k的数据W; 以数据W为种子产生一个随机数r,再以r作为种子随机计算数据域的长度q和起点 a,以q和a为参数从传输数据W中截取数据生成数据域F; 以数据域F为参数生成公钥E和私钥R; 用公钥E编码W,得到加密结果Z。 2.根据权利要求1所述的加密数据的方法,其特征在于还包括: 利用滑动窗口技术处理加密结果Z,生成所述Z的引用标签序列,以标签序列作为新的 加密结果。 3.根据权利要求1或2所述的加密数据的方法,其特征在于: 比较所述传输数据W的长度和k,当二者相等时,以W作为W;当W的长度大于k,从W 中随机截取k的长度作为W,当W的长度小于k,向W中补充随机数,使W的长度等于k,将。

4、 补充随机数后的W作为W。 4.根据权利要求3所述的加密数据的方法,其特征在于: 以数据F为参数,利用非线性可逆函数生成公钥E和私钥R。 5.一种加密数据的装置,包括存储待传输数据W的存储器单元,其特征在于还包括: 随机数单元,从存储器单元取得传输数据W,从W中截取预订长度k的数据W,以数据 W为种子产生一个随机数r,再以r作为种子随机计算数据域的长度q和起点a,以q和a 为参数从传输数据W中截取数据生成数据域F; 可变动态密钥单元,以数据域F为参数生成公钥E和私钥R; 加密编码单元,用公钥E编码W,得到加密结果Z。 6.一种加密数据的传输方法,其特征在于包括: 从传输数据W中随机截取预订长度。

5、k的数据W; 以数据W为种子产生一个随机数r,再以r作为种子随机计算数据域的长度q和起点 a,以q和a为参数从传输数据W中截取数据生成数据域F; 以数据域F为参数生成公钥E和私钥R; 用公钥E编码W,得到加密结果Z; 将Z与R组合成新的传输数据M发送。 7.根据权利要求6所述的6加密数据的传输方法,其特征在于: 确定组合Z与R的数据结构,用于组合Z与R。 8.一种加密数据的传输装置,包括存储待传输数据W的存储器单元,其特征在于还包 括: 随机数单元,从存储器单元取得传输数据W,从W中截取预订长度k的数据W,以数据 W为种子产生一个随机数r,再以r作为种子随机计算数据域的长度q和起点a,以q和a。

6、 为参数从传输数据W中截取数据生成数据域F; 可变动态密钥单元,以数据域F为参数生成公钥E和私钥R; 加密编码单元,用公钥E编码W,得到加密结果Z; 加密数据处理单元,将Z与R组合成新的传输数据M发送。 9.根据权利要求8所述的加密数据的传输装置,其特征在于还包括与加密数据处理单 权 利 要 求 书CN 102546185 A 2/2页 3 元连接的标签压缩加密单元; 所述标签压缩加密单元,接收加密数据处理单元的输出结果M,利用滑动窗口技术处理 M,生成所述M的引用标签序列,以标签序列作为最后的加密结果发送。 权 利 要 求 书CN 102546185 A 1/8页 4 加密数据的方法及加密数。

7、据的传输装置 技术领域 0001 本发明涉及数据传输方法,尤其涉及数据加密方法和加密数据传输方法。 背景技术 0002 为了实现被传输数据的保密性,人们采取了很多措施,其中之一就是在传输数据 过程中加密被传输的数据,公钥私钥加密体系是数据加密领域的典型代表。该体系使用一 个公钥和一个私钥,公钥可以在共享数据的节点间公开传递,用于加密数据,对被传输导数 据提供保障。但私钥是保密的,与节点有独立的对应关系,只有使用私钥才能解密用公钥加 密的数据。 0003 然而,数据传输过程采用的类似该体系的传统加密体系无不面临着量子计算的挑 战,例如,1994年发明的Shor算法(PWShor,“A1gorit。

8、hms for quantum computation: Discretelog and factoring”,Proceedings of the 35th Symposium On Foundations of Computer Science,1994,pp124-134),能以多项式时间攻破所有的能够转换成广 义离散傅立叶变换的公钥密码。应对量子计算挑战的基本对策,是采用不能转换成离散傅 立叶变换的数学方法建立公钥体系。例如MQ体系,采用多变元二次多项式公钥密码体制 (Multivariate Quadratic Polynomials in Public Key Cryptosyst。

9、em),利用二次多项式 不定方程组的难解性提供加密安全保障。 0004 2005年,被绝大多数密码专家认为固若金汤的两大密码算法(世界通用密码标准 MD5和SHA-1)被攻破,这说明,依靠数学难度构建的静态加密体系的可靠性总是相对的。也 可以说,传统的加密被传输数据方法的共性,是依靠加密过程使用的数学方法或数学公式 的难度提供安全保障。然而,从数据加解密的历史发展过程看,单纯依靠加密过程使用的数 学算法的难度难以实现理想的安全,只要存在加密过程的规律性,破解就是时间问题,就难 以实现理想安全程度的数据传输。 0005 发明内容 0006 本发明解决的问题是,提供一种安全程度较高的加密数据的方法。

10、及装置,以及加 密数据的传输方法及装置。 0007 为解决上述问题,本发明实施例提供的加密数据的方法,包括: 从传输数据W中随机截取预订长度k的数据W; 以数据W为种子产生一个随机数r,再以r作为种子随机计算数据域的长度q和起点 a,以q和a为参数从传输数据W中截取数据生成数据域F; 以数据域F为参数生成公钥E和私钥R; 用公钥E编码W,得到加密结果Z。 0008 在一个优选的加密数据的方法实施例中,还包括下述步骤: 利用滑动窗口技术处理加密结果Z,生成所述Z的引用标签序列,以标签序列作为新的 说 明 书CN 102546185 A 2/8页 5 加密结果。 0009 本发明实施例提供的加密数。

11、据的装置,包括存储待传输数据W的存储器单元,还 包括: 随机数单元,从存储器单元取得传输数据W,从W中截取预订长度k的数据W,以数据 W为种子产生一个随机数r,再以r作为种子随机计算数据域的长度q和起点a,以q和a 为参数从传输数据W中截取数据生成数据域F; 可变动态密钥单元,以数据域F为参数生成公钥E和私钥R; 加密编码单元,用公钥E编码W,得到加密结果Z。 0010 本发明实施例提供的加密数据的传输方法,包括下述步骤: 从传输数据W中随机截取预订长度k的数据W; 以数据W为种子产生一个随机数r,再以r作为种子随机计算数据域的长度q和起点 a,以q和a为参数从传输数据W中截取数据生成数据域F。

12、; 以数据域F为参数生成公钥E和私钥R; 用公钥E编码W,得到加密结果Z; 将Z与R组合成新的传输数据M发送。 0011 本发明实施例提供的加密数据的传输装置,包括存储待传输数据W的存储器单 元,还包括: 随机数单元,从存储器单元取得传输数据W,从W中截取预订长度k的数据W,以数据 W为种子产生一个随机数r,再以r作为种子随机计算数据域的长度q和起点a,以q和a 为参数从传输数据W中截取数据生成数据域F; 可变动态密钥单元,以数据域F为参数生成公钥E和私钥R; 加密编码单元,用公钥E编码W,得到加密结果Z; 加密数据处理单元,将Z与R组合成新的传输数据M发送。 0012 与现有的静态加密方法相。

13、比,本发明实施例提供的方法具有以下优点: 1、随机可变。从传输数据W中随机截取数据W做为种子产生一个随机数r,再以r作 为种子随机计算数据域的长度q和起点a,以q和a为参数从传输数据W中截取数据生成随 机性的数据域F,以及以数据域F为参数生成公钥E和私钥R;由于以随机参数做种子计算 加密因子的数据基础,作为种子的数据以传输数据的不同和随机数不同而变化,还由于加 密基础的随机性,即数据域F的随机性导致不同的加密结果,这种加密方法在每次的数据 加密和传输过程中都在更新加密参数,没有任何规律可言,因此具有较高程度的保密性。 0013 2、动态多重。在每次的数据加密过程中,作为密钥产生的基础-数据域F。

14、都处在 动态变化中。而且加密方法本身也可以通过多种辅助方法,例如标签加密等多种方式进一 步处理,而且标签的形式还具有极其优良的数据压缩能力和随机性加密能力,进一步保证 了数据加密的效果。 0014 3、加密方法具有一次性的效果。由于加密密钥在接收节点得到结果后即消失,即 使被截获也不再有作用,这个特点决定了加密过程和方法无法复制,即使截获到传输的数 据也不能利用数据本身以外的任何方法解密。 0015 综上所述,本发明实施例提供的方法具有极高的加密安全保障。 说 明 书CN 102546185 A 3/8页 6 附图说明 0016 图1是加密数据的方法实施例流程图; 图2是加密数据的装置实施例框。

15、图; 图3是加密数据的传输方法实施例流程图; 图4是加密数据的传输装置实施例1框图; 图5是加密数据的传输装置实施例2框图。 具体实施方式 0017 首先参考图1所述实施例。按照该实施例,我们可知数据加密采用的是可变和随 机动态的加密手段。首先在步骤11,将待加密的传输数据W一次性读入或者以数据流方式 读入到计算机系统的内存或高速缓存中,用W作为加密密钥的产生基础。但是W的长度是 不确定的,简单用W作为密钥产生基础会使计算资源的消耗变得不确定,从而使应用该方 法的产品变得性能不稳定,因此,本例采用了一种相对优化的做法。做法是,预先设定一个 常数k,从传输数据W中随机截取预订长度k的数据W,以W。

16、作为加密密钥的基础。在一 般的应用中,W的长度通常大于k,这时W的获取就是截取操作,而且该截取操作的起点是 随机的,也即,截取操作的起点是能够满足可靠截取到W前提下的随机起点,以增强W的 随机性,需要说明,确定截取的随机起点非常容易做到,此不再赘述。在特殊的应用中,W长 度小于k,这时可以用W直接作为W,即将W全部截取作为W,用W的随机性解决W的随机 性问题。在其他的例子中,为使W的长度稳定且进一步增加随机性,也采取下述进一步优 化的截取方式:比较所述传输数据W的长度和k,当二者相等时,截取W的全部作为W;当W 的长度大于k,从W中随机截取k的长度作为W,当W的长度小于k,向W中补充随机数,使。

17、 W的长度等于k,即,将补充随机数后的W作为W。 0018 所述k是一个根据经验或者实验确定的一个经验数字,例如1M或100K,目的是使 产生加密密钥的基础稳定,使得本实施例能够较好地适应当前的主流计算机,而且进一步 促使实现该数据截取操作的算法简洁。 0019 第12步骤,以数据W为种子产生一个随机数r。产生随机数的方法很多,例如: (1)r=((W) mod C); 即,随机数r等于W的数据“数”求和,再与常数C模运算后的余数。常数C具有很大的 任意性,通常的范围是1到(W)-1。例如,W是如下的十六进制数据序列:21458F2AD2, 则(W)的十六进制为: (W)= 2+1+4+5+8。

18、+F+2+A+D+2; 十进制为: (W)= 2+1+4+5+8+15+2+10+13+2=62。 0020 从十进制角度看,该常数C1,61。 0021 (2)r=HASH(W); 即用公知的哈希算法求解r即可。 0022 步骤12的目的是进一步为后续步骤增加随机性基础。 0023 第13步骤,再以r作为种子随机计算数据域的长度q和起点a,以q和a为参数从 传输数据W中截取数据生成数据域F。本步骤最重要的工作是随机计算数据域的长度q和 起点a,由于计算长度q和起点a的本质是随机数的计算,也有多种方法可以完成该计算,例 说 明 书CN 102546185 A 4/8页 7 如: q=(f(r)。

19、 mod C1)+C2;其中,f可以是任意的线性或非线性等任意复杂度的函数,常数 C2是产生有效数据域F的最小位数,该数值的大小可以根据经验或实验确定,C1+C2是产生 有效数据域F的最大位数,故C1的大小可以根据经验或实验确定。 0024 假设,数据W的长度=p+q,其中长度p可以看作产生起点a的冗余长度,p0。实 际中,为了得到a的值,通常根据经验或实验确定p为一个固定的常数C,此时,有多种方法 得到a,例如: a=g(r) mod C。 0025 本例中,当Wn,且m,n小于数据域F的数据长度。 0027 其次,选择域F中的元素x i 和y j ,且1im,1jn;令x(x 1 ,x m。

20、 ), y(y 1 ,y n ),x、y均为由域F中的元素所组成的向量; 生成包含有E(x)的公钥,其中,E(x)为在域F上的从x(x 1 ,x m )到y(y 1 , y n )的非线性映射函数组;并且,所述E(x)中隐含有接口函数R(x),其用于根据x(x 1 , x m )得到n个关于x(x 1 ,x m )的函数,R(x)(u 01 (x 1 ,x m ),u 0n (x 1 ,x m ); 生成与所述公钥相对应的私钥,所述私钥包括R(x)。 0028 其中,生成包含有E(x)的公钥的过程是: 首先选择域F中的元素a i ,1in;n小于且域F的数据长度, (a 1 ,a n )是由域。

21、F 中的元素所组成的向量。然后选取s+1个域F上的n元可逆线性变换T(T 1 ,T i , T s+1 ),其中,每个T i 包括n个域F上的关于(a 1 ,a n )的n元线性多项式;再选取s个域 F上的n元可逆非线性变换G(G 1 ,G i ,G s ),其中,每个G i 包括n个域F上的关于 (a 1 ,a n )的函数,所述函数可以是多项式、有理分式等各种函数类型。最后,依据预置规 则,合成所述u 0 (x)、T和G,得到从x到y的非线性映射函数组: (y 1 ,y n )= E(x)= (E 1 (x 1 ,x m ),E n (x 1 ,x m ); 其中,u 0 (x)= (u 。

22、01 (x 1 ,x m ),u 0n (x 1 ,x m )。 0029 选取E(x)中的n个函数作为E (x),得到公钥,n0。实 际中,为了得到a的值,通常根据经验或实验确定p为一个固定的常数C,此时,有多种方法 得到a,例如: a=g(r) mod C。 0052 本例中,当Wn,且m,n小于以数据W为基础生成的子集的数据长 度。 0055 其次,以该子集作为数据域F,选择域F中的元素x i 和y j ,且1im,1jn; 令x(x 1 ,x m ),y(y 1 ,y n ),x、y均为由域F中的元素所组成的向量; 生成包含有E(x)的公钥,其中,E(x)为在域F上的从x(x 1 ,x。

23、 m )到y(y 1 , y n )的非线性映射函数组;并且,所述E(x)中隐含有接口函数R(x),其用于根据x(x 1 , x m )得到n个关于x(x 1 ,x m )的函数,R(x)(u 01 (x 1 ,x m ),u 0n (x 1 ,x m ); 生成与所述公钥相对应的私钥,所述私钥包括R(x)。 0056 加密编码单元24,从存储器单元21读取存储的传输数据W,用公钥E编码W,得到 加密结果Z。 0057 需要说明,编码后的加密结果Z可以传输到存储器单元21存储待发送,也可以传 输到其他存储器单元中(图中未绘出)存储待发送。 0058 为了更进一步提高加密数据方法的可破解难度,加。

24、强其随机性的程度,在另外的 实施例中,还包括一个和加密编码单元24连接的标签加密单元,该单元利用滑动窗口技术 处理加密结果Z,生成所述Z的引用标签序列,以标签序列作为新的加密结果Z。 0059 图3是加密数据的传输方法实施例流程图; 由图3可知,图3所示实施例与图1所示实施例相比,增加了步骤16。图3中,步骤11 到步骤15是传输数据W的加密过程,而步骤16是将加密结果传输的过程。为使接收加密 数据的节点能够解密接收到的加密数据,需要将加密结果Z和解密用的私钥一并传送到接 收节点,即将Z与私钥序列R组合成新的传输数据发送。为使接收节点能够得到Z与R,例 如采用下述做法: 计算R i 的最大长度。

25、,将每个R镶嵌到一个根据该长度制作的固定长度的数据框中,该 数据框中包括数据首标识、尾标识、R和R识别标识等数据,形成私钥数据框R,当一个具体 的R i 长度较小时,该数据框中还会有填充的随机数,根据公知常识,这时需要增加一些必要 的数据标识,此不赘述。将由加密结果Z形成的数据框Z与R组织或组合成一个数据序列 就形成了新的传输数据。当然,根据组织数据思路的约定不同,在数据框和/或新的传输数 据中还会有其他标识数据结构用的数据,甚至填充的随机数,等等,这是很容易做的。最简 说 明 书CN 102546185 A 10 8/8页 11 单的做法,就是按照约定的数据结构组织Z与R,例如以顺序组合的方。

26、式组织Z与R,鉴于这 点极其容易实现,此不再赘述。 0060 需要说明,在另外的实施例中,每次数据传输都即时约定或确定Z与R的数据结 构,这样做的目的是使组合后的数据更难以被辨析,只需要在该结构中增加必要的标识,即 可实现组织Z与R i 的随机性,从而进一步增加数据被破解的难度。 0061 图4是加密数据的传输装置实施例1框图。 0062 由图4可知,图4所示实施例与图2所示实施例相比,增加了与加密编码单元24 连接的加密数据处理单元25,现仅对加密数据处理单元25进行说明。 0063 为使接收加密数据的节点能够解密接收到的加密数据,加密数据处理单元25需 要将加密结果Z和解密用的私钥一并传送。

27、到接收节点,即将Z与私钥序列R组合成新的传 输数据发送出去和/或存储起来。最简单的做法,就是按照约定的数据结构组织Z与R,例 如以顺序组合的方式组织Z与R,鉴于这点极其容易实现,此不再赘述 实际中,加密数据处理单元25组织数据使用的加密结果Z来源于存储器单元21或加 密编码单元24,这取决于数据传输过程的实时性程度。 0064 在另外的加密数据的传输装置实施例中,还包括设置与加密数据处理单元连接的 标签单元26,参考图5.该单元接收加密数据处理单元的输出结果,即Z与私钥序列R i 组合 成的新传输数据M,利用滑动窗口技术处理M,生成所述M的引用标签序列,以标签序列作为 最后的加密结果发送出去和/或存储起来,从而进一步压缩加密M。 说 明 书CN 102546185 A 11 1/2页 12 图1 图2 说 明 书 附 图CN 102546185 A 12 2/2页 13 图3 图4 图5 说 明 书 附 图CN 102546185 A 13 。

展开阅读全文
相关资源
猜你喜欢
相关搜索

当前位置:首页 > 电学 > 电通信技术


copyright@ 2017-2020 zhuanlichaxun.net网站版权所有
经营许可证编号:粤ICP备2021068784号-1