專利名稱:一種面向移動(dòng)終端閱讀的數(shù)字文件加密和解密方法
技術(shù)領(lǐng)域:
本發(fā)明屬于閱讀終端數(shù)字文件保護(hù)的技術(shù)領(lǐng)域,具體涉及一種面向移動(dòng)終端閱讀的數(shù)字文件加密和解密方法。
背景技術(shù):
隨著移動(dòng)互聯(lián)網(wǎng)的成熟和智能移動(dòng)終端的普及,基于智能移動(dòng)終端的移動(dòng)閱讀逐漸成為人們生活中必不可少的一部分。目前移動(dòng)數(shù)字閱讀的數(shù)字版權(quán)保護(hù)機(jī)制中保護(hù)手段仍然以傳統(tǒng)PC加密算法對數(shù)字文件加密為主,這種加密方法是基于PC相關(guān)平臺(tái),加密/解密方式基本上是通過對原基于PC平臺(tái)的算法向移動(dòng)終端平臺(tái)移植完成的,而移動(dòng)平臺(tái)操作系統(tǒng)支持能力不同,需對原加密/解密算法必須調(diào)整、裁剪,再加上移動(dòng)終端多平臺(tái)化(iOS、Symbian、Android、Windows Mobile 6.x、J2ME),更是提高了移動(dòng)平臺(tái)間算法一致性難度和風(fēng)險(xiǎn),導(dǎo)致可維護(hù)性差,且成本增加??梢?,現(xiàn)有的數(shù)字版權(quán)的保護(hù)方法未考慮智能移動(dòng)終端的資源受限性、操作系統(tǒng)封閉性和跨多平臺(tái)等特性,采用基于PC平臺(tái)下向移動(dòng)終端進(jìn)行移植的加密I解密,沒有針對移動(dòng)平臺(tái)特性,設(shè)計(jì)不合理,會(huì)導(dǎo)致耗費(fèi)移動(dòng)終端資源,效率降低。PC平臺(tái)加密入口唯一性以及多移動(dòng)終端平臺(tái)支持能力不一致性,會(huì)導(dǎo)致多移動(dòng)終端平臺(tái)的功能的不一致,而導(dǎo)致安全性降低。
發(fā)明內(nèi)容
針對現(xiàn)有技術(shù)中存在的缺陷及實(shí)際應(yīng)用的需要,本發(fā)明的目的在于提供一種面向移動(dòng)終端閱讀的數(shù)字文件加密和解密方法,降低移動(dòng)終端資源的消耗,提高運(yùn)行的效率。為實(shí)現(xiàn)上述目的,本發(fā)明采用的技術(shù)方案如下:一種面向移動(dòng)終端閱讀的數(shù)字文件加密方法,包括以下步驟:(I)設(shè)置混淆結(jié)構(gòu)中參數(shù);所述混淆結(jié)構(gòu)是指密鑰的結(jié)構(gòu);混淆結(jié)構(gòu)的參數(shù)包括密鑰版本標(biāo)識(shí)、原始數(shù)字文件的頭部字節(jié)數(shù)、尾部字節(jié)數(shù)、部分加密主體字節(jié)數(shù)、頭部混淆算法、尾部混淆算法、加密主體混淆算法;所述混淆算法是指將字節(jié)中的位內(nèi)容進(jìn)行換位處理;所述部分加密主體字節(jié)數(shù)是指原始數(shù)字文件中頭部字節(jié)數(shù)和尾部字節(jié)數(shù)以外的需要加密的部分主體字節(jié)數(shù);(2)選擇待加密的原始數(shù)字文件,并根據(jù)混淆結(jié)構(gòu)中的參數(shù)信息獲取數(shù)字文件的頭部、尾部和部分加密主體字節(jié)數(shù)據(jù);(3)根據(jù)混淆結(jié)構(gòu)中的設(shè)置參數(shù),分別對原始數(shù)字文件的頭部、尾部和加密主體字節(jié)數(shù)據(jù)進(jìn)行混淆處理,得到混淆后的頭部字節(jié)數(shù)據(jù)、尾部字節(jié)數(shù)據(jù)和部分加密主體字節(jié)數(shù)據(jù);(4)將混淆后的各字節(jié)數(shù)據(jù)重新組合得到混淆后的加密數(shù)字文件。進(jìn)一步,如上所述的一種面向移動(dòng)終端閱讀的數(shù)字文件加密方法,步驟(4)中,重新組合得到混淆后加密數(shù)字文件的具體方式為:將混淆后的頭部字節(jié)數(shù)據(jù)、尾部字節(jié)數(shù)據(jù)和部分加密主體字節(jié)數(shù)據(jù)按照部分加密主體字節(jié)數(shù)據(jù)、頭部字節(jié)數(shù)據(jù)、尾部字節(jié)數(shù)據(jù)的順序組合,混淆后的部分加密主體字節(jié)數(shù)據(jù)為加密數(shù)字文件的初始部分,原始數(shù)字文件的其它字節(jié)數(shù)據(jù)作為加密數(shù)字文件的結(jié)尾部分。進(jìn)一步,如上所述的一種面向移動(dòng)終端閱讀的數(shù)字文件加密方法,所述方法的步驟⑶與步驟⑷之間還包括以下步驟:(3-4)計(jì)算混淆后部分加密主體字節(jié)的偏移字節(jié)數(shù),所述偏移字節(jié)數(shù)是指混淆后的部分加密主體字節(jié)后的主體字節(jié)數(shù)。進(jìn)一步,如上所述的一種面向移動(dòng)終端閱讀的數(shù)字文件加密方法,所述混淆結(jié)構(gòu)的參數(shù)還包括頭部移位模因子;所述頭部移位模因子是指計(jì)算偏移字節(jié)數(shù)的模因子。再進(jìn)一步,如上所述的一種面向移動(dòng)終端閱讀的數(shù)字文件加密方法,將原始數(shù)字文件按頭部移位模因子進(jìn)行模運(yùn)算后的數(shù)值即為偏移字節(jié)數(shù)。更進(jìn)一步,如上所述的一種面向移動(dòng)終端閱讀的數(shù)字文件加密方法,步驟(4)中,將混淆后的各字節(jié)數(shù)據(jù)重新組合得到加密數(shù)字文件的具體方式為:將混淆后的頭部字節(jié)數(shù)據(jù)、尾部字節(jié)數(shù)據(jù)和部分加密主體字節(jié)數(shù)據(jù)、偏移字節(jié)數(shù)據(jù)按照部分加密主體字節(jié)數(shù)據(jù)、偏移字節(jié)數(shù)據(jù)、頭部字節(jié)數(shù)據(jù)、尾部字節(jié)數(shù)據(jù)的順序組合,混淆后的部分加密主體字節(jié)數(shù)據(jù)為加密數(shù)字文件的初始部分,原始數(shù)字文件的其它字節(jié)數(shù)據(jù)作為加密數(shù)字文件的結(jié)尾部分。一種面向移動(dòng)終端閱讀的數(shù)字文件解密方法,包括以下步驟:(I)根據(jù)混淆結(jié)構(gòu)中的參數(shù)設(shè)置,分別獲取加密數(shù)字文件中所對應(yīng)的混淆后的原始數(shù)字文件的頭部字節(jié)數(shù)據(jù)、尾部字節(jié)數(shù)據(jù)和部分加密主體字節(jié)數(shù)據(jù);(2)根據(jù)混淆結(jié)構(gòu)中的頭部混淆算法、尾部混淆算法、加密主體混淆算法分別對混淆后的原始數(shù)字文件的頭部字節(jié)數(shù)據(jù)、尾部字節(jié)數(shù)據(jù)和部分加密主體字節(jié)數(shù)據(jù)進(jìn)行解密;(3)將解密后的原始數(shù)字文件的頭部字節(jié)數(shù)據(jù)、尾部字節(jié)數(shù)據(jù)和部分加密主體字節(jié)數(shù)據(jù)重新組合成原始數(shù)字文件。進(jìn)一步,如上所述的一種面向移動(dòng)終端閱讀的數(shù)字文件解密方法,步驟(3)中,將解密后的原始數(shù)字文件的頭部字節(jié)數(shù)據(jù)、尾部字節(jié)數(shù)據(jù)和部分加密主體字節(jié)數(shù)據(jù)按照頭部字節(jié)數(shù)據(jù)、部分加密主體字節(jié)數(shù)據(jù)、其它字節(jié)數(shù)據(jù)和尾部字節(jié)數(shù)據(jù)的順序重新組合成原始數(shù)字文件。再進(jìn)一步,如上所述的一種面向移動(dòng)終端閱讀的數(shù)字文件解密方法,所述混淆結(jié)構(gòu)中如果包括頭部位移模因子,則該方法步驟(I)之前還包括:根據(jù)加密數(shù)字文件的混淆結(jié)構(gòu)中的頭部移位模因子,計(jì)算偏移字節(jié)數(shù)。更進(jìn)一步,如上所述的一種面向移動(dòng)終端閱讀的數(shù)字文件解密方法,步驟(3)中,將解密后的將解密后的原始數(shù)字文件的頭部字節(jié)數(shù)據(jù)、尾部字節(jié)數(shù)據(jù)和部分加密主體字節(jié)數(shù)據(jù)、偏移字節(jié)數(shù)據(jù)按照頭部字節(jié)數(shù)據(jù)、部分加密主體字節(jié)數(shù)據(jù)、偏移字節(jié)數(shù)據(jù)、其它字節(jié)數(shù)據(jù)和尾部字節(jié)數(shù)據(jù)的順序重新組合成原始數(shù)字文件。本發(fā)明的效果在于:本發(fā)明采用對稱密鑰加密方式,對原始數(shù)字文件中頭部、尾部及部分主體字節(jié)分別進(jìn)行混淆加解密的方法,實(shí)現(xiàn)對數(shù)字文件的保護(hù)。密鑰構(gòu)成簡單,易于管理,無需特定格式重新組裝文件內(nèi)容即能滿足文件保護(hù)需要,具有較強(qiáng)的方便性和普適性,更適合面向移動(dòng)終端閱讀的數(shù)字文件的保護(hù)。
圖1為具體實(shí)施方式
中一種面向移動(dòng)終端閱讀的數(shù)字文件加密方法的流程圖;圖2為具體實(shí)施方式
中混淆結(jié)構(gòu)的示意圖;圖3為本發(fā)明一種面向移動(dòng)終端閱讀的數(shù)字文件解密方法的流程圖;圖4為實(shí)施例中的混淆結(jié)構(gòu)示例圖;圖5為實(shí)施例中按混淆結(jié)構(gòu)參數(shù)對原始數(shù)字文件進(jìn)行設(shè)置后的示意圖;圖6為實(shí)施例中對頭部字節(jié)數(shù)據(jù)進(jìn)行混淆的示意圖;圖7為實(shí)施例中對尾部字節(jié)數(shù)據(jù)進(jìn)行混淆的示意圖;圖8為實(shí)施例中對部分加密主體字節(jié)數(shù)據(jù)進(jìn)行混淆的示意圖;圖9為實(shí)施例中混淆后的加密數(shù)字文件的結(jié)構(gòu)示意圖。
具體實(shí)施例方式本發(fā)明是基于移動(dòng)終端資源受限、操作系統(tǒng)封閉性等特點(diǎn),充分考慮移動(dòng)終端閱讀特性,以及閱讀文件頭尾帶有特定信息、易于識(shí)別特征等特點(diǎn),提出的一種以字節(jié)混淆、特定字節(jié)移位的加解密方法,該方法采用對稱密鑰方式,密鑰結(jié)構(gòu)簡單,易于管理和更新,以及移動(dòng)終端傳遞,具有較強(qiáng)的普適性。在本具體實(shí)施方式
混淆結(jié)構(gòu)(密鑰)中的主要相關(guān)參數(shù)如下:密鑰版本標(biāo)識(shí):標(biāo)識(shí)密鑰版本,不同版本混淆結(jié)構(gòu)(密鑰)參數(shù)值不同;頭部字節(jié)數(shù):邏輯上原始數(shù)據(jù)文件頭部區(qū)域所占字節(jié)長度;頭部混淆方式:原始數(shù)據(jù)文件頭部各字節(jié)混淆的方式;尾部字節(jié)數(shù):邏輯上原始數(shù)據(jù)文件尾部區(qū)域所占字節(jié)長度;尾部混淆方式:數(shù)據(jù)文件尾部原始各字節(jié)混淆的方式部分加密主體字節(jié)數(shù):數(shù)據(jù)文件主體中一部分需進(jìn)行混淆處理的字節(jié)長度,從主體起始位置截??;部分加密主體混淆方式:數(shù)據(jù)文件主體中設(shè)定部分的混淆方式;頭部移位模因子:利用該因子對實(shí)際文件長度進(jìn)行模運(yùn)算后的值作為文件頭部混淆后寫入加密文件的實(shí)際偏移字節(jié)數(shù)位置。下面結(jié)合說明書附圖與具體實(shí)施方式
對本發(fā)明做進(jìn)一步的詳細(xì)說明。圖1示出了本發(fā)明一種面向移動(dòng)終端閱讀的數(shù)字文件加密方法的流程圖,該方法包括主要以下步驟:步驟1:設(shè)置混淆結(jié)構(gòu)參數(shù);設(shè)置混淆結(jié)構(gòu)中的參數(shù)。本發(fā)明所提出的加解密方法是一種以字節(jié)混淆為基礎(chǔ)的方法,所以在對原始數(shù)字文件進(jìn)行加密前,需要設(shè)置混淆結(jié)構(gòu)的參數(shù),即密鑰的結(jié)構(gòu)。本實(shí)施方式中的混淆結(jié)構(gòu)如圖2所示,主要包括以下參數(shù):密鑰版本標(biāo)識(shí),用于標(biāo)識(shí)混淆加密的版本;頭部字節(jié)數(shù)及頭部混淆算法;尾部字節(jié)數(shù)及尾部混淆算法、部分加密主體字節(jié)數(shù)及其混淆算法、和頭部移位模因子。其中,混淆算法即本發(fā)明的加密處理,具體是將字節(jié)中的內(nèi)容進(jìn)行換位處理;頭部移位模因子指的是在計(jì)算特定移位字節(jié)時(shí)的模因子,將原始數(shù)字文件的長度按照頭部移位模因子進(jìn)行模運(yùn)算后的結(jié)果數(shù)值即為特定移位字節(jié)數(shù)(偏移字節(jié)數(shù))。
本發(fā)明中在原始數(shù)字文件在邏輯上分成了三大部分:頭部(文件的初始部分)、主體部分和尾部(文件的結(jié)尾部分)。其中,主體部分包括了需要進(jìn)行混淆加密的部分加密主體字節(jié)、偏移字節(jié)和其它主體字節(jié)。步驟2:根據(jù)混淆結(jié)構(gòu)的設(shè)置參數(shù)獲取文件的頭部、尾部及部分加密主體字節(jié)數(shù)據(jù);步驟3:對頭部、尾部及部分加密主體字節(jié)數(shù)據(jù)進(jìn)行混淆處理;根據(jù)步驟I中對圖2中所示的混淆結(jié)構(gòu)的參數(shù)進(jìn)行的設(shè)置,獲取原始數(shù)字文件的對應(yīng)的頭部字節(jié)數(shù)據(jù)、尾部字節(jié)數(shù)據(jù)和部分加密主體字節(jié)數(shù)據(jù)。例如在混淆結(jié)構(gòu)中頭部字節(jié)數(shù)為2、尾部字節(jié)數(shù)為1、部分加密主體字節(jié)數(shù)為4,則將原始數(shù)字文件中的初始兩個(gè)字節(jié)數(shù)據(jù)設(shè)置為頭部字節(jié)數(shù)據(jù),結(jié)尾部分的I個(gè)字節(jié)數(shù)據(jù)設(shè)置為尾部字節(jié)數(shù)據(jù),其它部分為主體部分,將頭部字節(jié)數(shù)據(jù)后的4個(gè)字節(jié)數(shù)據(jù)為部分加密主體字節(jié)數(shù)據(jù)。獲取各部分的字節(jié)數(shù)據(jù)后,再根據(jù)混淆結(jié)構(gòu)中所設(shè)置的各部分的混淆算法(加密方法)對各部字節(jié)數(shù)據(jù)進(jìn)行混淆處理,得到混淆后的頭部字節(jié)數(shù)據(jù)、尾部字節(jié)數(shù)據(jù)和部分加密主體字節(jié)數(shù)據(jù)。本實(shí)施方式中混淆處理是以字節(jié)為單位進(jìn)行的,所述的混淆處理指的是對各個(gè)字節(jié)的8位(O 7)按照混淆結(jié)構(gòu)設(shè)置的混淆算法進(jìn)行位置對換。例如混淆結(jié)構(gòu)中的頭部混淆算法為21036547,表示將頭部字節(jié)數(shù)據(jù)中的每個(gè)字節(jié)中的具體對換為:0<->2,4<->6,即將原始數(shù)字文件中的第一位作為混淆后的第三位,第5為作為混淆后的第7為,其它為保持不變。步驟4:計(jì)算偏移字節(jié)數(shù);根據(jù)混淆結(jié)構(gòu)頭部移位模因子計(jì)算偏移字節(jié)數(shù),該偏移字節(jié)數(shù)指的是混淆后的部分加密主體字節(jié)數(shù)據(jù)后的特定字節(jié)偏移量,計(jì)算偏移字節(jié)數(shù)的方式為:將原始數(shù)字文件按照所設(shè)置的頭部移位模因子進(jìn)行模運(yùn)算,模運(yùn)算的結(jié)果數(shù)值即為偏移字節(jié)數(shù)。步驟5:對頭部、尾部、部分加密主體字節(jié)和偏移字節(jié)數(shù)據(jù)重新組合得到加密數(shù)字文件。將步驟3中得到的混淆后的頭部字節(jié)數(shù)據(jù)、尾部字節(jié)數(shù)據(jù)和部分加密主體字節(jié)數(shù)據(jù)以及步驟4中計(jì)算的偏移字節(jié)數(shù)據(jù)進(jìn)行重新組合獲得加密數(shù)字文件,組合的具體方式如下:將上述各部分?jǐn)?shù)據(jù)按照以下順序進(jìn)行組合:部分加密主體字節(jié)數(shù)據(jù)- >偏移字節(jié)數(shù)據(jù)- >頭部字節(jié)- >尾部字節(jié)的順序組合,即混淆后的部分加密主體字節(jié)數(shù)據(jù)作為加密數(shù)字文件的初始部分,原始數(shù)字文件中上述字節(jié)數(shù)據(jù)外的其它字節(jié)數(shù)據(jù)作為加密數(shù)字文件的結(jié)尾部分。當(dāng)然,本發(fā)明所提供的上述以字節(jié)混淆、特定字節(jié)整體位移為基礎(chǔ)的加密方式中,對于混淆后各部分字節(jié)數(shù)據(jù)以及偏移字節(jié)數(shù)據(jù)的重新組合方式并不是唯一的。步驟4中計(jì)算偏移字節(jié)數(shù)也不是必須的,在實(shí)際運(yùn)用過程中,也可以在混淆結(jié)構(gòu)中不設(shè)置頭部移位模因子,此時(shí)只需要對頭部、尾部及部分加密主體字節(jié)數(shù)據(jù)進(jìn)行混淆后重新組合即可得到混淆后的加密數(shù)字文件。設(shè)置頭部移位模因子,將偏移字節(jié)數(shù)據(jù)隱藏于文件特定位置,是為了進(jìn)一步的提高數(shù)字文件的加密強(qiáng)度。頭部位移模因子的取值一般為2或3。圖3示出了基于圖1中面向移動(dòng)終端閱讀的數(shù)字文件加密方法的數(shù)字文件的解密方法,該方法主要包括以下步驟:
步驟11:計(jì)算偏移字節(jié)數(shù);根據(jù)加密數(shù)字文件的混淆結(jié)構(gòu)中的頭部移位模因子,計(jì)算偏移字節(jié)數(shù)。將加密數(shù)字文件的長度按照設(shè)置的頭部位移模因子進(jìn)行模運(yùn)算,得到文件的偏移字節(jié)數(shù)。步驟21:獲取加密數(shù)字文件中所對應(yīng)的混淆后的原始數(shù)字文件中的頭部、尾部和部分加密主體字節(jié)數(shù)據(jù);根據(jù)混淆結(jié)構(gòu)中的參數(shù)設(shè)置及偏移字節(jié)數(shù),分別獲取加密數(shù)字文件中所對應(yīng)的混淆后的原始數(shù)字文件的頭部字節(jié)數(shù)據(jù)、尾部字節(jié)數(shù)據(jù)和部分加密主體字節(jié)數(shù)據(jù)。由上述加密方法的步驟5中的重新組合方式可知,加密數(shù)字文件的初始字節(jié)數(shù)據(jù)即為原始數(shù)字文件的部分加密主體字節(jié)數(shù)據(jù),所以可以根據(jù)混淆結(jié)構(gòu)中的部分加密主體字節(jié)數(shù)直接得到原始數(shù)字文件的部分加密主體字節(jié)數(shù)據(jù)。部分加密主體字節(jié)后即為偏移字節(jié),偏移字節(jié)數(shù)據(jù)面即為原始數(shù)字文件的頭部字節(jié)數(shù)據(jù),頭部字節(jié)數(shù)據(jù)后位尾部字節(jié)數(shù)據(jù),剩余的為其它主體字節(jié)數(shù)據(jù)。根據(jù)步驟21中計(jì)算得到的偏移字節(jié)數(shù)以及上述位置關(guān)系可以分別獲取到原始數(shù)字文件的頭部字節(jié)數(shù)據(jù)、尾部字節(jié)數(shù)據(jù)。步驟31:根據(jù)各部分字節(jié)的混淆算法對原始數(shù)字文件的各部分?jǐn)?shù)據(jù)進(jìn)行解密;根據(jù)混淆結(jié)構(gòu)中設(shè)置的頭部混淆算法、尾部混淆算法、加密主體混淆算法分別對混淆后的原始數(shù)字文件的頭部字節(jié)數(shù)據(jù)、尾部字節(jié)數(shù)據(jù)和部分加密主體字節(jié)數(shù)據(jù)進(jìn)行解密,得到解密后的各部分字節(jié)數(shù)據(jù),即原始的混淆前得數(shù)據(jù)。步驟41:將解密后的各部分字節(jié)數(shù)據(jù)重新組合得到原始數(shù)字文件。將步驟S31中解密后的原始數(shù)字文件的頭部字節(jié)數(shù)據(jù)、尾部字節(jié)數(shù)據(jù)和部分加密主體字節(jié)數(shù)據(jù)按照頭部字節(jié)數(shù)據(jù)、部分加密主體字節(jié)數(shù)據(jù)、其它字節(jié)數(shù)據(jù)和尾部字節(jié)數(shù)據(jù)的順序重新組合成原始數(shù)字文件。當(dāng)然,如果混淆結(jié)構(gòu)的參數(shù)中不存在頭部移位模因子,即可直接由步驟21獲取各部分字節(jié)數(shù)據(jù),然后根據(jù)混淆算法解密后重新組合得到原始數(shù)字文件。下面結(jié)合具體的實(shí)施例對本發(fā)明進(jìn)行進(jìn)一步詳細(xì)的說明。實(shí)施例本實(shí)施例中以對文件長度為1023的原始數(shù)字文件進(jìn)行混淆加密為例對本發(fā)明的方法進(jìn)行說明。首先設(shè)置原始數(shù)字文件的混淆結(jié)構(gòu)參數(shù),示意圖如圖4所示,根據(jù)混淆結(jié)構(gòu)中的設(shè)置參數(shù)獲取原始數(shù)字文件的頭部字節(jié)數(shù)據(jù)、尾部字節(jié)數(shù)據(jù)和部分加密主體字節(jié)數(shù)據(jù),其示意圖如圖5所示,頭部字節(jié)數(shù)為2個(gè)字節(jié)、尾部字節(jié)數(shù)為I個(gè)字節(jié)、部分加密主體字節(jié)數(shù)為3個(gè)字節(jié)。然后對各部分的字節(jié)數(shù)據(jù)根據(jù)混淆結(jié)構(gòu)中的設(shè)置進(jìn)行混淆處理,由圖4中可以看出頭部混淆算法為:21036547,即對頭部兩個(gè)字節(jié)數(shù)據(jù)按照21036547(即0〈->2,4〈->6換位)進(jìn)行換位處理,混淆的示意圖如圖6所示。同樣根據(jù)混淆結(jié)構(gòu)中的尾部混淆算法和部分加密主體字節(jié)算法分別對尾部字節(jié)數(shù)據(jù)和部分加密主體字節(jié)算法進(jìn)行混淆,混淆的示意圖如圖7和圖8所不。本實(shí)施例中的頭部移位模因子為2,文件長度為1023字節(jié),將文件長度按模2進(jìn)行模運(yùn)算的結(jié)果數(shù)值為1,因此,本實(shí)施例中的偏移字節(jié)數(shù)為I。最后將混淆后的頭部字節(jié)數(shù)據(jù)、尾部字節(jié)數(shù)據(jù)、部分加密主體字節(jié)數(shù)據(jù)和偏移字節(jié)數(shù)據(jù)重新組合得到混淆后的加密數(shù)字文件,混淆后的加密數(shù)字文件的結(jié)構(gòu)示意圖如圖9所示。
顯然,本領(lǐng)域的技術(shù)人員可以對本發(fā)明進(jìn)行各種改動(dòng)和變型而不脫離本發(fā)明的精神和范圍。這樣,倘若本發(fā)明的這些修改和變型屬于本發(fā)明權(quán)利要求及其同等技術(shù)的范圍之內(nèi),則本發(fā)明也意圖包含這些改動(dòng)和變型在內(nèi)。
權(quán)利要求
1.一種面向移動(dòng)終端閱讀的數(shù)字文件加密方法,包括以下步驟: (1)設(shè)置混淆結(jié)構(gòu)中參數(shù);所述混淆結(jié)構(gòu)是指密鑰的結(jié)構(gòu);混淆結(jié)構(gòu)的參數(shù)包括密鑰版本標(biāo)識(shí)、原始數(shù)字文件的頭部字節(jié)數(shù)、尾部字節(jié)數(shù)、部分加密主體字節(jié)數(shù)、頭部混淆算法、尾部混淆算法、加密主體混淆算法;所述混淆算法是指將字節(jié)中的位內(nèi)容進(jìn)行換位處理;所述部分加密主體字節(jié)數(shù)是指原始數(shù)字文件中頭部字節(jié)數(shù)和尾部字節(jié)數(shù)以外的需要加密的部分主體字節(jié)數(shù); (2)選擇待加密的原始數(shù)字文件,并根據(jù)混淆結(jié)構(gòu)中的參數(shù)信息獲取數(shù)字文件的頭部、尾部和部分加密主體字節(jié)數(shù)據(jù); (3)根據(jù)混淆結(jié)構(gòu)中的設(shè)置參數(shù),分別對原始數(shù)字文件的頭部、尾部和加密主體字節(jié)數(shù)據(jù)進(jìn)行混淆處理,得到混淆后的頭部字節(jié)數(shù)據(jù)、尾部字節(jié)數(shù)據(jù)和部分加密主體字節(jié)數(shù)據(jù); (4)將混淆后的各字節(jié)數(shù)據(jù)重新組合得到混淆后的加密數(shù)字文件。
2.如權(quán)利要求1所述的一種面向移動(dòng)終端閱讀的數(shù)字文件加密方法,其特征在于:步驟(4)中,重新組合得到混淆后加密數(shù)字文件的具體方式為: 將混淆后的頭部字節(jié)數(shù)據(jù)、尾部字節(jié)數(shù)據(jù)和部分加密主體字節(jié)數(shù)據(jù)按照部分加密主體字節(jié)數(shù)據(jù)、頭部字節(jié)數(shù)據(jù)、尾部字節(jié)數(shù)據(jù)的順序組合,混淆后的部分加密主體字節(jié)數(shù)據(jù)為加密數(shù)字文件的初始部分,原始數(shù)字文件的其它字節(jié)數(shù)據(jù)作為加密數(shù)字文件的結(jié)尾部分。
3.如權(quán)利要求1所述的一種面向移動(dòng)終端閱讀的數(shù)字文件加密方法,其特征在于:所述方法的步驟(3)與步驟(4)之間還包括以下步驟:` (3-4)計(jì)算混淆后部分加密主體字節(jié)的偏移字節(jié)數(shù),所述偏移字節(jié)數(shù)是指混淆后的部分加密主體字節(jié)后的主體字節(jié)數(shù)。
4.如權(quán)利要求3所述的一種面向移動(dòng)終端閱讀的數(shù)字文件加密方法,其特征在于:所述混淆結(jié)構(gòu)的參數(shù)還包括頭部移位模因子;所述頭部移位模因子是指計(jì)算偏移字節(jié)數(shù)的模因子。
5.如權(quán)利要求4所述的一種面向移動(dòng)終端閱讀的數(shù)字文件加密方法,其特征在于:將原始數(shù)字文件按頭部移位模因子進(jìn)行模運(yùn)算后的數(shù)值即為偏移字節(jié)數(shù)。
6.如權(quán)利要求5所述的一種面向移動(dòng)終端閱讀的數(shù)字文件加密方法,其特征在于:步驟(4)中,將混淆后的各字節(jié)數(shù)據(jù)重新組合得到加密數(shù)字文件的具體方式為:將混淆后的頭部字節(jié)數(shù)據(jù)、尾部字節(jié)數(shù)據(jù)和部分加密主體字節(jié)數(shù)據(jù)、偏移字節(jié)數(shù)據(jù)按照部分加密主體字節(jié)數(shù)據(jù)、偏移字節(jié)數(shù)據(jù)、頭部字節(jié)數(shù)據(jù)、尾部字節(jié)數(shù)據(jù)的順序組合,混淆后的部分加密主體字節(jié)數(shù)據(jù)為加密數(shù)字文件的初始部分,原始數(shù)字文件的其它字節(jié)數(shù)據(jù)作為加密數(shù)字文件的結(jié)尾部分。
7.一種面向移動(dòng)終端閱讀的數(shù)字文件解密方法,包括以下步驟: (1)根據(jù)混淆結(jié)構(gòu)中的參數(shù)設(shè)置,分別獲取加密數(shù)字文件中所對應(yīng)的混淆后的原始數(shù)字文件的頭部字節(jié)數(shù)據(jù)、尾部字節(jié)數(shù)據(jù)和部分加密主體字節(jié)數(shù)據(jù); (2)根據(jù)混淆結(jié)構(gòu)中的頭部混淆算法、尾部混淆算法、加密主體混淆算法分別對混淆后的原始數(shù)字文件的頭部字節(jié)數(shù)據(jù)、尾部字節(jié)數(shù)據(jù)和部分加密主體字節(jié)數(shù)據(jù)進(jìn)行解密; (3)將解密后的原始數(shù)字文件的頭部字節(jié)數(shù)據(jù)、尾部字節(jié)數(shù)據(jù)和部分加密主體字節(jié)數(shù)據(jù)重新組合成原始數(shù)字文件。
8.如權(quán)利要求7所述的一種面向移動(dòng)終端閱讀的數(shù)字文件解密方法,其特征在于:步驟(3)中,將解密后的原始數(shù)字文件的頭部字節(jié)數(shù)據(jù)、尾部字節(jié)數(shù)據(jù)和部分加密主體字節(jié)數(shù)據(jù)按照頭部字節(jié)數(shù)據(jù)、部分加密主體字節(jié)數(shù)據(jù)、其它字節(jié)數(shù)據(jù)和尾部字節(jié)數(shù)據(jù)的順序重新組合成原始數(shù)字文件。
9.如權(quán)利要求7所述的一種面向移動(dòng)終端閱讀的數(shù)字文件解密方法,其特征在于:所述混淆結(jié)構(gòu)中如果包括頭部位移模因子,則該方法步驟(I)之前還包括:根據(jù)加密數(shù)字文件的混淆結(jié)構(gòu)中的頭部移位模因子,計(jì)算偏移字節(jié)數(shù)。
10.如權(quán)利要求9所述的一種面向移動(dòng)終端閱讀的數(shù)字文件解密方法,其特征在于:步驟(3)中,將解密后的原始數(shù)字文件的頭部字節(jié)數(shù)據(jù)、尾部字節(jié)數(shù)據(jù)和部分加密主體字節(jié)數(shù)據(jù)、偏移字節(jié)數(shù)據(jù)按照頭部字節(jié)數(shù)據(jù)、部分加密主體字節(jié)數(shù)據(jù)、偏移字節(jié)數(shù)據(jù)、其它字節(jié)數(shù)據(jù)和尾部字節(jié)數(shù)據(jù)的順序重新組合成原始數(shù)字文件。
全文摘要
本發(fā)明公開了一種面向移動(dòng)終端閱讀的數(shù)字文件加密和解密方法,屬于數(shù)字文件保護(hù)技術(shù)領(lǐng)域。本發(fā)明基于閱讀文件頭尾帶有文件特定信息,易被識(shí)別特征,充分考慮移動(dòng)終端資源受限、操作系統(tǒng)封閉性等特點(diǎn),根據(jù)混淆結(jié)構(gòu)中的參數(shù)設(shè)置,將原始數(shù)字文件的各部分?jǐn)?shù)據(jù)分別進(jìn)行字節(jié)位混淆處理,將混淆后的字節(jié)進(jìn)行重新組合得到混淆后的加密數(shù)字文件,并通過設(shè)置頭部移位模因子,提高加密強(qiáng)度。此外,本發(fā)明還提出了基于上述加密方法的解密方法。采用對稱密鑰加密方式,密鑰構(gòu)成簡單,易于管理,無需采用特定格式重新組裝內(nèi)容即可實(shí)現(xiàn)對文件的保護(hù),具有較強(qiáng)的方便性和普適性,更適合移動(dòng)終端閱讀的數(shù)字文件的保護(hù)。
文檔編號H04L9/00GK103188077SQ20111044385
公開日2013年7月3日 申請日期2011年12月27日 優(yōu)先權(quán)日2011年12月27日
發(fā)明者梁長慶, 李永蕊 申請人:方正國際軟件(北京)有限公司