專利名稱:無理數(shù)序列密碼的制作方法
技術領域:
本發(fā)明涉及信息安全領域的序列密碼,序列密碼是一類加密方式,序列密碼的種類很多,其主要的區(qū)別是密鑰序列的不同。本發(fā)明采用的密鑰序列是無理數(shù)位序列,密鑰或種子密鑰為無理數(shù)表示式或記號和無限無理數(shù)位序列的截取方法。
背景技術:
在序列密碼中,有一些名稱是表示同一個意思,在本說明書中交替使用如序列密碼和流密碼;密鑰、短密鑰、種子密鑰和密鑰種子;密鑰流和密鑰序列。
序列密碼的加密過程是先把報文、語音、圖像和數(shù)據(jù)等原始明文轉換成明文數(shù)據(jù)序列,然后將它同密鑰序列進行逐位加密運算生成密文序列發(fā)送給接收者,接收者用相同的密鑰序列對密文序列進行逐位解密運算來恢復明文序列。目前,在序列密碼中大部分的密鑰序列是偽隨機序列,當然也有其他比較復雜的序列。
由于序列密碼應使用盡可能長的密鑰序列,而很長的密鑰序列的存儲和分配都很困難,于是人們采用一個短的密鑰(種子密鑰)來控制長的密鑰序列的產生,供加解密使用,而短密鑰(種子密鑰)的存儲和分配都比較容易。
發(fā)明內容
大家知道,無理數(shù)即無限不循環(huán)小數(shù)。
定義任一無理數(shù)X的絕對值可表示為|X|=W1W2…Wi-Wi+1Wi+2…,i=1,2,3,…,則稱無限序列{Ws}為無理數(shù)X的數(shù)值位序列,簡稱為無限無理數(shù)位序列;稱X為無理數(shù)的表示式或記號。
例如,(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,…}為無理數(shù)(1003-170)/3]]>的無限無理數(shù)位序列,(1003-170)/3]]>為無理數(shù)的表示式或記號。
在實際應用中,由于明文序列是有限長度的,所以我們只會用到有限長度的密鑰序列,這里需要對無限無理數(shù)位序列{Ws}進行截取,例如去除序列開始為0的位或不為0的若干位,同時截去尾部的部分,達到要求的長度。我們將無限無理數(shù)位序列的截取部分稱為無理數(shù)位序列。因此在實際應用中,不會將無限無理數(shù)位序列全部算出。
由無理數(shù)的定義無限不循環(huán)小數(shù),我們可知無理數(shù)位序列是無周期的序列,而且在不知道無理數(shù)表示式或記號的情況下,無理數(shù)位序列看似沒有規(guī)律,另一方面,大家知道無理數(shù)的個數(shù)有無窮多個,因此得知無理數(shù)位序列一部分要知道其表示式或記號是很困難的事,目前還沒有發(fā)現(xiàn)有效的方法,只能用窮搜索法計算無理數(shù)值,和已知的序列部分進行比較,但無理數(shù)的形式有無窮多種,可開二次方、三次方和3/4次方等等,還有三角函數(shù)值和超越數(shù)(如π)等等,窮搜索的定位就是一個問題;即使知道無理數(shù)的形式,如知道和開二次方有關,但無理數(shù)位序列和小數(shù)點的位置沒有關系,在我們截掉無限無理數(shù)位序列的前面若干位以后,無理數(shù)位序列和無理數(shù)的數(shù)值范圍沒有關系,窮搜索的搜索范圍無法定位。在不知無理數(shù)表示式或記號的情況下,要知道無理數(shù)位序列的其他部分幾乎是不可能的,只能是猜測。
基于以上的原因,我們將無理數(shù)位序列用于序列密碼采用無理數(shù)表示式或記號和無限無理數(shù)位序列的截取方法為序列密碼的密鑰;由密鑰我們可得到無理數(shù)位序列,采用無理數(shù)位序列為密鑰序列。這里需要說明,由無理數(shù)表示式或記號得到無限無理數(shù)位序列實際就是計算無理數(shù)值,而計算無理數(shù)值的方法有很多,這些方法不是本發(fā)明要涉及的。
由于無理數(shù)表示式或記號和無限無理數(shù)位序列的截取方法通常是比較簡短的,用它們來做密鑰便于密鑰的存儲和分配;而無理數(shù)位序列有無周期和看似無規(guī)律的特點及由無理數(shù)位序列的一部分猜出無理數(shù)位序列的其他部分和無理數(shù)表示式或記號非常困難的特點,本加密方法的攻擊是困難的。
下面結合附圖對本發(fā)明進一步說明。
圖1是序列密碼的示意框圖。E表示明文序列與密鑰序列逐位加密的運算;D表示密文序列與密鑰序列逐位解密的運算。
圖2是無理數(shù)序列密碼的示意框圖。E表示明文序列與無理數(shù)位序列逐位加密的運算;D表示密文序列與無理數(shù)位序列逐位解密的運算。
具體實施例方式
無限無理數(shù)位序列的產生實際上是計算相應無理數(shù)的值,計算的方法有很多,在很多書籍和資料上都可以找到,這不是本發(fā)明要關注的內容。當然被選擇的方法應適合硬件或軟件計算,要求計算速度快。這里要求計算速度快,是對同一個無理數(shù)而言,即計算此無理數(shù)是快的。
無理數(shù)表示式或記號的選擇也即無理數(shù)本身的選擇,一般不要選常用的無理數(shù)如和π等等,至少也應當變化一下,如 等等,而 和 會產生完全不同的無限無理數(shù)位序列,總之可選擇的無理數(shù)是無窮的,有的計算起來比較簡單,例如和開二次方有關的無理數(shù),有的卻很復雜,可根據(jù)實際情況選擇,如果要求高的地方,可選擇計算復雜的無理數(shù),如果攻擊者知道無理數(shù)的類別,他也需要用長的時間計算和搜索;如果要求不高,可選擇簡單的無理數(shù)形式。無理數(shù)的形式理論上有無窮多種,如果將無理數(shù)的表示式猜錯,破解密碼幾乎是不可能的;即使猜對了表示式的形式,也還需要猜具體數(shù)值,如是 還是 等等。而且破譯者即使知道了無理數(shù)位序列的一部分,要猜測具體的無理數(shù)表示式或無理數(shù)位序列的其他部分,目前還沒有發(fā)現(xiàn)有效的方法,只能是搜索,有無限多種可能的表示式形式和具體數(shù)值,所以破譯工作是非常困難的。但有一種無理數(shù)我們不能選擇,即有規(guī)律變化的無限不循環(huán)小數(shù),如
0.1010010001000010000010…。
無限無理數(shù)位序列的截取方法有很多,其中最簡單也最實用的方法是去掉前面一定位數(shù)的部分,前面連續(xù)為零的部分肯定要去掉,原因很簡單,密鑰序列一部分連續(xù)為零,別人很容易得到明文的內容,前面不為零的部分也需要去掉一部分,這樣做的目的是使無理數(shù)位序列本身更難破解,原因是如果我們去掉前面1000位,那么為破解而搜索的人(如果他知道去掉的位數(shù),而且知道密鑰序列的一部分)每次搜索必須計算到1000位以上,這樣就增加了破解的難度。如果破解的人不知道去掉的位數(shù)而知道密鑰序列的一部分,那么為了保險起見,他每次搜索而計算的位數(shù)要更高。無理數(shù)位序列的長度一般和明文序列或密文序列的長度相等。
下面舉一個具體例子來說明無理數(shù)位序列的建立過程,由于篇幅有限,我們截取的位數(shù)比較少,而且去掉無限無理數(shù)位序列前面的位數(shù)也比較少。這里我們選的無理數(shù)是 序列前面去掉的位數(shù)是8位,無理數(shù)位序列的總長度為18位。計算1.7=1.3038404810405297429165943114858...,]]>得到無限無理數(shù)位序列{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,…},由截取的規(guī)定,我們得到無理數(shù)位序列{8,1,0,4,0,5,2,9,7,4,2,9,1,6,5,9,4,3}。我們就可以將這個序列用于加密或解密。因此在實際應用中,我們不會將無限無理數(shù)位序列全部算出后再截取成無理數(shù)位序列。
在計算機領域和數(shù)字通信領域,一般會用二進制數(shù)來表示明文序列和密文序列,因此我們也需要將無理數(shù)位序列用二進制表示,而這時明文序列和密鑰序列的加密運算及密文序列和密鑰序列的解密運算通常會用相同的運算,即模2的加法運算。
權利要求
1.由密鑰、密鑰序列、通過密鑰產生密鑰序列的算法、密鑰序列與明文序列逐位加密的運算方法及密鑰序列與密文序列逐位解密的運算方法所決定的序列密碼,其特征在于密鑰為無理數(shù)表示式或記號和無限無理數(shù)位序列的截取方法。
2.如權利要求1所述的序列密碼,其特征在于密鑰序列為無理數(shù)位序列。
全文摘要
本發(fā)明涉及信息安全領域的序列密碼,序列密碼的種類很多,其主要的區(qū)別是密鑰序列的不同。本發(fā)明采用的密鑰序列是無理數(shù)位序列,密鑰為無理數(shù)表示式或記號和無限無理數(shù)位序列的截取方法。無理數(shù)即無限不循環(huán)小數(shù),由無理數(shù)值的每一位組成的序列是無周期的,因此其截取部分也是無周期的序列,在不知道無理數(shù)表示式的情況下,無理數(shù)位序列看似沒有規(guī)律,而且得知無理數(shù)位序列一部分要知道其表示式或無理數(shù)位序列的其他部分是很困難的事,目前還沒有發(fā)現(xiàn)有效的方法,因此對無理數(shù)序列密碼的攻擊是困難的。
文檔編號G06F7/38GK1570845SQ0314165
公開日2005年1月26日 申請日期2003年7月17日 優(yōu)先權日2003年7月17日
發(fā)明者易克三 申請人:易克三