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

基于同態(tài)加密算法保護(hù)程序代碼安全的方法和裝置與流程

文檔序號(hào):11410632閱讀:379來源:國(guó)知局
基于同態(tài)加密算法保護(hù)程序代碼安全的方法和裝置與流程

本公開一般涉及計(jì)算機(jī)技術(shù)領(lǐng)域,具體涉及網(wǎng)絡(luò)信息安全領(lǐng)域,尤其涉及一種基于同態(tài)加密算法保護(hù)程序代碼安全的方法和裝置。



背景技術(shù):

在大型程序代碼的編寫過程中,往往不是完全由某個(gè)程序員或某個(gè)公司內(nèi)部的程序員單獨(dú)完成的。對(duì)于其中的某些部分,經(jīng)常需要外包給其它程序員或其它公司的程序員進(jìn)行某些處理,然后利用所述其它程序員或其它公司的程序員的處理結(jié)果,進(jìn)行后續(xù)編寫。然而,在所述其它程序員或其它公司的程序員的處理過程中,所述其它程序員或其它公司的程序員就會(huì)看到所述程序代碼,使程序代碼安全性受到損害。

因此,需要一種在需要將一些程序代碼外包到其它程序員或其它公司的程序員進(jìn)行某些處理時(shí)增加程序代碼安全性的方案。



技術(shù)實(shí)現(xiàn)要素:

鑒于現(xiàn)有技術(shù)中的上述缺陷或不足,期望提供一種能夠在需要將一些程序代碼外包到其它程序員或其它公司的程序員進(jìn)行某些處理時(shí)增加程序代碼安全性的技術(shù)。

第一方面,本申請(qǐng)實(shí)施例提供了一種基于同態(tài)加密算法保護(hù)程序代碼安全的方法,所述方法包括:按照分塊規(guī)則,將待處理程序代碼分成程序代碼塊;為每個(gè)程序代碼塊,分配同態(tài)加密算法產(chǎn)生的一對(duì)公鑰和私鑰;針對(duì)每個(gè)程序代碼塊,用為該程序代碼塊分配的公鑰加密;將加密后的各程序代碼塊組合成加密后程序代碼;將加密后程序代碼發(fā)往外部程序代碼處理方進(jìn)行程序代碼處理;從外部程序代碼處理方接收程序代碼處理結(jié)果;按照所述分塊規(guī)則,將所述程序代碼處理結(jié)果分成各程序代碼塊的處理結(jié)果塊;針對(duì)每個(gè)程序代碼塊的處理結(jié)果塊,用為該程序代碼塊分配的所述私鑰解密;將解密后的各程序代碼塊的處理結(jié)果塊組合成最終程序代碼。

第二方面,本申請(qǐng)實(shí)施例提供了一種基于同態(tài)加密算法保護(hù)程序代碼安全的裝置,所述裝置包括:程序代碼塊劃分單元,用于按照分塊規(guī)則,將待處理程序代碼分成程序代碼塊;公私鑰分配單元,用于為每個(gè)程序代碼塊,分配同態(tài)加密算法產(chǎn)生的一對(duì)公鑰和私鑰;加密單元,用于針對(duì)每個(gè)程序代碼塊,用為該程序代碼塊分配的公鑰加密;加密后程序代碼組合單元,用于將加密后的各程序代碼塊組合成加密后程序代碼;發(fā)送單元,用于將加密后程序代碼發(fā)往外部程序代碼處理方進(jìn)行程序代碼處理;接收單元,用于從外部程序代碼處理方接收程序代碼處理結(jié)果;處理結(jié)果塊劃分單元,用于按照所述分塊規(guī)則,將所述程序代碼處理結(jié)果分成各程序代碼塊的處理結(jié)果塊;解密單元,用于針對(duì)每個(gè)程序代碼塊的處理結(jié)果塊,用為該程序代碼塊分配的所述私鑰解密;最終程序代碼合成單元,用于將解密后的各程序代碼塊的處理結(jié)果塊組合成最終程序代碼。

第三方面,本申請(qǐng)實(shí)施例提供了一種設(shè)備,包括處理器、存儲(chǔ)器和顯示器;所述存儲(chǔ)器包含可由所述處理器執(zhí)行的指令以使得所述處理器執(zhí)行:按照分塊規(guī)則,將待處理程序代碼分成程序代碼塊;為每個(gè)程序代碼塊,分配同態(tài)加密算法產(chǎn)生的一對(duì)公鑰和私鑰;針對(duì)每個(gè)程序代碼塊,用為該程序代碼塊分配的公鑰加密;將加密后的各程序代碼塊組合成加密后程序代碼;將加密后程序代碼發(fā)往外部程序代碼處理方進(jìn)行程序代碼處理;從外部程序代碼處理方接收程序代碼處理結(jié)果;按照所述分塊規(guī)則,將所述程序代碼處理結(jié)果分成各程序代碼塊的處理結(jié)果塊;針對(duì)每個(gè)程序代碼塊的處理結(jié)果塊,用為該程序代碼塊分配的所述私鑰解密;將解密后的各程序代碼塊的處理結(jié)果塊組合成最終程序代碼。

第四方面,本申請(qǐng)實(shí)施例提供了一種機(jī)器可讀介質(zhì),包含計(jì)算機(jī)程序,所述計(jì)算機(jī)程序包括用于執(zhí)行以下的程序代碼:按照分塊規(guī)則,將待處理程序代碼分成程序代碼塊;為每個(gè)程序代碼塊,分配同態(tài)加密算法產(chǎn)生的一對(duì)公鑰和私鑰;針對(duì)每個(gè)程序代碼塊,用為該程序代碼塊分配的公鑰加密;將加密后的各程序代碼塊組合成加密后程序代碼;將加密后程序代碼發(fā)往外部程序代碼處理方進(jìn)行程序代碼處理;從外部程序代碼處理方接收程序代碼處理結(jié)果;按照所述分塊規(guī)則,將所述程序代碼處理結(jié)果分成各程序代碼塊的處理結(jié)果塊;針對(duì)每個(gè)程序代碼塊的處理結(jié)果塊,用為該程序代碼塊分配的所述私鑰解密;將解密后的各程序代碼塊的處理結(jié)果塊組合成最終程序代碼。

同態(tài)加密具有這樣的性質(zhì):對(duì)經(jīng)過同態(tài)加密的數(shù)據(jù)進(jìn)行處理得到一個(gè)輸出,將這一輸出進(jìn)行解密,其結(jié)果與用同一方法處理未加密的原始數(shù)據(jù)得到的輸出結(jié)果是一樣的。利用同態(tài)加密的這個(gè)性質(zhì),本發(fā)明實(shí)施例將程序代碼用同態(tài)加密算法產(chǎn)生的公鑰加密再發(fā)給其它程序員或其它公司的程序員進(jìn)行處理。這樣,其它程序員或其它公司的程序員就不會(huì)看到原始的程序代碼,但還仍然能夠進(jìn)行處理,增加了程序代碼的安全性。當(dāng)處理完后,將處理結(jié)果用同態(tài)加密算法產(chǎn)生的私鑰解密。由于同態(tài)加密的上述性質(zhì),這樣解密得到的結(jié)果與對(duì)原始程序代碼直接處理得到的結(jié)果是一樣的。為了進(jìn)一步增加程序代碼的安全性,本發(fā)明實(shí)施例還將程序代碼分成程序代碼塊,為每個(gè)程序代碼塊都分配一個(gè)相應(yīng)的公鑰私鑰對(duì),對(duì)每個(gè)程序代碼塊用公鑰加密,組合后發(fā)給其它程序員或其它公司的程序員進(jìn)行處理。這時(shí),其它程序員或其它公司的程序員不知道分塊規(guī)則,也不知道每個(gè)程序代碼塊對(duì)應(yīng)的私鑰,比起不分塊、單一用一個(gè)公鑰去加密的方案,進(jìn)一步增加了其它程序員或其它公司的程序員破解原程序代碼的難度,提高了程序代碼安全性。其它程序員或其它公司的程序員處理完后,將處理結(jié)果發(fā)回,然后再按照加密時(shí)的分塊規(guī)則將處理結(jié)果進(jìn)行分塊,并針對(duì)每個(gè)程序代碼塊的處理結(jié)果塊,用為該程序代碼塊分配的所述私鑰解密。這樣,仍然能夠完全還原原程序代碼,同時(shí)又提高了程序代碼的安全性。

附圖說明

通過閱讀參照以下附圖所作的對(duì)非限制性實(shí)施例所作的詳細(xì)描述,本申請(qǐng)的其它特征、目的和優(yōu)點(diǎn)將會(huì)變得更明顯:

圖1示出了同態(tài)加密的一個(gè)簡(jiǎn)單的原理圖;

圖2示出了根據(jù)本申請(qǐng)一個(gè)實(shí)施例的基于同態(tài)加密算法保護(hù)程序代碼安全的方法的示例性流程圖;

圖3示出了根據(jù)本申請(qǐng)一個(gè)實(shí)施例的基于同態(tài)加密算法保護(hù)程序代碼安全的裝置的示例性結(jié)構(gòu)框圖;

圖4示出了適于用來實(shí)現(xiàn)本申請(qǐng)實(shí)施例的計(jì)算機(jī)系統(tǒng)的結(jié)構(gòu)示意圖。

具體實(shí)施方式

下面結(jié)合附圖和實(shí)施例對(duì)本申請(qǐng)作進(jìn)一步的詳細(xì)說明??梢岳斫獾氖?,此處所描述的具體實(shí)施例僅僅用于解釋相關(guān)發(fā)明,而非對(duì)該發(fā)明的限定。另外還需要說明的是,為了便于描述,附圖中僅示出了與發(fā)明相關(guān)的部分。

需要說明的是,在不沖突的情況下,本申請(qǐng)中的實(shí)施例及實(shí)施例中的特征可以相互組合。下面將參考附圖并結(jié)合實(shí)施例來詳細(xì)說明本申請(qǐng)。

請(qǐng)參考圖1,其示出了同態(tài)加密的一個(gè)簡(jiǎn)單的原理圖。

如上所述,同態(tài)加密具有這樣的性質(zhì):對(duì)經(jīng)過同態(tài)加密的數(shù)據(jù)進(jìn)行處理得到一個(gè)輸出,將這一輸出進(jìn)行解密,其結(jié)果與用同一方法處理未加密的原始數(shù)據(jù)得到的輸出結(jié)果是一樣的。如圖1所述,假設(shè)原數(shù)據(jù)為x,要對(duì)它進(jìn)行處理的處理函數(shù)為f()。這樣,直接處理后的結(jié)果為f(x)。為了怕進(jìn)行處理的受托方直接接觸到數(shù)據(jù)x,可以將原數(shù)據(jù)x進(jìn)行同態(tài)加密,即用同態(tài)加密算法產(chǎn)生的公鑰加密,加密函數(shù)為e()。加密后數(shù)據(jù)為e(x)。這時(shí),將e(x)交給受托方處理,受托方?jīng)]有解密密鑰,因此看不到原數(shù)據(jù)x。受托方在e(x)上用處理函數(shù)f()處理,得到處理后的加密數(shù)據(jù)f(e(x))。將處理后的加密數(shù)據(jù)f(e(x))發(fā)回。這時(shí),用同態(tài)加密算法產(chǎn)生的私鑰解密,解密函數(shù)為d-1(),解密后得到d-1(f(e(x)))。同態(tài)加密算法固有的性質(zhì)使得此時(shí)d-1(f(e(x)))=f(x),即與對(duì)原數(shù)據(jù)直接進(jìn)行處理得到的結(jié)果是一樣的。

假設(shè)張三具有原數(shù)據(jù)01001100。張三希望由李四幫其進(jìn)行位取反操作,即位“1”變成位“0”,位“0”變成位“1”。位取反后的結(jié)果應(yīng)為10110011。如果張三將原數(shù)據(jù)直接發(fā)給李四,李四就會(huì)看到原數(shù)據(jù),造成信息泄露。因此,張三用同態(tài)加密算法產(chǎn)生的公鑰先加密原數(shù)據(jù)01001100。例如,加密之后變成00011001。張三將00011001發(fā)給李四。李四進(jìn)行位取反操作,得到11100110。李四將11100110發(fā)回給張三,張三用同態(tài)加密算法產(chǎn)生的私鑰進(jìn)行解密操作,將其變成10110011??梢钥闯?,它與對(duì)原數(shù)據(jù)01001100直接進(jìn)行位取反操作的結(jié)果是一樣的,同時(shí),避免了讓李四看到原數(shù)據(jù),增加了信息安全性。

如背景技術(shù)中提到的,在大型程序代碼的編寫過程中,往往不是完全由某個(gè)程序員或某個(gè)公司內(nèi)部的程序員單獨(dú)完成的。對(duì)于其中的某些部分,經(jīng)常需要外包給其它程序員或其它公司的程序員進(jìn)行某些處理,然后利用所述其它程序員或其它公司的程序員的處理結(jié)果,進(jìn)行后續(xù)編寫。然而,在所述其它程序員或其它公司的程序員的處理過程中,所述其它程序員或其它公司的程序員就會(huì)看到所述程序代碼,使程序代碼安全性受到損害。因此,需要一種在需要將一些程序代碼外包到其它程序員或其它公司的程序員進(jìn)行某些處理時(shí)增加程序代碼安全性的方案。

本發(fā)明實(shí)施例利用同態(tài)加密算法的性質(zhì),將程序代碼用同態(tài)加密算法產(chǎn)生的公鑰加密再發(fā)給其它程序員或其它公司的程序員進(jìn)行處理。這樣,其它程序員或其它公司的程序員就不會(huì)看到原始的程序代碼,但還仍然能夠進(jìn)行處理,增加了程序代碼的安全性。當(dāng)處理完后,將處理結(jié)果用同態(tài)加密算法產(chǎn)生的私鑰解密。由于同態(tài)加密的上述性質(zhì),這樣解密得到的結(jié)果與對(duì)原始程序代碼直接處理得到的結(jié)果是一樣的。為了進(jìn)一步增加程序代碼的安全性,本發(fā)明實(shí)施例還將程序代碼分成程序代碼塊,為每個(gè)程序代碼塊都分配一個(gè)相應(yīng)的公鑰私鑰對(duì),對(duì)每個(gè)程序代碼塊用公鑰加密,組合后發(fā)給其它程序員或其它公司的程序員進(jìn)行處理。這時(shí),其它程序員或其它公司的程序員不知道分塊規(guī)則,也不知道每個(gè)程序代碼塊對(duì)應(yīng)的私鑰,比起不分塊、單一用一個(gè)公鑰去加密的方案,進(jìn)一步增加了其它程序員或其它公司的程序員破解原程序代碼的難度,提高了程序代碼安全性。其它程序員或其它公司的程序員處理完后,將處理結(jié)果發(fā)回,然后再按照加密時(shí)的分塊規(guī)則將處理結(jié)果進(jìn)行分塊,并針對(duì)每個(gè)程序代碼塊的處理結(jié)果塊,用為該程序代碼塊分配的所述私鑰解密。這樣,仍然能夠完全還原原程序代碼,同時(shí)又提高了程序代碼的安全性。

參考圖2,其示出了根據(jù)本申請(qǐng)一個(gè)實(shí)施例的基于同態(tài)加密算法保護(hù)程序代碼安全的方法的示例性流程圖。

如圖2所示,在步驟210中,按照分塊規(guī)則,將待處理程序代碼分成程序代碼塊。

程序代碼是用于計(jì)算機(jī)執(zhí)行的程序的代碼,例如機(jī)器代碼。這里的“處理”是指在程序代碼的編寫過程中需要外包到其它程序員或其它公司的程序員的一些針對(duì)程序代碼(例如機(jī)器代碼)的操作。上面所述的位取反僅是比較簡(jiǎn)單的一個(gè)例子。待處理程序代碼指需要外包到其它程序員或其它公司的程序員進(jìn)行處理的那些程序代碼。

分塊規(guī)則是事先制定的、用于將待處理程序代碼分成程序代碼塊的規(guī)則。例如,將待處理程序代碼按位數(shù)等分成六塊是一個(gè)分塊規(guī)則。再例如,將待處理程序代碼按位數(shù)1:2:3:4:5:6是另一個(gè)分塊規(guī)則。在將待處理程序代碼按位數(shù)1:2:3:4:5:6的分塊規(guī)則下,如果待處理程序代碼為210m比特,210·1/(1+2+3+4+5+6)=10(m),則將待處理程序代碼從頭開始的10m比特劃分為第一個(gè)程序代碼塊。同理,將接下來的20m比特劃分為第二個(gè)程序代碼塊。將接下來的30m比特劃分為第三個(gè)程序代碼塊。將接下來的40m比特劃分為第四個(gè)程序代碼塊。將接下來的50m比特劃分為第五個(gè)程序代碼塊。將接下來的60m比特劃分為第六個(gè)程序代碼塊。

在一個(gè)實(shí)施例中,所述分塊規(guī)則是從預(yù)設(shè)的分塊規(guī)則庫(kù)中隨機(jī)選取的。分塊規(guī)則庫(kù)是將事先設(shè)置的各種分塊規(guī)則放入其中的庫(kù)。例如,分塊規(guī)則庫(kù)包括6個(gè)規(guī)則:

規(guī)則1:按位數(shù)等分成5個(gè)程序代碼塊;

規(guī)則2:按位數(shù)等分成6個(gè)程序代碼塊;

規(guī)則3:按位數(shù)1:2:1:2:1:2成6個(gè)程序代碼塊;

規(guī)則4:按位數(shù)1:2:1:3:1:4成6個(gè)程序代碼塊;

規(guī)則5:按位數(shù)1:3:1:3:1:3成6個(gè)程序代碼塊;

規(guī)則6:按位數(shù)1:2:3:4:5:6成6個(gè)程序代碼塊。

分塊規(guī)則從預(yù)設(shè)的分塊規(guī)則庫(kù)中隨機(jī)選取帶來的好處是:由于分塊規(guī)則不是固定不變的,而是每次需要將待處理程序代碼分成程序代碼塊時(shí)隨機(jī)選取的,因而是不確定的,增加了加密后程序代碼外包到其它程序員或其它公司的程序員被其它程序員或其它公司的程序員破解的難度,從而進(jìn)一步提高了程序代碼安全性。

在步驟220中,為每個(gè)程序代碼塊,分配同態(tài)加密算法產(chǎn)生的一對(duì)公鑰和私鑰。

同態(tài)加密算法包括密鑰生成算法、加密算法、解密算法等。密鑰生成算法是生成加密算法和解密算法中分別需要的公鑰和私鑰的算法。加密算法是用密鑰生成算法生成的公鑰對(duì)原數(shù)據(jù)進(jìn)行加密的算法。解密算法是用密鑰生成算法生成的私鑰對(duì)加密數(shù)據(jù)進(jìn)行解密的算法。同態(tài)加密算法產(chǎn)生的一對(duì)公鑰和私鑰實(shí)質(zhì)上是其中的密鑰生成算法產(chǎn)生的一對(duì)公鑰和私鑰。

在一個(gè)實(shí)施例中,分配同態(tài)加密算法產(chǎn)生的一對(duì)公鑰和私鑰包括:從公鑰私鑰對(duì)庫(kù)中隨機(jī)選取一對(duì)公鑰和私鑰,其中,所述公鑰私鑰對(duì)庫(kù)中的公鑰私鑰對(duì)是事先由同態(tài)加密算法產(chǎn)生的。

也就是說,事先由同態(tài)加密算法生成若干對(duì)公鑰和私鑰,放在公鑰私鑰對(duì)庫(kù)中。當(dāng)需要為程序代碼塊分配公鑰私鑰對(duì)時(shí),就從公鑰私鑰對(duì)庫(kù)隨機(jī)選取一對(duì)公鑰和私鑰。這種做法帶來的好處是:由于對(duì)于每個(gè)程序代碼塊選取的公鑰私鑰對(duì)不是固定不變的,而是在需要分配公鑰私鑰對(duì)時(shí)隨機(jī)從公鑰私鑰對(duì)庫(kù)中選取的,因而是不確定的,增加了加密后程序代碼外包到其它程序員或其它公司的程序員被其它程序員或其它公司的程序員破解的難度,從而進(jìn)一步提高了程序代碼安全性。

在一個(gè)實(shí)施例中,所述待處理程序代碼具有不參與所述加密、所述解密、所述外部程序代碼處理方的處理的程序代碼標(biāo)識(shí)。也就是說,在步驟210中,程序代碼標(biāo)識(shí)不分塊,除了程序代碼標(biāo)識(shí)的程序代碼主體部分才分塊,因而也不參與加密。在將加密后程序代碼發(fā)往外部程序代碼處理方進(jìn)行程序代碼處理時(shí),發(fā)往外部程序代碼處理方看到的是未加密的程序代碼標(biāo)識(shí),而程序代碼的其它部分都是加密的。外部程序代碼處理方也不處理程序代碼標(biāo)識(shí),只處理程序代碼的其它部分。從外部程序代碼處理方接收到程序代碼處理結(jié)果后,其中的程序代碼標(biāo)識(shí)是未處理過的,因而可以立刻識(shí)別。然后,根據(jù)識(shí)別出的程序代碼標(biāo)識(shí)查找到與該程序代碼標(biāo)識(shí)相對(duì)應(yīng)地存儲(chǔ)的分塊規(guī)則、以及為分出的每個(gè)程序代碼塊分配的私鑰對(duì),進(jìn)行解密。在解密時(shí)也僅是對(duì)程序代碼處理結(jié)果中除了程序代碼標(biāo)識(shí)的剩余部分進(jìn)行解密。

在該實(shí)施例中,在步驟220后,所述方法還包括:將待處理程序代碼的程序代碼標(biāo)識(shí)、與該待處理程序代碼相應(yīng)的分塊規(guī)則、以及為分出的每個(gè)程序代碼塊分配的公鑰和私鑰對(duì)相對(duì)應(yīng)地存儲(chǔ)。這樣做的好處是:在以后對(duì)從外部程序代碼處理方接收到的程序代碼處理結(jié)果進(jìn)行解密時(shí),能直接根據(jù)程序代碼標(biāo)識(shí)查找到與該待處理程序代碼相應(yīng)的分塊規(guī)則、以及為分出的每個(gè)程序代碼塊分配的私鑰對(duì)。

在步驟230中,針對(duì)每個(gè)程序代碼塊,用為該程序代碼塊分配的公鑰加密。

為該程序代碼塊分配的公鑰即步驟220中同態(tài)加密算法產(chǎn)生的公鑰私鑰對(duì)中的公鑰。

在步驟240中,將加密后的各程序代碼塊組合成加密后程序代碼。

在一個(gè)實(shí)施例中,按照將待處理程序代碼分成程序代碼塊的順序?qū)⒓用芎蟮母鞒绦虼a塊組合成加密后程序代碼。

例如,在將待處理程序代碼按位數(shù)1:2:3:4:5:6的分塊規(guī)則下,待處理程序代碼為210m比特,將待處理程序代碼從頭開始的10m比特劃分為第一個(gè)程序代碼塊。將接下來的20m、30m、40m、50m、60m比特劃分為第二-六個(gè)程序代碼塊。這樣,組合成加密后程序代碼時(shí),將加密后的10m比特的程序代碼塊放在最前面,然后是加密后的20m比特的程序代碼塊,然后是加密后的30m比特的程序代碼塊,然后是加密后的40m比特的程序代碼塊,然后是加密后的50m比特的程序代碼塊,然后是加密后的60m比特的程序代碼塊。

在步驟250中,將加密后程序代碼發(fā)往外部程序代碼處理方進(jìn)行程序代碼處理。

外部程序代碼處理方即程序代碼編寫過程中外包來進(jìn)行某些程序代碼的所要求的處理的人,如前面所述的其它程序員或其它公司的程序員。處理如前面的位取反。位取反僅是一個(gè)簡(jiǎn)單的例子。實(shí)際上的處理往往要復(fù)雜得多。

在步驟260中,從外部程序代碼處理方接收程序代碼處理結(jié)果。

程序代碼處理結(jié)果即外部程序代碼處理方處理后的程序代碼。

在一個(gè)實(shí)施例中,在步驟260之后,所述方法還包括:根據(jù)與接收的程序代碼處理結(jié)果相應(yīng)的待處理程序代碼的程序代碼標(biāo)識(shí),查找與該程序代碼標(biāo)識(shí)相對(duì)應(yīng)地存儲(chǔ)的分塊規(guī)則、以及為分出的每個(gè)程序代碼塊分配的私鑰對(duì)。

如前所述,程序代碼標(biāo)識(shí)不參與所述加密、所述解密、所述外部程序代碼處理方的處理。因此,從外部程序代碼處理方接收到程序代碼處理結(jié)果后,其中的程序代碼標(biāo)識(shí)是未處理過的,因而可以立刻識(shí)別出。由于如上所述,在加密環(huán)節(jié),已經(jīng)將待處理程序代碼的程序代碼標(biāo)識(shí)、與該待處理程序代碼相應(yīng)的分塊規(guī)則、以及為分出的每個(gè)程序代碼塊分配的公鑰和私鑰對(duì)相對(duì)應(yīng)地存儲(chǔ),因而可以根據(jù)這些程序代碼標(biāo)識(shí),查找到與該程序代碼標(biāo)識(shí)相對(duì)應(yīng)地存儲(chǔ)的分塊規(guī)則、以及為分出的每個(gè)程序代碼塊分配的私鑰對(duì)。

在步驟270中,按照所述分塊規(guī)則,將所述程序代碼處理結(jié)果分成各程序代碼塊的處理結(jié)果塊。

例如,查找到的分塊規(guī)則是按位數(shù)1:2:3:4:5:6成6個(gè)程序代碼塊,程序代碼處理結(jié)果去除程序代碼標(biāo)識(shí)后是210m比特,將這210m比特從頭開始的10m比特劃分為第一個(gè)處理結(jié)果塊,將接下來的20m比特劃分為第二個(gè)處理結(jié)果塊,將接下來的30m比特劃分為第三個(gè)處理結(jié)果塊,將接下來的40m比特劃分為第四個(gè)處理結(jié)果塊,將接下來的50m比特劃分為第五個(gè)處理結(jié)果塊,將接下來的60m比特劃分為第六個(gè)處理結(jié)果塊。

在步驟280中,針對(duì)每個(gè)程序代碼塊的處理結(jié)果塊,用為該程序代碼塊分配的所述私鑰解密。

在步驟290中,將解密后的各程序代碼塊的處理結(jié)果塊組合成最終程序代碼。

最終程序代碼即預(yù)期對(duì)待處理程序代碼進(jìn)行處理后應(yīng)得到的處理后程序代碼,即不用本發(fā)明實(shí)施例的加解密,直接處理也能得到的處理后程序代碼。

例如,在將待處理程序代碼按位數(shù)1:2:3:4:5:6的分塊規(guī)則下,程序代碼處理結(jié)果去除程序代碼標(biāo)識(shí)后是210m比特,將這210m比特從頭開始的10m比特劃分為第一個(gè)處理結(jié)果塊。將接下來的20m、30m、40m、50m、60m比特劃分為第二-六個(gè)處理結(jié)果塊。這樣,組合成最終程序代碼時(shí),將解密后的10m比特的處理結(jié)果塊放在最前面,然后分別是解密后的20m、30m、40m、50m、60m比特的處理結(jié)果塊,得到最終程序代碼。

在一個(gè)實(shí)施例中,步驟240包括:將加密后的各程序代碼塊組合后的預(yù)定位置處加入干擾位,成為加密后程序代碼。

例如,待處理程序代碼180m比特,等分成6個(gè)程序代碼塊,每個(gè)程序代碼塊30m比特。加密后,也是6個(gè)加密后的程序代碼塊,每個(gè)加密后的程序代碼塊30m比特。在每?jī)蓚€(gè)相鄰的加密后程序代碼塊之間加入10m干擾位,則一共加入5個(gè)10m的干擾位,共50m干擾位。所述預(yù)定位置是存儲(chǔ)在本地的,但外部無法獲知。在加入50m干擾位后,加密后程序代碼變?yōu)?30m比特。在本例中,加入干擾位的預(yù)定位置是:相鄰兩個(gè)加密后程序代碼塊之間的10m,即從第30m+1個(gè)比特到第40m個(gè)比特,從第70m+1個(gè)比特到第80m個(gè)比特,從第110m+1個(gè)比特到第120m個(gè)比特,從第150m+1個(gè)比特到第160m個(gè)比特,從第190m+1個(gè)比特到第200m個(gè)比特。

加入干擾位的內(nèi)容可以是隨機(jī)的,其內(nèi)容不會(huì)影響加解密和外部程序代碼處理方的程序代碼處理。

在一個(gè)實(shí)施例中,加入干擾位的所述預(yù)定位置也與待處理程序代碼的程序代碼標(biāo)識(shí)相對(duì)應(yīng)地存儲(chǔ),即待處理程序代碼的程序代碼標(biāo)識(shí)、與該待處理程序代碼相應(yīng)的分塊規(guī)則、分出的每個(gè)程序代碼塊分配的公鑰和私鑰對(duì)、以及加入干擾位的預(yù)定位置都一起被相對(duì)應(yīng)存儲(chǔ)。

在一個(gè)實(shí)施例中,步驟270包括:去除所述程序代碼處理結(jié)果的預(yù)定位置處的干擾位;按照所述分塊規(guī)則,將去除干擾位的所述程序代碼處理結(jié)果分成各程序代碼塊的處理結(jié)果塊。

在一個(gè)實(shí)施例中,去除所述程序代碼處理結(jié)果的預(yù)定位置處的干擾位包括:按照與所述程序代碼處理結(jié)果對(duì)應(yīng)的待處理程序代碼的程序代碼標(biāo)識(shí),查找存儲(chǔ)的與該程序代碼標(biāo)識(shí)相對(duì)應(yīng)的加入干擾位的所述預(yù)定位置;去除查找到的所述預(yù)定位置處的干擾位。

例如,查找到加入干擾位的預(yù)定位置是:相鄰兩個(gè)加密后程序代碼塊之間的10m,即從第30m+1個(gè)比特到第40m個(gè)比特,從第70m+1個(gè)比特到第80m個(gè)比特,從第110m+1個(gè)比特到第120m個(gè)比特,從第150m+1個(gè)比特到第160m個(gè)比特,從第190m+1個(gè)比特到第200m個(gè)比特。將程序代碼處理結(jié)果中第30m+1個(gè)比特到第40m個(gè)比特、第70m+1個(gè)比特到第80m個(gè)比特、第110m+1個(gè)比特到第120m個(gè)比特、第150m+1個(gè)比特到第160m個(gè)比特、第190m+1個(gè)比特到第200m個(gè)比特去除。

這種加入干擾位的方案的好處是:加入干擾位后的加密后程序代碼外包到其它程序員或其它公司的程序員后,其它程序員或其它公司的程序員不知道干擾位的具體位置,進(jìn)一步增加了其破解的難度,提高了程序代碼安全性。同時(shí),在解密前去掉這些干擾位,又能還原出正確的原程序代碼。

在一個(gè)實(shí)施例中,所述預(yù)定位置是從預(yù)先確定的位置集合中隨機(jī)選取的。

也就是說,預(yù)先將構(gòu)想出的各種可能的加入干擾位的位置放入位置集合中。在需要加干擾位時(shí),從集合中隨機(jī)選取一個(gè)位置。這種方式帶來的好處是:由于加入干擾位的位置不是固定不變的,而是每次需要加入干擾位時(shí)隨機(jī)選取的,因而是不確定的,增加了加密后程序代碼外包到其它程序員或其它公司的程序員后被其它程序員或其它公司的程序員破解的難度,從而進(jìn)一步提高了程序代碼安全性。

應(yīng)當(dāng)注意,盡管在附圖中以特定順序描述了本發(fā)明方法的操作,但是,這并非要求或者暗示必須按照該特定順序來執(zhí)行這些操作,或是必須執(zhí)行全部所示的操作才能實(shí)現(xiàn)期望的結(jié)果。相反,流程圖中描繪的步驟可以改變執(zhí)行順序。附加地或備選地,可以省略某些步驟,將多個(gè)步驟合并為一個(gè)步驟執(zhí)行,和/或?qū)⒁粋€(gè)步驟分解為多個(gè)步驟執(zhí)行。

進(jìn)一步參考圖3,其示出了根據(jù)本申請(qǐng)一個(gè)實(shí)施例的基于同態(tài)加密算法保護(hù)程序代碼安全的裝置300的示例性結(jié)構(gòu)框圖?;谕瑧B(tài)加密算法保護(hù)程序代碼安全的裝置300包括:程序代碼塊劃分單元310、公私鑰分配單元320、加密單元330、加密后程序代碼組合單元340、發(fā)送單元350、接收單元360、處理結(jié)果塊劃分單元370、解密單元380、最終程序代碼合成單元390。

程序代碼塊劃分單元310按照分塊規(guī)則,將待處理程序代碼分成程序代碼塊。

程序代碼是用于計(jì)算機(jī)執(zhí)行的程序的代碼,例如機(jī)器代碼。這里的“處理”是指在程序代碼的編寫過程中需要外包到其它程序員或其它公司的程序員的一些針對(duì)程序代碼(例如機(jī)器代碼)的操作。上面所述的位取反僅是比較簡(jiǎn)單的一個(gè)例子。待處理程序代碼指需要外包到其它程序員或其它公司的程序員進(jìn)行處理的那些程序代碼。

分塊規(guī)則是事先制定的、用于將待處理程序代碼分成程序代碼塊的規(guī)則。例如,將待處理程序代碼按位數(shù)等分成六塊是一個(gè)分塊規(guī)則。再例如,將待處理程序代碼按位數(shù)1:2:3:4:5:6是另一個(gè)分塊規(guī)則。在將待處理程序代碼按位數(shù)1:2:3:4:5:6的分塊規(guī)則下,如果待處理程序代碼為210m比特,210·1/(1+2+3+4+5+6)=10(m),則將待處理程序代碼從頭開始的10m比特劃分為第一個(gè)程序代碼塊。同理,將接下來的20m比特劃分為第二個(gè)程序代碼塊。將接下來的30m比特劃分為第三個(gè)程序代碼塊。將接下來的40m比特劃分為第四個(gè)程序代碼塊。將接下來的50m比特劃分為第五個(gè)程序代碼塊。將接下來的60m比特劃分為第六個(gè)程序代碼塊。

在一個(gè)實(shí)施例中,所述分塊規(guī)則是從預(yù)設(shè)的分塊規(guī)則庫(kù)中隨機(jī)選取的。分塊規(guī)則庫(kù)是將事先設(shè)置的各種分塊規(guī)則放入其中的庫(kù)。例如,分塊規(guī)則庫(kù)包括6個(gè)規(guī)則:

規(guī)則1:按位數(shù)等分成5個(gè)程序代碼塊;

規(guī)則2:按位數(shù)等分成6個(gè)程序代碼塊;

規(guī)則3:按位數(shù)1:2:1:2:1:2成6個(gè)程序代碼塊;

規(guī)則4:按位數(shù)1:2:1:3:1:4成6個(gè)程序代碼塊;

規(guī)則5:按位數(shù)1:3:1:3:1:3成6個(gè)程序代碼塊;

規(guī)則6:按位數(shù)1:2:3:4:5:6成6個(gè)程序代碼塊。

分塊規(guī)則從預(yù)設(shè)的分塊規(guī)則庫(kù)中隨機(jī)選取帶來的好處是:由于分塊規(guī)則不是固定不變的,而是每次需要將待處理程序代碼分成程序代碼塊時(shí)隨機(jī)選取的,因而是不確定的,增加了加密后程序代碼外包到其它程序員或其它公司的程序員被其它程序員或其它公司的程序員破解的難度,從而進(jìn)一步提高了程序代碼安全性。

公私鑰分配單元320為每個(gè)程序代碼塊,分配同態(tài)加密算法產(chǎn)生的一對(duì)公鑰和私鑰。

同態(tài)加密算法包括密鑰生成算法、加密算法、解密算法等。密鑰生成算法是生成加密算法和解密算法中分別需要的公鑰和私鑰的算法。加密算法是用密鑰生成算法生成的公鑰對(duì)原數(shù)據(jù)進(jìn)行加密的算法。解密算法是用密鑰生成算法生成的私鑰對(duì)加密數(shù)據(jù)進(jìn)行解密的算法。同態(tài)加密算法產(chǎn)生的一對(duì)公鑰和私鑰實(shí)質(zhì)上是其中的密鑰生成算法產(chǎn)生的一對(duì)公鑰和私鑰。

在一個(gè)實(shí)施例中,分配同態(tài)加密算法產(chǎn)生的一對(duì)公鑰和私鑰包括:從公鑰私鑰對(duì)庫(kù)中隨機(jī)選取一對(duì)公鑰和私鑰,其中,所述公鑰私鑰對(duì)庫(kù)中的公鑰私鑰對(duì)是事先由同態(tài)加密算法產(chǎn)生的。

也就是說,事先由同態(tài)加密算法生成若干對(duì)公鑰和私鑰,放在公鑰私鑰對(duì)庫(kù)中。當(dāng)需要為程序代碼塊分配公鑰私鑰對(duì)時(shí),就從公鑰私鑰對(duì)庫(kù)隨機(jī)選取一對(duì)公鑰和私鑰。這種做法帶來的好處是:由于對(duì)于每個(gè)程序代碼塊選取的公鑰私鑰對(duì)不是固定不變的,而是在需要分配公鑰私鑰對(duì)時(shí)隨機(jī)從公鑰私鑰對(duì)庫(kù)中選取的,因而是不確定的,增加了加密后程序代碼外包到其它程序員或其它公司的程序員被其它程序員或其它公司的程序員破解的難度,從而進(jìn)一步提高了程序代碼安全性。

在一個(gè)實(shí)施例中,所述待處理程序代碼具有不參與所述加密、所述解密、所述外部程序代碼處理方的處理的程序代碼標(biāo)識(shí)。也就是說,在程序代碼塊劃分單元310中,程序代碼標(biāo)識(shí)不分塊,除了程序代碼標(biāo)識(shí)的程序代碼主體部分才分塊,因而也不參與加密。在將加密后程序代碼發(fā)往外部程序代碼處理方進(jìn)行程序代碼處理時(shí),發(fā)往外部程序代碼處理方看到的是未加密的程序代碼標(biāo)識(shí),而程序代碼的其它部分都是加密的。外部程序代碼處理方也不處理程序代碼標(biāo)識(shí),只處理程序代碼的其它部分。從外部程序代碼處理方接收到程序代碼處理結(jié)果后,其中的程序代碼標(biāo)識(shí)是未處理過的,因而可以立刻識(shí)別。然后,根據(jù)識(shí)別出的程序代碼標(biāo)識(shí)查找到與該程序代碼標(biāo)識(shí)相對(duì)應(yīng)地存儲(chǔ)的分塊規(guī)則、以及為分出的每個(gè)程序代碼塊分配的私鑰對(duì),進(jìn)行解密。在解密時(shí)也僅是對(duì)程序代碼處理結(jié)果中除了程序代碼標(biāo)識(shí)的剩余部分進(jìn)行解密。

在該實(shí)施例中,所述裝置300還包括:存儲(chǔ)單元,用于在分配同態(tài)加密算法產(chǎn)生的一對(duì)公鑰和私鑰后,將待處理程序代碼的程序代碼標(biāo)識(shí)、與該待處理程序代碼相應(yīng)的分塊規(guī)則、以及為分出的每個(gè)程序代碼塊分配的公鑰和私鑰對(duì)相對(duì)應(yīng)地存儲(chǔ)。這樣做的好處是:在以后對(duì)從外部程序代碼處理方接收到的程序代碼處理結(jié)果進(jìn)行解密時(shí),能直接根據(jù)程序代碼標(biāo)識(shí)查找到與該待處理程序代碼相應(yīng)的分塊規(guī)則、以及為分出的每個(gè)程序代碼塊分配的私鑰對(duì)。

加密單元330針對(duì)每個(gè)程序代碼塊,用為該程序代碼塊分配的公鑰加密。

為該程序代碼塊分配的公鑰即前述同態(tài)加密算法產(chǎn)生的公鑰私鑰對(duì)中的公鑰。

加密后程序代碼組合單元340將加密后的各程序代碼塊組合成加密后程序代碼。

在一個(gè)實(shí)施例中,按照將待處理程序代碼分成程序代碼塊的順序?qū)⒓用芎蟮母鞒绦虼a塊組合成加密后程序代碼。

例如,在將待處理程序代碼按位數(shù)1:2:3:4:5:6的分塊規(guī)則下,待處理程序代碼為210m比特,將待處理程序代碼從頭開始的10m比特劃分為第一個(gè)程序代碼塊。將接下來的20m、30m、40m、50m、60m比特劃分為第二-六個(gè)程序代碼塊。這樣,組合成加密后程序代碼時(shí),將加密后的10m比特的程序代碼塊放在最前面,然后是加密后的20m比特的程序代碼塊,然后是加密后的30m比特的程序代碼塊,然后是加密后的40m比特的程序代碼塊,然后是加密后的50m比特的程序代碼塊,然后是加密后的60m比特的程序代碼塊。

發(fā)送單元350將加密后程序代碼發(fā)往外部程序代碼處理方進(jìn)行程序代碼處理。

外部程序代碼處理方即程序代碼編寫過程中外包來進(jìn)行某些程序代碼的所要求的處理的人,如前面所述的其它程序員或其它公司的程序員。處理如前面的位取反。位取反僅是一個(gè)簡(jiǎn)單的例子。實(shí)際上的處理往往要復(fù)雜得多。

接收單元360從外部程序代碼處理方接收程序代碼處理結(jié)果。

程序代碼處理結(jié)果即外部程序代碼處理方處理后的程序代碼。

在一個(gè)實(shí)施例中,所述裝置300還包括:查找單元,用于在從外部程序代碼處理方接收程序代碼處理結(jié)果后,根據(jù)與接收的程序代碼處理結(jié)果相應(yīng)的待處理程序代碼的程序代碼標(biāo)識(shí),查找與該程序代碼標(biāo)識(shí)相對(duì)應(yīng)地存儲(chǔ)的分塊規(guī)則、以及為分出的每個(gè)程序代碼塊分配的私鑰對(duì)。

如前所述,程序代碼標(biāo)識(shí)不參與所述加密、所述解密、所述外部程序代碼處理方的處理。因此,從外部程序代碼處理方接收到程序代碼處理結(jié)果后,其中的程序代碼標(biāo)識(shí)是未處理過的,因而可以立刻識(shí)別出。由于如上所述,在加密環(huán)節(jié),已經(jīng)將待處理程序代碼的程序代碼標(biāo)識(shí)、與該待處理程序代碼相應(yīng)的分塊規(guī)則、以及為分出的每個(gè)程序代碼塊分配的公鑰和私鑰對(duì)相對(duì)應(yīng)地存儲(chǔ),因而可以根據(jù)這些程序代碼標(biāo)識(shí),查找到與該程序代碼標(biāo)識(shí)相對(duì)應(yīng)地存儲(chǔ)的分塊規(guī)則、以及為分出的每個(gè)程序代碼塊分配的私鑰對(duì)。

處理結(jié)果塊劃分單元370按照所述分塊規(guī)則,將所述程序代碼處理結(jié)果分成各程序代碼塊的處理結(jié)果塊。

例如,查找到的分塊規(guī)則是按位數(shù)1:2:3:4:5:6成6個(gè)程序代碼塊,程序代碼處理結(jié)果去除程序代碼標(biāo)識(shí)后是210m比特,將這210m比特從頭開始的10m比特劃分為第一個(gè)處理結(jié)果塊,將接下來的20m比特劃分為第二個(gè)處理結(jié)果塊,將接下來的30m比特劃分為第三個(gè)處理結(jié)果塊,將接下來的40m比特劃分為第四個(gè)處理結(jié)果塊,將接下來的50m比特劃分為第五個(gè)處理結(jié)果塊,將接下來的60m比特劃分為第六個(gè)處理結(jié)果塊。

解密單元380針對(duì)每個(gè)程序代碼塊的處理結(jié)果塊,用為該程序代碼塊分配的所述私鑰解密。

最終程序代碼合成單元390將解密后的各程序代碼塊的處理結(jié)果塊組合成最終程序代碼。

最終程序代碼即預(yù)期對(duì)待處理程序代碼進(jìn)行處理后應(yīng)得到的處理后程序代碼,即不用本發(fā)明實(shí)施例的加解密,直接處理也能得到的處理后程序代碼。

例如,在將待處理程序代碼按位數(shù)1:2:3:4:5:6的分塊規(guī)則下,程序代碼處理結(jié)果去除程序代碼標(biāo)識(shí)后是210m比特,將這210m比特從頭開始的10m比特劃分為第一個(gè)處理結(jié)果塊。將接下來的20m、30m、40m、50m、60m比特劃分為第二-六個(gè)處理結(jié)果塊。這樣,組合成最終程序代碼時(shí),將解密后的10m比特的處理結(jié)果塊放在最前面,然后分別是解密后的20m、30m、40m、50m、60m比特的處理結(jié)果塊,得到最終程序代碼。

在一個(gè)實(shí)施例中,加密后程序代碼組合單元340進(jìn)一步用于:將加密后的各程序代碼塊組合后的預(yù)定位置處加入干擾位,成為加密后程序代碼。

例如,待處理程序代碼180m比特,等分成6個(gè)程序代碼塊,每個(gè)程序代碼塊30m比特。加密后,也是6個(gè)加密后的程序代碼塊,每個(gè)加密后的程序代碼塊30m比特。在每?jī)蓚€(gè)相鄰的加密后程序代碼塊之間加入10m干擾位,則一共加入5個(gè)10m的干擾位,共50m干擾位。所述預(yù)定位置是存儲(chǔ)在本地的,但外部無法獲知。在加入50m干擾位后,加密后程序代碼變?yōu)?30m比特。在本例中,加入干擾位的預(yù)定位置是:相鄰兩個(gè)加密后程序代碼塊之間的10m,即從第30m+1個(gè)比特到第40m個(gè)比特,從第70m+1個(gè)比特到第80m個(gè)比特,從第110m+1個(gè)比特到第120m個(gè)比特,從第150m+1個(gè)比特到第160m個(gè)比特,從第190m+1個(gè)比特到第200m個(gè)比特。

加入干擾位的內(nèi)容可以是隨機(jī)的,其內(nèi)容不會(huì)影響加解密和外部程序代碼處理方的程序代碼處理。

在一個(gè)實(shí)施例中,加入干擾位的所述預(yù)定位置也與待處理程序代碼的程序代碼標(biāo)識(shí)相對(duì)應(yīng)地存儲(chǔ),即待處理程序代碼的程序代碼標(biāo)識(shí)、與該待處理程序代碼相應(yīng)的分塊規(guī)則、分出的每個(gè)程序代碼塊分配的公鑰和私鑰對(duì)、以及加入干擾位的預(yù)定位置都一起被相對(duì)應(yīng)存儲(chǔ)。

在一個(gè)實(shí)施例中,處理結(jié)果塊劃分單元370進(jìn)一步用于:去除所述程序代碼處理結(jié)果的預(yù)定位置處的干擾位;按照所述分塊規(guī)則,將去除干擾位的所述程序代碼處理結(jié)果分成各程序代碼塊的處理結(jié)果塊。

在一個(gè)實(shí)施例中,去除所述程序代碼處理結(jié)果的預(yù)定位置處的干擾位包括:按照與所述程序代碼處理結(jié)果對(duì)應(yīng)的待處理程序代碼的程序代碼標(biāo)識(shí),查找存儲(chǔ)的與該程序代碼標(biāo)識(shí)相對(duì)應(yīng)的加入干擾位的所述預(yù)定位置;去除查找到的所述預(yù)定位置處的干擾位。

例如,查找到加入干擾位的預(yù)定位置是:相鄰兩個(gè)加密后程序代碼塊之間的10m,即從第30m+1個(gè)比特到第40m個(gè)比特,從第70m+1個(gè)比特到第80m個(gè)比特,從第110m+1個(gè)比特到第120m個(gè)比特,從第150m+1個(gè)比特到第160m個(gè)比特,從第190m+1個(gè)比特到第200m個(gè)比特。將程序代碼處理結(jié)果中第30m+1個(gè)比特到第40m個(gè)比特、第70m+1個(gè)比特到第80m個(gè)比特、第110m+1個(gè)比特到第120m個(gè)比特、第150m+1個(gè)比特到第160m個(gè)比特、第190m+1個(gè)比特到第200m個(gè)比特去除。

這種加入干擾位的方案的好處是:加入干擾位后的加密后程序代碼外包到其它程序員或其它公司的程序員后,其它程序員或其它公司的程序員不知道干擾位的具體位置,進(jìn)一步增加了其破解的難度,提高了程序代碼安全性。同時(shí),在解密前去掉這些干擾位,又能還原出正確的原程序代碼。

在一個(gè)實(shí)施例中,所述預(yù)定位置是從預(yù)先確定的位置集合中隨機(jī)選取的。

也就是說,預(yù)先將構(gòu)想出的各種可能的加入干擾位的位置放入位置集合中。在需要加干擾位時(shí),從集合中隨機(jī)選取一個(gè)位置。這種方式帶來的好處是:由于加入干擾位的位置不是固定不變的,而是每次需要加入干擾位時(shí)隨機(jī)選取的,因而是不確定的,增加了加密后程序代碼外包到其它程序員或其它公司的程序員后被其它程序員或其它公司的程序員破解的難度,從而進(jìn)一步提高了程序代碼安全性。

下面參考圖4,其示出了適于用來實(shí)現(xiàn)本申請(qǐng)實(shí)施例的消息接收方的計(jì)算機(jī)系統(tǒng)400的結(jié)構(gòu)示意圖。

如圖4所示,計(jì)算機(jī)系統(tǒng)400包括中央處理單元(cpu)401,其可以根據(jù)存儲(chǔ)在只讀存儲(chǔ)器(rom)402中的程序或者從存儲(chǔ)部分408加載到隨機(jī)訪問存儲(chǔ)器(ram)403中的程序而執(zhí)行各種適當(dāng)?shù)膭?dòng)作和處理。在ram403中,還存儲(chǔ)有系統(tǒng)400操作所需的各種程序和數(shù)據(jù)。cpu401、rom402以及ram403通過總線404彼此相連。輸入/輸出(i/o)接口405也連接至總線404。

以下部件連接至i/o接口405:包括鍵盤、鼠標(biāo)等的輸入部分406;包括諸如陰極射線管(crt)、液晶顯示器(lcd)等以及揚(yáng)聲器等的輸出部分407;包括硬盤等的存儲(chǔ)部分408;以及包括諸如lan卡、調(diào)制解調(diào)器等的網(wǎng)絡(luò)接口卡的通信部分409。通信部分409經(jīng)由諸如因特網(wǎng)的網(wǎng)絡(luò)執(zhí)行通信處理。驅(qū)動(dòng)器410也根據(jù)需要連接至i/o接口405??刹鹦督橘|(zhì)411,諸如磁盤、光盤、磁光盤、半導(dǎo)體存儲(chǔ)器等等,根據(jù)需要安裝在驅(qū)動(dòng)器410上,以便于從其上讀出的計(jì)算機(jī)程序根據(jù)需要被安裝入存儲(chǔ)部分408。

特別地,根據(jù)本公開的實(shí)施例,上文參考圖2描述的過程可以被實(shí)現(xiàn)為計(jì)算機(jī)軟件程序。例如,本公開的實(shí)施例包括一種計(jì)算機(jī)程序產(chǎn)品,其包括有形地包含在機(jī)器可讀介質(zhì)上的計(jì)算機(jī)程序,所述計(jì)算機(jī)程序包含用于執(zhí)行圖2的方法的程序代碼。

在這樣的實(shí)施例中,該計(jì)算機(jī)程序可以通過通信部分409從網(wǎng)絡(luò)上被下載和安裝,和/或從可拆卸介質(zhì)411被安裝。

附圖中的流程圖和框圖,圖示了按照本發(fā)明各種實(shí)施例的系統(tǒng)、方法和計(jì)算機(jī)程序產(chǎn)品的可能實(shí)現(xiàn)的體系架構(gòu)、功能和操作。在這點(diǎn)上,流程圖或框圖中的每個(gè)方框可以代表一個(gè)模塊、程序段、或代碼的一部分,所述模塊、程序段、或代碼的一部分包含一個(gè)或多個(gè)用于實(shí)現(xiàn)規(guī)定的邏輯功能的可執(zhí)行指令。也應(yīng)當(dāng)注意,在有些作為替換的實(shí)現(xiàn)中,方框中所標(biāo)注的功能也可以以不同于附圖中所標(biāo)注的順序發(fā)生。例如,兩個(gè)接連地表示的方框?qū)嶋H上可以基本并行地執(zhí)行,它們有時(shí)也可以按相反的順序執(zhí)行,這依所涉及的功能而定。也要注意的是,框圖和/或流程圖中的每個(gè)方框、以及框圖和/或流程圖中的方框的組合,可以用執(zhí)行規(guī)定的功能或操作的專用的基于硬件的系統(tǒng)來實(shí)現(xiàn),或者可以用專用硬件與計(jì)算機(jī)指令的組合來實(shí)現(xiàn)。

描述于本申請(qǐng)實(shí)施例中所涉及到的單元或模塊可以通過軟件的方式實(shí)現(xiàn),也可以通過硬件的方式來實(shí)現(xiàn)。所描述的單元或模塊也可以設(shè)置在處理器中。這些單元或模塊的名稱在某種情況下并不構(gòu)成對(duì)該單元或模塊本身的限定。

作為另一方面,本申請(qǐng)還提供了一種計(jì)算機(jī)可讀存儲(chǔ)介質(zhì),該計(jì)算機(jī)可讀存儲(chǔ)介質(zhì)可以是上述實(shí)施例中所述裝置中所包含的計(jì)算機(jī)可讀存儲(chǔ)介質(zhì);也可以是單獨(dú)存在,未裝配入設(shè)備中的計(jì)算機(jī)可讀存儲(chǔ)介質(zhì)。計(jì)算機(jī)可讀存儲(chǔ)介質(zhì)存儲(chǔ)有一個(gè)或者一個(gè)以上程序,所述程序被一個(gè)或者一個(gè)以上的處理器用來執(zhí)行描述于本申請(qǐng)的公式輸入方法。

以上描述僅為本申請(qǐng)的較佳實(shí)施例以及對(duì)所運(yùn)用技術(shù)原理的說明。本領(lǐng)域技術(shù)人員應(yīng)當(dāng)理解,本申請(qǐng)中所涉及的發(fā)明范圍,并不限于上述技術(shù)特征的特定組合而成的技術(shù)方案,同時(shí)也應(yīng)涵蓋在不脫離所述發(fā)明構(gòu)思的情況下,由上述技術(shù)特征或其等同特征進(jìn)行任意組合而形成的其它技術(shù)方案。例如上述特征與本申請(qǐng)中公開的(但不限于)具有類似功能的技術(shù)特征進(jìn)行互相替換而形成的技術(shù)方案。

當(dāng)前第1頁(yè)1 2 
網(wǎng)友詢問留言 已有0條留言
  • 還沒有人留言評(píng)論。精彩留言會(huì)獲得點(diǎn)贊!
1