一种基于流密码的丢位加密-补位解密的加解密方法

文档序号:7774005阅读:203来源:国知局
一种基于流密码的丢位加密-补位解密的加解密方法
【专利摘要】本发明公开了一种基于流密码的丢位加密-补位解密的加解密方法,在流密码加密的过程中不需要专用的计算机硬件、专用的电子逻辑器件,更不需要逻辑电路的设计,不涉及混沌信号的反馈问题和反馈算法,完全通过软件的方法程解决流密码的加密和解密过程,降低明码加密对外条件的依靠。本发明若要破解密文文件,必须知道算法程序、密文文件和秘钥文件,而同时具备此三个文件比较几乎不可能,且秘钥的长度可以扩展至128字节至于更大,极大增加了破译的难度。
【专利说明】—种基于流密码的丢位加密-补位解密的加解密方法
【技术领域】
[0001]本发明涉及密码的加解密,特别是一种基于流密码的丢位加密-补位解密的加解密方法。
【背景技术】
[0002]流密码(Stream Cipher)也称为序列密码,它是对称密码算法的一种。序列密码具有实现简单、便于硬件实施、加解密处理速度快、没有或只有有限的错误传播等特点,因此在实际应用中,特别是专用或机密机构中保持着优势。
[0003]现有流密码的研究状态,由于流密码的分析和设计往往用于一个国家的军事和外交通信。所以,流密码的研发和设计基本上都是在保密的状态下进行,各个国家研发流密码的学者和专家为了保密几乎没有过多的这方面的公开的论著。各国都将流密码技术和产品,作为军工产品而限制出口。由于它具有许多其他密码不可比拟的优点,所以,它是当今最为通用的密码系统之一。
[0004]现在的流密码学的研究方向,都是以数学模型为基础,使用复杂的代数运算、布尔代数运算、伪随机数、移位寄存器、线性反馈等。完成流密码的加密和解密。在这方面比较成功的方法有A5方法,S盒方法,RC4方法,K2方法等。这些方法已经是不公开的秘密,经过多年的研究,对其加密和解密已经具有了一定的成熟手段。现在已有很多学者研究攻击和破译上述方法加密的密文。这就使得使用以上的方法进行加密的密文,其安全性受到极大的挑战。

【发明内容】

[0005]为解决上述问题,本发明的目的在于提供一种基于流密码的丢位加密-补位解密的加解密方法,加强保密,`增加破译难度。
[0006]本发明解决其问题所采用的技术方案是:
一种基于流密码的丢位加密-补位解密的加解密方法,包括明码集合M =Uvx1,…XbsJ和秘钥集合P =…兄J,且两个集合均为二进制集合,所述方法包括
加密步骤与解密步骤,其中,加密步骤包括:
取指针P指向秘钥集合P的凡位,并向方向搜索,同时取指针q指向明码集合M的
Zja-1位,并向sCi方向搜索,且规定指针q随着指针P的位移而冋步位移;
当指针P搜索到“ I ”位时,将指针q所指向的位值保存,同时将指针q所指的位至位全部左移一位,并将保存的指针q所指向的位值填入串尾;
当指针P搜索至JV1位时,完成加密,并生成二进制密文集合C;
所述解密步骤包括:
取指针P指向秘钥集合P的h位,并向}方向搜索,取指针q指向密文集合C的位,并向A方向搜索;
当指针P搜索到“ I ”位时,将指针q所指向的位值保存,指针q移动一位,同时将密文集合中与指针P相对应的位置的位值至位全部右移一位,并将保存的指针q所指向的位值写入至密文集合中与指针P相对应的位置;
当指针P搜索至、位时,完成解密,并生成明码集合M。
[0007]所述加密步骤还包括:
将生成的密文集合C迭代固定次数的加密步骤,生成对应的密文集合。
[0008]所述解密步骤还包括:
将生成的明码集合M迭代相同固定次数的解密步骤,生成对应所需要的明码集合。
[0009]对于明码集合M和秘钥集合P =Ον>ν..Λ-ι),其中,m大于等于η。
[0010]所述秘钥集合P =Cu1,…:^1)为32字节、64字节、128字节、256字节。
[0011]其中,明码集合M中的元素个数E满足Emod8=0,秘钥集合P中元素的个数F满足Fmod8=0,密文集合C中元素的个数G满足Gmod8=0。
[0012]一种基于流密码的丢位加密-补位解密的加解密方法,包括明文文件、秘钥文件和密文文件,所述方法包括加密步骤和解密步骤,所述加密步骤包括:
(O读取明文文件中明文信息的字节数`M,同时读取秘钥文件中秘钥信息的字节数N,且规定M大于N ;
(2)以字节N为单位读取明文文件中的明文信息,并取指针P指向所读取的明文信息的尾位置;
(3)读取秘钥文件中的秘钥信息,并取指针q指向秘钥信息的首位置;
(4)指针q按位移动,指针P随着q的移动而冋步移动,当指针q搜索到“I”位时,将指针P所指向的位值保存,同时将指针P所指向的位值至尾位值全部左移一位,并将保存的指针P所指向的位值填入至尾位;
(5)重复步骤(4),直至指针q移动至密钥信息的尾位置,将处理后的指针P所指向的明文信息写入至密文文件中;
(6)重复步骤(2)至步骤(5),对读取的下一个N字节的明文信息进行加密,直至明文文件中的明文信息全部被读取,并生成对应的密文文件;
所述解密步骤包括:
(11)读取密文文件中密文信息的字节数K,同时读取秘钥文件中秘钥信息的字节数N,且K大于N ;
(12)以字节N为单位读取密文文件中的密文信息,并取指针P指向所读取的密文信息的尾位置;
(13)读取秘钥文件中的秘钥信息,并取指针q指向秘钥信息的尾位置;
(14)指针q按位移动,当指针q搜索到“I ”位时,将指针P所指向的位值保存,指针P移动一位,之后将密文信息中与指针q相对应位置的位值至尾位全部右移一位,并将所保存的指针P所指向的位值填入至密文信息中与指针q相对应的位置;(15)重复步骤(14),直至指针q移动至密钥信息的首位置,将处理后的指针p所指向的明文信息写入至明文文件中;
(16)重复步骤(12)至步骤(15),对读取的下一个N字节的密文信息进行解密,直至密文文件中的密文信息全部被读取,并生成对应的明文文件。
[0013]所述解密步骤还包括:
将步骤(6)所生成的密文文件迭代固定次数的加密步骤,生成对应的密文文件。
[0014]所述解密步骤还包括:
将步骤(16)所生成的明文文件迭代相同固定次数的解密步骤,生成所需要的明文文 件。
[0015]所述明文文件、秘钥文件和密文文件均为二进制文件。
[0016]本发明的有益效果是:
本发明采用一种基于流密码的丢位加密-补位解密的加解密方法,在流密码加密的过程中不需要专用的计算机硬件、专用的电子逻辑器件,更不需要逻辑电路的设计,不涉及混沌信号的反馈问题和反馈算法,完全通过软件的方法程解决流密码的加密和解密过程,降低明码加密对外条件的依靠。本发明若要破解密文文件,必须知道算法程序、密文文件和秘钥文件,而同时具备此三个文件比较几乎不可能,且秘钥的长度可以扩展至128字节至于更大,极大增加了破译的难度。
【具体实施方式】
[0017]实施例1:
本发明提供了一种基于流密码的丢位加密-补位解密的加解密方法,在密码学领域,所有的加解密都相通的,加密时,通过加密算法,利用秘钥对明文进行加密形成密文,解密时,通过解密算法,利用秘钥对密文进行解密形成明文。本发明亦遵从相同的原理。
[0018]本发明在加密过程,对于明码集合M = {J0,和秘钥集合P =
{凡,乃,其中,两个集合均为二进制集合,且明码集合M中元素的个数不少于秘钥集
合P中元素的个数,即m大于或等于n,取指针p指向秘钥集合P的I位,并向JVi方向搜
索,同时取指针q指向明码集合M的位,并向方向搜索,且规定指针q随着指针P的位移而同步位移;
当指针P搜索到“ I ”位时,将指针q所指向的位值保存,同时将指针q所指的位至Xi1位全部左移一位,并将保存的指针q所指向的位值填入尾部;
最后,当指针P搜索至JVi位时,完成加S,并生成~进制S文集合C = …2/_1),生成的密文集合C可以重复迭代,具体次数可以进行设定。
[0019]加密的过程在指针p搜索至“I”时,将指针q所指的位值丢弃,并将其位值移至尾部,是一个丢位加密的过程。
[0020]解密时,则需要将加密时生成的密文集合C =通过秘钥和解密算法进行解密,此处,秘钥是不变的,仍然是秘钥集合p ,具体为:取指针P指向秘钥集合P的乂.!位,并向?方向搜索,取指针q指向密文集合C的位,并向万向搜索;
当指针P搜索到“ I ”位时,将指针q所指向的位值保存,且指针q移动一位,同时将密文集合中与指针P相对应的位置的位值至位全部右移一位,并将保存的指针q所指向的位值写入至密文集合中与指针P相对应的位置;
当指针P搜索至\位时,完成解密,并生成明码集合M,明码集合M经过相同次数的解密迭代运算,最终得到所需要的明码集合。
[0021]解密时与加密正好相反,将原来依次丢弃的位重新补回,是一个补位解密的过程。
[0022]在解密时,秘钥的长度与解密难度成正比,为此,秘钥集合P可以为32字节、64字节、128字节、256字节,也可以进行后续扩展。
[0023]不论是加密或者是解密,明码、秘钥、密文的长度都是有规定的,本发明中,其中,约定明码集合M中的元素个数E满足Emod8=0,秘钥集合P中元素的个数F满足Fmod8=0,密文集合C中元素的个数G满足Gmod8=0。
[0024]本发明若要破译,需要运算明文字节数(N) 8倍的二次幂,即28k ,基本上没有破解的可能性。本发明通过软件实现,方法简单,且极难破译;加密方法不是传统的一对一,一对多,而是无序加密;明文加密、发送、接收、解密实行三分离原则,使得保密系统更加安全。
[0025]本发明提供了文件式的加解密方法,在计算机或相关设备加解密时,通常以文件的形式保存明文、秘钥和密文,本发明也可以实现。加密时,通常会提供明文文件和秘钥文件,加密后生成密文文件,本发明中,三个文件皆为二进制文件。加密时,其步骤包括:
(1)读取明文文件中明文信息的字节数M,同时读取秘钥文件中秘钥信息的字节数N,且规定M大于N ;
(2)以字节N为单位读取明文文件中的明文信息,并取指针P指向所读取的明文信息的尾位置;
(3)读取秘钥文件中的秘钥信息,并取指针q指向秘钥信息的首位置;
(4)指针q按位移动,指针P随着q的移动而冋步移动,当指针q搜索到“I”位时,将指针P所指向的位值保存,同时将指针P所指向的位值至尾位值全部左移一位,并将保存的指针P所指向的位值填入至尾位;
(5)重复步骤(4),直至指针q移动至密钥信息的尾位置,将处理后的指针P所指向的明文信息写入至密文文件中;
(6)重复步骤(2)至步骤(5),对读取的下一个N字节的明文信息进行加密,直至明文文件中的明文信息全部被读取,并生成对应的密文文件,密文文件可以迭代固定次数的加密步骤,生成对应的密文文件。
[0026]加密后需要解密,解密步骤包括:
(11)读取密文文件中密文信息的字节数K,同时读取秘钥文件中秘钥信息的字节数N,且K大于N ;
(12)以字节N为单位读取密文文件中的密文信息,并取指针P指向所读取的密文信息的尾位置;(13)读取秘钥文件中的秘钥信息,并取指针q指向秘钥信息的尾位置;
(14)指针q按位移动,当指针q搜索到“I ”位时,将指针P所指向的位值保存,指针P移动一位,之后将密文信息中与指针q相对应位置的位值至尾位全部右移一位,并将所保存的指针P所指向的位值填入至密文信息中与指针q相对应的位置;
(15)重复步骤(14),直至指针q移动至密钥信息的首位置,将处理后的指针p所指向的明文信息写入至明文文件中;
(16)重复步骤(12)至步骤(15),对读取的下一个N字节的密文信息进行解密,直至密文文件中的密文信息全部被读取,并生成对应的明文文件,将生成的此文件迭代与加密时相同次数的解密步骤,生成所需要的明文文件。
[0027]其中,明文文件中的字节数M、秘钥文件中的字节数N及密文文件中的字节数K均为整数,且M与K均大于N,这样就保证了在以N为单位进行加密或解密时,保证运算的可靠性。
[0028]本发明在具体应用时,其中涉及到的位移运算,如加密时向左移动,解密时向右移动,只是一种简单的运算而已,但完全满足应用,对于使用类似手段的技术均在本发明的保护范围之内;对于以文件形式进行加解密的类似手段,亦在本发明的保护范围。
[0029]实施例2:
本实施例以加解密时的数据为例进行说明,简单起见,进行如下设置:
明码集合 M = (?, X1,…Am) = (0100 0010) 2 ;
秘钥集合 P =(7。J1= (0100 0001)
加密时,秘钥集合P从左至右进行搜索,明码集合M则从右至左搜索,加密后,生成密文集合 C =(?,?...~_!:} = (1000 0010) 2。
[0030]解密时,对于:
秘钥集合 P =Ou1八-1) = (0100 0001)
密文集合 C =(2。而'…= (1000 0010) 2 ;
秘钥集合P从右至左搜索,密文集合也从右至左搜索,得到明码集合M =
(X0jX1,--= (0100 0010) 2。
[0031]在具体执行时,亦可以将对应的集合写入对应的文件之中,以文件的形式进行加
密解密。
[0032]以上所述,只是本发明的较佳实施例而已,本发明并不局限于上述实施方式,只要其以相同的手段达到本发明的技术效果,都应属于本发明的保护范围。
【权利要求】
1.一种基于流密码的丢位加密-补位解密的加解密方法,其特征在于,包括明码集合M= (?,Xy X88J'和秘钥集合P ={凡,乃,…八J,且两个集合均为二进制集合,所述方法包括加密步骤与解密步骤,其中,加密步骤包括: 取指针P指向秘钥集合P的 > 位,并向JV1方向搜索,同时取指针q指向明码集合M的&-1位,并向.?方向搜索,且规足指针q随着指针P的位移而同步位移; 当指针P搜索到“ I ”位时,将指针q所指向的位值保存,同时将指针q所指的位至U位全部左移一位,并将保存的指针q所指向的位值写入尾部; 当指针P搜索至九-1位时,完成加密,并生成二进制密文集合C =2f-1); 所述解密步骤包括: 取指针P指向秘钥集合?的7?-1位,并向I方向搜索,取指针q指向密文集合C的Zp1位,并內,万向搜索; 当指针P搜索到“ I ”位时,将指针q所指向的位值保存,指针q移动一位,同时将密文集合中与指针P相对应的位置的位值至位全部右移一位,并将保存的指针q所指向的位值写入至密文集合中与指针P相对应的位置; 当指针P搜索至I位时,完成解密,并生成明码集合M。
2.根据权利要求1所述的方法,其特征在于,所述加密步骤还包括: 将生成的密文集合C迭代固定次数的加密步骤,生成对应的密文集合。
3.根据权利要求2所述的方法,其特征在于,所述解密步骤还包括: 将生成的明码集合M迭代相同固定次数的解密步骤,生成对应所需要的明码集合。
4.根据权利要求1所述的方法,其特征在于,对于明码集合和秘钥集合P =,其中,m大于等于n。
5.根据权利要求1所述的方法,其特征在于,所述秘钥集合P=为32字节、64字节、128字节、256字节。
6.根据权利要求1所述的方法,其特征在于,其中,明码集合M中的元素个数E满足Emod8=0,秘钥集合P中元素的个数F满足Fmod8=0,密文集合C中元素的个数G满足Gmod8=0。
7.一种基于流密码的丢位加密-补位解密的加解密方法,其特征在于,包括明文文件、秘钥文件和密文文件,所述方法包括加密步骤和解密步骤,所述加密步骤包括: (1)读取明文文件中明文信息的字节数M,同时读取秘钥文件中秘钥信息的字节数N,且规定M大于N ; (2)以字节N为单位读取明文文件中的明文信息,并取指针p指向所读取的明文信息的尾位置; (3)读取秘钥文件中的秘钥信息,并取指针q指向秘钥信息的首位置; (4)指针q按位移动,指针p随着q的移动而冋步移动,当指针q搜索到“I”位时,将指针P所指向的位值保存,同时将指针P所指向的位值至尾位值全部左移一位,并将保存的指针P所指向的位值填入至尾位; (5)重复步骤(4),直至指针q移动至密钥信息的尾位置,将处理后的指针P所指向的明文信息写入至密文文件中; (6)重复步骤(2)至步骤(5),对读取的下一个N字节的明文信息进行加密,直至明文文件中的明文信息全部被读取,并生成对应的密文文件; 所述解密步骤包括: (11)读取密文文件中密文信息的字节数K,同时读取秘钥文件中秘钥信息的字节数N,且K大于N ; (12)以字节N为单位读取密文文件中的密文信息,并取指针P指向所读取的密文信息的尾位置; (13)读取秘钥文件中的秘钥信息,并取指针q指向秘钥信息的尾位置; (14)指针q按位移动,当指针q搜索到“I ”位时,将指针P所指向的位值保存,指针P移动一位,之后将密文信息中与指针q相对应位置的位值至尾位全部右移一位,并将所保存的指针P所指向的位值填入至密文信息中与指针q相对应的位置; (15)重复步骤(14),直至指针q移动至密钥信息的首位置,将处理后的指针P所指向的明文信息写入至明文文件中; (16)重复步骤(12)至步骤(15),对读取的下一个N字节的密文信息进行解密,直至密文文件中的密文信息全部被读取,并生成对应的明文文件。
8.根据权利要求6所述的方法`,其特征在于,所述解密步骤还包括: 将步骤(6)所生成的密文文件迭代固定次数的加密步骤,生成对应的密文文件。
9.根据权利要求8所述的方法,其特征在于,所述解密步骤还包括: 将步骤(16)所生成的明文文件迭代相同固定次数的解密步骤,生成所需要的明文文件。
10.根据权利要求7所述的方法,其特征在于,所述明文文件、秘钥文件和密文文件均为二进制文件。
【文档编号】H04L9/00GK103595524SQ201310494077
【公开日】2014年2月19日 申请日期:2013年10月21日 优先权日:2013年10月21日
【发明者】司玉娟, 郎六琪 申请人:吉林大学
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1