本發(fā)明涉及數(shù)據(jù)處理領(lǐng)域,具體而言,涉及一種數(shù)據(jù)加密、解密方法、裝置及電子設(shè)備。
背景技術(shù):
隨著科技的發(fā)展,目前計(jì)算機(jī)、手機(jī)、射頻卡等存儲(chǔ)介質(zhì)的運(yùn)用越來(lái)越廣泛,其中存儲(chǔ)了大量不同類型并且涉及高保密信息的電子文檔,這些信息一旦被非法竊取將產(chǎn)生不可估量的損失,而目前的普遍做法都是使用各種文檔保密軟件來(lái)對(duì)數(shù)據(jù)進(jìn)行加密。業(yè)界主流的加密系統(tǒng)諸如pgp、truecrypt等都是采用了多種加密算法混合使用來(lái)提高安全性,而這些加密系統(tǒng)都有一個(gè)顯著地缺陷,那就是若忘記密鑰,或者密鑰丟失,則加密過(guò)的文件無(wú)法正常解密而成為廢棄數(shù)據(jù)無(wú)法使用。并且現(xiàn)有技術(shù)中采用虹膜圖像來(lái)對(duì)文件進(jìn)行加密,用此方法生成的加密密鑰具有相同性,因此,該方法生成的密鑰安全性較差,無(wú)法真正保證數(shù)據(jù)的安全。
技術(shù)實(shí)現(xiàn)要素:
有鑒于此,本發(fā)明實(shí)施例的目的在于提供一種數(shù)據(jù)加密、解密方法、裝置及電子設(shè)備,以改善上述問(wèn)題。
第一方面,本發(fā)明實(shí)施例提供了一種數(shù)據(jù)加密方法,所述方法包括:獲取用戶虹膜圖像;根據(jù)所述虹膜圖像生成虹膜模板;根據(jù)所述虹膜模板生成數(shù)據(jù)密鑰,并對(duì)所述虹膜模板進(jìn)行加密;根據(jù)所述數(shù)據(jù)密鑰對(duì)獲取的待加密文件進(jìn)行加密。
進(jìn)一步地,根據(jù)所述數(shù)據(jù)密鑰對(duì)獲取的待加密文件進(jìn)行加密的步驟之后,所述方法還包括:根據(jù)加密后的待加密文件生成虹膜密鑰;根據(jù)所述虹膜密鑰對(duì)所述虹膜模板進(jìn)行二次加密;根據(jù)二次加密后的所述虹膜模板與加密后的所述待加密文件生成加密數(shù)據(jù)包。
進(jìn)一步地,所述獲取用戶虹膜圖像,包括:通過(guò)虹膜攝像頭獲取用于虹膜圖像。
第二方面,本發(fā)明實(shí)施例提供了一種數(shù)據(jù)解密方法,所述方法包括:獲取用戶虹膜圖像;根據(jù)所述虹膜圖像生成新虹膜模板;獲取待解密文件對(duì)應(yīng)的加密數(shù)據(jù)包,所述加密數(shù)據(jù)包為在對(duì)原始文件進(jìn)行加密得到所述待解密文件的過(guò)程中生成,且所述加密數(shù)據(jù)包括所述原始文件和加密后的原始虹膜模板;從所述加密數(shù)據(jù)包中獲取所述原始文件和所述加密后的原始虹膜模板;根據(jù)所述原始文件生成虹膜密鑰;根據(jù)所述虹膜密鑰對(duì)所述加密后的原始虹膜模板進(jìn)行解密;將所述解密后的原始虹膜模板與所述新虹膜模板進(jìn)行匹配,獲得匹配結(jié)果;根據(jù)所述匹配結(jié)果,對(duì)所述待解密文件進(jìn)行解密。
進(jìn)一步地,根據(jù)所述匹配結(jié)果,對(duì)所述加密后的待解密文件進(jìn)行解密,包括:若所述匹配結(jié)果為所述解密后的原始虹膜模板與所述新虹膜模板匹配一致時(shí),獲取根據(jù)所述原始虹膜模板生成的數(shù)據(jù)密鑰;根據(jù)所述數(shù)據(jù)密鑰對(duì)所述加密后的待解密文件進(jìn)行解密。
第三方面,本發(fā)明實(shí)施例提供了一種數(shù)據(jù)加密裝置,所述裝置包括:圖像獲取模塊,用于獲取用戶虹膜圖像;第一生成模塊,用于根據(jù)所述虹膜圖像生成虹膜模板;第二生成模塊,用于根據(jù)所述虹膜模板生成數(shù)據(jù)密鑰,并對(duì)所述虹膜模板進(jìn)行加密;加密模塊,用于根據(jù)所述數(shù)據(jù)密鑰對(duì)獲取的待加密文件進(jìn)行加密。
進(jìn)一步地,所述裝置還包括:第三生成模塊,用于根據(jù)加密后的待加密文件生成虹膜密鑰;模板加密模塊,用于根據(jù)所述虹膜密鑰對(duì)所述虹膜模板進(jìn)行二次加密;數(shù)據(jù)包生成模塊,用于根據(jù)二次加密后的所述虹膜模板與加密后的所述待加密文件生成加密數(shù)據(jù)包。
第四方面,本發(fā)明實(shí)施例提供了一種數(shù)據(jù)解密裝置,所述裝置包括:第一獲取模塊,用于獲取用戶虹膜圖像;模板生成模塊,用于根據(jù)所述虹膜圖像生成新虹膜模板;第二獲取模塊,用于獲取待解密文件對(duì)應(yīng)的加密數(shù)據(jù)包,所述加密數(shù)據(jù)包為在對(duì)原始文件進(jìn)行加密得到所述待解密文件的過(guò)程中生成,且所述加密數(shù)據(jù)包括所述原始文件和加密后的原始虹膜模板;第三獲取模塊,用于從所述加密數(shù)據(jù)包中獲取所述原始文件和所述加密后的原始虹膜模板;密鑰生成模塊,用于根據(jù)所述原始文件生成虹膜密鑰;模板解密模塊,用于根據(jù)所述虹膜密鑰對(duì)所述加密后的原始虹膜模板進(jìn)行解密;匹配模塊,用于將所述解密后的原始虹膜模板與所述新虹膜模板進(jìn)行匹配,獲得匹配結(jié)果;文件解密模塊,用于根據(jù)所述匹配結(jié)果,對(duì)所述待解密文件進(jìn)行解密。
進(jìn)一步地,所述文件解密模塊包括:比對(duì)子模塊,用于若所述匹配結(jié)果為所述解密后的原始虹膜模板與所述新虹膜模板匹配一致時(shí),獲取根據(jù)所述原始虹膜模板生成的數(shù)據(jù)密鑰;解密子模塊,用于根據(jù)所述數(shù)據(jù)密鑰對(duì)所述加密后的待解密文件進(jìn)行解密。
第五方面,本發(fā)明實(shí)施例提供了一種電子設(shè)備,所述電子設(shè)備包括加密處理器和存儲(chǔ)器,所述存儲(chǔ)器耦接到所述加密處理器,所述存儲(chǔ)器存儲(chǔ)指令,當(dāng)所述指令由所述加密處理器執(zhí)行時(shí)所述電子設(shè)備執(zhí)行以下操作:獲取用戶虹膜圖像;根據(jù)所述虹膜圖像生成虹膜模板;根據(jù)所述虹膜模板生成數(shù)據(jù)密鑰,并對(duì)所述虹膜模板進(jìn)行加密;根據(jù)所述數(shù)據(jù)密鑰對(duì)獲取的待加密文件進(jìn)行加密。
本發(fā)明實(shí)施例的有益效果是:
本發(fā)明實(shí)施例提供一種數(shù)據(jù)加密、解密方法及電子設(shè)備,首先獲取用戶虹膜圖像,根據(jù)所述虹膜圖像生成虹膜模板,再根據(jù)所述虹膜模板生成數(shù)據(jù)密鑰,為了提高虹膜模板的安全性,防止被別人竊取,則需對(duì)所述虹膜模板進(jìn)行加密,再根據(jù)所述數(shù)據(jù)密鑰對(duì)獲取的待加密文件進(jìn)行加密,通過(guò)虹膜圖像生成的虹膜模板,從而可根據(jù)每次生成虹膜模板的不同,從而對(duì)不同的每個(gè)待加密文件生成不同的數(shù)據(jù)密鑰,提高了數(shù)據(jù)密鑰安全性和數(shù)據(jù)安全性。
本發(fā)明的其他特征和優(yōu)點(diǎn)將在隨后的說(shuō)明書闡述,并且,部分地從說(shuō)明書中變得顯而易見(jiàn),或者通過(guò)實(shí)施本發(fā)明實(shí)施例了解。本發(fā)明的目的和其他優(yōu)點(diǎn)可通過(guò)在所寫的說(shuō)明書、權(quán)利要求書、以及附圖中所特別指出的結(jié)構(gòu)來(lái)實(shí)現(xiàn)和獲得。
附圖說(shuō)明
為了更清楚地說(shuō)明本發(fā)明實(shí)施例的技術(shù)方案,下面將對(duì)實(shí)施例中所需要使用的附圖作簡(jiǎn)單地介紹,應(yīng)當(dāng)理解,以下附圖僅示出了本發(fā)明的某些實(shí)施例,因此不應(yīng)被看作是對(duì)范圍的限定,對(duì)于本領(lǐng)域普通技術(shù)人員來(lái)講,在不付出創(chuàng)造性勞動(dòng)的前提下,還可以根據(jù)這些附圖獲得其他相關(guān)的附圖。
圖1示出了一種可應(yīng)用于本申請(qǐng)實(shí)施例中的電子設(shè)備的結(jié)構(gòu)框圖;
圖2為本發(fā)明實(shí)施例提供的一種數(shù)據(jù)加密方法的流程圖;
圖3為本發(fā)明實(shí)施例提供的一種數(shù)據(jù)解密方法的流程圖;
圖4為本發(fā)明實(shí)施例提供的一種數(shù)據(jù)加密裝置的結(jié)構(gòu)框圖;
圖5為本發(fā)明實(shí)施例提供的一種數(shù)據(jù)解密裝置的結(jié)構(gòu)框圖。
具體實(shí)施方式
下面將結(jié)合本發(fā)明實(shí)施例中附圖,對(duì)本發(fā)明實(shí)施例中的技術(shù)方案進(jìn)行清楚、完整地描述,顯然,所描述的實(shí)施例僅僅是本發(fā)明一部分實(shí)施例,而不是全部的實(shí)施例。通常在此處附圖中描述和示出的本發(fā)明實(shí)施例的組件可以以各種不同的配置來(lái)布置和設(shè)計(jì)。因此,以下對(duì)在附圖中提供的本發(fā)明的實(shí)施例的詳細(xì)描述并非旨在限制要求保護(hù)的本發(fā)明的范圍,而是僅僅表示本發(fā)明的選定實(shí)施例。基于本發(fā)明的實(shí)施例,本領(lǐng)域技術(shù)人員在沒(méi)有做出創(chuàng)造性勞動(dòng)的前提下所獲得的所有其他實(shí)施例,都屬于本發(fā)明保護(hù)的范圍。
應(yīng)注意到:相似的標(biāo)號(hào)和字母在下面的附圖中表示類似項(xiàng),因此,一旦某一項(xiàng)在一個(gè)附圖中被定義,則在隨后的附圖中不需要對(duì)其進(jìn)行進(jìn)一步定義和解釋。同時(shí),在本發(fā)明的描述中,術(shù)語(yǔ)“第一”、“第二”等僅用于區(qū)分描述,而不能理解為指示或暗示相對(duì)重要性。
請(qǐng)參照?qǐng)D1,圖1示出了一種可應(yīng)用于本申請(qǐng)實(shí)施例中的電子設(shè)備100的結(jié)構(gòu)框圖。電子設(shè)備100可以包括數(shù)據(jù)加密裝置或數(shù)據(jù)解密裝置、存儲(chǔ)器101、存儲(chǔ)控制器102、加密處理器103、外設(shè)接口104、輸入輸出單元105、音頻單元106、顯示單元107。
所述存儲(chǔ)器101、存儲(chǔ)控制器102、加密處理器103、外設(shè)接口104、輸入輸出單元105、音頻單元106、顯示單元107各元件相互之間直接或間接地電性連接,以實(shí)現(xiàn)數(shù)據(jù)的傳輸或交互。例如,這些元件相互之間可通過(guò)一條或多條通訊總線或信號(hào)線實(shí)現(xiàn)電性連接。所述數(shù)據(jù)加密裝置或數(shù)據(jù)解密裝置包括至少一個(gè)可以軟件或固件(firmware)的形式存儲(chǔ)于所述存儲(chǔ)器101中或固化在所述數(shù)據(jù)加密裝置或數(shù)據(jù)解密裝置的操作系統(tǒng)(operatingsystem,os)中的軟件功能模塊。所述加密處理器103用于執(zhí)行存儲(chǔ)器101中存儲(chǔ)的可執(zhí)行模塊,例如所述數(shù)據(jù)加密裝置或數(shù)據(jù)解密裝置包括的軟件功能模塊或計(jì)算機(jī)程序。
其中,存儲(chǔ)器101可以是,但不限于,隨機(jī)存取存儲(chǔ)器(randomaccessmemory,ram),只讀存儲(chǔ)器(readonlymemory,rom),可編程只讀存儲(chǔ)器(programmableread-onlymemory,prom),可擦除只讀存儲(chǔ)器(erasableprogrammableread-onlymemory,eprom),電可擦除只讀存儲(chǔ)器(electricerasableprogrammableread-onlymemory,eeprom)等。其中,存儲(chǔ)器101用于存儲(chǔ)程序,所述加密處理器103在接收到執(zhí)行指令后,執(zhí)行所述程序,前述本發(fā)明實(shí)施例任一實(shí)施例揭示的流過(guò)程定義的服務(wù)器所執(zhí)行的方法可以應(yīng)用于加密處理器103中,或者由加密處理器103實(shí)現(xiàn)。
加密處理器103可能是一種集成電路芯片,具有信號(hào)的處理能力。上述的加密處理器103可以是通用處理器,包括中央處理器(centralprocessingunit,簡(jiǎn)稱cpu)、網(wǎng)絡(luò)處理器(networkprocessor,簡(jiǎn)稱np)等;還可以是數(shù)字信號(hào)處理器(dsp)、專用集成電路(asic)、現(xiàn)成可編程門陣列(fpga)或者其他可編程邏輯器件、分立門或者晶體管邏輯器件、分立硬件組件。可以實(shí)現(xiàn)或者執(zhí)行本發(fā)明實(shí)施例中的公開的各方法、步驟及邏輯框圖。通用處理器可以是微處理器或者該加密處理器103也可以是任何常規(guī)的處理器等。
所述外設(shè)接口104將各種輸入/輸出裝置耦合至加密處理器103以及存儲(chǔ)器101。在一些實(shí)施例中,外設(shè)接口104,加密處理器103以及存儲(chǔ)控制器102可以在單個(gè)芯片中實(shí)現(xiàn)。在其他一些實(shí)例中,他們可以分別由獨(dú)立的芯片實(shí)現(xiàn)。
輸入輸出單元105用于提供給用戶輸入數(shù)據(jù)實(shí)現(xiàn)用戶與所述服務(wù)器(或本地終端)的交互。所述輸入輸出單元105可以是,但不限于,鼠標(biāo)和鍵盤等。
音頻單元106向用戶提供音頻接口,其可包括一個(gè)或多個(gè)麥克風(fēng)、一個(gè)或者多個(gè)揚(yáng)聲器以及音頻電路。
顯示單元107在所述電子設(shè)備100與用戶之間提供一個(gè)交互界面(例如用戶操作界面)或用于顯示圖像數(shù)據(jù)給用戶參考。在本實(shí)施例中,所述顯示單元107可以是液晶顯示器或觸控顯示器。若為觸控顯示器,其可為支持單點(diǎn)和多點(diǎn)觸控操作的電容式觸控屏或電阻式觸控屏等。支持單點(diǎn)和多點(diǎn)觸控操作是指觸控顯示器能感應(yīng)到來(lái)自該觸控顯示器上一個(gè)或多個(gè)位置處同時(shí)產(chǎn)生的觸控操作,并將該感應(yīng)到的觸控操作交由加密處理器103進(jìn)行計(jì)算和處理。
所述外設(shè)接口104將各種輸入/輸入裝置耦合至加密處理器103以及存儲(chǔ)器101。在一些實(shí)施例中,外設(shè)接口104,加密處理器103以及存儲(chǔ)控制器102可以在單個(gè)芯片中實(shí)現(xiàn)。在其他一些實(shí)例中,他們可以分別由獨(dú)立的芯片實(shí)現(xiàn)。
輸入輸出單元105用于提供給用戶輸入數(shù)據(jù)實(shí)現(xiàn)用戶與處理終端的交互。所述輸入輸出單元105可以是,但不限于,鼠標(biāo)和鍵盤等。
需要說(shuō)明的是,該電子設(shè)備100可以應(yīng)用于終端設(shè)備與存儲(chǔ)設(shè)備之間數(shù)據(jù)傳輸時(shí),實(shí)現(xiàn)對(duì)數(shù)據(jù)的加密或解密操作,例如,在終端設(shè)備與存儲(chǔ)設(shè)備之間進(jìn)行數(shù)據(jù)傳輸時(shí),該電子設(shè)備100分別與所述終端設(shè)備和存儲(chǔ)設(shè)備進(jìn)行連接,其與所述終端設(shè)備和存儲(chǔ)設(shè)備的連接接口可以為usb、sata類型的接口,從而實(shí)現(xiàn)一個(gè)數(shù)據(jù)轉(zhuǎn)接時(shí)加密和解密的功能。
例如,在終端設(shè)備向存儲(chǔ)設(shè)備發(fā)送數(shù)據(jù)時(shí),電子設(shè)備100可以在數(shù)據(jù)傳輸至存儲(chǔ)設(shè)備時(shí)對(duì)數(shù)據(jù)進(jìn)行加密,在數(shù)據(jù)從存儲(chǔ)設(shè)備中讀取時(shí)對(duì)數(shù)據(jù)進(jìn)行解密,從而保證數(shù)據(jù)的安全。
另外,該終端設(shè)備可以為個(gè)人電腦(personalcomputer,pc)、平板電腦、智能手機(jī)、個(gè)人數(shù)字助理(personaldigitalassistant,pda)、可穿戴設(shè)備等終端。存儲(chǔ)設(shè)備可以為sd存儲(chǔ)卡,或者存儲(chǔ)器,或者其他可以存儲(chǔ)數(shù)據(jù)的設(shè)備。
請(qǐng)參照?qǐng)D2,圖2為本發(fā)明實(shí)施例提供的一種數(shù)據(jù)加密方法的流程圖,所述方法具體包括如下步驟:
步驟s110:獲取用戶虹膜圖像。
作為一種實(shí)施方式,可以通過(guò)虹膜攝像頭獲取用戶虹膜圖像,該虹膜攝像頭采用光學(xué)防抖動(dòng)虹膜攝像頭,能夠精確采集用戶的雙眼或單眼虹膜圖像。另外,也可采用ccd攝像頭或者其他圖像采集裝置進(jìn)行用戶虹膜圖像的采集。
步驟s120:根據(jù)所述虹膜圖像生成虹膜模板。
作為一種實(shí)施方式,該生成虹膜模板的方法是將虹膜圖像通過(guò)一維log-gabor濾波算法或二維log-gabor濾波算法等生成虹膜模板。
步驟s130:根據(jù)所述虹膜模板生成數(shù)據(jù)密鑰,并對(duì)所述虹膜模板進(jìn)行加密。
在獲取到所述虹膜模板后,可采用哈希算法生成數(shù)據(jù)密鑰,在根據(jù)虹膜圖像生成虹膜模板的過(guò)程中,在采集用戶虹膜圖像的過(guò)程中由于光線、顏色等外部環(huán)境因素下可能會(huì)導(dǎo)致生成的模板有差異,最終也就導(dǎo)致生成的數(shù)據(jù)密鑰是變化的,從而提高了數(shù)據(jù)密鑰安全性和數(shù)據(jù)安全性。
并且為了保證所述虹膜模板的安全性,則需對(duì)該虹膜模板進(jìn)行加密,這里進(jìn)行加密的算法可采用虹膜模組(芯片型號(hào)為aes256/128)進(jìn)行加密,或者采用國(guó)密算法(sm1,sm2,sm3,sm4,sm7)進(jìn)行加密。
步驟s140:根據(jù)所述數(shù)據(jù)密鑰對(duì)獲取的待加密文件進(jìn)行加密。
在生成所述密鑰后需要利用該密鑰對(duì)所述待加密文件進(jìn)行加密,其加密方法也可采用國(guó)密算法(sm1,sm2,sm3,sm4,sm7)等。
作為一種實(shí)施方式,所述方法還可包括:
步驟s150:根據(jù)加密后的待加密文件生成虹膜密鑰。
為了進(jìn)一步提高虹膜模板的安全性,在上述步驟中的加密后的待加密文件,從而根據(jù)該加密后的待加密文件生成虹膜密鑰,該生成方法可采用模糊算法或模糊提取器進(jìn)行虹膜密鑰生成。
步驟s160:根據(jù)所述虹膜密鑰對(duì)所述虹膜模板進(jìn)行二次加密。
若在步驟s130中對(duì)虹膜模板進(jìn)行一次加密是采用虹膜模組(芯片型號(hào)為aes256/128)進(jìn)行加密,則本步驟中對(duì)虹膜模板進(jìn)行二次加密采用國(guó)密算法(sm1,sm2,sm3,sm4,sm7)等進(jìn)行加密,若在步驟s130中對(duì)虹膜模板進(jìn)行一次加密是采用國(guó)密算法(sm1,sm2,sm3,sm4,sm7)等進(jìn)行加密,則本步驟中對(duì)虹膜模板進(jìn)行二次加密采用虹膜模組(芯片型號(hào)為aes256/128)進(jìn)行加密,從而提高虹膜模板的安全性,以防止被別人竊取。
步驟s170:根據(jù)二次加密后的所述虹膜模板與加密后的所述待加密文件生成加密數(shù)據(jù)包。
為了在解密過(guò)程中,需要提取出虹膜模板和待加密文件,因此可以將二次加密后的虹膜模板與加密后的所述待加密文件生成加密數(shù)據(jù)包。
在獲取到用戶虹膜圖像后,根據(jù)所述虹膜圖像生成虹膜模板,再根據(jù)所述虹膜模板生成數(shù)據(jù)密鑰,同時(shí)對(duì)生成的虹膜模板進(jìn)行加密,然后再根據(jù)所述數(shù)據(jù)密鑰對(duì)獲取的待加密文件進(jìn)行加密,為了提高虹膜模板的安全性,還可根據(jù)加密后的待加密文件生成的虹膜密鑰對(duì)所述虹膜模板進(jìn)行二次加密,為了方便解密過(guò)程中對(duì)虹膜模板的提取,可以將所述虹膜模板和所述加密后的所述待加密文件生成加密數(shù)據(jù)包,該數(shù)據(jù)加密方法通過(guò)虹膜圖像生成的虹膜模板,從而可根據(jù)虹膜模板對(duì)不同的每個(gè)待加密文件生成不同的密鑰,提高了密鑰安全性和數(shù)據(jù)安全性。
請(qǐng)參照?qǐng)D3,圖3為本發(fā)明實(shí)施例提供的一種數(shù)據(jù)解密方法的流程圖,所述方法具體包括如下步驟:
步驟s210:獲取用戶虹膜圖像。
在對(duì)原始文件進(jìn)行加密后獲取待解密文件,若要對(duì)該待解密文件進(jìn)行解密,則需要先獲取用戶的虹膜圖像,該步驟中獲取虹膜圖像也可以通過(guò)虹膜攝像頭進(jìn)行獲取,具體實(shí)現(xiàn)方法可參照步驟s110,在此為了描述的簡(jiǎn)潔,不再過(guò)多贅述。
步驟s220:根據(jù)所述虹膜圖像生成新虹膜模板。
此步驟中虹膜圖像生成新虹膜模板與步驟s120中生成虹膜模板的方法一樣,即都可通過(guò)一維log-gabor濾波算法或二維log-gabor濾波算法等生成新虹膜模板。
步驟s230:獲取待解密文件對(duì)應(yīng)的加密數(shù)據(jù)包,所述加密數(shù)據(jù)包為在對(duì)原始文件進(jìn)行加密得到所述待解密文件的過(guò)程中生成,且所述加密數(shù)據(jù)包括所述原始文件和加密后的原始虹膜模板。
這里所說(shuō)的加密數(shù)據(jù)包實(shí)際上是步驟s170中生成的加密數(shù)據(jù)包,即該加密數(shù)據(jù)包為二次加密后的原始虹膜模板和加密后的原始文件生成的加密數(shù)據(jù)包。
步驟s240:從所述加密數(shù)據(jù)包中獲取所述原始文件和所述加密后的原始虹膜模板。
在獲得上述加密數(shù)據(jù)包后,即可從中提取出原始文件和加密后的原始虹膜模板,若該原始文件為加密后的原始文件,則需要對(duì)該加密后的原始文件進(jìn)行解密后才能獲得未加密的原始文件,對(duì)加密后的原始文件進(jìn)行解密的方法也可采用國(guó)密算法(sm1,sm2,sm3,sm4,sm7)等進(jìn)行解密。
步驟s250:根據(jù)所述原始文件生成虹膜密鑰。
通過(guò)獲取的原始文件,則可生成密鑰,此處的生成密鑰的方法也可采用模糊算法或模糊提取器進(jìn)行生成。
步驟s260:根據(jù)所述虹膜密鑰對(duì)所述加密后的原始虹膜模板進(jìn)行解密。
在獲取到密鑰后,根據(jù)密鑰對(duì)所述二次加密后的原始虹膜模板進(jìn)行解密,若原始虹膜模板一次加密時(shí)采用的是國(guó)密算法(sm1,sm2,sm3,sm4,sm7)進(jìn)行加密的,二次加密時(shí)采用的是虹膜模組(芯片型號(hào)為aes256/128)進(jìn)行加密的,相應(yīng)地,解密時(shí),一次解密應(yīng)采用虹膜模組(芯片型號(hào)為aes256/128)進(jìn)行解密,二次解密應(yīng)采用國(guó)密算法(sm1,sm2,sm3,sm4,sm7)進(jìn)行解密。若原始虹膜模板一次加密時(shí)采用的是虹膜模組(芯片型號(hào)為aes256/128)進(jìn)行加密的,二次加密時(shí)采用的是國(guó)密算法(sm1,sm2,sm3,sm4,sm7)進(jìn)行加密的,相應(yīng)地,解密時(shí),一次解密應(yīng)采用國(guó)密算法(sm1,sm2,sm3,sm4,sm7)進(jìn)行解密,二次解密應(yīng)采用虹膜模組(芯片型號(hào)為aes256/128)進(jìn)行解密。也就是,對(duì)虹膜模板在加密過(guò)程中采用的算法進(jìn)行加密,則在解密過(guò)程也相應(yīng)的采用相同的算法進(jìn)行解密。
步驟s270:將所述解密后的原始虹膜模板與所述新虹膜模板進(jìn)行匹配,獲得匹配結(jié)果。
在上述步驟中獲取到原始虹膜模板與生成的新虹膜模板,可以通過(guò)概率學(xué)和域值等方法對(duì)原始虹膜模板與新虹膜模板進(jìn)行匹配,從而獲得匹配結(jié)果。
步驟s280:根據(jù)所述匹配結(jié)果,對(duì)所述待解密文件進(jìn)行解密。
根據(jù)上述步驟得到的匹配結(jié)果,若所述匹配結(jié)果為所述解密后的原始虹膜模板與所述新虹膜模板匹配一致時(shí),獲取根據(jù)所述原始虹膜模板生成的數(shù)據(jù)密鑰,從而根據(jù)數(shù)據(jù)密鑰對(duì)所述待解密文件進(jìn)行解密,若匹配結(jié)果為所述解密后的原始虹膜模板與所述新虹膜模板匹配不一致時(shí),則不能獲取所述原始虹膜模板生成的數(shù)據(jù)密鑰,也就不能對(duì)所述待解密文件進(jìn)行解密了,防止數(shù)據(jù)被竊取,從而保證了數(shù)據(jù)的安全性。
在獲取到用戶虹膜圖像后,根據(jù)所述虹膜圖像生成新虹膜模板,再獲取待解密文件對(duì)應(yīng)的加密數(shù)據(jù)包,所述加密數(shù)據(jù)包為在對(duì)原始文件進(jìn)行加密得到所述待解密文件的過(guò)程中生成,且所述加密數(shù)據(jù)包括所述原始文件和加密后的原始虹膜模板,再?gòu)乃黾用軘?shù)據(jù)包中獲取所述原始文件和所述加密后的原始虹膜模板,根據(jù)原始文件生成虹膜密鑰,再根據(jù)所述虹膜密鑰對(duì)加密后的原始虹膜模板進(jìn)行解密,將所述解密后的原始虹膜模板與所述新虹膜模板進(jìn)行匹配,若所述匹配結(jié)果為所述解密后的原始虹膜模板與所述新虹膜模板匹配一致時(shí),獲取根據(jù)所述原始虹膜模板生成的數(shù)據(jù)密鑰,該數(shù)據(jù)解密方法是通過(guò)獲取原始文件生成的原始虹膜模板,再將該原始虹膜模板與新生成的新虹膜模板進(jìn)行匹配,從而比對(duì)該數(shù)據(jù)解密過(guò)程中生成的虹膜模板與數(shù)據(jù)加密方法中生成的虹膜模板是否匹配,若匹配,即可對(duì)待解密文件進(jìn)行解密,若不匹配,則無(wú)法解密,從而提高了密鑰安全性和數(shù)據(jù)安全性。
請(qǐng)參照?qǐng)D4,圖4為本發(fā)明實(shí)施例提供的一種數(shù)據(jù)加密裝置200的結(jié)構(gòu)框圖,該裝置用于執(zhí)行上述的數(shù)據(jù)加密方法,所述裝置具體包括:
圖像獲取模塊210,用于獲取用戶虹膜圖像。
第一生成模塊220,用于根據(jù)所述虹膜圖像生成虹膜模板。
第二生成模塊230,用于根據(jù)所述虹膜模板生成數(shù)據(jù)密鑰,并對(duì)所述虹膜模板進(jìn)行加密。
加密模塊240,用于根據(jù)所述數(shù)據(jù)密鑰對(duì)獲取的待加密文件進(jìn)行加密。
作為一種實(shí)施方式,所述裝置還可包括:
第三生成模塊250,用于根據(jù)加密后的待加密文件生成虹膜密鑰。
模板加密模塊260,用于根據(jù)所述虹膜密鑰對(duì)所述虹膜模板進(jìn)行二次加密。
數(shù)據(jù)包生成模塊270,用于根據(jù)二次加密后的所述虹膜模板與加密后的所述待加密文件生成加密數(shù)據(jù)包。
請(qǐng)參照?qǐng)D5,圖5為本發(fā)明實(shí)施例提供的一種數(shù)據(jù)解密裝置300的結(jié)構(gòu)框圖,該裝置用于執(zhí)行上述的數(shù)據(jù)解密方法,所述裝置具體包括:
第一獲取模塊310,用于獲取用戶虹膜圖像。
模板生成模塊320,用于根據(jù)所述虹膜圖像生成新虹膜模板。
第二獲取模塊330,用于獲取待解密文件對(duì)應(yīng)的加密數(shù)據(jù)包,所述加密數(shù)據(jù)包為在對(duì)原始文件進(jìn)行加密得到所述待解密文件的過(guò)程中生成,且所述加密數(shù)據(jù)包括所述原始文件和加密后的原始虹膜模板。
第三獲取模塊340,用于從所述加密數(shù)據(jù)包中獲取所述原始文件和所述加密后的原始虹膜模板。
密鑰生成模塊350,用于根據(jù)所述原始文件生成虹膜密鑰。
模板解密模塊360,用于根據(jù)所述虹膜密鑰對(duì)所述加密后的原始虹膜模板進(jìn)行解密。
匹配模塊370,用于將所述解密后的原始虹膜模板與所述新虹膜模板進(jìn)行匹配,獲得匹配結(jié)果。
文件解密模塊380,用于根據(jù)所述匹配結(jié)果,對(duì)所述待解密文件進(jìn)行解密。
作為一種實(shí)施方式,所述裝置還可包括:
比對(duì)子模塊,用于若所述匹配結(jié)果為所述解密后的原始虹膜模板與所述新虹膜模板的匹配結(jié)果一致時(shí),獲取根據(jù)所述原始虹膜模板生成的數(shù)據(jù)密鑰。
解密子模塊,用于根據(jù)所述數(shù)據(jù)密鑰對(duì)所述加密后的待解密文件進(jìn)行解密。
所屬領(lǐng)域的技術(shù)人員可以清楚地了解到,為描述的方便和簡(jiǎn)潔,上述描述的方法的具體工作過(guò)程,可以參考前述裝置中的對(duì)應(yīng)過(guò)程,在此不再過(guò)多贅述。
綜上所述,本發(fā)明實(shí)施例提供一種數(shù)據(jù)加密、解密方法及電子設(shè)備,首先獲取用戶虹膜圖像,根據(jù)所述虹膜圖像生成虹膜模板,再根據(jù)所述虹膜模板生成數(shù)據(jù)密鑰,為了提高虹膜模板的安全性,防止被別人竊取,則需對(duì)所述虹膜模板進(jìn)行加密,再根據(jù)所述數(shù)據(jù)密鑰對(duì)獲取的待加密文件進(jìn)行加密,通過(guò)虹膜圖像生成的虹膜模板,從而可根據(jù)每次生成虹膜模板的不同,從而對(duì)不同的每個(gè)待加密文件生成不同的數(shù)據(jù)密鑰,提高了數(shù)據(jù)密鑰安全性和數(shù)據(jù)安全性。
在本申請(qǐng)所提供的幾個(gè)實(shí)施例中,應(yīng)該理解到,所揭露的裝置和方法,也可以通過(guò)其它的方式實(shí)現(xiàn)。以上所描述的裝置實(shí)施例僅僅是示意性的,例如,附圖中的流程圖和框圖顯示了根據(jù)本發(fā)明的多個(gè)實(shí)施例的裝置、方法和計(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è)連續(xù)的方框?qū)嶋H上可以基本并行地執(zhí)行,它們有時(shí)也可以按相反的順序執(zhí)行,這依所涉及的功能而定。也要注意的是,框圖和/或流程圖中的每個(gè)方框、以及框圖和/或流程圖中的方框的組合,可以用執(zhí)行規(guī)定的功能或動(dòng)作的專用的基于硬件的系統(tǒng)來(lái)實(shí)現(xiàn),或者可以用專用硬件與計(jì)算機(jī)指令的組合來(lái)實(shí)現(xiàn)。
另外,在本發(fā)明各個(gè)實(shí)施例中的各功能模塊可以集成在一起形成一個(gè)獨(dú)立的部分,也可以是各個(gè)模塊單獨(dú)存在,也可以兩個(gè)或兩個(gè)以上模塊集成形成一個(gè)獨(dú)立的部分。
所述功能如果以軟件功能模塊的形式實(shí)現(xiàn)并作為獨(dú)立的產(chǎn)品銷售或使用時(shí),可以存儲(chǔ)在一個(gè)計(jì)算機(jī)可讀取存儲(chǔ)介質(zhì)中?;谶@樣的理解,本發(fā)明的技術(shù)方案本質(zhì)上或者說(shuō)對(duì)現(xiàn)有技術(shù)做出貢獻(xiàn)的部分或者該技術(shù)方案的部分可以以軟件產(chǎn)品的形式體現(xiàn)出來(lái),該計(jì)算機(jī)軟件產(chǎn)品存儲(chǔ)在一個(gè)存儲(chǔ)介質(zhì)中,包括若干指令用以使得一臺(tái)計(jì)算機(jī)設(shè)備(可以是個(gè)人計(jì)算機(jī),服務(wù)器,或者網(wǎng)絡(luò)設(shè)備等)執(zhí)行本發(fā)明各個(gè)實(shí)施例所述方法的全部或部分步驟。而前述的存儲(chǔ)介質(zhì)包括:u盤、移動(dòng)硬盤、只讀存儲(chǔ)器(rom,read-onlymemory)、隨機(jī)存取存儲(chǔ)器(ram,randomaccessmemory)、磁碟或者光盤等各種可以存儲(chǔ)程序代碼的介質(zhì)。需要說(shuō)明的是,在本文中,諸如第一和第二等之類的關(guān)系術(shù)語(yǔ)僅僅用來(lái)將一個(gè)實(shí)體或者操作與另一個(gè)實(shí)體或操作區(qū)分開來(lái),而不一定要求或者暗示這些實(shí)體或操作之間存在任何這種實(shí)際的關(guān)系或者順序。而且,術(shù)語(yǔ)“包括”、“包含”或者其任何其他變體意在涵蓋非排他性的包含,從而使得包括一系列要素的過(guò)程、方法、物品或者設(shè)備不僅包括那些要素,而且還包括沒(méi)有明確列出的其他要素,或者是還包括為這種過(guò)程、方法、物品或者設(shè)備所固有的要素。在沒(méi)有更多限制的情況下,由語(yǔ)句“包括一個(gè)……”限定的要素,并不排除在包括所述要素的過(guò)程、方法、物品或者設(shè)備中還存在另外的相同要素。
以上所述僅為本發(fā)明的優(yōu)選實(shí)施例而已,并不用于限制本發(fā)明,對(duì)于本領(lǐng)域的技術(shù)人員來(lái)說(shuō),本發(fā)明可以有各種更改和變化。凡在本發(fā)明的精神和原則之內(nèi),所作的任何修改、等同替換、改進(jìn)等,均應(yīng)包含在本發(fā)明的保護(hù)范圍之內(nèi)。應(yīng)注意到:相似的標(biāo)號(hào)和字母在下面的附圖中表示類似項(xiàng),因此,一旦某一項(xiàng)在一個(gè)附圖中被定義,則在隨后的附圖中不需要對(duì)其進(jìn)行進(jìn)一步定義和解釋。
以上所述,僅為本發(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)。
需要說(shuō)明的是,在本文中,諸如第一和第二等之類的關(guān)系術(shù)語(yǔ)僅僅用來(lái)將一個(gè)實(shí)體或者操作與另一個(gè)實(shí)體或操作區(qū)分開來(lái),而不一定要求或者暗示這些實(shí)體或操作之間存在任何這種實(shí)際的關(guān)系或者順序。而且,術(shù)語(yǔ)“包括”、“包含”或者其任何其他變體意在涵蓋非排他性的包含,從而使得包括一系列要素的過(guò)程、方法、物品或者設(shè)備不僅包括那些要素,而且還包括沒(méi)有明確列出的其他要素,或者是還包括為這種過(guò)程、方法、物品或者設(shè)備所固有的要素。在沒(méi)有更多限制的情況下,由語(yǔ)句“包括一個(gè)……”限定的要素,并不排除在包括所述要素的過(guò)程、方法、物品或者設(shè)備中還存在另外的相同要素。