本公開通常涉及一種使用擴展的剪裁的(Clipped)霍普菲爾德(Hopfield)神經(jīng)網(wǎng)絡(luò)的多元公鑰密碼系統(tǒng)和相關(guān)的實施例。
背景技術(shù):
電子通信中的安全問題在信息時代已經(jīng)非常重要。已經(jīng)采用諸如RSA和ECC(橢圓曲線密碼系統(tǒng))的公鑰密碼學(xué)(PKC)作為用于互聯(lián)網(wǎng)安全,特別地,用于電子商務(wù)系統(tǒng)身份驗證(電子簽名)和安全通信的關(guān)鍵組件。RSA和ECC的安全性分別依賴于大整數(shù)分解和離散對數(shù)問題的復(fù)雜性。雖然沒有證據(jù)證明其NP完整性或NP困難性,但這兩個密碼系統(tǒng)仍然被認(rèn)為是很難用常規(guī)系統(tǒng)破解。然而,量子計算機重新定義了計算處理難易問題的標(biāo)準(zhǔn),對經(jīng)典密碼系統(tǒng)的安全性提出了新的挑戰(zhàn)。
上述背景技術(shù)僅是旨在提供關(guān)于網(wǎng)絡(luò)的上下文信息的概述,而不是詳盡的。在查看了以下詳細(xì)描述的一種或多種非限制性實施例后,其他的上下文可能變得顯而易見。
技術(shù)實現(xiàn)要素:
為了在更詳細(xì)的描述和附圖中有助于能夠基本或大體理解后文的示例性、非限制實施例的各方案,本文提供了簡化概要。然而,該概要不旨在為廣泛概述或窮盡概述。替代地,該概要的目的是作為后文公開內(nèi)容中的各種實施例的更詳細(xì)描述的引言而以一種簡化的方式提出與一些示例性非限制實施例有關(guān)的一些概念。
根據(jù)一個示例實施例,本文提供一種系統(tǒng),包括:處理器;以及存儲器,其存儲可執(zhí)行指令,當(dāng)由所述處理器執(zhí)行時,所述可執(zhí)行指令有助于操作的性能,所述操作包括:初始化系統(tǒng)參數(shù);基于與消息接收方設(shè)備的迪菲-赫爾曼密鑰交換,隨機生成私鑰;生成與所述消息接收方設(shè)備的另一個基礎(chǔ)矩陣對同步的基礎(chǔ)矩陣對作為所述私鑰的函數(shù);使用所述系統(tǒng)參數(shù)和所述私鑰確定閾值向量,進而生成與所述消息接收方設(shè)備的同步閾值向量;以及基于所述同步閾值向量和所述同步基礎(chǔ)矩陣,對對通信加密。
根據(jù)另一個示例實施例,本文提供一種方法,包括:由包括處理器的系統(tǒng)確定一組系統(tǒng)參數(shù);基于與消息接收者相關(guān)聯(lián)的設(shè)備的迪菲-赫爾曼密鑰交換程序生成隨機私鑰;生成與所述消息接收者的另一個基礎(chǔ)矩陣對同步的基礎(chǔ)矩陣對作為所述私鑰的函數(shù);使用該組系統(tǒng)參數(shù)的系統(tǒng)參數(shù)和所述私鑰將閾值向量與所述消息接收者的另一個閾值向量同步;以及使用所述閾值向量和所述同步基礎(chǔ)矩陣對,對通信加密。
根據(jù)又一個示例實施例,本文提供一種系統(tǒng),包括:處理器;以及存儲器,其存儲可執(zhí)行指令,當(dāng)由所述處理器執(zhí)行時,所述可執(zhí)行指令有助于操作的性能,所述操作包括:初始化系統(tǒng)參數(shù);基于與發(fā)送設(shè)備的迪菲-赫爾曼密鑰交換,隨機生成私鑰;生成基礎(chǔ)矩陣對作為所述私鑰的函數(shù),其中所述基礎(chǔ)矩陣對與所述發(fā)送設(shè)備同步;使用所述系統(tǒng)參數(shù)和所述私鑰確定閾值向量;以及基于所述閾值向量和所述基礎(chǔ)矩陣對,解密接收到的消息。
下文參照附圖來更詳細(xì)地描述這些和其它實施例或?qū)嵤┓绞健?/p>
附圖說明
下面結(jié)合附圖在以下詳細(xì)描述中闡釋許多方案和實施例,其中類似的附圖標(biāo)記表示類似的部件,在附圖中:
圖1是根據(jù)本主題公開的方案或?qū)嵤├纳窠?jīng)元模型的示例性非限制性示意圖;
圖2是根據(jù)本主題公開的方案或?qū)嵤├拿艽a系統(tǒng)流的示例性非限制性示意圖;
圖3是示出根據(jù)本主題公開的方案或?qū)嵤├脑诿艽a系統(tǒng)中遍歷數(shù)據(jù)的明文和密鑰的靈敏度的示例性非限制性曲線圖;
圖4是示出根據(jù)本主題公開的方案或?qū)嵤├脑诿艽a系統(tǒng)中遍歷數(shù)據(jù)的明文和密鑰的靈敏度的示例性非限制性曲線圖;
圖5是示出根據(jù)本主題公開的方案或?qū)嵤├脑诿艽a系統(tǒng)中遍歷數(shù)據(jù)的明文和密鑰的靈敏度的示例性非限制性曲線圖;
圖6是示出根據(jù)本主題公開的方案或?qū)嵤├脑诿艽a系統(tǒng)中遍歷數(shù)據(jù)的明文和密鑰的靈敏度的示例性非限制性曲線圖;
圖7是根據(jù)本主題公開的方案或?qū)嵤├拿艽a系統(tǒng)方法的示例性非限制性過程流程圖;
圖8是根據(jù)本主題公開的方案或?qū)嵤├拿艽a系統(tǒng)方法的示例性非限制性過程流程圖;
圖9示出根據(jù)本公開的不同方案的計算環(huán)境的示例性示意性方框圖;以及
圖10示出可操作執(zhí)行公開的通信架構(gòu)的計算機的方框圖。
具體實施方式
參照附圖描述本公開的各個方案或特征,其中類似的附圖標(biāo)記用以指代類似的元件。在本說明書中,許多具體的細(xì)節(jié)被闡述以便提供本公開的徹底理解。然而,應(yīng)當(dāng)理解的是,本公開的某些方案可以在沒有這些具體細(xì)節(jié)的情況下或者通過其它方法、組件、分子等實現(xiàn)。在其他示例中,以方框圖形式示出公知的結(jié)構(gòu)和設(shè)備,以有助于描述和說明各個實施例。另外,附圖中的元件不一定按比例繪制;某些區(qū)域或元件被擴大以幫助提高對某些方案或?qū)嵤├睦斫狻?/p>
術(shù)語“接入點”、“服務(wù)器”、“基礎(chǔ)服務(wù)器(BS)”等可在本主題申請中互換使用,并且是指向一組用戶站提供或從一組用戶站接收數(shù)據(jù)、控制、語音、視頻、聲音、游戲或基本上任何數(shù)據(jù)流或信令流的網(wǎng)絡(luò)組件或設(shè)備。數(shù)據(jù)和信令流可以為分組流或基于幀的流。此外,術(shù)語“用戶”、“訂戶”、“顧客”、“消費者”等在整個說明書可互換使用,除非上下文在這些術(shù)語之間有特別(多種)區(qū)分。應(yīng)當(dāng)注意的是,這些術(shù)語可指通過可以提供模擬圖像、聲音識別等的人工智能(例如,做出基于復(fù)雜數(shù)學(xué)形式化的推論的能力)支持的人類實體或自動化組件。
應(yīng)注意的是,術(shù)語“用戶設(shè)備”、“裝置”、“用戶設(shè)備裝置”、“客戶端”等在本主題申請中被互換使用,除非上下文在這些術(shù)語之間有特別(多種)區(qū)分。這些術(shù)語可以指向網(wǎng)絡(luò)組件或其他裝置提供或者從網(wǎng)絡(luò)組件或其他裝置接收數(shù)據(jù)、語音、視頻、聲音、游戲或基本上任何數(shù)據(jù)流或信令流的網(wǎng)絡(luò)組件和/或設(shè)備。舉例來說,如本文和整個本公開中使用的用戶設(shè)備裝置和類似物可以包括移動設(shè)備,諸如能夠無線發(fā)送和接收數(shù)據(jù)的電子裝置。用戶設(shè)備裝置可以具有處理器、存儲器、收發(fā)器、輸入和輸出。這種設(shè)備的示例包括蜂窩電話、個人數(shù)字助理、便攜式計算機、平板電腦、掌上游戲機等。存儲器存儲應(yīng)用程序、軟件或邏輯。處理器的示例為計算機處理器(處理單元)、微處理器、數(shù)字信號處理器、控制器與微控制器等器件。可以包括邏輯的裝置存儲器的示例包括RAM(隨機存取存儲器)、閃存、ROMS(只讀存儲器)、EPROMS(可擦除可編程只讀存儲器),和EEPROMS(電可擦除可編程只讀存儲器)。
此外,術(shù)語“實時”、“接近實時”、“動態(tài)地”、“即時的”、“連續(xù)地”等可以在整個本說明書中被互換地或類似地采用,除非上下文在這些術(shù)語之間有特別(多種)區(qū)分。應(yīng)當(dāng)注意的是,這些術(shù)語可指在給定的上下文中根據(jù)順序被收集和處理而沒有明顯的延遲的數(shù)據(jù),數(shù)據(jù)或信息的時間性只延遲了電子通信所需的時間,在期間發(fā)生了處理或事件的實際或接近實際的時間,以及由實時軟件、實時系統(tǒng)和/或高性能計算系統(tǒng)測定的當(dāng)前時間條件。實時軟件和/或性能可通過同步或不同步的編程語言、實時操作系統(tǒng),以及實時網(wǎng)絡(luò)實現(xiàn),其中每個都提供了在其上建立實時軟件應(yīng)用程序的框架。實時系統(tǒng)可以是其中它的應(yīng)用可被認(rèn)為(在上下文內(nèi))是主要優(yōu)先事項的系統(tǒng)。在實時處理中,分析的(輸入)和生成的(輸出)采樣可以連續(xù)在同一時間(或接近同時)被處理(或生成),在該時間同時輸入和輸出了同一組不依賴于任何處理延遲的樣品。
本說明書的方案或特征可以被用在基本上任何采用各自無線接入技術(shù)的無線接入網(wǎng)絡(luò)中,例如Wi-Fi、全球移動通信系統(tǒng)、通用移動電信系統(tǒng)、全球微波接入互操作、增強型通用分組無線服務(wù)、第三代合作伙伴計劃長期演進、第四代長期演進、第三代合作項目2、超移動寬帶、高速分組接入、紫蜂(Zigbee)、第X代長期演進,或者另一種IEEE802.XX技術(shù)。此外,基本上本說明書的各個方案能夠被用在傳統(tǒng)電信技術(shù)中。
在本文的一個方案中,本文公開的系統(tǒng)和方法可以使用多元擴展的剪裁的霍普菲爾德神經(jīng)網(wǎng)絡(luò)加密和解密消息,該剪裁的霍普菲爾德神經(jīng)網(wǎng)絡(luò)使用類似迪菲-赫爾曼(Diffie-Hellman)的密鑰交換算法。所提出的密碼系統(tǒng)包括在通信中涉及的三個階段。第一階段,初始化參數(shù)并生成私鑰;第二階段,各基礎(chǔ)矩陣對和閾值向量在發(fā)送者與接收者之間同步;以及第三階段,執(zhí)行加密/解密。初始化和同步可以在雙方的第一次通信之前僅進行一次。為了獲得更高的安全性,迭代次數(shù)ρ可作為用于不同會話的變量。
本文和本公開通篇使用的“邏輯”是指具有指令信號形式的任何信息和/或可用于引導(dǎo)處理器的操作的數(shù)據(jù)。邏輯可以由存儲在存儲器裝置中的信號形成。軟件是這種邏輯的一個示例。邏輯也可以由數(shù)字和/或模擬硬件電路組成,例如,硬件電路包括邏輯AND、OR、XOR、NAND、NOR和其它邏輯運算。邏輯可以由軟件和硬件的組合形成。在網(wǎng)絡(luò)中,邏輯可以在服務(wù)器或服務(wù)器的集合體上進行編程。特定的邏輯單元不限于網(wǎng)絡(luò)上的單一邏輯位置。
值得注意的是,用戶設(shè)備裝置可以經(jīng)由網(wǎng)絡(luò)彼此以及與其他元件通信,網(wǎng)絡(luò)例如為無線網(wǎng)絡(luò),或有線網(wǎng)絡(luò)。“網(wǎng)絡(luò)”可以包括寬帶廣域網(wǎng)絡(luò),例如蜂窩網(wǎng)絡(luò)、局域網(wǎng)、無線局域網(wǎng)(例如,Wi-Fi)以及個人區(qū)域網(wǎng)絡(luò),如包括藍(lán)牙在內(nèi)的近場通信網(wǎng)絡(luò)。通過網(wǎng)絡(luò)的通信優(yōu)選是基于分組的;然而,無線電和頻率/振幅調(diào)制網(wǎng)絡(luò)可以允許使用適當(dāng)?shù)哪M-數(shù)字-模擬轉(zhuǎn)換器和其它元件在通信設(shè)備之間通信。通信由稱為“收發(fā)器”的硬件元件啟動。用戶設(shè)備裝置可具有一個以上的收發(fā)器,能夠在不同網(wǎng)絡(luò)上進行通信。例如,蜂窩電話可以包括用于與蜂窩基站通信的蜂窩網(wǎng)絡(luò)收發(fā)器、用于與Wi-Fi網(wǎng)絡(luò)進行通信的Wi-Fi收發(fā)器,以及用于與藍(lán)牙裝置進行通信的藍(lán)牙收發(fā)器。Wi-Fi網(wǎng)絡(luò)是通過例如無線路由器等的“接入點”接入的,“接入點”與Wi-Fi收發(fā)器通信來發(fā)送和接收數(shù)據(jù)。Wi-Fi網(wǎng)絡(luò)可進一步連接到互聯(lián)網(wǎng)或其他基于分組的網(wǎng)絡(luò)。網(wǎng)絡(luò)連接或接入點的“帶寬”是數(shù)據(jù)傳輸速率的量度,并且可以表示為每單位時間傳送的數(shù)據(jù)量。此外,一個或多個部件之間的通信(例如,語音和/或數(shù)據(jù)業(yè)務(wù))可以包括有線通信(通過回程寬帶有線網(wǎng)絡(luò)、光纖主干、雙絞線線路、T1/E1電話線、數(shù)字用戶線、同軸電纜,和/或類似物來布線),和/或無線電廣播(例如,蜂窩信道、Wi-Fi信道、衛(wèi)星頻道和/或類似物)。
如本文所使用的網(wǎng)絡(luò)通常包括托管(host)用于在網(wǎng)絡(luò)上執(zhí)行任務(wù)的邏輯的多個元件。該邏輯可以在服務(wù)器上被托管。在現(xiàn)代基于分組的廣域網(wǎng)絡(luò)中,服務(wù)器可被放置在網(wǎng)絡(luò)上的若干邏輯點。服務(wù)器可進一步與數(shù)據(jù)庫通信并可使通信設(shè)備能訪問數(shù)據(jù)庫的內(nèi)容。這樣的服務(wù)器的示例有計費服務(wù)器、應(yīng)用服務(wù)器等。服務(wù)器可以包括若干網(wǎng)絡(luò)元件,包括其他服務(wù)器,并且可以在服務(wù)器供應(yīng)商的網(wǎng)絡(luò)的任意邏輯位置,例如蜂窩網(wǎng)絡(luò)的后端。
本文所公開的各個實施例包括一種系統(tǒng),該系統(tǒng)具有處理器和存儲可執(zhí)行指令的存儲器,當(dāng)由所述處理器執(zhí)行時,可執(zhí)行指令有助于操作的性能。所述操作包括初始化系統(tǒng)參數(shù)。所述操作還包括:基于與消息接收方設(shè)備的迪菲-赫爾曼密鑰交換,隨機生成私鑰。所述操作還包括:生成與所述消息接收方設(shè)備的另一個基礎(chǔ)矩陣對同步的基礎(chǔ)矩陣對作為所述私鑰的函數(shù),以及使用所述系統(tǒng)參數(shù)和所述私鑰確定閾值向量,進而生成與所述消息接收方設(shè)備的同步閾值向量。所述操作還可以包括基于同步閾值向量和同步基礎(chǔ)矩陣對,對通信加密。
在另一個實施例中,一種方法包括:由包括處理器的系統(tǒng)確定一組系統(tǒng)參數(shù)。該方法還可以包括基于與消息接收者相關(guān)聯(lián)的設(shè)備的迪菲-赫爾曼密鑰交換程序生成隨機私鑰,以及生成與所述消息接收者的另一個基礎(chǔ)矩陣對同步的基礎(chǔ)矩陣對作為所述私鑰的函數(shù)。該方法還可以包括使用該組系統(tǒng)參數(shù)的系統(tǒng)參數(shù)和私鑰將閾值向量與消息接收者的另一個閾值向量同步,以及使用閾值向量和同步基礎(chǔ)矩陣對,對通信加密。
在另一個實施例中,提供一種系統(tǒng),其具有處理器和存儲可執(zhí)行指令的存儲器,當(dāng)由所述處理器執(zhí)行時,可執(zhí)行指令有助于操作的性能。所述操作包括初始化系統(tǒng)參數(shù)。所述操作還包括:基于與發(fā)送設(shè)備的迪菲-赫爾曼密鑰交換,隨機生成私鑰。所述操作還包括:生成基礎(chǔ)矩陣對作為私鑰的函數(shù),其中該基礎(chǔ)矩陣對與該發(fā)送設(shè)備同步,以及使用系統(tǒng)參數(shù)和私鑰確定閾值向量。所述操作還可以包括基于該閾值向量和該基礎(chǔ)矩陣對解密接收到的消息。
多元密碼學(xué)(“MVC”)是一種后量子加密算法,其中單向函數(shù)采用一組二次多項式的形式。該方案由RSA中的單變量模方程式y(tǒng)=xemod p的理論而演變,通過1)用少量或中等數(shù)量對大數(shù)求模的低階模方程式來對其進行替換,或者2)用大量對小數(shù)求模的低階模方程式來替換。該方案從一組具有某種特定結(jié)構(gòu)的二次方程式(例如,Y=F(X);Y=(y1,…,yk);X=(x1,…,xm);)開始,并隱含通過兩個線性(或仿射)雙射矩陣T、S操作的底層結(jié)構(gòu)。通過組合F、T和S獲得公鑰,即φ=TοFοS,并對存在的二次多項式求解。對于PKC,加密可以使用φ=TοFοS,而解密包含通過公知S和T的方式求解簡單方程式。通常,簡單方程式可以是y1=x1x2mod p的形式,其中p是RSA整數(shù);對于i=3,…,k+1,yi-1=xiλi(x1,…,xi-1)+κi(x1,…,xi-1),其中λi是線性的;κi是二次的;并且具有k個方程式和k+1個變量,這種方法是通過選定的x1來逐步求解。
圖1示出根據(jù)本主題公開的方案或?qū)嵤├纳窠?jīng)元模型的示例性非限制性示意圖100。
如圖1所示,霍普菲爾德神經(jīng)網(wǎng)絡(luò)由具有n個輸入的人工神經(jīng)元構(gòu)建,并且每個輸入具有一權(quán)重值。通過所有加權(quán)輸入的總和確定每個神經(jīng)元的輸出。令用Si,t表示第i個神經(jīng)元的當(dāng)前狀態(tài),則下一個狀態(tài)Si,t+1取決于其他神經(jīng)元的當(dāng)前狀態(tài)和突觸權(quán)重,如下所示:
方程式(1):
其中τi,j是神經(jīng)元i與j之間的突觸強度,θi是神經(jīng)元i的閾值,以及f(.)是任何非線性函數(shù)。該方程式在圖1所示的示意圖100中體現(xiàn),其中在S1,t(102),S2,t(104)和S3,t(106)處的人工神經(jīng)元在108處相加,然后在110處應(yīng)用函數(shù)f,在112處得到Si,t+1。通常,每個神經(jīng)元可以有兩種工作狀態(tài)Si,t,由Si,t=1表示的激發(fā)狀態(tài)和由Si,t=0表示的靜止?fàn)顟B(tài)。因此,在HNN中,f(.)可以采取如下定義的符號函數(shù)的形式:
根據(jù)赫布(Hebb)學(xué)習(xí)規(guī)則,突觸權(quán)重τij可以是任何實數(shù),這對其物理實現(xiàn)并不友好。剪裁的霍普菲爾德網(wǎng)絡(luò)(CHNN)使用如下所示的方程式2將突觸權(quán)重剪裁為三個值{+1,0,-1}
方程式(2):
并在密鑰流生成器的設(shè)計中探索其非線性動態(tài)和收斂性。還可以使用具有非線性濾波器功能的線性反饋移位序列構(gòu)建CHNN,這在GF(p)領(lǐng)域是不能化簡的,并且理論上已經(jīng)證明是NP完全。在本公開中,CHNN被擴展為更好地應(yīng)用在我們提出的算法中。對于擴展后的CHNN,突觸矩陣T被生成為除了冪等矩陣之外的任何幺模矩陣,并且非線性函數(shù)f(.)采用如下形式:
其中p是大素數(shù),這意味著每個神經(jīng)元代表位信息,其中是取整函數(shù)。
當(dāng)從MVC映射到擴展后的CHNN時,觀察到Si,t+1可以以矩陣形式表示,當(dāng)t增加時,與之前提到的兩個傳統(tǒng)方案相比,其可被視為使用大量對大數(shù)求模的低階模方程式的增強型多元方案。使用迭代和多項式形式來求解方程式是可能的。因此,擴展的CHNN可以很好地映射到多元問題。重寫方程式1:
.
.
.
其可進一步變形為
方程式(3):St+1=f(TSt+θ)
其中
突觸矩陣T可以是幺模,這提供了其逆矩陣T-1的元素都是整數(shù)的充分條件。由于在解密階段逆矩陣T-1將以有限的精度被迭代上千次,因此,該先決條件保證了密碼系統(tǒng)的準(zhǔn)確性。如果網(wǎng)絡(luò)在t=0時的初始狀態(tài)被表示為S0,且令函數(shù)f(.)采用具有模運算所提供的性能的模運算的形式,例如
f(af(b)+c)=[a(b mod p)+c]mod p
=(ab+c)mod p
=f(ab+c)
在ρ次迭代之后的狀態(tài)可以被推導(dǎo)如下:
S1=f(TS0+θ)
.
.
.
方程式(4):
顯然,神經(jīng)網(wǎng)絡(luò)到達(dá)該狀態(tài),即Sρ=Y(jié),其中,Y是由具有如下輸入變量矩陣的表示的多元多項式的解:
方程式(4)可以被重寫為如下多元多項式GF(p)
方程式(5):
其中
在方程式(5)中,X可通過如下方程式獲得:
方程式(6):
此時,可以實現(xiàn)從eCHNN到多元的映射。
為了減輕由于可以通過任何明文攻擊或因式分解攻擊建立的仿射矩陣的逆特性的攻擊,可以生成基于類似迪菲-赫爾曼的密鑰交換的隨機密鑰對。描述一種用于獲得共享閾值向量的方法以提高系統(tǒng)的安全性。
如以上所討論的,多元加密學(xué)可以通過擴展的剪裁的霍普菲爾德神經(jīng)網(wǎng)絡(luò)很好地映射。然而,沒有任何附加步驟,因為如果T和θ被設(shè)定為公開,則任何一個可以很容易地破解系統(tǒng)以計算逆T-1不涉及難度。即使迭代次數(shù)ρ可以被保持為私有且通過秘密信道從一方傳遞到另一方,密碼系統(tǒng)也可以在與ρ成比例的最壞情況時間和使用蠻力攻擊的平均時間的一半內(nèi)被破解。
為了解決上述問題,本主題申請公開了雙方以生成矩陣對{Ts,T′s},其中和E是n×n單元陣列,而不是在由(5)和(6)表示的加密和解密過程中直接應(yīng)用矩陣T。該方法采用迪菲-赫爾曼密鑰交換方案的基本思路,并將其延伸到矩陣領(lǐng)域。本主題申請首先給出了對迪菲-赫爾曼密鑰交換方案的簡要概述,然后呈現(xiàn)了我們提出的密鑰方案的細(xì)節(jié)。
迪菲-赫爾曼密鑰交換算法提供了各種密鑰協(xié)商協(xié)議的基礎(chǔ)。該方案提供了一種途徑以在雙方(即愛麗絲(Alice)和鮑勃(Bob))之間生成共享密鑰,即使沒有任何事先溝通。該協(xié)議簡單地進行如下。1.愛麗絲和鮑勃首先同意使用大素數(shù)p和整數(shù)g,g是mod p的原函數(shù)。2.愛麗絲選取大整數(shù)a,然后計算A=ga mod p并發(fā)送給鮑勃。3.鮑勃選取大整數(shù)b,然后計算B=gb mod p并發(fā)送給愛麗絲。4.愛麗絲計算SA=Ba mod p而鮑勃計算SB=Ab mod p,其中對于(ga)b mod p=gab mod p=(gb)a mod p,SA=SB。
該協(xié)議發(fā)布了來自安全密鑰分配信道所需的密碼學(xué)。其安全性關(guān)鍵依賴于在有限域中計算離散對數(shù)的難度,即離散對數(shù)問題(DLP)。迪菲-赫爾曼密鑰協(xié)議算法可以容易地被擴展以在群組通信中與多方一起工作。在本文的公開中,DLP被引入到矩陣域中,這意味著給定兩個n階矩陣T和T◇以及大素數(shù)p,找到整數(shù)l,使得Tl≡T◇mod p。根據(jù)使用T、T-1和p的協(xié)議,得到Ts和T′s的方法可以被描述為如下步驟:
1.愛麗絲選取大整數(shù)a并發(fā)送給鮑勃
方程式(7):TA=Tamod p
方程式(8):T′A=(T-1)amod p
2.鮑勃選取大整數(shù)b并發(fā)送給愛麗絲
方程式(9):TB=Tbmod p
方程式(10):T′B=(T-1)bmod p
3.愛麗絲計算
方程式(11):Ts=TBa mod p
方程式(12):T′s=(T′B)a mod p
以及鮑勃計算
方程式(13):Ts=TAb mod p
方程式(14):T′s=(T′A)b mod p
其中Ts用于加密而T′s用于解密,反之亦然。
由于可以使用上述方案來獲得共享矩陣對{Ts,T′s},因此本公開描述了使用Ts生成閾值向量作為基礎(chǔ)矩陣的方式。這里的時間利用矩陣的乘法的性質(zhì)。愛麗絲和鮑勃首先同意使用掩模向量Q=(q1,q2,...,qn),這是在任何通信之前隨機生成的。為了獲得共享的閾值向量,對于愛麗絲,遵循以下步驟:
1.隨機生成一組具有隨機長度u的向量VA=(α1,α2,...,αu),其中對于j=1,2,...,v,αi是整數(shù),作為她的密鑰并計算總和:
方程式(15):
2.如果HA是奇異矩陣,愛麗絲應(yīng)當(dāng)回到步驟1)以重新生成私鑰VA,否則使用如下方程式來計算她的公鑰:
方程式(16):PA=QHA mod p
對于鮑勃,遵循以下步驟:
1.隨機生成一組具有隨機長度u的向量VB=(β1,β2,...,βv),其中對于j=1,2,...,v,βj是整數(shù),作為他的密鑰并計算總和:
方程式(17):
2.如果HB是單數(shù),鮑勃應(yīng)當(dāng)回到步驟1)以重新生成私鑰VB,否則使用如下方程式來計算他的公鑰:
方程式(18):PB=QHB mod p
愛麗絲和鮑勃交換PA和PB,并秘密保持VA和VB。為了獲得共享的閾值向量,愛麗絲將計算
方程式(19):
并且鮑勃將計算
方程式(20):
這里:θA=θB=θT。因此,這些步驟導(dǎo)致對于n×1個閾值向量θ的協(xié)議被用在愛麗絲與鮑勃之間的加密和解密。
通過以上陳述的密鑰方案,共享的矩陣對{Ts,T's}與閾值向量被神經(jīng)密碼系統(tǒng)所取代,加密方程式(5)可以被重寫為:
方程式(21):
其中,被編碼為M=(m1,m2,...,mn)T的M表示從愛麗絲發(fā)送給鮑勃的消息,C是密文。然后,愛麗絲收集消息(C,ρ)并將其發(fā)送給鮑勃。在提取C和ρ之后,鮑勃解密以獲得M,其通過以下公式被提取:
方程式(22):
為了簡便起見,但又不失一般性,小整數(shù)被用于本文的示例中,而不是大整數(shù)。對于GF(23)空間中的n=4和p=23,掩模向量Q=(22,5,12,3),幺模T和T-1被給定為:
和
假設(shè)愛麗絲選擇a=55且可以通過使用(7)和(8)來計算TA和T′A。類似地,鮑勃選擇b=69并使用(9)和(10)來計算TB和T′B。然后,愛麗絲和鮑勃可以同步共享的矩陣對{Ts,T′s}作為用來生成閾值向量的基礎(chǔ)矩陣,其中
現(xiàn)在,已經(jīng)生成基礎(chǔ)矩陣對{Ts,T′s},愛麗絲和鮑勃分別選擇VA=(11,2,13,4)和VB=(5,146,7,8,99)作為他們的秘密密鑰,而公鑰可以通過將這些參數(shù)代入到方程式(16)和(18)中來獲得,進而生成
然后,當(dāng)愛麗絲和鮑勃分別使用方程式(19)和(20)時,共享向量可以被計算為
令M=(11,16,3,7)T且ρ=600,愛麗絲使用(21)計算C=(4,11,19,14)T,并將(4,11,19,14,600)發(fā)送給鮑勃。然后,鮑勃使用(22)解密并得到M=(11,16,3,7)T。
用于加密和解密上述過程在圖2的流程圖中被示出,圖2示出根據(jù)本主題公開的方案或?qū)嵤├拿艽a系統(tǒng)流的示例性非限制性示意圖200。
如圖2所示,在通信中包含的若干階段可以被分為三個階段,初始階段202,同步階段204和206,以及加密/解密階段208。在初始階段202,包括n、p、T和Q的系統(tǒng)參數(shù)被協(xié)商,并且私鑰{a,VA}和{b,VB}分別由愛麗絲和鮑勃隨機生成。在同步階段,使用上述方案獲得基礎(chǔ)矩陣對{Ts,T′s}(204)和閾值向量θ(206)。因此,愛麗絲和鮑勃雙方都可以用它們來進行通信,如圖2中的加密/解密階段208所示。初始化和同步可以在雙方的第一次通信之前僅進行一次。為了獲得更高的安全性,迭代次數(shù)ρ可以保持為用于不同會話的變量。
從安全的角度來說,可靠的密碼系統(tǒng)應(yīng)當(dāng)被設(shè)計為對于密鑰和明文具有高靈敏度。為了獲得更多的可視化細(xì)節(jié),由(x,y)表示的兩個明文可以被遍歷,并且密鑰在兩個節(jié)點的CHNN-MVC中略有差異,兩個節(jié)點被編號為用于x的神經(jīng)元1和用于y的神經(jīng)元2。然后,具有不同值ρ的輸出結(jié)果可以被遍歷且被描述為XY坐標(biāo)系中的點。如圖3和圖4所描繪的,通過將(3,11)變換到(2,11),動態(tài)略有差異變化的結(jié)果被添加到明文中。通過將VA=(11,2,13,4)變換到VA=(11,2,13,4,1),密鑰向量的小變化也導(dǎo)致輸出上的巨大差異,如圖3和圖5所示。類似地,通過將b=11變換到b=13,一方的秘密迭代數(shù)量的小變化給出了如圖3和圖6所示的完全不同的結(jié)果。其示出對我們方案的明文、密鑰和迭代數(shù)量的高級別敏感度。
圖3描繪了具有Q=(12,17),a=17,b=11,VA=(11,2,13,4),VB=(5,1,7,8,19),ρ從10至19的明文(3,11)的數(shù)據(jù)的遍歷1;圖4描繪了具有Q=(12,17),a=17,b=11,VA=(11,2,13,4),VB=(5,1,7,8,19),ρ從10至19的明文(2,11)的數(shù)據(jù)的遍歷;圖5描繪了具有Q=(12,17),a=17,b=11,VA=(11,2,13,4,1),VB=(5,1,7,8,19),ρ從10至19的明文(3,11)的數(shù)據(jù)的遍歷2;圖6描繪了Q=(12,17),a=17,b=13,VA=(11,2,13,4),VB=(5,1,7,8,19),ρ從10至19的明文(3,11)的數(shù)據(jù)的遍歷3。
與傳統(tǒng)算法相比,在我們的方案中,向量和矩陣而不是單個數(shù)據(jù)被用作密鑰,這意味著通過矩陣乘法輸出作為多個數(shù)據(jù)的效果的組合出現(xiàn),并且由于系統(tǒng)對密鑰的高靈敏度,為了破解該系統(tǒng),需要在同一時間正確地命中矩陣的所有元素,即加密是多維的。因此,分析了對于它的可能攻擊以表明其強大的安全性。下文示例性描繪了所提出的對于公開的eCHNN加密方案的攻擊。
用于攻擊所提出的類似DH的矩陣交換算法的一種可能的方式是通過應(yīng)用矩陣分解。如在3.1節(jié)中所介紹的,T被設(shè)定為公開的、給定的TA(或TB),分析者可嘗試對T進行因式分解以獲得其冪表達(dá)式,從而得到指數(shù)a(或b)。最有可能的因式分解方法是特征分解,這會將矩陣T分解成PDP-1的乘積,其中D是通過不同的特征值T形成的對角矩陣,而P是使用T的相應(yīng)特征向量作為其列生成的矩陣。為了簡便起見,將T視為2×2矩陣并假設(shè)
其中λ1和λ2是矩陣T的兩個不同的特征值。顯然,有
方程式(23):
由于T=PDP-1且如3.1節(jié)中所定義的TA≡Ta mod p,下面關(guān)于
方程式(24):
其可以進一步發(fā)展為
通過方程式(24)的擴展和方程式(23)的置換,破解類似DH的矩陣交換算法等同于從以下方程式中求解a:
求解該問題的難度不低于一般離散對數(shù)問題。并且,由于有限的機器精度以及具有大整數(shù)a的原因,截斷誤差將導(dǎo)致解陷入不可控的狀態(tài),因為不同的特征值更可能是小數(shù)不是整數(shù)。因此,本文公開的所提出的類似DH的矩陣交換算法旨在生成用于加解密的基礎(chǔ)矩陣對并進一步生成閾值向量。
用于攻擊所提出的類似DH的矩陣交換算法的另一種可能的方式是通過單向函數(shù)攻擊。該單向函數(shù)在3.2節(jié)中被定義為給定的兩行長度為n的向量Q和V,找到非奇異矩陣使得顯而易見地,HA是的解,而HB是的解。從公鑰PA和PB中導(dǎo)出秘密密鑰HA和HB等價于確定滿足該方程式的特定矩陣。假設(shè)
V=(v1,v2,...,vn)
并且
其中對于i,j=1,2,...,n,vi和γij是GF(p)的所有本原,問題可以轉(zhuǎn)變?yōu)檎业揭阅?shù)p的形式設(shè)置的方程式的解,如以下方程式所示:
其可以被重寫為
方程式(25):
當(dāng)p被選擇作為RSA整數(shù)時,方程式(25)的密鑰空間近似無限。因此,本文公開的方案是安全的,能抵抗這種單向函數(shù)的攻擊。
由于CHNN基于置換其索引且事實上是通過將T與置換P共軛獲得的,即T的第一行根據(jù)P被置換,然后每行的元素根據(jù)P被置換。這種操作將不會改變網(wǎng)絡(luò)的靜態(tài)結(jié)構(gòu)。置換網(wǎng)絡(luò)的輸出可以等同于根據(jù)P通過將輸入置換到常規(guī)網(wǎng)絡(luò)、然后根據(jù)P的逆來置換網(wǎng)絡(luò)輸出獲得的結(jié)果,這是比置換網(wǎng)絡(luò)本身更快的密碼分析過程。網(wǎng)絡(luò)的該功能僅僅是非線性映射,因此唯密文攻擊可以破壞系統(tǒng)。這種密碼分析方法還適用于在MVC系統(tǒng)中使用的靜態(tài)仿射矩陣。
隨著類似DH的協(xié)議被引入到基于CHNN密碼系統(tǒng)的MVC中,靜態(tài)結(jié)構(gòu)變成動態(tài)并且現(xiàn)在映射通過選擇非奇異密鑰生成矩陣HA和HB變?yōu)榉蔷€性的。因此,可以減輕唯密文攻擊。
在MVC中系統(tǒng)中使用的仿射矩陣可以是奇異的,并且通過了解公鑰矩陣以及將公知的明文代入密鑰方程式,可以獲得新的矩陣M,然后,該矩陣M可用于找到矩陣M的唯一逆,并因此找到私鑰矩陣。通過引入非奇異密鑰生成矩陣HA和HB,密鑰對矩陣不再是奇異的,因而映射變?yōu)榉蔷€性的,因此,可以減輕公知的明文攻擊。
由于所提出的CHNN密碼系統(tǒng)直接映射到多元加密系統(tǒng),因此,將保留該系統(tǒng)的NP困難度性能。對于n神經(jīng)元CHNN,以及對于任何給定的編碼矩陣,選擇作為編碼明文的吸引子的數(shù)量為P且編碼矩陣的數(shù)量將為P!。密鑰空間將為n!。沒有簡單的公知明文攻擊以及密鑰矩陣因式分解或分解可以被應(yīng)用,并且為了公開密鑰對,窮舉搜索需要n!次搜索。此外,用于生成閾值向量的方案極大擴展了如通過下面討論示出的密鑰空間。由于模運算的性質(zhì),重復(fù)的特征退出了Tρmod p。令重復(fù)周期表示為Δ,該特征可以被描述為
Tρmod p=Tρ+Δmod p
其相當(dāng)于
方程式(26):TΔmod p=E mod p
顯然,表示為Θ(T,Δ,p)的Ts的空間關(guān)鍵依賴于Δ的值,因為
方程式(27):Ts mod p=TabmodΔmod p.
因此,將會有
Θ=T mod p,T2mod p,...,TΔmod p.
為了給出一種可能的方式來推導(dǎo)出Δ,可以考慮n×n幺模矩陣T的特征方程式t(s)。對于任何多項式P(s),有
方程式(28):P(s)=q(s)t(s)+r(s)
其中,q(s)可以通過長除法得到且余數(shù)多項式r(s)的次數(shù)不大于n-1。由于矩陣T的特征值被給定為λ1,λ2,...λn,因此,對于i=1,2,...,n,定義t(λi)=0。根據(jù)凱萊-哈密頓(Cayley-Hamilton)定理[28],n×n矩陣滿足其特征方程式,即t(T)=0。因此,使用如下方程式可以減少T中的多項式的階數(shù)
P(T)=q(T)t(T)+r(T)=r(T)
令P(T)=TΔ,可以從上面獲得以下方程式
方程式(29):
方程式(26)可以轉(zhuǎn)換成n2個方程式
方程式(30):
其中τ(i)αβ表示矩陣Ti mod p的元素(α,β),kαβ是對于α,β=1,2,...,n的任何整數(shù),并且對于i=0,1,...,n-1的ri可以通過求解n個未知數(shù)的n個線性方程式來獲得
方程式(31):
對于j=1,2,...,n,Δ可以通過求解(30)和(31)同時遍歷kαβ的所有可能值而獲得。
為了簡單起見,如果n=2,則問題變?yōu)?/p>
其中
因此,λ1Δ和λ2Δ可以由下面的多項式獲得
假設(shè)k12=τ12k'且k21=τ21k',則Δ可以被求解為
方程式(32):
對于窮舉的方法,k22、k'和k11將在整數(shù)域中被同時遍歷以找到每個方程式的所有可能解。具體而言,對于p=7且T被給定為
則特征值可以被計算為
當(dāng)k11=k22=6585600且k'=2688560,(32)具有解Δ=8。當(dāng)n變大時,由于更多的kαβ將在一個方程式中被遍歷,因此,Δ的計算變得極為復(fù)雜、耗時且耗存儲。此外,由于機器精度的問題,應(yīng)用凱萊-哈密頓定理計算Δ的可行性很可能極小。推導(dǎo)的主要目的是僅示出一種方式來估計Ts的空間。
令共享矩陣Ts的重復(fù)周期由Δ'表示,并且其與Δ的關(guān)系可推導(dǎo)如下。由于有Tsρ+Δ'mod p=Tsρmod p,令ρ'=ab mod p,對于方程式(27),其可以被重寫為Tρ'(ρ+Δ')mod p=Tρ'ρmod p.
顯然,然后ρ'Δ'=0modΔ,這可進一步求解為其中k是最小的正整數(shù),以確保Δ'為整數(shù)。因此,Ts的重復(fù)周期滿足其中g(shù)cd(Δ,ρ')表示Δ和ρ'的最大公約數(shù)。
至此,可以看出,與Δ相比,存在著減少Tsρmod p的空間的可能性,當(dāng)gcd(Δ,ρ')≠1時,這是不希望的。然而,這個問題可以很容易地通過簡單地將第3.2節(jié)中使用的模數(shù)p輕微變換為p'而緩解。不同的神經(jīng)元網(wǎng)絡(luò)的Δ和Δ'的一些實驗結(jié)果在表0中給出,這示出這一措施的高效率,并指示Δ和Δ'可能比n2大得多。隨著μ和ν的上限被限制為ε,即使Ts已被成功地分析出,由Ω表示的密鑰矩陣HA(或HB)的空間可以以重復(fù)[5]計算為Δ值的所有可能組合的和,如下:
方程式(33):
接著,如果ε被設(shè)定為n,則有
這種性質(zhì)的一個證明在附錄A中給出??紤]到在有限域GF(p)中定義的階數(shù)n的最大數(shù)量矩陣的為蠻力搜索空間HA(或HB)將是中的最小值,即使Ts使用3.2節(jié)中描述的方案被破解。如果專用計算機系統(tǒng)能夠在一秒鐘內(nèi)執(zhí)行搜索106組隨機排列的密鑰,那么需要來徹底搜索整個私鑰空間并確定私鑰的時間取決于n的大小;對于n=32,將需要大于1035MIPS年來完成搜索,這遠(yuǎn)高于當(dāng)前狀態(tài)的可接受安全級別,即,1012MIPS年。
圖7是根據(jù)本主題公開的方案或?qū)嵤├幕诿艽a系統(tǒng)方法對通信加密的方法700的示例性非限制性過程流程圖。為了說明的簡單性起見,該方法(或程序)被描繪和描述為一系列動作。應(yīng)當(dāng)注意的是,各個實施例不被示出的動作和/或動作的順序的限制。例如,一些動作可以以各種順序和/或同時發(fā)生,并且具有沒有在本文出現(xiàn)或描述的其他動作。在另一個方案中,各種動作可以由系統(tǒng)和/或本文描述的實施例的部件來執(zhí)行。
方法700可開始于702,其中該方法包括初始化系統(tǒng)參數(shù)。在步驟704,該方法可以包括基于與發(fā)送設(shè)備的迪菲-赫爾曼密鑰交換,隨機生成私鑰。
在706,該方法可以包括生成基礎(chǔ)矩陣對作為私鑰的函數(shù),其中基礎(chǔ)矩陣對與所述發(fā)送設(shè)備同步。而在708,該方法可以包括使用系統(tǒng)參數(shù)和私鑰確定閾值向量。
在710,該方法可包括基于閾值向量和基礎(chǔ)矩陣對,解密接收到的消息。
現(xiàn)在轉(zhuǎn)至圖8,其示出的是根據(jù)本主題公開的方案或?qū)嵤├拿艽a系統(tǒng)方法800的示例性非限制性過程流程圖。方法800可在802處開始,其中該方法包括:由包括處理器的系統(tǒng)確定一組系統(tǒng)參數(shù)。在804,該方法可以包括基于與消息接收者相關(guān)聯(lián)的設(shè)備的迪菲-赫爾曼密鑰交換程序生成隨機私鑰。在806,該方法可包括生成與消息接收者的另一個基礎(chǔ)矩陣對同步的基礎(chǔ)矩陣對作為私鑰的函數(shù)。在808,該方法可以包括使用該組系統(tǒng)參數(shù)的系統(tǒng)參數(shù)和私鑰將閾值向量與消息接收者的另一個閾值向量同步,以及在810,該方法可包括使用閾值向量和同步基礎(chǔ)矩陣對,對通信加密。
現(xiàn)在參照圖9,其示出根據(jù)本說明書的計算環(huán)境900的示意性方框圖。系統(tǒng)900包括一個或多個客戶端902,(例如,計算機、智能電話、平板電腦、相機、PDA)。(多個)客戶端902可以是硬件和/或軟件(例如,線程、進程、計算設(shè)備)。例如,(多個)客戶端902可以通過采用本說明書來容納(多個)儲存在用戶本地終端上的數(shù)據(jù)(cookie)和/或相關(guān)聯(lián)的上下文信息。
系統(tǒng)900還包括一個或多個服務(wù)器904。(多個)服務(wù)器904也可以是硬件或硬件與軟件的組合(例如,線程、進程、計算設(shè)備)。例如,服務(wù)器904可以容納線程以通過采用本公開的各個方案來執(zhí)行轉(zhuǎn)換??蛻舳?02和服務(wù)器904之間的一種可能的通信可以為數(shù)據(jù)分組的形式,數(shù)據(jù)分組適于在兩個或更多個計算機進程之間傳輸,其中數(shù)據(jù)分組可以包括編碼項。例如,該數(shù)據(jù)分組可以包括儲存在用戶本地終端上的數(shù)據(jù)和/或相關(guān)聯(lián)的上下文信息。系統(tǒng)900包括通信框架906(例如,諸如為因特網(wǎng)的全球通信網(wǎng)絡(luò)),其可以被采用以有助于(多個)客戶端902與(多個)服務(wù)器904之間的通信。
通信可經(jīng)由有線(包括光纖)和/或無線技術(shù)來進行。在一個方案中,(多個)客戶端902與網(wǎng)絡(luò)設(shè)備(例如,(多個)服務(wù)器904)之間的通信是通過無線信道。在另一個方案中,網(wǎng)絡(luò)設(shè)備(例如,(多個)服務(wù)器904)之間的通信鏈路可以是經(jīng)由無線和/或有線信道。值得注意的是,在本文中描述了(多個)客戶端902與網(wǎng)絡(luò)設(shè)備(例如,(多個)服務(wù)器904)之間的無線連接,然而,(多個)客戶端902也可以具有其它功能(例如,有線通信能力)。(多個)客戶端902可操作地連接到可用于將本地信息(例如,(多個)儲存在用戶本地終端上的數(shù)據(jù)和/或相關(guān)聯(lián)的上下文信息)存儲到(多個)客戶端902的一個或多個客戶端數(shù)據(jù)存儲器908。類似地,(多個)服務(wù)器904可操作地連接到可用于將本地信息存儲到服務(wù)器904的一個或多個服務(wù)器數(shù)據(jù)存儲器910。
在一個實施方式中,服務(wù)器904可以將編碼的文件(例如,網(wǎng)絡(luò)選擇策略,網(wǎng)絡(luò)條件信息等)傳送到客戶端902??蛻舳?02可以存儲文件,解碼文件,或者將文件傳輸?shù)搅硪粋€客戶端902。應(yīng)當(dāng)注意的是,服務(wù)器904還可以將不壓縮的文件傳輸?shù)娇蛻舳?02,并且客戶端902可以根據(jù)公開的主題壓縮文件。同樣地,服務(wù)器904可以編碼信息并經(jīng)由通信框架906將該信息發(fā)送到一個或多個客戶端902。
現(xiàn)在參照圖10,其示出可操作執(zhí)行公開的通信架構(gòu)的計算機的方框圖。為了提供用于本說明書中各個方案的額外上下文,圖10及以下討論旨在提供對合適的計算環(huán)境1000的簡要的一般性描述,其中本說明書的各個方案可以實施。雖然本說明書已在可以在一個或多個計算機上運行的計算機可執(zhí)行指令的一般上下文中描述,但應(yīng)當(dāng)注意的是,本說明書也可結(jié)合其它程序模塊和/或作為硬件和軟件的組合來實施。
通常,程序模塊包括執(zhí)行特定任務(wù)或?qū)崿F(xiàn)特定抽象數(shù)據(jù)類型的例程、程序、組件、數(shù)據(jù)結(jié)構(gòu)等。此外,本領(lǐng)域技術(shù)人員將理解的是,本發(fā)明方法可以通過其它計算機系統(tǒng)配置實現(xiàn),其它計算機系統(tǒng)配置包括單處理器或多處理器計算機系統(tǒng)、微型計算機、大型計算機、以及個人計算機,手持式計算設(shè)備,基于微處理器的或可編程的消費電子產(chǎn)品等,其每一個可操作地耦接到一個或多個相關(guān)聯(lián)的設(shè)備。
本說明書所說明的方案也可以在分布式計算環(huán)境中實現(xiàn),包括云計算環(huán)境,其中某些任務(wù)由通過通信網(wǎng)絡(luò)鏈接的遠(yuǎn)程處理設(shè)備執(zhí)行。在分布式計算環(huán)境中,程序模塊可以位于本地和遠(yuǎn)程存儲器存儲設(shè)備兩者中。
計算裝置可包括各種介質(zhì),其可以包括計算機可讀存儲介質(zhì)和/或通信介質(zhì),其中兩個術(shù)語在本文中彼此不同地使用如下。計算機可讀存儲介質(zhì)可以是可由計算機訪問的并且包括易失性和非易失性介質(zhì),可移動和不可移動介質(zhì)的任何可用的存儲介質(zhì)。通過舉例而非限制的方式,計算機可讀存儲介質(zhì)可以以用于存儲信息、例如計算機可讀指令,程序模塊,結(jié)構(gòu)化數(shù)據(jù)或非結(jié)構(gòu)化數(shù)據(jù)的任何方法或技術(shù)來實施。計算機可讀存儲介質(zhì)可以包括但不限于,RAM、ROM、EEPROM、閃存或其它存儲器技術(shù)、CD-ROM、數(shù)字多功能盤(DVD)或其它光盤存儲、磁帶盒、磁帶、磁盤存儲或其它磁存儲設(shè)備,或可以用來存儲所希望的信息的其他有形的和/或非臨時性的介質(zhì)。對于與由該介質(zhì)存儲的信息相關(guān)的各種操作,計算機可讀存儲介質(zhì)可以例如經(jīng)由訪問請求,查詢或其他數(shù)據(jù)檢索協(xié)議被一個或多個本地或遠(yuǎn)程計算設(shè)備訪問。
通信介質(zhì)通常包括(和/或有助于其傳輸)計算機可讀指令,數(shù)據(jù)結(jié)構(gòu),程序模塊或者諸如已調(diào)制數(shù)據(jù)信號的數(shù)據(jù)信號中的其它結(jié)構(gòu)化或非結(jié)構(gòu)化數(shù)據(jù),例如,載波或其他傳輸機制,并且包括任何信息傳遞或傳輸介質(zhì)。術(shù)語“調(diào)制的數(shù)據(jù)信號”或信號是指具有一個或多個其性質(zhì)設(shè)定或以使得在一個或多個信號中對信息編碼的方式改變的信號。舉例而非限制地,通信介質(zhì)包括有線介質(zhì)、諸如有線網(wǎng)絡(luò)或直接有線連接、以及無線介質(zhì),諸如聲音介質(zhì)、RF介質(zhì)、紅外介質(zhì)和其它無線介質(zhì)。
再次參考圖10,用于實現(xiàn)本說明書的各方案的示例性環(huán)境1000包括計算機1002,包括處理單元1004的計算機1002、系統(tǒng)存儲器1006和系統(tǒng)總線1008。系統(tǒng)總線1008將系統(tǒng)組件(包括但不限于系統(tǒng)存儲器1006)耦接到處理單元1004。處理單元1004可以是各種市售的處理器中的任何一種。雙微處理器和其他多處理器架構(gòu)也可以被用作處理單元1004。
系統(tǒng)總線1008可以是若干種總線結(jié)構(gòu)中的任何一種,其可以進一步互連到存儲器總線(帶有或沒有存儲器控制器),使用各種市售總線架構(gòu)中的任何一種的外圍總線,以及本地總線。系統(tǒng)存儲器1006包括只讀存儲器(ROM)1010和隨機存取存儲器(RAM)1012?;据斎?輸出系統(tǒng)被存儲在非易失性存儲器1010中,例如為ROM、可擦除可編程只讀存儲器、電可擦除可編程只讀存儲器,其中的基本輸入/輸出系統(tǒng)包含基本例程來幫助在計算機1002內(nèi)的元件之間傳輸信息,例如在啟動過程中。RAM 1012也可以包括高速RAM,例如用于高速緩存數(shù)據(jù)的靜態(tài)RAM。
計算機1002還包括也可以在合適的機殼(未示出)中用于外部使用的內(nèi)部硬盤驅(qū)動器1014(例如,EIDE,SATA)、磁軟盤驅(qū)動器1016(例如,讀或?qū)懣梢苿哟疟P1018)和光盤驅(qū)動器1020(例如,讀CD-ROM盤1022或者讀或?qū)懫渌呷萘抗鈱W(xué)介質(zhì),例如DVD)。硬盤驅(qū)動器1014、磁盤驅(qū)動器1016和光盤驅(qū)動器1020可分別通過硬盤驅(qū)動器接口1024、磁盤驅(qū)動器接口1026和光盤驅(qū)動器接口1028連接到系統(tǒng)總線1008。用于外部驅(qū)動器實現(xiàn)的接口1024包括通用串行總線(USB)和IEEE 1394接口技術(shù)中的至少一種或兩種。其他外部驅(qū)動連接技術(shù)也都在本主題說明書的意圖之內(nèi)。
驅(qū)動器及其相關(guān)聯(lián)的計算機可讀存儲介質(zhì)提供數(shù)據(jù)、數(shù)據(jù)結(jié)構(gòu)、計算機可執(zhí)行指令等的非易失性存儲。對于計算機1002,驅(qū)動器和存儲介質(zhì)容納以適當(dāng)?shù)臄?shù)字格式存儲的任何數(shù)據(jù)。雖然以上計算機可讀存儲介質(zhì)是指HDD、可移動軟磁盤以及可移動光學(xué)介質(zhì),例如CD或DVD,但本領(lǐng)域技術(shù)人員應(yīng)該注意到可由計算機讀取的其它類型存儲介質(zhì),諸如zip驅(qū)動器、磁帶盒、存卡、盒式磁帶等等,也可以在示例性操作環(huán)境中使用,并且進一步地,任何這樣的存儲介質(zhì)可以包含用于執(zhí)行本說明書的方法的計算機可執(zhí)行指令。
許多程序模塊可存儲在驅(qū)動器和RAM1012中,包括操作系統(tǒng)1030、一個或多個應(yīng)用程序1032、其它程序模塊1034以及程序數(shù)據(jù)1036。全部或部分操作系統(tǒng)、應(yīng)用程序、模塊和/或數(shù)據(jù)也可以高速緩存在RAM1012中。應(yīng)當(dāng)注意,本說明書可用各種市售的操作系統(tǒng)或操作系統(tǒng)的組合來實現(xiàn)。
用戶可以通過一個或多個有線/無線輸入設(shè)備,例如鍵盤1038和指示設(shè)備,例如鼠標(biāo)1040,向計算機1002輸入命令和信息。其它輸入設(shè)備(未示出可包括麥克風(fēng)、IR遠(yuǎn)程控制、操縱桿,游戲墊、指示筆、觸摸屏或類似物。這些和其它輸入設(shè)備通常通過輸入設(shè)備接口1042連接到處理單元1004,輸入設(shè)備接口1042聯(lián)接到系統(tǒng)總線1008,但是可以通過其他接口,例如并行端口、IEEE 1394串行端口、游戲端口、USB端口、IR接口等連接。
監(jiān)視器1044或其它類型的示出設(shè)備也經(jīng)由諸如視頻適配器1046的接口連接到系統(tǒng)總線1008。除了監(jiān)視器1044之外,計算機通常包括其它外圍輸出設(shè)備(未示出),諸如揚聲器、打印機等。
計算機1002可以在網(wǎng)絡(luò)環(huán)境中使用經(jīng)由有線和/或無線通信至一個或多個遠(yuǎn)程計算機的邏輯連接進行操作,遠(yuǎn)程計算機例如為遠(yuǎn)程計算機1048。遠(yuǎn)程計算機1048可以是工作站、服務(wù)器計算機、路由器、個人計算機、便攜式計算機、基于微處理器的娛樂設(shè)備、對等設(shè)備或其它常見網(wǎng)絡(luò)節(jié)點,并且通常包括上面關(guān)聯(lián)計算機1002描述的許多或所有元件,雖然為了簡便起見,僅有一個存儲器/存儲設(shè)備1050被示出。所描繪的邏輯連接包括有線/無線連接到局域網(wǎng)1052和/或更大的網(wǎng)絡(luò),例如,廣域網(wǎng)1054。這樣的局域網(wǎng)和廣域網(wǎng)網(wǎng)絡(luò)環(huán)境常見于辦公室和公司,并且促進例如為內(nèi)聯(lián)網(wǎng)的企業(yè)-范圍計算機網(wǎng)絡(luò),,所有這些都可以連接到全球通信網(wǎng)絡(luò),例如因特網(wǎng)。
當(dāng)在局域網(wǎng)網(wǎng)絡(luò)環(huán)境中使用時,計算機1002通過有線和/或無線通信網(wǎng)絡(luò)接口或適配器1056連接到本地網(wǎng)絡(luò)1052。適配器1056可以促進有線或無線通信到局域網(wǎng)1052,其也可以包括其上設(shè)置的用于與無線適配器1056通信的無線接入點。
當(dāng)在廣域網(wǎng)絡(luò)環(huán)境中使用時,計算機1002可包括調(diào)制解調(diào)器1058,或連接到通信服務(wù)器廣域網(wǎng)1054上,或具有其它用于在廣域網(wǎng)1354上建立通信的方法,例如通過因特網(wǎng)。調(diào)制解調(diào)器1058,可以是內(nèi)置或外置以及有線或無線設(shè)備,經(jīng)由串行端口接口1042連接到系統(tǒng)總線1008。在聯(lián)網(wǎng)環(huán)境中,關(guān)聯(lián)計算機1002描述的程序模塊或其部分,可以被存儲在遠(yuǎn)程存儲器/存儲設(shè)備1050中。應(yīng)注意的是所示的網(wǎng)絡(luò)連接是示例,并且在計算機之間建立通信鏈路的其它手段都可以使用。
計算機1002可操作來與布置在無線通信中的任何無線設(shè)備或?qū)嶓w通信,該無線設(shè)備或?qū)嶓w例如為打印機、掃描儀、臺式和/或便攜式計算機、便攜式數(shù)據(jù)助理、通信衛(wèi)星、與無線可檢測標(biāo)簽相關(guān)的任何設(shè)備或地點(如公用電話亭、報亭、洗手間)、以及電話。在示例性實施例中,無線通信也變得便利,例如使用Wi-Fi,藍(lán)牙TM,紫蜂以及其它802.XX無線技術(shù)。由此,通信可以是具有傳統(tǒng)網(wǎng)絡(luò)或簡單地位于至少兩個裝置之間的自組織通信(ad hoccommunication)的預(yù)定義結(jié)構(gòu)。
WiFi或無線保真允許在不用線的情況下從家里的沙發(fā)、賓館客房的床或工作會議室連接到互聯(lián)網(wǎng)。WiFi是類似于手機中使用的技術(shù)的無線技術(shù),在基站范圍內(nèi)的任意位置,手機中使用的該技術(shù)使這種裝置(例如計算機)在戶內(nèi)和戶外發(fā)送和接收數(shù)據(jù)。WiFi網(wǎng)絡(luò)使用稱為IEEE 802.11(a、b、g、n等)的無線電技術(shù)來提供安全、可靠、快速的無線連接。WiFi網(wǎng)絡(luò)能夠用于將計算機彼此連接,將計算機連接到互聯(lián)網(wǎng)以及將計算機連接到有線網(wǎng)絡(luò)(其使用IEEE 802.3或以太網(wǎng))。例如,WiFi網(wǎng)絡(luò)以12Mbps(802.11a)、54Mbps(802.11b)或150Mbps(802.11n)的數(shù)據(jù)速率在未經(jīng)授權(quán)的2.4和5GHz的無線電頻帶中運行,或使用包含這兩個頻帶(雙頻帶)的產(chǎn)品,使得網(wǎng)絡(luò)能夠提供與許多家庭或辦公室中使用的有線以太網(wǎng)網(wǎng)絡(luò)類似的真實性能。
如本主題說明書所采用的,術(shù)語“處理器”實質(zhì)上可以指任何計算處理單元或設(shè)備,包括但不限于,單核處理器、具有軟件多線程執(zhí)行能力的單核處理器、多核處理器、具有軟件多線程執(zhí)行能力的多核處理器、具有硬件多線程技術(shù)的多核處理器、并行平臺以及具有分布式共享存儲器的并行平臺。此外,處理器可以指集成電路、專用集成電路(ASIC)、數(shù)字信號處理器(DSP)、現(xiàn)場可編程門陣列(FPGA)、可編程邏輯控制器(PLC)、復(fù)雜可編程邏輯器件(CPLD)、離散門或晶體管邏輯、離散硬件組件或設(shè)計為執(zhí)行本文描述的功能的任何組合。為了優(yōu)化空間使用或提高移動設(shè)備的性能,處理器可以采用納米級結(jié)構(gòu),例如但不限于分子和量子點晶體管、開關(guān)和門。處理器也可以實現(xiàn)為計算處理單元的組合。
如本文所使用的,術(shù)語諸如“數(shù)據(jù)儲存”“數(shù)據(jù)存儲”、“數(shù)據(jù)庫”和實質(zhì)上與操作相關(guān)聯(lián)的任何其它信息存儲組件以及組件的功能是指“存儲部件”,或者在“存儲器”中體現(xiàn)的實體或包含存儲器的組件。應(yīng)當(dāng)注意的是,本文描述的存儲器組件或計算機可讀存儲介質(zhì)可以是易失性存儲器或非易失性存儲器,或者可以包括易失性和非易失性存儲器。
通過舉例而非限制的方式,非易失性存儲器可以包括只讀存儲器(ROM)、可編程ROM(PROM)、電可編程ROM(EPROM)、電可擦除PROM(EEPROM)或閃存。易失性存儲器可以包括非易失性隨機存取存儲器(RAM),其用作外部高速緩存存儲器。通過舉例而非限制的方式,RAM以多種形式可用,諸如靜態(tài)RAM(SRAM)、動態(tài)RAM(DRAM)、同步DRAM(SDRAM),雙倍數(shù)據(jù)率SDRAM(DDR SDRAM)、增強SDRAM(ESDRAM)、同步鏈路DRAM(SLDRAM)和直接內(nèi)存總線RAM(DRRAM)。本文公開的系統(tǒng)或方法的存儲組件旨在包括但不限于這些和任何其它合適類型的存儲器。
當(dāng)用于本申請中時,術(shù)語“部件”、“模塊”、“系統(tǒng)”、“接口”、“平臺”、“服務(wù)”、“框架”、“連接器”、“控制器”或類似術(shù)語一般旨在表示計算機相關(guān)的實體,或者是硬件、硬件和軟件的組合、軟件,或者是執(zhí)行中的軟件或與具有一種或多種特定功能有關(guān)的操作機器的實體。例如,組件可以是但不限于,在處理器上運行的進程、處理器、對象、可執(zhí)行文件,執(zhí)行的線程、程序和/或計算機。通過說明的方式,運行在控制器上的應(yīng)用和控制器都可以是組件。一個或多個部件可以駐留在執(zhí)行的進程和/或線程內(nèi),并且組件可以位于一個計算機上和/或在兩個或更多計算機之間分布。作為另一示例,接口可以包括I/O組件以及相關(guān)聯(lián)的處理器、應(yīng)用和/或API組件。
此外,本公開的主題可以被實現(xiàn)為方法、裝置或制品,用標(biāo)準(zhǔn)編程和/或工程技術(shù)以產(chǎn)生軟件、固件、硬件或其任何組合以控制計算機實現(xiàn)所公開的主題。制品可以涵蓋可從任何計算機可讀設(shè)備、計算機可讀存儲器/通信介質(zhì)訪問的計算機程序。例如,計算機可讀介質(zhì)可以包括但不限于磁存儲設(shè)備(例如硬盤、軟盤、磁條...)、光盤(例如,壓縮光盤(CD)、數(shù)字多功能盤(DVD)...)、智能卡以及閃存設(shè)備(例如,卡、棒、密鑰驅(qū)動器...)。當(dāng)然,本領(lǐng)域技術(shù)人員將認(rèn)識到,對此配置可以進行多種修改,并不脫離各個實施例的范圍或精神。
上文已描述的內(nèi)容包括本說明書的示例。當(dāng)然,出于描述本說明書的目的,不可能描述組件或方法的所有可能的組合,但是本領(lǐng)域技術(shù)人員可認(rèn)識到,本說明書的許多進一步的組合和替換是可能的。因此,本說明書旨在涵蓋落入所附權(quán)利要求的精神和范圍內(nèi)的所有此類更改、修改和變化。此外,因此,對于用于詳細(xì)說明或權(quán)利要求書中的術(shù)語“包括”來說,以類似于在權(quán)利要求書中當(dāng)作過渡詞解釋的術(shù)語“包含”的方式,這樣的術(shù)語旨在是包含性的。