欧美在线观看视频网站,亚洲熟妇色自偷自拍另类,啪啪伊人网,中文字幕第13亚洲另类,中文成人久久久久影院免费观看 ,精品人妻人人做人人爽,亚洲a视频

基于可再現(xiàn)隨機(jī)序列的密碼系統(tǒng)的制作方法

文檔序號(hào):11532259閱讀:385來(lái)源:國(guó)知局
基于可再現(xiàn)隨機(jī)序列的密碼系統(tǒng)的制造方法與工藝

發(fā)明背景

本發(fā)明屬于密碼過(guò)程和裝置的領(lǐng)域。密碼學(xué)是用于對(duì)數(shù)據(jù)進(jìn)行加密(亦稱(chēng)編碼)或者用于對(duì)加密數(shù)據(jù)進(jìn)行解密(亦稱(chēng)解碼)的技術(shù)。盡管此技術(shù)長(zhǎng)期在軍事和外交領(lǐng)域中使用,但其今已擴(kuò)展到公共領(lǐng)域和商界?,F(xiàn)如今在經(jīng)濟(jì)上至關(guān)重要的是具有強(qiáng)且安全的密碼系統(tǒng)以保護(hù)商業(yè)數(shù)據(jù)和銀行通信。

定義

在揭露現(xiàn)有技術(shù)之前,將給出我將在本文件中使用的一些技術(shù)術(shù)語(yǔ)的定義。這些定義將適用于整個(gè)文件(說(shuō)明書(shū)、權(quán)利要求書(shū)、說(shuō)明書(shū)摘要)。

所謂術(shù)語(yǔ)“數(shù)據(jù)”是指所有種類(lèi)的信息、知識(shí)、文本、消息、文件、圖、數(shù)值結(jié)果、圖片、圖像、它們中的一些或全部的組合,或能夠通過(guò)字符的序列來(lái)表達(dá)、轉(zhuǎn)錄或者建模的項(xiàng)目。

所謂術(shù)語(yǔ)“字符的序列”是指以下各項(xiàng)的序列:指符號(hào)(字母、數(shù)值、標(biāo)點(diǎn)符號(hào)等)、所有種類(lèi)的空間、象形符號(hào)、表意文字、數(shù)字、基于數(shù)個(gè)狀態(tài)的碼(例如摩斯碼、電傳碼、電子設(shè)備中的數(shù)字二進(jìn)制碼等)、可能遵循編碼方案(例如ascii、ansi、unicode、baudot或其他)的數(shù)值碼(二進(jìn)制、十進(jìn)制、十六進(jìn)制或無(wú)論什么基數(shù))、任何等同物的或它們中的一些或全部的組合。并且我因此將“字符”定義為從其做出字符的序列的元素。

所謂“隨機(jī)序列”是指這樣的字符序列,其中即使知道在序列中哪些是前一個(gè)字符(和/或接下來(lái)的字符)也無(wú)法預(yù)測(cè)哪一個(gè)字符將處于序列中的特定位置,并且這適用于序列中的每個(gè)位置。

現(xiàn)有技術(shù)

幾個(gè)世紀(jì)以來(lái),vigenère密碼被認(rèn)為是最安全密碼系統(tǒng)之一。它基于每個(gè)字母用按字母表順序移位的另一個(gè)字母的取代,其中不同的移位適用于消息的每個(gè)字符。為了記住不同移位的序列,已創(chuàng)建了“密鑰”的系統(tǒng)。密鑰是單詞或句子,其中每個(gè)字母給出要應(yīng)用的移位,對(duì)于“a”考慮“0”,對(duì)于“b”考慮“1”,對(duì)于“c”考慮“2”,直到對(duì)于“z”考慮“25”為止。并且密鑰是循環(huán)的直到要加密的文本的結(jié)尾為止。

此技術(shù)已在第一次世界大戰(zhàn)期間被用于gilberts.vernam的“printingtelegraph”(電傳打字機(jī))(美國(guó)專(zhuān)利1,310,719)。在此系統(tǒng)中,字符使用baudot碼被按照二進(jìn)制編碼。這意味著存在僅兩個(gè)符號(hào)和兩個(gè)可能的移位:無(wú)或“移位到另一個(gè)符號(hào)”。并且因?yàn)槊荑€被放在磁帶上,所以隨機(jī)序列開(kāi)始被使用,因?yàn)椴辉傩枰涀∶荑€。

針對(duì)vigenère密碼做出的首次成功的攻擊由friedrichkasiski完成,并且更高效的攻擊由williamfriedman設(shè)計(jì)出。兩個(gè)技術(shù)利用了密鑰被反復(fù)使用這一事實(shí)。

為了對(duì)抗這些技術(shù),已經(jīng)設(shè)計(jì)使用至少和要加密的文本一樣長(zhǎng)的密鑰。找到此類(lèi)密鑰的最好方式是使用書(shū)本(當(dāng)然,對(duì)位置而言是未知的)。然而,這種密碼仍然可被解密,因?yàn)槊荑€承載含義。

美軍少校josepho.mauborgne找到了該問(wèn)題的解決方案。了解了vernam系統(tǒng)及其隨機(jī)密鑰之后,他通過(guò)設(shè)定和要加密的文本一樣長(zhǎng)的隨機(jī)密鑰并且通過(guò)規(guī)定每個(gè)隨機(jī)密鑰應(yīng)該被使用僅一次來(lái)使其完善。

這種系統(tǒng)被稱(chēng)為一次一密(onetimepad),并且已正式地證明了這種密碼系統(tǒng)是完全不可被破解的。然而,使用密鑰僅一次的強(qiáng)加條件實(shí)際上是為什么這種充分證明的密碼系統(tǒng)很少被使用的原因:除必須生成大量的隨機(jī)密鑰之外,主要問(wèn)題是通過(guò)安全信道將密鑰發(fā)送到接收方。這被稱(chēng)作“密鑰分發(fā)問(wèn)題”。似乎顯然的是,如果這種安全信道存在,則個(gè)人將使用該安全信道來(lái)通過(guò)它直接發(fā)送其消息而不是發(fā)送隨機(jī)密鑰并且然后發(fā)送加密消息。

解決此問(wèn)題的一個(gè)嘗試是使用非常小的隨機(jī)密鑰并且根據(jù)它計(jì)算偽隨機(jī)序列(所有元素從先前的元素和/或從計(jì)算的先前狀態(tài)計(jì)算的序列),而不是使它循環(huán)。這個(gè)小隨機(jī)密鑰通常使用公開(kāi)密鑰密碼學(xué)(參見(jiàn)下面)被發(fā)送到接收方,并且從它生成的偽隨機(jī)序列被用作加密密鑰。這種密碼系統(tǒng)被稱(chēng)作“流密碼(streamcipher)”。

就像一次一密一樣,提供和文本一樣長(zhǎng)的密鑰沒(méi)有意義。然而,與一次一密相反,密鑰的元素彼此相關(guān)的事實(shí)正在顯著性地消弱系統(tǒng),最終允許密碼分析者將其破解:在暴力破解攻擊(brute-forceattack)(其中每個(gè)可能的密鑰被依次嘗試)的情況下,將存在較少密鑰要嘗試(僅所有小隨機(jī)密鑰而不是全長(zhǎng)密鑰)并且密鑰的計(jì)算字符之間的相關(guān)性不允許如此多的虛假密鑰(若有的話)。

還使用“短”隨機(jī)密鑰的另一系列密碼系統(tǒng)是“塊密碼”系列。這里,數(shù)據(jù)被按固定長(zhǎng)度的塊截?cái)?,所述塊被加密數(shù)次。每次(被稱(chēng)作“輪”)塊使用數(shù)個(gè)技術(shù)(置換和取代)來(lái)加密時(shí),每輪利用不同的密鑰,所有這些密鑰使用定義算法從短隨機(jī)密鑰計(jì)算。輪數(shù)被假定為防止使用傳統(tǒng)技術(shù)向后用密碼分析法破譯。然而,與一次一密相比,我們具有與針對(duì)暴力破解攻擊的流密碼相同的問(wèn)題。

代替秘密密鑰,公開(kāi)密鑰密碼學(xué)使用一個(gè)現(xiàn)未解決的數(shù)學(xué)問(wèn)題(例如大數(shù)字的因式分解)以便對(duì)數(shù)據(jù)進(jìn)行編碼。密碼系統(tǒng)的此系列的基本原理是使加密密鑰和解密密鑰分開(kāi),加密密鑰是公開(kāi)的(因?yàn)樗荒軌虮挥脕?lái)對(duì)消息進(jìn)行解密)并且被給予給潛在發(fā)送方,解密密鑰是秘密的并且由接收方保持,并且創(chuàng)建單向通信信道(因此,為了在兩個(gè)人之間具有雙向通信信道,一個(gè)人需要?jiǎng)?chuàng)建兩個(gè)單向通信信道,這做出兩個(gè)公開(kāi)密鑰和兩個(gè)秘密密鑰)。

所以,此方案解決“密鑰分發(fā)問(wèn)題”,因?yàn)椴辉傩枰踩诺纴?lái)交換和文本一樣長(zhǎng)的秘密密鑰。然而,所述密碼系統(tǒng)通常是費(fèi)時(shí)的,所以在實(shí)踐中,它被僅用來(lái)對(duì)非常短的數(shù)據(jù)(例如小真隨機(jī)密鑰)進(jìn)行編碼,長(zhǎng)數(shù)據(jù)使用先前描述的密碼系統(tǒng)(使用所發(fā)送的小隨機(jī)密鑰)來(lái)編碼。

然而,應(yīng)該知道,與一次一密相反,公開(kāi)密鑰密碼學(xué)并非無(wú)條件安全的,因?yàn)椴豢赡茏C明沒(méi)有人已(秘密地)解決了該密碼系統(tǒng)基于的數(shù)學(xué)問(wèn)題。



技術(shù)實(shí)現(xiàn)要素:

技術(shù)問(wèn)題

因此,為了具有能夠?qū)辜夹g(shù)演進(jìn)的完全安全的密碼系統(tǒng)和密碼分析技術(shù),仍然在尋找比一次一密無(wú)條件安全但沒(méi)有“密鑰分發(fā)問(wèn)題”的密碼系統(tǒng)。

解決方案

我正在公開(kāi)的是一種用于使用一個(gè)或數(shù)個(gè)隨機(jī)序列作為密鑰來(lái)對(duì)數(shù)據(jù)進(jìn)行加密(亦稱(chēng)編碼)或者對(duì)加密數(shù)據(jù)進(jìn)行解密(亦稱(chēng)解碼)的新密碼方案(及其實(shí)施方式和實(shí)施例中的一些),所述密鑰至少和要處理的數(shù)據(jù)一樣長(zhǎng)。所公開(kāi)的密碼過(guò)程包括一個(gè)或數(shù)個(gè)隨機(jī)序列生成過(guò)程,一個(gè)加密過(guò)程和一個(gè)解密過(guò)程。加密過(guò)程和解密過(guò)程兩者使用來(lái)自隨機(jī)序列生成過(guò)程的隨機(jī)序列來(lái)(分別)對(duì)數(shù)據(jù)進(jìn)行加密和解密。

以基本方式,一個(gè)隨機(jī)序列生成過(guò)程包括至少一個(gè)偽隨機(jī)生成過(guò)程和一個(gè)隨機(jī)映射過(guò)程。偽隨機(jī)生成過(guò)程向隨機(jī)映射過(guò)程發(fā)送偽隨機(jī)序列。隨機(jī)映射過(guò)程使用偽隨機(jī)序列來(lái)利用用于將偽隨機(jī)序列的元素轉(zhuǎn)換成隨機(jī)序列的隨機(jī)元素的隨機(jī)轉(zhuǎn)移圖來(lái)生成隨機(jī)序列。此隨機(jī)轉(zhuǎn)移圖實(shí)際上被僅提供給被允許對(duì)數(shù)據(jù)進(jìn)行加密和解密的人。

以更復(fù)雜方式,一個(gè)隨機(jī)序列生成過(guò)程可以包括一個(gè)或數(shù)個(gè)偽隨機(jī)生成過(guò)程和數(shù)個(gè)隨機(jī)映射過(guò)程。一個(gè)偽隨機(jī)生成過(guò)程能夠?qū)⑵漭敵霭l(fā)送到一個(gè)或數(shù)個(gè)隨機(jī)映射過(guò)程。并且一個(gè)隨機(jī)映射過(guò)程還能夠接收一個(gè)或數(shù)個(gè)其他隨機(jī)映射過(guò)程的輸出以及甚至它自己的輸出的反饋?zhàn)鳛檩斎?。另外,可能可以針?duì)每個(gè)密碼會(huì)話對(duì)隨機(jī)轉(zhuǎn)移圖進(jìn)行變換。

此公開(kāi)的密碼過(guò)程能夠被以被稱(chēng)作“隱結(jié)構(gòu)”的數(shù)個(gè)方式具體實(shí)現(xiàn):具有適當(dāng)軟件的計(jì)算機(jī)(臺(tái)式機(jī)、膝上型電腦、工作站或任何型式,包括平板計(jì)算機(jī)和移動(dòng)電話),以及微控制器或嵌入式電子設(shè)備或?qū)S秒娮与娐坊蛑悄芸?,或目前存在或者將?lái)開(kāi)發(fā)的其等同物中的任一個(gè)(“隱結(jié)構(gòu)”的此定義將適用于整個(gè)文件,包括權(quán)利要求書(shū))。

優(yōu)點(diǎn)

所公開(kāi)的密碼過(guò)程使用一個(gè)或數(shù)個(gè)隨機(jī)序列作為密鑰。直到現(xiàn)在為止,此類(lèi)隨機(jī)序列是以不可再現(xiàn)方式生成的,從而導(dǎo)致一次一密系統(tǒng)所面對(duì)的密鑰分發(fā)的問(wèn)題。這是由于關(guān)于隨機(jī)性的誤解而導(dǎo)致的,從而防止人們做出能夠再現(xiàn)同一(真)隨機(jī)序列數(shù)次的隨機(jī)序列生成器,諸如我們?cè)诒疚募泄_(kāi)的生成器。

對(duì)于許多人來(lái)說(shuō),隨機(jī)性來(lái)自完全逃避任何規(guī)則的混雜現(xiàn)象,從而導(dǎo)致完全不可預(yù)測(cè)的結(jié)果。實(shí)際上,如果混雜現(xiàn)象將不遵循任何規(guī)則,則將不能夠使混雜系統(tǒng)同步,但實(shí)驗(yàn)證明完全相反。

而且,如果一個(gè)人投擲骰子,或從不透明袋子中抽彩球,則結(jié)果被認(rèn)為是隨機(jī)的。但是如果袋子不是不透明的,或者如果骰子是以完全相同的方式投擲的,則使用相同的力和相同量的能量,結(jié)果將不再被認(rèn)為是隨機(jī)的,因?yàn)閷?duì)過(guò)程存在完全控制,從而產(chǎn)生人可期望的結(jié)果。

因此,我們能夠?qū)㈦S機(jī)性定義為結(jié)果的不可預(yù)測(cè)性,并且也就是說(shuō),實(shí)際上為在密碼學(xué)中使用的隨機(jī)性的特有特性。為了獲得此不確定性,此結(jié)果必須來(lái)自一個(gè)人未完全控制的過(guò)程。結(jié)果,只要每個(gè)人對(duì)序列來(lái)自于的生成過(guò)程缺少某種控制,我們就能夠推斷任何序列是隨機(jī)的。

因此,能夠從受控和不受控過(guò)程的混合獲得隨機(jī)序列,不受控過(guò)程保證序列的隨機(jī)性。在這里所公開(kāi)的密碼過(guò)程中,一些受控和不受控過(guò)程的組合被使用,以便生成呈現(xiàn)對(duì)具有來(lái)自不受控過(guò)程的結(jié)果數(shù)據(jù)的人們(以及僅那些人)來(lái)說(shuō)可再現(xiàn)的特質(zhì)的隨機(jī)序列。因此,能夠使用這些隨機(jī)序列以便創(chuàng)建和一次一密一樣強(qiáng)的密碼系統(tǒng),但是不需要分發(fā)大量的密鑰,因?yàn)檫@些“一次密鑰”實(shí)際上在通信信道的兩側(cè)被生成(在消息傳送系統(tǒng)的情況下,在這里被用作示例)。

這里,僅來(lái)自不受控過(guò)程的結(jié)果數(shù)據(jù)需要被分發(fā)。事實(shí)上,將在所撰寫(xiě)的說(shuō)明書(shū)中看到,能夠使用此密碼過(guò)程來(lái)實(shí)現(xiàn)無(wú)條件安全的通信信道。如此因?yàn)槲覀兡軌蛲ㄟ^(guò)此信道(一旦被建立)來(lái)發(fā)送所述密鑰,所以“密鑰分發(fā)問(wèn)題”得以解決。因此我們得到一個(gè)最強(qiáng)密碼系統(tǒng),其具有極少的密鑰分發(fā)事項(xiàng)(但沒(méi)有“密鑰分發(fā)問(wèn)題”)并且是無(wú)條件安全的,從而可獲得一個(gè)最有用的密碼系統(tǒng)。

附圖說(shuō)明

為了更容易地遵循完整描述,隨本文件提供了一些附圖。然而,尚不能夠?qū)⑺星闆r整合到一個(gè)附圖中。因此,詳細(xì)描述將呈現(xiàn)附圖中未明顯繪制的變型。附圖實(shí)際上是使基本原理形象化的輔助。

圖1是示出所公開(kāi)的密碼過(guò)程的基本運(yùn)算的流程圖。

圖2是示出具有可選特征的隨機(jī)序列生成過(guò)程的內(nèi)部運(yùn)算的流程圖??蛇x流程用虛線表示。

詳述

我們現(xiàn)在將描述不同的實(shí)施例。我們將集中于所公開(kāi)的密碼過(guò)程及其實(shí)施例的特質(zhì)。因此,將不提及本領(lǐng)域的技術(shù)人員所知道的用于改進(jìn)密碼過(guò)程的強(qiáng)度的所有技術(shù)(諸如對(duì)數(shù)據(jù)進(jìn)行壓縮以便將冗語(yǔ)減至最少、使用順序地填充并且偽隨機(jī)挑選的緩沖器表來(lái)增強(qiáng)序列隨機(jī)性等),但涵蓋它們對(duì)所公開(kāi)的密碼過(guò)程及其實(shí)施例的可用性。

密碼過(guò)程

裝置實(shí)施例(通常)遵循本文所公開(kāi)的原始密碼過(guò)程實(shí)現(xiàn)密碼系統(tǒng)以便對(duì)數(shù)據(jù)進(jìn)行加密,或者以便對(duì)加密數(shù)據(jù)進(jìn)行解密。這個(gè)密碼過(guò)程使用一個(gè)或數(shù)個(gè)隨機(jī)序列生成過(guò)程1(參見(jiàn)圖1)、加密過(guò)程2和解密過(guò)程3。隨機(jī)序列生成過(guò)程1基于一個(gè)或數(shù)個(gè)偽隨機(jī)序列生成過(guò)程6(參見(jiàn)圖2),并且基于一個(gè)或數(shù)個(gè)隨機(jī)映射過(guò)程7。

偽隨機(jī)序列生成過(guò)程能夠使用線性同余數(shù)生成器算法(或其系列中的一些)、逆同余數(shù)生成器算法(或其系列中的一些)、線性反饋移位寄存器算法(或廣義反饋移位寄存器)、blumblumshub偽隨機(jī)生成器算法、基于一個(gè)或數(shù)個(gè)混雜方程(例如,logistic差分方程;參見(jiàn)美國(guó)專(zhuān)利5,048,086)的算法、基于一個(gè)或數(shù)個(gè)混雜方程系統(tǒng)(例如,洛倫茲系統(tǒng);參見(jiàn)美國(guó)專(zhuān)利6,078,665)的算法、基于分形方程(例如,朱莉婭集(juliaset)或曼德勃羅集(mandelbrotset))的算法,或其輸出被散列函數(shù)弄亂的這些和其他偽隨機(jī)生成算法中的任一個(gè),或由實(shí)施者所期望的任何偽隨機(jī)生成算法,或它們中的一些的任何組合(對(duì)來(lái)自數(shù)個(gè)輸出的字符使用混合運(yùn)算(稍后說(shuō)明)或無(wú)論什么運(yùn)算)。

“隨機(jī)映射過(guò)程”是使用字符的隨機(jī)序列(被稱(chēng)作“隨機(jī)轉(zhuǎn)移圖”4)以便使用圖挑選協(xié)議將來(lái)自傳入序列的每個(gè)字符映射成傳出序列的隨機(jī)字符的過(guò)程?!皥D挑選協(xié)議”是用于在來(lái)自輸入數(shù)據(jù)的序列中選擇元素的方式,諸如模數(shù)索引、歸一化索引、n維表索引、經(jīng)調(diào)整的n維表索引,或使用一個(gè)或數(shù)個(gè)字符作為輸入以便確定要從序列(這里,隨機(jī)轉(zhuǎn)移圖)中挑選哪一個(gè)字符的任何算法。

模數(shù)索引協(xié)議在于將輸入字符用作數(shù)字,并且此數(shù)字將指示將從中挑選輸出字符的序列的排名。如果輸入字符不是數(shù)字,則能夠?qū)⑵湓谝恍┚幋a方案(例如,ascii、ansi或unicode)中的編碼數(shù)字認(rèn)為是輸入數(shù)字。如果輸入數(shù)字大于序列的大小(其是序列的元素的數(shù)目),則使用排名數(shù)字與序列的大小的歐幾里德除法的余數(shù)(因此,為“模數(shù)”,因?yàn)樗悄_\(yùn)算)。

歸一化索引協(xié)議例如是模索引協(xié)議,除了代替模運(yùn)算,排名被歸一化為序列的大小。這意味著將排名除以可能的最高排名,然后,將結(jié)果乘以序列的大小。結(jié)果在排名編號(hào)從一開(kāi)始的情況下被向上取整,或者在它從零開(kāi)始的情況下被向下取整。

在n維表索引協(xié)議中,序列被認(rèn)為是來(lái)自具有n個(gè)維度的表的行的連續(xù)。這意味著序列的大小必須是表在每個(gè)維度上的大小的乘積。此協(xié)議使用被認(rèn)為是數(shù)字的傳入字符作為要在表中挑選的字符的坐標(biāo)。

除了在計(jì)算要挑選的字符的坐標(biāo)的方式上,經(jīng)調(diào)整的n維表索引協(xié)議例如是n維表索引協(xié)議。這里,對(duì)輸入字符做出的任何運(yùn)算將適合,只要它將給出表的維度內(nèi)的坐標(biāo)即可。例如,它可以是模算術(shù)、像“異或”這樣的邏輯運(yùn)算,或形成數(shù)字(例如,des的s-盒)的選定比特的挑選。

通常,實(shí)施例提供數(shù)個(gè)圖挑選協(xié)議,從而讓用戶(hù)選擇要使用的協(xié)議。然而,應(yīng)該注意的是,用來(lái)通過(guò)圖挑選協(xié)議來(lái)挑選字符的字符索引方法可能與在制作隨機(jī)轉(zhuǎn)移圖期間使用的字符索引方法不同。例如,一個(gè)人能夠創(chuàng)建ansi字符的隨機(jī)序列,然后,在圖挑選協(xié)議中,將它認(rèn)為是比特的序列,或者反之亦然。實(shí)際上,這允許使隨機(jī)圖制作過(guò)程與輸出隨機(jī)序列所需的字符的鍵入完全分開(kāi)。

隨機(jī)映射過(guò)程7的傳入序列可以是來(lái)自偽隨機(jī)生成過(guò)程6的偽隨機(jī)序列(應(yīng)該注意的是,使用它們的輸出的“混合運(yùn)算”(在下面定義)作為輸出的數(shù)個(gè)偽隨機(jī)序列生成過(guò)程的組合實(shí)際上被認(rèn)為是一個(gè)偽隨機(jī)序列生成過(guò)程),或來(lái)自先前的隨機(jī)映射過(guò)程8的隨機(jī)序列,或來(lái)自數(shù)個(gè)先前的隨機(jī)映射過(guò)程8的數(shù)個(gè)隨機(jī)序列的組合(使用它們的字符的“混合運(yùn)算”),或這些可能性中的一些的組合(使用它們的字符的“混合運(yùn)算”)。

所謂“混合運(yùn)算”是指對(duì)實(shí)現(xiàn)者所需的輸入字符進(jìn)行“異或”、模加法、模減法、級(jí)聯(lián)、vigenère加密、beaufort加密、代換密碼、模線性組合或無(wú)論什么運(yùn)算或這些運(yùn)算的序列,這個(gè)計(jì)算給出一個(gè)字符或數(shù)個(gè)字符的序列作為結(jié)果。這個(gè)定義將適用于整個(gè)文件(說(shuō)明書(shū)、權(quán)利要求書(shū),說(shuō)明書(shū)摘要)。

在一些替代實(shí)施方式中,傳入序列既來(lái)自如上所述的傳入序列又來(lái)自作為反饋的特有隨機(jī)映射過(guò)程7的傳出序列。在這些替代實(shí)施方式中的一些中,反饋在其他傳入序列的下一個(gè)字符被處理之前在循環(huán)中(通過(guò)隨機(jī)映射過(guò)程)被處理了預(yù)定義次數(shù)。在這些替代實(shí)施方式中的其他實(shí)施方式中,反饋的字符使用“混合運(yùn)算”與其他傳入序列的字符組合。在這些其他替代實(shí)施方式中的一些中,反饋被延遲了預(yù)定義數(shù)目的字符。在一些其他實(shí)施方式中,提供先前描述的配置中的一些或全部,包括數(shù)個(gè)可能的“電路”,從而讓用戶(hù)選擇哪一個(gè)配置將被使用。并且在一些實(shí)施方式中,用戶(hù)甚至能夠設(shè)計(jì)此電路。

所謂“電路”是指隨機(jī)序列生成過(guò)程的內(nèi)過(guò)程(偽隨機(jī)序列生成過(guò)程和隨機(jī)映射過(guò)程)彼此連接的方式。電路還指定哪一個(gè)隨機(jī)映射過(guò)程輸出將被用作隨機(jī)序列生成過(guò)程輸出。

在該實(shí)施例中隨機(jī)轉(zhuǎn)移圖4是通過(guò)“隨機(jī)性生成”9創(chuàng)建并且提供給隨機(jī)映射過(guò)程7的字符的隨機(jī)序列。此隨機(jī)轉(zhuǎn)移圖是我們的隨機(jī)序列生成器的隨機(jī)性(還被本領(lǐng)域的技術(shù)人員稱(chēng)為“熵”)的來(lái)源。我們已看到隨機(jī)性暗示兩個(gè)事項(xiàng):不可預(yù)測(cè)性和缺少控制。不可預(yù)測(cè)性暗示隨機(jī)轉(zhuǎn)移圖必須保密并且對(duì)“敵方”不可訪問(wèn)(它還被設(shè)計(jì)為使它保持對(duì)用戶(hù)不可訪問(wèn))。并且缺少控制暗示允許我們定義隨機(jī)性生成的條件。

“隨機(jī)性生成”是不(或者不完全)使用數(shù)學(xué)或計(jì)算但是使用一個(gè)或數(shù)個(gè)不受控現(xiàn)象以便生成字符的創(chuàng)建的過(guò)程。此過(guò)程的最明顯的實(shí)施例中的一些是硬件“真”隨機(jī)生成器。這種硬件使用例如電子噪聲作為隨機(jī)值的來(lái)源,所述隨機(jī)值由算法后處理(被稱(chēng)為“隨機(jī)性提取”)。另一示例是測(cè)量放射性物質(zhì)的各個(gè)衰變之間的時(shí)間的更罕見(jiàn)硬件。

實(shí)施例的另一系列使用在沒(méi)有任何理性選擇的情況下挑選的文本10(或編譯程序二進(jìn)制或無(wú)論什么文件)作為隨機(jī)性的來(lái)源。事實(shí)上,在隱藏文本中,沒(méi)有人將能夠知道哪一個(gè)字母將在確定的位置中。但是通常,文本使用“取代運(yùn)算”被后處理一次或數(shù)次。后處理通常應(yīng)該是可再現(xiàn)的,因?yàn)樵搶?shí)施例本身應(yīng)該完成它。眾所周知的后處理即使不是取代運(yùn)算,也將數(shù)據(jù)劃分成比特的塊并且使用散列函數(shù)(能夠容易地計(jì)算確定大小的比特的結(jié)果但是其條目不能夠在合理時(shí)間中根據(jù)它被確定的所謂的“單向函數(shù)”)對(duì)這些塊進(jìn)行處理。

取代運(yùn)算是使用指定協(xié)議以及通常外部數(shù)據(jù)來(lái)用另一字符取代一字符的過(guò)程。外部數(shù)據(jù)可以是來(lái)自另一文本的字符或在循環(huán)中使用的隨機(jī)鍵入的字符或數(shù)據(jù)的任何其他來(lái)源。指定協(xié)議可以是文本的字符與外部數(shù)據(jù)之間的一個(gè)或數(shù)個(gè)“混合運(yùn)算”(如上面所定義的)或使用外部數(shù)據(jù)作為密鑰的文本的加密(利用塊密碼、流密碼或無(wú)論什么),但是它還可以是更復(fù)雜的協(xié)議或它們中的一些的組合。建議指定協(xié)議符合上面所給出的可再現(xiàn)性條件。

在一些實(shí)施例中,隨機(jī)序列生成過(guò)程1還包括隨機(jī)轉(zhuǎn)移圖變換過(guò)程11。此過(guò)程使用提供的參數(shù)(隨機(jī)鍵入的字符、隨機(jī)生成的字符或無(wú)論什么數(shù)據(jù))和一個(gè)或數(shù)個(gè)混合運(yùn)算來(lái)將所提供的隨機(jī)轉(zhuǎn)移圖(我們將稱(chēng)作“初級(jí)隨機(jī)轉(zhuǎn)移圖”)變換成另一隨機(jī)轉(zhuǎn)移圖(我們將稱(chēng)作“次級(jí)隨機(jī)轉(zhuǎn)移圖”)。次級(jí)隨機(jī)轉(zhuǎn)移圖將(通過(guò)與參數(shù)的每個(gè)字符一起對(duì)初級(jí)隨機(jī)轉(zhuǎn)移圖的每個(gè)字符應(yīng)用混合運(yùn)算、使參數(shù)循環(huán)直到所有初級(jí)隨機(jī)轉(zhuǎn)移圖被處理為止)被生成并且代替初級(jí)隨機(jī)轉(zhuǎn)移圖被隨機(jī)映射過(guò)程使用。這種特征通常被與針對(duì)每個(gè)加密會(huì)話的不同提供的參數(shù)以及針對(duì)一個(gè)會(huì)話的每個(gè)隨機(jī)轉(zhuǎn)移圖變換的通常不同的參數(shù)一起使用。

在一些替代實(shí)施例中,可能為專(zhuān)用單獨(dú)的一個(gè)或者由加密過(guò)程和/或解密過(guò)程使用的一個(gè)的一部分(或整體)的隨機(jī)序列生成過(guò)程(就像本文件中所公開(kāi)的隨機(jī)序列生成過(guò)程1一樣)被用來(lái)將初級(jí)隨機(jī)轉(zhuǎn)移圖變換成次級(jí)隨機(jī)轉(zhuǎn)移圖。在此配置中,所提供的參數(shù)被用來(lái)建立隨機(jī)序列生成過(guò)程,并且所生成的隨機(jī)序列被用來(lái)使用混合運(yùn)算對(duì)初級(jí)隨機(jī)轉(zhuǎn)移圖進(jìn)行變換。在一些替代實(shí)施例中,所生成的隨機(jī)輸出被直接用作次級(jí)隨機(jī)轉(zhuǎn)移圖,而不是對(duì)初級(jí)隨機(jī)轉(zhuǎn)移圖進(jìn)行變換。

在一些實(shí)施例中,隨機(jī)序列生成過(guò)程1還包括種子生成過(guò)程12,其為偽隨機(jī)生成過(guò)程6計(jì)算種子5(其是偽隨機(jī)序列生成器為了開(kāi)始計(jì)算序列所需的開(kāi)始數(shù)據(jù),這些所述數(shù)據(jù)的值影響序列的字符)。種子生成過(guò)程12對(duì)提供的或挑選的字符(諸如可能來(lái)自計(jì)算機(jī)存儲(chǔ)器或一個(gè)或數(shù)個(gè)隨機(jī)轉(zhuǎn)移圖4的一部分的挑選字符)使用“種子計(jì)算算法”?!胺N子計(jì)算算法”是對(duì)輸入字符使用算術(shù)、混合或無(wú)論什么運(yùn)算或它們中的一些(或全部)的組合以便輸出要用做種子的某個(gè)或一些值的算法。

最后,加密過(guò)程2和解密過(guò)程3皆可能在相同的密碼裝置中或者在單獨(dú)的密碼裝置中發(fā)生。它能夠使用任何密碼方案:vigenère密碼、beaufort密碼、塊密碼、流密碼,或由實(shí)施者想要的無(wú)論什么密碼方案。它還能夠使用它從隨機(jī)序列生成過(guò)程需要的任何數(shù)目的密鑰。事實(shí)上,加密過(guò)程和解密過(guò)程兩者能夠使用數(shù)個(gè)密鑰(通常為不同的密鑰)來(lái)對(duì)數(shù)據(jù)進(jìn)行處理數(shù)次。

密碼裝置

在實(shí)施例的一個(gè)系列中,一個(gè)或數(shù)個(gè)計(jì)算機(jī)或平板計(jì)算機(jī)或移動(dòng)電話(獨(dú)立的或者連接到網(wǎng)絡(luò))使用軟件以便遵循上面所公開(kāi)的密碼過(guò)程對(duì)數(shù)據(jù)進(jìn)行加密,或者對(duì)加密數(shù)據(jù)進(jìn)行解密,加密過(guò)程2和解密過(guò)程3皆在相同的計(jì)算機(jī)(在下文中,單詞“計(jì)算機(jī)”還將包括平板和移動(dòng)電話)上或者在不同的計(jì)算機(jī)(具有隨機(jī)序列生成過(guò)程的兩個(gè)計(jì)算機(jī))上。密碼過(guò)程的軟件實(shí)現(xiàn)是顯然的。

在裝置實(shí)施例的第二系列中,專(zhuān)用電子電路實(shí)現(xiàn)上面所公開(kāi)的密碼過(guò)程。這種電路包括數(shù)個(gè)部分,每個(gè)部分實(shí)現(xiàn)上面所描述的密碼過(guò)程的步驟中的一個(gè)(用于實(shí)現(xiàn)用于生成隨機(jī)序列的過(guò)程1的隨機(jī)序列生成器、用于實(shí)現(xiàn)用于對(duì)數(shù)據(jù)進(jìn)行加密的過(guò)程2的加密器、用于實(shí)現(xiàn)用于對(duì)加密數(shù)據(jù)進(jìn)行解密的過(guò)程3的解密器,所述隨機(jī)序列生成器中的每一個(gè)包括實(shí)現(xiàn)偽隨機(jī)序列生成過(guò)程6的一個(gè)或數(shù)個(gè)偽隨機(jī)生成器以及實(shí)現(xiàn)隨機(jī)映射過(guò)程7的一個(gè)或數(shù)個(gè)隨機(jī)映射器單元)。

遵循所公開(kāi)的密碼過(guò)程,偽隨機(jī)生成器和隨機(jī)映射器單元在一電路中被連接在一起。此電路通常是硬件,但是我們將稍后看到該電路是邏輯上或軟件開(kāi)關(guān)的一些實(shí)施例。在硬件情況下,可推薦一個(gè)或數(shù)個(gè)電路。它們可為可切換的,或者它們能夠并行工作。

每個(gè)隨機(jī)映射器單元正在使用存儲(chǔ)在隨機(jī)映射器單元內(nèi)部的存儲(chǔ)單元(例如,存儲(chǔ)器或閃存卡)中的提供的隨機(jī)轉(zhuǎn)移圖4(如先前所定義的),此隨機(jī)轉(zhuǎn)移圖通過(guò)隨機(jī)性生成9(如先前所定義和描述的)來(lái)生成。

在替代實(shí)施例中,隨機(jī)序列生成器中的每一個(gè)還包括實(shí)現(xiàn)隨機(jī)轉(zhuǎn)移圖變換過(guò)程11的隨機(jī)轉(zhuǎn)移圖變換器。

在一些實(shí)施例中,電子電路還嵌入一些微控制器,其能夠?qū)崿F(xiàn)一些可編程復(fù)用器(在其他事項(xiàng)之間),從而允許對(duì)每個(gè)隨機(jī)序列生成器1內(nèi)部的電路進(jìn)行編程,以選擇加密電路(或者以實(shí)現(xiàn)其計(jì)算算法)以便選擇加密方案,這同樣適用于解密,以選擇偽隨機(jī)生成器(或者以實(shí)現(xiàn)其計(jì)算算法)以便選擇生成算法等。

在一些實(shí)施例中,種子生成過(guò)程12由種子生成器來(lái)實(shí)現(xiàn)。實(shí)施方式通常是硬件,但是它可能是(部分地或完全)軟件實(shí)現(xiàn)的,以便由微控制器執(zhí)行。另外,隨機(jī)性生成9在一些實(shí)施例中通常利用微控制器被實(shí)現(xiàn)在軟件中,但是它可處于硬件中。

還存在實(shí)現(xiàn)本文件中所描述的密碼過(guò)程的數(shù)個(gè)其他種類(lèi)的裝置實(shí)施例。所實(shí)現(xiàn)的特征的量取決于用于該實(shí)施例的結(jié)構(gòu)的容量和計(jì)算能力。

一類(lèi)實(shí)施例是密碼系統(tǒng)被實(shí)現(xiàn)在微控制器上的那些。它是實(shí)施例的第一系列的某種袖珍實(shí)施方式。密碼過(guò)程通常用微控制器上的軟件加以實(shí)現(xiàn),所述微控制器在小型電子電路上與用于數(shù)據(jù)輸入的按鈕、滾輪和其他裝置以及用于usb數(shù)據(jù)存儲(chǔ)或互聯(lián)網(wǎng)接入的一些插口連接(但是wi-fi可以是嵌入式的)。至于運(yùn)算,用戶(hù)使用數(shù)據(jù)輸入的裝置來(lái)與微控制器上的軟件交互。

另一種實(shí)施例是在智能卡上。密碼過(guò)程用具有有限容量和計(jì)算能力的芯片上的軟件加以實(shí)現(xiàn)。實(shí)施者應(yīng)該仔細(xì)地選擇它將在其上實(shí)現(xiàn)哪些特征(取決于范圍聲明需要什么)。例如,這些所述實(shí)施例能夠被用于標(biāo)識(shí),或者用于銀行交易或取款。這些所述實(shí)施例被運(yùn)算就像我們使用智能卡一樣。

先前兩種實(shí)施例的組合是在某種usb鑰匙而不是閃速存儲(chǔ)器上,它已被嵌入通常具有像智能卡這樣的小芯片的一些電子設(shè)備。它實(shí)際上是用于密碼目的的計(jì)算機(jī)的usb即插即用裝置。其運(yùn)算是顯然的。

一種特殊實(shí)施例是密碼系統(tǒng)制作器,其是存儲(chǔ)計(jì)算機(jī)程序代碼的存儲(chǔ)單元,所述計(jì)算機(jī)程序代碼當(dāng)被加載在計(jì)算機(jī)存儲(chǔ)器中時(shí),將此計(jì)算機(jī)配置成執(zhí)行所公開(kāi)的密碼過(guò)程。這種存儲(chǔ)單元使用被稱(chēng)作“存儲(chǔ)介質(zhì)”:硬盤(pán)、usb鑰匙、cd-rom、dvd-rom、閃存卡或能夠存儲(chǔ)計(jì)算機(jī)程序代碼并且計(jì)算機(jī)系統(tǒng)能夠訪問(wèn)以便將此程序代碼加載到其存儲(chǔ)器(“存儲(chǔ)介質(zhì)”的此定義將適用于整個(gè)文件,包括權(quán)利要求書(shū))中的任何元件來(lái)制成。

實(shí)施例運(yùn)算

至于裝置實(shí)施例的第一系列的運(yùn)算,計(jì)算機(jī)(包括平板和移動(dòng)電話)的設(shè)定顯然被本領(lǐng)域的技術(shù)人員知道:適當(dāng)?shù)能浖⒈惶峁┙o計(jì)算機(jī)并且該計(jì)算機(jī)將會(huì)將它加載到其存儲(chǔ)器中。然后,此程序?qū)?huì)將該計(jì)算機(jī)配置成使它執(zhí)行所公開(kāi)的密碼過(guò)程。

在計(jì)算機(jī)設(shè)定之后,隨機(jī)轉(zhuǎn)移圖被提供給隨機(jī)序列生成過(guò)程。這些隨機(jī)轉(zhuǎn)移圖應(yīng)該被僅提供給被允許訪問(wèn)數(shù)據(jù)的用戶(hù)的計(jì)算機(jī)。如果實(shí)施例實(shí)現(xiàn)隨機(jī)轉(zhuǎn)移圖生成過(guò)程,則用于處理會(huì)話的參數(shù)被提供給它,并且它從隨機(jī)轉(zhuǎn)移圖生成次級(jí)隨機(jī)轉(zhuǎn)移圖;然后在隨機(jī)序列生成過(guò)程中隨機(jī)轉(zhuǎn)移圖被用它們對(duì)應(yīng)的次級(jí)隨機(jī)轉(zhuǎn)移圖取代。初級(jí)隨機(jī)轉(zhuǎn)移圖可以被存儲(chǔ)在某處,以便能夠被用來(lái)(在其他新會(huì)話期間從其他會(huì)話參數(shù))生成其他次級(jí)隨機(jī)轉(zhuǎn)移圖。

想要運(yùn)算的數(shù)據(jù)被提供給計(jì)算機(jī)。它們可能已經(jīng)在硬盤(pán)驅(qū)動(dòng)器(或任何其他驅(qū)動(dòng)器)上,或者從網(wǎng)絡(luò)接收,但是它們被加載到計(jì)算機(jī)的存儲(chǔ)器中。一個(gè)或數(shù)個(gè)隨機(jī)序列生成過(guò)程(取決于實(shí)施方式)生成與要處理的數(shù)據(jù)比相同長(zhǎng)度的字符的一個(gè)或數(shù)個(gè)隨機(jī)序列(取決于加密/解密過(guò)程所需的密鑰的數(shù)目)。

對(duì)于此任務(wù),一個(gè)或數(shù)個(gè)種子被提供給偽隨機(jī)序列生成過(guò)程(取決于它需要的種子的數(shù)目),其傳出偽隨機(jī)序列被發(fā)送到隨機(jī)映射過(guò)程,其傳出隨機(jī)序列遵循所實(shí)現(xiàn)的“電路”直到最終傳出隨機(jī)序列通過(guò)隨機(jī)序列生成過(guò)程被發(fā)送到加密(或解密,取決于任務(wù))過(guò)程為止。

此過(guò)程從存儲(chǔ)器取數(shù)據(jù),使用它實(shí)現(xiàn)的算法來(lái)對(duì)它們進(jìn)行加密(分別解密),并且將它們發(fā)送回到存儲(chǔ)器。遵循什么取決于想要對(duì)數(shù)據(jù)進(jìn)行何種運(yùn)算(將它們存儲(chǔ)在硬盤(pán)驅(qū)動(dòng)器或任何其他驅(qū)動(dòng)器上,或者在網(wǎng)絡(luò)上向遠(yuǎn)方接收方發(fā)送它們,諸如此類(lèi))。

存在用于將隨機(jī)轉(zhuǎn)移圖提供給隨機(jī)序列生成器的數(shù)個(gè)方式:它能夠被以物理方式轉(zhuǎn)移到例如具有usb鑰匙或連續(xù)編號(hào)cd-rom的密碼裝置(計(jì)算機(jī)等),它們能夠利用使用所公開(kāi)的密碼過(guò)程所編碼的安全信道(通過(guò)例如網(wǎng)絡(luò))來(lái)發(fā)送,或者能夠在密碼裝置上生成它們。在以物理方式轉(zhuǎn)移的圖的情況下,隨機(jī)轉(zhuǎn)移圖(使用例如硬件“真”隨機(jī)生成器)在某處被生成,然后被帶給“授權(quán)的”用戶(hù)的密碼裝置(例如在驅(qū)動(dòng)器、cd-rom上或者在usb鑰匙上)并且轉(zhuǎn)移到正確的位置進(jìn)入裝置。對(duì)于關(guān)鍵應(yīng)用,此位置將最好地對(duì)用戶(hù)不可訪問(wèn),但是僅對(duì)認(rèn)可管理員可訪問(wèn)。

利用這種方法以及我們將稍后看到的其他設(shè)定,實(shí)現(xiàn)編碼信道(例如通過(guò)網(wǎng)絡(luò),或通信的任何裝置)變得可能,所述加密信道意指數(shù)據(jù)被編碼的雙向通信(術(shù)語(yǔ)“安全信道”也由本領(lǐng)域的技術(shù)人員使用)。因?yàn)檫@種信道是無(wú)條件安全的(對(duì)抗僅密文攻擊),所以它因此能夠被用來(lái)在需要時(shí)轉(zhuǎn)移新的隨機(jī)轉(zhuǎn)移圖代替物理轉(zhuǎn)移。

在隨機(jī)轉(zhuǎn)移圖未被轉(zhuǎn)移到計(jì)算機(jī)的情況下,文件被挑選,并且通常,使用板上取代運(yùn)算來(lái)變換。對(duì)于想要對(duì)他的數(shù)據(jù)中的一些進(jìn)行編碼的單個(gè)用戶(hù)來(lái)說(shuō),它可以是在他的驅(qū)動(dòng)器上或在互聯(lián)網(wǎng)上可能的每個(gè)文件;其只必須記住他使用了哪些文件和哪些外部數(shù)據(jù)以便能夠?qū)⑺臄?shù)據(jù)解碼回來(lái)。對(duì)于使用并交換公共數(shù)據(jù)的數(shù)個(gè)用戶(hù)的網(wǎng)絡(luò),每個(gè)人應(yīng)該具有相同的數(shù)據(jù)以便能夠生成相同的隨機(jī)轉(zhuǎn)移圖。這通常通過(guò)使用公開(kāi)密鑰密碼學(xué)或例如稍后所描述的無(wú)條件安全的信道向其他人中的一個(gè)或全部發(fā)送要挑選的文件的地址(互聯(lián)網(wǎng)url或文件系統(tǒng)路徑)并且可能保持外部數(shù)據(jù)來(lái)完成。因此,接收方中的每一個(gè)使他們的計(jì)算機(jī)計(jì)算他們適當(dāng)?shù)碾S機(jī)轉(zhuǎn)移圖。

如果特征被實(shí)現(xiàn)在該實(shí)施例中,則用于在計(jì)算機(jī)上生成隨機(jī)轉(zhuǎn)移圖的相同過(guò)程被用于生成次級(jí)隨機(jī)轉(zhuǎn)移圖所需的參數(shù)。在這種情況下,電路、文件或外部數(shù)據(jù)(隨機(jī)鍵入的字符、隨機(jī)生成的字符或無(wú)論什么數(shù)據(jù))被隨機(jī)轉(zhuǎn)移圖變換過(guò)程使用以便為每個(gè)加密會(huì)話創(chuàng)建新的隨機(jī)轉(zhuǎn)移圖(次級(jí)隨機(jī)轉(zhuǎn)移圖),而不必(使用上面所看到的方式)發(fā)送整個(gè)隨機(jī)轉(zhuǎn)移圖。

對(duì)此特征的關(guān)注點(diǎn)是文件或外部數(shù)據(jù)通常具有比隨機(jī)轉(zhuǎn)移圖小得多的大小,并且一堆外部數(shù)據(jù)可以被用于所有隨機(jī)轉(zhuǎn)移圖的變換,這使用于改變隨機(jī)轉(zhuǎn)移圖的通信變得更短。事實(shí)上,隨機(jī)轉(zhuǎn)移圖通常在偽隨機(jī)序列生成過(guò)程返回之前改變,以便防止它生成已經(jīng)輸出的序列。因此,為了在每個(gè)加密會(huì)話允許簡(jiǎn)化偽隨機(jī)序列生成的管理之前改變隨機(jī)轉(zhuǎn)移圖,因?yàn)橐粋€(gè)人僅必須檢查數(shù)據(jù)處理的所需長(zhǎng)度不超過(guò)偽隨機(jī)序列的最大長(zhǎng)度(實(shí)際上是在使用隨機(jī)映射反饋的情況下隨機(jī)序列的最大長(zhǎng)度)。

為了提供偽隨機(jī)序列生成過(guò)程所需的種子,數(shù)個(gè)方式是可能的。例如,對(duì)于想要對(duì)其數(shù)據(jù)進(jìn)行編碼的單個(gè)用戶(hù)來(lái)說(shuō),軟件可能要求他鍵入其想要使用(他必須正確地記住)的種子,或者向其要求第一字符、最后的字符或(由實(shí)施者)預(yù)定義的字符被用作種子的文件(文本文件-壓縮的或未壓縮的-或二進(jìn)制文件)。但是另一方式是保留將未由其數(shù)據(jù)將被用作種子的隨機(jī)映射過(guò)程所使用的一個(gè)或數(shù)個(gè)隨機(jī)轉(zhuǎn)移圖的一小部分(通常是圖的結(jié)尾),或者(使用具有這些值的種子生成過(guò)程)計(jì)算種子。這個(gè)最后方式的優(yōu)點(diǎn)是用戶(hù)不必關(guān)心種子。還能夠看到,如果隨機(jī)轉(zhuǎn)移圖變換過(guò)程被實(shí)現(xiàn),則種子針對(duì)每個(gè)會(huì)話被改變,因?yàn)殡S機(jī)轉(zhuǎn)移圖的保留部分還通過(guò)取代運(yùn)算來(lái)變換。

在多用戶(hù)配置中,還能夠?qū)崿F(xiàn)上面所描述的用于生成種子的隨機(jī)轉(zhuǎn)移圖中的保留部分的方法。事實(shí)上,與隨機(jī)轉(zhuǎn)移圖變換過(guò)程的實(shí)施方式并且與隨機(jī)轉(zhuǎn)移圖的物理轉(zhuǎn)移組合的此方法(用于將種子提供給偽隨機(jī)序列生成過(guò)程)的使用允許通過(guò)網(wǎng)絡(luò)實(shí)現(xiàn)無(wú)條件安全的通信信道(如早先撰寫(xiě)的)。因?yàn)殡S機(jī)轉(zhuǎn)移圖被隨機(jī)地生成(所以它可能是字符的所有可能組合中的任一個(gè))并且可能具有任何大小,因?yàn)閭坞S機(jī)序列生成算法可能是許多中的一個(gè)并且種子是未知的,因?yàn)橛呻S機(jī)序列生成過(guò)程在內(nèi)部使用的“電路”是相當(dāng)多中的一個(gè),所以“敵方”沒(méi)有在密碼過(guò)程內(nèi)部發(fā)生什么的線索,并且對(duì)于他來(lái)說(shuō),字符的任何組合具有相同的概率成為加密密鑰,就像一次一密一樣。

并且看到由于隨機(jī)轉(zhuǎn)移圖的隨機(jī)性和未知大小、未知偽隨機(jī)序列生成算法、未知變化種子、已被選擇的隨機(jī)序列生成過(guò)程的未知內(nèi)部電路、由隨機(jī)轉(zhuǎn)移圖變換過(guò)程使用的未知混合運(yùn)算、使用的未知加密協(xié)議以及一些其他未知參數(shù),用于隨機(jī)轉(zhuǎn)移圖變換過(guò)程的參數(shù)將對(duì)他來(lái)說(shuō)沒(méi)有幫助。因此,在我們的特定案例中,用于隨機(jī)轉(zhuǎn)移圖變換過(guò)程的所述參數(shù)能夠在無(wú)需被加密的情況下被發(fā)送到其他用戶(hù)。

并且,仍然在我們的特定案例中,所述參數(shù)是開(kāi)始通信會(huì)話所需的唯一數(shù)據(jù),所以系統(tǒng)是無(wú)條件安全的,并且所有其他需要的數(shù)據(jù)(例如新的隨機(jī)轉(zhuǎn)移圖)能夠通過(guò)安全信道來(lái)發(fā)送。因此,物理轉(zhuǎn)移僅是系統(tǒng)的設(shè)定所需的。此轉(zhuǎn)移能夠例如使用包含隨機(jī)轉(zhuǎn)移圖(以及可能種子)的連續(xù)編號(hào)cd-rom來(lái)完成,所以用戶(hù)只必須將序列號(hào)作為參數(shù)來(lái)發(fā)送以便建立編碼信道。

除了無(wú)條件安全的通信信道的這種情況,用于提供偽隨機(jī)序列生成過(guò)程所需的種子的其他方式可以是公開(kāi)密鑰密碼學(xué)或由實(shí)施者所期望的任何方法。

針對(duì)單用戶(hù)配置和多用戶(hù)配置兩者,如果隨機(jī)轉(zhuǎn)移圖變換過(guò)程不可用,則建議每隨機(jī)轉(zhuǎn)移圖將需要種子僅一次,最后值被存儲(chǔ)在寄存器中以便下一次被用作種子,直到達(dá)到偽隨機(jī)序列的最大長(zhǎng)度為止。然后將建議在那時(shí)之前改變隨機(jī)轉(zhuǎn)移圖以便不重復(fù)隨機(jī)序列。

針對(duì)關(guān)鍵應(yīng)用,存在感興趣配置:密碼裝置在“星形網(wǎng)絡(luò)”中與中心處的網(wǎng)絡(luò)服務(wù)器以及(至少)僅連接到它的其他裝置連接(可能以無(wú)線方式)。每個(gè)裝置僅具有要與服務(wù)器進(jìn)行通信的數(shù)據(jù)(隨機(jī)轉(zhuǎn)移圖等),同時(shí)服務(wù)器具有要與所有裝置進(jìn)行通信的數(shù)據(jù)。如果一個(gè)裝置想要在安全信道上與其他裝置進(jìn)行通信,則它對(duì)消息進(jìn)行加密并且將它發(fā)送到服務(wù)器,服務(wù)器對(duì)它進(jìn)行解密,針對(duì)另一裝置利用該數(shù)據(jù)對(duì)它進(jìn)行重新加密,并且將消息發(fā)送到能夠?qū)λM(jìn)行解密的另一裝置。這種配置的優(yōu)點(diǎn)是,如果裝置(除服務(wù)器之外)被敵方俘獲,則他不能夠利用所俘獲的裝置的數(shù)據(jù)對(duì)其其通信進(jìn)行解密。

至于裝置實(shí)施例的第二系列的運(yùn)算,其完全像實(shí)施例的第一系列那樣工作。通常,專(zhuān)用電子電路只是更大電子機(jī)器的一部分。有時(shí),它是連接到計(jì)算機(jī)以便代替cpu做專(zhuān)門(mén)計(jì)算的電子部分。所以,通常,實(shí)施例的此系列包括要由“主”電路控制的“從”電路。

最佳模式

考慮到所公開(kāi)的密碼過(guò)程可以數(shù)個(gè)方式實(shí)現(xiàn),表明不同的應(yīng)用有不同的需求,因此難以評(píng)估最佳模式,因?yàn)橄喾吹男枨髮?dǎo)致相反的準(zhǔn)則。

權(quán)利要求書(shū)(按照條約第19條的修改)

1.一種生成字符的隨機(jī)序列以在要由一個(gè)或數(shù)個(gè)處理器執(zhí)行的密碼運(yùn)算中使用的計(jì)算機(jī)實(shí)現(xiàn)的方法,所述方法包括:

(a)根據(jù)需要通過(guò)隨機(jī)性生成來(lái)生成一個(gè)或數(shù)個(gè)隨機(jī)轉(zhuǎn)移圖,所述隨機(jī)性生成不是通過(guò)偽隨機(jī)生成器來(lái)完成;

(b)將所述生成的隨機(jī)轉(zhuǎn)移圖提供給將生成隨機(jī)序列的所述計(jì)算機(jī);

(c)向?qū)⑸呻S機(jī)序列的所述計(jì)算機(jī)提供偽隨機(jī)序列生成器種子;

(d)通過(guò)對(duì)數(shù)個(gè)輸入運(yùn)算一個(gè)或數(shù)個(gè)處理器來(lái)生成字符的隨機(jī)序列,所述輸入是:

i.在所述及的隨機(jī)轉(zhuǎn)移圖提供步驟期間提供的隨機(jī)轉(zhuǎn)移圖,

ii.在所述及的偽隨機(jī)序列生成器種子提供步驟期間提供的偽隨機(jī)序列生成器種子;

每個(gè)要生成的隨機(jī)序列使用一個(gè)隨機(jī)映射運(yùn)算,所述隨機(jī)映射運(yùn)算中的每一個(gè)包括以下步驟:

i.利用種子初始化偽隨機(jī)序列生成器,若有的話在所考慮的隨機(jī)映射運(yùn)算期間被使用,所述種子被:

a.提供給所考慮的將生成隨機(jī)序列的計(jì)算機(jī),

b.或在提供給所考慮的將生成隨機(jī)序列的計(jì)算機(jī)的一個(gè)或數(shù)個(gè)隨機(jī)轉(zhuǎn)移圖的一部分中挑選;

ii.使用混合運(yùn)算來(lái)使所述隨機(jī)映射運(yùn)算的輸入混合,所述隨機(jī)映射運(yùn)算的輸入是:

a.來(lái)自另一隨機(jī)映射運(yùn)算的輸出,

b.或數(shù)個(gè)其他隨機(jī)映射運(yùn)算的輸出的通過(guò)混合運(yùn)算進(jìn)行的組合,

c.或來(lái)自由所考慮的隨機(jī)映射運(yùn)算所使用的偽隨機(jī)序列生成器的輸出,

d.或來(lái)自由所考慮的隨機(jī)映射運(yùn)算所使用的偽隨機(jī)序列生成器的輸出的以及一個(gè)或數(shù)個(gè)其他隨機(jī)映射運(yùn)算的輸出的通過(guò)混合運(yùn)算進(jìn)行的組合,

e.或來(lái)自由所考慮的隨機(jī)映射運(yùn)算所使用的偽隨機(jī)序列生成器的輸出的以及被用作反饋的由所考慮的隨機(jī)映射運(yùn)算先前生成的輸出的通過(guò)混合運(yùn)算進(jìn)行的組合,

f.或與被用作反饋的通過(guò)所考慮的隨機(jī)映射運(yùn)算先前生成的數(shù)據(jù)交替的來(lái)自由所考慮的隨機(jī)映射運(yùn)算所使用的偽隨機(jī)序列生成器的輸出,

g.或來(lái)自由所考慮的隨機(jī)映射運(yùn)算所使用的偽隨機(jī)序列生成器的輸出的、一個(gè)或數(shù)個(gè)其他隨機(jī)映射運(yùn)算的輸出的以及被用作反饋的通過(guò)所考慮的隨機(jī)映射運(yùn)算先前生成的輸出的通過(guò)混合運(yùn)算進(jìn)行的組合,

h.或來(lái)自由所考慮的隨機(jī)映射運(yùn)算所使用的偽隨機(jī)序列生成器的輸出的以及一個(gè)或數(shù)個(gè)其他隨機(jī)映射運(yùn)算的輸出的通過(guò)混合運(yùn)算進(jìn)行的組合,所述組合與被用作反饋的由所考慮的隨機(jī)映射運(yùn)算先前生成的輸出交替;

iii.使用來(lái)自前一步驟的結(jié)果來(lái)使用圖挑選協(xié)議從歸因于所考慮的隨機(jī)映射運(yùn)算的所述隨機(jī)轉(zhuǎn)移圖中挑選字符;

iv.輸出前一步驟中所挑選的所述字符;

v.開(kāi)始回到所述隨機(jī)映射運(yùn)算的輸入混合步驟以便生成下一個(gè)輸出字符,直到字符的整個(gè)隨機(jī)序列已被生成為止;

所述隨機(jī)映射運(yùn)算的輸出到其他隨機(jī)映射運(yùn)算的輸入的分派以及被認(rèn)為是結(jié)果的所述隨機(jī)映射運(yùn)算的輸出在應(yīng)用所要求保護(hù)的方法之前被定義;

(e)輸出所生成的被認(rèn)為是結(jié)果的字符的隨機(jī)序列。

2.一種用于將明文字符的序列變換成密文字符的序列并且反之亦然的對(duì)稱(chēng)密鑰編碼和解碼密碼設(shè)備系統(tǒng),包括:

(a)用于對(duì)字符的序列進(jìn)行加密的裝置,

(b)用于在解密方案與加密方案不同的情況下對(duì)字符的加密序列進(jìn)行解密的裝置,

(c)用于生成一個(gè)或數(shù)個(gè)隨機(jī)序列的裝置;

所有所述裝置是隱結(jié)構(gòu),并且所述隨機(jī)序列生成器中的每一個(gè)被實(shí)現(xiàn)在所述裝置中以生成一個(gè)或數(shù)個(gè)隨機(jī)序列,所述生成器為先前述及的用于對(duì)字符的序列進(jìn)行加密或者解密的裝置生成秘密密鑰,包括:

(a)一個(gè)或數(shù)個(gè)偽隨機(jī)序列生成模塊,

(b)一個(gè)或數(shù)個(gè)隨機(jī)映射模塊;

所述隨機(jī)映射模塊的每一個(gè)將來(lái)自傳入序列的字符映射成傳出序列的隨機(jī)字符,所述傳入序列是:

(a)另一隨機(jī)映射模塊的傳出序列,

(b)或數(shù)個(gè)其他隨機(jī)映射模塊的傳出序列的通過(guò)混合運(yùn)算進(jìn)行的組合,

(c)或一個(gè)偽隨機(jī)序列生成模塊的傳出序列,

(d)或一個(gè)偽隨機(jī)序列生成模塊的傳出序列的以及一個(gè)或數(shù)個(gè)其他隨機(jī)映射模塊的傳出序列的通過(guò)混合運(yùn)算進(jìn)行的組合,

(e)或一個(gè)偽隨機(jī)序列生成模塊的傳出序列的以及反饋隨機(jī)序列的通過(guò)混合運(yùn)算進(jìn)行的組合,所述反饋隨機(jī)序列是所考慮的隨機(jī)映射模塊的傳出序列,

(f)或與所述反饋隨機(jī)序列交替的一個(gè)偽隨機(jī)序列生成模塊的傳出序列,所述反饋隨機(jī)序列是所考慮的隨機(jī)映射模塊的傳出序列,

(g)或一個(gè)偽隨機(jī)序列生成模塊的傳出序列的、一個(gè)或數(shù)個(gè)其他隨機(jī)映射模塊的傳出序列的以及所述反饋隨機(jī)序列的通過(guò)混合運(yùn)算進(jìn)行的組合,所述反饋隨機(jī)序列是所考慮的隨機(jī)映射模塊的傳出序列,

(h)或一個(gè)偽隨機(jī)序列生成模塊的傳出序列的以及一個(gè)或數(shù)個(gè)其他隨機(jī)映射模塊的傳出序列的通過(guò)混合運(yùn)算進(jìn)行的組合,所述組合與所述反饋隨機(jī)序列交替,所述反饋隨機(jī)序列是所考慮的隨機(jī)映射模塊的傳出序列;

所述及的隨機(jī)映射模塊中的每一個(gè)按圖挑選協(xié)議使用隨機(jī)轉(zhuǎn)移圖,以便將它們的傳入序列的每個(gè)字符映射成用于做出一個(gè)傳出隨機(jī)序列,所述隨機(jī)轉(zhuǎn)移圖是通過(guò)隨機(jī)性生成而生成的,所述隨機(jī)性生成不是利用偽隨機(jī)生成器做出的,并且被提供給隨機(jī)映射模塊,每個(gè)隨機(jī)映射模塊有一個(gè)隨機(jī)轉(zhuǎn)移圖。

3.根據(jù)權(quán)利要求5所述的密碼系統(tǒng),還包括:

用于對(duì)隨機(jī)轉(zhuǎn)移圖進(jìn)行變換的裝置;

所述裝置是隱結(jié)構(gòu),并且來(lái)自用于對(duì)隨機(jī)轉(zhuǎn)移圖進(jìn)行變換的所述裝置的隨機(jī)轉(zhuǎn)移圖變換模塊輸入:

(a)來(lái)自述及的隨機(jī)映射模塊的隨機(jī)轉(zhuǎn)移圖,所述隨機(jī)轉(zhuǎn)移圖必須針對(duì)所述隨機(jī)映射模塊進(jìn)行改變,

(b)變換隨機(jī)字符;

所述變換隨機(jī)字符是:

(a)提供的參數(shù),其是反復(fù)迭代直到達(dá)到已被輸入的所述隨機(jī)轉(zhuǎn)移圖的長(zhǎng)度為止的隨機(jī)字符,

(b)或另一隨機(jī)序列生成模塊的輸出;

所述及的隨機(jī)轉(zhuǎn)移圖變換模塊在其輸入之間做混合運(yùn)算,以便生成要代替已被輸入到所述及的隨機(jī)轉(zhuǎn)移圖變換模塊的所述隨機(jī)轉(zhuǎn)移圖而被發(fā)送回到所述隨機(jī)映射模塊的次級(jí)隨機(jī)轉(zhuǎn)移圖,所述隨機(jī)轉(zhuǎn)移圖必須根據(jù)所述隨機(jī)映射模塊進(jìn)行改變。

4.根據(jù)權(quán)利要求6所述的密碼系統(tǒng),還包括:

用于生成偽隨機(jī)序列生成器種子的裝置;

所述裝置是隱結(jié)構(gòu),并且來(lái)自用于生成種子的所述裝置的所述種子生成模塊使用種子計(jì)算算法由所提供的或挑選的字符為所述及的用于生成一個(gè)或數(shù)個(gè)隨機(jī)序列的裝置的所述偽隨機(jī)序列生成模塊計(jì)算種子。

5.根據(jù)權(quán)利要求7所述的密碼系統(tǒng),其中提供給所述的種子生成模塊的所述挑選的字符在由所述及的用于生成一個(gè)或數(shù)個(gè)隨機(jī)序列的裝置所存儲(chǔ)的一個(gè)或數(shù)個(gè)隨機(jī)轉(zhuǎn)移圖的一部分中挑選。

6.根據(jù)權(quán)利要求1所述的方法,其中所述生成的隨機(jī)轉(zhuǎn)移圖提供步驟使用以下步驟來(lái)執(zhí)行:

(a)在第一時(shí)間,使用非暫時(shí)性計(jì)算機(jī)可讀介質(zhì)將所述隨機(jī)轉(zhuǎn)移圖轉(zhuǎn)移到所述及的將生成隨機(jī)字符序列的計(jì)算機(jī);

(b)在接下來(lái)的時(shí)間,通過(guò)經(jīng)由以下密碼安全的通信信道創(chuàng)建步驟所創(chuàng)建的密碼安全的通信信道將新的隨機(jī)轉(zhuǎn)移圖轉(zhuǎn)移到所考慮的將生成字符的隨機(jī)序列的計(jì)算機(jī):

按加密方案和解密方案使用所輸出生成的被認(rèn)為是結(jié)果的字符的隨機(jī)序列以便創(chuàng)建密碼安全的通信信道。

7.一種上面存儲(chǔ)有用于使一個(gè)或數(shù)個(gè)計(jì)算機(jī)充當(dāng)根據(jù)權(quán)利要求5的密碼系統(tǒng)的程序的非暫時(shí)性計(jì)算機(jī)可讀存儲(chǔ)介質(zhì),其中充當(dāng)所要求保護(hù)的密碼系統(tǒng)的所述計(jì)算機(jī)均包括被實(shí)現(xiàn)在所述及的用于生成一個(gè)或數(shù)個(gè)隨機(jī)序列的裝置中的一個(gè)或數(shù)個(gè)記載的隨機(jī)序列生成器的功能性。

8.一種使用要求保護(hù)的密碼系統(tǒng)的方法,所述方法包括以下步驟:

(a)在第一時(shí)間,使用非暫時(shí)性計(jì)算機(jī)可讀介質(zhì)將所考慮的密碼系統(tǒng)所需的隨機(jī)轉(zhuǎn)移圖轉(zhuǎn)移到其述及的用于生成一個(gè)或數(shù)個(gè)隨機(jī)序列的裝置;

(b)在接下來(lái)的時(shí)間,通過(guò)使用所考慮的密碼系統(tǒng)所創(chuàng)建的密碼安全的信道將新的隨機(jī)轉(zhuǎn)移圖轉(zhuǎn)移到所述密碼系統(tǒng)的述及的用于生成一個(gè)或數(shù)個(gè)隨機(jī)序列的裝置。

說(shuō)明或聲明(按照條約第19條的修改)

進(jìn)行這些修改是為了解決一些模糊性問(wèn)題并更正表格。

人們似乎可以在權(quán)利要求書(shū)中讀取關(guān)于所公開(kāi)的流密碼的說(shuō)明。因此,由于獨(dú)創(chuàng)性來(lái)自隨機(jī)密鑰生成,我們已將方法權(quán)利要求集中于該方面(設(shè)備權(quán)利要求保留其加密/解密部件)。

此外,即使已在說(shuō)明書(shū)中做出了規(guī)定,我們?nèi)栽跈?quán)利要求書(shū)中規(guī)定了不使用偽隨機(jī)性的隨機(jī)性生成,這與所公開(kāi)的流密碼區(qū)別開(kāi)來(lái)。這應(yīng)當(dāng)使得不能在權(quán)利要求書(shū)中讀取此類(lèi)所公開(kāi)的流密碼。

另外,許多權(quán)利要求已按新的形式重寫(xiě),以便更能被一些國(guó)家/地區(qū)接受。該重寫(xiě)可以使得文本更加準(zhǔn)確并更正錄入錯(cuò)誤。

當(dāng)前第1頁(yè)1 2 
網(wǎng)友詢(xún)問(wèn)留言 已有0條留言
  • 還沒(méi)有人留言評(píng)論。精彩留言會(huì)獲得點(diǎn)贊!
1
永州市| 农安县| 兴业县| 永善县| 武乡县| 苏尼特右旗| 榆林市| 河津市| 江安县| 岢岚县| 鄂托克前旗| 洞口县| 察隅县| 四平市| 富源县| 正阳县| 闽侯县| 赣州市| 将乐县| 安义县| 镇宁| 呈贡县| 大邑县| 凌海市| 遂宁市| 新源县| 三门峡市| 乌海市| 南城县| 广德县| 康马县| 盐山县| 昌邑市| 潢川县| 紫金县| 濉溪县| 玛纳斯县| 景泰县| 饶平县| 赣榆县| 米林县|