国产精品1024永久观看,大尺度欧美暖暖视频在线观看,亚洲宅男精品一区在线观看,欧美日韩一区二区三区视频,2021中文字幕在线观看

  • <option id="fbvk0"></option>
    1. <rt id="fbvk0"><tr id="fbvk0"></tr></rt>
      <center id="fbvk0"><optgroup id="fbvk0"></optgroup></center>
      <center id="fbvk0"></center>

      <li id="fbvk0"><abbr id="fbvk0"><dl id="fbvk0"></dl></abbr></li>

      一種用于執(zhí)行加密操作的方法和裝置的制作方法

      文檔序號(hào):6655272閱讀:186來源:國知局
      專利名稱:一種用于執(zhí)行加密操作的方法和裝置的制作方法
      技術(shù)領(lǐng)域
      本發(fā)明涉及在安全應(yīng)用程序框架內(nèi)的裝置中用于執(zhí)行加密操作的一種方法。本發(fā)明具體涉及在一外部應(yīng)用與芯片之間的事務(wù)處理中防止電子芯片欺詐的加密方法。
      本發(fā)明發(fā)現(xiàn)了一個(gè)非常先進(jìn)的應(yīng)用,其可以防止針對(duì)具有硬連線邏輯的集成電路芯片的欺詐,特別是那些用于在各種各樣的事務(wù)處理中使用的預(yù)付費(fèi)卡中的芯片,用預(yù)付費(fèi)卡進(jìn)行各種各樣的事項(xiàng)處理包括,例如,電話通信安裝付費(fèi),從自動(dòng)售貨機(jī)中購物支付費(fèi)用,向汽車停放中心為租停車位付費(fèi),用于各種服務(wù)付費(fèi),例如,為公共交通付費(fèi)或?yàn)楦鞣N基礎(chǔ)設(shè)施的服務(wù)付費(fèi)(例如,付過路費(fèi)、為參觀博物館付費(fèi),進(jìn)圖書館付費(fèi),等等),或者那些用于射頻終端(RFID tags)中的芯片,例如貨架、大宗消費(fèi)品、紙幣等的跟蹤器。
      背景技術(shù)
      當(dāng)前,具有硬連線邏輯電路的芯片被用于各種形式的欺詐。第一種形式的欺詐存在于未經(jīng)允許的復(fù)制,技術(shù)術(shù)語“克隆”通常用來描述該行為。第二種形式的欺詐存在于改變卡上附著的數(shù)據(jù),特別是改變登錄在卡中的信貸總額。為了防止這些欺詐,就采用了加密,一方面通過驗(yàn)證的方式來保證對(duì)卡的驗(yàn)證和/或用數(shù)字簽名方式來保證對(duì)數(shù)據(jù)的驗(yàn)證,另一方面,用加密的方式來保證數(shù)據(jù)適當(dāng)?shù)臋C(jī)密性。加密包括兩個(gè)實(shí)體,即在驗(yàn)證的場(chǎng)合下為驗(yàn)證者和被驗(yàn)證的對(duì)象,所述加密可以是對(duì)稱的也可以是非對(duì)稱的。當(dāng)加密為對(duì)稱時(shí)(或者,在“密鑰”的基礎(chǔ)上,這兩個(gè)技術(shù)術(shù)語是同義語),上述兩個(gè)實(shí)體共享相同的信息,特別是密鑰。當(dāng)加密為非對(duì)稱時(shí)(或者,在“公共密鑰”的基礎(chǔ)上,這兩個(gè)技術(shù)術(shù)語是同義語),兩個(gè)實(shí)體中的一個(gè)具有一對(duì)密鑰,其中之一是私人的,而另一個(gè)是公共的;并不共享私人密鑰。在許多系統(tǒng)中,特別是當(dāng)芯片是“硬連線邏輯”型芯片時(shí),只有對(duì)稱加密才能用預(yù)付費(fèi)卡實(shí)現(xiàn),因?yàn)榉菍?duì)稱加密既慢又貴。以對(duì)稱加密開發(fā)的第一驗(yàn)證機(jī)制包括只計(jì)算一次并且對(duì)所有卡片的驗(yàn)證值,每張卡的驗(yàn)證值是不同的,包括將其存儲(chǔ)在卡的存儲(chǔ)器中,包括在每次事務(wù)中對(duì)其讀取并通過詢問一個(gè)支持該事務(wù)的網(wǎng)絡(luò)應(yīng)用程序來進(jìn)行驗(yàn)證,在該應(yīng)用程序內(nèi)所述已經(jīng)被分配的驗(yàn)證值被存儲(chǔ)或重新計(jì)算。這些機(jī)制不能提供充分的保護(hù),因?yàn)樵擈?yàn)證值能夠被欺詐地窺測(cè)(snooped)、再生(reprodcued)和再使用(replayed),由于其對(duì)一特定的卡始終是相同的,從而可能會(huì)克隆該卡。為了防止克隆,用于驗(yàn)證卡的被動(dòng)機(jī)制被可以保證數(shù)據(jù)完整性的主動(dòng)驗(yàn)證機(jī)制所代替。
      對(duì)稱的、主動(dòng)驗(yàn)證機(jī)制的通常原理描述如下在驗(yàn)證過程中,在每次驗(yàn)證時(shí),電子芯片和應(yīng)用程序計(jì)算一驗(yàn)證值,其是應(yīng)用于一自變量列表上的函數(shù)的結(jié)果,而該等自變量在每次驗(yàn)證中都分別被確定。該自變量列表可以包括隨機(jī)數(shù),也就是說,在每次驗(yàn)證時(shí)由應(yīng)用程序所確定的數(shù)據(jù)項(xiàng),包含在電子芯片中的數(shù)據(jù)項(xiàng)和密鑰對(duì)于電子芯片和應(yīng)用程序都是已知的。當(dāng)電子芯片所計(jì)算的驗(yàn)證值與應(yīng)用程序所計(jì)算的驗(yàn)證值一致時(shí),電子芯片被認(rèn)為通過驗(yàn)證,且電子芯片與應(yīng)用程序之間的事務(wù)處理被授權(quán)。
      這些驗(yàn)證機(jī)制是公知的,但是,大多數(shù)要求計(jì)算能力至少要與微處理器的計(jì)算能力等同。因此,這些機(jī)制適用于微處理器芯片,但是,很少適用于那些具有極其原始計(jì)算裝置的硬連線邏輯芯片。
      當(dāng)可以使對(duì)稱的、主動(dòng)的驗(yàn)證機(jī)制集成到硬連線邏輯芯片中時(shí),第一階段被實(shí)現(xiàn)了。例如,專利文獻(xiàn)FR-A-2826531描述了可以實(shí)現(xiàn)這些機(jī)制的方法。需要注意的是,由這些機(jī)制所產(chǎn)生的驗(yàn)證值也可以被解釋成偽隨機(jī)比特序列,通過改變至少一個(gè)輸入?yún)?shù),驗(yàn)證值的計(jì)算方法就變成生成偽隨機(jī)比特的方法。
      但是,對(duì)于驗(yàn)證單元而言,密鑰機(jī)制必須控制芯片的驗(yàn)證來獲取所述芯片自身獨(dú)有的密鑰,例如,在公用電話、電子付費(fèi)終端或其他的公共運(yùn)輸入口處。這會(huì)造成主要的缺陷,即,如果希望該單元能夠驗(yàn)證與應(yīng)用程序連接的任何芯片,其要么必須存儲(chǔ)所有芯片的保密密鑰要么必須存儲(chǔ)基本密鑰,也稱作母鑰或主密鑰,該基本密鑰可以從任何芯片中恢復(fù)密鑰。在兩種情況下,這些單元中的每個(gè)單元均存儲(chǔ)足夠的信息以恢復(fù)所有芯片發(fā)布的密鑰,因此要存儲(chǔ)足夠的信息以便能夠生成其中任何一個(gè)的克隆物。因此,對(duì)任何一個(gè)驗(yàn)證單元的成功竊密會(huì)從整體上破壞應(yīng)用程序的安全性。
      但是有迫切的需要使得具有公共密鑰的主動(dòng)驗(yàn)證機(jī)制集成入硬連線邏輯芯片內(nèi),特別是在使用大量芯片的應(yīng)用中,此時(shí)通常會(huì)應(yīng)用硬連線邏輯芯片,因?yàn)檫@些芯片的價(jià)格非常低廉。
      這些機(jī)制并不存在,因?yàn)楣裁荑€方案通常需要與大數(shù)字相關(guān)的操作,從而導(dǎo)致將其整體集成到硬連線邏輯芯片中是不適當(dāng)?shù)模@些芯片中的硅區(qū)域極小,其計(jì)算邏輯電路簡化至極為基礎(chǔ)操作的硬連線。而且,這些基本操作通常被順序執(zhí)行,也就是說,運(yùn)算數(shù)被一比特接一比特地串行引入,即,該等逐步引入將改變內(nèi)部寄存器的狀態(tài),其最終值作為所述函數(shù)結(jié)果的計(jì)算基礎(chǔ)。
      例如,眾所公知地,通過執(zhí)行操作y=r+s.c(或y=r-s.c)來計(jì)算驗(yàn)證值,式中的r是隨機(jī)項(xiàng),密鑰s屬于非對(duì)稱的密鑰對(duì)(s,p),c是應(yīng)用程序所選擇的所謂的“質(zhì)詢(challenge)”值,其不能超過一個(gè)確定閾值,r的值始終保持大于將加到其上的值(或從其上減去的值)。這就會(huì)造成在之前的隨機(jī)整數(shù)s和c之間執(zhí)行至少一個(gè)乘法。但是,該乘法是相對(duì)比較復(fù)雜的操作,超出了大多數(shù)硬連線邏輯芯片的能力范圍。

      發(fā)明內(nèi)容
      本發(fā)明的目的是提供一種計(jì)算密碼值的方法,例如驗(yàn)證值,該方法使芯片不必直接執(zhí)行乘法操作,而所獲得的密級(jí)有相對(duì)顯著地提高,例如,密級(jí)達(dá)到32比特?cái)?shù)量級(jí),這是一個(gè)廣泛應(yīng)用的密級(jí),特別是在金融事務(wù)處理的保護(hù)中被應(yīng)用。
      本發(fā)明提供一種在安全應(yīng)用程序控制下的裝置中執(zhí)行加密操作的方法,其中,通過計(jì)算,一密碼值(y)在該裝置中被生成,該計(jì)算至少包括兩個(gè)因子之間的一個(gè)乘法,該等因子包含與該裝置相關(guān)的至少一密鑰(s)的一部分。根據(jù)本發(fā)明,該乘法的兩個(gè)因子中的第一因子具有以二進(jìn)制表示的確定數(shù)量L個(gè)比特,該乘法的兩個(gè)因子中的第二因子被限定以使得其包括以二進(jìn)制表示的、被設(shè)定為1的多個(gè)比特,在每對(duì)被設(shè)定為1的連續(xù)比特之間是被設(shè)定為0的至少L-1個(gè)比特的序列。該乘法不必根據(jù)一個(gè)復(fù)雜的算法而被執(zhí)行,其足以通過將第一因子的分別根據(jù)第二因子中被設(shè)定為1的比特的位置移位而得到的二進(jìn)制版本進(jìn)行匯編(assembling)操作而完成。
      根據(jù)本發(fā)明方法的其他有益特征-所述密鑰形成與所述裝置相關(guān)的一非對(duì)稱密鑰對(duì)的一部分;-所述裝置包括一芯片,該芯片包含用于生成所述密碼值的硬連線邏輯(hard-wired logic);-所述密碼值的計(jì)算還包括偽隨機(jī)數(shù)和乘法結(jié)果之間的加或減運(yùn)算;-第一、第二因子(s,c)以及偽隨機(jī)數(shù)(r)被確定(demensioned)以使得偽隨機(jī)數(shù)(r)大于所述乘法的結(jié)果,第二因子中被設(shè)定為1的比特?cái)?shù)可以,尤其地,在多數(shù)情況下被選擇成為小于或等于s1/L的最大整數(shù),其中s1是小于以二進(jìn)制表示的偽隨機(jī)數(shù)(r)的比特?cái)?shù)的預(yù)定閾值;-所述乘法的兩個(gè)因子包括通過在所述裝置外部執(zhí)行的安全應(yīng)用程序提供給所述裝置的數(shù)值以及密鑰的所述部分;-該密鑰的所述部分是該乘法的所述第一因子或第二因子;-當(dāng)保密密鑰的所述部分是所述乘法的第一因子時(shí),所述二進(jìn)制版本被放置于,例如各自的相似比特長度的間隔中,該比特長度對(duì)應(yīng)于可用空間的整個(gè)長度被按該乘法第二因子中的被設(shè)定為1的比特?cái)?shù)目劃分,每個(gè)二進(jìn)制版本均作為根據(jù)該第二因子中被設(shè)定1的比特的位置的移位處理的函數(shù),而被放置在各自的間隔中;-當(dāng)密鑰是所述乘法的第二因子時(shí),通過對(duì)比特的數(shù)量進(jìn)行編碼該密鑰被存儲(chǔ)在支持所述裝置的存儲(chǔ)器支持(support)中,這些比特?cái)?shù)量為分別分開了(S-1)/(n-1)個(gè)比特的間隔的下界和分配給所述乘法的第一因子(c)的比特塊的下界的比特的數(shù)量,其中每一個(gè)比特塊被放置于相關(guān)的間隔中,S是密鑰的比特?cái)?shù),n是密鑰中被設(shè)定為1的比特?cái)?shù);-作為一個(gè)變化,通過對(duì)比特?cái)?shù)進(jìn)行編碼所述密鑰可以被存儲(chǔ)到所述裝置的存儲(chǔ)器支持中,每一個(gè)比特表示將分配給所述乘法的第一因子的連續(xù)比特的兩個(gè)比特塊分開的比特?cái)?shù);-當(dāng)該密鑰的所述部分是所述乘法的第二因子時(shí),通過其中被設(shè)定為1的比特的位置進(jìn)行編碼,所述密鑰可以被存儲(chǔ)到所述裝置的存儲(chǔ)器支持中;
      -當(dāng)該密鑰的所述部分是所述乘法的第二因子時(shí),第一因子可以是所述裝置中生成的偽隨機(jī)數(shù),密碼值可以在電子簽名的偽裝中生成。
      -在另一個(gè)應(yīng)用中,所述密碼值(y)被生成以便在一個(gè)通過在所述裝置外部執(zhí)行的安全應(yīng)用程序的執(zhí)行中來驗(yàn)證所述裝置。
      本發(fā)明還提供一種具有加密功能的裝置,包括與一安全應(yīng)用程序接口的裝置以及用于生成一密碼值的計(jì)算裝置,所述計(jì)算裝置包括在兩個(gè)因子間進(jìn)行乘法運(yùn)算的乘法裝置,該等因子包含與所述裝置相關(guān)的至少一密鑰的一部分。根據(jù)本發(fā)明,該乘法的兩個(gè)因子中的第一因子具有以二進(jìn)制表示的確定數(shù)量L個(gè)比特,且該乘法的兩個(gè)因子中的第二因子被限定以使得其包括以二進(jìn)制表示的、被設(shè)定為1的多個(gè)比特,在每對(duì)被設(shè)定為1的連續(xù)比特之間是被設(shè)定為0的至少L-1個(gè)比特的序列。所述乘法裝置包括通過將第一因子的分別根據(jù)第二因子中被設(shè)定為1的比特的位置移位而得到的二進(jìn)制版本進(jìn)行匯編(assembling)操作而完成乘法的裝置。
      本發(fā)明的優(yōu)點(diǎn)是,用密碼保護(hù)其自身來防止欺詐,從而獲得裝置的良好密級(jí),特別是在硬連線邏輯電子芯片與該電子芯片外部的安全應(yīng)用程序之間的事務(wù)處理過程中能獲得良好的密級(jí)。
      本發(fā)明的另一個(gè)優(yōu)點(diǎn)是,由于不需要在很小面積的電子芯片中進(jìn)行難以實(shí)現(xiàn)的、價(jià)格昂貴的乘法裝置,因此,簡化了其實(shí)現(xiàn),該乘法裝置可以通過用于對(duì)密鑰或質(zhì)詢的移位進(jìn)行求和的加法裝置來代替。具體地說,一個(gè)整數(shù)與2的冪的乘法結(jié)果等于將該整數(shù)的二進(jìn)制比特左移。


      通過參考如下附圖來詳細(xì)地描述優(yōu)選實(shí)施例,本發(fā)明的上述以及其他優(yōu)點(diǎn)將變得更為明顯,附圖如下-圖1是描述一個(gè)加密驗(yàn)證實(shí)例的流程圖;-圖2描述了本發(fā)明所提供方法的一個(gè)實(shí)施例;-圖3描述了本發(fā)明所提供方法的第一變化實(shí)施例;-圖4描述了本發(fā)明所提供方法的第二變化實(shí)施例;-圖5描述了根據(jù)本發(fā)明存儲(chǔ)密鑰的第一變化;-圖6描述了根據(jù)本發(fā)明存儲(chǔ)密鑰的第二變化;
      -圖7描述了實(shí)現(xiàn)本發(fā)明第一實(shí)施例的具有加密功能的典型裝置;以及-圖8描述了根據(jù)本發(fā)明的具有加密功能裝置的典型實(shí)施例。
      具體實(shí)施例方式
      圖1描述了在一個(gè)裝置外部執(zhí)行的安全應(yīng)用程序控制下的裝置中執(zhí)行加密操作方法的流程圖,特別是具有硬連線邏輯的電子芯片。
      特別是,該方法應(yīng)用于電子芯片與應(yīng)用程序之間的事務(wù)處理。該方法也可以被用于計(jì)算構(gòu)成數(shù)字簽名的密碼值。
      在一第一步驟中,該方法包括,通過包括在電子芯片中的偽隨機(jī)生成器在電子芯片中生成稱作隨機(jī)項(xiàng)的偽隨機(jī)數(shù)r。該隨機(jī)項(xiàng)r用于一個(gè)事務(wù)處理。
      在一第二步驟中,該方法包括在函數(shù)f的基礎(chǔ)上,例如x=f(r),將與隨機(jī)項(xiàng)r相關(guān)的參數(shù)x從電子芯片傳送到安全應(yīng)用程序中,f與電子芯片和安全應(yīng)用程序所知的公共密鑰相關(guān)。參數(shù)x可以進(jìn)一步被計(jì)算并存儲(chǔ)在芯片的存儲(chǔ)器中,每個(gè)參數(shù)x分別與偽隨機(jī)數(shù)r相關(guān)。
      例如,g是安全應(yīng)用程序所知的數(shù)值,函數(shù)f通常的形式是x=f(r)=gr。另一個(gè)可能是,也是本領(lǐng)域技術(shù)人員所公知的,在f函數(shù)中使用一個(gè)加密哈希函數(shù)h以及與應(yīng)用(例如,事務(wù)總量)相關(guān)的數(shù)據(jù)D的函數(shù)x=f(r)=h(gr,D)。f函數(shù)的其他例子也可以被使用。
      在一第三步驟中,該方法包括,按照下面將要說明的發(fā)明方法,用乘法裝置在電子芯片中計(jì)算密碼值y,該乘法裝置具有輸入?yún)?shù),這些參數(shù)至少包括特定于事務(wù)處理的隨機(jī)項(xiàng)r和屬于一對(duì)非對(duì)稱密鑰(s,p)的私人密鑰,例如通過p=gs。該密碼值組成驗(yàn)證數(shù)值V的全部或部分。
      在一第四步驟中,該方法包括,將驗(yàn)證值V傳送到應(yīng)用程序中。
      在一第五步驟中,該方法包括,通過安全應(yīng)用程序以一個(gè)驗(yàn)證函數(shù)驗(yàn)證驗(yàn)證值V,該函數(shù)的輸入?yún)?shù)包括包含至少一個(gè)公共密鑰p的公共參數(shù)。如果驗(yàn)證值被安全應(yīng)用程序驗(yàn)證通過,那么事務(wù)處理被授權(quán)。
      本發(fā)明的目的是,通過執(zhí)行y=r+f1*f2(或等同的y=r-f1*f2)操作來計(jì)算密碼值,式中的r是用包含在電子芯片中的偽隨機(jī)生成器計(jì)算獲得的隨機(jī)項(xiàng),(f1,f2)是包含由保密應(yīng)用所提供的密鑰s和所謂的質(zhì)詢值c的一對(duì)因子。因子f1、f2的二進(jìn)制表示滿足這樣的條件因子f1具有表示為L個(gè)比特,因子f2被設(shè)定為1的連續(xù)比特始終位于被設(shè)定為0的至少L-1個(gè)比特的序列之間。
      因此,因子f1、f2的乘法相當(dāng)于分別按第二因子f2中被設(shè)定為1的比特的位置對(duì)數(shù)量為n的第一因子f1的二進(jìn)制版本b[1]、b[2]、…、b[n]進(jìn)行移位的總和。數(shù)量n取決于第二因子f2中被設(shè)定為1的比特?cái)?shù)。給定這些位移,通過將b[h]值匯編成表示乘法結(jié)果的二進(jìn)制數(shù)值,就可以極簡單地得出總和 在以下的描述中,將描述本發(fā)明方法的第一實(shí)施例,其中,第一因子f1是L個(gè)比特的密鑰,第二因子f2是安全應(yīng)用程序所提供的偽隨機(jī)質(zhì)詢值c。因此,通過執(zhí)行以下操作確定密碼值yy=r+s*(2i[1]+…+2i[n])式中i[1]、…、i[n]中的n是由應(yīng)用程序所選擇的整數(shù),其具有兩個(gè)限制條件-數(shù)值i[1]、…、i[n]必須全部小于或等于表示為s1的閾值,所以,數(shù)值r始終保持大于將加到其上(或從其上減去)的數(shù)值,然后,所述閾值在r比特上定義一個(gè)可用的空間。
      -第二限制條件包括要求各種數(shù)值i[1]、…、i[n]保持至少等于密鑰比特?cái)?shù)的距離。
      因此,密鑰包括L比特,并且假設(shè)各整數(shù)i[1]、…、i[n]按升序排列,安全應(yīng)用程序提供這些數(shù)值i[1]、…、i[n]以保證i[1]+L≤i[2],i[2]+L≤i[3],…,i[n-1]+L≤i[n],并且i[n]<s1。
      因此,在多數(shù)情況下,第二因子中被設(shè)定為1的比特?cái)?shù)n選擇為等于小于或等于s1/L的最大整數(shù)。
      表示為u的最大值通常不是很大,例如u=5或6,該最大值基于數(shù)值n并通過上述的兩個(gè)限制條件而獲得。優(yōu)選地,數(shù)值n被取為與最大值u相等。
      圖2描述了n=5時(shí)本發(fā)明所提供方法的典型使用。圖表B1表示具有L+s1個(gè)比特的可用空間EU的隨機(jī)項(xiàng)r。圖表B2表示要加到r上或要從r上減去的乘法s*c=s*(2i[1]+…+2i[n])的結(jié)果。密鑰s被按照質(zhì)詢值c中被設(shè)定為1的比特的位置來移位。因此,分別由i[1]、i[2]、i[3]、i[4]和i[5]的比特移位,從而獲得二進(jìn)制版本b1至b5。
      本發(fā)明的優(yōu)點(diǎn)是基于用該方法提高密級(jí),因?yàn)椴聹y(cè)整數(shù)i[h]以及數(shù)值n的各種數(shù)值是非常困難的,而如果安全應(yīng)用程序沒有確定數(shù)值n,那么猜測(cè)數(shù)字n本身還是有可能的。
      本發(fā)明的另一個(gè)優(yōu)點(diǎn)是,根據(jù)本發(fā)明,不需要對(duì)密碼數(shù)值y進(jìn)行非常復(fù)雜的計(jì)算,就能提高密級(jí),因?yàn)樵诿荑€與質(zhì)詢值之間的乘法相當(dāng)于匯編移位操作(或二進(jìn)制版本),而該等計(jì)算是串行進(jìn)行的。
      根據(jù)該方法的第一變化,密鑰的位移n被要求全部置于相同大小的間隔中。該大小最好是最大值,即等于可用空間的總?cè)萘砍詎,或者,如果該數(shù)值不是整數(shù),則為小于該數(shù)值得最大整數(shù)。由應(yīng)用程序選擇的、對(duì)應(yīng)于密鑰移位的比特塊與放置這些相對(duì)應(yīng)的比特塊的間隔的下界之間的差異被表示為j[1]、j[2]、…、j[n]。
      更正式地,假設(shè)k是可使用空間的總長度(等于s1+L),然后,n是所希望使密鑰以分開的方式出現(xiàn)在k個(gè)可使用的比特之間的次數(shù)。假設(shè)k可以被n整除(在相反的情況下,k值被稍微增加,所以可以保證這種假設(shè)成立)。
      可使用的總空間可以被分成大小相同的n個(gè)間隔,每個(gè)間隔包括如下所述的k/n個(gè)位置
      U[k/n,2k/n-1]U…U[(n-1)k/n,k-1]使用本變化,可以確定共有[(k/n)-L+1]n個(gè)不同數(shù)值可以被加到隨機(jī)項(xiàng)r上。
      具體地說,每個(gè)間隔包括k/n個(gè)位置,其中L被用于寫密鑰的位移。因此,在每個(gè)間隔中剩余k/n-L個(gè)空閑位置被用來分布被移位所使用的比特塊。因此,對(duì)任何滿足1≤h≤n的h,j[h]是位于0與(k/n)-L之間的數(shù)值,并且對(duì)應(yīng)于第(h-1)(k/n)個(gè)位置與位移的第一位之間的比特?cái)?shù)。因此,每個(gè)j[h]存在(k/n)-L+1個(gè)可能的數(shù)值。最終,不同的n元組(n-tuple)(j[1],j[2],…,j[n])的數(shù)量為((k/n)-L+1)n。
      其他的方式,密碼值y被通過以下的操作計(jì)算
      y=r+(2j[1].s+2k/n+j[2].s+22k/n+j[3].s+…+2(n-1)k/n+j[n].s)式中,對(duì)所有的h以j[h]ε
      的方式通過安全應(yīng)用程序選擇n個(gè)數(shù)值(j[1],j[2],…,j[n])。
      每個(gè)二進(jìn)制版本b[h]被移位j[h],其與間隔的下界相關(guān)。
      圖3中,當(dāng)n=5時(shí),在第一個(gè)變化的實(shí)施例的的特定情況下,I[h]=[(h-1)k/n,hk/n-1]表示第h個(gè)問隔。圖表B3表示具有可使用空間EU的隨機(jī)項(xiàng)r,而圖表B4表示加(或減)的數(shù)值。因此,獲得了分別位于間隔I[h]中的密鑰s的二進(jìn)制版本b[h],即b[1]、[b2]、b[3]、b[4]和b[5]。每個(gè)二進(jìn)制版本b[h]被移位j[h],j[h]與間隔I[h]的下界相關(guān)。
      根據(jù)本發(fā)明所提供方法的第二變化,不同的n個(gè)值j[1]、j[2]、…、j[n]被安全應(yīng)用程序以可以表示對(duì)應(yīng)于密鑰的兩個(gè)位移相關(guān)的連續(xù)塊之間的差的方式所選擇。與該方法的第一變化一樣,可以在間隔
      中取出n個(gè)值。
      密碼值被通過執(zhí)行以下的操作計(jì)算y=r+(2j[1].s+2L+j[1]+j[2].s+22L+j[1]+j[2]+j[3].s+…+2(n-1)L+j[1]+j[2]+…+ j[n].s)。
      圖4描述了當(dāng)n=5時(shí)本發(fā)明所提供方法的第二變化的典型使用。圖表B5表示具有可使用空間EU的隨機(jī)項(xiàng)r,而圖表B6表示加(或減)的數(shù)值。因此,獲得了密鑰s的5個(gè)二進(jìn)制版本b[1]、[b2]、b[3]、b[4]和b[5],其分別被移位j[1]、j[2]、j[3]、j[4]和j[5]個(gè)比特。
      在某些情況下,在不脫離本發(fā)明的范圍的前提下,以芯片的硬連線邏輯變得復(fù)雜從而造成價(jià)格的一定增加為代價(jià),可以稍微放松對(duì)設(shè)定為0的比特?cái)?shù)的限制,這些比特?cái)?shù)被用于將質(zhì)詢值c中被設(shè)定為1的兩個(gè)連續(xù)比特分開。例如,我們假設(shè),裝置的密鑰s=f1為L個(gè)比特,且具有n=6。假設(shè)強(qiáng)加上這樣的條件采用質(zhì)詢值c=2i[1]+2i[2]+2i[3]+2i[4]+2i[5]+2i[6]中被設(shè)定為“1”的兩個(gè)連續(xù)比特總是被至少L/2個(gè)比特的設(shè)定為0的至少L/2個(gè)比特所分開(即i[1]+L/2<i[2],…,i[5]+L<i[6]<s1),則很容易將該質(zhì)詢值c分成兩項(xiàng)c=f2+f‘2,或f2=2i[1]+2i[3]+2i[5]且f‘2=2i[2]+2i[4]+2i[6]。這兩項(xiàng)f2、f‘2中的每一項(xiàng)都滿足本發(fā)明所提供方法中作為乘法的第二因子所要求的條件對(duì)于f2而言,i[1]+L<i[3]<i[5]-L;對(duì)于f‘2而言,i[2]+L<i[4]<i[6]-L。將被執(zhí)行的加密操作可以是y=r+s.f2+s.f‘2,兩個(gè)乘法s.f2,s.f′2中的每一個(gè)均根據(jù)本發(fā)明通過對(duì)s的位移版本進(jìn)行匯編(assembling)操作而獲得。因此,硬連線邏輯必須包括兩個(gè)加法器(或減法器)電路。
      本發(fā)明的另一個(gè)實(shí)施例中,在所述乘法中,s和c的任務(wù)被顛倒第一因子f1是偽隨機(jī)數(shù)c,而第二因子f2是密鑰s。因此,密碼值y通過執(zhí)行以下操作被計(jì)算y=r+c*(2i[1]+…+2i[n])式中r是隨機(jī)項(xiàng),c是由安全應(yīng)用程序選擇的質(zhì)詢值,n個(gè)值i[1]、…、i[n]與所述裝置相關(guān)密鑰的非0比特的位置,或者該密鑰的一部分,相對(duì)應(yīng)。其他的方式,密鑰s是2i[1]+2i[2]+…+2i[n]。n個(gè)值i[1]、…、i[n]必須滿足第一實(shí)施例中所述的那些相同限制條件。
      計(jì)算該密碼值的方法與前面第一實(shí)施例中描述的方法一致。
      但是,由于是一個(gè)傳統(tǒng)的密鑰,密鑰s=2i[1]+2i[2]+…+2i[n]對(duì)所有的驗(yàn)證一致。在第二實(shí)施例中會(huì)出現(xiàn)兩種情況-密鑰專用于要求固定密級(jí)L0的特別應(yīng)用中。這種情況下,密鑰s的結(jié)構(gòu)通過使用具有被至少(L0-1)個(gè)比特分開的非0比特的密鑰而獲得;或者,-密鑰用在要求不同密級(jí)的應(yīng)用中。此時(shí),有必要考慮最高的密級(jí)。具體地說,相反的情況下,具有由(L0-1)個(gè)比特分開的非0比特密鑰的結(jié)構(gòu)會(huì)提高大小量L1>L0的質(zhì)詢值,使得質(zhì)詢值的位移不再是不連續(xù)的。因此,需要將密鑰的非0比特由至少L-1個(gè)比特分開,L表示在密鑰s的使用過程中可能會(huì)遇到的最高密級(jí)。
      為了存儲(chǔ)密鑰,第一個(gè)解決方案包括在其中完全存儲(chǔ)密鑰。但是,尤其出于經(jīng)濟(jì)上的考慮,高的密級(jí)所帶來的密鑰的長度,會(huì)受到物理上的限制,特別是電子芯片的存儲(chǔ)器的容量限制,也就限制了可能的存儲(chǔ)空間。
      第二個(gè)解決方案包括通過僅存儲(chǔ)密鑰的非0比特的位置,從而從2i[1]+2i[2]+…+2i[n]類型的密鑰結(jié)構(gòu)中獲得好處。該第二解決方案可以被改進(jìn),以使得存儲(chǔ)更少的比特。兩種方案都是可能的。
      假設(shè)s是具有非0比特的密鑰的大小,假設(shè)s-1被n-1整除。第一個(gè)非0位置于s-1位置上來獲得所期望大小的加密。此后,密鑰的其他s-1個(gè)比特被分隔成(s-1)/(n-1)個(gè)比特的n-1個(gè)間隔I[1]、I[2]、…、I[n-1]。
      在每一個(gè)間隔I[h]中,每個(gè)均放置一個(gè)比特塊,每個(gè)比特塊被分配給表示L大小的質(zhì)詢值的比特塊。因此,每個(gè)間隔包含(s-1)/(n-1)-L個(gè)未用的比特,這些比特分布于所分配的比特塊的左側(cè)和右側(cè)。最多(s-1)/(n-1)-L個(gè)比特可以被放置在間隔的下界與所分配的塊之間。
      在不存儲(chǔ)非0比特的位置i[h]的情況下,則可以存儲(chǔ)比特于每個(gè)間隔的下界與位于所考慮的間隔中的所述被分配比特塊之間的比特?cái)?shù)p[h]。
      圖5描述了具有5個(gè)非0比特的密鑰的典型存儲(chǔ)。此時(shí),p[1]、p[2]、p[3]、p[4]和p[5]的比特?cái)?shù)被存儲(chǔ)(此例中p[4]的比特?cái)?shù)為0)。
      第二個(gè)步驟包括存儲(chǔ)位于被分配給與質(zhì)詢值有關(guān)塊的兩個(gè)連續(xù)比特塊以及位于每個(gè)末尾(在第一個(gè)被分配的塊之前并在最后一個(gè)被分配的塊之后)的比特?cái)?shù)之間的比特?cái)?shù)。
      圖6描述了包含5個(gè)非0比特的密鑰的過程。此時(shí),數(shù)值p[1]、p[2]、p[3]、p[4]、p[5]和p[6]被存儲(chǔ)在電子芯片的存儲(chǔ)器支持中。該例子并非對(duì)本發(fā)明的限制,且部分?jǐn)?shù)值p[h]可以是0。
      在本發(fā)明的第二實(shí)施例中,在某些情況下,在不脫離本發(fā)明的范圍的前提下,以芯片的硬連線邏輯變得復(fù)雜從而造成價(jià)格的一定增加為代價(jià),可以稍微放松對(duì)設(shè)定為0的比特?cái)?shù)的限制,這些比特?cái)?shù)用于將密鑰s中被設(shè)定為1的兩個(gè)連續(xù)比特分開。
      本發(fā)明方法可以用于計(jì)算密碼數(shù)值以對(duì)付設(shè)備的欺詐,特別是一種硬連線邏輯的芯片,在該設(shè)備外部的安全應(yīng)用程序的控制下,防止在這些設(shè)備與實(shí)體之間執(zhí)行事務(wù)處理過程中被欺詐。
      該方法也可以用于計(jì)算密碼值來構(gòu)建數(shù)字簽名。在這種情況下,數(shù)值c,即所謂的質(zhì)詢值不是由安全應(yīng)用程序所提供的,而是根據(jù)將要被簽名的信息通過電子芯片計(jì)算獲得。
      圖7描述了實(shí)現(xiàn)本發(fā)明第一實(shí)施例的具有加密功能的典型裝置。
      裝置10,例如電子芯片,包括-偽隨機(jī)數(shù)生成器12,生成專用于事務(wù)處理的隨機(jī)項(xiàng)r,該隨機(jī)項(xiàng)r與參數(shù)x相關(guān);-第一存儲(chǔ)器16,用于存儲(chǔ)密鑰s;
      -第二存儲(chǔ)器14,用于存儲(chǔ)參數(shù)x;-接口24,用于按照其本身已知的方式與外部的安全應(yīng)用程序交換數(shù)據(jù);-電路22,用于對(duì)密鑰s與質(zhì)詢值c進(jìn)行乘法;以及-加法器26(或減法器),用于將所述乘法結(jié)果和偽隨機(jī)數(shù)生成器12生成的偽隨機(jī)數(shù)進(jìn)行算術(shù)運(yùn)算處理。
      在圖7所示的實(shí)施例中,乘法電路22根據(jù)本發(fā)明的要求移位第一因子f1,特別是密鑰s,然后,按一比特接一比特的方式順序地將所獲得的結(jié)果傳送到加法器26。
      并行地,偽隨機(jī)數(shù)生成器12按一比特接一比特的方式將隨機(jī)項(xiàng)r傳送到加法器26。
      因此,加法器26一比特接一比特的順序地將隨機(jī)項(xiàng)r和乘法電路22提供的結(jié)果相加。
      裝置10中所包含的不同裝置均可以作為硬連線邏輯而被實(shí)現(xiàn)。
      參考圖8,其中描述了裝置10被安裝在支架28上,例如,以信用卡的形式。例如,支架28可以被插入提供安全應(yīng)用程序34的主閱讀器30中。
      在一個(gè)典型的應(yīng)用中,將支架28插入閱讀器30時(shí)自動(dòng)啟動(dòng)安全應(yīng)用程序34,該程序喚醒電子芯片并向該程序傳送數(shù)據(jù),特別是質(zhì)詢值c。電子芯片通過向該程序提供根據(jù)本發(fā)明所提供方法計(jì)算的密碼值y(或V)來驗(yàn)證自身。如圖1所示,與r相關(guān)的參數(shù)x被傳送至安全應(yīng)用程序。
      然后,在數(shù)值x和V或(y)的基礎(chǔ)上,安全應(yīng)用程序繼續(xù)進(jìn)行驗(yàn)證處理。
      在一個(gè)通常的方式中,當(dāng)參數(shù)x是x=gr的形式時(shí),如果密碼值是y=r-sc形式,則當(dāng)密碼值是y=r+sc或gy.pc=x的形式時(shí),安全應(yīng)用程序所滿足的等式可以是gy=x.pc的形式。
      在參數(shù)x轉(zhuǎn)換到哈希函數(shù)(x=h(gr,D))的情況下,當(dāng)密碼值是y=r+sc的形式時(shí),驗(yàn)證等式通常是h(gy/pc,D)=x。優(yōu)選地,y=r-sc形式的密碼值被使用以使得驗(yàn)證等式不包含任何除法h(gy.pc,D)=x。
      當(dāng)驗(yàn)證值被證實(shí)為有效時(shí),那么芯片的驗(yàn)證是正確的,安全應(yīng)用程序?qū)⑼ㄖ娮有酒?,這樣,在安全應(yīng)用程序與電子芯片之間的事務(wù)處理就被批準(zhǔn)了。
      權(quán)利要求
      1.在安全應(yīng)用程序(34)控制下的一個(gè)設(shè)備(10)中執(zhí)行加密操作的方法,其中,通過計(jì)算,一密碼值(y)在該設(shè)備中被生成,該計(jì)算至少包括兩個(gè)因子之間的一個(gè)乘法,這兩個(gè)因子包含與該設(shè)備相關(guān)的至少一密鑰(s)的一部分,其特征在于,該乘法的兩個(gè)因子中的第一因子具有以二進(jìn)制表示的確定數(shù)量L個(gè)比特,該乘法的兩個(gè)因子中的第二因子被限定以使得其包括以二進(jìn)制表示的、被設(shè)定為1的多個(gè)比特,在每對(duì)被設(shè)定為1的連續(xù)比特之間是被設(shè)定為0的至少L-1個(gè)比特的序列,并且,該乘法通過將第一因子的分別根據(jù)第二因子中被設(shè)定為1的比特的位置移位而得到的二進(jìn)制版本進(jìn)行匯編(assembling)操作而完成。
      2.根據(jù)權(quán)利要求1所述的方法,其特征在于,所述密鑰(s)形成與設(shè)備(10)相關(guān)的一個(gè)非對(duì)稱密鑰對(duì)的一部分。
      3.根據(jù)權(quán)利要求1或2所述的方法,其特征在于,所述設(shè)備(10)包括一個(gè)芯片,該芯片包含用于生成所述密碼值的硬連線邏輯(hard-wiredlogic)。
      4.根據(jù)以上權(quán)利要求中任一項(xiàng)所述的方法,其特征在于,所述密碼值的計(jì)算還包括偽隨機(jī)數(shù)(r)和該乘法結(jié)果之間的加或減運(yùn)算。
      5.根據(jù)權(quán)利要求4所述的方法,其特征在于,第一、第二因子(s,c)以及偽隨機(jī)數(shù)(r)被確定以使得偽隨機(jī)數(shù)(r)大于所述乘法的結(jié)果。
      6.根據(jù)權(quán)利要求5所述的方法,其特征在于,第二因子中被設(shè)定為1的比特?cái)?shù)目被選擇為小于或等于s1/L的最大整數(shù),其中s1是小于以二進(jìn)制表示的偽隨機(jī)數(shù)(r)的比特?cái)?shù)目的預(yù)定閾值。
      7.根據(jù)以上權(quán)利要求中任一項(xiàng)所述的方法,其特征在于,所述乘法的兩個(gè)因子包括通過在所述設(shè)備外部執(zhí)行的安全應(yīng)用程序提供給所述設(shè)備的數(shù)值(c)以及密鑰(s)的所述部分。
      8.根據(jù)權(quán)利要求1~6中任一項(xiàng)所述的方法,其特征在于,所述乘法的兩個(gè)因子包括通過所述設(shè)備提供的數(shù)值(c)以及所述密鑰(s)。
      9.根據(jù)以上權(quán)利要求中任一項(xiàng)所述的方法,其特征在于,該密鑰(s)的所述部分是該乘法的所述第一因子。
      10.根據(jù)權(quán)利要求9的方法,其特征在于,所述的二進(jìn)制版本被放置于各自的相似比特長度的間隔中,該比特長度對(duì)應(yīng)于可用空間的整個(gè)長度被按該乘法第二因子中的被設(shè)定為1的比特?cái)?shù)目劃分,每個(gè)二進(jìn)制版本均作為根據(jù)該第二因子中被設(shè)定1的比特的位置的移位處理的函數(shù),而被放置在各自的間隔中。
      11.根據(jù)權(quán)利要求1~8中任一項(xiàng)所述的方法,其特征在于,該密鑰(s)的所述部分是所述乘法的第二因子。
      12.根據(jù)權(quán)利要求11所述的方法,其特征在于,通過對(duì)該密鑰(s)的被設(shè)定為1的比特的位置進(jìn)行編碼,所述密鑰(s)被存儲(chǔ)在所述設(shè)備的存儲(chǔ)器中。
      13.根據(jù)權(quán)利要求11~12中任一項(xiàng)所述的方法,其特征在于,通過對(duì)比特?cái)?shù)量進(jìn)行編碼,所述密鑰(s)被存儲(chǔ)在所述設(shè)備的存儲(chǔ)器支持(16)中,所述比特?cái)?shù)量為分別分開了(S-1)/(n-1)個(gè)比特的間隔的下界和分配給所述乘法的第一因子(c)的比特塊的下界的比特的數(shù)量,其中每一個(gè)比特塊被放置于相關(guān)的間隔中,S是密鑰的比特?cái)?shù),n是密鑰中被設(shè)定為1的比特?cái)?shù)。
      14.根據(jù)權(quán)利要求11~12中任一項(xiàng)所述的方法,其特征在于,通過對(duì)比特?cái)?shù)量進(jìn)行編碼,所述密鑰(s)被存儲(chǔ)到所述設(shè)備的存儲(chǔ)器支持(16)中,每個(gè)比特?cái)?shù)量代表將分配給第一乘法因子(c)的兩個(gè)連續(xù)比特塊區(qū)分開來的比特的數(shù)量。
      15.根據(jù)以上權(quán)利要求中任一項(xiàng)所述的方法,其特征在于,所述密碼值(y)被生成,以便在一個(gè)通過在該設(shè)備外部執(zhí)行的安全應(yīng)用程序的處理過程中來驗(yàn)證所述設(shè)備。
      16.根據(jù)權(quán)利要求1~14中任一項(xiàng)所述的方法,其特征在于,所述密碼值(y)在電子簽名的偽裝中被生成。
      17.一種具有加密功能的設(shè)備,包括與一安全應(yīng)用程序(34)接口的裝置(24)以及用于生成一密碼值(y)的計(jì)算(12,22,26)裝置,所述計(jì)算裝置包括在兩個(gè)因子間進(jìn)行乘法運(yùn)算的乘法裝置(22),這些因子包含與所述裝置相關(guān)的至少一密鑰(s)的一部分,其特征在于,該乘法的兩個(gè)因子中的第一因子具有以二進(jìn)制表示的確定數(shù)量L個(gè)比特,且該乘法的兩個(gè)因子中的第二因子被限定以使得其包括以二進(jìn)制表示的、被設(shè)定為1的多個(gè)比特,在每對(duì)被設(shè)定為1的連續(xù)比特之間是被設(shè)定為0的至少L-1個(gè)比特的序列,所述乘法裝置包括將第一因子的分別根據(jù)第二因子中被設(shè)定為1的比特的位置移位而得到的二進(jìn)制版本進(jìn)行匯編(assembling)操作的裝置。
      18.根據(jù)權(quán)利要求17所述的設(shè)備,還包括生成一個(gè)偽隨機(jī)數(shù)(r)的裝置(12),包括用于將所述乘法結(jié)果加到所述偽隨機(jī)數(shù)(r)上或從所述偽隨機(jī)數(shù)(r)上減去所述乘法結(jié)果的裝置(26)的計(jì)算裝置。
      19.根據(jù)權(quán)利要求18所述的設(shè)備,其特征在于,第一、第二因子(s,c)以及偽隨機(jī)數(shù)(r)被確定以使得偽隨機(jī)數(shù)(r)大于所述乘法的結(jié)果。
      20.根據(jù)權(quán)利要求17~19中任一項(xiàng)所述的設(shè)備,其特征在于,計(jì)算裝置(12,22,26)包含硬連線邏輯。
      21.根據(jù)權(quán)利要求17~20中任一項(xiàng)所述的設(shè)備,其特征在于,該密鑰(s)的所述部分是所述乘法的第一因子。
      22.根據(jù)權(quán)利要求17~20中任一項(xiàng)所述的設(shè)備,其特征在于,該密鑰(s)的所述部分是所述乘法的第二因子。
      23.根據(jù)權(quán)利要求22所述的設(shè)備,還包括一個(gè)存儲(chǔ)器(16),用于存儲(chǔ)對(duì)所述密鑰(s)中被設(shè)定為1的比特的位置進(jìn)行編碼的數(shù)據(jù)。
      全文摘要
      用于由外部執(zhí)行的安全應(yīng)用程序控制的裝置執(zhí)行加密操作的方法,包括通過計(jì)算在裝置中生成密碼值(y),該計(jì)算包括包含與裝置相關(guān)的密鑰(s)以及安全應(yīng)用程序提供的質(zhì)詢值(c)的第一和第二因子之間進(jìn)行的至少一個(gè)乘法,第一乘法因子包括以二進(jìn)制表示的確定比特?cái)?shù)(L),第二因子被限制以使得其包括設(shè)定為1的若干比特,在這些設(shè)定為1的每對(duì)連續(xù)比特之間具有至少L-1個(gè)設(shè)定為0的序列,根據(jù)第二因子中被設(shè)定為1的比特的位置對(duì)第一因子的二進(jìn)制版本分別進(jìn)行移位以實(shí)現(xiàn)該乘法。
      文檔編號(hào)G06F7/52GK1926508SQ200580006837
      公開日2007年3月7日 申請(qǐng)日期2005年2月24日 優(yōu)先權(quán)日2004年3月2日
      發(fā)明者馬克·吉羅, 達(dá)維德·勒弗朗 申請(qǐng)人:法國電信
      網(wǎng)友詢問留言 已有0條留言
      • 還沒有人留言評(píng)論。精彩留言會(huì)獲得點(diǎn)贊!
      1