專利名稱:在基因算法、信息編碼和非重復(fù)加密中采用合成基因的制作方法
技術(shù)領(lǐng)域:
本發(fā)明涉及基因算法(genetic algorithms)、信息編碼和信息加密。具體說,本發(fā)明涉及基因算法的結(jié)構(gòu)和如何能夠使該結(jié)構(gòu)更精確地類似于自然的基因范型;復(fù)雜數(shù)據(jù)組編碼的結(jié)構(gòu),具體說,數(shù)字上體表達的數(shù)據(jù)組;和絕對可靠的信息加密方法。特別適用該發(fā)明的問題的范圍是,傳統(tǒng)基因算法的更自然的類基因的實現(xiàn)、以合成基因的形式提高信息編碼的效率和/或采用合成基因的信息加密可能是這些問題的一個解決途徑。
背景技術(shù):
基因算法用于解決研究、發(fā)展和實施的許多領(lǐng)域,尤其是科學(xué)和工程中的問題已經(jīng)有很多年了。基因算法的核心魅力是其對于否則難以解決的問題提出的新穎解決途徑的概念。因為其存在與自然生物基因相同的巨大魔力和驚人效果的原因,通過基因算法的使用,研究者常常發(fā)現(xiàn)對于各種問題的獨特和意外的解決方案。
部分說來,基因算法擁有其能力和效用,正是由于它模仿了這樣一個過程,按現(xiàn)在的科學(xué)估計,其已經(jīng)成功地自我演進了數(shù)億年。
因此,希望能夠提供自然基因法則的更高程度的轉(zhuǎn)換,并將其應(yīng)用到基因算法的領(lǐng)域。
隨著科技進步為數(shù)據(jù)的利用和可視化創(chuàng)造了更多的機會,對編碼和檢索該信息的現(xiàn)有技術(shù)也有了更多的壓力。具體說,三維可視對象的領(lǐng)域和在數(shù)字環(huán)境中它們的操縱已經(jīng)在醫(yī)學(xué)、教育和科學(xué)中變得越來越重要。虛擬現(xiàn)實正在快速變?yōu)橐环N被接受的,在某些情況下甚至是唯一的實現(xiàn)有效的通信、教育和仿真的方式。遺憾的是,當(dāng)前的信息編碼的方法是非常低效的和麻煩的。
因此,希望提供更有效和簡潔的信息編碼方法。
因為數(shù)字業(yè)務(wù)的指數(shù)性增加,在因特網(wǎng)上和因特網(wǎng)下,對于完全可靠的信息交換的形式的需要已經(jīng)變得極為重要。隨著功能更強大的計算機為幾乎每個人所擁有的時代的來臨,數(shù)據(jù)加密的計算加強算法,以及該加密的解碼,現(xiàn)在已經(jīng)變得實際上可行了。
技術(shù)工具的快速興起、更平常的專門技術(shù)和易得的計算機的絕對能力已經(jīng)滋生了一類新的用戶,他們的動機并不總是那么令人尊敬的?!按a破譯”和計算機“駭客”總的來說已經(jīng)成為了娛樂、成就和犯罪活動的新手段。迄今為止,絕對可靠的信息加密算法,如果有的話,也是極少的。
基因算法通常是發(fā)展單個數(shù)據(jù)對象的種群的平行處理,通常將二進制字符串發(fā)展為相同數(shù)據(jù)類型的新種群,使用模仿生物基因的諸如重組或交換的方法和基于達爾文的適者生存的觀念的比例再生模式。該算法從通常以某一偽隨機方式產(chǎn)生的數(shù)據(jù)對象的某一起始種群開始。這些數(shù)據(jù)對象然后被迭代地估計其適應(yīng)性,由于其屬于手邊的問題,對種群內(nèi)的各種數(shù)據(jù)對象執(zhí)行類基因的運算以便進化一個新種群。
在“Adaptation in Artificial and Natural Systems” (《在人工和自然系統(tǒng)中的適應(yīng)》,作者John H.Holland教授,1975年)一書中,密執(zhí)安大學(xué)的JohnHolland闡述了用于固定長度的二進制字符串的基因算法的最初的概念。在基因算法和基因分類符系統(tǒng)中的后續(xù)和重要的工作可以參見在Grefenstette的1987年的Proceedings of the Second International Conference on GeneticAlgorithms(基因算法第二屆國際會議);《計算機》1994年6月,第27卷第6期17-26頁的M.Srinlvas等的“Genetic AlgorithmsA survey”(基因算法一個調(diào)查);Goldberg的《基因算法》,第10-20頁和第80-139頁,AddisonWesley 1989版;在San Diego的1987年6月的IEEE第一屆神經(jīng)網(wǎng)絡(luò)國際會議的第3卷第769-775頁的W.B.Dress的“Darwinian Optimization ofSynthetic Neural Systems”(合成神經(jīng)系統(tǒng)的達爾文優(yōu)化);1987年7月28-31日的Proceedings of the Second International Conference on Genetic Algorithms(基因算法第二屆國際會議)的第36-40頁的Schaffer等的“An AdaptiveCrossover Distribution Mechanism for Genetic Algorithms”(基因算法的自適應(yīng)交換分配機制);和Melanie Mitchell的“An Introduction to GeneticAlgorithms”(基因算法入門)第87-113頁,MIT出版社1996年。
在隨后幾年中,對Holland的基本假設(shè)進行了幾種改進,但都沒有考慮在這些基因算法和它們的自然基因范型之間缺乏平行性的問題,即在傳統(tǒng)的基因算法中,類性的重組和交換,不論其幾何或親緣的復(fù)雜化,都僅以其最終形式,即其表型形式,對種群成員或數(shù)據(jù)對象發(fā)生。這在生物學(xué)上就等價于例如將跑的非常快的人的腿嫁接到具有強壯上肢的人的身體上以便得到某一環(huán)境適應(yīng)性的目的。
實際上,所有的在基因算法中的改進的努力都是在同一水平上進行的。即,不管其變化,現(xiàn)有技術(shù)在基因算法中的交換和適應(yīng)性選擇的規(guī)程是在成員發(fā)展的相同階段上執(zhí)行的,而不考慮圍繞著支持個體發(fā)育的基因組的調(diào)制系統(tǒng)的綜合行為的復(fù)雜性,或者換言之,從簡單到更復(fù)雜階段逐步改變的有機體中包含的事件的展開。
實際上,生物學(xué)的性重組是在基因型階段發(fā)生的,在該階段基因型是一組共享一特定基因構(gòu)造的有機體。表型是由有機體的基因構(gòu)造和環(huán)境相互作用而確定的該有機體的構(gòu)造,是在事物的全部方案中發(fā)生自然選擇的階段。
在牛津大學(xué)出版社1993年的“The Origins of Order”(次序的起源),第411頁到439頁,Stuart A.Kauffman指出,在自然遺傳學(xué)和本體論中,“染色體和點突變連續(xù)地‘?dāng)_亂’調(diào)整系統(tǒng)的‘線路圖’和‘邏輯’”。另外,發(fā)展過程是高度遞歸的,實際上比Von Neumann建筑遠更平行,其歪曲了關(guān)于認識到“基因代碼”被執(zhí)行的方式的觀點。
實際上,兩個過程,即生物交換或性重組和適應(yīng)性選擇,不僅發(fā)生在不同的層次,而且是以難以置信的不同規(guī)模發(fā)生的。
在W.H.Freeman and Company 1965年的“基因總論”,第2-26頁、第265-384頁,Adrian M.Srb指出,“據(jù)估計,使發(fā)育出目前全世界的人口的卵子受精的精子可以被裝入小于鉛筆上的橡皮的一個容器…人類生物上遺傳的特質(zhì),也就是類似性以及將人彼此區(qū)分和將人與其他生物相區(qū)別的不同,其基礎(chǔ)在大量微小的精子中?!斌w表達(volume rendering)是一種計算機圖形技術(shù),由此感興趣的對象或事物被采樣或被分為許多立方的積木,稱為體素,或體元素。體素是二維(以下稱為2-D)象素的三維(以下稱為3-D)的對應(yīng)物,是單位體的量度標(biāo)準(zhǔn)。每個體素帶有一個或多個值,用于該體的某一被測量或計算的特性,體素通常由單位立方體表示。3-D體素組由多個2-D圖像聚合,并通過將這些圖像投射到2-D象素空間來顯示,在其中它們被存儲在幀緩沖器中。以這種方式表達的體類似于在3-D空間中粒子的透明懸浮。
在面表達(surface rendering)中,體數(shù)據(jù)(volumetric data)必須通過諸如等表面、等輪廓、平面提取或邊界跟隨,被首先轉(zhuǎn)換為幾何基元。然后,使用傳統(tǒng)的幾何表達技術(shù),諸如多邊形網(wǎng)絡(luò)或輪廓的這些基元被表達用于顯示。兩種技術(shù)都有各自的優(yōu)缺點。
體表達技術(shù)的主要優(yōu)點是,3-D體可以被顯示而無需任何數(shù)據(jù)組的幾何知識,因而無需立即轉(zhuǎn)換為面表示法。在面表達中的該轉(zhuǎn)換步驟有時可以是相當(dāng)復(fù)雜,尤其是如果面沒有被好好定義,例如有干擾的2-D圖像,其可能需要很多的用戶的干預(yù),諸如手動輪廓描繪(contour tracing)。
另一方面,因為3-D數(shù)據(jù)組被減少為面表達中的一組基元(primitive),這可以導(dǎo)致要存儲的數(shù)據(jù)量的顯著減少,可以提供由該方法產(chǎn)生3-D重構(gòu)的快速顯示和操縱。
相反地,由于所有的圖像堆棧數(shù)據(jù)被用于體表達,所以需要具有很多存儲器和處理能力的計算機來處理以這種方式被表達的體。因為整個數(shù)據(jù)組被以體表達的方式保存,所以在用面表達簡化到幾何結(jié)構(gòu)時可能會丟失的任何部分,包括內(nèi)部結(jié)構(gòu)和細節(jié),都可被觀看。
由于感興趣的大多數(shù)應(yīng)用程序希望保存源自體表達的內(nèi)部結(jié)構(gòu)和細節(jié),但也希望象在面表達的情況那樣更有效地執(zhí)行,尤其是對于大量數(shù)據(jù)的情況,因此很希望能夠提供一種技術(shù),實現(xiàn)兩種方法的優(yōu)點,即面表達的速度和體表達的詳細。
數(shù)據(jù)加密的現(xiàn)有技術(shù)至少有兩千年的歷史,整個密碼術(shù)領(lǐng)域已經(jīng)進化到相當(dāng)高度的專業(yè)化。最常用的方法采用“密鑰”或密鑰系統(tǒng)。一個密鑰可以是例如“快褐狐”的一個短語的二進制等價物。該二進制數(shù)則被用于加密信息數(shù)據(jù)組。作為一個總的原則,該二進制數(shù)越長,破譯該加密的消息越難。因此,相比于更標(biāo)準(zhǔn)的40位方法,所謂的“強”加密算法可能使用128位方法。早期密鑰加密算法的一種形式是“對稱”密鑰方法。對稱密鑰加密方法需要被加密的消息的發(fā)送者和接收者都可以使用同一密鑰,該同一密鑰被用于加密和解密,因此,“對稱”。該系統(tǒng)假定這些通信具有另外可靠通信的途徑,否則就無法對使用什么密鑰達成一致。
在1976年,斯坦福大學(xué)的Whitfield Diffie和Martin Hellman提出了“公鑰”加密系統(tǒng)。不久該系統(tǒng)被命名為“RSA”。用戶的RSA軟件產(chǎn)生一對密鑰。每個都是大整數(shù),有時多于500位。這兩個密鑰是數(shù)學(xué)上相關(guān)的。任何一個密鑰可以被輸入某個軟件以加密一個消息,另一個密鑰可以被以后輸入以解密同一消息。即,用一個密鑰加密,用另一個密鑰解密。然而,在實際中,RSA加密被更多地用作安全“信封”。因此,發(fā)送的是用一個對稱密鑰加密的消息和所使用的密鑰的拷貝,包裹在RSA信封中。在接收端,解密軟件首先打開RSA信封,獲取對稱密鑰,使用該密鑰以解碼該消息。
在任何情況下,同一加密將導(dǎo)致,每次同一密鑰都被用于同一信息數(shù)據(jù)組。即,該過程可以被重復(fù)(replicate)。
無論所使用的密鑰系統(tǒng)的類型如何,對稱的或公共的,可重復(fù)最終是現(xiàn)有技術(shù)的信息加密的薄弱方面。
因此,希望能夠提供一種改進的方法,用于不可被重復(fù)的絕對可靠的信息加密。
發(fā)明內(nèi)容
本發(fā)明使用生物遺傳學(xué)作為一個比喻,通過將合成基因并入基因算法過程,以實現(xiàn)與自然基因范型更加平行。在計算機可讀存儲器的結(jié)構(gòu)中采用合成基因,為基因算法提供了更大的靈活性和能力,使得可以有效和簡潔地信息編碼,提供了安全信息加密,和提供了一種問題解決途徑,可以被應(yīng)用到大量的非常不同的問題。
本發(fā)明的另一個實施例提供了一種使用合成基因的編序的信息數(shù)據(jù)組的非線性編碼的方法和系統(tǒng)。
本發(fā)明的另一個實施例提供了一種使用合成基因的高度非線性信息加密的方法和系統(tǒng),其是完全非重復(fù)的。
本發(fā)明的其他優(yōu)點和新穎特征,有的將會在下面的描述中被闡釋,有的將在本領(lǐng)域的技術(shù)人員細查以下描述后變得清楚,或者有的將由本發(fā)明的實施而被獲知。
圖1是基因型和表型層次之間的區(qū)別的概觀,所公開的發(fā)明在執(zhí)行基因算法時在這些層次上工作;圖2是用于以基因算法實施本發(fā)明的一般方法的流程圖;圖3是用于示例問題中的遞歸子例程的偽代碼列表,在該示例問題中采用了基因算法中的合成基因;圖4是要由本發(fā)明的一個實施例解決的示例“魔方”問題的合成染色體擴展和適應(yīng)性評估的流程圖;圖5是在使用合成基因來編碼體信息中所使用一般例程的流程圖;圖6是根據(jù)本發(fā)明的一個實施例使用合成基因的示例“立方體中的立方體”編碼問題的流程圖;圖7a是在示例編碼問題中用于產(chǎn)生外部立方體的詳細宏參數(shù)的表;圖7b是在示例編碼問題中用于顯示四個內(nèi)部立方體的詳細宏指令的表;圖8是根據(jù)本發(fā)明的一個實施例用于示例“立方體中的立方體”問題的遞歸子例程的偽代碼列表;圖9是“立方體中的立方體”問題的編碼的合成基因的表和描述;圖10是根據(jù)本發(fā)明的一個實施例的使用合成基因的信息加密的概觀;圖1l是根據(jù)本發(fā)明的一個實施例的使用合成基因的消息加密的例子的流程圖;圖12是在消息加密例子中使用的遞歸子例程的偽代碼列表;和圖13是示出產(chǎn)生不同組合成基因的同一消息的加密的兩個例子的表。
本發(fā)明的詳細描述現(xiàn)在參考附圖,合成基因和計算機可讀取存儲器結(jié)構(gòu)的使用和實施將被更全面地描述。另外,合成染色體和它們的合成基因的產(chǎn)生、存儲和操縱的規(guī)程將被更全面地描述。最后,從在合成染色體和構(gòu)成的合成基因內(nèi)包含的基本信息中得出的包含被編碼的參數(shù)或物理問題組的其他方面的表型結(jié)構(gòu)的構(gòu)造將被更全面地描述。
的確,尤其從線性數(shù)學(xué)觀點看,生物染色體和它們所包括的基因,在相對“不復(fù)雜”的基因到基因關(guān)系中,已經(jīng)進化了上億年。盡管如此,退一步說,例如象人眼這樣復(fù)雜的器官畢竟已經(jīng)出現(xiàn)了,這是令人印象深刻的。在牛津大學(xué)出版社1993年的“The Origins of Order”(次序的起源)中的第441頁到442頁,Stuart A.Kauffman指出,在實際上,生物進化的絕對能力來源于“包含成千上萬基因的基因系統(tǒng)的生成物相互激發(fā)和抑制(turn on andoff)。它是協(xié)調(diào)在有機體的每個細胞類型中的不同基因的表達,并成為個體發(fā)育的有序展開的基礎(chǔ)的該管理系統(tǒng)的整體動態(tài)行為?!币虼?,從簡化的觀點來看,生物進化的力量源自在有機體的發(fā)展層次的適應(yīng)性評估和在其基因?qū)哟蔚闹噩F(xiàn)和交換之間的持續(xù)的循環(huán)。
圖1示出了兩個主要層次,本發(fā)明的一個實施例的基因算法在這些層次上工作。在上面的表型層次中的適應(yīng)性選擇過程規(guī)定了在下面的基因型層次中的重組或交換和可能的變異過程中哪個合成基因最終發(fā)生。
在圖2的流程圖中示意性地示出了在基因算法內(nèi)使用合成基因和染色體的概觀。在第一步驟,按給定問題的參數(shù)的要求,進行將由擴展子例程EXPAND使用的全局賦值(global assignment)。它們可以包括模運算符的除數(shù)最大值、在每個染色體中的基因的數(shù)目、最終的表型實體的大小、和其最終特性將在目標(biāo)函數(shù)中被評估的單個種群成員。
下一步驟包括產(chǎn)生合成染色體的整個種群,其由單個合成基因組成。該步驟可以是,通常也是以偽隨機方式進行的。
接下來的步驟被迭代地進行,直到某一目標(biāo)被達到。它們包括根據(jù)等級按比例產(chǎn)生后代,例如合成染色體交換直到整個種群被取代;引入小概率變異;擴展每個成員的基因組為充分形成的表型實體或者準(zhǔn)問題解決方案;和根據(jù)它們對某一目的或目標(biāo)函數(shù)的匹配來將整個表型種群的結(jié)果分等級。
在下面提出的例子中,目標(biāo)函數(shù)是對所謂“魔方”問題的解決方案。在該案中,四乘四的網(wǎng)格矩陣,每個格中有1到16的整數(shù)之一,且其安排的方式使得每行、每列和每個對角線中各格的和相等。
圖3示出了一個簡單子例程的偽代碼,其可以被用于擴展合成染色體為充分發(fā)展的種群成員,該種群成員具有足以有能力解決示例問題的足夠的結(jié)構(gòu)。由于其是遞歸調(diào)用,要被賦予當(dāng)前種群成員的合成染色體的基因的臨時向量的全局數(shù)組“dx[]”,擴展結(jié)果即充分發(fā)展的表型種群成員的臨時數(shù)組“exp-rslt[]”,還有作為模運算符的除數(shù)的“md”,都是在別處定義的。
以偽代碼的形式,調(diào)用的原型是EXPAND(t,x,d,n),其中t=要擴展的基因的數(shù)目
x=最后計算的數(shù)據(jù)(初始為0)d=基因數(shù)組元素計數(shù)器(即染色體位點)(初始為0)和n=所得種群成員的大小(即,在此是被編碼和充分發(fā)展的種群成員的線性長度)因為在實際中,最充分發(fā)展或擴展的種群成員在長度上比它們對應(yīng)的合成染色體大得多,所以基因數(shù)組計數(shù)器,即染色體位點被首先檢查是否超出了染色體位點的范圍。例如,如果d<0,則t被加到現(xiàn)在的d值上,即d=d+t。如果d>t,則t被從現(xiàn)在的d值中減去,即d=d-t。
已經(jīng)確立染色體位點在合適的范圍內(nèi)后,下一步驟是將染色體的當(dāng)前位點的值即基因數(shù)組元素“d”加到剛計算的即“通過”的值“x”,得到“m”,即在子例程內(nèi)臨時定義的局部變量。然后模運算符確定“m”去掉其除數(shù)“md”的整數(shù)倍后的余數(shù)。在該特定例子中,由于基因值是偽隨機賦予的在0和999之間的值,所以保證了相當(dāng)量的可變性。1必須被加入該結(jié)果,因為基數(shù)是0,而我們的代碼對于可能的值的要求是在1-16的范圍內(nèi)。
最后,為了遞歸調(diào)用的終止,進行檢查是否第0個元素已經(jīng)到達,如不然,則(對其自身)進行另一個調(diào)用,直到該條件被滿足。
圖4示出了在“魔方”問題中的用于所得表型的染色體擴展和適應(yīng)性評估的詳細流程圖。
可能合成基因的更重要的一個方面是執(zhí)行信息數(shù)據(jù)組的高度壓縮和有序的編碼的能力。正如上面在與體表達數(shù)據(jù)相關(guān)的背景技術(shù)部分中所討論的,面表達數(shù)據(jù)的優(yōu)點之一是其表達的速度,因為笛卡兒坐標(biāo)是知道的,而體表達數(shù)據(jù)不是幾何上具體的,使用體素可以存儲關(guān)于對象的內(nèi)部結(jié)構(gòu)的詳細信息,盡管在存儲器和計算的額外開銷方面常?;ㄙM不菲。面表達方法的相對的速度和存儲優(yōu)勢的取得是因為不存儲關(guān)于在3-D空間中對象的內(nèi)部結(jié)構(gòu)的信息。
本發(fā)明的一個實施例提供了一種以面表達方法的精神和效率存儲類體象素信息實現(xiàn)體表達的優(yōu)勢的方法和系統(tǒng)。
圖5是合成基因編碼過程的概觀,由于其可以包含簡單體形狀,內(nèi)部細節(jié)是完整的。
圖6示出了用于編碼簡單數(shù)據(jù)組的過程的流程圖,用于產(chǎn)生3D立方體,在其內(nèi)部有不同顏色、陰影和表面信息的四個更小的立方體,等距離地放置。
圖7a和圖7b是示出在下面的例子中用作宏規(guī)范的實際數(shù)據(jù)的不同層次的表,其用“Geomview”來實現(xiàn),“Geomview”是由明尼蘇達大學(xué)研發(fā)的3D可視化軟件環(huán)境。圖7a和圖7b是圖6中的第一步驟“定義目標(biāo)信息”的放大。
每個數(shù)據(jù)組被認為是在整個過程中變形的一個層次。其從外部立方體的坐標(biāo)參數(shù)開始,所有的后續(xù)變形層次都從屬于這些坐標(biāo)。
在圖6中的第二步是合成染色體的偽隨機種群的產(chǎn)生。在該特定例子中,則生成了有1,500,000個合成染色體的種群,每個合成染色體具有有著范圍在1-999之間的數(shù)值的四個合成基因。
圖8是示出圖6中的第三步驟的偽代碼列表和發(fā)生實際變形的迭代環(huán)的第一部分。其描述了單個合成染色體擴展為一個狀態(tài)模型,從而當(dāng)其被“單步調(diào)試”或執(zhí)行時,編碼參數(shù)的試驗矩陣將在值的范圍內(nèi)被產(chǎn)生,傳給遞歸的子例程“GEOMGROW”。
每個這樣構(gòu)造的,即擴展的試驗矩陣被與在規(guī)程中初始定義的目標(biāo)數(shù)據(jù)相比較,并以升序排列其差。
迭代的下一個部分執(zhí)行合成染色體交換,其量與各個擴展的狀態(tài)模型的排列(ranking)成比例,其中使得對合成基因的小概率的變異在代碼內(nèi)是可能的。
迭代過程繼續(xù),直到對于當(dāng)前層次的目標(biāo)數(shù)據(jù),實現(xiàn)了完美的匹配。整個過程被重復(fù),直到所有層次的目標(biāo)數(shù)據(jù)已經(jīng)被這樣變形。
因此,在該例子中,整個體數(shù)量的每個層次的復(fù)雜度(complexity)將有其自己的四個合成基因組(以外部立方體的坐標(biāo)基因開始)、外部立方體的定義的特性,然后前進到內(nèi)部立方體、它們的定義的特性等等。
圖9示出了由該方法產(chǎn)生的實際的合成基因組。比較圖7a和圖7b與圖9并注意在比例上的不同而同時在其中仍然使得合成基因忠實地抄寫到最終的體形式,這是有趣的。
圖10是通過使用合成基因的加密數(shù)據(jù)的過程的概觀。本發(fā)明在數(shù)據(jù)加密方面的一個優(yōu)點是,表示完全相同數(shù)據(jù)組的任何兩組合成基因相同是極不可能的。即,該過程是不重復(fù)的。換言之,由本發(fā)明在單獨的情況下被加密的同一數(shù)據(jù)組基本不會導(dǎo)致相同的合成基因組。實際上,這種事件的發(fā)生概率大致是大多數(shù)現(xiàn)今的偽隨機數(shù)發(fā)生器的重復(fù)率,通常在3*1038左右。
所公開的方法的另一個特征是允許以各種途徑利用加密“密鑰”或信息數(shù)據(jù)組以外的其它信息,使得其被嵌入所編碼的合成基因結(jié)構(gòu)。該加密密鑰可以遵循對稱和/或公共密鑰的比較標(biāo)準(zhǔn)的用法,正如上面在關(guān)于數(shù)據(jù)加密的背景技術(shù)部分中所討論的那樣,或者可以以比較新的方式被采用。因為其高度非線性的編碼方案,該加密方法與現(xiàn)有技術(shù)相比,為各種形式的“類密鑰”信息,包括索引的密鑰、每字符密鑰和復(fù)合密鑰的可能性留下了空間。
圖11是使用合成基因的示例加密過程的流程圖。該示例加密還圖示了將加密密鑰嵌入從信息數(shù)據(jù)組這樣產(chǎn)生的合成基因內(nèi)的方法。通常,該規(guī)程是適應(yīng)性選擇過程,其中對特定子數(shù)據(jù)組的可能的精確匹配是由一系列對子例程CYPHER的遞歸調(diào)用來產(chǎn)生的。
下面使用單個加密密鑰“secret”來加密短語“Fall not from grace”。在該例中,該短語被分解為三個字符的數(shù)據(jù)子組,即(“Fa)、(ll)、(not)等。加密密鑰“secret”被轉(zhuǎn)換為數(shù)字量,且是下面要描述的子例程CYPHER中的一個自變量,用于對特定子數(shù)據(jù)組的每次初始調(diào)用。
圖12是描述在加密例子中使用的子例程CYPHER的偽代碼列表。全局基因數(shù)組“dx[]”被在例程CYPHER前面定義,包含在變形過程中使用的試驗基因。“ptype[]”也被全局定義,將包含具有從0到255的值的所得的被變形的數(shù)據(jù)。“cnt”是全局定義的計數(shù)器,用于“ptype[]”,且是CYPHER的終止量。CYPHER的目的是要將一系列數(shù)字的合成基因和任何加密密鑰變形為在0到255的ASCII范圍內(nèi)的一系列數(shù)字量,其表示了在標(biāo)準(zhǔn)美國鍵盤上可打印字符的范圍。通過簡單改變模運算符除數(shù)就可以采用不同的范圍。
任何加密密鑰被初始地傳入CYPHER作為在其調(diào)用中的一個自變量,隨著每次對CYPHER的調(diào)用的進行時其初始值被遞歸地修改,其陷入了所得的變形中。即,合成基因和加密密鑰值作為一個總和按模255運算,以產(chǎn)生對目標(biāo)數(shù)據(jù)的數(shù)字的ASCII字符等價物的可能的答案。
在該特定例子中,加密密鑰“secret”被轉(zhuǎn)換為一數(shù)字量,表示其ASCII字符的每個的數(shù)字等價物的總和。該數(shù)字的密鑰值被初始地傳給CYPHER,用于表示信息數(shù)據(jù)組的所分解的短語的每個子數(shù)據(jù)組。在CYPHER對本身的后續(xù)調(diào)用中,由“m”表示的先前被修正的值“x”(初始值0)和由“nk”表示被修正的值“k”(初始值為加密密鑰)都被以它們的被修正的形式傳回以便被進一步修正,即以前修正的修正,以此類推。
圖13示出了用加密密鑰“secret”加密短語“Fall not from grace”的兩個獨立例子所產(chǎn)生的編碼的合成基因。其示出本發(fā)明產(chǎn)生了兩組完全不同的合成基因,每個都恰好表示了同一信息數(shù)據(jù)組和加密密鑰。如果使用了加密密鑰“secret”,則每組合成基因都可以被解密回到完全相同的短語“Fall notfrom grace”。
盡管示出和描述了本發(fā)明的某些實施例,但是應(yīng)該理解本發(fā)明不限于此,而可以在下面的權(quán)利要求范圍內(nèi)被以各種形式實施。
權(quán)利要求
1.一種用于表示數(shù)據(jù)組的方法,包括產(chǎn)生合成基因序列的步驟,該合成基因序列在被擴展時產(chǎn)生所述數(shù)據(jù)組的精確復(fù)制件。
2.如權(quán)利要求1所述的方法,其中一系列規(guī)則被定義,通過所述規(guī)則給定的合成基因序列可以被擴展從而產(chǎn)生特定數(shù)據(jù)組的精確復(fù)制件。
3.如權(quán)利要求1所述的方法,其中多個合成基因序列被定義。
4.如權(quán)利要求3所述的方法,其中所述多個合成基因序列是偽隨機選擇的合成基因序列,作為擴展為特定數(shù)據(jù)組的精確復(fù)制件的潛在候選者。
5.如權(quán)利要求4所述的方法,其中一系列規(guī)則被定義,用于合成基因序列的系統(tǒng)的和最終的選擇,而所述合成基因序列將使用一系列定義的規(guī)則被擴展為特定數(shù)據(jù)組的精確復(fù)制件,通過所述一系列規(guī)則,一個給定的合成基因序列可以被擴展從而產(chǎn)生特定數(shù)據(jù)組的精確復(fù)制件。
6.如權(quán)利要求1所述的方法,其中所述數(shù)據(jù)組以外的信息被合并到特定合成基因序列中。
7.如權(quán)利要求6所述的方法,其中一系列規(guī)則被定義,用于將所述以外的信息作為從屬于所述數(shù)據(jù)組的特定子數(shù)據(jù)組來表示。
8.如權(quán)利要求7所述的方法,其中一個二級系列規(guī)則被定義,通過該一系列規(guī)則,給定的合成基因序列可以被擴展從而產(chǎn)生特定數(shù)據(jù)組和所述以外的信息的精確復(fù)制件的混合。
9.如權(quán)利要求8所述的方法,其中一系列規(guī)則被定義,用于合成基因序列的系統(tǒng)的和最終的選擇,而所述合成基因序列將使用一系列規(guī)則和一系列二級的規(guī)則被擴展為特定數(shù)據(jù)組和所述以外的信息的精確復(fù)制件,前述的一系列規(guī)則用于將所述以外的信息作為從屬于所述數(shù)據(jù)組的特定子數(shù)據(jù)組來表示,通過前述的一系列二級的規(guī)則,給定的合成基因序列可以被擴展從而產(chǎn)生特定數(shù)據(jù)組和所述以外的信息的精確復(fù)制件的混合。
10.如權(quán)利要求1-9之一所述的方法,還包括通過擴展所述合成基因序列來恢復(fù)所述數(shù)據(jù)組的步驟。
11.如權(quán)利要求1-9之一所述的方法,還包括以下步驟通過擴展所述合成基因序列來恢復(fù)所述數(shù)據(jù)組;和其中從通過包括以外的信息在所述數(shù)據(jù)組中、和定義用于將所述以外的信息表示為從屬于所述數(shù)據(jù)組的特定子數(shù)據(jù)組的規(guī)則、所產(chǎn)生的所述合成基因序列中,恢復(fù)所述數(shù)據(jù)組以外的信息。
12.如權(quán)利要求1-9之一所述的方法,還包括以下步驟通過擴展所述合成基因序列來恢復(fù)所述數(shù)據(jù)組;其中從通過包括以外的信息在所述數(shù)據(jù)組中、和定義用于將所述以外的信息表示為從屬于所述數(shù)據(jù)組的特定子數(shù)據(jù)組的規(guī)則、所產(chǎn)生的所述合成基因序列中,恢復(fù)所述數(shù)據(jù)組以外的信息;和其中一系列規(guī)則被定義,通過該一系列規(guī)則,給定的合成基因序列可以被擴展從而產(chǎn)生特定數(shù)據(jù)組和所述以外的信息的精確復(fù)制件的混合。
13.如權(quán)利要求1-9之一所述的方法,還包括以下步驟通過擴展所述合成基因序列來恢復(fù)所述數(shù)據(jù)組;其中從通過包括以外的信息在所述數(shù)據(jù)組中、和定義用于將所述以外的信息作為從屬于所述數(shù)據(jù)組的特定子數(shù)據(jù)組來表示的規(guī)則、所產(chǎn)生的所述合成基因序列中,恢復(fù)所述數(shù)據(jù)組以外的信息;其中一系列規(guī)則被定義,通過該一系列規(guī)則,給定的合成基因序列可以被擴展從而產(chǎn)生特定數(shù)據(jù)組和所述以外的信息的精確復(fù)制件的混合;和其中一系列規(guī)則被定義,用于實現(xiàn)與特定數(shù)據(jù)組相結(jié)合的所述以外的信息。
14.如權(quán)利要求1-9之一所述的方法,還包括以下步驟通過擴展所述合成基因序列來恢復(fù)所述數(shù)據(jù)組;其中從通過包括以外的信息在所述數(shù)據(jù)組中、和定義用于將所述以外的信息表示為從屬于所述數(shù)據(jù)組的特定子數(shù)據(jù)組的規(guī)則、所產(chǎn)生的所述合成基因序列中,恢復(fù)所述數(shù)據(jù)組以外的信息;其中一系列規(guī)則被定義,通過該一系列規(guī)則,給定的合成基因序列可以被擴展從而產(chǎn)生特定數(shù)據(jù)組和所述以外的信息的精確復(fù)制件的混合;其中一系列規(guī)則被定義,用于實現(xiàn)與數(shù)據(jù)組的特定子組相結(jié)合的所述以外的信息;和其中一系列規(guī)則被定義,用于使用所述以外的信息解密所述數(shù)據(jù)組的特定子組。
15.一種計算機數(shù)據(jù)結(jié)構(gòu),包括通過產(chǎn)生合成基因序列的步驟產(chǎn)生的電子數(shù)據(jù),該合成基因序列在被擴展時重現(xiàn)特定數(shù)據(jù)組,所述基因序列是從所述特定數(shù)據(jù)組合成的。
16.一組編程指令,其當(dāng)由計算機執(zhí)行時,執(zhí)行產(chǎn)生合成基因序列的步驟,該合成基因序列在被擴展時重現(xiàn)特定數(shù)據(jù)組,所述基因序列是從所述特定數(shù)據(jù)組合成的。
17.一種用于解決使用基因算法的問題的系統(tǒng),包括計算機,具有處理器、用于數(shù)據(jù)和編程指令存儲的存儲器、數(shù)據(jù)輸入和數(shù)據(jù)輸出;和一系列編程指令,當(dāng)由計算機執(zhí)行時執(zhí)行產(chǎn)生合成基因序列的步驟,該合成基因序列在被擴展時重現(xiàn)特定數(shù)據(jù)組,所述基因序列是從所述特定數(shù)據(jù)組合成的。
全文摘要
一種通過使用合成基因使得基因算法更準(zhǔn)確地平行于生物基因范型的方法和系統(tǒng)?;蛐秃铣扇旧w被遞歸地擴展以產(chǎn)生表型狀態(tài)模型、位串或其他形式的編碼的種群,其適合于表示特定問題。使用合成基因,類性的重組在合成染色體層次上發(fā)生,而適應(yīng)性評估和選擇在充分發(fā)展即擴展和編碼的結(jié)構(gòu)的層次上發(fā)生。另外,也講述了用于將復(fù)雜數(shù)據(jù)結(jié)構(gòu)編碼為合成基因的系統(tǒng)和方法,以及利用基因算法非重復(fù)地加密信息數(shù)據(jù)組的系統(tǒng)和方法,其中諸如加密密鑰的數(shù)據(jù)組以外的信息可以被嵌入合成基因結(jié)構(gòu)內(nèi)。
文檔編號C12N15/00GK1376282SQ00812665
公開日2002年10月23日 申請日期2000年9月5日 優(yōu)先權(quán)日1999年9月10日
發(fā)明者威廉·L·克勞利 申請人:威廉·L·克勞利