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

文件的加密和解密方法、裝置及系統(tǒng)的制作方法

文檔序號(hào):6430662閱讀:228來(lái)源:國(guó)知局
專利名稱:文件的加密和解密方法、裝置及系統(tǒng)的制作方法
技術(shù)領(lǐng)域
本發(fā)明涉及數(shù)字版權(quán)管理領(lǐng)域,尤其涉及一種文件的加密和解密方法、裝置及系統(tǒng)。
背景技術(shù)
隨著網(wǎng)絡(luò)和移動(dòng)通訊技術(shù)的發(fā)展,數(shù)字文件的傳播速度得到了大大的提高,用戶獲得數(shù)字文件的途徑也變得簡(jiǎn)單而多樣。但是,如果缺乏有效的版權(quán)保護(hù),數(shù)字文件將很容易遭到盜版,數(shù)字文件的版權(quán)所有者也會(huì)失去應(yīng)得的利益。因此,數(shù)字文件的網(wǎng)絡(luò)傳播需要通過(guò)數(shù)字版權(quán)管理(Digital Rights Management,DRM)進(jìn)行有效的保護(hù)。DRM的基本工作原理為在數(shù)字文件的授權(quán)中心,即在DRM服務(wù)器上,對(duì)數(shù)字文件進(jìn)行高級(jí)加密標(biāo)準(zhǔn) (Advanced Encryption Standard, AES)加密并壓縮;當(dāng)用戶在終端上閱讀數(shù)字文件時(shí),需要連接到相應(yīng)的授權(quán)中心,并通過(guò)授權(quán)中心的驗(yàn)證授權(quán)后,再對(duì)數(shù)字文件進(jìn)行AES解密和閱讀。目前,通常采用的DRM技術(shù)為在DRM服務(wù)器上,將數(shù)字文件的內(nèi)容整體讀入到內(nèi)存中,然后進(jìn)行AES加密并保存。在終端進(jìn)行閱讀時(shí),從服務(wù)器上獲取加密的數(shù)字文件,然后將加密的數(shù)字文件的內(nèi)容整體讀入到內(nèi)存中,進(jìn)行AES解密。在實(shí)現(xiàn)上述文件的加密和解密的過(guò)程中,發(fā)明人發(fā)現(xiàn)現(xiàn)有技術(shù)中至少存在如下問(wèn)題由于需要將數(shù)字文件的內(nèi)容整體讀入到內(nèi)存中進(jìn)行加密和解密,對(duì)DRM服務(wù)器和終端設(shè)備的內(nèi)存要求較高。并且,需要對(duì)整個(gè)數(shù)字文件中的每個(gè)字節(jié)都進(jìn)行加密和解密,消耗的時(shí)間較長(zhǎng),而且數(shù)字文件的體積越大,加密和解密所消耗的時(shí)間就越長(zhǎng)。

發(fā)明內(nèi)容
本發(fā)明的實(shí)施例提供一種文件的加密和解密方法、裝置及系統(tǒng),能夠提高數(shù)字文件加密和解密的效率,并且不需要加密裝置或解密裝置具備較大的內(nèi)存,能在數(shù)字文件解密的過(guò)程中將已解密的內(nèi)容呈現(xiàn),提高用戶體驗(yàn)感。為達(dá)到上述目的,本發(fā)明的實(shí)施例采用如下技術(shù)方案一種文件的加密方法,包括從原始文件的開頭讀取起始長(zhǎng)度的文件內(nèi)容,寫入加密文件中,其中起始長(zhǎng)度為從原始文件的開頭到密文和明文相交替進(jìn)行加密的起始位置之間的長(zhǎng)度;將原始文件起始長(zhǎng)度之后的文件內(nèi)容,按照密文和明文相交替的形式進(jìn)行加密, 并將加密后的文件內(nèi)容寫入加密文件中。一種文件的解密方法,包括從加密文件的開頭讀取起始長(zhǎng)度的文件內(nèi)容,寫入解密文件中,其中初始長(zhǎng)度為從加密文件的開頭到密文和明文相交替進(jìn)行解密的起始位置之間的長(zhǎng)度;將加密文件起始長(zhǎng)度之后的文件內(nèi)容,按照密文和明文相交替的形式進(jìn)行解密, 并將解密后的文件內(nèi)容寫入解密文件中。
一種文件的加密裝置,包括起始加密單元,用于從原始文件的開頭讀取起始長(zhǎng)度的文件內(nèi)容,寫入加密文件中,其中起始長(zhǎng)度為從原始文件的開頭到密文和明文相交替進(jìn)行加密的起始位置之間的長(zhǎng)度;交替加密單元,用于將原始文件起始長(zhǎng)度之后的文件內(nèi)容,按照密文和明文相交替的形式進(jìn)行加密,并將加密后的文件內(nèi)容寫入加密文件中。一種文件的解密裝置,包括起始解密單元,用于從加密文件的開頭讀取起始長(zhǎng)度的文件內(nèi)容,寫入解密文件中,其中初始長(zhǎng)度為從加密文件的開頭到密文和明文相交替進(jìn)行解密的起始位置之間的長(zhǎng)度;交替解密單元,用于將加密文件起始長(zhǎng)度之后的文件內(nèi)容,按照密文和明文相交替的形式進(jìn)行解密,并將解密后的文件內(nèi)容寫入解密文件中。一種文件的加密和解密系統(tǒng),包括加密裝置和解密裝置。本發(fā)明實(shí)施例提供的文件的加密和解密方法、裝置及系統(tǒng),在加密時(shí)按照預(yù)定的明文長(zhǎng)度和密文長(zhǎng)度將原始文件分段讀取到內(nèi)存中進(jìn)行加密處理,與現(xiàn)有技術(shù)中將原始文件整體讀入內(nèi)存進(jìn)行加密的方法相比,對(duì)加密裝置的內(nèi)存要求較低。并且,通過(guò)密文與明文相互間隔的形式進(jìn)行加密和解密,與現(xiàn)有技術(shù)中將原始文件中的每一個(gè)字節(jié)都進(jìn)行加密和解密的方法相比,減少了需要進(jìn)行加密和解密的數(shù)據(jù)量,能夠提高加密和解密的效率。并且,采用不連續(xù)的加密和解密形式,與現(xiàn)有技術(shù)中將原始文件作為一個(gè)整體加密和解密的方法相比,可以在解密的過(guò)程中將已解密的內(nèi)容呈現(xiàn),實(shí)現(xiàn)了邊解密邊閱讀,從而減少了用戶等待響應(yīng)的時(shí)間,提高了用戶體驗(yàn)感。


為了更清楚地說(shuō)明本發(fā)明實(shí)施例或現(xiàn)有技術(shù)中的技術(shù)方案,下面將對(duì)實(shí)施例或現(xiàn)有技術(shù)描述中所需要使用的附圖作簡(jiǎn)單地介紹,顯而易見地,下面描述中的附圖僅僅是本發(fā)明的一些實(shí)施例,對(duì)于本領(lǐng)域普通技術(shù)人員來(lái)講,在不付出創(chuàng)造性勞動(dòng)的前提下,還可以根據(jù)這些附圖獲得其他的附圖。圖1為本發(fā)明實(shí)施侈1中文件的加密方法流程圖2為本發(fā)明實(shí)施侈1中文件的解密方法流程圖3為本發(fā)明實(shí)施侈2中文件的加密方法流程圖4為本發(fā)明實(shí)施侈2中文件的解密方法流程圖5為本發(fā)明實(shí)施侈3中一種文件的加密裝置的組成示意圖6為本發(fā)明實(shí)施侈3中另--種文件的加密裝置的組成示意圖
圖7為本發(fā)明實(shí)施侈3中另--種文件的加密裝置的組成示意圖
圖8為本發(fā)明實(shí)施侈3中另--種文件的加密裝置的組成示意圖
圖9為本發(fā)明實(shí)施侈3中另--種文件的加密裝置的組成示意圖
圖10為本發(fā)明實(shí)施列3中一種文件的解密裝置的組成示意圖11為本發(fā)明實(shí)施列3中另一種文件的解密裝置的組成示意圖
圖12為本發(fā)明實(shí)施列3中另一種文件的解密裝置的組成示意圖
圖13為本發(fā)明實(shí)施例3中另一種文件的解密裝置的組成示意圖;圖14為本發(fā)明實(shí)施例3中一種文件的加密和解密系統(tǒng)的組成示意圖。
具體實(shí)施例方式下面將結(jié)合本發(fā)明實(shí)施例中的附圖,對(duì)本發(fā)明實(shí)施例中的技術(shù)方案進(jìn)行清楚、完整地描述,顯然,所描述的實(shí)施例僅僅是本發(fā)明一部分實(shí)施例,而不是全部的實(shí)施例?;诒景l(fā)明中的實(shí)施例,本領(lǐng)域普通技術(shù)人員在沒(méi)有作出創(chuàng)造性勞動(dòng)前提下所獲得的所有其他實(shí)施例,都屬于本發(fā)明保護(hù)的范圍。實(shí)施例1本發(fā)明實(shí)施例提供一種文件的加密方法,如圖1所示,包括101、加密裝置從原始文件的開頭讀取起始長(zhǎng)度的文件內(nèi)容,寫入加密文件中,其中起始長(zhǎng)度為從原始文件的開頭到密文和明文相交替進(jìn)行加密的起始位置之間的長(zhǎng)度。其中,根據(jù)預(yù)定的起始長(zhǎng)度值,從原始文件的開頭讀取起始長(zhǎng)度的文件內(nèi)容,以明文的形式寫入加密文件,以便識(shí)別密文和明文相交替進(jìn)行加密的起始位置。其中起始長(zhǎng)度為從原始文件的開頭到密文和明文相交替進(jìn)行加密的起始位置之間的長(zhǎng)度。原始文件起始長(zhǎng)度之后的文件內(nèi)容,即起始位置之后的內(nèi)容,是按照密文和明文相交替的形式進(jìn)行加密的。102、加密裝置將原始文件起始長(zhǎng)度之后的文件內(nèi)容,按照密文和明文相交替的形式進(jìn)行加密,并將加密后的文件內(nèi)容寫入加密文件中。其中,將原始文件起始長(zhǎng)度之后的文件內(nèi)容,按照密文和明文相交替的形式進(jìn)行加密,并將加密后的文件內(nèi)容寫入加密文件中的方法可以為先密文后明文的形式,還可以為先明文后密文的形式,具體的本發(fā)明實(shí)施例對(duì)此不進(jìn)行限制。當(dāng)采用先密文后明文的形式時(shí),該方法具體為讀取加密長(zhǎng)度的文件內(nèi)容,并對(duì)加密長(zhǎng)度的文件內(nèi)容進(jìn)行加密,將加密后的文件內(nèi)容寫入加密文件中;在讀取加密長(zhǎng)度的文件內(nèi)容之后,讀取明文長(zhǎng)度的文件內(nèi)容寫入加密文件中;按照上述步驟重復(fù)讀取原始文件起始長(zhǎng)度之后的文件內(nèi)容直到將原始文件加密完成。當(dāng)采用先明文后密文的形式時(shí),該方法具體為讀取明文長(zhǎng)度的文件內(nèi)容寫入加密文件中;在讀取明文長(zhǎng)度的文件內(nèi)容之后,讀取加密長(zhǎng)度的文件內(nèi)容,并對(duì)加密長(zhǎng)度的文件內(nèi)容進(jìn)行加密,將加密后的文件內(nèi)容寫入加密文件中;按照上述步驟重復(fù)讀取原始文件起始長(zhǎng)度之后的文件內(nèi)容直到將原始文件加密完成。本發(fā)明實(shí)施例提供一種文件的解密方法,如圖2所示,包括201、解密裝置從加密文件的開頭讀取起始長(zhǎng)度的文件內(nèi)容,寫入解密文件中,其中初始長(zhǎng)度為從加密文件的開頭到密文和明文相交替進(jìn)行解密的起始位置之間的長(zhǎng)度。其中,加密文件的開頭為不包括文件頭等其他參數(shù)信息的文件內(nèi)容,若在原始文件的加密中添加了文件頭,則在解密開始前需要在去掉文件頭后,根據(jù)預(yù)定的起始長(zhǎng)度值, 從加密文件的正式內(nèi)容起讀取起始長(zhǎng)度的文件內(nèi)容寫入解密文件中,以便識(shí)別密文和明文相交替進(jìn)行解密的起始位置。起始位置之前的內(nèi)容,即讀取到的起始長(zhǎng)度的文件內(nèi)容,是明文形式的,不需要進(jìn)行解密操作即可寫入解密文件中。需要說(shuō)明的是,解密文件只在內(nèi)存中存取,而不會(huì)在解密裝置的磁盤上生成對(duì)應(yīng)的解密文件,使得解密得到的原始文件內(nèi)容能
8夠得到有效的版權(quán)保護(hù)。202、解密裝置將加密文件起始長(zhǎng)度之后的文件內(nèi)容,按照密文和明文相交替的形式進(jìn)行解密,并將解密后的文件內(nèi)容寫入解密文件中。其中,根據(jù)加密規(guī)則的不同,解密時(shí)采用的讀取加密文件的方式也不同,將加密文件起始長(zhǎng)度之后的文件內(nèi)容,按照密文和明文相交替的形式進(jìn)行解密,并將解密后的文件內(nèi)容寫入解密文件中的方法具體為當(dāng)加密規(guī)則采用的是先密文后明文相交替的形式時(shí),在解密時(shí)也對(duì)應(yīng)的先讀取加密長(zhǎng)度的文件內(nèi)容,并對(duì)加密長(zhǎng)度的文件內(nèi)容進(jìn)行解密,將解密后的文件內(nèi)容寫入解密文件中;在讀取加密長(zhǎng)度的文件內(nèi)容之后,讀取明文長(zhǎng)度的文件內(nèi)容,寫入解密文件中;按照上述步驟重復(fù)讀取加密文件起始長(zhǎng)度之后的文件內(nèi)容直到將加密文件的當(dāng)前解密區(qū)域解密完成。當(dāng)加密規(guī)則采用的是先明文后密文相交替的形式時(shí),在解密時(shí)也對(duì)應(yīng)的先讀取明文長(zhǎng)度的文件內(nèi)容寫入解密文件中;在讀取明文長(zhǎng)度的文件內(nèi)容之后,讀取加密長(zhǎng)度的文件內(nèi)容,并對(duì)加密長(zhǎng)度的文件內(nèi)容進(jìn)行解密,將解密后的文件內(nèi)容寫入解密文件中;按照上述步驟重復(fù)讀取加密文件起始長(zhǎng)度之后的文件內(nèi)容直到將加密文件的當(dāng)前解密區(qū)域解密完成。本發(fā)明實(shí)施例提供的文件的加密和解密方法,在加密時(shí)按照預(yù)定的明文長(zhǎng)度和密文長(zhǎng)度將原始文件分段讀取到內(nèi)存中進(jìn)行加密處理,與現(xiàn)有技術(shù)中將原始文件整體讀入內(nèi)存進(jìn)行加密的方法相比,對(duì)加密裝置的內(nèi)存要求較低。并且,通過(guò)密文與明文相互間隔的形式進(jìn)行加密和解密,與現(xiàn)有技術(shù)中將原始文件中的每一個(gè)字節(jié)都進(jìn)行加密和解密的方法相比,減少了需要進(jìn)行加密和解密的數(shù)據(jù)量,能夠提高加密和解密的效率。并且,采用不連續(xù)的加密和解密形式,與現(xiàn)有技術(shù)中將原始文件作為一個(gè)整體加密和解密的方法相比,可以在解密的過(guò)程中將已解密的內(nèi)容呈現(xiàn),實(shí)現(xiàn)了邊解密邊閱讀,從而減少了用戶等待響應(yīng)的時(shí)間,提高了用戶體驗(yàn)感。實(shí)施例2本發(fā)明實(shí)施例提供一種文件的加密和解密方法,在加密裝置上將數(shù)字文件進(jìn)行間隔加密,得到能夠有效保護(hù)數(shù)字文件版權(quán)的加密文件;當(dāng)在解密裝置向加密裝置發(fā)出獲取加密文件的請(qǐng)求時(shí),加密裝置將加密文件發(fā)送給解密裝置;再由解密裝置進(jìn)行對(duì)應(yīng)的間隔解密,并將解密后的數(shù)字文件顯示。具體的,文件的加密方法如圖3所示,包括301、根據(jù)原始文件的大小,加密裝置確定起始長(zhǎng)度、加密長(zhǎng)度以及明文長(zhǎng)度。其中,起始長(zhǎng)度、加密長(zhǎng)度以及明文長(zhǎng)度是預(yù)先定義的屬性值,可以根據(jù)需要設(shè)定大小。根據(jù)原始文件的大小,確定起始長(zhǎng)度、加密長(zhǎng)度以及明文長(zhǎng)度,以便調(diào)整加密文件中密文和明文的相對(duì)比例,控制加密的效率。例如,當(dāng)原始文件小于512Kbytes時(shí),將明文長(zhǎng)度確定為0字節(jié),使密文比例為100% ;當(dāng)原始文件大小介于512Kbytes和IOMKbytes之間時(shí),將明文長(zhǎng)度確定為16個(gè)字節(jié),使密文比例在50%左右;當(dāng)原始文件大于IOMKbytes 時(shí),將明文長(zhǎng)度確定為16x9個(gè)字節(jié),使密文比例在10%左右。需要說(shuō)明的是,起始長(zhǎng)度、加密長(zhǎng)度以及明文長(zhǎng)度也可以采用其他預(yù)定規(guī)則。例如,將密文長(zhǎng)度設(shè)定為依次遞增的形式,將明文長(zhǎng)度設(shè)定為依次遞減的形式,在加密過(guò)程中得到動(dòng)態(tài)變化的長(zhǎng)度值。若明文長(zhǎng)度和密文長(zhǎng)度為根據(jù)預(yù)定規(guī)則計(jì)算得出時(shí),需要在加密規(guī)則中描述各長(zhǎng)度值的計(jì)算規(guī)則,以便解密裝置在解密時(shí)得到相應(yīng)的明文長(zhǎng)度和密文長(zhǎng)度。其中,在一些加密算法中對(duì)待加密內(nèi)容的長(zhǎng)度是有固定要求的,因此加密長(zhǎng)度必須是加密算法中加密基數(shù)值的倍數(shù)。例如,在AESU8-CBC算法中,每次加密時(shí)加密塊的長(zhǎng)度固定為128bits,即16個(gè)字節(jié),因此在定義加密長(zhǎng)度時(shí),加密長(zhǎng)度必須是16字節(jié)的倍數(shù), 以便滿足AESU8-CBC加密算法。本發(fā)明實(shí)施例采用的加密算法包括但不局限于上述算法, 還可以為AES192-CBC、AES256-CBC等其他對(duì)稱加密算法。302、加密裝置將起始長(zhǎng)度、加密長(zhǎng)度、明文長(zhǎng)度以及加密規(guī)則發(fā)送給文件的解密裝置。其中,加密裝置將起始長(zhǎng)度、加密長(zhǎng)度、明文長(zhǎng)度以及加密規(guī)則發(fā)送給文件的解密裝置的方法可以為加密裝置在加密文件的開頭添加文件頭,并將起始長(zhǎng)度、加密長(zhǎng)度、明文長(zhǎng)度以及加密規(guī)則以name-value的形式寫入到加密文件的文件頭中,以便上述加密信息隨加密文件一起發(fā)送給文件的解密裝置。加密裝置將起始長(zhǎng)度、加密長(zhǎng)度、明文長(zhǎng)度以及加密規(guī)則發(fā)送給文件的解密裝置的方法也可以為加密裝置將起始長(zhǎng)度、加密長(zhǎng)度、明文長(zhǎng)度以及加密規(guī)則封裝到信元中發(fā)送給文件的解密裝置。需要說(shuō)明的是,當(dāng)起始長(zhǎng)度、加密長(zhǎng)度以及明文長(zhǎng)度按照預(yù)定規(guī)則計(jì)算得出時(shí),一個(gè)加密文件中的加密長(zhǎng)度和明文長(zhǎng)度并不是固定不變的,因此需要在加密規(guī)則中描述起始長(zhǎng)度、加密長(zhǎng)度以及明文長(zhǎng)度的計(jì)算規(guī)則,以便解密裝置在解密時(shí)得到對(duì)應(yīng)的長(zhǎng)度值。另外,若加密裝置和解密裝置已經(jīng)預(yù)先約定了起始長(zhǎng)度、加密長(zhǎng)度、明文長(zhǎng)度以及加密規(guī)則,則加密裝置可以不需要將這些加密信息再次發(fā)送給解密裝置。303、加密裝置從原始文件的開頭讀取起始長(zhǎng)度的文件內(nèi)容,寫入加密文件中。其中,起始長(zhǎng)度為從原始文件的開頭到密文和明文相交替進(jìn)行加密的起始位置之間的長(zhǎng)度,根據(jù)預(yù)定的起始長(zhǎng)度值,從原始文件的開頭讀取起始長(zhǎng)度的文件內(nèi)容,以明文的形式寫入加密文件,以便加密裝置和解密裝置識(shí)別密文和明文相交替進(jìn)行加密的起始位置。原始文件起始長(zhǎng)度之后的文件內(nèi)容,即起始位置之后的內(nèi)容,是按照密文和明文相交替的形式進(jìn)行加密的。304、加密裝置讀取加密長(zhǎng)度的文件內(nèi)容,并對(duì)加密長(zhǎng)度的文件內(nèi)容進(jìn)行加密,將加密后的文件內(nèi)容寫入加密文件中。其中,在步驟303中加密裝置得到密文和明文相交替進(jìn)行加密的起始位置,遂從起始位置順序讀取加密長(zhǎng)度的文件內(nèi)容進(jìn)行加密,并將加密后的文件內(nèi)容寫入加密文件中。另外,在密文和明文相交替進(jìn)行加密的過(guò)程中,采用先明文或是先密文的形式均可,在本實(shí)施例中不作限定。當(dāng)采用先明文后密文的形式進(jìn)行交替加密時(shí),將步驟304和步驟305調(diào)換順序,并將加密規(guī)則寫入文件頭,或以信元透?jìng)鹘o解密裝置。305、加密裝置讀取明文長(zhǎng)度的文件內(nèi)容寫入加密文件中。其中,加密裝置讀取到的明文長(zhǎng)度的文件內(nèi)容無(wú)需進(jìn)行加密處理,以明文的形式寫入加密文件中,通過(guò)明文內(nèi)容將加密內(nèi)容間隔開。306、加密裝置判斷原始文件是否已被讀取完;若原始文件未被讀取完,則執(zhí)行步驟304 ;若原始文件已被讀取完,則執(zhí)行步驟307。其中,在原始文件加密完成之前,重復(fù)交替執(zhí)行步驟305和步驟306,順序讀取原始文件直到將原始文件加密完成。307、加密裝置判斷原始文件中最后的文件內(nèi)容是否應(yīng)以密文的形式寫入加密文件;若原始文件中最后的文件內(nèi)容不應(yīng)以密文的形式寫入加密文件,則執(zhí)行步驟308 ;若原始文件中最后的文件內(nèi)容應(yīng)以密文的形式寫入加密文件,則執(zhí)行步驟309。其中,因?yàn)樵嘉募拇笮〔煌约捌鹗奸L(zhǎng)度、加密長(zhǎng)度、明文長(zhǎng)度以及加密規(guī)則不同,導(dǎo)致原始文件中最后的文件內(nèi)容可能是密文形式,也可能是明文形式。具體的判斷原始文件中最后的文件內(nèi)容是否應(yīng)以密文形式寫入加密文件的方法可以為當(dāng)讀取到原始文件中最后的文件內(nèi)容時(shí),根據(jù)當(dāng)前內(nèi)容的前一段文件內(nèi)容是明文還是密文判斷當(dāng)前文件內(nèi)容寫入加密文件的形式。若前一段文件內(nèi)容是以明文形式寫入加密文件的,則當(dāng)前內(nèi)容應(yīng)以密文形式寫入加密文件;若前一段文件內(nèi)容是以密文形式寫入加密文件的,則當(dāng)前內(nèi)容應(yīng)以明文形式寫入加密文件。308、加密裝置直接將原始文件中最后的文件內(nèi)容以明文的形式寫入加密文件。其中,明文內(nèi)容不需要進(jìn)行加密處理,對(duì)內(nèi)容長(zhǎng)度沒(méi)有要求,直接明文的形式寫入加密文件309、加密裝置確定原始文件中最后的文件內(nèi)容的長(zhǎng)度是否達(dá)到基數(shù)值;若原始文件中最后的文件內(nèi)容的長(zhǎng)度未達(dá)到基數(shù)值,則執(zhí)行步驟310;若原始文件中最后的文件內(nèi)容的長(zhǎng)度達(dá)到基數(shù)值則執(zhí)行步驟311。其中,在一些加密算法中對(duì)待加密內(nèi)容的長(zhǎng)度是有固定要求的,因此待加密內(nèi)容的長(zhǎng)度,即原始文件中最后的內(nèi)容的長(zhǎng)度必須達(dá)到加密算法中加密基數(shù)值,或者是基數(shù)值的倍數(shù)。例如,在AESU8-CBC算法中,每次加密時(shí)加密塊的長(zhǎng)度固定為128bits,即16個(gè)字節(jié),因此待加密內(nèi)容的長(zhǎng)度必須是16字節(jié)的倍數(shù),若最后的文件內(nèi)容不足16字節(jié)或不為 16字節(jié)的倍數(shù),則需要將其補(bǔ)全到16字節(jié)或16字節(jié)的倍數(shù),以便滿足AESU8-CBC加密算法。310、加密裝置將最后的文件內(nèi)容進(jìn)行補(bǔ)充,使得最后的文件內(nèi)容的長(zhǎng)度達(dá)到基數(shù)值。其中,為了滿足加密算法對(duì)待加密內(nèi)容長(zhǎng)度的要求,將最后的文件內(nèi)容進(jìn)行補(bǔ)充, 使得最后的文件內(nèi)容的長(zhǎng)度達(dá)到加密算法中加密的基數(shù)值,或基數(shù)值的倍數(shù)。若在加密時(shí)對(duì)文件內(nèi)容進(jìn)行了補(bǔ)全,則在解密時(shí)相應(yīng)的也要將補(bǔ)全的內(nèi)容刪除。311、加密裝置將最后的文件內(nèi)容或補(bǔ)充后的文件內(nèi)容進(jìn)行加密并寫入加密文件。本發(fā)明實(shí)施例提供一種文件的解密方法如圖4所示,包括401、解密裝置獲取起始長(zhǎng)度、加密長(zhǎng)度、明文長(zhǎng)度以及加密規(guī)則。其中,解密裝置獲取起始長(zhǎng)度、加密長(zhǎng)度、明文長(zhǎng)度以及加密規(guī)則方法可以為解密裝置從文件頭中讀取起始長(zhǎng)度、加密長(zhǎng)度、明文長(zhǎng)度以及加密規(guī)則;或者接收加密裝置發(fā)送過(guò)來(lái)的攜帶起始長(zhǎng)度、加密長(zhǎng)度、明文長(zhǎng)度以及加密規(guī)則的信元,并從中解密獲取起始長(zhǎng)度、加密長(zhǎng)度、明文長(zhǎng)度以及加密規(guī)則;或者由加密和解密雙方預(yù)先約定起始長(zhǎng)度、加密長(zhǎng)度、明文長(zhǎng)度以及加密規(guī)則。402、解密裝置從加密文件的開頭讀取起始長(zhǎng)度的文件內(nèi)容,寫入解密文件中。
其中,根據(jù)預(yù)定的起始長(zhǎng)度值,從加密文件的開頭讀取起始長(zhǎng)度的文件內(nèi)容寫入解密文件,以便識(shí)別密文和明文相交替進(jìn)行解密的起始位置。需要說(shuō)明的是,解密文件只在內(nèi)存中存取,而不會(huì)在解密裝置的磁盤上生成對(duì)應(yīng)的解密文件,使得解密得到的原始文件內(nèi)容能夠得到有效的版權(quán)保護(hù)。403、解密裝置讀取加密長(zhǎng)度的文件內(nèi)容,并對(duì)加密長(zhǎng)度的文件內(nèi)容進(jìn)行解密,將解密后的文件內(nèi)容寫入解密文件中。其中,在步驟402中得到密文和明文相交替進(jìn)行解密的起始位置,遂從起始位置順序讀取加密長(zhǎng)度的文件內(nèi)容進(jìn)行解密,并將解密后的文件內(nèi)容寫入解密文件中。其中,根據(jù)步驟304和步驟305中交替加密時(shí),密文和明文的先后順序的不同, 解密時(shí)采用的讀取加密文件的方式也不同,將加密文件起始長(zhǎng)度之后的文件內(nèi)容,按照密文和明文相交替的形式進(jìn)行解密,并將解密后的文件內(nèi)容寫入解密文件中的方法具體可以為當(dāng)加密規(guī)則采用的是先密文后明文相交替的形式時(shí),在解密時(shí)也對(duì)應(yīng)的先執(zhí)行步驟 403,后執(zhí)行步驟404。當(dāng)加密規(guī)則采用的是先明文后密文相交替的形式時(shí),在解密時(shí)也對(duì)應(yīng)的先執(zhí)行步驟404,后執(zhí)行步驟403。404、解密裝置讀取明文長(zhǎng)度的文件內(nèi)容,寫入解密文件中。其中,讀取到的明文長(zhǎng)度的文件內(nèi)容并未進(jìn)行加密處理,可直接得到原始文件中對(duì)應(yīng)的文件內(nèi)容,遂直接寫入解密文件中。405、解密裝置判斷加密文件的當(dāng)前解密區(qū)域是否已讀取完成;若加密文件的當(dāng)前解密區(qū)域未讀取完成,則執(zhí)行步驟403 ;若加密文件的當(dāng)前解密區(qū)域已讀取完成,則執(zhí)行步驟 406。其中,在加密文件解密完成之前,重復(fù)交替執(zhí)行步驟403和步驟404,順序讀取加密文件直到將加密文件的解密區(qū)域解密完成。需要說(shuō)明的是,解密區(qū)域是在解密裝置上的預(yù)定值,可以根據(jù)解密裝置的內(nèi)存情況和實(shí)際需要調(diào)整解密區(qū)域大小。因此在內(nèi)存中只解密得到當(dāng)前解密區(qū)域?qū)?yīng)的文件內(nèi)容,而不是將整個(gè)加密文件都進(jìn)行解密,可以有效降低對(duì)內(nèi)存的消耗。例如,在解密電子圖書時(shí),若解密裝置內(nèi)存充足,則可以將解密區(qū)域設(shè)置為整個(gè)文件內(nèi)容,將電子圖書的部分內(nèi)容顯示同時(shí),將剩余的文件內(nèi)容全部解密。若解密裝置內(nèi)存有限,則可以將解密區(qū)域設(shè)置為當(dāng)前頁(yè)面的前三頁(yè)到當(dāng)前頁(yè)面的后三頁(yè),在內(nèi)存中就只解密得到當(dāng)前解密區(qū)域中的文件內(nèi)容。406、解密裝置將解密文件的內(nèi)容進(jìn)行顯示。407、解密裝置將解密文件中不屬于當(dāng)前解密區(qū)域的文件內(nèi)容刪除。其中,為了減少占用解密裝置的內(nèi)存,可以將不屬于當(dāng)前解密區(qū)域的文件內(nèi)容刪除。例如,在解密電子圖書時(shí),假設(shè)加密區(qū)域?yàn)?頁(yè)而當(dāng)前頁(yè)面為第4頁(yè),若當(dāng)前顯示的頁(yè)面移動(dòng)到下一頁(yè)(第5頁(yè)),則解密文件中第1頁(yè)的文件內(nèi)容已經(jīng)不屬于當(dāng)前解密區(qū)域,遂將第1頁(yè)的文件內(nèi)容刪除。本發(fā)明實(shí)施例提供的文件的加密和解密方法,本發(fā)明實(shí)施例提供的文件的加密和解密方法、裝置及系統(tǒng),在加密時(shí)按照預(yù)定的明文長(zhǎng)度和密文長(zhǎng)度將原始文件分段讀取到內(nèi)存中進(jìn)行加密處理,與現(xiàn)有技術(shù)中將原始文件整體讀入內(nèi)存進(jìn)行加密的方法相比,對(duì)加密裝置的內(nèi)存要求較低。并且,通過(guò)密文與明文相互間隔的形式進(jìn)行加密和解密,與現(xiàn)有技術(shù)中將原始文件中的每一個(gè)字節(jié)都進(jìn)行加密和解密的方法相比,減少了需要進(jìn)行加密和解密的數(shù)據(jù)量,能夠提高加密和解密的效率。并且,采用不連續(xù)的加密和解密形式,與現(xiàn)有技術(shù)中將原始文件作為一個(gè)整體加密和解密的方法相比,可以在解密的過(guò)程中將已解密的內(nèi)容呈現(xiàn),實(shí)現(xiàn)了邊解密邊閱讀,從而減少了用戶等待響應(yīng)的時(shí)間,提高了用戶體驗(yàn)感。并且, 在解密時(shí)可以根據(jù)需要設(shè)定解密區(qū)域的大小,并及時(shí)刪除不屬于當(dāng)前解密區(qū)域的文件內(nèi)容,與現(xiàn)有技術(shù)中將加密文件整體讀入內(nèi)存中并解密,在內(nèi)存中得到整體的解密文件相比, 能夠有效的節(jié)省內(nèi)存資源,降低了對(duì)解密裝置的內(nèi)存要求。實(shí)施例3本發(fā)明實(shí)施例提供一種文件的加密裝置,如圖5所示,包括起始加密單元51、交替加密單元52。起始加密單元51,用于從原始文件的開頭讀取起始長(zhǎng)度的文件內(nèi)容,寫入加密文件中,其中起始長(zhǎng)度為從原始文件的開頭到密文和明文相交替進(jìn)行加密的起始位置之間的長(zhǎng)度。交替加密單元52,用于將原始文件起始長(zhǎng)度之后的文件內(nèi)容,按照密文和明文相交替的形式進(jìn)行加密,并將加密后的文件內(nèi)容寫入加密文件中。進(jìn)一步的,如圖6所示,交替加密單元52包括密文寫入模塊521、明文寫入模塊 522、第一重復(fù)模塊523。密文寫入模塊521,用于讀取加密長(zhǎng)度的文件內(nèi)容,并對(duì)加密長(zhǎng)度的文件內(nèi)容進(jìn)行加密,將加密后的文件內(nèi)容寫入加密文件中。明文寫入模塊522,用于在密文寫入模塊521讀取加密長(zhǎng)度的文件內(nèi)容之后,讀取明文長(zhǎng)度的文件內(nèi)容寫入加密文件中。第一重復(fù)模塊523,用于重復(fù)交替啟動(dòng)密文寫入模塊521和明文寫入模塊522,直到將原始文件加密完成。明文寫入模塊522還用于,讀取明文長(zhǎng)度的文件內(nèi)容寫入加密文件中。密文寫入模塊521還用于,在明文寫入模塊522讀取明文長(zhǎng)度的文件內(nèi)容寫入加密文件中之后,讀取加密長(zhǎng)度的文件內(nèi)容,并對(duì)加密長(zhǎng)度的文件內(nèi)容進(jìn)行加密,將加密后的文件內(nèi)容寫入加密文件中。第一重復(fù)模塊523還用于,重復(fù)交替啟動(dòng)明文寫入模塊522和密文寫入模塊521, 直到將原始文件加密完成。進(jìn)一步的,如圖7所示,交替加密單元52還包括判斷模塊524、補(bǔ)充模塊525。判斷模塊524,用于判斷原始文件中最后的文件內(nèi)容是否應(yīng)以密文的形式寫入加密文件。明文寫入模塊522還用于,在原始文件中最后的文件內(nèi)容不應(yīng)以密文的形式寫入加密文件時(shí),直接將原始文件中最后的文件內(nèi)容以明文的形式寫入加密文件。補(bǔ)充模塊525,用于在原始文件中最后的文件內(nèi)容應(yīng)以密文的形式寫入加密文件時(shí),確定原始文件中最后的文件內(nèi)容的長(zhǎng)度是否達(dá)到基數(shù)值,若原始文件中最后的文件內(nèi)容的長(zhǎng)度未達(dá)到基數(shù)值,則將最后的文件內(nèi)容進(jìn)行補(bǔ)充,使得最后的文件內(nèi)容的長(zhǎng)度達(dá)到基數(shù)值。密文寫入模塊521還用于,對(duì)補(bǔ)充后的文件內(nèi)容進(jìn)行加密并寫入加密文件。進(jìn)一步的,如圖8所示,該文件的加密裝置還包括確定單元53、發(fā)送單元M。
確定單元53,用于在起始加密單元51從原始文件的開頭讀取起始長(zhǎng)度的文件內(nèi)容,寫入加密文件中之前,根據(jù)原始文件的大小,確定起始長(zhǎng)度、加密長(zhǎng)度以及明文長(zhǎng)度。發(fā)送單元M,用于將起始長(zhǎng)度、加密長(zhǎng)度、明文長(zhǎng)度以及加密規(guī)則發(fā)送給文件的解
密裝置。發(fā)送單元M還用于,在加密文件的開頭添加文件頭,并將起始長(zhǎng)度、加密長(zhǎng)度以及明文長(zhǎng)度的屬性寫入加密文件的文件頭中。發(fā)送單元M還用于,將起始長(zhǎng)度、加密長(zhǎng)度、明文長(zhǎng)度以及加密規(guī)則封裝到信元中發(fā)送給文件的解密裝置。進(jìn)一步的,如圖9所示,交替加密單元52還包括第一計(jì)算模塊526。第一計(jì)算模塊526,用于在按照密文和明文相交替的形式進(jìn)行加密的過(guò)程中,按照預(yù)定加密規(guī)則計(jì)算加密長(zhǎng)度和明文長(zhǎng)度,得到動(dòng)態(tài)變化的加密長(zhǎng)度和明文長(zhǎng)度。需要說(shuō)明的是,本發(fā)明實(shí)施例中的部分功能模塊的其他描述可以參考實(shí)施例1和實(shí)施例2中的對(duì)應(yīng)內(nèi)容,本發(fā)明實(shí)施例這里將不再贅述。本發(fā)明實(shí)施例提供一種文件的解密裝置,如圖10所示,包括起始解密單元61、交替解密單元62。起始解密單元61,用于從加密文件的開頭讀取起始長(zhǎng)度的文件內(nèi)容,寫入解密文件中,其中初始長(zhǎng)度為從加密文件的開頭到密文和明文相交替進(jìn)行解密的起始位置之間的長(zhǎng)度。交替解密單元62,用于將加密文件起始長(zhǎng)度之后的文件內(nèi)容,按照密文和明文相交替的形式進(jìn)行解密,并將解密后的文件內(nèi)容寫入解密文件中。進(jìn)一步的,如圖11所示,交替解密單元62包括密文讀取模塊621、明文讀取模塊 622、第二重復(fù)模塊623。密文讀取模塊621,用于在加密規(guī)則采用的是先密文后明文相交替的形式時(shí),讀取加密長(zhǎng)度的文件內(nèi)容,并對(duì)加密長(zhǎng)度的文件內(nèi)容進(jìn)行解密,將解密后的文件內(nèi)容寫入解密文件中。明文讀取模塊622,用于在密文讀取模塊621讀取加密長(zhǎng)度的文件內(nèi)容之后,讀取明文長(zhǎng)度的文件內(nèi)容,寫入解密文件中。第二重復(fù)模塊623,用于重復(fù)啟動(dòng)密文讀取模塊621和明文讀取模塊622,直到將加密文件的當(dāng)前解密區(qū)域解密完成。明文讀取模塊622還用于,在加密規(guī)則采用的是先明文后密文相交替的形式時(shí), 讀取明文長(zhǎng)度的文件內(nèi)容,寫入解密文件中。密文讀取模塊621還用于,在明文讀取模塊622讀取明文長(zhǎng)度的文件內(nèi)容之后,讀取加密長(zhǎng)度的文件內(nèi)容,并對(duì)加密長(zhǎng)度的文件內(nèi)容進(jìn)行解密,將解密后的文件內(nèi)容寫入解密文件中。第二重復(fù)模塊623還用于,重復(fù)啟動(dòng)明文讀取模塊622和密文讀取模塊621,直到將加密文件的當(dāng)前解密區(qū)域解密完成。進(jìn)一步的,如圖12所示,該文件的解密裝置還包括獲取單元63、顯示單元64、刪除單元65。獲取單元63,用于在起始解密單元61從加密文件的開頭讀取起始長(zhǎng)度的文件內(nèi)容,寫入解密文件中之前,獲取起始長(zhǎng)度、加密長(zhǎng)度、明文長(zhǎng)度以及加密規(guī)則。顯示單元64,用于將解密文件的內(nèi)容進(jìn)行顯示。刪除單元65,用于將解密文件中不屬于當(dāng)前解密區(qū)域的文件內(nèi)容刪除。進(jìn)一步的,如圖13所示,交替解密單元62還包括第二計(jì)算模塊624。第二計(jì)算模塊624,用于在按照密文和明文相交替的形式進(jìn)行解密的過(guò)程中,按照加密規(guī)則計(jì)算加密長(zhǎng)度和明文長(zhǎng)度,得到動(dòng)態(tài)變化的加密長(zhǎng)度和明文長(zhǎng)度。需要說(shuō)明的是,本發(fā)明實(shí)施例中的部分功能模塊的其他描述可以參考實(shí)施例1和實(shí)施例2中的對(duì)應(yīng)內(nèi)容,本發(fā)明實(shí)施例這里將不再贅述。本發(fā)明實(shí)施例提供一種文件的加密和解密系統(tǒng),如圖14所示,包括加密裝置71 和解密裝置72。加密裝置71,用于從原始文件的開頭讀取起始長(zhǎng)度的文件內(nèi)容,寫入加密文件中; 并將原始文件起始長(zhǎng)度之后的文件內(nèi)容,按照密文和明文相交替的形式進(jìn)行加密,將加密后的文件內(nèi)容寫入加密文件中。解密裝置72,用于從加密文件的開頭讀取起始長(zhǎng)度的文件內(nèi)容,寫入解密文件中; 并將加密文件起始長(zhǎng)度之后的文件內(nèi)容,按照密文和明文相交替的形式進(jìn)行解密,將解密后的文件內(nèi)容寫入解密文件中。其中,在加密裝置71上將數(shù)字文件進(jìn)行間隔加密,得到能夠有效保護(hù)數(shù)字文件版權(quán)的加密文件。當(dāng)在解密裝置72向加密裝置71發(fā)出獲取加密文件的請(qǐng)求時(shí),加密裝置71 將加密文件發(fā)送給解密裝置72,再由解密裝置72進(jìn)行對(duì)應(yīng)的間隔解密,并將解密后的數(shù)字文件顯示。需要說(shuō)明的是,本發(fā)明實(shí)施例提供的文件的加密和解密系統(tǒng)所包含功能模塊的其他描述,可以參考實(shí)施例1和實(shí)施例2以及實(shí)施例3中對(duì)應(yīng)裝置部分的描述,本發(fā)明實(shí)施例此處將不再贅述。本發(fā)明實(shí)施例提供的文件的加密和解密裝置及系統(tǒng),本發(fā)明實(shí)施例提供的文件的加密和解密方法、裝置及系統(tǒng),在加密時(shí)按照預(yù)定的明文長(zhǎng)度和密文長(zhǎng)度將原始文件分段讀取到內(nèi)存中進(jìn)行加密處理,與現(xiàn)有技術(shù)中將原始文件整體讀入內(nèi)存進(jìn)行加密的方法相比,對(duì)加密裝置的內(nèi)存要求較低。并且,通過(guò)密文與明文相互間隔的形式進(jìn)行加密和解密, 與現(xiàn)有技術(shù)中將原始文件中的每一個(gè)字節(jié)都進(jìn)行加密和解密的方法相比,減少了需要進(jìn)行加密和解密的數(shù)據(jù)量,能夠提高加密和解密的效率。并且,采用不連續(xù)的加密和解密形式, 與現(xiàn)有技術(shù)中將原始文件作為一個(gè)整體加密和解密的方法相比,可以在解密的過(guò)程中將已解密的內(nèi)容呈現(xiàn),實(shí)現(xiàn)了邊解密邊閱讀,從而減少了用戶等待響應(yīng)的時(shí)間,提高了用戶體驗(yàn)感。并且,在解密時(shí)可以根據(jù)需要設(shè)定解密區(qū)域的大小,并及時(shí)刪除不屬于當(dāng)前解密區(qū)域的文件內(nèi)容,與現(xiàn)有技術(shù)中將加密文件整體讀入內(nèi)存中并解密,在內(nèi)存中得到整體的解密文件相比,能夠有效的節(jié)省內(nèi)存資源,降低了對(duì)解密裝置的內(nèi)存要求。通過(guò)以上的實(shí)施方式的描述,所屬領(lǐng)域的技術(shù)人員可以清楚地了解到本發(fā)明可借助軟件加必需的通用硬件的方式來(lái)實(shí)現(xiàn),當(dāng)然也可以通過(guò)硬件,但很多情況下前者是更佳的實(shí)施方式?;谶@樣的理解,本發(fā)明的技術(shù)方案本質(zhì)上或者說(shuō)對(duì)現(xiàn)有技術(shù)做出貢獻(xiàn)的部分可以以軟件產(chǎn)品的形式體現(xiàn)出來(lái),該計(jì)算機(jī)軟件產(chǎn)品存儲(chǔ)在可讀取的存儲(chǔ)介質(zhì)中,如計(jì)算機(jī)的軟盤,硬盤或光盤等,包括若干指令用以使得一臺(tái)計(jì)算機(jī)設(shè)備(可以是個(gè)人計(jì)算機(jī),服務(wù)器,或者網(wǎng)絡(luò)設(shè)備等)執(zhí)行本發(fā)明各個(gè)實(shí)施例提供的方法。 以上內(nèi)容,僅為本發(fā)明的具體實(shí)施方式
,但本發(fā)明的保護(hù)范圍并不局限于此,任何熟悉本技術(shù)領(lǐng)域的技術(shù)人員在本發(fā)明揭露的技術(shù)范圍內(nèi),可輕易想到變化或替換,都應(yīng)涵蓋在本發(fā)明的保護(hù)范圍之內(nèi)。因此,本發(fā)明的保護(hù)范圍應(yīng)以權(quán)利要求的保護(hù)范圍為準(zhǔn)。
權(quán)利要求
1.一種文件的加密方法,其特征在于,包括從原始文件的開頭讀取起始長(zhǎng)度的文件內(nèi)容,寫入加密文件中,其中所述起始長(zhǎng)度為從所述原始文件的開頭到密文和明文相交替進(jìn)行加密的起始位置之間的長(zhǎng)度;將所述原始文件起始長(zhǎng)度之后的文件內(nèi)容,按照密文和明文相交替的形式進(jìn)行加密, 并將加密后的文件內(nèi)容寫入所述加密文件中。
2.根據(jù)權(quán)利要求1所述的文件的加密方法,其特征在于,所述將所述原始文件起始長(zhǎng)度之后的文件內(nèi)容,按照密文和明文相交替的形式進(jìn)行加密,并將加密后的文件內(nèi)容寫入所述加密文件中包括讀取加密長(zhǎng)度的文件內(nèi)容,并對(duì)所述加密長(zhǎng)度的文件內(nèi)容進(jìn)行加密,將加密后的文件內(nèi)容寫入所述加密文件中;在所述讀取加密長(zhǎng)度的文件內(nèi)容之后,讀取明文長(zhǎng)度的文件內(nèi)容寫入所述加密文件中;按照上述步驟重復(fù)讀取所述原始文件起始長(zhǎng)度之后的文件內(nèi)容直到將所述原始文件加密完成;或者讀取明文長(zhǎng)度的文件內(nèi)容寫入所述加密文件中;在所述讀取明文長(zhǎng)度的文件內(nèi)容之后,讀取加密長(zhǎng)度的文件內(nèi)容,并對(duì)所述加密長(zhǎng)度的文件內(nèi)容進(jìn)行加密,將加密后的文件內(nèi)容寫入所述加密文件中;按照上述步驟重復(fù)讀取所述原始文件起始長(zhǎng)度之后的文件內(nèi)容直到將所述原始文件加密完成。
3.根據(jù)權(quán)利要求2所述的文件的加密方法,其特征在于,所述按照上述步驟重復(fù)讀取所述原始文件起始長(zhǎng)度之后的文件內(nèi)容直到將所述原始文件加密完成,還包括判斷所述原始文件中最后的文件內(nèi)容是否應(yīng)以密文的形式寫入所述加密文件;若所述原始文件中最后的文件內(nèi)容不應(yīng)以密文的形式寫入所述加密文件,則直接將所述原始文件中最后的文件內(nèi)容以明文的形式寫入所述加密文件;若所述原始文件中最后的文件內(nèi)容應(yīng)以密文的形式寫入所述加密文件,則確定所述原始文件中最后的文件內(nèi)容的長(zhǎng)度是否達(dá)到基數(shù)值,若所述原始文件中最后的文件內(nèi)容的長(zhǎng)度未達(dá)到所述基數(shù)值,則將所述最后的文件內(nèi)容進(jìn)行補(bǔ)充,使得最后的文件內(nèi)容的長(zhǎng)度達(dá)到所述基數(shù)值,并對(duì)補(bǔ)充后的文件內(nèi)容進(jìn)行加密并寫入所述加密文件。
4.根據(jù)權(quán)利要求1-3任一項(xiàng)所述的文件的加密方法,其特征在于,在所述從原始文件的開頭讀取起始長(zhǎng)度的文件內(nèi)容,寫入所述加密文件中之前,還包括根據(jù)所述原始文件的大小,確定所述起始長(zhǎng)度、所述加密長(zhǎng)度以及所述明文長(zhǎng)度;將所述起始長(zhǎng)度、所述加密長(zhǎng)度、所述明文長(zhǎng)度以及加密規(guī)則發(fā)送給文件的解密裝置。
5.根據(jù)權(quán)利要求1-3任一項(xiàng)所述的文件的加密方法,其特征在于,所述將所述原始文件起始長(zhǎng)度之后的文件內(nèi)容,按照密文和明文相交替的形式進(jìn)行加密還包括在按照密文和明文相交替的形式進(jìn)行加密的過(guò)程中,按照預(yù)定加密規(guī)則計(jì)算所述加密長(zhǎng)度和所述明文長(zhǎng)度,得到動(dòng)態(tài)變化的加密長(zhǎng)度和明文長(zhǎng)度。
6.根據(jù)權(quán)利要求4所述的文件的加密方法,其特征在于,所述將所述起始長(zhǎng)度、所述加密長(zhǎng)度、所述明文長(zhǎng)度以及加密規(guī)則發(fā)送給文件的解密裝置包括在所述加密文件的開頭添加文件頭,并將所述起始長(zhǎng)度、所述加密長(zhǎng)度、所述明文長(zhǎng)度以及加密規(guī)則寫入到所述加密文件的文件頭中發(fā)送給所述文件的解密裝置;或者將所述起始長(zhǎng)度、所述加密長(zhǎng)度、所述明文長(zhǎng)度以及加密規(guī)則封裝到信元中發(fā)送給所述文件的解密裝置。
7.一種文件的解密方法,其特征在于,包括從加密文件的開頭讀取起始長(zhǎng)度的文件內(nèi)容,寫入解密文件中,其中所述初始長(zhǎng)度為從所述加密文件的開頭到密文和明文相交替進(jìn)行解密的起始位置之間的長(zhǎng)度;將所述加密文件起始長(zhǎng)度之后的文件內(nèi)容,按照密文和明文相交替的形式進(jìn)行解密, 并將解密后的文件內(nèi)容寫入所述解密文件中。
8.根據(jù)權(quán)利要求7所述的文件的解密方法,其特征在于,所述將所述加密文件起始長(zhǎng)度之后的文件內(nèi)容,按照密文和明文相交替的形式進(jìn)行解密,并將解密后的文件內(nèi)容寫入所述解密文件中包括當(dāng)加密規(guī)則采用的是先密文后明文相交替的形式時(shí),讀取加密長(zhǎng)度的文件內(nèi)容,并對(duì)所述加密長(zhǎng)度的文件內(nèi)容進(jìn)行解密,將解密后的文件內(nèi)容寫入所述解密文件中;在所述讀取加密長(zhǎng)度的文件內(nèi)容之后,讀取明文長(zhǎng)度的文件內(nèi)容,寫入所述解密文件中;按照上述步驟重復(fù)讀取所述加密文件起始長(zhǎng)度之后的文件內(nèi)容直到將所述加密文件的當(dāng)前解密區(qū)域解密完成;當(dāng)加密規(guī)則采用的是先明文后密文相交替的形式時(shí),讀取明文長(zhǎng)度的文件內(nèi)容寫入所述解密文件中;在所述讀取明文長(zhǎng)度的文件內(nèi)容之后,讀取加密長(zhǎng)度的文件內(nèi)容,并對(duì)所述加密長(zhǎng)度的文件內(nèi)容進(jìn)行解密,將解密后的文件內(nèi)容寫入所述解密文件中;按照上述步驟重復(fù)讀取所述加密文件起始長(zhǎng)度之后的文件內(nèi)容直到將所述加密文件的當(dāng)前解密區(qū)域解密完成。
9.根據(jù)權(quán)利要求8所述的文件的解密方法,其特征在于,在所述從加密文件的開頭讀取起始長(zhǎng)度的文件內(nèi)容,寫入解密文件中之前,還包括獲取所述起始長(zhǎng)度、所述加密長(zhǎng)度、所述明文長(zhǎng)度以及加密規(guī)則。
10.根據(jù)權(quán)利要求8所述的文件的解密方法,其特征在于,所述將所述加密文件起始長(zhǎng)度之后的文件內(nèi)容,按照密文和明文相交替的形式進(jìn)行解密還包括在按照密文和明文相交替的形式進(jìn)行解密的過(guò)程中,按照所述加密規(guī)則計(jì)算所述加密長(zhǎng)度和所述明文長(zhǎng)度,得到動(dòng)態(tài)變化的加密長(zhǎng)度和明文長(zhǎng)度。
11.根據(jù)權(quán)利要求7-10任一項(xiàng)所述的文件的解密方法,其特征在于,還包括將所述解密文件的內(nèi)容進(jìn)行顯示。
12.根據(jù)權(quán)利要求11所述的文件的解密方法,其特征在于,還包括將所述解密文件中不屬于當(dāng)前解密區(qū)域的文件內(nèi)容刪除。
13.一種文件的加密裝置,其特征在于,包括起始加密單元,用于從原始文件的開頭讀取起始長(zhǎng)度的文件內(nèi)容,寫入加密文件中,其中所述起始長(zhǎng)度為從所述原始文件的開頭到密文和明文相交替進(jìn)行加密的起始位置之間的長(zhǎng)度;交替加密單元,用于將所述原始文件起始長(zhǎng)度之后的文件內(nèi)容,按照密文和明文相交替的形式進(jìn)行加密,并將加密后的文件內(nèi)容寫入所述加密文件中。
14.根據(jù)權(quán)利要求13所述的文件的加密裝置,其特征在于,所述交替加密單元包括密文寫入模塊,用于讀取加密長(zhǎng)度的文件內(nèi)容,并對(duì)所述加密長(zhǎng)度的文件內(nèi)容進(jìn)行加密,將加密后的文件內(nèi)容寫入所述加密文件中;明文寫入模塊,用于在所述密文寫入模塊讀取加密長(zhǎng)度的文件內(nèi)容之后,讀取明文長(zhǎng)度的文件內(nèi)容寫入所述加密文件中;第一重復(fù)模塊,用于重復(fù)交替啟動(dòng)所述密文寫入模塊和所述明文寫入模塊,直到將所述原始文件加密完成。
15.根據(jù)權(quán)利要求14所述的文件的加密裝置,其特征在于,所述明文寫入模塊還用于, 讀取明文長(zhǎng)度的文件內(nèi)容寫入所述加密文件中;所述密文寫入模塊還用于,在所述明文寫入模塊讀取明文長(zhǎng)度的文件內(nèi)容寫入所述加密文件中之后,讀取加密長(zhǎng)度的文件內(nèi)容,并對(duì)所述加密長(zhǎng)度的文件內(nèi)容進(jìn)行加密,將加密后的文件內(nèi)容寫入所述加密文件中;所述第一重復(fù)模塊還用于,重復(fù)交替啟動(dòng)所述明文寫入模塊和所述密文寫入模塊,直到將所述原始文件加密完成。
16.根據(jù)權(quán)利要求14所述的文件的加密裝置,其特征在于,所述交替加密單元還包括判斷模塊,用于判斷所述原始文件中最后的文件內(nèi)容是否應(yīng)以密文的形式寫入所述加密文件;所述明文寫入模塊還用于,在所述原始文件中最后的文件內(nèi)容不應(yīng)以密文的形式寫入所述加密文件時(shí),直接將所述原始文件中最后的文件內(nèi)容以明文的形式寫入所述加密文件;補(bǔ)充模塊,用于在所述原始文件中最后的文件內(nèi)容應(yīng)以密文的形式寫入所述加密文件時(shí),確定所述原始文件中最后的文件內(nèi)容的長(zhǎng)度是否達(dá)到基數(shù)值,若所述原始文件中最后的文件內(nèi)容的長(zhǎng)度未達(dá)到所述基數(shù)值,則將所述最后的文件內(nèi)容進(jìn)行補(bǔ)充,使得最后的文件內(nèi)容的長(zhǎng)度達(dá)到所述基數(shù)值;所述密文寫入模塊還用于,對(duì)補(bǔ)充后的文件內(nèi)容進(jìn)行加密并寫入所述加密文件。
17.根據(jù)權(quán)利要求13-16任一項(xiàng)所述的文件的加密裝置,其特征在于,還包括確定單元,用于在所述起始加密單元從原始文件的開頭讀取起始長(zhǎng)度的文件內(nèi)容,寫入所述加密文件中之前,根據(jù)所述原始文件的大小,確定所述起始長(zhǎng)度、所述加密長(zhǎng)度以及所述明文長(zhǎng)度;發(fā)送單元,用于將所述起始長(zhǎng)度、所述加密長(zhǎng)度、所述明文長(zhǎng)度以及加密規(guī)則發(fā)送給文件的解密裝置。
18.根據(jù)權(quán)利要求13-16任一項(xiàng)所述的文件的加密裝置,其特征在于,所述交替加密單元還包括第一計(jì)算模塊,用于在按照密文和明文相交替的形式進(jìn)行加密的過(guò)程中,按照預(yù)定加密規(guī)則計(jì)算所述加密長(zhǎng)度和所述明文長(zhǎng)度,得到動(dòng)態(tài)變化的加密長(zhǎng)度和明文長(zhǎng)度。
19.根據(jù)權(quán)利要求17所述的文件的加密裝置,其特征在于,所述發(fā)送單元還用于,在所述加密文件的開頭添加文件頭,并將所述起始長(zhǎng)度、所述加密長(zhǎng)度以及所述明文長(zhǎng)度的屬性寫入所述加密文件的文件頭中;所述發(fā)送單元還用于,將所述起始長(zhǎng)度、所述加密長(zhǎng)度、所述明文長(zhǎng)度以及加密規(guī)則封裝到信元中發(fā)送給所述文件的解密裝置。
20.一種文件的解密裝置,其特征在于,包括起始解密單元,用于從加密文件的開頭讀取起始長(zhǎng)度的文件內(nèi)容,寫入解密文件中,其中所述初始長(zhǎng)度為從所述加密文件的開頭到密文和明文相交替進(jìn)行解密的起始位置之間的長(zhǎng)度;交替解密單元,用于將所述加密文件起始長(zhǎng)度之后的文件內(nèi)容,按照密文和明文相交替的形式進(jìn)行解密,并將解密后的文件內(nèi)容寫入所述解密文件中。
21.根據(jù)權(quán)利要求20所述的文件的解密裝置,其特征在于,所述交替解密單元包括密文讀取模塊,用于在加密規(guī)則采用的是先密文后明文相交替的形式時(shí),讀取加密長(zhǎng)度的文件內(nèi)容,并對(duì)所述加密長(zhǎng)度的文件內(nèi)容進(jìn)行解密,將解密后的文件內(nèi)容寫入所述解密文件中;明文讀取模塊,用于在所述密文讀取模塊讀取加密長(zhǎng)度的文件內(nèi)容之后,讀取明文長(zhǎng)度的文件內(nèi)容,寫入所述解密文件中;第二重復(fù)模塊,用于重復(fù)啟動(dòng)所述密文讀取模塊和所述明文讀取模塊,直到將所述加密文件的當(dāng)前解密區(qū)域解密完成。
22.根據(jù)權(quán)利要求21所述的文件的解密裝置,其特征在于,所述明文讀取模塊還用于, 在加密規(guī)則采用的是先明文后密文相交替的形式時(shí),讀取明文長(zhǎng)度的文件內(nèi)容,寫入所述解密文件中;所述密文讀取模塊還用于,在所述明文讀取模塊讀取明文長(zhǎng)度的文件內(nèi)容之后,讀取加密長(zhǎng)度的文件內(nèi)容,并對(duì)所述加密長(zhǎng)度的文件內(nèi)容進(jìn)行解密,將解密后的文件內(nèi)容寫入所述解密文件中;所述第二重復(fù)模塊還用于,重復(fù)啟動(dòng)所述明文讀取模塊和所述密文讀取模塊,直到將所述加密文件的當(dāng)前解密區(qū)域解密完成。
23.根據(jù)權(quán)利要求21所述的文件的解密裝置,其特征在于,還包括獲取單元,用于在所述起始解密單元從加密文件的開頭讀取起始長(zhǎng)度的文件內(nèi)容,寫入解密文件中之前,獲取所述起始長(zhǎng)度、所述加密長(zhǎng)度、所述明文長(zhǎng)度以及加密規(guī)則。
24.根據(jù)權(quán)利要求20-23任一項(xiàng)所述的文件的解密裝置,其特征在于,所述交替解密單元還包括第二計(jì)算模塊,用于在按照密文和明文相交替的形式進(jìn)行解密的過(guò)程中,按照所述加密規(guī)則計(jì)算所述加密長(zhǎng)度和所述明文長(zhǎng)度,得到動(dòng)態(tài)變化的加密長(zhǎng)度和明文長(zhǎng)度。
25.根據(jù)權(quán)利要求20-23任一項(xiàng)所述的文件的解密裝置,其特征在于,還包括顯示單元,用于將所述解密文件的內(nèi)容進(jìn)行顯示。
26.根據(jù)權(quán)利要求25所述的文件的解密裝置,其特征在于,還包括刪除單元,用于將所述解密文件中不屬于當(dāng)前解密區(qū)域的文件內(nèi)容刪除。
27.一種文件的加密和解密系統(tǒng),其特征在于,包括如權(quán)利要求13-19中任一項(xiàng)所述的加密裝置和如權(quán)利要求20-26中任一項(xiàng)所述的解密裝置。
全文摘要
本發(fā)明實(shí)施例公開了一種文件的加密和解密方法、裝置及系統(tǒng),涉及數(shù)字版權(quán)管理領(lǐng)域,能夠提高數(shù)字文件加密和解密的效率,并且不需要加密裝置或解密裝置具備較大的內(nèi)存,能在數(shù)字文件解密的過(guò)程中將已解密的內(nèi)容呈現(xiàn),提高用戶體驗(yàn)感。本發(fā)明的方法包括從原始文件的開頭讀取起始長(zhǎng)度的文件內(nèi)容,寫入加密文件中,其中起始長(zhǎng)度為從原始文件的開頭到密文和明文相交替進(jìn)行加密的起始位置之間的長(zhǎng)度;將原始文件起始長(zhǎng)度之后的文件內(nèi)容,按照密文和明文相交替的形式進(jìn)行加密,并將加密后的文件內(nèi)容寫入加密文件中。本發(fā)明實(shí)施例主要用于對(duì)數(shù)字文件進(jìn)行加密和解密的過(guò)程中。
文檔編號(hào)G06F21/24GK102254127SQ201110230148
公開日2011年11月23日 申請(qǐng)日期2011年8月11日 優(yōu)先權(quán)日2011年8月11日
發(fā)明者張健 申請(qǐng)人:華為技術(shù)有限公司
網(wǎng)友詢問(wèn)留言 已有0條留言
  • 還沒(méi)有人留言評(píng)論。精彩留言會(huì)獲得點(diǎn)贊!
1