当前位置: 首页 > 专利查询>易克三专利>正文

无理数序列密码制造技术

技术编号:2866643 阅读:372 留言:0更新日期:2012-04-11 18:40
由密钥、密钥序列、通过密钥产生密钥序列的算法、密钥序列与明文序列逐位加密的运算方法及密钥序列与密文序列逐位解密的运算方法所决定的序列密码,其特征在于密钥为无理数表示式或记号和无限无理数位序列的截取方法。(*该技术在2023年保护过期,可自由使用*)

【技术实现步骤摘要】

本专利技术涉及信息安全领域的序列密码,序列密码是一类加密方式,序列密码的种类很多,其主要的区别是密钥序列的不同。本专利技术采用的密钥序列是无理数位序列,密钥或种子密钥为无理数表示式或记号和无限无理数位序列的截取方法。
技术介绍
在序列密码中,有一些名称是表示同一个意思,在本说明书中交替使用如序列密码和流密码;密钥、短密钥、种子密钥和密钥种子;密钥流和密钥序列。序列密码的加密过程是先把报文、语音、图像和数据等原始明文转换成明文数据序列,然后将它同密钥序列进行逐位加密运算生成密文序列发送给接收者,接收者用相同的密钥序列对密文序列进行逐位解密运算来恢复明文序列。目前,在序列密码中大部分的密钥序列是伪随机序列,当然也有其他比较复杂的序列。由于序列密码应使用尽可能长的密钥序列,而很长的密钥序列的存储和分配都很困难,于是人们采用一个短的密钥(种子密钥)来控制长的密钥序列的产生,供加解密使用,而短密钥(种子密钥)的存储和分配都比较容易。
技术实现思路
大家知道,无理数即无限不循环小数。定义任一无理数X的绝对值可表示为|X|=W1W2…Wi-Wi+1Wi+2…,i=1,2,3,…,则称无限序列{Ws}为无理数X的数值位序列,简称为无限无理数位序列;称X为无理数的表示式或记号。例如,(1003-170)/3=1.068360252295909784248211383529...,]]> 则无限序列{1,0,6,8,3,6,0,2,5,2,2,9,5,9,0,9,7,8,4,2,4,8,2,1,1,3,8,3,5,2,9,…}为无理数(1003-170)/3]]>;的无限无理数位序列,(1003-170)/3]]>为无理数的表示式或记号。在实际应用中,由于明文序列是有限长度的,所以我们只会用到有限长度的密钥序列,这里需要对无限无理数位序列{Ws}进行截取,例如去除序列开始为0的位或不为0的若干位,同时截去尾部的部分,达到要求的长度。我们将无限无理数位序列的截取部分称为无理数位序列。因此在实际应用中,不会将无限无理数位序列全部算出。由无理数的定义无限不循环小数,我们可知无理数位序列是无周期的序列,而且在不知道无理数表示式或记号的情况下,无理数位序列看似没有规律,另一方面,大家知道无理数的个数有无穷多个,因此得知无理数位序列一部分要知道其表示式或记号是很困难的事,目前还没有发现有效的方法,只能用穷搜索法计算无理数值,和已知的序列部分进行比较,但无理数的形式有无穷多种,可开二次方、三次方和3/4次方等等,还有三角函数值和超越数(如π)等等,穷搜索的定位就是一个问题;即使知道无理数的形式,如知道和开二次方有关,但无理数位序列和小数点的位置没有关系,在我们截掉无限无理数位序列的前面若干位以后,无理数位序列和无理数的数值范围没有关系,穷搜索的搜索范围无法定位。在不知无理数表示式或记号的情况下,要知道无理数位序列的其他部分几乎是不可能的,只能是猜测。基于以上的原因,我们将无理数位序列用于序列密码采用无理数表示式或记号和无限无理数位序列的截取方法为序列密码的密钥;由密钥我们可得到无理数位序列,采用无理数位序列为密钥序列。这里需要说明,由无理数表示式或记号得到无限无理数位序列实际就是计算无理数值,而计算无理数值的方法有很多,这些方法不是本专利技术要涉及的。由于无理数表示式或记号和无限无理数位序列的截取方法通常是比较简短的,用它们来做密钥便于密钥的存储和分配;而无理数位序列有无周期和看似无规律的特点及由无理数位序列的一部分猜出无理数位序列的其他部分和无理数表示式或记号非常困难的特点,本加密方法的攻击是困难的。附图说明下面结合附图对本专利技术进一步说明。图1是序列密码的示意框图。E表示明文序列与密钥序列逐位加密的运算;D表示密文序列与密钥序列逐位解密的运算。图2是无理数序列密码的示意框图。E表示明文序列与无理数位序列逐位加密的运算;D表示密文序列与无理数位序列逐位解密的运算。具体实施例方式无限无理数位序列的产生实际上是计算相应无理数的值,计算的方法有很多,在很多书籍和资料上都可以找到,这不是本专利技术要关注的内容。当然被选择的方法应适合硬件或软件计算,要求计算速度快。这里要求计算速度快,是对同一个无理数而言,即计算此无理数是快的。无理数表示式或记号的选择也即无理数本身的选择,一般不要选常用的无理数如和π等等,至少也应当变化一下,如 等等,而 和 会产生完全不同的无限无理数位序列,总之可选择的无理数是无穷的,有的计算起来比较简单,例如和开二次方有关的无理数,有的却很复杂,可根据实际情况选择,如果要求高的地方,可选择计算复杂的无理数,如果攻击者知道无理数的类别,他也需要用长的时间计算和搜索;如果要求不高,可选择简单的无理数形式。无理数的形式理论上有无穷多种,如果将无理数的表示式猜错,破解密码几乎是不可能的;即使猜对了表示式的形式,也还需要猜具体数值,如是 还是 等等。而且破译者即使知道了无理数位序列的一部分,要猜测具体的无理数表示式或无理数位序列的其他部分,目前还没有发现有效的方法,只能是搜索,有无限多种可能的表示式形式和具体数值,所以破译工作是非常困难的。但有一种无理数我们不能选择,即有规律变化的无限不循环小数,如 0.1010010001000010000010…。无限无理数位序列的截取方法有很多,其中最简单也最实用的方法是去掉前面一定位数的部分,前面连续为零的部分肯定要去掉,原因很简单,密钥序列一部分连续为零,别人很容易得到明文的内容,前面不为零的部分也需要去掉一部分,这样做的目的是使无理数位序列本身更难破解,原因是如果我们去掉前面1000位,那么为破解而搜索的人(如果他知道去掉的位数,而且知道密钥序列的一部分)每次搜索必须计算到1000位以上,这样就增加了破解的难度。如果破解的人不知道去掉的位数而知道密钥序列的一部分,那么为了保险起见,他每次搜索而计算的位数要更高。无理数位序列的长度一般和明文序列或密文序列的长度相等。下面举一个具体例子来说明无理数位序列的建立过程,由于篇幅有限,我们截取的位数比较少,而且去掉无限无理数位序列前面的位数也比较少。这里我们选的无理数是 序列前面去掉的位数是8位,无理数位序列的总长度为18位。计算1.7=1.3038404810405297429165943114858...,]]>得到无限无理数位序列{1,3,0,3,8,4,0,4,8,1,0,4,0,5,2,9,7,4,2,9,1,6,5,9,4,3,1,1,4,8,5,8,…},由截取的规定,我们得到无理数位序列{8,1,0,4,0,5,2,9,7,4,2,9,1,6,5,9,4,3}。我们就可以将这个序列用于加密或解密。因此在实际应用中,我们不会将无限无理数位序列全部算出后再截取成无理数位序列。在计算机领域和数字通信领域,一般会用二进制数来表示明文序列和密文序列,因此我们也需要将无理数位序列用二进制表示,而这时明文序列和密钥序列的加密运算及密文序列和密钥序列的解密运算通常会用相同的运算,即模2的加法运算。权利要求1.由密钥、密钥序列、通过密钥产生密钥序列的算法、密钥序列与明文序列逐位加密的运算方法及密钥序列与密文序列逐位解密的运算本文档来自技高网...

【技术保护点】

【技术特征摘要】

【专利技术属性】
技术研发人员:易克三
申请(专利权)人:易克三
类型:发明
国别省市:

网友询问留言 已有0条评论
  • 还没有人留言评论。发表了对其他浏览者有用的留言会获得科技券。

1
相关领域技术
  • 暂无相关专利