亚洲成年人黄色一级片,日本香港三级亚洲三级,黄色成人小视频,国产青草视频,国产一区二区久久精品,91在线免费公开视频,成年轻人网站色直接看

一種生成密文的方法及裝置的制作方法

文檔序號(hào):7810207閱讀:246來(lái)源:國(guó)知局
專利名稱:一種生成密文的方法及裝置的制作方法
技術(shù)領(lǐng)域
本發(fā)明涉及信息安全技術(shù)領(lǐng)域,特別涉及一種生成密文的方法及裝置。
背景技術(shù)
目前,在手機(jī)電視UAM(UserAccess Module,用戶認(rèn)證模塊規(guī)范中規(guī)定)的PRF算法O^seudo-random Function,生成密文中計(jì)算密鑰的算法)中,計(jì)算每個(gè)業(yè)務(wù)密鑰都需要進(jìn)行 2 次 HMAC (Key-Hashing for Message Authentication,鍵控消息摘要算法)計(jì)算;以 SHA-I (Secure Hash Standard, SHA-I消息摘要算法)算法為例,每次HMAC都要進(jìn)行4次 64字節(jié)SHA-I計(jì)算,這樣計(jì)算一個(gè)業(yè)務(wù)密鑰需要進(jìn)行8次SHA-I計(jì)算,如果計(jì)算3個(gè)業(yè)務(wù)密鑰,則需要進(jìn)行M次64字節(jié)的SHA-I計(jì)算。采用上述方案時(shí),需要進(jìn)行的64字節(jié)SHA-I計(jì)算次數(shù)達(dá)到M次,影響了整個(gè)指令的運(yùn)行速度,對(duì)卡片性能有非常大的影響,有時(shí)還會(huì)影響到與UAM連接的終端的反應(yīng)。

發(fā)明內(nèi)容
針對(duì)上述現(xiàn)有技術(shù)中存在的缺點(diǎn),本發(fā)明實(shí)施例提供的一種生成密文的方法及裝置,通過(guò)該方法可以避免重復(fù)計(jì)算,提高了計(jì)算效率。本發(fā)明實(shí)施例提供一種生成密文的方法,包括確定將待加密的數(shù)據(jù)生成密文所需要的算法及其參數(shù),并確定在生成密文的過(guò)程中,根據(jù)所述參數(shù)通過(guò)所述算法計(jì)算生成密文所需要的次數(shù)大于等于2時(shí),保存當(dāng)前根據(jù)所述第N參數(shù)通過(guò)所述第N算法進(jìn)行第N次密鑰計(jì)算生成的第N計(jì)算結(jié)果值;在第N+1參數(shù)通過(guò)所述算法進(jìn)行第N+1次計(jì)算包括根據(jù)所述第N參數(shù)通過(guò)所述算法計(jì)算過(guò)程時(shí),讀取第N計(jì)算結(jié)果值代替所述計(jì)算過(guò)程進(jìn)行第N+1次計(jì)算,并保存計(jì)算所得的第N+1計(jì)算結(jié)果值。本發(fā)明實(shí)施例還一種生成密文的裝置,包括確定單元,用于確定將待加密的數(shù)據(jù)生成密文所需要的算法及其參數(shù),并確定在生成密文的過(guò)程中,根據(jù)所述參數(shù)通過(guò)所述算法計(jì)算生成密文所需要的次數(shù)。 存儲(chǔ)單元,用于在所述次數(shù)大于等于2時(shí),保存當(dāng)前根據(jù)所述第N參數(shù)通過(guò)所述第 N算法進(jìn)行第N次計(jì)算生成的第N計(jì)算結(jié)果值;計(jì)算單元,用于在第N+1參數(shù)通過(guò)所述算法進(jìn)行第N+1次計(jì)算包括根據(jù)所述第N 參數(shù)通過(guò)所述算法計(jì)算過(guò)程時(shí),讀取第N計(jì)算結(jié)果值代替所述計(jì)算過(guò)程進(jìn)行第N+1次計(jì)算, 此時(shí),所述存儲(chǔ)單元還用于,保存計(jì)算所得的第N+1計(jì)算結(jié)果值。本發(fā)明實(shí)施例還一種智能卡,包括上述生成密文的裝置。本發(fā)明相對(duì)于現(xiàn)有技術(shù)具有以下優(yōu)點(diǎn)本發(fā)明提供的生成密文的的方法,采用了針對(duì)指定算法中包具有設(shè)定參數(shù)的計(jì)算結(jié)果值需要重復(fù)利用的特點(diǎn),先將設(shè)定參數(shù)的計(jì)算結(jié)果值保存起來(lái),后續(xù)重復(fù)利用時(shí)直接讀取保存的計(jì)算結(jié)果,從而減少了實(shí)際的計(jì)算過(guò)程,縮短了計(jì)算時(shí)間;在實(shí)際應(yīng)用時(shí),讀取保存數(shù)據(jù)的時(shí)間遠(yuǎn)遠(yuǎn)小于一次計(jì)算的時(shí)間,因此每次讀取重復(fù)計(jì)算過(guò)程中的保存的計(jì)算結(jié)果值時(shí),在效率方面相對(duì)省略了一次運(yùn)算的時(shí)間,在生成密文的方法運(yùn)算過(guò)程中,存在多次的重復(fù)運(yùn)算過(guò)程,因此可以避免多次重復(fù)計(jì)算,從而提高了計(jì)算效率。


圖1為本發(fā)明實(shí)施例方法的流程圖;圖2為本發(fā)明采用SHA-I算法生成密文的方法流程圖;圖3為本發(fā)明實(shí)施例裝置的結(jié)構(gòu)示意圖。
具體實(shí)施例方式本發(fā)明實(shí)施例提供了一種密鑰的生成方法及裝置,該方法可以避免重復(fù)計(jì)算,提高了計(jì)算效率。下面結(jié)合說(shuō)明書(shū)附圖及具體實(shí)施例對(duì)本發(fā)明作進(jìn)一步詳細(xì)描述。如圖1所示,為本發(fā)明的實(shí)施例方法的流程圖,包括SlOl 確定將待加密的數(shù)據(jù)生成密文所需要的算法及其參數(shù),并確定在生成密文的過(guò)程中,根據(jù)所述參數(shù)通過(guò)所述算法計(jì)算生成密文所需要的次數(shù),當(dāng)該次數(shù)大于等于2 時(shí),執(zhí)行S102。S102 保存當(dāng)前根據(jù)所述第N參數(shù)通過(guò)所述第N算法進(jìn)行第N次計(jì)算生成的第N 計(jì)算結(jié)果值;S103 在第N+1參數(shù)通過(guò)所述算法進(jìn)行第N+1次計(jì)算包括根據(jù)所述第N參數(shù)通過(guò)所述算法計(jì)算過(guò)程時(shí),讀取第N計(jì)算結(jié)果值代替所述計(jì)算過(guò)程進(jìn)行第N+1次計(jì)算,并保存計(jì)算所得的第N+1計(jì)算結(jié)果值。其中,SlOl S103步驟實(shí)現(xiàn)可以為將密文的生成過(guò)程解析成進(jìn)行N次密鑰計(jì)算的過(guò)程,包括計(jì)算需要設(shè)定的算法和參數(shù),例如所述密文的生成過(guò)程包括采用至少兩次所述指定算法進(jìn)行嵌套計(jì)算,且在每一次采用所述指定算法進(jìn)行計(jì)算時(shí),將至少一個(gè)設(shè)定參數(shù)的計(jì)算結(jié)果值作為初始值;設(shè)定參數(shù)的計(jì)算結(jié)果值是通過(guò)指定算法對(duì)所述設(shè)定參數(shù)進(jìn)行計(jì)算后得到的。具體地,例如,解析出生成過(guò)程包括2次以上第1次設(shè)定參數(shù)的計(jì)算,那可以預(yù)先將第1次設(shè)定參數(shù)的計(jì)算結(jié)果值存儲(chǔ)到寄存器中;將根據(jù)生成過(guò)程解析出的需要讀取的設(shè)定參數(shù)的計(jì)算結(jié)果進(jìn)行保存,保存在存儲(chǔ)器中,根據(jù)后續(xù)計(jì)算過(guò)程中的需要,在計(jì)算包含有同一設(shè)定參數(shù)的重復(fù)的計(jì)算步驟時(shí),直接讀取使用對(duì)應(yīng)的設(shè)定參數(shù)的計(jì)算結(jié)果,不在重復(fù)計(jì)算過(guò)程,直接利用計(jì)算結(jié)果,節(jié)省計(jì)算時(shí)間。對(duì)于任意滿足指定算法特點(diǎn)至少包含有兩次以上通過(guò)該指定算法進(jìn)行嵌套計(jì)算過(guò)程,且對(duì)同一個(gè)或多個(gè)設(shè)定參數(shù)利用該算法進(jìn)行計(jì)算后的結(jié)果值需要重復(fù)利用;由于在兩次或以上嵌套計(jì)算過(guò)程中會(huì)采用重復(fù)的計(jì)算方式,因此將采用同一計(jì)算方式的計(jì)算步驟中包含有同一個(gè)設(shè)定參數(shù)的計(jì)算結(jié)果保存起來(lái),在后續(xù)有重復(fù)計(jì)算步驟時(shí),直接讀取該設(shè)定參數(shù)的計(jì)算結(jié)果,避免重復(fù)的計(jì)算過(guò)程,從而節(jié)省計(jì)算時(shí)間,提高效率。當(dāng)所述設(shè)定參數(shù)為兩個(gè)或以上時(shí),預(yù)先將每個(gè)設(shè)定參數(shù)的對(duì)應(yīng)計(jì)算結(jié)果值存儲(chǔ)到同一個(gè)存儲(chǔ)器中,或者分別存儲(chǔ)到不同的存儲(chǔ)器中。具體的,當(dāng)N = 0時(shí),即在還未開(kāi)始計(jì)算時(shí),在寄存器中預(yù)存有根據(jù)特定初始值通過(guò)通過(guò)所述算法進(jìn)行計(jì)算生成的初始結(jié)果值,那么在第1次計(jì)算包括根據(jù)所述參數(shù)通過(guò)所述算法進(jìn)行計(jì)算時(shí),就可以讀取所述預(yù)存的初始結(jié)果值進(jìn)行計(jì)算作為第1結(jié)果值,或者,當(dāng)?shù)?次計(jì)算為根據(jù)所述參數(shù)通過(guò)所述算法進(jìn)行計(jì)算時(shí),讀取所述特定的初始結(jié)果值作為第1計(jì)算結(jié)果值。具體的,本發(fā)明的生成方法以SHA-I消息摘要算法為例包含有至少兩次采用指定算法為SHA-I消息摘要算法進(jìn)行嵌套計(jì)算,在SHA-I消息摘要算法中設(shè)定參數(shù)為兩個(gè),具體為第一設(shè)定參數(shù)^1,滿足^1 = ^11 ^異或1即3(1,其對(duì)應(yīng)的計(jì)算結(jié)果值為5撤-1(^1);以及,第二設(shè)定參數(shù)out,滿足out = inkey異或outpad,其對(duì)應(yīng)的計(jì)算結(jié)果值為SHA-I (out); 其中inkey為初始輸入密鑰;inpad為64字節(jié),且inpad = 0x36. . . 0x36 ;outpad為64字節(jié),且 outpad = 0x5C. . . 0x5Co下面結(jié)合具體的SHA-I消息摘要算法對(duì)本發(fā)明方法進(jìn)行詳細(xì)說(shuō)明在中國(guó)移動(dòng)手機(jī)電視UAM業(yè)務(wù)密鑰計(jì)算過(guò)程中必須生成三個(gè)密鑰 Authentication Key, Encrypt Key, Salt Key。采用的摘要算法為 SHA-1 算法。針對(duì) SHA-1 算法的特點(diǎn)為其計(jì)算過(guò)程中包含有兩次或以上嵌套計(jì)算,即,有重復(fù)的計(jì)算過(guò)程,在生成 Authentication Key,Encrypt Key, Salt Key三個(gè)密鑰時(shí),采用的初始輸入密鑰inkey是相同的,計(jì)算算法是相同的,只是計(jì)算三個(gè)密鑰輸入的數(shù)據(jù)label不相同。根據(jù)SHA-I算法的計(jì)算過(guò)程具有的特點(diǎn),在分別計(jì)算三個(gè)密鑰時(shí),可以把含有相同設(shè)定參數(shù)的計(jì)算結(jié)果保存起來(lái),在后續(xù)計(jì)算過(guò)程中,如果需要計(jì)算的過(guò)程中已經(jīng)保存包含相同設(shè)定參數(shù)的計(jì)算結(jié)果, 則直接讀取該對(duì)應(yīng)參數(shù)的計(jì)算結(jié)果,不需要重復(fù)計(jì)算。通過(guò)這樣優(yōu)化,可以省去4次SHA-I 的計(jì)算過(guò)程,能有效提供卡片的執(zhí)行速度,具體過(guò)程如下其中,第一設(shè)定參數(shù)in = inkey XOR inpad, inpad = 0x36. · · 0x36 (64 字節(jié)長(zhǎng)), 第二設(shè)定參數(shù) out = inkey XOR outpad, outpad = 0x5C. . . 0x5C(64 字節(jié)長(zhǎng)),。HMAC(inkey, label) = H(out, H(in, label)。這里,H是特定的摘要算法,以SHA-I為例。由 H(in, label) = > SHA-I (in | | label) , H(out, label ‘)= > SHA-I(out I Ilabel')。得到HMAC (inkey, label) = > SHA-I (out | | (SHA-1 (in | | label))。在對(duì)Mikey消息進(jìn)行處理時(shí),需要計(jì)算3個(gè)密鑰Encryption Key, Authentication Key, Salt Key,其中Encryption Key = SHA-1 (out | | SHA-1 (in | | SHA-1 (out | | SHA-1 (in | | Iabe 11))));Authentication Key = SHA-1(out||SHA-1(in||SHA-1(out||SHA-1(in||Iabe 12))));Salt Key = SHA-1(out||SHA-1(in||SHA-1(out||SHA-1(in||label3))));從上述計(jì)算公式中看出其具有的特點(diǎn)采用至少兩次所SHA-I算法進(jìn)行嵌套計(jì)算,且在每一次采用該算法進(jìn)行計(jì)算時(shí),將其中一個(gè)設(shè)定參數(shù)的計(jì)算結(jié)果值作為初始值;也就是說(shuō)該算法的計(jì)算過(guò)程中含有2次或以上重復(fù)的計(jì)算步驟,可以采用本發(fā)明的方法,將相同設(shè)定參數(shù)的計(jì)算結(jié)果進(jìn)行保存,并在后續(xù)出現(xiàn)重復(fù)的計(jì)算時(shí)直接讀取相應(yīng)的計(jì)算結(jié)果,避免重復(fù)的計(jì)算,節(jié)省時(shí)間。具體的,在計(jì)算上述三個(gè)密鑰時(shí),包含兩個(gè)設(shè)定參數(shù),第一設(shè)定參數(shù)in以及第二設(shè)定參數(shù)out ;其中,第一設(shè)定參數(shù)in滿足in = inkey異或inpad,其對(duì)應(yīng)的計(jì)算結(jié)果值為 SHA-I (in)設(shè)為resultl ;第二設(shè)定參數(shù)out滿足out = inkey異或outpad,對(duì)應(yīng)的計(jì)算結(jié)果值 SHA-I (out)設(shè)為 result2。則在計(jì)算 Encryption Key 時(shí),把 resultl 和 result2 這兩個(gè)設(shè)定參數(shù)對(duì)應(yīng)的計(jì)算結(jié)果保存起來(lái),在計(jì)算Encryption Key, Authentication Key和 Salt Key時(shí),直接讀取保存的resultl和reSUlt2的計(jì)算結(jié)果,直接進(jìn)行后續(xù)重復(fù)的計(jì)算。具體的,根據(jù)該算法的生成方法可知Encryption Key = SHA-1 (out | | SHA-1 (in | | SHA-1 (out | | SHA-1 (in | | Iabe 11))));Authentication Key = SHA-I (out| |SHA-I (in| |SHA-I(out| |SHA-I(in| |Iabe 12))));Salt Key = SHA-I(out||SHA-I(in||SHA-I(out||SHA-I(in||label3))));其中,label_l為計(jì)算Encryption Key的輸入數(shù)據(jù),label_2為計(jì)算 Authentication Key的輸入數(shù)據(jù),label_3為計(jì)算Mlt Key的輸入數(shù)據(jù),下面為每個(gè)密鑰生成時(shí)對(duì)應(yīng)的各步驟步驟21 :resultl = SHA-I (in);步驟22 :result2 = SHA-I (out);步驟23 :result3 = SHA-I (in | | label_l);步驟24 :result4 = SHA-I (out | | result3);步驟25 :result5 = SHA-I (in | | result4);步驟 26 =Encryption Key = SHA-I (out | result5);步驟27 :result6 = SHA-I (in | | label_2);步驟28 :result7 = SHA-I (out | | result6);步驟29 :result8 = SHA-I (in | | result7);步驟 210 Authentication Key = SHA-1 (out | |result8);步驟211 :result9 = SHA-I (in label_3);步驟212 :resultl0 = SHA-I (out result9);步驟213 :resultll = SHA-I (in resultlO);步驟 214 Authentication Key = SHA-1 (out | | resultl 1)。在上述步驟中,在重復(fù)計(jì)算步驟23、25、27、29、211、213中直接讀取含有相同第一設(shè)定參數(shù)in的計(jì)算結(jié)果值,以及重復(fù)計(jì)算步驟對(duì)、26、觀、210、212、214中直接讀取含有相同第二設(shè)定參數(shù)out的計(jì)算結(jié)果值,省略了大量的計(jì)算時(shí)間,提高了效率。具體實(shí)現(xiàn)方法,如圖2所示,包括以下步驟S201 輸入計(jì)算數(shù)據(jù)label到寄存器;S202 計(jì)算第一設(shè)定參數(shù)in的SHA-I計(jì)算結(jié)果值resultl,并保存到存儲(chǔ)器中;S203 計(jì)算第二設(shè)定參數(shù)out的SHA-I計(jì)算結(jié)果值result2,并保存到存儲(chǔ)器中;將設(shè)定參數(shù)的計(jì)算結(jié)果保存到存儲(chǔ)器中,待后續(xù)計(jì)算中存在含有相同參數(shù)計(jì)算步驟時(shí),直接讀取對(duì)應(yīng)的計(jì)算結(jié)果。S204 讀取第一設(shè)定參數(shù)的計(jì)算結(jié)果值resultl,保存到寄存器,計(jì)算label_l的 SHA-I值reSult3,并保存到存儲(chǔ)器中;在每次計(jì)算過(guò)程中,先從存儲(chǔ)器中將相同參數(shù)的計(jì)算結(jié)果讀取,保存到運(yùn)算器中的寄存器中緩存,準(zhǔn)備計(jì)算時(shí)使用,然后將本次計(jì)算的結(jié)果在保存到存儲(chǔ)器中。S205 讀取第二設(shè)定參數(shù)的計(jì)算結(jié)果值result2,保存到寄存器,計(jì)算result3的 SHA-I值,得到result4,并保存在存儲(chǔ)器中;S206 讀取第一設(shè)定參數(shù)的計(jì)算結(jié)果值resultl,保存到寄存器,計(jì)算result4的 SHA-I值,得到result5,并保存到存儲(chǔ)器中;S207 讀取第二設(shè)定參數(shù)的計(jì)算結(jié)果值result2,保存到寄存器,計(jì)算result5的 SHA-I 值,得到 Encryption Key ;S208 讀取第一設(shè)定參數(shù)的計(jì)算結(jié)果值resultl,保存到寄存器,計(jì)算label_2的 SHA-I值result6,并保存到存儲(chǔ)器中;S209 讀取第二設(shè)定參數(shù)的計(jì)算結(jié)果值result2,保存到寄存器,計(jì)算result3的 SHA-I值,得到result7,并保存在存儲(chǔ)器中;S210 讀取第一設(shè)定參數(shù)的計(jì)算結(jié)果值resultl,保存到寄存器,計(jì)算result4的 SHA-I值results,并保存到存儲(chǔ)器中;S211 讀取第二設(shè)定參數(shù)的計(jì)算結(jié)果值result2,保存到寄存器,計(jì)算results的 SHA-I 值,得到 Authentication Key ;S212 讀取第一設(shè)定參數(shù)的計(jì)算結(jié)果值resultl,保存到寄存器,計(jì)算label_3的 SHA-I值result9,并保存到存儲(chǔ)器中;S213 讀取第二設(shè)定參數(shù)的計(jì)算結(jié)果值result2,保存到寄存器,計(jì)算result9的 SHA-I值,得到resultlO,并保存在存儲(chǔ)器中;S214 讀取第一設(shè)定參數(shù)的計(jì)算結(jié)果值resultl,保存到寄存器,計(jì)算resultlO的 SHA-I值resultl 1,并保存到存儲(chǔ)器中;S215 讀取第二設(shè)定參數(shù)的計(jì)算結(jié)果值result2,保存到寄存器,計(jì)算resultll的 SHA-I 值,得至Ij Authentication Key。與上述方法相對(duì)應(yīng)采用的裝置如圖3所示,為本發(fā)明實(shí)施例裝置的結(jié)構(gòu)示意圖, 包括確定單元31,用于確定將待加密的數(shù)據(jù)生成密文所需要的算法及其參數(shù),并確定在生成密文的過(guò)程中,根據(jù)所述參數(shù)通過(guò)所述算法計(jì)算生成密文所需要的次數(shù)。存儲(chǔ)單元32,用于在所述次數(shù)大于等于2時(shí),保存當(dāng)前根據(jù)所述第N參數(shù)通過(guò)所述第N算法進(jìn)行第N次計(jì)算生成的第N計(jì)算結(jié)果值;計(jì)算單元33,用于在第N+1參數(shù)通過(guò)所述算法進(jìn)行第N+1次計(jì)算包括根據(jù)所述第 N參數(shù)通過(guò)所述算法計(jì)算過(guò)程時(shí),讀取第N計(jì)算結(jié)果值代替所述計(jì)算過(guò)程進(jìn)行第N+1次計(jì)算,此時(shí),所述存儲(chǔ)單元還用于,保存計(jì)算所得的第N+1計(jì)算結(jié)果值。確定單元31通過(guò)對(duì)指定算法的生成方法的解析,確定出利用相同的算法對(duì)同一設(shè)定參數(shù)進(jìn)行重復(fù)計(jì)算的次數(shù),參數(shù)以及算法,存儲(chǔ)單元32將對(duì)應(yīng)該設(shè)定參數(shù)的計(jì)算結(jié)果保存起來(lái),存儲(chǔ)到寄存器或存儲(chǔ)器中對(duì)應(yīng)的位置,以備后續(xù)計(jì)算過(guò)程中遇到的相同設(shè)定參數(shù)在該算法下的計(jì)算過(guò)程,計(jì)算單元33直接讀取該設(shè)定參數(shù)的計(jì)算結(jié)果,不用實(shí)際計(jì)算, 而直接是利用結(jié)果,可以省略大量的計(jì)算時(shí)間,從而提高效率。具體的,以SHA-I消息摘要算法特點(diǎn)進(jìn)行說(shuō)明,利用該算法要生成三個(gè)密鑰,對(duì)應(yīng)的生成規(guī)則為 Encryption Key = SHA-I (out | | SHA-I (in | | SHA-I (out | | SHA-I (in | 11 abell)))) ;Authentication Key = SHA-I (out| |SHA-I(in| |SHA-I(out| |SHA-I(in| |Ia bel2)))) ;Salt Key = SHA-I(out SHA-I(in SHA-I(out SHA-I(in label3))));從中可以看出,包括第一設(shè)定參數(shù)in,滿足in = inkey異或inpad,其對(duì)應(yīng)的計(jì)算結(jié)果為 SHA-I (in);以及,第二設(shè)定參數(shù)out,滿足out = inkey異或outpad,其對(duì)應(yīng)的計(jì)算結(jié)果為 SHA-I (out);其中 inkey 為初始輸入密鑰;inpad 為 64 字節(jié),且 inpad = 0x36. · · 0x36 ; outpad為64字節(jié),且outpad = 0x5C. . . 0x5C ;并且還包括至少兩次的嵌套計(jì)算,那么將第一設(shè)定參數(shù)in的計(jì)算結(jié)果SHA-I (in),以及第二設(shè)定參數(shù)out的計(jì)算結(jié)果為SHA-I (out)保存起來(lái),以備后續(xù)重復(fù)的計(jì)算過(guò)程中直接讀取對(duì)應(yīng)設(shè)定參數(shù)的計(jì)算結(jié)果;解析確定單元,就是通過(guò)對(duì)指定算法的生成規(guī)則的解析,確定出通過(guò)指定算法計(jì)算這些設(shè)定參數(shù)得到的計(jì)算結(jié)果值;以備后續(xù)計(jì)算過(guò)程中含有相同的設(shè)定參數(shù)在相同算法下的計(jì)算結(jié)果值,直接讀取對(duì)應(yīng)參數(shù)的計(jì)算結(jié)果值。進(jìn)一步,還包括存儲(chǔ)單元32,用于預(yù)先將所述設(shè)定參數(shù)的計(jì)算結(jié)果值存儲(chǔ)到存儲(chǔ)器中;當(dāng)所述設(shè)定參數(shù)為兩個(gè)或以上時(shí),存儲(chǔ)單元32,還用于預(yù)先將每個(gè)設(shè)定參數(shù)的對(duì)應(yīng)計(jì)算結(jié)果值存儲(chǔ)到同一個(gè)存儲(chǔ)器或寄存器中,或者分別存儲(chǔ)到不同的存儲(chǔ)器或寄存器中。具體的,將按照制定算法進(jìn)行計(jì)算時(shí),讀取存儲(chǔ)在存儲(chǔ)器中的對(duì)應(yīng)設(shè)定參數(shù)的結(jié)算結(jié)果,并將對(duì)應(yīng)需要的計(jì)算結(jié)果緩存在寄存器中,以便計(jì)算時(shí)直接使用對(duì)應(yīng)的計(jì)算結(jié)果,不再重復(fù)計(jì)算。例如以采用的摘要算法為SHA-I算法為例,含有兩個(gè)設(shè)定參數(shù),第一設(shè)定參數(shù) in,第二設(shè)定參數(shù)out,分別對(duì)每個(gè)設(shè)定參數(shù)的計(jì)算結(jié)果進(jìn)行保存。本發(fā)明實(shí)施例還提供一種智能卡,該智能卡包括前述圖3所示的裝置。智能卡通過(guò)上述裝置減少重復(fù)計(jì)算,加快運(yùn)算速度。本發(fā)明采用將某些重復(fù)計(jì)算的結(jié)果保存起來(lái),后續(xù)重復(fù)計(jì)算時(shí)直接讀取上次運(yùn)算結(jié)果的方式,減少了實(shí)際的計(jì)算過(guò)程。在實(shí)際實(shí)現(xiàn)時(shí),UAM模塊讀取內(nèi)存的時(shí)間遠(yuǎn)遠(yuǎn)小于一次計(jì)算的時(shí)間。每次讀取上次運(yùn)算的結(jié)果,在效率方面相對(duì)于省略了一次運(yùn)算的時(shí)間。在 PRF算法的運(yùn)算過(guò)程中,會(huì)有多次的重復(fù)運(yùn)算過(guò)程,本發(fā)明省略這些重復(fù)的計(jì)算過(guò)程,整個(gè)效率累計(jì)起來(lái),大大提高了原來(lái)標(biāo)準(zhǔn)算法的效率。盡管已描述了本發(fā)明的優(yōu)選實(shí)施例,但本領(lǐng)域內(nèi)的技術(shù)人員一旦得知了基本創(chuàng)造性概念,則可對(duì)這些實(shí)施例作出另外的變更和修改。所以,所附權(quán)利要求意欲解釋為包括優(yōu)選實(shí)施例以及落入本發(fā)明范圍的所有變更和修改。顯然,本領(lǐng)域的技術(shù)人員可以對(duì)本發(fā)明進(jìn)行各種改動(dòng)和變型而不脫離本發(fā)明的精神和范圍。這樣,倘若本發(fā)明的這些修改和變型屬于本發(fā)明權(quán)利要求及其等同技術(shù)的范圍之內(nèi),則本發(fā)明也意圖包含這些改動(dòng)和變型在內(nèi)。
權(quán)利要求
1.一種生成密文的方法,其特征在于,包括確定將待加密的數(shù)據(jù)生成密文所需要的算法及其參數(shù),并確定在生成密文的過(guò)程中, 根據(jù)所述參數(shù)通過(guò)所述算法計(jì)算生成密文所需要的次數(shù)大于等于2時(shí),保存當(dāng)前根據(jù)所述第N參數(shù)通過(guò)所述算法進(jìn)行第N次計(jì)算生成的第N計(jì)算結(jié)果值;在第N+1參數(shù)通過(guò)所述算法進(jìn)行第N+1次計(jì)算包括根據(jù)所述第N參數(shù)通過(guò)所述算法計(jì)算過(guò)程時(shí),讀取第N計(jì)算結(jié)果值代替所述計(jì)算過(guò)程進(jìn)行第N+1次計(jì)算,并保存計(jì)算所得的第 N+1計(jì)算結(jié)果值。
2.如權(quán)利要求1所述的生成密文的方法,其特征在于當(dāng)N = 0時(shí),在寄存器中預(yù)存有根據(jù)特定初始值通過(guò)通過(guò)所述算法進(jìn)行計(jì)算生成的初始結(jié)果值,在第1次計(jì)算包括根據(jù)所述參數(shù)通過(guò)所述算法進(jìn)行計(jì)算時(shí),讀取所述預(yù)存的初始結(jié)果值進(jìn)行計(jì)算作為第1結(jié)果值,或者,當(dāng)?shù)?次計(jì)算為根據(jù)所述參數(shù)通過(guò)所述算法進(jìn)行計(jì)算時(shí),讀取所述初始結(jié)果值作為第 1計(jì)算結(jié)果值。
3.如權(quán)利要求1所述的生成密文的方法,其特征在于,當(dāng)所述參數(shù)為兩個(gè)或以上時(shí),將每個(gè)參數(shù)的對(duì)應(yīng)計(jì)算結(jié)果值存儲(chǔ)到同一個(gè)存儲(chǔ)器中,或者分別存儲(chǔ)到不同的存儲(chǔ)器中。
4.如權(quán)利要求1 3任一所述的生成密文的方法,其特征在于,所述需要的算法為 SHA-I消息摘要算法。
5.一種生成密文的裝置,其特征在于,包括確定單元,用于確定將待加密的數(shù)據(jù)生成密文所需要的算法及其參數(shù),并確定在生成密文的過(guò)程中,根據(jù)所述參數(shù)通過(guò)所述算法計(jì)算生成密文所需要的次數(shù)。存儲(chǔ)單元,用于在所述次數(shù)大于等于2時(shí),保存當(dāng)前根據(jù)所述第N參數(shù)通過(guò)所述第N算法進(jìn)行第N次計(jì)算生成的第N計(jì)算結(jié)果值;計(jì)算單元,在第N+1參數(shù)通過(guò)所述算法進(jìn)行第N+1次計(jì)算包括根據(jù)所述第N參數(shù)通過(guò)所述算法計(jì)算過(guò)程時(shí),讀取第N計(jì)算結(jié)果值代替所述計(jì)算過(guò)程進(jìn)行第N+1次計(jì)算,此時(shí),所述存儲(chǔ)單元還用于,保存計(jì)算所得的第N+1計(jì)算結(jié)果值。
6.如權(quán)利要求5所述的生成密文的裝置,其特征在于,所述裝置還用于當(dāng)N = 0時(shí),在寄存器中預(yù)存有根據(jù)特定初始值通過(guò)通過(guò)所述算法進(jìn)行計(jì)算生成的初始結(jié)果值,在第1次計(jì)算包括根據(jù)所述參數(shù)通過(guò)所述算法進(jìn)行計(jì)算時(shí),讀取所述預(yù)存的初始結(jié)果值進(jìn)行計(jì)算作為第1結(jié)果值,或者,當(dāng)?shù)?次計(jì)算為根據(jù)所述參數(shù)通過(guò)所述算法進(jìn)行計(jì)算時(shí),讀取所述初始結(jié)果值作為第 1計(jì)算結(jié)果值。
7.如權(quán)利要求5所述的生成密文的裝置,其特征在于,所述存儲(chǔ)單元還用于當(dāng)所述參數(shù)為兩個(gè)或以上時(shí),將每個(gè)參數(shù)的對(duì)應(yīng)計(jì)算結(jié)果值存儲(chǔ)到同一個(gè)存儲(chǔ)器中,或者分別存儲(chǔ)到不同的存儲(chǔ)器中。
8.如權(quán)利要求5 7任一所述的生成密文的裝置,其特征在于,所述需要的算法為 SHA-I消息摘要算法。
9.一種智能卡,其特征在于,包括如權(quán)利要求5 8任一所述的裝置。
全文摘要
本發(fā)明涉及一種密鑰的生成方法和裝置,該方法包括確定將待加密的數(shù)據(jù)生成密文所需要的算法及其參數(shù),并確定在生成密文的過(guò)程中,根據(jù)所述參數(shù)通過(guò)所述算法計(jì)算生成密文所需要的次數(shù)大于等于2時(shí),保存當(dāng)前根據(jù)所述第N參數(shù)通過(guò)所述算法進(jìn)行第N次計(jì)算生成的第N計(jì)算結(jié)果值;在第N+1參數(shù)通過(guò)所述算法進(jìn)行第N+1次計(jì)算包括根據(jù)所述第N參數(shù)通過(guò)所述算法計(jì)算過(guò)程時(shí),讀取第N計(jì)算結(jié)果值代替所述計(jì)算過(guò)程進(jìn)行第N+1次計(jì)算,并保存計(jì)算所得的第N+1計(jì)算結(jié)果值,這樣對(duì)其中設(shè)定參數(shù)的計(jì)算結(jié)果值需要重復(fù)利用的特點(diǎn),先將設(shè)定參數(shù)的計(jì)算結(jié)果值保存起來(lái),后續(xù)重復(fù)利用時(shí)直接讀取保存的計(jì)算結(jié)果的方式,減少了實(shí)際的計(jì)算過(guò)程,縮短了計(jì)算時(shí)間。
文檔編號(hào)H04L9/32GK102546178SQ201110455450
公開(kāi)日2012年7月4日 申請(qǐng)日期2011年12月29日 優(yōu)先權(quán)日2011年12月29日
發(fā)明者張愛(ài)明 申請(qǐng)人:北京握奇數(shù)據(jù)系統(tǒng)有限公司
網(wǎng)友詢問(wèn)留言 已有0條留言
  • 還沒(méi)有人留言評(píng)論。精彩留言會(huì)獲得點(diǎn)贊!
1