專利名稱:一種數(shù)據(jù)加密方法及系統(tǒng)的制作方法
技術(shù)領(lǐng)域:
本發(fā)明屬于計(jì)算機(jī)技術(shù)領(lǐng)域,尤其涉及ー種數(shù)據(jù)加密方法及系統(tǒng)。
背景技術(shù):
云存儲(chǔ)(Cloud Storage)是在云計(jì)算(Cloud Computing)概念上延伸和發(fā)展出來(lái)的一個(gè)新的概念,是指通過(guò)集群應(yīng)用、網(wǎng)格技術(shù)或分布式文件系統(tǒng)等功能,將網(wǎng)絡(luò)中大量各種不同類型的存儲(chǔ)設(shè)備通過(guò)應(yīng)用軟件集合起來(lái)協(xié)同工作,共同對(duì)外提供數(shù)據(jù)存儲(chǔ)和業(yè)務(wù)訪問(wèn)功能的ー個(gè)系統(tǒng)。隨著云計(jì)算,云存儲(chǔ)等產(chǎn)品的不斷推出,對(duì)云中數(shù)據(jù)安全性的需求日漸突出,當(dāng)數(shù)據(jù)被放入云中時(shí)數(shù)據(jù)將面臨來(lái)自各個(gè)方面的安全威脅,主要表現(xiàn)在用戶很難通過(guò)有效的技術(shù)手段保證云存儲(chǔ)服務(wù)提供者(對(duì)用戶存放數(shù)據(jù)的計(jì)算機(jī)絕對(duì)的控制權(quán))不會(huì)非法獲取 和使用用戶存儲(chǔ)的數(shù)據(jù),其次,由于數(shù)據(jù)被存儲(chǔ)在云存儲(chǔ)設(shè)備中,與存放在用戶個(gè)人計(jì)算機(jī)不同,一個(gè)用戶的數(shù)據(jù)與另一個(gè)用戶的數(shù)據(jù)可能緊密相鄰,相鄰用戶可以通過(guò)各種方式來(lái)非法訪問(wèn)或竊取相鄰用戶的數(shù)據(jù),另外,與傳統(tǒng)的存儲(chǔ)系統(tǒng)類似,云中的數(shù)據(jù)也會(huì)面臨黑客的竊取。然而,現(xiàn)有技術(shù)無(wú)法提供一種有效的數(shù)據(jù)加密或存儲(chǔ)方式來(lái)保證云存儲(chǔ)中用戶的數(shù)據(jù)安全,導(dǎo)致云存儲(chǔ)中數(shù)據(jù)安全性不高,用戶私密數(shù)據(jù)難以得到較好的保護(hù),阻礙了云存儲(chǔ)服務(wù)的進(jìn)ー步發(fā)展。
發(fā)明內(nèi)容
本發(fā)明實(shí)施例的目的在于提供ー種數(shù)據(jù)加密方法,g在解決由于現(xiàn)有技術(shù)無(wú)法提供一種有效的數(shù)據(jù)加密方式來(lái)保證云存儲(chǔ)中用戶的數(shù)據(jù)安全,導(dǎo)致云存儲(chǔ)中數(shù)據(jù)安全性不高的問(wèn)題。本發(fā)明實(shí)施例是這樣實(shí)現(xiàn)的,ー種數(shù)據(jù)加密方法,所述方法包括下述步驟接收輸入的待加密文件,將所述待加密文件平均分割為第一預(yù)設(shè)值大小的多個(gè)待加密數(shù)據(jù)塊;依次接收所述待加密數(shù)據(jù)塊,通過(guò)預(yù)設(shè)的秘密共享算法對(duì)每ー個(gè)接收的待加密數(shù)據(jù)塊進(jìn)行分割加密操作,得到多個(gè)加密文件;對(duì)每ー個(gè)接收的待加密數(shù)據(jù)塊進(jìn)行分割加密操作之后,從所述多個(gè)加密文件中選擇預(yù)設(shè)位置的一個(gè)文件;當(dāng)所述選擇的文件的大小大于第二預(yù)設(shè)值時(shí),將所述選擇的文件確定為輸入的待加密文件,跳轉(zhuǎn)至接收輸入的待加密文件,將所述待加密文件平均分割為多個(gè)待加密數(shù)據(jù)塊的步驟;當(dāng)所述選擇的文件的大小不大于第二預(yù)設(shè)值時(shí),確定所述選擇的文件為解密密鑰。本發(fā)明實(shí)施例的另一目的在于提供一種數(shù)據(jù)加密系統(tǒng),所述系統(tǒng)包括文件分割単元,用于接收輸入的待加密文件,將所述待加密文件平均分割為第一預(yù)設(shè)值大小的多個(gè)待加密數(shù)據(jù)塊;分割加密單元,用于依次接收所述待加密數(shù)據(jù)塊,通過(guò)預(yù)設(shè)的秘密共享算法對(duì)每一個(gè)接收的待加密數(shù)據(jù)塊進(jìn)行分割加密操作,得到多個(gè)加密文件;文件選擇單元,用于對(duì)每一個(gè)接收的待加密數(shù)據(jù)塊進(jìn)行分割加密操作之后,從所述多個(gè)加密文件中選擇預(yù)設(shè)位置的一個(gè)文件;文件確定單元,用于當(dāng)所述選擇的文件的大小大于第二預(yù)設(shè)值時(shí),將所述選擇的文件確定為輸入的待加密文件,跳轉(zhuǎn)至接收輸入的待加密文件,將所述待加密文件平均分割為多個(gè)待加密數(shù)據(jù)塊的步驟;以及 密鑰確定單元,用于當(dāng)所述選擇的文件的大小不大于第二預(yù)設(shè)值時(shí),確定所述選擇的文件為解密密鑰。本發(fā)明實(shí)施例通過(guò)接收輸入的待加密文件,將待加密文件平均分割為第一預(yù)設(shè)值大小的多個(gè)待加密數(shù)據(jù)塊,依次接收待加密數(shù)據(jù)塊,通過(guò)預(yù)設(shè)的秘密共享算法對(duì)每ー個(gè)接收的待加密數(shù)據(jù)塊進(jìn)行分割加密操作,得到多個(gè)加密文件,對(duì)每ー個(gè)接收的待加密數(shù)據(jù)塊進(jìn)行分割加密操作之后,從多個(gè)加密文件中選擇預(yù)設(shè)位置的ー個(gè)文件,當(dāng)選擇的文件的大小大于第二預(yù)設(shè)值吋,將選擇的文件確定為輸入的待加密文件,跳轉(zhuǎn)至接收輸入的待加密文件,將待加密文件平均分割為多個(gè)待加密數(shù)據(jù)塊的步驟,當(dāng)選擇的文件的大小不大于第ニ預(yù)設(shè)值時(shí),確定選擇的文件為解密密鑰,從而完成待加密數(shù)據(jù)的加密,本發(fā)明經(jīng)過(guò)多次分割加密,毎次分割加密處理的數(shù)據(jù)量不斷減少,獲得的解密密鑰可根據(jù)密鑰存儲(chǔ)裝置容量、加密強(qiáng)度來(lái)進(jìn)行設(shè)置,從而提高了待加密數(shù)據(jù)的安全性。
圖I是本發(fā)明實(shí)施例一提供的數(shù)據(jù)加密方法的實(shí)現(xiàn)流程圖;圖2是本發(fā)明實(shí)施例ニ提供的數(shù)據(jù)加密方法的實(shí)現(xiàn)流程圖;圖3是本發(fā)明實(shí)施例三提供的數(shù)據(jù)加密方法的實(shí)現(xiàn)流程圖;圖4是本發(fā)明實(shí)施例四提供的數(shù)據(jù)加密系統(tǒng)的結(jié)構(gòu)圖;圖5是本發(fā)明實(shí)施例五提供的數(shù)據(jù)加密系統(tǒng)的結(jié)構(gòu)6是本發(fā)明實(shí)施例五提供的數(shù)據(jù)加密系統(tǒng)中分割加密單元的結(jié)構(gòu)圖。
具體實(shí)施例方式為了使本發(fā)明的目的、技術(shù)方案及優(yōu)點(diǎn)更加清楚明白,以下結(jié)合附圖及實(shí)施例,對(duì)本發(fā)明進(jìn)行進(jìn)ー步詳細(xì)說(shuō)明。應(yīng)當(dāng)理解,此處所描述的具體實(shí)施例僅僅用以解釋本發(fā)明,并不用于限定本發(fā)明。以下結(jié)合具體實(shí)施例對(duì)本發(fā)明的具體實(shí)現(xiàn)進(jìn)行詳細(xì)描述實(shí)施例一:圖I示出了本發(fā)明實(shí)施例一提供的數(shù)據(jù)加密方法的實(shí)現(xiàn)流程,詳述如下在步驟SlOl中,接收輸入的待加密文件,將待加密文件平均分割為第一預(yù)設(shè)值大小的多個(gè)待加密數(shù)據(jù)塊。在本發(fā)明實(shí)施例中,當(dāng)接收到輸入的待加密文件時(shí),為了提高文件的加密速度,將待加密文件平均分割為第一預(yù)設(shè)值大小的多個(gè)待加密數(shù)據(jù)塊,該預(yù)設(shè)值可以根據(jù)加密平臺(tái)的硬件配置進(jìn)行設(shè)置,可以為256、1024等,例如,當(dāng)?shù)谝活A(yù)設(shè)值為256時(shí),即將待加密文件平均分割為256比特(Byte)大小的多個(gè)待加密數(shù)據(jù)塊。在具體實(shí)施過(guò)程中,待加密文件的大小不一定為所述第一預(yù)設(shè)值對(duì)應(yīng)的大小的整數(shù)倍,為了簡(jiǎn)化待加密文件的處理過(guò)程以及方便解密操作,可以在所述待加密文件的末尾進(jìn)行數(shù)據(jù)填充,具體地,填充的數(shù)據(jù)大小為第一預(yù)設(shè)值減去待加密文件大小對(duì)第一預(yù)設(shè)值大小取模運(yùn)算的值,填充的數(shù)據(jù)內(nèi)容為第一預(yù)設(shè)值減去待加密文件大小對(duì)第一預(yù)設(shè)值取模的值。例如,當(dāng)待加密文件大小為17Byte時(shí),第一預(yù)設(shè)值大小為8Byte時(shí),則填充的數(shù)據(jù)大小為8-17%8=7比特,填充的數(shù)據(jù)內(nèi)容為8-17%8=7,當(dāng)待加密文件大小為16Byte時(shí),第一預(yù)設(shè)值大小為8Byte時(shí),填充的數(shù)據(jù)大小為8_16%8=8比特,填充的數(shù)據(jù)內(nèi)容為8_16%8=8,在此僅為示例,不用以限制本發(fā)明。在步驟S102中,依次接收待加密數(shù)據(jù)塊,通過(guò)預(yù)設(shè)的秘密共享算法對(duì)每ー個(gè)接收的待加密數(shù)據(jù)塊進(jìn)行分割加密操作,得到多個(gè)加密文件。在本發(fā)明實(shí)施例中,步驟SlOl將待加密文件平均分割為第一預(yù)設(shè)值大小的多個(gè)待加密數(shù)據(jù)塊后,依次接收待加密數(shù)據(jù)塊,通過(guò)預(yù)設(shè)的秘密共享算法對(duì)每ー個(gè)接收的待加密數(shù)據(jù)塊進(jìn)行分割加密操作,得到多個(gè)加密文件,預(yù)設(shè)的秘密共享算法可以為Shamir算法,基于XOR操作的秘密共享算法等,在此不用以限制本發(fā)明。在步驟S103中,對(duì)每ー個(gè)接收的待加密數(shù)據(jù)塊進(jìn)行分割加密操作之后,從多個(gè)加密文件中選擇預(yù)設(shè)位置的ー個(gè)文件。在步驟S104中,判斷選擇的文件的大小是否大于第二預(yù)設(shè)值,是則執(zhí)行步驟S105,否則執(zhí)行步驟S106。 在步驟S105中,將步驟S103中選擇的文件確定為輸入的待加密文件,跳轉(zhuǎn)至步驟101。在步驟S106中,確定選擇的文件為解密密鑰。在本發(fā)明實(shí)施例中,步驟S104判斷ー輪分割加密后得到的文件的大小是否大于第二預(yù)設(shè)值,是則表明此輪分割加密操作后得到的各個(gè)加密文件太大,超過(guò)了預(yù)先設(shè)置的閾值,此時(shí)將步驟S103中選擇的一個(gè)文件確定為輸入的待加密文件,跳轉(zhuǎn)至步驟101進(jìn)行下ー輪的分割,直到獲得ー個(gè)比第二預(yù)設(shè)值小的加密文件,將該加密文件確定為解密密鑰,從而完成待加密文件的分割加密。在本發(fā)明實(shí)施例中,步驟S103中完成ー輪分割加密操作之后,從多個(gè)加密文件中選擇預(yù)設(shè)位置的ー個(gè)文件。判斷該文件的大小是否大于第二預(yù)設(shè)值,是則將該文件確定為輸入的待加密文件,刪除該預(yù)設(shè)位置的該文件,跳轉(zhuǎn)至步驟101,從而進(jìn)行下ー輪的分割,其中,每ー輪分割得到的加密文件都可以對(duì)應(yīng)地存儲(chǔ)在相同文件中,且每ー輪都選擇相同預(yù)設(shè)位置的文件作為下ー輪待加密文件,從而簡(jiǎn)化加密文件的存儲(chǔ)。當(dāng)然,也可以每ー輪都建立新的多個(gè)文件,以用于存儲(chǔ)每ー輪分割加密的文件,此時(shí),可以任意從每ー輪中得到的多個(gè)加密文件中選擇ー個(gè)文件作為下ー輪待加密文件。在本發(fā)明實(shí)施例中,每次對(duì)待加密數(shù)據(jù)塊進(jìn)行分割加密操作之后可得到多個(gè)加密文件,如果一次分割加密后得到的文件的大小大于第二預(yù)設(shè)值,則從多個(gè)加密文件中選擇的一個(gè)文件確定為輸入的待加密文件,再次分割加密,這樣每次分割加密處理的數(shù)據(jù)量不斷減少,最終通過(guò)多次分割加密,獲得的解密密鑰大小可根據(jù)密鑰存儲(chǔ)裝置容量、加密強(qiáng)度來(lái)進(jìn)行設(shè)置,從而提高了待加密數(shù)據(jù)的安全性。 實(shí)施例ニ : 在本發(fā)明實(shí)施例中,通過(guò)一元多項(xiàng)式方式求解原理對(duì)每ー個(gè)接收的待加密數(shù)據(jù)塊進(jìn)行分割加密,從而簡(jiǎn)化了數(shù)據(jù)的加密過(guò)程,提高了加密速度。圖2示出了本發(fā)明實(shí)施例ニ提供的數(shù)據(jù)加密方法的實(shí)現(xiàn)流程,詳述如下在步驟S201中,接收輸入的待加密文件,將待加密文件平均分割為第一預(yù)設(shè)值大小的多個(gè)待加密數(shù)據(jù)塊。在步驟S202中,將每ー個(gè)待加密數(shù)據(jù)塊平均分割為第三預(yù)設(shè)值個(gè)待加密數(shù)據(jù)段,獲取第三預(yù)設(shè)值個(gè)待加密數(shù)據(jù)段對(duì)應(yīng)的無(wú)符號(hào)ニ進(jìn)制數(shù)。
在本發(fā)明實(shí)施例中,依次接收待加密數(shù)據(jù)塊,對(duì)每一個(gè)接收的待加密數(shù)據(jù)塊進(jìn)行分割加密操作。具體地,將每ー個(gè)待加密數(shù)據(jù)塊平均分割為第三預(yù)設(shè)值個(gè)待加密數(shù)據(jù)段,由于待加密數(shù)據(jù)段在計(jì)算機(jī)存儲(chǔ)過(guò)程中以ニ進(jìn)制數(shù)表示,因此,分割后的每ー個(gè)待加密數(shù)據(jù)段對(duì)應(yīng)ー個(gè)ニ進(jìn)制數(shù),也即對(duì)應(yīng)一個(gè)十進(jìn)制數(shù),該第三預(yù)設(shè)值可根據(jù)加密強(qiáng)度、加密硬件環(huán)境進(jìn)行設(shè)置。在步驟S203中,確定無(wú)符號(hào)ニ進(jìn)制數(shù)對(duì)應(yīng)的十進(jìn)制數(shù)為一元多項(xiàng)式的系數(shù),以構(gòu)
建ー個(gè)一元多項(xiàng)式。在本發(fā)明實(shí)施例中,當(dāng)確定第三預(yù)設(shè)值個(gè)無(wú)符號(hào)ニ進(jìn)制數(shù)后,將這些無(wú)符號(hào)ニ進(jìn)制數(shù)對(duì)應(yīng)的十進(jìn)制數(shù)作為一元多項(xiàng)式的系數(shù),從而構(gòu)建ー個(gè)一元多項(xiàng)式,這樣,得到的一元多項(xiàng)式的系數(shù)的個(gè)數(shù)即為第三預(yù)設(shè)值。在步驟S204中,獲取第四預(yù)設(shè)值個(gè)預(yù)設(shè)輸入值對(duì)應(yīng)的一元多項(xiàng)式的函數(shù)值,將所有函數(shù)值分別存儲(chǔ)到每個(gè)預(yù)設(shè)輸入值對(duì)應(yīng)的文件中,得到第四預(yù)設(shè)值個(gè)加密文件。
在本發(fā)明實(shí)施例中,預(yù)先設(shè)置第四預(yù)設(shè)值個(gè)預(yù)設(shè)輸入值作為一元多項(xiàng)式的變量,從而獲得第四預(yù)設(shè)值個(gè)對(duì)應(yīng)的一元多項(xiàng)式函數(shù)值,即■人變量,函數(shù)值 > 數(shù)值對(duì)的數(shù)目與一元多項(xiàng)式系統(tǒng)數(shù)目相同,獲取函數(shù)值后,將其存儲(chǔ)到每個(gè)預(yù)設(shè)輸入值(即該函數(shù)值對(duì)應(yīng)變量賦值)對(duì)應(yīng)的文件中。在步驟S205中,對(duì)每ー個(gè)接收的待加密數(shù)據(jù)塊進(jìn)行分割加密操作之后,從得到的多個(gè)加密文件中選擇預(yù)設(shè)位置的ー個(gè)文件。在本發(fā)明實(shí)施例中,當(dāng)對(duì)步驟S201中分割得到的多個(gè)待加密數(shù)據(jù)塊完成分割加密操作之后,即完成了一次分割加密,從而可以獲得通過(guò)一元多項(xiàng)式加密得到的第四預(yù)設(shè)值個(gè)文件,第四預(yù)設(shè)值個(gè)文件對(duì)應(yīng)于第四預(yù)設(shè)值個(gè)預(yù)設(shè)輸入值,從而將待加密文件分割成了第四預(yù)設(shè)值個(gè)加密文件。對(duì)每ー個(gè)接收的待加密數(shù)據(jù)塊進(jìn)行分割加密操作之后,從得到的多個(gè)加密文件中選擇預(yù)設(shè)位置的ー個(gè)文件,預(yù)設(shè)位置的文件可以為設(shè)定的預(yù)設(shè)輸入值對(duì)應(yīng)的文件,也可以是特定文件路徑下的文件。在步驟S206中,判斷選擇的文件的大小是否大于第二預(yù)設(shè)值,是則執(zhí)行步驟S207,否則執(zhí)行步驟S208。在步驟S207中,將選擇的文件確定為輸入的待加密文件,并跳轉(zhuǎn)至步驟201。在本發(fā)明實(shí)施例中,當(dāng)選擇的文件的大小大于第二預(yù)設(shè)值,將步驟S205中選擇的文件確定為輸入的待加密文件,并跳轉(zhuǎn)至步驟201,從而進(jìn)入下ー輪的分割加密操作。對(duì)于每ー輪分割加密操作,在步驟S204中,可以將獲取的所有函數(shù)值分別存儲(chǔ)到上ー輪分割得到的相同預(yù)設(shè)輸入值對(duì)應(yīng)的多個(gè)文件中,此時(shí),每ー輪選擇的預(yù)設(shè)位置的文件應(yīng)為相同預(yù)設(shè)輸入值對(duì)應(yīng)的文件,可選地,也可以為每ー輪分割加密操作中預(yù)設(shè)輸入值建立對(duì)應(yīng)的多個(gè)文件,將獲取的所有函數(shù)值分別存儲(chǔ)到建立的對(duì)應(yīng)的多個(gè)文件中。在步驟S208中,確定選擇的文件為解密密鑰。在本發(fā)明實(shí)施例中,步驟S206判斷一次分割加密后得到的文件的大小是否大于第二預(yù)設(shè)值,是則表明此次分割加密后得到的各個(gè)加密文件太大, 超過(guò)了預(yù)先設(shè)置的閾值,此時(shí)將步驟S205中選擇的一個(gè)文件確定為輸入的待加密文件,跳轉(zhuǎn)至步驟201進(jìn)行再次分害わ直到獲得ー個(gè)比第二預(yù)設(shè)值小的加密文件,將該加密文件確定為解密密鑰,從而完成待加密文件的加密。在本發(fā)明實(shí)施例中,將每ー個(gè)待加密數(shù)據(jù)塊平均分割為第三預(yù)設(shè)值個(gè)待加密數(shù)據(jù)段,獲取第三預(yù)設(shè)值個(gè)待加密數(shù)據(jù)段對(duì)應(yīng)的無(wú)符號(hào)ニ進(jìn)制數(shù),確定無(wú)符號(hào)ニ進(jìn)制數(shù)對(duì)應(yīng)的十進(jìn)制數(shù)為一元多項(xiàng)式的系數(shù),以構(gòu)建ー個(gè)一元多項(xiàng)式,從而將文件的加密轉(zhuǎn)化為求取一元多項(xiàng)式的函數(shù)值,根據(jù)一元多項(xiàng)式求解原理,若需要從密文文件獲得原始待加密文件,則可轉(zhuǎn)化為求解一元多項(xiàng)式的系數(shù)問(wèn)題。進(jìn)ー步地,在本發(fā)明實(shí)施例中,還將獲得的第四預(yù)設(shè)值個(gè)加密文件存儲(chǔ)到云端服務(wù)器的步驟。優(yōu)選地,在本發(fā)明的一實(shí)施例中,第三預(yù)設(shè)值與第四預(yù)設(shè)值相同,這樣,由于一元多項(xiàng)式的系數(shù)的個(gè)數(shù)(第三預(yù)設(shè)值)和一元多項(xiàng)式等式數(shù)目(第四預(yù)設(shè)值)相同,所以只有獲得確定的解密密鑰后,獲得構(gòu)建的一元多項(xiàng)式的所有系數(shù),進(jìn)而求解一次被分割加密的文件,以該文件為基礎(chǔ)求解其上ー層被分割加密的待加密文件,如此迭代求解最終獲得原始待加密文件。所以,當(dāng)?shù)谒念A(yù)設(shè)值個(gè)加密文件被存儲(chǔ)到云端服務(wù)器時(shí),只要用戶保存好確定的解密密鑰即可保證云端數(shù)據(jù)安全,從而大大提高了數(shù)據(jù)的安全性。優(yōu)選地,在本發(fā)明的另ー實(shí)施例中,第四預(yù)設(shè)值大于第三預(yù)設(shè)值,這樣,由于一元多項(xiàng)式的等式數(shù)目(第四預(yù)設(shè)值)大于一元多項(xiàng)式系數(shù)的個(gè)數(shù)(第三預(yù)設(shè)值),從而使得第四預(yù)設(shè)值個(gè)加密文件存在冗余加密數(shù)據(jù),提高了加密數(shù)據(jù)的可恢復(fù)性。當(dāng)獲得的第四預(yù)設(shè)值個(gè)加密文件被存儲(chǔ)到云端服務(wù)器時(shí),確定每個(gè)云端服務(wù)器(或云端服務(wù)器提供商)存儲(chǔ)的加密文件個(gè)數(shù)少于第三預(yù)設(shè)值,使得單個(gè)云端服務(wù)器(或云端服務(wù)器提供商)難以從存儲(chǔ)的數(shù)據(jù)中恢復(fù)出原始文件,從而在保證了數(shù)據(jù)安全性的基礎(chǔ)上,提高了加密數(shù)據(jù)的可恢復(fù)性。實(shí)施例三:圖3示出了本發(fā)明實(shí)施例三提供的數(shù)據(jù)加密方法的實(shí)現(xiàn)流程,詳述如下在步驟S301中,根據(jù)第一預(yù)設(shè)值和第三預(yù)設(shè)值確定ー個(gè)素?cái)?shù)。在本發(fā)明實(shí)施中,為了方便分割加密過(guò)程中一元多項(xiàng)式的函數(shù)值的保存,需要預(yù)先確定ー個(gè)足夠大的素?cái)?shù),將一元多項(xiàng)式的函數(shù)值對(duì)該素?cái)?shù)進(jìn)行取模運(yùn)算,得到位于素?cái)?shù)范圍內(nèi)的數(shù)值,從而方便了數(shù)據(jù)的處理和存儲(chǔ),防止函數(shù)值保存過(guò)程中異常事件的發(fā)生。具體地,可根據(jù)待加密文件平均分割為多個(gè)待加密數(shù)據(jù)塊的大小(即第一預(yù)設(shè)值)以及第三預(yù)設(shè)值來(lái)確定ー個(gè)素?cái)?shù),以用于對(duì)后續(xù)對(duì)一元多項(xiàng)式的函數(shù)值進(jìn)行取模運(yùn)算。在步驟S302中,接收輸入的待加密文件,將待加密文件平均分割為第一預(yù)設(shè)值大小的多個(gè)待加密數(shù)據(jù)塊。在步驟S303中,將每ー個(gè)待加密數(shù)據(jù)塊平均分割為第三預(yù)設(shè)值個(gè)待加密數(shù)據(jù)段,獲取第三預(yù)設(shè)值個(gè)待加密數(shù)據(jù)段對(duì)應(yīng)的無(wú)符號(hào)ニ進(jìn)制數(shù)。在步驟S304中,確定無(wú)符號(hào)ニ進(jìn)制數(shù)對(duì)應(yīng)的十進(jìn)制數(shù)為一元多項(xiàng)式的系數(shù),以構(gòu)建ー個(gè)一元多項(xiàng)式。在步驟S305中,獲取第四預(yù)設(shè)值個(gè)預(yù)設(shè)輸入值對(duì)應(yīng)的一元多項(xiàng)式的函數(shù)值。在步驟S306中,對(duì)所有所述對(duì)應(yīng)的所述一元多項(xiàng)式的函數(shù)值對(duì)所述素?cái)?shù)進(jìn)行取模運(yùn)算。在本發(fā)明實(shí)施例中,若待加密數(shù)據(jù)塊的大小為T比特(即前述第一預(yù)設(shè)值),分割為K (即第三預(yù)設(shè)值)個(gè)數(shù)據(jù)段,那么,每一段的數(shù)據(jù)大小為T/Κ比特,則在(T/K+1)比特的長(zhǎng) 度中可找到ー個(gè)素?cái)?shù),該素?cái)?shù)大于每個(gè)數(shù)據(jù)段所對(duì)應(yīng)的十進(jìn)制數(shù),從而可用于對(duì)所有一元多項(xiàng)式的函數(shù)值進(jìn)行取模運(yùn)算,將函數(shù)值取模后的大小也統(tǒng)一到該素?cái)?shù)的范圍內(nèi)。在步驟S307中,將所有取模運(yùn)算后的函數(shù)值分別存儲(chǔ)到每個(gè)預(yù)設(shè)輸入值對(duì)應(yīng)的文件中,得到第四預(yù)設(shè)值個(gè)加密文件。在步驟S308中,對(duì)每ー個(gè)接收的待加密數(shù)據(jù)塊進(jìn)行分割加密操作之后,從所述第四預(yù)設(shè)值個(gè)加密文件中選擇預(yù)設(shè)位置的ー個(gè)文件。在步驟S309中,判斷選擇的文件的大小是否大于第二預(yù)設(shè)值,是則執(zhí)行步驟S310,否則執(zhí)行步驟S311。在步驟S310中,將所述選擇的文件確定為輸入的待加密文件,跳轉(zhuǎn)至步驟302。在步驟S311中,確定所述選擇的文件為解密密鑰。在本發(fā)明實(shí)施例中,對(duì)所有一元多項(xiàng)式的函數(shù)值進(jìn)行取模運(yùn)算后再保存到相應(yīng)的文件中,從而方便了數(shù)據(jù)的處理和保存,防止保存過(guò)程中異常事件的發(fā)生,提高了數(shù)據(jù)加密過(guò)程的安全性和穩(wěn)定性。在本發(fā)明的另ー實(shí)施例中,為了提高存儲(chǔ)加密數(shù)據(jù)的裝置的存儲(chǔ)效率,可對(duì)一次待加密文件分割加密過(guò)程中一元多項(xiàng)式函數(shù)值對(duì)應(yīng)的ニ進(jìn)制數(shù)據(jù)進(jìn)行拼接后再存儲(chǔ),具體地(I)在步驟S301和S302之間,當(dāng)確定ー個(gè)素?cái)?shù)后,獲取所述素?cái)?shù)對(duì)應(yīng)的ニ進(jìn)制位數(shù)的有效位數(shù)。在本發(fā)明實(shí)施例中,當(dāng)根據(jù)步驟S301確定ー個(gè)素?cái)?shù)后,獲取所述素?cái)?shù)對(duì)應(yīng)的ニ進(jìn)制位數(shù)的有效位數(shù),即將所述素?cái)?shù)對(duì)應(yīng)的ニ進(jìn)制位數(shù)高位為零的位數(shù)去棹。(2)將步驟(I)獲取的有效位數(shù)對(duì)8進(jìn)行整除運(yùn)算,確定整除運(yùn)算結(jié)果為函數(shù)值存儲(chǔ)時(shí)該函數(shù)值對(duì)應(yīng)ニ制數(shù)中低位數(shù)據(jù)連續(xù)存儲(chǔ)的比特?cái)?shù)。在本發(fā)明實(shí)施例中,由于數(shù)據(jù)存儲(chǔ)時(shí)是以比特(Sbit)為單元進(jìn)行存儲(chǔ),因此,在確定該素?cái)?shù)對(duì)應(yīng)ニ進(jìn)制數(shù)位數(shù)的有效位數(shù)后,確定整除運(yùn)算結(jié)果為函數(shù)值存儲(chǔ)時(shí)該函數(shù)值對(duì)應(yīng)ニ制數(shù)中低位數(shù)據(jù)連續(xù)存儲(chǔ)的比特?cái)?shù),從而確定可連續(xù)存儲(chǔ)的ニ進(jìn)制低位數(shù)據(jù),不夠I比特的數(shù)據(jù)則進(jìn)行拼接處理。在步驟S307中,將所有取模運(yùn)算后的函數(shù)值分別存儲(chǔ)到第四預(yù)設(shè)值個(gè)預(yù)設(shè)輸入值對(duì)應(yīng)的第四預(yù)設(shè)值個(gè)文件中的步驟具體包括A、獲取取模運(yùn)算后的函數(shù)值對(duì)應(yīng)的ニ進(jìn)制數(shù),所述ニ進(jìn)制數(shù)的位數(shù)為所述有效位數(shù)。在本發(fā)明實(shí)施例中,當(dāng)步驟S306中對(duì)所有對(duì)應(yīng)的一元多項(xiàng)式的函數(shù)值對(duì)素?cái)?shù)進(jìn)行取模運(yùn)算后,所有取模運(yùn)算后的函數(shù)值對(duì)應(yīng)的ニ進(jìn)制數(shù)的有效位數(shù)必然少于該素?cái)?shù)的有效位數(shù),為了方便處理,在這里將函數(shù)值的有效位數(shù)統(tǒng)ー為素?cái)?shù)的有效位數(shù)。B、將所述ニ進(jìn)制數(shù)中位數(shù)為所述比特?cái)?shù)的低位數(shù)據(jù)以及所述ニ進(jìn)制數(shù)中的剰余數(shù)據(jù)分別緩存到每個(gè)預(yù)設(shè)輸入值對(duì)應(yīng)的緩存中。在本發(fā)明實(shí)施例中,將取模運(yùn)算后一元多項(xiàng)式函數(shù)值對(duì)應(yīng)的ニ進(jìn)制數(shù)中有效位數(shù)的低位連續(xù)比特?cái)?shù)據(jù)以及該ニ進(jìn)制數(shù)中不足I比特的數(shù)據(jù)分別進(jìn)行緩存,從而,在步驟S308對(duì)每ー個(gè)接收的待加密數(shù)據(jù)塊進(jìn) 行分割加密操作之后,從所述多個(gè)加密文件中選擇預(yù)設(shè)位置的一個(gè)文件的步驟之前,將每個(gè)預(yù)設(shè)輸入值對(duì)應(yīng)的緩存中緩存的所有ニ進(jìn)制數(shù)中位數(shù)為前述步驟(2)中比特?cái)?shù)的低位數(shù)據(jù)依次存儲(chǔ)到每個(gè)預(yù) 設(shè)輸入值對(duì)應(yīng)的文件,然后,將每個(gè)預(yù)設(shè)輸入值對(duì)應(yīng)的緩存中緩存的所有剰余數(shù)據(jù)依次拼接為字節(jié),存儲(chǔ)到預(yù)設(shè)輸入值對(duì)應(yīng)的文件。在本發(fā)明實(shí)施例中,當(dāng)分割加密得到的加密數(shù)據(jù)(一元多項(xiàng)式函數(shù)值)存儲(chǔ)到每個(gè)預(yù)設(shè)輸入值對(duì)應(yīng)的文件時(shí),只存儲(chǔ)其統(tǒng)ー后的有效位數(shù),具體地,先將一元多項(xiàng)式函數(shù)值對(duì)應(yīng)的ニ進(jìn)制數(shù)中位數(shù)為比特?cái)?shù)的低位數(shù)據(jù)以及ニ進(jìn)制數(shù)中的剰余數(shù)據(jù)分別緩存到每個(gè)預(yù)設(shè)輸入值對(duì)應(yīng)的緩存中,當(dāng)完成一次待加密數(shù)據(jù)塊的分割加密操作之后,將每個(gè)預(yù)設(shè)輸入值對(duì)應(yīng)的緩存中緩存的所有ニ進(jìn)制數(shù)中位數(shù)為比特?cái)?shù)的低位數(shù)據(jù)依次存儲(chǔ)到每個(gè)預(yù)設(shè)輸入值對(duì)應(yīng)的文件,將每個(gè)預(yù)設(shè)輸入值對(duì)應(yīng)的緩存中緩存的所有剰余數(shù)據(jù)依次拼接為字節(jié),存儲(chǔ)到預(yù)設(shè)輸入值對(duì)應(yīng)的文件,從而在一定程度上提高了存儲(chǔ)設(shè)備的利用率。本領(lǐng)域普通技術(shù)人員可以理解實(shí)現(xiàn)上述實(shí)施例方法中的全部或部分步驟是可以通過(guò)程序來(lái)指令相關(guān)的硬件來(lái)完成,所述的程序可以存儲(chǔ)于ー計(jì)算機(jī)可讀取存儲(chǔ)介質(zhì)中,所述的存儲(chǔ)介質(zhì),如R0M/RAM、磁盤、光盤等。實(shí)施例四圖4示出了本發(fā)明實(shí)施例四提供的數(shù)據(jù)加密系統(tǒng)的結(jié)構(gòu),為了便于說(shuō)明,僅示出了與本發(fā)明實(shí)施例相關(guān)的部分,其中包括文件分割單元41接收輸入的待加密文件,將待加密文件平均分割為第一預(yù)設(shè)值大小的多個(gè)待加密數(shù)據(jù)塊。分割加密單元42依次接收待加密數(shù)據(jù)塊,通過(guò)預(yù)設(shè)的秘密共享算法對(duì)每ー個(gè)接收的待加密數(shù)據(jù)塊進(jìn)行分割加密操作,得到多個(gè)加密文件。文件選擇單元43對(duì)每ー個(gè)接收的待加密數(shù)據(jù)塊進(jìn)行分割加密操作之后,從多個(gè)加密文件中選擇預(yù)設(shè)位置的ー個(gè)文件。文件確定單元44當(dāng)選擇的文件的大小大于第二預(yù)設(shè)值吋,將選擇的文件確定為輸入的待加密文件,跳轉(zhuǎn)至接收輸入的待加密文件,將待加密文件平均分割為多個(gè)待加密數(shù)據(jù)塊的步驟。密鑰確定單元45當(dāng)選擇的文件的大小不大于第二預(yù)設(shè)值時(shí),確定選擇的文件為解密密鑰。在本發(fā)明實(shí)施例中,數(shù)據(jù)加密系統(tǒng)各單元的實(shí)施方式與實(shí)施例中一各步驟對(duì)應(yīng)相同,在此不贅述。實(shí)施例五圖5示出了本發(fā)明實(shí)施例五提供的數(shù)據(jù)加密系統(tǒng)的結(jié)構(gòu),為了便于說(shuō)明,僅示出了與本發(fā)明實(shí)施例相關(guān)的部分,其中包括素?cái)?shù)確定單元51根據(jù)所述第一預(yù)設(shè)值和所述第三預(yù)設(shè)值確定ー個(gè)素?cái)?shù)。有效位數(shù)獲取單元52獲取所述素?cái)?shù)對(duì)應(yīng)的ニ進(jìn)制位數(shù)的有效位數(shù)。比特?cái)?shù)確定單元53將所述有效位數(shù)對(duì)8進(jìn)行整除運(yùn)算,確定所述整除運(yùn)算結(jié)果為函數(shù)值存儲(chǔ)時(shí)該函數(shù)值對(duì)應(yīng)ニ制數(shù)中低位數(shù)據(jù)連續(xù)存儲(chǔ)的比特?cái)?shù)。數(shù)據(jù)填充単元54在所述待加密文件的末尾進(jìn)行數(shù)據(jù)填充。文件分割單元55接收輸入的待加密文件,將所述待加密文件平均分割為第一預(yù)設(shè)值大小的多個(gè)待加密數(shù)據(jù)塊。取模運(yùn)算単元56對(duì)所有所述對(duì)應(yīng)的所述一元多項(xiàng)式的函數(shù)值對(duì)所述素?cái)?shù)進(jìn)行取 模運(yùn)算。分割加密單元57依次接收所述待加密數(shù)據(jù)塊,通過(guò)預(yù)設(shè)的秘密共享算法對(duì)每ー個(gè)接收的待加密數(shù)據(jù)塊進(jìn)行分割加密操作,得到多個(gè)加密文件。存儲(chǔ)單元58將每個(gè)預(yù)設(shè)輸入值對(duì)應(yīng)的緩存中緩存的所有所述ニ進(jìn)制數(shù)中位數(shù)為所述比特?cái)?shù)的低位數(shù)據(jù)依次存儲(chǔ)到每個(gè)預(yù)設(shè)輸入值對(duì)應(yīng)的文件,將所述每個(gè)預(yù)設(shè)輸入值對(duì)應(yīng)的緩存中緩存的所有剰余數(shù)據(jù)依次拼接為字節(jié),存儲(chǔ)到所述預(yù)設(shè)輸入值對(duì)應(yīng)的文件。文件選擇單元59對(duì)每ー個(gè)接收的待加密數(shù)據(jù)塊進(jìn)行分割加密操作之后,從所述多個(gè)加密文件中選擇預(yù)設(shè)位置的ー個(gè)文件。文件確定單元60當(dāng)所述選擇的文件的大小大于第二預(yù)設(shè)值時(shí),將所述選擇的文件確定為輸入的待加密文件,跳轉(zhuǎn)至接收輸入的待加密文件,將所述待加密文件平均分割為多個(gè)待加密數(shù)據(jù)塊的步驟。密鑰確定單元61當(dāng)所述選擇的文件的大小不大于第二預(yù)設(shè)值時(shí),確定所述選擇的文件為解密密鑰。如圖6所示,在本發(fā)明實(shí)施例中,分割加密單元57包括第一ニ進(jìn)制數(shù)獲取單元571,用于將待加密數(shù)據(jù)塊平均分割為第三預(yù)設(shè)值個(gè)待加密數(shù)據(jù)段,獲取所述第三預(yù)設(shè)值個(gè)待加密數(shù)據(jù)段對(duì)應(yīng)的無(wú)符號(hào)ニ進(jìn)制數(shù);多項(xiàng)式構(gòu)建単元572,用于確定所述無(wú)符號(hào)ニ進(jìn)制數(shù)對(duì)應(yīng)的十進(jìn)制數(shù)為一元多項(xiàng)式的系數(shù),以構(gòu)建ー個(gè)一元多項(xiàng)式;以及加密文件得到単元573,用于獲取第四預(yù)設(shè)值個(gè)預(yù)設(shè)輸入值對(duì)應(yīng)的所述一元多項(xiàng)式的函數(shù)值,將所有函數(shù)值分別存儲(chǔ)到每個(gè)預(yù)設(shè)輸入值對(duì)應(yīng)的文件中,得到第四預(yù)設(shè)值個(gè)加密文件。其中。加密文件得到単元573包括用于將所有取模運(yùn)算后的函數(shù)值分別存儲(chǔ)到每個(gè)預(yù)設(shè)輸入值對(duì)應(yīng)的文件中的存儲(chǔ)子單元5731,該存儲(chǔ)子單元5731具體包括第二ニ進(jìn)制數(shù)獲取單元,用于獲取取模運(yùn)算后的函數(shù)值對(duì)應(yīng)的ニ進(jìn)制數(shù),所述ニ進(jìn)制數(shù)的位數(shù)為所述有效位數(shù);以及緩存單元,用于將所述ニ進(jìn)制數(shù)中位數(shù)為所述比特?cái)?shù)的低位數(shù)據(jù)以及所述ニ進(jìn)制數(shù)中的剰余數(shù)據(jù)分別緩存到每個(gè)預(yù)設(shè)輸入值對(duì)應(yīng)的緩存中。在本發(fā)明實(shí)施例中,數(shù)據(jù)加密系統(tǒng)各單元的實(shí)施方式與實(shí)施例中三各步驟對(duì)應(yīng)相同,在此不贅述。本發(fā)明實(shí)施例接收輸入的待加密文件,將待加密文件平均分割為第一預(yù)設(shè)值大小的多個(gè)待加密數(shù)據(jù)塊,依次接收待加密數(shù)據(jù)塊,通過(guò)預(yù)設(shè)的秘密共享算法對(duì)每ー個(gè)接收的待加密數(shù)據(jù)塊進(jìn)行分割加密操作,得到多個(gè)加密文件,當(dāng)分割后的文件的大小大于第二預(yù)設(shè)值時(shí),進(jìn)行多次迭代分割直至不大于第二預(yù)設(shè)值,進(jìn)而確定其中的ー個(gè)文件為解密密鑰,從而完成待加密數(shù)據(jù)的加密,簡(jiǎn)化了待加密文件的加密過(guò)程,并且本發(fā)明實(shí)施例可根據(jù)存儲(chǔ)密鑰的物理載體容量和安全性要求獲取合適大小的密鑰,提高了密鑰的安全性。當(dāng)分割加密得到的加密數(shù)據(jù)(一元多項(xiàng)式函數(shù)值)存儲(chǔ)到預(yù)設(shè)輸入值對(duì)應(yīng)的文件時(shí),先將一元多項(xiàng)式函數(shù)值對(duì)應(yīng)的ニ進(jìn)制數(shù)中位數(shù)為比特?cái)?shù)的低位數(shù)據(jù)以及ニ進(jìn)制數(shù)中的剰余數(shù)據(jù)分別緩存到每個(gè)預(yù)設(shè)輸入值對(duì)應(yīng)的緩存中,當(dāng)完成一次待加密數(shù)據(jù)塊的分割加密操作之后,將每個(gè)預(yù)設(shè)輸入值對(duì)應(yīng)的緩存中緩存的所有ニ進(jìn)制數(shù)中位數(shù)為比特?cái)?shù)的低位數(shù)據(jù)依次存儲(chǔ)到每個(gè)預(yù)設(shè)輸入值對(duì)應(yīng)的文件,將每個(gè)預(yù)設(shè)輸入值對(duì)應(yīng)的緩存中緩存的所有剰余數(shù)據(jù)依次拼 接為字節(jié),存儲(chǔ)到預(yù)設(shè)輸入值對(duì)應(yīng)的文件,從而在一定程度上提高了存儲(chǔ)設(shè)備的利用率。以上所述僅為本發(fā)明的較佳實(shí)施例而已,并不用以限制本發(fā)明,凡在本發(fā)明的精神和原則之內(nèi)所作的任何修改、等同替換和改進(jìn)等,均應(yīng)包含在本發(fā)明的保護(hù)范圍之內(nèi)。
權(quán)利要求
1.ー種數(shù)據(jù)加密方法,其特征在于,所述方法包括下述步驟 接收輸入的待加密文件,將所述待加密文件平均分割為第一預(yù)設(shè)值大小的多個(gè)待加密數(shù)據(jù)塊; 依次接收所述待加密數(shù)據(jù)塊,通過(guò)預(yù)設(shè)的秘密共享算法對(duì)每ー個(gè)接收的待加密數(shù)據(jù)塊進(jìn)行分割加密操作,得到多個(gè)加密文件; 對(duì)每ー個(gè)接收的待加密數(shù)據(jù)塊進(jìn)行分割加密操作之后,從所述多個(gè)加密文件中選擇預(yù)設(shè)位置的一個(gè)文件; 當(dāng)所述選擇的文件的大小大于第二預(yù)設(shè)值時(shí),將所述選擇的文件確定為輸入的待加密文件,跳轉(zhuǎn)至接收輸入的待加密文件,將所述待加密文件平均分割為多個(gè)待加密數(shù)據(jù)塊的步驟; 當(dāng)所述選擇的文件的大小不大于第二預(yù)設(shè)值時(shí),確定所述選擇的文件為解密密鑰。
2.如權(quán)利要求I所述的方法,其特征在于,所述通過(guò)預(yù)設(shè)的秘密共享算法對(duì)每ー個(gè)接收的待加密數(shù)據(jù)塊進(jìn)行分割加密操作的步驟包括下述步驟 將待加密數(shù)據(jù)塊平均分割為第三預(yù)設(shè)值個(gè)待加密數(shù)據(jù)段,獲取第三預(yù)設(shè)值個(gè)待加密數(shù)據(jù)段對(duì)應(yīng)的無(wú)符號(hào)ニ進(jìn)制數(shù); 確定所述無(wú)符號(hào)ニ進(jìn)制數(shù)對(duì)應(yīng)的十進(jìn)制數(shù)為一元多項(xiàng)式的系數(shù),以構(gòu)建ー個(gè)一元多項(xiàng)式; 獲取第四預(yù)設(shè)值個(gè)預(yù)設(shè)輸入值對(duì)應(yīng)的所述一元多項(xiàng)式的函數(shù)值,將所有函數(shù)值分別存儲(chǔ)到每個(gè)預(yù)設(shè)輸入值對(duì)應(yīng)的文件中,得到第四預(yù)設(shè)值個(gè)加密文件。
3.如權(quán)利要求2所述的方法,其特征在于,接收輸入的待加密文件,將所述待加密文件平均分割為第一預(yù)設(shè)值大小的多個(gè)待加密數(shù)據(jù)塊的步驟之前,所述方法還包括 根據(jù)所述第一預(yù)設(shè)值和所述第三預(yù)設(shè)值確定ー個(gè)素?cái)?shù); 獲取第四預(yù)設(shè)值個(gè)預(yù)設(shè)輸入值對(duì)應(yīng)的所述一元多項(xiàng)式的函數(shù)值的步驟之后,將所有函數(shù)值分別存儲(chǔ)到每個(gè)預(yù)設(shè)輸入值對(duì)應(yīng)的文件中的步驟之前,所述方法還包括下述步驟 對(duì)所有所述對(duì)應(yīng)的所述一元多項(xiàng)式的函數(shù)值對(duì)所述素?cái)?shù)進(jìn)行取模運(yùn)算; 將所有函數(shù)值分別存儲(chǔ)到每個(gè)預(yù)設(shè)輸入值對(duì)應(yīng)的文件中的步驟具體包括 將所有取模運(yùn)算后的函數(shù)值分別存儲(chǔ)到每個(gè)預(yù)設(shè)輸入值對(duì)應(yīng)的文件中。
4.如權(quán)利要求3所述的方法,其特征在于,接收輸入的待加密文件,將所述待加密文件平均分割為第一預(yù)設(shè)值大小的多個(gè)待加密數(shù)據(jù)塊的步驟之前,所述方法還包括 獲取所述素?cái)?shù)對(duì)應(yīng)的ニ進(jìn)制位數(shù)的有效位數(shù); 將所述有效位數(shù)對(duì)8進(jìn)行整除運(yùn)算,確定所述整除運(yùn)算結(jié)果為函數(shù)值存儲(chǔ)時(shí)該函數(shù)值對(duì)應(yīng)ニ制數(shù)中低位數(shù)據(jù)連續(xù)存儲(chǔ)的比特?cái)?shù); 將所有取模運(yùn)算后的函數(shù)值分別存儲(chǔ)到每個(gè)預(yù)設(shè)輸入值對(duì)應(yīng)的文件中的步驟具體包括 獲取取模運(yùn)算后的函數(shù)值對(duì)應(yīng)的ニ進(jìn)制數(shù),所述ニ進(jìn)制數(shù)的位數(shù)為所述有效位數(shù);將所述ニ進(jìn)制數(shù)中位數(shù)為所述比特?cái)?shù)的低位數(shù)據(jù)以及所述ニ進(jìn)制數(shù)中的剰余數(shù)據(jù)分別緩存到每個(gè)預(yù)設(shè)輸入值對(duì)應(yīng)的緩存中; 對(duì)每ー個(gè)接收的待加密數(shù)據(jù)塊進(jìn)行分割加密操作之后,從所述多個(gè)加密文件中選擇預(yù)設(shè)位置的一個(gè)文件的步驟之前,所述方法還包括將每個(gè)預(yù)設(shè)輸入值對(duì)應(yīng)的緩存中緩存的所有所述ニ進(jìn)制數(shù)中位數(shù)為所述比特?cái)?shù)的低位數(shù)據(jù)依次存儲(chǔ)到每個(gè)預(yù)設(shè)輸入值對(duì)應(yīng)的文件,并將所述每個(gè)預(yù)設(shè)輸入值對(duì)應(yīng)的緩存中緩存的所有剰余數(shù)據(jù)依次拼接為字節(jié),存儲(chǔ)到所述預(yù)設(shè)輸入值對(duì)應(yīng)的文件。
5.如權(quán)利要求2所述的方法,其特征在于,所述接收輸入的待加密文件的步驟之后,將所述待加密文件平均分割為預(yù)設(shè)大小的多個(gè)待加密數(shù)據(jù)塊的步驟之前,所述方法還包括 在所述待加密文件的末尾進(jìn)行數(shù)據(jù)填充,填充的數(shù)據(jù)大小為所述第一預(yù)設(shè)值減去所述待加密文件大小對(duì)所述第一預(yù)設(shè)值取模的值,填充的數(shù)據(jù)內(nèi)容為所述第一預(yù)設(shè)值減去所述待加密文件大小對(duì)所述第一預(yù)設(shè)值取模的值。
6.一種數(shù)據(jù)加密系統(tǒng),其特征在于,所述系統(tǒng)包括 文件分割単元,用于接收輸入的待加密文件,將所述待加密文件平均分割為第一預(yù)設(shè)值大小的多個(gè)待加密數(shù)據(jù)塊; 分割加密單元,用于依次接收所述待加密數(shù)據(jù)塊,通過(guò)預(yù)設(shè)的秘密共享算法對(duì)每ー個(gè)接收的待加密數(shù)據(jù)塊進(jìn)行分割加密操作,得到多個(gè)加密文件; 文件選擇單元,用于對(duì)每一個(gè)接收的待加密數(shù)據(jù)塊進(jìn)行分割加密操作之后,從所述多個(gè)加密文件中選擇預(yù)設(shè)位置的一個(gè)文件; 文件確定單元,用于當(dāng)所述選擇的文件的大小大于第二預(yù)設(shè)值時(shí),將所述選擇的文件確定為輸入的待加密文件,跳轉(zhuǎn)至接收輸入的待加密文件,將所述待加密文件平均分割為多個(gè)待加密數(shù)據(jù)塊的步驟;以及 密鑰確定單元,用于當(dāng)所述選擇的文件的大小不大于第二預(yù)設(shè)值時(shí),確定所述選擇的文件為解密密鑰。
7.如權(quán)利要求6所述的系統(tǒng),其特征在于,所述分割加密單元包括 第一ニ進(jìn)制數(shù)獲取單元,用于將待加密數(shù)據(jù)塊平均分割為第三預(yù)設(shè)值個(gè)待加密數(shù)據(jù)段,獲取所述第三預(yù)設(shè)值個(gè)待加密數(shù)據(jù)段對(duì)應(yīng)的無(wú)符號(hào)ニ進(jìn)制數(shù); 多項(xiàng)式構(gòu)建単元,用于確定所述無(wú)符號(hào)ニ進(jìn)制數(shù)對(duì)應(yīng)的十進(jìn)制數(shù)為一元多項(xiàng)式的系數(shù),以構(gòu)建一個(gè)ー兀多項(xiàng)式;以及 加密文件得到単元,用于獲取第四預(yù)設(shè)值個(gè)預(yù)設(shè)輸入值對(duì)應(yīng)的所述一元多項(xiàng)式的函數(shù)值,將所有函數(shù)值分別存儲(chǔ)到每個(gè)預(yù)設(shè)輸入值對(duì)應(yīng)的文件中,得到第四預(yù)設(shè)值個(gè)加密文件。
8.如權(quán)利要求7所述的系統(tǒng),其特征在于,所述系統(tǒng)還包括 素?cái)?shù)確定單元,用于根據(jù)所述第一預(yù)設(shè)值和所述第三預(yù)設(shè)值確定ー個(gè)素?cái)?shù); 取模運(yùn)算単元,用于對(duì)所有所述對(duì)應(yīng)的所述一元多項(xiàng)式的函數(shù)值對(duì)所述素?cái)?shù)進(jìn)行取模運(yùn)算; 所述加密文件得到單元包括 存儲(chǔ)子単元,用于將所有取模運(yùn)算后的函數(shù)值分別存儲(chǔ)到每個(gè)預(yù)設(shè)輸入值對(duì)應(yīng)的文件中。
9.如權(quán)利要求8所述的系統(tǒng),其特征在于,所述系統(tǒng)還包括 有效位數(shù)獲取單元,用于獲取所述素?cái)?shù)對(duì)應(yīng)的ニ進(jìn)制位數(shù)的有效位數(shù); 比特?cái)?shù)確定單元,用于將所述有效位數(shù)對(duì)8進(jìn)行整除運(yùn)算,確定所述整除運(yùn)算結(jié)果為函數(shù)值存儲(chǔ)時(shí)該函數(shù)值對(duì)應(yīng)ニ制數(shù)中低位數(shù)據(jù)連續(xù)存儲(chǔ)的比特?cái)?shù); 所述存儲(chǔ)子單元具體包括第二ニ進(jìn)制數(shù)獲取單元,用于獲取取模運(yùn)算后的函數(shù)值對(duì)應(yīng)的ニ進(jìn)制數(shù),所述ニ進(jìn)制數(shù)的位數(shù)為所述有效位數(shù); 緩存單元,用于將所述ニ進(jìn)制數(shù)中位數(shù)為所述比特?cái)?shù)的低位數(shù)據(jù)以及所述ニ進(jìn)制數(shù)中的剰余數(shù)據(jù)分別緩存到每個(gè)預(yù)設(shè)輸入值對(duì)應(yīng)的緩存中; 所述系統(tǒng)進(jìn)ー步包括 存儲(chǔ)單元,用于將每個(gè)預(yù)設(shè)輸入值對(duì)應(yīng)的緩存中緩存的所有所述ニ進(jìn)制數(shù)中位數(shù)為所述比特?cái)?shù)的低位數(shù)據(jù)依次存儲(chǔ)到每個(gè)預(yù)設(shè)輸入值對(duì)應(yīng)的文件,并將所述每個(gè)預(yù)設(shè)輸入值對(duì)應(yīng)的緩存中緩存的所有剰余數(shù)據(jù)依次拼接為字節(jié),存儲(chǔ)到所述預(yù)設(shè)輸入值對(duì)應(yīng)的文件。
10.如權(quán)利要求7所述的系統(tǒng),所述系統(tǒng)還包括 數(shù)據(jù)填充単元,用于在所述待加密文件的末尾進(jìn)行數(shù)據(jù)填充,填充的數(shù)據(jù)大小為所述第一預(yù)設(shè)值減去所述待加密文件大小對(duì)所述第一預(yù)設(shè)值取模的值,填充的數(shù)據(jù)內(nèi)容為所述第一預(yù)設(shè)值減去所述待加密文件大小對(duì)所述第一預(yù)設(shè)值取模的值。
全文摘要
本發(fā)明適用于計(jì)算機(jī)技術(shù)領(lǐng)域,提供了一種數(shù)據(jù)加密方法及系統(tǒng),包括接收輸入的待加密文件,將待加密文件平均分割為第一預(yù)設(shè)值大小的多個(gè)待加密數(shù)據(jù)塊;依次接收待加密數(shù)據(jù)塊,通過(guò)預(yù)設(shè)的秘密共享算法對(duì)每一個(gè)接收的待加密數(shù)據(jù)塊進(jìn)行分割加密操作,得到多個(gè)加密文件,對(duì)每一個(gè)接收的待加密數(shù)據(jù)塊進(jìn)行分割加密操作之后,從多個(gè)加密文件中選擇預(yù)設(shè)位置的一個(gè)文件,當(dāng)選擇的文件的大小大于第二預(yù)設(shè)值時(shí),將選擇的文件確定為輸入的待加密文件,跳轉(zhuǎn)至將待加密文件平均分割為多個(gè)待加密數(shù)據(jù)塊的步驟,否則,確定選擇的文件為解密密鑰。本發(fā)明經(jīng)過(guò)多次分割加密,獲得預(yù)設(shè)大小范圍內(nèi)的解密密鑰,從而提高了待加密數(shù)據(jù)的安全性。
文檔編號(hào)G06F21/24GK102693398SQ20121014154
公開日2012年9月26日 申請(qǐng)日期2012年5月9日 優(yōu)先權(quán)日2012年5月9日
發(fā)明者王博, 賈松松, 陳劍勇 申請(qǐng)人:深圳大學(xué)