本發(fā)明涉及密碼領(lǐng)域。更具體地,本發(fā)明涉及一種用于通過視覺加密來對(duì)純文本進(jìn)行加密的方法。
背景技術(shù):
::在密碼中,純文本是發(fā)送方希望傳輸至接收方的信息。明文通常用作同義詞。純文本涉及密碼算法的操作,通常是加密算法,并且是密碼算法運(yùn)行所依據(jù)的輸入。作為對(duì)照,明文指未經(jīng)過加密而傳輸或者存儲(chǔ)的數(shù)據(jù)(即,“未加密”)。在計(jì)算機(jī)時(shí)代之前,純文本最常指通信方語言的消息文本。由于計(jì)算機(jī)變得普及,因此,該定義已經(jīng)擴(kuò)展到包括:消息(例如,電子郵件消息)、文檔內(nèi)容(例如,文字處理器文件)、音頻文件、ATM和信用卡信息、傳感器數(shù)據(jù)、人們希望保密的任何其它數(shù)據(jù)“(來自http://en.wikipedia.org/wiki/Plaintext)”。加密本身不能阻止攔截,但是拒絕向攔截器提供消息內(nèi)容。在加密方案中,通過使用加密算法來對(duì)稱為純文本的消息或者信息進(jìn)行加密,生成只有在經(jīng)過解密才能讀取的密文。由于技術(shù)原因,加密方案通常使用通過算法生成的偽隨機(jī)加密密鑰。原則上可以在未擁有密鑰的情況下對(duì)消息進(jìn)行解密,但是,針對(duì)良好設(shè)計(jì)的加密方案,需要大量的計(jì)算資源和技能。授權(quán)的接收方可以利用由發(fā)起方提供給接收方但未提供給未授權(quán)的攔截器的密鑰來輕松地對(duì)消息進(jìn)行解密“(來自http://en.wikipedia.org/wiki/Encryption)”。密鑰是確定密碼算法或者密碼的函數(shù)輸出的信息(參數(shù))。如果沒有密鑰,則算法將不會(huì)產(chǎn)生有用的結(jié)果。在加密中,密鑰指定純文本到密文的特定變換,或者,在解密期間反之亦然。密鑰還用于其它加密算法,諸如,數(shù)字簽名方案和消息認(rèn)證代碼?!瓰榱朔乐共鲁雒荑€,密鑰需要真正隨機(jī)地來生成并且包含足夠的熵。如何安全地生成真正隨機(jī)的密鑰這個(gè)問題較為困難,并且已經(jīng)通過各種密碼系統(tǒng)按照許多方式解決了該問題“來自(http://en.wikipedia.org/wiki/Key_(cryptography))”。然而,僅僅密鑰是隨機(jī)的,而由密鑰產(chǎn)生的密文則不是隨機(jī)的。本發(fā)明的目的是提供一種用于對(duì)純文本進(jìn)行加密的方法,在該方法中,密文也是隨機(jī)的。本發(fā)明的目的是提供一種用于現(xiàn)有技術(shù)的上述問題和其它問題的解決方案。本發(fā)明的其它目的和優(yōu)點(diǎn)將隨著描述的進(jìn)行變得顯而易見。技術(shù)實(shí)現(xiàn)要素:一種純文本加密方法,該方法包括以下步驟:將純文本20轉(zhuǎn)換成能夠表示視覺信息的信息18;以及產(chǎn)生至少兩個(gè)隨機(jī)代碼14A、14B、14C,其中,隨機(jī)代碼的組合等于能夠表示視覺信息的信息18,從而將純文本20加密成隨機(jī)代碼14A、14B、14C。該方法可以進(jìn)一步包括以下步驟:將至少兩個(gè)隨機(jī)代碼14A、14B中的每一個(gè)加密成密文16A、16B。將至少兩個(gè)隨機(jī)代碼14A、14B中的每一個(gè)加密成密文16A、16B的步驟可以包括應(yīng)用R.S.A算法。產(chǎn)生至少兩個(gè)隨機(jī)代碼14A、14B的步驟可以包括視覺加密。至少兩個(gè)隨機(jī)代碼14A、14B的組合可以包括XOR函數(shù)。能夠表示視覺信息的信息18可以包括一系列二進(jìn)制代碼,各個(gè)該二進(jìn)制代碼表示開或者關(guān),以便表示圖像的視覺信息的黑-白像素。能夠表示視覺信息的信息18包括一系列非二進(jìn)制代碼,各個(gè)該非二進(jìn)制代碼表示圖像的視覺信息的彩色像素。將純文本20轉(zhuǎn)換成能夠表示視覺信息的信息18的步驟可以包括以下步驟:通過已知的轉(zhuǎn)換表來將純文本20的各個(gè)字符轉(zhuǎn)換成非隨機(jī)代碼(22)(諸如,ASCIL);以及將該非隨機(jī)代碼22轉(zhuǎn)換成一系列像素的信息。將純文本20轉(zhuǎn)換成能夠表示視覺信息的信息18的步驟可以包括以下步驟:對(duì)純文本20進(jìn)行光學(xué)掃描;以及將該掃描轉(zhuǎn)換成一系列像素的信息。已經(jīng)使用參考數(shù)字來指出在本文描述的和圖示的實(shí)施例中的元件,以促進(jìn)對(duì)本發(fā)明的理解。它們僅僅是說明性的,并且不是限制性的。而且,已經(jīng)結(jié)合其系統(tǒng)和方法描述和圖示了本發(fā)明的前述實(shí)施例,該描述和圖示僅僅是說明性的,并且不是限制性的。附圖說明本文結(jié)合以下附圖對(duì)本發(fā)明的優(yōu)選實(shí)施例、特征、方面和優(yōu)點(diǎn)進(jìn)行了描述:圖1是根據(jù)本發(fā)明的一個(gè)實(shí)施例的加密和解密步驟的框圖。圖2是應(yīng)用圖1的加密和解密步驟的框圖的示例。圖3示出了用于產(chǎn)生三種視覺代碼的圖1的第二步驟的另一示例。圖4是根據(jù)另一示例的應(yīng)用圖1的加密和解密步驟的框圖的示例。應(yīng)該理解,附圖不一定按比例繪制。具體實(shí)施方式將通過以下優(yōu)選實(shí)施例的詳細(xì)描述(“最佳實(shí)施方式”)來理解本發(fā)明,該詳細(xì)描述是描述性的并且不是限制性的。為了簡(jiǎn)潔起見,不對(duì)一些熟知的特征、方法、系統(tǒng)、過程、部件、電路等進(jìn)行詳細(xì)描述。圖1是根據(jù)本發(fā)明的一個(gè)實(shí)施例的加密和解密步驟的框圖。根據(jù)圖1的加密步驟,本發(fā)明應(yīng)用通過視覺加密來對(duì)純文本進(jìn)行加密。在第一步驟中,在編號(hào)為10的加密方法的圖1中編號(hào)為“1”,將純文本轉(zhuǎn)換成能夠表示視覺信息的信息??梢詰?yīng)用各種方法來將純文本轉(zhuǎn)換成能夠表示視覺信息的信息。圖2和圖4描述了兩種不同的方法。圖2是應(yīng)用圖1的加密和解密步驟的框圖的示例。根據(jù)一個(gè)示例,可以將純文本20的各個(gè)字符轉(zhuǎn)換成其ASCII代碼22的視覺二進(jìn)制顯示,其中,ASCII代碼是已知的轉(zhuǎn)換表的示例。例如,可以在第一步驟(在圖2中編號(hào)為“1”)中將編號(hào)為20的純文本“11”(用于該純文本“11”的ASCII代碼在ASCII表(http://www.asciitable.com/)中為49和49轉(zhuǎn)換成110001(二進(jìn)制代碼為49)和110001(二進(jìn)制代碼為49)的視覺二進(jìn)制顯示,由此成為110001'110001(僅為了便于閱讀而添加撇號(hào)),編號(hào)為18,該110001'110001是110001與110001的組合。由于可以由黑色像素來表示各個(gè)“1”并且由白色像素來表示各個(gè)“0”,因此,該編號(hào)為18的110001'110001代碼信息能夠表示由圖1的第一步驟指示的視覺信息。根據(jù)另一實(shí)施例,各個(gè)像素可以是彩色像素,由此具有廣泛的范圍。在第二步驟(在圖1中編號(hào)為“2”)中,通過視覺密碼來對(duì)能夠表示視覺信息的信息18(此處為“視覺信息”)進(jìn)行編碼。視覺密碼是一種加密技術(shù),該技術(shù)允許按照解密成為不需要計(jì)算機(jī)的機(jī)械操作的方式來對(duì)視覺信息(圖片、文本等)進(jìn)行加密。最廣為人知的一種技術(shù)歸功于MoniNaor和AdiShamir,他們?cè)?994年研發(fā)了該技術(shù)。他們展示了一種視覺秘密共享方案,在該方案中,將圖像分解成n個(gè),從而使得只有具有所有n個(gè)的人才可以對(duì)圖像進(jìn)行解密,而任何的n-1個(gè)都無法透露有關(guān)原始圖像的信息。將各份打印在單獨(dú)的透明膠片上,并且通過覆蓋這些份來執(zhí)行解密。當(dāng)覆蓋了所有n個(gè)時(shí),原始圖像將出現(xiàn)。通過使用類似的想法,可以使用透明膠片來實(shí)施一次性密鑰加密,其中,一張透明膠片是共享隨機(jī)密碼本,并且另一透明膠片充當(dāng)密文。在該示例中,已經(jīng)將圖像分成兩個(gè)分量圖像。各個(gè)分量圖像針對(duì)原始圖像中的每個(gè)像素具有一對(duì)像素。根據(jù)以下規(guī)則來將這些像素對(duì)著色為黑色或者白色:如果原始圖像像素是黑色,那么在分量圖像中的像素對(duì)必須是互補(bǔ)的;隨機(jī)地將一個(gè)像素對(duì)著色為黑-白,將另一個(gè)著色為白-黑。當(dāng)這些互補(bǔ)對(duì)重疊時(shí),它們將呈現(xiàn)出深灰色。另一方面,如果原始圖像像素是白色,那么在分量圖像中的像素對(duì)必須匹配:都是黑-白或者都是白-黑。當(dāng)這些匹配對(duì)重疊時(shí),它們將呈現(xiàn)出淺灰色。因此,當(dāng)將兩個(gè)分量圖像疊合起來時(shí),原始圖像會(huì)出現(xiàn)。然而,考慮到其本身,分量圖像不透露有關(guān)原始圖像的信息;無法區(qū)分其與黑-白/白-黑對(duì)的隨機(jī)圖案。此外,如果您具有一個(gè)分量圖像,那么您可以使用上面的著色規(guī)則來產(chǎn)生偽造的分量圖像,該偽造的分量圖像結(jié)合該規(guī)則來產(chǎn)生任何圖像。存在一種用于二進(jìn)制(黑與白)視覺密碼的使一個(gè)主圖像成為2個(gè)圖像的簡(jiǎn)單算法,將該算法解釋如下:將第一圖像作為主圖像大小的完全隨機(jī)圖像,并且第二個(gè)圖像將與第一個(gè)圖像相同,但是在主圖像的像素的情況下,第二個(gè)圖像將值改變?yōu)榈谝粋€(gè)圖像的異或(XOR)?,F(xiàn)在我們具有兩個(gè)圖像,它們單獨(dú)沒有任何意義,但是當(dāng)對(duì)這兩個(gè)圖片進(jìn)行XOR時(shí),將顯示主圖片“(來自http://en.wikipedia.org/wiki/Visualcryptography)”。上述技術(shù)包括“視覺密碼”的演示。當(dāng)將具有明顯隨機(jī)黑-白像素的兩個(gè)相同大小的圖像疊合起來時(shí),維基百科標(biāo)志出現(xiàn)。以下示例將假設(shè)XOR算法作為典型的視覺密碼技術(shù)。根據(jù)通過應(yīng)用XOR算法來產(chǎn)生兩個(gè)視覺代碼的第二步驟(在圖2中編號(hào)為“2”)的示例,由于110000'001111XOR000001'111110等于編號(hào)為18的可視信息110001'110001,因此,可以隨機(jī)地將第一視覺代碼14A確定為110000'001111,并且可以將第二視覺代碼14B確定為000001'111110。在圖3中編號(hào)為“3”和“4”的第三和第四步驟中,單獨(dú)對(duì)視覺代碼中的每一個(gè)進(jìn)行編碼。根據(jù)在圖2中編號(hào)為“3”和“4”的第三和第四步驟的示例,將110000'001111代碼轉(zhuǎn)換成十進(jìn)制表示,由此成為48(針對(duì)110000部分)和15(針對(duì)001111部分);并且將它們中的每一個(gè)加密成密文,即16A和16B。因此,將隨機(jī)代碼14A加密成密文16A,并且將隨機(jī)碼14B加密成密文16B。圖2描繪了成為共同構(gòu)成密文16B的96(針對(duì)48部分)和30(針對(duì)15部分)的示例性““乘以2”加密;并且將000001'111110代碼轉(zhuǎn)換成十進(jìn)制表示1(針對(duì)000001部分)和62(針對(duì)111110部分),并且這些都是通過成為共同構(gòu)成密文16B的2(針對(duì)1部分)和124(針對(duì)62部分)的“乘以2”加密來進(jìn)行加密的?!俺艘?”當(dāng)然僅僅是加密算法的簡(jiǎn)化示例。根據(jù)優(yōu)選實(shí)施例,可以選擇R.S.A算法。RSA代表RonRivest、AdiShamir和LeonardAdleman,他們?cè)?977年首次公開描述了該算法。在第二步驟(圖1中編號(hào)為“2”)中,相較于圖2的示例,能夠表示通過視覺密碼來進(jìn)行編碼的視覺信息的信息可以產(chǎn)生大量的隨機(jī)代碼。圖3示出了產(chǎn)生超過兩個(gè)視覺代碼(該示例中是三個(gè)視覺代碼)的第二步驟(編號(hào)為“2”)的另一示例。由于110000'001111XOR000111'110011XOR000110'001101等于編號(hào)為18的視覺信息110001'110001,因此,可以隨機(jī)地將第一視覺代碼14A確定為110000'001111(如圖2所示);可以隨機(jī)地將第二視覺代碼14B確定為000111'110011;并且可以隨機(jī)地將第三視覺代碼14C確定為000110'001101。圖4是根據(jù)另一示例的應(yīng)用圖1的加密和解密步驟的框圖的示例。根據(jù)一個(gè)實(shí)施例,可以通過應(yīng)用光學(xué)裝置來將純文本的字符轉(zhuǎn)換成能夠表示視覺信息的信息,因此,能夠表示視覺信息的信息事實(shí)上是視覺信息。例如,可以將純文本“11”轉(zhuǎn)換成純文本“11”的圖像,從而使得(如果忽略一部分)其可以包括兩條間隔開的垂直線(如編號(hào)為12的框所示),可以經(jīng)由光學(xué)掃描來用01010'01010表示這兩條線。在圖4中描述的接下來的步驟與圖2的步驟相同。在圖1中編號(hào)為10A的解密方法的步驟大體上是圖1的加密方法10A的反向步驟。在本文的附圖和/或描述中,已經(jīng)提到以下參考數(shù)字(參考數(shù)字列表):數(shù)字10表示根據(jù)本發(fā)明的一個(gè)實(shí)施例的加密方法;數(shù)字10A表示根據(jù)本發(fā)明的一個(gè)實(shí)施例的解密方法;數(shù)字12表示兩條間隔開的垂直線;數(shù)字14A、14B、和14C表示作為純文本的加密的隨機(jī)代碼;數(shù)字16A和16B表示作為純文本的加密的密文;數(shù)字18表示能夠表示視覺信息,例如,黑-白像素的陣列的信息;數(shù)字20表示用于進(jìn)行加密的純文本;數(shù)字22表示通過純文本生成的代碼,尚未對(duì)該代碼進(jìn)行加密。出于說明之目的,已經(jīng)呈現(xiàn)了對(duì)本發(fā)明的實(shí)施例的前述描述和說明。該描述和說明不旨在是詳盡的或者將本發(fā)明限制為任何形式的上述描述。應(yīng)該根據(jù)該限定來解釋已經(jīng)在上面限定的并且在權(quán)利要求書中使用的任何術(shù)語。權(quán)利要求書中的參考數(shù)字不是權(quán)利要求書的一部分,而是用于促進(jìn)對(duì)權(quán)利要求書的閱讀。這些參考數(shù)字不應(yīng)被解釋為按照任何形式限制權(quán)利要求書。當(dāng)前第1頁1 2 3 當(dāng)前第1頁1 2 3