專利名稱:生成用于檢測(cè)在處理期間加密數(shù)據(jù)的虛假改造的數(shù)據(jù)的設(shè)備及方法
技術(shù)領(lǐng)域:
本發(fā)明涉及用于生成能夠檢測(cè)偽造電子數(shù)據(jù)的加密數(shù)據(jù)的加密技術(shù),以及用于對(duì)加密數(shù)據(jù)進(jìn)行解密的解密技術(shù)。
背景技術(shù):
經(jīng)過(guò)網(wǎng)絡(luò)發(fā)送和接收要求版權(quán)保護(hù)的程序及數(shù)據(jù)或高度保密數(shù)據(jù),并且將它們記錄在只讀光盤(CD-ROM)或其它記錄介質(zhì)上并進(jìn)行商業(yè)化分發(fā)。這類數(shù)據(jù)可被未經(jīng)授權(quán)訪問(wèn)該數(shù)據(jù)的第三方來(lái)存取和偽造。為了防止這一事件的發(fā)生,對(duì)該數(shù)據(jù)進(jìn)行加密。
例如,如參照?qǐng)D5所述,對(duì)要通信的數(shù)據(jù)進(jìn)行加密。最初,發(fā)送者讀取要加密的數(shù)據(jù)(步驟(S)1001),并且利用哈希函數(shù)來(lái)計(jì)算報(bào)文摘要(MD),以及計(jì)算用于檢測(cè)偽造的校驗(yàn)字符串(S1002)。利用不同于計(jì)算MD的手段可以檢測(cè)偽造。它可以通過(guò)不同手段、例如應(yīng)用循環(huán)冗余碼校驗(yàn)(CRC)碼來(lái)進(jìn)行檢測(cè)。然后,依照指定的加密技術(shù)來(lái)對(duì)要加密的數(shù)據(jù)進(jìn)行加密(S1003),并且將在S1002所獲得的MD附加于加密數(shù)據(jù),并由此將它們發(fā)送到對(duì)方(S1004)。
盡管未示出,但接收者實(shí)施這一處理的逆向形式。更具體而言,具有已接收的加密數(shù)據(jù)的接收者最初執(zhí)行解密處理,然后計(jì)算MD。比較這個(gè)計(jì)算出的MD和附加于已接收的加密數(shù)據(jù)的MD。如果它們匹配,則判定已接收數(shù)據(jù)是無(wú)偽造的正常數(shù)據(jù)。
圖16示意性示出了上述數(shù)據(jù)流程。在圖16中,先將要加密的數(shù)據(jù)101分成z個(gè)子數(shù)據(jù)Ni,其中i=1至z。在S1和S2,為每個(gè)數(shù)據(jù)Ni使用哈希函數(shù)來(lái)執(zhí)行哈希函數(shù)處理,并且使用加密處理信息及參數(shù)修改部分來(lái)執(zhí)行加密處理。作為結(jié)果,生成了加密數(shù)據(jù)Mi,其中i=1至z。在這種情況下,將哈希函數(shù)處理的最終結(jié)果附加于加密數(shù)據(jù)M1-Mz,以作為偽造檢測(cè)的校驗(yàn)字符串MD,從而完成加密數(shù)據(jù)102。為了對(duì)加密數(shù)據(jù)102進(jìn)行解密,最初在S3,利用解密處理信息及參數(shù)修改部分,使加密數(shù)據(jù)Mi經(jīng)過(guò)解密處理,從而獲得由數(shù)據(jù)Pi所形成的解密數(shù)據(jù)103,其中i=1至z。接著,在S4,所有數(shù)據(jù)Pi經(jīng)歷哈希函數(shù)處理,來(lái)計(jì)算校驗(yàn)字符串MD。將計(jì)算出的校驗(yàn)字符串MD與包含于加密數(shù)據(jù)102中的偽造檢測(cè)校驗(yàn)字符串MD進(jìn)行比較,且如果兩個(gè)MD相匹配,則判定加密數(shù)據(jù)M1-Mz不是偽造數(shù)據(jù),而如果兩個(gè)MD不匹配,則判定該數(shù)據(jù)是偽造數(shù)據(jù)。
上述常規(guī)加密處理需要兩步計(jì)算偽造檢測(cè)校驗(yàn)字符串,以及對(duì)數(shù)據(jù)進(jìn)行加密。所述解密處理同樣需要兩步對(duì)數(shù)據(jù)進(jìn)行解密,以及計(jì)算偽造檢測(cè)校驗(yàn)字符串以供比較。這些步驟中的每一步都具有十分大量的處理,并且執(zhí)行加密與加密處理的設(shè)備、在它們完成加密以供傳輸和完成解密以供再現(xiàn)之前,將會(huì)需要很長(zhǎng)一段時(shí)間。這正是實(shí)時(shí)執(zhí)行處理的障礙,例如經(jīng)由網(wǎng)絡(luò)將來(lái)自于服務(wù)器的內(nèi)容分發(fā)到對(duì)應(yīng)于客戶端的移動(dòng)終端上,并且立即在該移動(dòng)終端上再現(xiàn)所述內(nèi)容。換句話說(shuō),具有低處理能力的移動(dòng)終端,需要很長(zhǎng)一段時(shí)間來(lái)再現(xiàn)所接收到的內(nèi)容,這樣的移動(dòng)設(shè)備提供了很差的實(shí)用性。
此外,盡管如此,合法獲取的內(nèi)容仍然會(huì)使數(shù)據(jù)部分丟失,或者被經(jīng)由網(wǎng)絡(luò)在發(fā)送與接收期間的其它數(shù)據(jù)、或者在具有存儲(chǔ)于其中的內(nèi)容的介質(zhì)中的其它數(shù)據(jù)所代替。在此情況下,為了再次獲得合法內(nèi)容,就必須接收該內(nèi)容的全部數(shù)據(jù),并相應(yīng)地耗費(fèi)十分長(zhǎng)的一段時(shí)間來(lái)傳遞數(shù)據(jù)。
日本已公開專利2000-122861號(hào)公開了用以防止軟件、數(shù)據(jù)等等的偽造的技術(shù)。在這個(gè)技術(shù)中,使用如上所述的這類哈希函數(shù)來(lái)檢測(cè)偽造。此外,在這個(gè)技術(shù)中,將要壓縮的數(shù)據(jù)劃分成多個(gè)塊,每一塊都當(dāng)作一個(gè)單元,并且一個(gè)塊不論何時(shí)經(jīng)過(guò)加密處理,皆要計(jì)算所述塊的加密密鑰,這種計(jì)算明顯耗費(fèi)時(shí)間。
發(fā)明內(nèi)容
本發(fā)明針對(duì)一種使處理量降低的設(shè)備和方法,一種促使計(jì)算機(jī)執(zhí)行所述方法的程序,一種在其中記錄有所述程序的介質(zhì)。
為了實(shí)現(xiàn)上述目的,本發(fā)明在一方面,提供了對(duì)數(shù)據(jù)進(jìn)行加密以生成加密數(shù)據(jù)的加密方法及設(shè)備。當(dāng)實(shí)施此加密時(shí),計(jì)算加密結(jié)果。所述結(jié)果由數(shù)據(jù)來(lái)表示,所述數(shù)據(jù)將被附加于加密數(shù)據(jù)。這個(gè)表示加密結(jié)果的數(shù)據(jù),表示用于檢測(cè)加密數(shù)據(jù)是否為偽造數(shù)據(jù)的偽造檢測(cè)數(shù)據(jù)。因此,當(dāng)生成加密數(shù)據(jù)時(shí),能夠獲得偽造檢測(cè)數(shù)據(jù)。這樣就能消除獨(dú)立于生成加密數(shù)據(jù)而計(jì)算偽造檢測(cè)數(shù)據(jù)的需要。能夠以減少的處理量來(lái)實(shí)現(xiàn)加密。
為了實(shí)現(xiàn)上述目的,本發(fā)明在另一個(gè)方面,提供了一種檢測(cè)加密數(shù)據(jù)的偽造的方法及設(shè)備。其接收加密數(shù)據(jù)并對(duì)加密數(shù)據(jù)進(jìn)行解密,以生成解密數(shù)據(jù)。當(dāng)實(shí)施此解密時(shí),計(jì)算解密結(jié)果。所述結(jié)果由數(shù)據(jù)來(lái)表示,所述數(shù)據(jù)表示用于檢測(cè)加密數(shù)據(jù)是否為偽造數(shù)據(jù)的偽造檢測(cè)數(shù)據(jù)。因此,當(dāng)生成解密數(shù)據(jù)時(shí),能夠獲得偽造檢測(cè)數(shù)據(jù)。這樣就能消除獨(dú)立于生成加密數(shù)據(jù)而計(jì)算偽造檢測(cè)數(shù)據(jù)的需要。能夠以減少的處理量來(lái)實(shí)現(xiàn)解密。
在檢測(cè)加密數(shù)據(jù)偽造的上述方法及設(shè)備中,最好按每個(gè)指定大小的數(shù)據(jù)塊對(duì)加密數(shù)據(jù)進(jìn)行解密,以生成數(shù)據(jù)塊的解密塊數(shù)據(jù)。對(duì)于當(dāng)實(shí)施解密時(shí)所計(jì)算的每個(gè)解密塊數(shù)據(jù),將表示對(duì)加密塊數(shù)據(jù)進(jìn)行解密的結(jié)果的數(shù)據(jù)同附加于數(shù)據(jù)塊的偽造檢測(cè)數(shù)據(jù)進(jìn)行比較,并根據(jù)比較結(jié)果來(lái)檢測(cè)加密數(shù)據(jù)是否為偽造數(shù)據(jù)。對(duì)于每個(gè)數(shù)據(jù)塊,所述加密數(shù)據(jù)都能將偽造檢測(cè)數(shù)據(jù)附加于其上。可為每個(gè)數(shù)據(jù)塊判斷加密數(shù)據(jù)是否為偽造數(shù)據(jù)。如果判定偽造存在,則就能按塊來(lái)對(duì)加密數(shù)據(jù)的偽造部分進(jìn)行定位。除了對(duì)應(yīng)于所述偽造部分的數(shù)據(jù)塊之外,也能對(duì)其它數(shù)據(jù)塊正常進(jìn)行解密。
本發(fā)明在又一個(gè)方面,提供了一種再現(xiàn)先前已分成多個(gè)塊的加密數(shù)據(jù)的方法及設(shè)備。其從指定塊中順序提取部分?jǐn)?shù)據(jù)。利用對(duì)先前所提取的部分?jǐn)?shù)據(jù)進(jìn)行解密的結(jié)果,來(lái)順序計(jì)算對(duì)當(dāng)前所提取的部分?jǐn)?shù)據(jù)進(jìn)行解密的結(jié)果,并且利用所順序計(jì)算的對(duì)數(shù)據(jù)進(jìn)行解密的結(jié)果,來(lái)生成解密數(shù)據(jù)。將表示在生成解密數(shù)據(jù)過(guò)程中所計(jì)算的最終解密結(jié)果的數(shù)據(jù)同先前被關(guān)聯(lián)于指定塊的偽造檢測(cè)數(shù)據(jù)進(jìn)行比較,并根據(jù)比較結(jié)果來(lái)判斷是否應(yīng)該再現(xiàn)與已生成的指定塊相對(duì)應(yīng)的解密數(shù)據(jù)。
因此,針對(duì)每個(gè)指定塊,可將偽造檢測(cè)數(shù)據(jù)關(guān)聯(lián)于加密數(shù)據(jù)??蔀槊總€(gè)指定塊判斷加密數(shù)據(jù)是否為偽造數(shù)據(jù)??蔀槊總€(gè)指定塊判斷相應(yīng)的解密數(shù)據(jù)是否可再現(xiàn)。
在再現(xiàn)加密數(shù)據(jù)的上述方法及設(shè)備中,加密數(shù)據(jù)最好是通過(guò)對(duì)要再現(xiàn)的內(nèi)容進(jìn)行加密而獲得的數(shù)據(jù),并且根據(jù)加密數(shù)據(jù)的多個(gè)塊,可以選擇并解密對(duì)應(yīng)于數(shù)據(jù)大小的一塊或多塊,其中所述數(shù)據(jù)大小對(duì)應(yīng)于可一次再現(xiàn)的內(nèi)容量。
內(nèi)容的一個(gè)選定塊或多個(gè)選定塊可以比其它塊更早被解密,以供再現(xiàn)。對(duì)加密內(nèi)容進(jìn)行再現(xiàn),可以在全部?jī)?nèi)容都完成解密之前開始。
在所述附圖中圖1是第一實(shí)施例中的加密處理的流程圖;圖2是第一實(shí)施例中的解密處理的流程圖;圖3示意性示出第一實(shí)施例的加密與解密處理中的數(shù)據(jù)流程;圖4A和4B是專門作為舉例、用來(lái)說(shuō)明第一實(shí)施例的加密與解密處理的示意圖;圖5是專門作為舉例、用來(lái)說(shuō)明第一實(shí)施例的加密處理的圖;圖6A、6B和6C示出根據(jù)作為舉例的第二實(shí)施例的數(shù)據(jù)結(jié)構(gòu);圖7是第二實(shí)施例中的加密處理的流程圖;圖8是第二實(shí)施例中的解密處理的流程圖;圖9是第三實(shí)施例中的分發(fā)系統(tǒng)的配置圖;圖10A和10B作為舉例示出第三實(shí)施例中電子書內(nèi)容的數(shù)據(jù)結(jié)構(gòu);圖11是表示第四實(shí)施例的解密處理中的數(shù)據(jù)流程的示意圖;圖12是第四實(shí)施例中的解密處理的流程圖;圖13是表示第四實(shí)施例的解密處理中的數(shù)據(jù)流程的示意圖;圖14示出第五實(shí)施例中的信息處理設(shè)備的配置;圖15是常規(guī)加密處理的流程圖;和圖16是用來(lái)說(shuō)明常規(guī)加密與解密處理中的數(shù)據(jù)流程的示意圖。
實(shí)施本發(fā)明的優(yōu)選方式在下文中,將參照附圖更加清楚地對(duì)本發(fā)明的實(shí)施例作出描述。
第一實(shí)施例圖1示出了依照本發(fā)明實(shí)施例的加密處理的過(guò)程。這個(gè)過(guò)程采用了適用于任何加密系統(tǒng)的加密算法,在所述加密系統(tǒng)中加密結(jié)果與解密結(jié)果是等同的信息,并且在加密與解密處理中,應(yīng)用先前的運(yùn)算結(jié)果來(lái)隨后計(jì)算當(dāng)前的運(yùn)算結(jié)果。照此,可以使用公用密鑰加密系統(tǒng)、或者其它類似的、一般所采用的加密系統(tǒng),并且例如,所述系統(tǒng)可以通過(guò)依照稱作密碼分組鏈接(cipher block chainingCBC)模式的過(guò)程,處理眾所周知的數(shù)據(jù)加密標(biāo)準(zhǔn)(DES)來(lái)加以實(shí)現(xiàn)。注意到CBC模式是涉及鏈接的加密方法,而且接連地采用先前加密結(jié)果來(lái)計(jì)算當(dāng)前加密結(jié)果。
參照?qǐng)D1,在加密處理中,最初獲得要加密的數(shù)據(jù)(S101)。盡管未示出,但在每個(gè)實(shí)施例中,都是在通用個(gè)人計(jì)算機(jī)、移動(dòng)終端設(shè)備、移動(dòng)電話機(jī)或類似的信息處理器設(shè)備(下文中簡(jiǎn)單稱為“信息處理設(shè)備”)中執(zhí)行加密與解密處理的。照此,例如可從CD-ROM或其它類似的記錄介質(zhì)、內(nèi)置于信息處理設(shè)備的硬盤那里以及經(jīng)由網(wǎng)絡(luò)從服務(wù)器那里獲得要加密的數(shù)據(jù)。
然后,將已獲得的要加密的數(shù)據(jù)依照加密算法來(lái)進(jìn)行加密(S102)。在這種情況下,利用指定大小的數(shù)據(jù)單位、從頂部順序地對(duì)要加密的數(shù)據(jù)進(jìn)行加密。加密數(shù)據(jù)由此而生成。對(duì)于每個(gè)數(shù)據(jù)單位,執(zhí)行計(jì)算且由此發(fā)生加密,所述數(shù)據(jù)單位提供用以計(jì)算后續(xù)數(shù)據(jù)單位的加密處理信息的加密參數(shù)值(下文中稱為“加密處理信息”)。
當(dāng)要加密的全體數(shù)據(jù)都已被加密并且加密數(shù)據(jù)由此而生成時(shí),使用當(dāng)前的、最終的加密處理信息來(lái)生成偽造檢測(cè)數(shù)據(jù)(S103)。將由此而生成的偽造檢測(cè)數(shù)據(jù)附加于加密數(shù)據(jù)。所述加密數(shù)據(jù)由此而完成(S104)。所述加密處理由此而結(jié)束。
圖2示出了解密處理的過(guò)程。這個(gè)過(guò)程采用了與上述加密算法相對(duì)應(yīng)的解密算法。
所述解密處理基本上是加密處理的逆向形式。參照?qǐng)D2,最初讀取如上所述的已生成的加密數(shù)據(jù)(S201)。由于解密處理同樣是在如上所述的這種信息處理設(shè)備中重新執(zhí)行的,因而也能獲得加密數(shù)據(jù),如上面就要加密的數(shù)據(jù)而言所述的那樣,例如從CD-ROM或類似的記錄介質(zhì)、內(nèi)置于信息處理設(shè)備的硬盤那里以及經(jīng)由網(wǎng)絡(luò)從服務(wù)器那里獲取上述加密數(shù)據(jù)。
接著,將已獲得的加密數(shù)據(jù)依照解密算法進(jìn)行解密(S202)。一旦加密數(shù)據(jù)已經(jīng)被完全解密,就能檢測(cè)在加密處理中計(jì)算出的與加密處理信息相對(duì)應(yīng)的解密處理信息。按類似于在加密處理中使用的方式,使用已檢測(cè)到的解密處理信息來(lái)生成偽造檢測(cè)數(shù)據(jù)(S203)。
判斷在S203所生成的偽造檢測(cè)數(shù)據(jù)與在S201讀取的偽造檢測(cè)數(shù)據(jù)是否相匹配(S204)。如果它們匹配,則加密數(shù)據(jù)或由加密數(shù)據(jù)表示的要加密的數(shù)據(jù)就不是偽造數(shù)據(jù),并且獲得解密數(shù)據(jù)(S205)。如果所述偽造檢測(cè)數(shù)據(jù)不匹配,則加密數(shù)據(jù)或由加密數(shù)據(jù)表示的要加密的數(shù)據(jù)是已被偽造過(guò)的,并且相應(yīng)地執(zhí)行指定的錯(cuò)誤處理(S206)。
現(xiàn)在進(jìn)行參考來(lái)更清楚地描述上述加密與解密處理的過(guò)程。
圖3示意性示出了處理中的數(shù)據(jù)流程,在所述處理中對(duì)要加密的數(shù)據(jù)進(jìn)行加密并且繼而進(jìn)行解密,從而獲得原始數(shù)據(jù)(要加密的數(shù)據(jù))。
最初參照?qǐng)D3,將描述加密步驟(S102)。要加密的數(shù)據(jù)301具有每個(gè)預(yù)定、指定大小的數(shù)據(jù)單位,所述數(shù)據(jù)單位依照加密算法被加密。在此例中,要加密的數(shù)據(jù)301具有每個(gè)已順序加密的數(shù)據(jù)Di,其中i=1,2,3...,z。
在加密步驟(S102)中,要加密的數(shù)據(jù)301具有依照指定加密算法所提取并加密的數(shù)據(jù)Di,用以生成加密數(shù)據(jù)Ci,其中i=1,2,3...,z。在這種情況下,參考加密處理信息PFj來(lái)轉(zhuǎn)換數(shù)據(jù)Di,其中j=1,2,3...,z,z+1。注意到數(shù)據(jù)D1是參考加密處理信息PF1來(lái)轉(zhuǎn)換的,其中在加密處理之前先通過(guò)加密密鑰302初始化所述PF1。通過(guò)所使用的加密算法來(lái)提前判定是如何通過(guò)加密密鑰302來(lái)計(jì)算加密處理信息PF1的,以及確定將數(shù)據(jù)Di轉(zhuǎn)換為加密數(shù)據(jù)Ci的處理。現(xiàn)在將參照?qǐng)D4A來(lái)描述加密算法的一個(gè)例子。
圖4A示出了當(dāng)對(duì)數(shù)據(jù)Di進(jìn)行加密以生成加密數(shù)據(jù)Ci時(shí),在圖3中所用的加密處理的過(guò)程。在圖4A中,輸入數(shù)據(jù)A表示圖3中的要加密的數(shù)據(jù)Di,而輸出數(shù)據(jù)B表示圖3中的加密數(shù)據(jù)Ci。這個(gè)加密處理包括對(duì)應(yīng)于加密處理信息PFj的內(nèi)部轉(zhuǎn)換參數(shù)401、轉(zhuǎn)換部分402以及參數(shù)修改部分304。內(nèi)部轉(zhuǎn)換參數(shù)401具有參數(shù)X,Y和Z,并且在加密處理執(zhí)行以前,由初始值為K的加密密鑰3 02來(lái)對(duì)它們進(jìn)行初始化。這里,作為初始狀態(tài),假定參數(shù)X=6,參數(shù)Y=2,而參數(shù)Z=1。轉(zhuǎn)換部分402使用數(shù)據(jù)Di(輸入數(shù)據(jù)A)及內(nèi)部轉(zhuǎn)換參數(shù)401(參數(shù)X,Y和Z)來(lái)執(zhí)行指定運(yùn)算,從而計(jì)算加密數(shù)據(jù)Ci(輸出數(shù)據(jù)B)。
更具體而言,當(dāng)接收輸入數(shù)據(jù)A時(shí),依照在轉(zhuǎn)換部分402中所示的指定表達(dá)式來(lái)計(jì)算輸出數(shù)據(jù)B。注意到在所述表達(dá)式中,由圓形加號(hào)來(lái)表示的符號(hào),是指異運(yùn)算。換言之,通過(guò)輸入數(shù)據(jù)A和內(nèi)部轉(zhuǎn)換參數(shù)401(參數(shù)X,Y和Z)來(lái)計(jì)算輸出數(shù)據(jù)B。將運(yùn)算結(jié)果或輸出數(shù)據(jù)B輸出作為加密數(shù)據(jù)Ci,并且它也被輸入到參數(shù)修改部分304。參數(shù)修改部分304接收加密數(shù)據(jù)Ci,并依照所示指定的轉(zhuǎn)換表達(dá)式來(lái)使用該加密數(shù)據(jù)Ci,從而更新參數(shù)X,Y和Z的值。
參數(shù)修改部分304將作更具體地描述。例如,如果在圖4A中輸入數(shù)據(jù)A為1,則轉(zhuǎn)換部分402執(zhí)行指定運(yùn)算并且輸出數(shù)據(jù)B為4。輸出數(shù)據(jù)B(=4)被輸入到參數(shù)修改部分304,并為參數(shù)X,Y和Z執(zhí)行運(yùn)算。運(yùn)算的結(jié)果是,參數(shù)X,Y和Z值被分別更新為3、6和2。更新后的參數(shù)X,Y和Z值被用作在對(duì)要加密的數(shù)據(jù)301的數(shù)據(jù)D1的后繼數(shù)據(jù)D2進(jìn)行加密時(shí)的內(nèi)部轉(zhuǎn)換參數(shù)401。此后,為每個(gè)數(shù)據(jù)Di重復(fù)相似的處理,直到達(dá)到要加密的數(shù)據(jù)301的最終數(shù)據(jù)Dz。
要加密的數(shù)據(jù)301具有如上所述的已被相繼加密的每個(gè)數(shù)據(jù)Di,以用于生成加密數(shù)據(jù)Ci。接著,在獲取偽造檢測(cè)數(shù)據(jù)(S103)的步驟中,獲得對(duì)應(yīng)于最終的內(nèi)部轉(zhuǎn)換參數(shù)401的加密處理信息PF(z+1)作為偽造檢測(cè)數(shù)據(jù)308。將已獲得的偽造檢測(cè)數(shù)據(jù)308附加到加密數(shù)據(jù)C1-Cz上,以完成加密數(shù)據(jù)305。加密處理由此而結(jié)束。
現(xiàn)將對(duì)圖3中所示的解密步驟202進(jìn)行描述。當(dāng)獲得加密數(shù)據(jù)305時(shí),使用與加密算法相應(yīng)的解密算法,來(lái)按在加密處理中所應(yīng)用的數(shù)據(jù)單位執(zhí)行解密處理。在解密步驟202,加密數(shù)據(jù)305具有已提取的加密數(shù)據(jù)Ci,并且對(duì)照解密處理信息DFj將所述加密數(shù)據(jù)305轉(zhuǎn)換成原始數(shù)據(jù)Di,其中j=1,2,...z,z+1。作為結(jié)果,生成了數(shù)據(jù)D1-Dz的解密數(shù)據(jù)307。在解密處理之前,先利用等同于在加密處理中所采用的加密密鑰302來(lái)初始化解密處理信息DF1。在圖4B中示出了解密處理的一個(gè)例子。
注意到在解密處理中使用的加密密鑰302,可由發(fā)送加密數(shù)據(jù)305的用戶預(yù)先告知?;蛘撸蓪⑺雒荑€包含在加密數(shù)據(jù)305的一部分當(dāng)中,并且在發(fā)送加密數(shù)據(jù)305的同時(shí)將所述密鑰發(fā)送出去。這里,在解密處理中所采用的加密密鑰302可以經(jīng)任意過(guò)程加以獲得。
圖4B示出了對(duì)圖3中加密數(shù)據(jù)Ci進(jìn)行解密以生成數(shù)據(jù)Di作為解密數(shù)據(jù)307的解密處理的過(guò)程。在圖4B中,輸入數(shù)據(jù)B表示圖3中的加密數(shù)據(jù)Ci,而輸出數(shù)據(jù)A表示圖3中解密數(shù)據(jù)307的數(shù)據(jù)Di。如在圖4A和4B中所示,這個(gè)解密處理類似于加密處理,包括與解密處理信息DFj相對(duì)應(yīng)的內(nèi)部轉(zhuǎn)換參數(shù)401、轉(zhuǎn)換部分402以及參數(shù)修改部分304,其執(zhí)行對(duì)應(yīng)于加密處理的逆向形式的運(yùn)算。內(nèi)部轉(zhuǎn)換參數(shù)401具有參數(shù)X,Y和Z,并且這些參數(shù)都具有在解密處理之前利用初始值為K的加密密鑰302先被初始化的值。這里,同樣是在加密處理中,將參數(shù)X,Y和Z分別初始化為數(shù)值6、2和1。轉(zhuǎn)換部分402使用加密數(shù)據(jù)Ci(輸入數(shù)據(jù)B)和內(nèi)部轉(zhuǎn)換參數(shù)401(參數(shù)X,Y和Z)來(lái)執(zhí)行指定的運(yùn)算,從而對(duì)加密數(shù)據(jù)Ci進(jìn)行解密以提供數(shù)據(jù)Di(輸出數(shù)據(jù)A)。換言之,輸出數(shù)據(jù)A是依據(jù)輸入數(shù)據(jù)B和內(nèi)部轉(zhuǎn)換參數(shù)401(參數(shù)X,Y和Z)來(lái)加以計(jì)算的。輸入數(shù)據(jù)B被輸入到轉(zhuǎn)換部分402以及參數(shù)修改部分304。參數(shù)修改部分304按照已接收的輸入數(shù)據(jù)B和所示的指定轉(zhuǎn)換表達(dá)式,來(lái)更新內(nèi)部轉(zhuǎn)換參數(shù)401(參數(shù)X,Y和Z)的值。
這里,如果要加密的數(shù)據(jù)D1具有數(shù)值1,那么加密數(shù)據(jù)C1就具有數(shù)值4。因此,在圖4B中值為4的數(shù)據(jù)B是輸入,而轉(zhuǎn)換部分402對(duì)其執(zhí)行運(yùn)算,并輸出值為1的數(shù)據(jù)A,所述數(shù)據(jù)A與原始數(shù)據(jù)D1同值。當(dāng)加密數(shù)據(jù)305由此而無(wú)偽造時(shí),加密處理信息PFj與解密處理信息DFj相等。由此,如果要加密的數(shù)據(jù)301具有每個(gè)數(shù)據(jù)單位或者具有偽造的部分?jǐn)?shù)據(jù)Di的數(shù)據(jù)D1-Dz,那么對(duì)應(yīng)于數(shù)據(jù)Di的加密處理信息和解密處理信息就不匹配,并且加密與解密處理信息PFj與DFj可以分別用作偽造檢測(cè)數(shù)據(jù)308與309。
此外,數(shù)據(jù)B(具有數(shù)值4)被輸入到參數(shù)修改部分304,并且對(duì)內(nèi)部轉(zhuǎn)換參數(shù)401(參數(shù)X,Y和Z)進(jìn)行運(yùn)算,并分別將它們更新為數(shù)值3、6和2。將具有已更新值的參數(shù)在解密數(shù)據(jù)C2時(shí)用作內(nèi)部轉(zhuǎn)換參數(shù)401。此后,類似地重復(fù)解密處理,直到達(dá)到數(shù)據(jù)Cz為止。
針對(duì)加密數(shù)據(jù)C1到Cz,執(zhí)行上述解密處理以生成解密數(shù)據(jù)307的數(shù)據(jù)D1-Dz。然后,在S203,獲得(或生成)最終的解密處理信息DF(z+1),以作為偽造檢測(cè)數(shù)據(jù)309,并且在S204,對(duì)關(guān)于附加到加密數(shù)據(jù)304上的偽造檢測(cè)數(shù)據(jù)308與所獲得的偽造檢測(cè)數(shù)據(jù)309是否相匹配而作出判定。如果所述數(shù)據(jù)相匹配,則就判定加密數(shù)據(jù)305或者要加密的數(shù)據(jù)301被正常接收,而沒(méi)有被偽造。否則,就判定所述數(shù)據(jù)已被偽造。
內(nèi)部轉(zhuǎn)換參數(shù)的另一個(gè)例子對(duì)于如上所述的偽造檢測(cè)數(shù)據(jù)308而言,正好使用了內(nèi)部轉(zhuǎn)換參數(shù)401中參數(shù)X,Y和Z的三個(gè)值,并且如圖1中所示的生成偽造檢測(cè)數(shù)據(jù)的步驟103并未實(shí)施任何步驟。然而,如果使用不同類型的加密處理,那么就要結(jié)合內(nèi)部轉(zhuǎn)換參數(shù)401來(lái)處理大量數(shù)據(jù)。在此情況下,與加密數(shù)據(jù)305有關(guān)的附加數(shù)據(jù)量就不容忽略。在此情況下,在生成偽造檢測(cè)數(shù)據(jù)(S103)的步驟中,可以從最終的內(nèi)部轉(zhuǎn)換參數(shù)401來(lái)獲得報(bào)文摘要(MD),并且將所述報(bào)文摘要作為偽造檢測(cè)數(shù)據(jù)而附加于加密數(shù)據(jù)305(S104)。
圖5示出了與如之前所述的加密步驟不同的加密步驟。這里,未示出相對(duì)應(yīng)的解密處理,這是由于其配置就是加密處理的逆向形式。圖5的加密系統(tǒng)具有對(duì)應(yīng)于加密處理信息PFj的內(nèi)部轉(zhuǎn)換參數(shù)501、轉(zhuǎn)換部分1202以及參數(shù)轉(zhuǎn)換部分1203。在圖5的系統(tǒng)中,按所預(yù)定的那樣,將作為數(shù)據(jù)A而接收的要加密的數(shù)據(jù)301順序轉(zhuǎn)換成加密數(shù)據(jù)305,并輸出為數(shù)據(jù)B。在此例中,內(nèi)部轉(zhuǎn)換參數(shù)501具有256個(gè)轉(zhuǎn)換表T(0),T(1),...,T(255)。轉(zhuǎn)換部分1202使用轉(zhuǎn)換表T(0)至T(255)、按字節(jié)將要加密的數(shù)據(jù)301轉(zhuǎn)換成加密數(shù)據(jù)305。參數(shù)修改部分1203使用輸出的加密數(shù)據(jù)305的信息來(lái)更新轉(zhuǎn)換表T(0)至T(255)的內(nèi)容(或值)。在加密處理之前,先利用初始值為K的加密密鑰302對(duì)所述內(nèi)部轉(zhuǎn)換參數(shù)501的內(nèi)容進(jìn)行初始化。
例如,如圖5中所示,如果轉(zhuǎn)換表T(0)具有數(shù)值6、轉(zhuǎn)換表T(1)具有數(shù)值2、......、且輸入數(shù)據(jù)A為0,那么輸出數(shù)據(jù)B就為6,而如果輸入數(shù)據(jù)A為1,則輸出數(shù)據(jù)B就為2。
參數(shù)修改部分1203從已接收輸出數(shù)據(jù)B以及特定的函數(shù)“f”和“g”獲得將要交換的兩個(gè)值“idx1”和“idx2”,并且交換表T(idx1)與T(idx2)的值。例如,如圖5中所示,“idx1”=0而“idx2”=4,并且交換表T(0)與T(4)的值。作為結(jié)果,表T(0)具有從6更新為4的值,且類似地表T(4)具有從4更新為6的值。
盡管這里未示出,但是解密處理具有作為內(nèi)部轉(zhuǎn)換參數(shù)的表,所述表執(zhí)行與加密處理轉(zhuǎn)換的逆向形式相對(duì)應(yīng)的轉(zhuǎn)換,并且當(dāng)執(zhí)行與加密處理轉(zhuǎn)換的逆向形式相對(duì)應(yīng)的轉(zhuǎn)換處理的同時(shí),所述解密處理順序地更新表的內(nèi)容。
對(duì)于圖5,內(nèi)部轉(zhuǎn)換參數(shù)501對(duì)應(yīng)于256個(gè)數(shù)據(jù)大小,所述數(shù)據(jù)大小非常大從而無(wú)法用作偽造檢測(cè)數(shù)據(jù)308。因此,轉(zhuǎn)換內(nèi)部轉(zhuǎn)換參數(shù)501以提供降低的數(shù)據(jù)量。例如,這可以通過(guò)利用能依據(jù)大量數(shù)據(jù)來(lái)生成特定字節(jié)數(shù)量的數(shù)據(jù)的諸如MD5(報(bào)文摘要5)、安全哈希算法1(SHA-1)、以及類似算法之類的哈希函數(shù)來(lái)完成,不過(guò)不局限于此?;蛘撸梢圆皇褂霉:瘮?shù),并且內(nèi)部轉(zhuǎn)換參數(shù)501可能僅僅具有提供作為已轉(zhuǎn)換數(shù)據(jù)的一部分。如果將內(nèi)部轉(zhuǎn)換參數(shù)501用作偽造檢測(cè)數(shù)據(jù)308,則這種轉(zhuǎn)換處理就能降低偽造檢測(cè)數(shù)據(jù)308的量。
此外,解密處理也能使用在生成偽造檢測(cè)數(shù)據(jù)的步驟103中所使用的手段,來(lái)獲得相同的結(jié)果。因此,通過(guò)將附加于加密數(shù)據(jù)的偽造檢測(cè)數(shù)據(jù)與在解密處理過(guò)程中所獲得的偽造檢測(cè)數(shù)據(jù)進(jìn)行比較,就能夠作出關(guān)于要加密的數(shù)據(jù)301或加密數(shù)據(jù)305是否已被偽造的判定。
因此,通過(guò)執(zhí)行如下處理就降低偽造檢測(cè)數(shù)據(jù)308的大小,所述處理為內(nèi)部轉(zhuǎn)換參數(shù)501使用了哈希函數(shù)。一般而言,由于與要加密的數(shù)據(jù)301作了比較,內(nèi)部轉(zhuǎn)換參數(shù)501具有非常小的數(shù)據(jù)量,并且使用哈希函數(shù)來(lái)實(shí)現(xiàn)轉(zhuǎn)換處理,如上所述那樣,不會(huì)引起降低整體處理效率。
第二實(shí)施例在第一實(shí)施例中,利用在要加密的數(shù)據(jù)301被完全加密(S102)和解密(S202)時(shí)所獲得的加密處理信息PF(z+1)和解密處理信息DF(z+1),來(lái)生成偽造檢測(cè)數(shù)據(jù)308和309。在本發(fā)明的實(shí)施例中,將要加密的數(shù)據(jù)301劃分成多個(gè)塊,并且利用在每個(gè)塊完全被加密時(shí)所獲得的加密處理信息以及每個(gè)塊被完全解密時(shí)所獲得的解密處理信息,來(lái)生成偽造檢測(cè)數(shù)據(jù)。
圖6A示出了已被劃分成n個(gè)塊Bk的要加密的數(shù)據(jù)301,其中k=1,2,3,...,n。雖然期望塊Bk是所用加密處理單位的整數(shù)倍,但是所述塊可以具有依處理設(shè)備的存儲(chǔ)器容量、處理能力等等而確定大小的數(shù)據(jù),其中所述處理設(shè)備發(fā)送及接收要加密的數(shù)據(jù)301。例如,DES允許采用64位單位進(jìn)行加密,而由此塊Bk具有64位整數(shù)倍的大小。如果按位來(lái)提供加密,則塊Bk就可具有任意大小。
圖6B示出了在對(duì)圖6A中所示的要加密的數(shù)據(jù)301進(jìn)行加密之后所獲得的加密數(shù)據(jù)305的數(shù)據(jù)結(jié)構(gòu)。如圖6B中所示,加密數(shù)據(jù)305由加密塊CBk和偽造檢測(cè)數(shù)據(jù)BDk構(gòu)成,其中k=1,2,3,...,n,并且加密塊CBk與偽造檢測(cè)數(shù)據(jù)BDk之間存在一一對(duì)應(yīng)。每當(dāng)對(duì)塊Bk完全進(jìn)行了加密,就會(huì)生成偽造檢測(cè)數(shù)據(jù)BDk,并將數(shù)據(jù)BDk附加到隨后與之相應(yīng)的加密塊CBk上。更具體而言,輪流為每一塊Bk記錄下加密CBk及為塊CBk的數(shù)據(jù)所計(jì)算的偽造檢測(cè)數(shù)據(jù)BDk。在本發(fā)明的實(shí)施例中,要加密的數(shù)據(jù)305可具有除上述結(jié)構(gòu)之外的結(jié)構(gòu)。例如,如圖6C中所示,可將加密塊CB1-CBn數(shù)據(jù)和偽造檢測(cè)數(shù)據(jù)BD1-BDn分別記錄在不同位置上。
依照本發(fā)明的實(shí)施例,加密與解密處理分別如圖7與8中所示那么執(zhí)行。類似于第一實(shí)施例中那些步驟的任何步驟都將不作描述。
在加密處理中,如圖7中所示,最初從要加密的數(shù)據(jù)305來(lái)獲得預(yù)定大小的單個(gè)塊Bk的數(shù)據(jù)(S601),并將該數(shù)據(jù)加密(S602)。當(dāng)塊Bk的數(shù)據(jù)完全被加密時(shí),獲得加密處理信息PFk,并且利用這個(gè)信息來(lái)生成偽造檢測(cè)數(shù)據(jù)BDk(S603),并將加密塊CBk及偽造檢測(cè)數(shù)據(jù)BDk存儲(chǔ)起來(lái)以提供如圖6B或6C中所示的數(shù)據(jù)結(jié)構(gòu)(S604)。針對(duì)要加密的數(shù)據(jù)301的所有塊Bk重復(fù)這一系列步驟(S605)。由此而獲得(生成)加密數(shù)據(jù)305。
在解密處理中,如圖8中所示,最初讀取這樣所獲得的加密數(shù)據(jù)的偽造檢測(cè)數(shù)據(jù)BDk和與之相應(yīng)的加密塊CBk(S701),并且實(shí)施解密處理(S702)。然后,使用解密處理信息DFk來(lái)生成偽造檢測(cè)數(shù)據(jù)(S703),并且作出關(guān)于已生成的偽造檢測(cè)數(shù)據(jù)與在S701所讀取的偽造檢測(cè)數(shù)據(jù)BDk是否匹配的判定(S704)。如果它們匹配,則就獲得解密數(shù)據(jù)(S705)。否則,判斷加密數(shù)據(jù)305、或者由加密數(shù)據(jù)305所表示的要加密的數(shù)據(jù)301已被偽造,并且對(duì)于解密處理將會(huì)產(chǎn)生錯(cuò)誤(S706)。類似地,針對(duì)所有加密塊CBk(S707)重復(fù)這一系列的步驟,從而獲得解密數(shù)據(jù)307。
因此,將要加密的數(shù)據(jù)301劃分成多個(gè)塊Bk,并將偽造檢測(cè)數(shù)據(jù)BDk附加到每塊Bk上,使對(duì)應(yīng)每塊Bk的要檢測(cè)偽造能夠找出已偽造的部分要加密的數(shù)據(jù)301的位置。除了與已偽造的部分要加密的數(shù)據(jù)301相對(duì)應(yīng)的那些塊之外,也能正常地對(duì)其它塊Bk進(jìn)行解密。例如,如果通信錯(cuò)誤發(fā)生,且導(dǎo)致要加密的數(shù)據(jù)301(加密數(shù)據(jù)305)被局部破壞,則就能使所述數(shù)據(jù)被最小限度地?fù)p壞。
第三實(shí)施例同上述每個(gè)實(shí)施例的特定應(yīng)用一樣,第三實(shí)施例針對(duì)的是分發(fā)電子書數(shù)據(jù)(在下文中稱為“電子書內(nèi)容”)的系統(tǒng)。
圖9示出了電子書內(nèi)容分發(fā)系統(tǒng)。這個(gè)系統(tǒng)包括內(nèi)容產(chǎn)生設(shè)備801、服務(wù)器設(shè)備802、數(shù)據(jù)顯示設(shè)備803,以及允許設(shè)備801與802相互之間進(jìn)行通信、同時(shí)允許設(shè)備802與803相互之間進(jìn)行通信的網(wǎng)絡(luò)804。內(nèi)容產(chǎn)生設(shè)備801由通用個(gè)人計(jì)算機(jī)構(gòu)成,用以產(chǎn)生電子書內(nèi)容。內(nèi)容產(chǎn)生設(shè)備801包括內(nèi)容輸入部分805、實(shí)施如先前所述的這種加密處理的數(shù)據(jù)加密處理部分、以及發(fā)送與接收部分807。內(nèi)容創(chuàng)建器經(jīng)由內(nèi)容輸入部分805來(lái)輸入電子書內(nèi)容800。已輸入的電子書內(nèi)容800由加密處理部分806來(lái)進(jìn)行加密,并且經(jīng)由網(wǎng)絡(luò)804、通過(guò)發(fā)送與接收部分807將已加密的電子書內(nèi)容800發(fā)送至服務(wù)器設(shè)備802。
雖然這里的電子書內(nèi)容800從外部被輸入到內(nèi)容產(chǎn)生設(shè)備,但是用戶可以操作內(nèi)容輸入部分805來(lái)產(chǎn)生所述內(nèi)容。
電子書內(nèi)容800具有例如被分隔成要加密的數(shù)據(jù)301和加密數(shù)據(jù)305的數(shù)據(jù)結(jié)構(gòu),如圖10A和10B中所示的那樣。一般而言,通常將電子書內(nèi)容配置成包含多個(gè)文件,這些文件包括描述主文本的文本文件、諸如圖表、圖片或照片之類的圖像文件、諸如音效之類的音頻文件等等。在本實(shí)施例中,如圖10A中所示,對(duì)應(yīng)于要加密的數(shù)據(jù)301的電子書內(nèi)容800從頂部開始包括有表明電子書內(nèi)容800中所包含文件數(shù)目的數(shù)據(jù)FM和每個(gè)文件的文件信息FDh,其中h=1,2,3,...,n。如圖10B中所示,對(duì)應(yīng)于加密數(shù)據(jù)305的電子書內(nèi)容800包括對(duì)應(yīng)于各個(gè)文件信息FDh、且通過(guò)對(duì)文件信息FDh的內(nèi)容進(jìn)行加密而獲得的文件數(shù)據(jù)FDCh,其中h=1,2,3,...,n。例如,如果電子書內(nèi)容800包含文本文件、圖像文件和音頻文件這三個(gè)文件,則文件信息FD1、FD2和FD3就將分別包括文本數(shù)據(jù)、圖像數(shù)據(jù)和音頻數(shù)據(jù)。文件信息FDh包括相應(yīng)文件的信息,就比如文件名、與文件中所存儲(chǔ)數(shù)據(jù)相關(guān)的偏移量值、文件中所存儲(chǔ)的數(shù)據(jù)大小、以及所使用的加密方法和密鑰。
由加密處理部分806依照先前在每個(gè)實(shí)施例中所述的方法來(lái)對(duì)文件信息FDh進(jìn)行加密。對(duì)于文件信息FD1,將感興趣的文件劃分成多個(gè)塊,并對(duì)其按塊進(jìn)行加密,以轉(zhuǎn)換成文件信息FDC1。對(duì)于文件信息FD2,使感興趣的文件全部都經(jīng)過(guò)加密,以轉(zhuǎn)換成文件信息FDC2。按塊還是整個(gè)地對(duì)文件的數(shù)據(jù)進(jìn)行加密,要依數(shù)據(jù)的類型而定。更具體而言,如果數(shù)據(jù)為文本數(shù)據(jù)、音頻數(shù)據(jù)或電影圖像(視頻)數(shù)據(jù),則按塊來(lái)加密數(shù)據(jù)就允許對(duì)數(shù)據(jù)進(jìn)行隨機(jī)訪問(wèn)和再現(xiàn)以進(jìn)行解密。這能提供比對(duì)數(shù)據(jù)進(jìn)行完全解密的情況更短的訪問(wèn)時(shí)間。此外,如果數(shù)據(jù)是不被部分訪問(wèn)的靜態(tài)圖像或類似數(shù)據(jù),則可對(duì)數(shù)據(jù)整個(gè)地進(jìn)行完全加密。
在圖9中,服務(wù)器設(shè)備802由通用個(gè)人計(jì)算機(jī)構(gòu)成,并且包括發(fā)送與接收部分808和內(nèi)容數(shù)據(jù)庫(kù)809。通過(guò)內(nèi)容產(chǎn)生設(shè)備801,由發(fā)送與接收部分808來(lái)發(fā)送和接收已加密的電子書內(nèi)容800。所接收到的電子書內(nèi)容800被存儲(chǔ)到內(nèi)容數(shù)據(jù)庫(kù)809中。數(shù)據(jù)顯示設(shè)備803經(jīng)由網(wǎng)絡(luò)804來(lái)發(fā)出發(fā)送請(qǐng)求。所述請(qǐng)求被發(fā)送與接收部分808接收,并且作為響應(yīng),從內(nèi)容數(shù)據(jù)庫(kù)809中讀取由已接收請(qǐng)求表示的、與電子書相應(yīng)的加密內(nèi)容,并且經(jīng)由網(wǎng)絡(luò)804、通過(guò)發(fā)送與接收部分808將所述內(nèi)容發(fā)送至數(shù)據(jù)顯示設(shè)備803。
數(shù)據(jù)顯示設(shè)備803由信息處理設(shè)備構(gòu)成。數(shù)據(jù)顯示設(shè)備803包括經(jīng)由網(wǎng)絡(luò)804發(fā)送和接收數(shù)據(jù)的發(fā)送與接收部分810、處理用戶指令的用戶指令處理部分811、存儲(chǔ)電子書內(nèi)容的存儲(chǔ)設(shè)備812、對(duì)加密電子書內(nèi)容進(jìn)行解密的數(shù)據(jù)解密處理部分813,已如前所述的、以及包括在屏幕上顯示電子書內(nèi)容的顯示單元814。
用戶經(jīng)由用戶指令處理部分811、根據(jù)顯示在屏幕上的電子書內(nèi)容的菜單來(lái)選擇期望的電子書內(nèi)容。作為響應(yīng),發(fā)送與接收部分810向服務(wù)器設(shè)備802發(fā)送請(qǐng)求,以發(fā)送選定的內(nèi)容。隨后,服務(wù)器設(shè)備802發(fā)送加密的電子書內(nèi)容,所述內(nèi)容又由發(fā)送與接收部分810加以接收并存儲(chǔ)到存儲(chǔ)設(shè)備812中。由數(shù)據(jù)解密處理部分813對(duì)存儲(chǔ)到存儲(chǔ)設(shè)備812中的加密電子書內(nèi)容進(jìn)行解密,并且數(shù)據(jù)顯示設(shè)備814將作為結(jié)果的、原始電子書內(nèi)容800顯示在屏幕上。在這種情況下,如果作出適配,對(duì)僅能一次顯示的數(shù)據(jù)量進(jìn)行解密,則就能以比當(dāng)解密全部數(shù)據(jù)時(shí)所花時(shí)間更短的一段時(shí)間來(lái)解密和顯示數(shù)據(jù)。更具體而言,按照對(duì)應(yīng)于顯示緩沖器大小的塊數(shù),來(lái)對(duì)按塊進(jìn)行加密的電子書內(nèi)容進(jìn)行解密,所述顯示緩沖器與數(shù)據(jù)顯示單元814相關(guān)聯(lián)。對(duì)于電子書內(nèi)容,最初都典型地顯示頂部頁(yè)。由此,按照對(duì)應(yīng)于顯示緩沖器大小的塊數(shù)、從頂部開始對(duì)電子書內(nèi)容800進(jìn)行解密。
此外,當(dāng)經(jīng)由用戶指令處理部分811接收用戶指令例如來(lái)進(jìn)行翻頁(yè)、輸出聲音等之時(shí),從存儲(chǔ)設(shè)備812那里獲取指令所需的數(shù)據(jù),并由數(shù)據(jù)解密處理部分813來(lái)對(duì)其進(jìn)行解密,并且當(dāng)實(shí)施解密時(shí)判斷偽造是否存在。如果判定偽造存在,則數(shù)據(jù)顯示單元814就顯示數(shù)據(jù),或者音頻輸出部分(未圖示)就輸出聲音。如果判定所述數(shù)據(jù)為偽造數(shù)據(jù),那么就可以相應(yīng)地告知用戶以中斷當(dāng)前處理。
盡管在本實(shí)施例中對(duì)電子書內(nèi)容進(jìn)行加密并從而進(jìn)行分發(fā),但是也可以對(duì)除電子書內(nèi)容之外的信息進(jìn)行加密和分發(fā)。例如,可以對(duì)音樂(lè)數(shù)據(jù)、運(yùn)動(dòng)圖片數(shù)據(jù)以及程序進(jìn)行加密和分發(fā)。
第四實(shí)施例第二實(shí)施例的另一個(gè)特定應(yīng)用,將參照?qǐng)D11和12來(lái)作描述。在本實(shí)施例中,考慮的是一種數(shù)字內(nèi)容分發(fā)系統(tǒng)。為說(shuō)明起見(jiàn),這個(gè)系統(tǒng)類似于圖9中所示的系統(tǒng)。在本實(shí)施例中,數(shù)字內(nèi)容不限于電子書內(nèi)容,而可以為音樂(lè)數(shù)據(jù)、視頻數(shù)據(jù)等等。
典型地,可以經(jīng)網(wǎng)絡(luò)來(lái)獲取數(shù)字內(nèi)容,并且為說(shuō)明起見(jiàn),第三方未對(duì)經(jīng)網(wǎng)絡(luò)所發(fā)送和接收的數(shù)據(jù)進(jìn)行偽造。換言之,為說(shuō)明起見(jiàn),僅僅將能合法獲得的數(shù)據(jù)經(jīng)網(wǎng)絡(luò)進(jìn)行傳遞。然而,經(jīng)網(wǎng)絡(luò)而通信的數(shù)據(jù)會(huì)由于通信錯(cuò)誤等原因而被丟失。在這種情況下,合法獲得的數(shù)字內(nèi)容就無(wú)法得以再現(xiàn)。為了再現(xiàn)數(shù)字內(nèi)容,就必須再次訪問(wèn)并獲取數(shù)字內(nèi)容的所有數(shù)據(jù)。在本實(shí)施例中將要描述能解決如下情況的過(guò)程,所述情況是當(dāng)在網(wǎng)絡(luò)上通信數(shù)據(jù)時(shí),數(shù)據(jù)就被丟失。
圖11示意性示出了圖9的服務(wù)器設(shè)備802中和數(shù)據(jù)顯示設(shè)備803中的數(shù)據(jù)。更具體而言,該圖示出了與在服務(wù)器設(shè)備802當(dāng)中存儲(chǔ)于內(nèi)容數(shù)據(jù)庫(kù)809中的加密數(shù)據(jù)305相應(yīng)的數(shù)字內(nèi)容,在網(wǎng)絡(luò)804上被發(fā)送到數(shù)據(jù)顯示設(shè)備803,并且被存儲(chǔ)到存儲(chǔ)設(shè)備812中。對(duì)應(yīng)于數(shù)字內(nèi)容的加密數(shù)據(jù)305具有每個(gè)加密塊CBk和與之相應(yīng)的偽造檢測(cè)數(shù)據(jù)BDk被分開的結(jié)構(gòu),如在第二實(shí)施例中所描述的。為說(shuō)明起見(jiàn),在數(shù)據(jù)顯示設(shè)備805中存儲(chǔ)于存儲(chǔ)設(shè)備812中的且與數(shù)字內(nèi)容相應(yīng)的加密數(shù)據(jù)305的加密塊CB2,例如因通信錯(cuò)誤而具有偽造的數(shù)據(jù)。
當(dāng)數(shù)據(jù)顯示設(shè)備803操作以允許再現(xiàn)(或解密)時(shí),由相應(yīng)的偽造檢測(cè)數(shù)據(jù)BD2來(lái)在加密塊CB2中檢測(cè)偽造。作為響應(yīng),數(shù)據(jù)顯示設(shè)備803告知服務(wù)器設(shè)備802加密塊CB2被偽造。服務(wù)器設(shè)備802隨應(yīng)地僅將加密塊CB2及偽造檢測(cè)數(shù)據(jù)BD2重發(fā)至數(shù)據(jù)顯示設(shè)備803。已接收到這些重發(fā)數(shù)據(jù)的數(shù)據(jù)顯示設(shè)備803能夠提供再現(xiàn)。應(yīng)當(dāng)注意到僅僅把全部?jī)?nèi)容(或全部加密數(shù)據(jù)305)的一部分從服務(wù)器設(shè)備802重發(fā)至數(shù)據(jù)顯示設(shè)備803。如果檢測(cè)到偽造,并且合法數(shù)據(jù)將被再次通信及獲取,則其就能在一段減少的時(shí)間中加以通信。
圖11中與數(shù)據(jù)顯示設(shè)備803有關(guān)的過(guò)程,將參照?qǐng)D12的流程圖來(lái)加以描述。現(xiàn)在將對(duì)數(shù)字內(nèi)容進(jìn)行解密和再現(xiàn)。更具體而言,數(shù)據(jù)顯示設(shè)備803最初獲取加密數(shù)據(jù)305的第一加密塊CB1以及偽造檢測(cè)數(shù)據(jù)BD1(S1301)。對(duì)已獲得的加密塊CB1進(jìn)行解密(S1302)。用類似于第二實(shí)施例中所述的方式來(lái)實(shí)施這一解密。利用解密處理信息來(lái)生成偽造檢測(cè)數(shù)據(jù)(S1303)。將附加于加密塊CB1的偽造檢測(cè)數(shù)據(jù)BD1與在S1303所生成的偽造檢測(cè)數(shù)據(jù)進(jìn)行比較,來(lái)判斷它們是否匹配(S1304)。如果匹配,則就獲取解密數(shù)據(jù)(S1305),并且判斷是否存在后續(xù)加密塊(S1307)。如果存在,則處理就返回至S1301。否則,處理就結(jié)束。
如果判定所述數(shù)據(jù)不匹配,那么就判斷加密塊CB1、或者由加密數(shù)據(jù)CB1所表示的塊B1被偽造,并再次經(jīng)網(wǎng)絡(luò)804從服務(wù)器設(shè)備802那里獲取加密塊CB1(S1306)。因此,就能解決因網(wǎng)絡(luò)804上的通信錯(cuò)誤而造成的偽造。
盡管在圖11中數(shù)字內(nèi)容是存儲(chǔ)在數(shù)據(jù)顯示設(shè)備803中的存儲(chǔ)設(shè)備上812的,但是也可通過(guò)網(wǎng)絡(luò)804來(lái)接收數(shù)字內(nèi)容并加以再現(xiàn)。例如,從內(nèi)容的頂部順序地再現(xiàn)音樂(lè)、圖像等。照此,如果數(shù)據(jù)頂部存在,則就能開始再現(xiàn)。換言之,數(shù)據(jù)被通過(guò)網(wǎng)絡(luò)804接收,而同時(shí)所述數(shù)據(jù)能夠被再現(xiàn)。圖13示意性示出了在這種情況下服務(wù)器設(shè)備802中的數(shù)據(jù)和數(shù)據(jù)顯示設(shè)備803中的數(shù)據(jù)。
圖13示出了在網(wǎng)絡(luò)804上、將在服務(wù)器設(shè)備802中存儲(chǔ)于內(nèi)容數(shù)據(jù)庫(kù)809中的加密數(shù)據(jù)305的數(shù)字內(nèi)容發(fā)送至數(shù)據(jù)顯示設(shè)備803。在圖13中,服務(wù)器設(shè)備802僅僅將加密塊CB1和CB2傳遞至數(shù)據(jù)顯示設(shè)備803上,并且后續(xù)加密塊由要獲得的數(shù)據(jù)900來(lái)表示。在數(shù)據(jù)顯示設(shè)備803中,數(shù)據(jù)解密處理部分813開始解密處理。這樣一來(lái),就相繼從加密塊CB1那里讀取數(shù)據(jù),并且讓已讀取的加密塊CB1數(shù)據(jù)經(jīng)過(guò)解密以及偽造檢測(cè)。如果檢測(cè)表明數(shù)據(jù)未被偽造,則就直接對(duì)其進(jìn)行再現(xiàn)。如果已讀取的加密塊CB2被偽造,則數(shù)據(jù)顯示設(shè)備803就將信息901輸出到服務(wù)器設(shè)備802上,以表明加密塊CB2被偽造,并且數(shù)據(jù)顯示設(shè)備803就再次從服務(wù)器設(shè)備802那里接收和獲取加密數(shù)據(jù)塊CB2以及相應(yīng)的偽造檢測(cè)數(shù)據(jù)BD2。此后,類似地獲取并再現(xiàn)后續(xù)塊。
這種過(guò)程提供了降低的傳輸時(shí)間,并且經(jīng)過(guò)網(wǎng)絡(luò)804可連續(xù)不斷地獲取加密數(shù)據(jù)305、對(duì)所述加密數(shù)據(jù)進(jìn)行解密和再現(xiàn)。
第五實(shí)施例在上述每一個(gè)實(shí)施例中所述的加密與解密處理,均能部分或全部地以執(zhí)行這種過(guò)程的程序或硬件邏輯形式來(lái)提供(所述程序是指適用于由計(jì)算機(jī)執(zhí)行處理的有序指令串)。
如果其是以程序形式提供的,則就能將該程序安裝在信息處理設(shè)備中以實(shí)施期望的處理。在這種情況下,可以把所述程序預(yù)先記錄在計(jì)算機(jī)可讀記錄介質(zhì)中并加以提供。作為選擇,可以經(jīng)網(wǎng)絡(luò)將其從服務(wù)器設(shè)備上下載或提供到信息處理設(shè)備中,或者可預(yù)先將其安裝在信息處理設(shè)備中并加以提供。
圖14示出了信息處理設(shè)備的配置,所述信息處理設(shè)備能執(zhí)行如上述每一個(gè)實(shí)施例中所述的加密與解密處理的程序。圖14的配置對(duì)應(yīng)于圖9的內(nèi)容產(chǎn)生設(shè)備801、服務(wù)器設(shè)備802及數(shù)據(jù)顯示設(shè)備803中每一個(gè)的配置。參照?qǐng)D14,所述信息處理設(shè)備包括液晶或陰極射線管(CRT)等監(jiān)視器110、鍵盤150、鼠標(biāo)160、中央處理單元(CPU)122、存儲(chǔ)器124,所述存儲(chǔ)器配置成包括只讀存儲(chǔ)器(ROM)或隨機(jī)訪問(wèn)存儲(chǔ)器(RAM)、硬盤126、可拆卸地接納FD 132以存取FD 132的軟盤(FD)驅(qū)動(dòng)設(shè)備130、可拆卸地接納CD-ROM 142以存取CD-ROM 142的光盤只讀存儲(chǔ)器(CD-ROM)驅(qū)動(dòng)設(shè)備140、以及將所述信息處理設(shè)備連接于網(wǎng)絡(luò)804的通信接口180,其中所述網(wǎng)絡(luò)804適用于諸如因特網(wǎng)之類的各種網(wǎng)絡(luò)。這些組件均通過(guò)總線而鏈接??梢越o所述信息處理設(shè)備提供磁帶設(shè)備,所述磁帶設(shè)備可拆卸地接納盒式磁帶以存取磁帶。
在本實(shí)施例中,上述記錄介質(zhì)可以是將要在圖14的信息處理設(shè)備中實(shí)施的處理所需的存儲(chǔ)器,比如存儲(chǔ)器124本身,或者它也可以是磁帶、FD 132及CD-ROM 142(未圖示),或是當(dāng)將其安置在磁帶設(shè)備(未圖示)中時(shí)可讀的記錄介質(zhì)、FD驅(qū)動(dòng)設(shè)備130、CD-ROM驅(qū)動(dòng)設(shè)備140或類似的程序讀取設(shè)備。總之,存儲(chǔ)在記錄介質(zhì)中的程序都可由CPU122來(lái)訪問(wèn)并執(zhí)行,或者一旦從記錄介質(zhì)中被讀取或下載到圖14中的指定存儲(chǔ)區(qū),例如存儲(chǔ)器的存儲(chǔ)區(qū)124,就由CPU122來(lái)讀取并執(zhí)行。這個(gè)下載程序是預(yù)先存儲(chǔ)在感興趣的信息處理設(shè)備中的。
注意到上述記錄介質(zhì)是被配置成可從信息處理設(shè)備主體上分離的介質(zhì),并且它可以是承納固定程序的介質(zhì)。例如,它可以是磁帶、盒式磁帶、或類似類型的帶;FD 132、硬盤126或類似的磁盤;或是CD-ROM 142/磁性光盤(MO)/迷你盤(MD)/數(shù)字多功能光盤(DVD)或類似的光盤;IC卡(包括存儲(chǔ)卡)/光卡或類似的卡;或是掩膜式ROM、可擦除可編程ROM(EPROM)、電EPROM(EEPROM)、閃速ROM或類似的半導(dǎo)體存儲(chǔ)器。
此外,由于在本實(shí)施例中信息處理設(shè)備連接于上述網(wǎng)絡(luò)804,因而記錄介質(zhì)可以是接收經(jīng)網(wǎng)絡(luò)804下載的程序從而使得程序流動(dòng)的記錄介質(zhì)。如果所述記錄介質(zhì)接收經(jīng)網(wǎng)絡(luò)804下載的程序,則就可以預(yù)先將下載程序存儲(chǔ)在信息處理設(shè)備的主體中,或者預(yù)先將其從另一記錄介質(zhì)安裝到所述信息處理設(shè)備的主體中。
注意到記錄介質(zhì)可以存儲(chǔ)除程序以外的內(nèi)容。例如,它可以存儲(chǔ)數(shù)據(jù)。
由此,如在每一個(gè)實(shí)施例中所述,由于實(shí)施具有偽造檢測(cè)功能的加密處理,因而就可以生成轉(zhuǎn)換參數(shù)值并將其用作為偽造檢測(cè)數(shù)據(jù),來(lái)消除計(jì)算偽造檢測(cè)數(shù)據(jù)的處理,并且減少在加密處理中包含的量。同樣也能減少解密處理的量。作為結(jié)果,加密與解密處理可以免除顯著的工作量,并由此而快速地實(shí)施所述加密與解密處理。
此外,可以按塊來(lái)對(duì)要加密數(shù)據(jù)進(jìn)行處理,并且判斷每一塊是存在偽造還是不存在偽造。照此,如果數(shù)據(jù)被偽造,則就能容易地對(duì)落入偽造范圍的要加密的數(shù)據(jù)(或塊)進(jìn)行定位。另外,在那種情況下,可以對(duì)除偽造塊以外的數(shù)據(jù)正常進(jìn)行解密。另外,對(duì)于具有按時(shí)序再現(xiàn)的數(shù)據(jù)的音樂(lè)、視頻、電子書及其它類似內(nèi)容而言,首先僅能對(duì)所需部分(或塊)進(jìn)行解密,并且可以在所有數(shù)據(jù)皆完全被解密之前開始進(jìn)行再現(xiàn)。
盡管已經(jīng)詳細(xì)地描述并說(shuō)明了本發(fā)明,但是應(yīng)當(dāng)清楚地理解上述內(nèi)容僅僅是說(shuō)明性和舉例性的,而不是限定性的,本發(fā)明的精神和范圍僅由所附權(quán)利要求來(lái)加以限定。
權(quán)利要求
1.一種再現(xiàn)加密數(shù)據(jù)的方法,包括以下步驟順序地從劃分所述加密數(shù)據(jù)的多個(gè)塊的指定塊中提取部分所述加密數(shù)據(jù)(S1301);使用對(duì)在提取步驟中先前所提取的所述部分的所述數(shù)據(jù)進(jìn)行解密的結(jié)果,來(lái)順序地計(jì)算對(duì)在提取步驟中當(dāng)前所提取的所述部分的所述數(shù)據(jù)進(jìn)行所述解密的結(jié)果,并且使用順序地計(jì)算的所述解密的所述結(jié)果,來(lái)生成解密數(shù)據(jù)(S1302,S1303);和將表示在使用步驟中最終所計(jì)算的所述解密的所述結(jié)果的所述數(shù)據(jù)同先前被關(guān)聯(lián)于所述指定塊的、用于檢測(cè)所述指定塊是否被偽造的偽造檢測(cè)數(shù)據(jù)進(jìn)行比較,從而根據(jù)比較結(jié)果來(lái)判斷是否再現(xiàn)與在使用步驟中所生成的所述指定塊相對(duì)應(yīng)的所述解密數(shù)據(jù)(S1304)。
2.如權(quán)利要求1所述的方法,進(jìn)一步包括從所述加密數(shù)據(jù)的所述多個(gè)塊中分別選擇出對(duì)應(yīng)于所述指定塊的一塊或多塊的步驟,其中所述加密數(shù)據(jù)是通過(guò)對(duì)要再現(xiàn)的內(nèi)容進(jìn)行加密而獲得的數(shù)據(jù),并且選擇步驟選擇對(duì)應(yīng)于如下數(shù)據(jù)大小的所述一塊或多塊,所述數(shù)據(jù)大小對(duì)應(yīng)于所述可一次再現(xiàn)的內(nèi)容量。
3.如權(quán)利要求1所述的方法,其中表示所述解密的所述結(jié)果的所述數(shù)據(jù)是與所述解密的所述結(jié)果相對(duì)應(yīng)的報(bào)文摘要,所述解密的所述結(jié)果由表示所述解密的所述結(jié)果的所述數(shù)據(jù)來(lái)表示。
4.如權(quán)利要求1所述的方法,其中所述解密的所述結(jié)果是用在公共密鑰加密系統(tǒng)中的全部或部分加密參數(shù)(401)。
5.如權(quán)利要求1所述的方法,進(jìn)一步包括如下步驟獲取所述加密數(shù)據(jù)(S1301,S1306)的步驟,其中如果在比較步驟中判定未對(duì)所述指定塊進(jìn)行再現(xiàn),則在獲取步驟中獲取對(duì)應(yīng)于所述指定塊的所述加密數(shù)據(jù)。
6.一種再現(xiàn)加密數(shù)據(jù)的方法,包括提取裝置,用于順序地從劃分所述加密數(shù)據(jù)的多個(gè)塊的指定塊中提取部分加密數(shù)據(jù);順序計(jì)算和生成裝置,使用對(duì)由所述提取裝置先前所提取的所述部分的所述數(shù)據(jù)進(jìn)行解密的結(jié)果,來(lái)順序計(jì)算對(duì)由所述提取裝置當(dāng)前所提取的所述部分的所述數(shù)據(jù)進(jìn)行所述解密的結(jié)果,并根據(jù)順序地計(jì)算的所述解密的所述結(jié)果生成解密數(shù)據(jù);和比較裝置,用于將表示由所述順序計(jì)算裝置最終所計(jì)算的所述解密的所述結(jié)果的所述數(shù)據(jù)同先前被關(guān)聯(lián)于所述指定塊的、用于檢測(cè)所述指定塊是否被偽造的偽造檢測(cè)數(shù)據(jù)進(jìn)行比較,從而根據(jù)比較結(jié)果來(lái)判斷是否再現(xiàn)對(duì)應(yīng)于所述指定塊的所述解密數(shù)據(jù),所述指定塊由所述順序計(jì)算裝置加以生成。
全文摘要
依次提取一部分要加密的數(shù)據(jù)(301)。利用加密所述數(shù)據(jù)的先前所提取的部分的結(jié)果,來(lái)依次計(jì)算所述數(shù)據(jù)的當(dāng)前所提取部分的加密結(jié)果。利用所依次計(jì)算的加密結(jié)果,來(lái)生成加密數(shù)據(jù)(305)。在生成加密數(shù)據(jù)的過(guò)程中,將所最終計(jì)算的加密結(jié)果(PF(z+1))添加到已生成的加密數(shù)據(jù)中。這里,將最終計(jì)算的結(jié)果用作為用于檢測(cè)要加密的數(shù)據(jù)是否是已被偽造的數(shù)據(jù)的偽造檢測(cè)數(shù)據(jù)(308)。
文檔編號(hào)G06F21/64GK1941691SQ200610136220
公開日2007年4月4日 申請(qǐng)日期2002年7月10日 優(yōu)先權(quán)日2001年7月17日
發(fā)明者佐藤克彥, 澤田裕司 申請(qǐng)人:夏普株式會(huì)社