數(shù)據(jù)加密方法、解密方法及裝置制造方法
【專利摘要】本發(fā)明公開(kāi)了一種數(shù)據(jù)加密方法及裝置、數(shù)據(jù)解密方法及裝置,該方法包括:獲取敏感數(shù)據(jù),判斷所述敏感數(shù)據(jù)的數(shù)據(jù)類型屬于字符型或數(shù)值型;若所述敏感數(shù)據(jù)的數(shù)據(jù)類型屬于字符型,則提取所述敏感數(shù)據(jù)中的單個(gè)原始字符,將所述單個(gè)原始字符轉(zhuǎn)換成加密字符集中的加密字符,所述敏感數(shù)據(jù)即轉(zhuǎn)換為加密數(shù)據(jù);若所述敏感數(shù)據(jù)的數(shù)據(jù)類型屬于數(shù)值型,則將所述敏感數(shù)據(jù)后N位原始數(shù)字轉(zhuǎn)換成N位加密數(shù)字,所述敏感數(shù)據(jù)即轉(zhuǎn)換為所述加密數(shù)據(jù)。本發(fā)明通過(guò)保留原數(shù)據(jù)格式的方式對(duì)數(shù)據(jù)進(jìn)行加密,使得加密數(shù)據(jù)在數(shù)據(jù)存儲(chǔ)系統(tǒng)中所需要的存儲(chǔ)空間不變,減少了傳統(tǒng)加密算法的系統(tǒng)開(kāi)銷和通訊開(kāi)銷。
【專利說(shuō)明】數(shù)據(jù)加密方法、解密方法及裝置
【技術(shù)領(lǐng)域】
[0001]本發(fā)明涉及數(shù)據(jù)處理領(lǐng)域,尤其涉及一種數(shù)據(jù)加密方法、解密方法及裝置。
【背景技術(shù)】
[0002]隨著計(jì)算機(jī)技術(shù)的發(fā)展,人們普遍使用計(jì)算機(jī)進(jìn)行數(shù)據(jù)的存儲(chǔ)、傳輸。但不少存儲(chǔ)傳輸?shù)臄?shù)據(jù)具有保密要求,因此需要對(duì)存儲(chǔ)、傳輸?shù)臄?shù)據(jù)進(jìn)行加密。例如,電信運(yùn)行客戶敏感數(shù)據(jù)信息的安全性一直是客戶和運(yùn)營(yíng)商共同關(guān)注的問(wèn)題,一旦客戶的敏感數(shù)據(jù)被意外修改或泄漏,將會(huì)造成客戶隱私信息被濫用,給運(yùn)營(yíng)商的業(yè)務(wù)收入、企業(yè)形象、客戶滿意度等帶來(lái)重大影響,甚至影響社會(huì)穩(wěn)定,造成難以估量的損失。
[0003]目前電信運(yùn)營(yíng)商都存儲(chǔ)了海量的客戶敏感數(shù)據(jù),傳統(tǒng)技術(shù)中對(duì)客戶敏感數(shù)據(jù)采用的是DES加密方法,系統(tǒng)開(kāi)銷大,通訊開(kāi)銷成本較高。比如對(duì)客戶姓名使用RC2算法加密后,數(shù)據(jù)長(zhǎng)度由原來(lái)的8位變?yōu)?4位,需要對(duì)數(shù)據(jù)庫(kù)字段進(jìn)行擴(kuò)位,大大增加了系統(tǒng)開(kāi)銷。由于使用該算法,需要額外增加存儲(chǔ)空間,且數(shù)據(jù)加密脫敏是在數(shù)據(jù)提取-轉(zhuǎn)換-加載(Extraction-Transformation-Loading,簡(jiǎn)稱ETL)過(guò)程中完成的,嚴(yán)重影響了數(shù)據(jù)入庫(kù)的速度。
【發(fā)明內(nèi)容】
[0004]為了解決現(xiàn)有技術(shù)中數(shù)據(jù)加密后,系統(tǒng)開(kāi)銷大,通訊開(kāi)銷成本高的技術(shù)問(wèn)題,本發(fā)明提出一種數(shù)據(jù)加密方法及裝置、數(shù)據(jù)解密方法及裝置。
[0005]本發(fā)明的一個(gè)方面,提供一種數(shù)據(jù)加密方法,包括:
[0006]獲取敏感數(shù)據(jù),判斷所述敏感數(shù)據(jù)的數(shù)據(jù)類型屬于字符型或數(shù)值型;
[0007]若所述敏感數(shù)據(jù)的數(shù)據(jù)類型屬于字符型,則提取所述敏感數(shù)據(jù)中的單個(gè)原始字符,將所述單個(gè)原始字符轉(zhuǎn)換成加密字符集中的加密字符,所述敏感數(shù)據(jù)即轉(zhuǎn)換為加密數(shù)據(jù);
[0008]若所述敏感數(shù)據(jù)的數(shù)據(jù)類型屬于數(shù)值型,則將所述敏感數(shù)據(jù)后N位原始數(shù)字轉(zhuǎn)換成N位加密數(shù)字,所述敏感數(shù)據(jù)即轉(zhuǎn)換為所述加密數(shù)據(jù)。
[0009]本發(fā)明的另一個(gè)方面,提供一種數(shù)據(jù)加密裝置,包括:
[0010]第一數(shù)據(jù)類型判斷模塊,用于獲取敏感數(shù)據(jù),判斷所述敏感數(shù)據(jù)的數(shù)據(jù)類型屬于字符型或數(shù)值型;
[0011 ] 字符加密模塊,用于若所述敏感數(shù)據(jù)的數(shù)據(jù)類型屬于字符型,則提取所述敏感數(shù)據(jù)中的單個(gè)原始字符,將所述單個(gè)原始字符轉(zhuǎn)換成加密字符集中的加密字符,所述敏感數(shù)據(jù)即轉(zhuǎn)換為加密數(shù)據(jù);
[0012]數(shù)值加密模塊,用于若所述敏感數(shù)據(jù)的數(shù)據(jù)類型屬于數(shù)值型,則將所述敏感數(shù)據(jù)后N位原始數(shù)字轉(zhuǎn)換成N位加密數(shù)字,所述敏感數(shù)據(jù)即轉(zhuǎn)換為所述加密數(shù)據(jù)。
[0013]本發(fā)明的另一個(gè)方面,提供一種數(shù)據(jù)解密方法,包括:
[0014]獲取加密數(shù)據(jù),判斷所述加密數(shù)據(jù)的數(shù)據(jù)類型屬于字符型或數(shù)值型;
[0015]若所述加密數(shù)據(jù)的數(shù)據(jù)類型屬于字符型,則提取所述加密數(shù)據(jù)中的單個(gè)加密字符,根據(jù)解密字符集,將所述單個(gè)加密字符轉(zhuǎn)換成原始字符,所述加密數(shù)據(jù)即轉(zhuǎn)換為敏感數(shù)據(jù);
[0016]若所述加密數(shù)據(jù)的數(shù)據(jù)類型屬于數(shù)值型,則將所述加密數(shù)據(jù)后N位加密數(shù)字轉(zhuǎn)換成N位原始數(shù)字,所述加密數(shù)據(jù)即轉(zhuǎn)換為所述敏感數(shù)據(jù)。
[0017]本發(fā)明的另一個(gè)方面,提供一種數(shù)據(jù)解密裝置,包括:
[0018]第二數(shù)據(jù)類型判斷模塊,用于獲取加密數(shù)據(jù),判斷所述加密數(shù)據(jù)的數(shù)據(jù)類型屬于字符型或數(shù)值型;
[0019]字符解密模塊,用于若所述加密數(shù)據(jù)的數(shù)據(jù)類型屬于字符型,則提取所述加密數(shù)據(jù)中的單個(gè)加密字符,根據(jù)解密字符集,將所述單個(gè)加密字符轉(zhuǎn)換成原始字符,所述加密數(shù)據(jù)即轉(zhuǎn)換為敏感數(shù)據(jù);
[0020]數(shù)值解密模塊,用于若所述加密數(shù)據(jù)的數(shù)據(jù)類型屬于數(shù)值型,則將所述加密數(shù)據(jù)后N位加密數(shù)字轉(zhuǎn)換成N位原始數(shù)字,所述加密數(shù)據(jù)即轉(zhuǎn)換為所述敏感數(shù)據(jù)。
[0021]本發(fā)明的數(shù)據(jù)加密方法及裝置、數(shù)據(jù)解密方法及裝置,根據(jù)敏感數(shù)據(jù)數(shù)據(jù)類型的不同,分別通過(guò)兩種不同的加密方法對(duì)敏感數(shù)據(jù)進(jìn)行加密,使得敏感數(shù)據(jù)轉(zhuǎn)換成加密數(shù)據(jù)。由于無(wú)論是字符型或數(shù)值型的敏感數(shù)據(jù),在轉(zhuǎn)換時(shí)是對(duì)單個(gè)原始字符或原始數(shù)字進(jìn)行對(duì)應(yīng)的轉(zhuǎn)換,且該數(shù)據(jù)加密方法可逆。因此轉(zhuǎn)換后的加密數(shù)據(jù)保留了敏感數(shù)據(jù)的格式,長(zhǎng)度不變,加密數(shù)據(jù)在數(shù)據(jù)存儲(chǔ)系統(tǒng)中所需要的存儲(chǔ)空間不變,因此既減少了傳統(tǒng)加密算法的系統(tǒng)開(kāi)銷和通訊開(kāi)銷,又提高了加密數(shù)據(jù)在做數(shù)據(jù)關(guān)聯(lián)操作時(shí)的準(zhǔn)確性,傳統(tǒng)加密算法加密后的數(shù)據(jù)由于格式發(fā)生了變化,在進(jìn)行數(shù)據(jù)關(guān)聯(lián)操作時(shí)會(huì)發(fā)生數(shù)據(jù)缺失。
【專利附圖】
【附圖說(shuō)明】
[0022]圖1為本發(fā)明數(shù)據(jù)加密方法第一實(shí)施例的流程圖;
[0023]圖2為本發(fā)明數(shù)據(jù)加密方法第一實(shí)施例中提取單個(gè)原始字符的流程圖;
[0024]圖3為本發(fā)明數(shù)據(jù)加密方法第二實(shí)施例的流程圖;
[0025]圖4為第一個(gè)單元編碼區(qū)間示意圖;
[0026]圖5為GBK中文字符集示意圖;
[0027]圖6為數(shù)據(jù)加密方法第二實(shí)施例中m字符的加密過(guò)程示意圖;
[0028]圖7為本發(fā)明數(shù)據(jù)加密方法第三實(shí)施例的流程圖;
[0029]圖8為本發(fā)明數(shù)據(jù)加密裝置第一實(shí)施例的結(jié)構(gòu)示意圖;
[0030]圖9為本發(fā)明數(shù)據(jù)加密裝置第二實(shí)施例的結(jié)構(gòu)示意圖;
[0031]圖10為本發(fā)明數(shù)據(jù)加密裝置第三實(shí)施例的結(jié)構(gòu)示意圖;
[0032]圖11為本發(fā)明數(shù)據(jù)解密方法第一實(shí)施例的流程圖;
[0033]圖12為本發(fā)明數(shù)據(jù)解密方法第一實(shí)施例中提取單個(gè)加密字符的流程圖;
[0034]圖13為本發(fā)明數(shù)據(jù)解密方法第二實(shí)施例的流程圖;
[0035]圖14為本發(fā)明數(shù)據(jù)解密方法第二實(shí)施例中步驟S510的流程圖;
[0036]圖15為本發(fā)明數(shù)據(jù)解密方法第三實(shí)施例的流程圖;
[0037]圖16為本發(fā)明數(shù)據(jù)解密裝置第一實(shí)施例的結(jié)構(gòu)示意圖;
[0038]圖17為本發(fā)明數(shù)據(jù)解密裝置第二實(shí)施例的結(jié)構(gòu)示意圖;
[0039]圖18為本發(fā)明數(shù)據(jù)解密裝置第二實(shí)施例的結(jié)構(gòu)示意圖?!揪唧w實(shí)施方式】
[0040]圖1為本發(fā)明數(shù)據(jù)加密方法第一實(shí)施例的流程圖,如圖1所示,本發(fā)明實(shí)施例所提供的數(shù)據(jù)加密方法由數(shù)據(jù)存儲(chǔ)系統(tǒng)中的數(shù)據(jù)加密裝置執(zhí)行,在保留原有格式的情況下對(duì)數(shù)據(jù)存儲(chǔ)系統(tǒng)中存儲(chǔ)的敏感數(shù)據(jù)進(jìn)行加密脫敏,加密后的數(shù)據(jù)所需的存儲(chǔ)空間和原本敏感數(shù)據(jù)所需的存儲(chǔ)空間大小相同,從而降低了系統(tǒng)開(kāi)銷和通訊成本,數(shù)據(jù)加密裝置可以采用軟件和/或硬件的形式來(lái)實(shí)現(xiàn),該方法包括:
[0041]步驟S100,獲取敏感數(shù)據(jù);
[0042]步驟S102,判斷所述敏感數(shù)據(jù)的數(shù)據(jù)類型屬于字符型或數(shù)值型,若屬于字符型則進(jìn)入步驟S104,屬于數(shù)值型則進(jìn)入步驟S106 ;
[0043]數(shù)據(jù)加密裝置從數(shù)據(jù)存儲(chǔ)系統(tǒng)中獲取敏感數(shù)據(jù),獲取的方法有多種,例如通過(guò)數(shù)據(jù)庫(kù)查詢語(yǔ)句獲取,敏感數(shù)據(jù)是指有保密需求的數(shù)據(jù)。根據(jù)敏感數(shù)據(jù)在數(shù)據(jù)存儲(chǔ)系統(tǒng)中的屬性,判斷敏感數(shù)據(jù)的數(shù)據(jù)類型屬于字符型或數(shù)值型。
[0044]步驟S104,提取所述敏感數(shù)據(jù)中的單個(gè)原始字符,將所述單個(gè)原始字符轉(zhuǎn)換成加密字符集中的加密字符,所述敏感數(shù)據(jù)即轉(zhuǎn)換為加密數(shù)據(jù);
[0045]若該敏感數(shù)據(jù)的數(shù)據(jù)類型為字符型,則提取該敏感數(shù)據(jù)中的單個(gè)原始字符。單個(gè)原始字符是指敏感數(shù)據(jù)中需要做加密處理的單個(gè)字符,例如電信營(yíng)業(yè)商客戶的客戶姓名屬于敏感數(shù)據(jù),則單個(gè)原始字符即為每一位客戶的客戶姓名中的單個(gè)漢字,例如客戶姓名為“張三”,則單個(gè)原始字符為“張”和“三”。
[0046]將每個(gè)單個(gè)原始字符轉(zhuǎn)換成加密字符集中的加密字符。加密字符集為預(yù)設(shè)的字符集合,而加密字符為加密字符集中的字符。單個(gè)原始字符通過(guò)一定的對(duì)應(yīng)關(guān)系,對(duì)應(yīng)到加密字符集中的加密字符。然后將每個(gè)加密字符按照單個(gè)原始字符在敏感數(shù)據(jù)中的順序進(jìn)行組合,敏感數(shù)據(jù)即轉(zhuǎn)換為加密數(shù)據(jù)。例如“張”和“三”在預(yù)設(shè)的加密字符集中對(duì)應(yīng)的加密字符分別為“鶴”和“揖”,則敏感數(shù)據(jù)“張三”即轉(zhuǎn)換為加密數(shù)據(jù)“鎢揖”。
[0047]在優(yōu)選的實(shí)施例中,單個(gè)原始字符為中文字符時(shí),所述中文字符的加密字符集為中文GB2312字符集。
[0048]在優(yōu)選的實(shí)施例中,單個(gè)原始字符為英文字符或數(shù)字字符時(shí),所述英文字符和數(shù)字字符的加密字符集為由英文和數(shù)字組成的集合。
[0049]步驟S106,將所述敏感數(shù)據(jù)后N位原始數(shù)字轉(zhuǎn)換成N位加密數(shù)字,所述敏感數(shù)據(jù)即轉(zhuǎn)換為所述加密數(shù)據(jù)。
[0050]若該敏感數(shù)據(jù)的數(shù)據(jù)類型為數(shù)值型,敏感數(shù)據(jù)后N位之前的原始數(shù)字保留不做轉(zhuǎn)換操作,提取敏感數(shù)據(jù)的后N位原始數(shù)字,轉(zhuǎn)換為N位與原始數(shù)字不同的加密數(shù)字。未作加密的后N位之前的原始數(shù)字和加密后的N位加密數(shù)字組合即為加密數(shù)據(jù)。在優(yōu)選實(shí)施例中,N等于4。例如,電話號(hào)碼13811111111,保留后4位之前的原始數(shù)字“1381111”不變,對(duì)后4位原始數(shù)字“1111”做加密處理,轉(zhuǎn)換為4位加密數(shù)字“9876”,再將“1381111”和“9876”進(jìn)行組合,得到加密數(shù)據(jù)“13811119876”。
[0051]本實(shí)施例的技術(shù)方案中,數(shù)據(jù)加密裝置從數(shù)據(jù)存儲(chǔ)系統(tǒng)中獲取敏感數(shù)據(jù),根據(jù)敏感數(shù)據(jù)數(shù)據(jù)類型的不同,分別通過(guò)兩種不同的加密方法對(duì)敏感數(shù)據(jù)進(jìn)行加密,使得敏感數(shù)據(jù)轉(zhuǎn)換成加密數(shù)據(jù)。由于無(wú)論是字符型或數(shù)值型的敏感數(shù)據(jù),在轉(zhuǎn)換時(shí)是對(duì)單個(gè)原始字符或原始數(shù)字進(jìn)行對(duì)應(yīng)的轉(zhuǎn)換,因此轉(zhuǎn)換后的加密數(shù)據(jù)保留了敏感數(shù)據(jù)的格式,長(zhǎng)度不變,力口密數(shù)據(jù)在數(shù)據(jù)存儲(chǔ)系統(tǒng)中所需要的存儲(chǔ)空間不變,因此既減少了傳統(tǒng)加密算法的系統(tǒng)開(kāi)銷和通訊開(kāi)銷,又提高了加密數(shù)據(jù)在做數(shù)據(jù)關(guān)聯(lián)操作時(shí)的準(zhǔn)確性,傳統(tǒng)加密算法加密后的數(shù)據(jù)由于格式發(fā)生了變化,在進(jìn)行數(shù)據(jù)關(guān)聯(lián)操作時(shí)會(huì)發(fā)生數(shù)據(jù)缺失。
[0052]進(jìn)一步地,圖2為本發(fā)明數(shù)據(jù)加密方法第一實(shí)施例中提取單個(gè)原始字符的流程圖,如圖2所示,具體包括:
[0053]步驟S1042,循環(huán)提取所述敏感數(shù)據(jù)的每一個(gè)字符;
[0054]步驟S1044,判斷提取到的字符的類型屬于中文字符、英文字符、數(shù)字字符或標(biāo)點(diǎn)符號(hào);
[0055]步驟S1046,提取中文字符、英文字符和數(shù)字字符為需要加密的單個(gè)原始字符。
[0056]數(shù)據(jù)加密裝置獲取到敏感數(shù)據(jù)后,循環(huán)提取敏感數(shù)據(jù)中的每一個(gè)字符ch,判斷提取到的字符ch的屬性屬于中文字符、英文字符、數(shù)字字符或標(biāo)點(diǎn)符號(hào),若為標(biāo)點(diǎn)符號(hào),則保留不做加密處理,若為其他則作為需要加密的單個(gè)原始字符。
[0057]由于敏感數(shù)據(jù)中可能存在不同類型的字符,而不同類型字符的加密方法不同,通過(guò)循環(huán)提取每一個(gè)單個(gè)原始字符,判斷其字符屬性,使得數(shù)據(jù)加密裝置可以根據(jù)不同的字符屬性確定加密方法,提高敏感數(shù)據(jù)加密的處理效率。
[0058]圖3為本發(fā)明數(shù)據(jù)加密方法第二實(shí)施例的流程圖,如圖3所示,該實(shí)施例的執(zhí)行主體為數(shù)據(jù)加密裝置,該方法包括:
[0059]步驟S200,獲取敏感數(shù)據(jù);
[0060]步驟S202,判斷所述敏感數(shù)據(jù)的數(shù)據(jù)類型屬于字符型或數(shù)值型,若屬于字符型則進(jìn)入步驟S204,若屬于數(shù)值型則進(jìn)入步驟S214 ;
[0061]步驟S204,將所述加密字符集劃分為M塊大小相等的分區(qū)域Am (l〈=m〈=M),指定分區(qū)域Am+1、Am+2分別為Am的主映射區(qū)和從映射區(qū),Al、A2分別為AM的主映射區(qū)和從映射區(qū);
[0062]在優(yōu)選的實(shí)施例中,單個(gè)原始字符為中文字符時(shí),所述中文字符的加密字符集為中文GB2312字符集。
[0063]在優(yōu)選的實(shí)施例中,單個(gè)原始字符為英文字符或數(shù)字字符時(shí),所述英文字符和數(shù)字字符的加密字符集為由英文和數(shù)字組成的集合。
[0064]在優(yōu)選的實(shí)施例中,加密字符集被劃分為三塊大小相等的分區(qū)域Al、A2和A3,其中Al的主映射區(qū)為A2,從映射區(qū)為A3 ;A2的主映射區(qū)為Al,從映射區(qū)為A3 ;A3的主映射區(qū)為Al,從映射區(qū)為A2。
[0065]步驟S206,計(jì)算所述單個(gè)原始字符的GBK編碼值在所述加密字符集中的第一偏移量NP,所述第一偏移量NP為所述單個(gè)原始字符的GBK編碼值在所述分區(qū)域Am中高位偏移的位數(shù);
[0066]獲取加密字符集中與單個(gè)原始字符的GBK編碼值相同的字符,計(jì)算該字符在其所在分區(qū)域中高位偏移的位數(shù),即為該單個(gè)原始字符的GBK編碼值的第一偏移量NP。
[0067]步驟S208,根據(jù)所述敏感數(shù)據(jù)的長(zhǎng)度值與預(yù)設(shè)的第一密鑰計(jì)算所述敏感數(shù)據(jù)的第一動(dòng)態(tài)偏移量OP ;
[0068]在優(yōu)選的實(shí)施例中,敏感數(shù)據(jù)的第一動(dòng)態(tài)偏移量OP等于所述敏感數(shù)據(jù)的長(zhǎng)度值與預(yù)設(shè)的第一密鑰ASCII碼值求和再對(duì)所述分區(qū)域的長(zhǎng)度取模后所得的值。
[0069]在優(yōu)選的實(shí)施例中,預(yù)設(shè)的第一密鑰可以為系統(tǒng)生成的16位字符串,由大小寫英文字母、數(shù)字組成。生成方法如下:由JAVA原生方法生成一串隨機(jī)的UUID編號(hào),截取前八位、十到十三位、十五到十八位疊加組合成的一串16位密鑰。
[0070]步驟S210,根據(jù)所述第一偏移量NP和所述第一動(dòng)態(tài)偏移量OP計(jì)算第二偏移量;
[0071]在優(yōu)選的實(shí)施例中,單個(gè)原始字符對(duì)應(yīng)的加密字符的第二偏移量等于所述第一偏移量NP與所述第一動(dòng)態(tài)偏移量OP之和。
[0072]步驟S212,根據(jù)所述第二偏移量,獲取所述單個(gè)原始字符的GBK編碼值在所述分區(qū)域Am的主映射區(qū)Am+1中對(duì)應(yīng)的所述加密字符,所述敏感數(shù)據(jù)即轉(zhuǎn)換為加密數(shù)據(jù);
[0073]在優(yōu)選的實(shí)施例中,步驟S210具體包括:計(jì)算所述加密字符的編碼位,獲取所述加密字符,所述加密字符的編碼位為從所述單個(gè)原始字符GBK編碼值所在分區(qū)域Am的主映射區(qū)Am+1的頭部開(kāi)始偏移所述第二偏移量個(gè)位數(shù)后對(duì)應(yīng)的編碼位,該編碼位所對(duì)應(yīng)的字符即為所述加密字符。
[0074]步驟S214,將所述敏感數(shù)據(jù)后N位原始數(shù)字轉(zhuǎn)換成N位加密數(shù)字,所述敏感數(shù)據(jù)即轉(zhuǎn)換為所述加密數(shù)據(jù)。
[0075]具體地,預(yù)設(shè)GBK中文字符集為中文字符的加密字符集,GB2312中文字的編碼范圍在BOAO到F7EF之間,被劃分成72個(gè)等長(zhǎng)的單元區(qū)間,每個(gè)單元區(qū)間的編碼分布相同,如:第一個(gè)區(qū)間編碼范圍為BOAO?B0FE,第二個(gè)區(qū)間編碼范圍為BlAO?B1FE,以此類推,最后一個(gè)區(qū)間編碼范圍為F7A0?F7FE。
[0076]圖4為第一個(gè)單元編碼區(qū)間示意圖。
[0077]其余單元區(qū)域的編碼結(jié)構(gòu)類似。把BO?C7這24個(gè)單元編碼區(qū)間組成區(qū)域作為Al分區(qū)域,把C8?DF這24個(gè)單元編碼區(qū)間組成區(qū)域作為A2分區(qū)域,把EO?F7這24個(gè)單元編碼區(qū)間組成區(qū)域作為A3分區(qū)域。圖5為GBK中文字符集示意圖,如圖5所示。
[0078]預(yù)設(shè)由英文和數(shù)字組成的集合為英文字符和數(shù)字字符的加密字符集,將該集合分為 Al、A2 和 A3 等長(zhǎng)的三段。分別為是 Al 分區(qū)域:{’ a’,’ b’,’ c’,’ d’,’ e’,’ f,’ g’,’ h’,’1,j , k , 1,m , η , o , p , q , r , s , t , u ), A2 分區(qū)域:{_ v,w , x,y’,’ z’,’ 0’,’ I’,’ 2’,’ 3’,’ 4’,’ 0’,’ 5’,’ 6’,’ 7’,’ 8’,’ 9’,’ Z’,’ Y’,’ X’,’ W’,’ V’},A3 分區(qū)域:{’ U’,’ T’,’ S’,’ R’,’ Q’,’ P’,’ 0’,’ N’,’ M’,’ L’,’ K’,’ J’,’ I’,’ H’,’ G’,’ F’,’ E’,’ D’,’C’ , ’ B’ , ’ A’ }。
[0079]假設(shè)m字符在Al分區(qū)域中的編碼位置如下,則轉(zhuǎn)換后的密文字符編碼位置即為圖6的M位置。
[0080]若待加密的中文字符m的GBK編碼值在分區(qū)域Al中,則獲取m在分區(qū)域Al中的第一偏移量NP,然后將字符串長(zhǎng)度值和預(yù)設(shè)的第一密鑰的ASCII碼值求和再對(duì)分區(qū)域長(zhǎng)度取模得到第一動(dòng)態(tài)偏移量0P,最后將ΝΡ+0Ρ得到加密字符M的第二偏移量,從Al分區(qū)域的主映射區(qū)A2的頭部開(kāi)始偏移ΝΡ+0Ρ個(gè)位數(shù),得到加密字符M所在的編碼位。該加密字符可能在分區(qū)域A2,也可能影射到了分區(qū)域A3。
[0081]需要注意的是,在GB2312中文字符集的72個(gè)小區(qū)間中,D7區(qū)間的D7FA?D7FE為空,因此,如果加密字符在映射過(guò)程中對(duì)應(yīng)到了 D7FA?D7FE區(qū)間內(nèi),則直接返回原中文字符。[0082]相同的,對(duì)于數(shù)字字符和字母字符的轉(zhuǎn)換加密方法與中文字符的轉(zhuǎn)換加密方法相同,僅僅是加密字符集的不同而已。標(biāo)點(diǎn)符號(hào)保留不作處理。
[0083]本實(shí)施例的技術(shù)方案中,數(shù)據(jù)加密裝置從數(shù)據(jù)存儲(chǔ)系統(tǒng)中獲取敏感數(shù)據(jù),根據(jù)敏感數(shù)據(jù)數(shù)據(jù)類型的不同,分別通過(guò)兩種不同的加密方法對(duì)敏感數(shù)據(jù)進(jìn)行加密,使得敏感數(shù)據(jù)轉(zhuǎn)換成加密數(shù)據(jù)。由于無(wú)論是字符型或數(shù)值型的敏感數(shù)據(jù),在轉(zhuǎn)換時(shí)是對(duì)單個(gè)原始字符或原始數(shù)字進(jìn)行對(duì)應(yīng)的轉(zhuǎn)換,且該數(shù)據(jù)加密方法可逆。因此轉(zhuǎn)換后的加密數(shù)據(jù)保留了敏感數(shù)據(jù)的格式,長(zhǎng)度不變,加密數(shù)據(jù)在數(shù)據(jù)存儲(chǔ)系統(tǒng)中所需要的存儲(chǔ)空間不變,因此既減少了傳統(tǒng)加密算法的系統(tǒng)開(kāi)銷和通訊開(kāi)銷,又提高了加密數(shù)據(jù)在做數(shù)據(jù)關(guān)聯(lián)操作時(shí)的準(zhǔn)確性,傳統(tǒng)加密算法加密后的數(shù)據(jù)由于格式發(fā)生了變化,在進(jìn)行數(shù)據(jù)關(guān)聯(lián)操作時(shí)會(huì)發(fā)生數(shù)據(jù)缺失。
[0084]圖7為本發(fā)明數(shù)據(jù)加密方法第三實(shí)施例的流程圖,如圖7所示,該實(shí)施例的執(zhí)行主體為數(shù)據(jù)加密裝置,該方法包括:
[0085]步驟S300,獲取敏感數(shù)據(jù);
[0086]步驟S302,判斷所述敏感數(shù)據(jù)的數(shù)據(jù)類型屬于字符型或數(shù)值型,若屬于字符型則進(jìn)入步驟S304,若屬于數(shù)值型則進(jìn)入步驟S306 ;
[0087]步驟S304,提取所述敏感數(shù)據(jù)中的單個(gè)原始字符,將所述單個(gè)原始字符轉(zhuǎn)換成加密字符集中的加密字符,所述敏感數(shù)據(jù)即轉(zhuǎn)換為加密數(shù)據(jù);
[0088]步驟S306,將預(yù)設(shè)的第二密鑰分為N組第一分密鑰Sn (1<=η<=Ν),并計(jì)算每個(gè)第一分密鑰的ASCII碼值;
[0089]步驟S308,計(jì)算所述敏感數(shù)據(jù)后N位前的數(shù)字之和str,將每個(gè)第一分密鑰的ASCII碼值加上str后生成N組第二分密鑰SNn (n〈=N);
[0090]步驟S310,對(duì)所述敏感數(shù)據(jù)后N位中的每個(gè)原始數(shù)字和對(duì)應(yīng)的第二分密鑰SNn求和,再加上前一位數(shù)字,并經(jīng)過(guò)數(shù)字對(duì)調(diào)和移位操作生成N位加密數(shù)字;
[0091]步驟S312,所述敏感數(shù)據(jù)后N位前的數(shù)字和移位后的N位加密數(shù)字組合即獲得所述加密數(shù)據(jù)。
[0092]在優(yōu)選的實(shí)施例中,預(yù)設(shè)的第二密鑰為16位密鑰,將其分為4組第一分密鑰si, s2, s3, s4,每組第一分密鑰4位,并計(jì)算每個(gè)第一分密鑰的ASCII碼值;計(jì)算敏感數(shù)據(jù)后四位之前的數(shù)字和str ;將每組第一分密鑰的ASCII碼值都加上str生成四組第二分密鑰sn[O]到sn[3];將敏感數(shù)據(jù)后四位的每一位都和對(duì)應(yīng)的sn[i] (i=0, 1,2,3)求和,再加上前一位num(1-l),在經(jīng)過(guò)數(shù)字對(duì)調(diào)和移位操作將最終生成四位加密數(shù)字,與前面的原始數(shù)字拼接起來(lái)得到加密數(shù)據(jù)。
[0093]例如:例如:預(yù)設(shè)的第二密鑰為KEY:72f2e6f0cl9a4aa8, 16位第二密鑰分為4組第一分密鑰:Sl=72f2,S2=e6f0, S3=cl9a, S4=4aa8。敏感數(shù)據(jù)為手機(jī)號(hào)碼“ 13505189445”,前七位原始數(shù)字逐位相加得到str=23。
[0094]將每組第一分密鑰的ASCII碼值加上str生成4組第二分密鑰SN[0] =348+str=371,SN[l]=251+str=274, SN[2]=209+str=232, SN[3]=298+str=321。
[0095]將敏感數(shù)據(jù)后四位的每一位都和對(duì)應(yīng)的SN[i] (i=0, I, 2,3)求和,再加上前一位num(1-l),即 num[i]=9-(SN[i]+d[i]+i+num[1-l])%10(i=0, 1,2,3)。再經(jīng)過(guò)數(shù)字對(duì)調(diào)和移位操作,其中對(duì)調(diào)規(guī)則為 0-9,1-8,2-7,3-6,4-5,移位次數(shù)為(num[0]+num[l]+num[2]+num[3])%4。
[0096]由此可得,num[0]=9- (371+9+0) %10=9 ;num[l]=9- (274+4+9+1) %10=1 ;num[2]=9- (232+4+1+2)%10=0 ;num[3]=9- (321+5+0+3)%10=0 ;移位次數(shù):(9+1+0+0)%4=2,1009移位2次的結(jié)果為0091,加密數(shù)字即為0091,因此加密數(shù)據(jù)為“13505180091”。
[0097]需要注意的是,如果敏感數(shù)據(jù)的長(zhǎng)度小于四位,則直接返回敏感數(shù)據(jù)本身。
[0098]本實(shí)施例的技術(shù)方案中,數(shù)據(jù)加密裝置從數(shù)據(jù)存儲(chǔ)系統(tǒng)中獲取敏感數(shù)據(jù),根據(jù)敏感數(shù)據(jù)數(shù)據(jù)類型的不同,分別通過(guò)兩種不同的加密方法對(duì)敏感數(shù)據(jù)進(jìn)行加密,使得敏感數(shù)據(jù)轉(zhuǎn)換成加密數(shù)據(jù)。由于無(wú)論是字符型或數(shù)值型的敏感數(shù)據(jù),在轉(zhuǎn)換時(shí)是對(duì)單個(gè)原始字符或原始數(shù)字進(jìn)行對(duì)應(yīng)的轉(zhuǎn)換,且該數(shù)據(jù)加密方法可逆。因此轉(zhuǎn)換后的加密數(shù)據(jù)保留了敏感數(shù)據(jù)的格式,長(zhǎng)度不變,加密數(shù)據(jù)在數(shù)據(jù)存儲(chǔ)系統(tǒng)中所需要的存儲(chǔ)空間不變,因此減少了傳統(tǒng)加密算法的系統(tǒng)開(kāi)銷和通訊開(kāi)銷,傳統(tǒng)加密算法加密后的數(shù)據(jù)由于格式發(fā)生了變化,在進(jìn)行數(shù)據(jù)關(guān)聯(lián)操作時(shí)會(huì)發(fā)生數(shù)據(jù)缺失。同時(shí)對(duì)于數(shù)值型的數(shù)據(jù),通過(guò)變換后N位原始數(shù)字的加密方法,即對(duì)敏感數(shù)據(jù)進(jìn)行了加擾,同時(shí)保留了數(shù)據(jù)段的部分信息,提高了加密數(shù)據(jù)在做數(shù)據(jù)關(guān)聯(lián)操作時(shí)的準(zhǔn)確性。
[0099]圖8為本發(fā)明數(shù)據(jù)加密裝置第一實(shí)施例的結(jié)構(gòu)示意圖,如圖8所示,該裝置包括:第一數(shù)據(jù)類型判斷模塊11,字符加密模塊12以及數(shù)值加密模塊13,其中:
[0100]第一數(shù)據(jù)類型判斷模塊11,用于獲取敏感數(shù)據(jù),判斷所述敏感數(shù)據(jù)的數(shù)據(jù)類型屬于字符型或數(shù)值型;若所述敏感數(shù)據(jù)的數(shù)據(jù)類型屬于字符型,則將敏感數(shù)據(jù)發(fā)送至字符加密模塊12,若所述敏感數(shù)據(jù)的數(shù)據(jù)類型屬于數(shù)值型,則將敏感數(shù)據(jù)發(fā)送至數(shù)值加密模塊13 ;
[0101]字符加密模塊12,用于提取所述敏感數(shù)據(jù)中的單個(gè)原始字符,將所述單個(gè)原始字符轉(zhuǎn)換成加密字符集中的加密字符,所述敏感數(shù)據(jù)即轉(zhuǎn)換為加密數(shù)據(jù);
[0102]數(shù)值加密模塊13,用于將所述敏感數(shù)據(jù)后N位原始數(shù)字轉(zhuǎn)換成N位加密數(shù)字,所述敏感數(shù)據(jù)即轉(zhuǎn)換為所述加密數(shù)據(jù)。
[0103]優(yōu)選的,單個(gè)原始字符為中文字符時(shí),所述中文字符的加密字符集為中文GB2312
字符集。
[0104]優(yōu)選的,單個(gè)原始字符為英文字符或數(shù)字字符時(shí),所述英文字符和數(shù)字字符的加密字符集為由英文和數(shù)字組成的集合。
[0105]本發(fā)明各實(shí)施例提供的數(shù)據(jù)加密裝置用于執(zhí)行本發(fā)明實(shí)施例提供的數(shù)據(jù)加密方法,具備相應(yīng)的功能模塊,在此不再贅述。
[0106]本實(shí)施例的技術(shù)方案中,數(shù)據(jù)加密裝置從數(shù)據(jù)存儲(chǔ)系統(tǒng)中獲取敏感數(shù)據(jù),根據(jù)敏感數(shù)據(jù)數(shù)據(jù)類型的不同,分別通過(guò)兩種不同的加密方法對(duì)敏感數(shù)據(jù)進(jìn)行加密,使得敏感數(shù)據(jù)轉(zhuǎn)換成加密數(shù)據(jù)。由于無(wú)論是字符型或數(shù)值型的敏感數(shù)據(jù),在轉(zhuǎn)換時(shí)是對(duì)單個(gè)原始字符或原始數(shù)字進(jìn)行對(duì)應(yīng)的轉(zhuǎn)換,因此轉(zhuǎn)換后的加密數(shù)據(jù)保留了敏感數(shù)據(jù)的格式,長(zhǎng)度不變,力口密數(shù)據(jù)在數(shù)據(jù)存儲(chǔ)系統(tǒng)中所需要的存儲(chǔ)空間不變,因此既減少了傳統(tǒng)加密算法的系統(tǒng)開(kāi)銷和通訊開(kāi)銷,又提高了加密數(shù)據(jù)在做數(shù)據(jù)關(guān)聯(lián)操作時(shí)的準(zhǔn)確性,傳統(tǒng)加密算法加密后的數(shù)據(jù)由于格式發(fā)生了變化,在進(jìn)行數(shù)據(jù)關(guān)聯(lián)操作時(shí)會(huì)發(fā)生數(shù)據(jù)缺失。
[0107]圖9為本發(fā)明數(shù)據(jù)加密裝置第二實(shí)施例的結(jié)構(gòu)示意圖,如圖9所示,該裝置包括:第一數(shù)據(jù)類型判斷模塊21,字符加密模塊22以及數(shù)值加密模塊23,其中第一數(shù)據(jù)類型判斷模塊21以及數(shù)值加密模塊23的功能與實(shí)施例一相同,不再贅述:
[0108]字符加密模塊22包括:第一預(yù)設(shè)單元221,第一偏移量計(jì)算單元222,第一動(dòng)態(tài)偏移量計(jì)算單元223,第二偏移量計(jì)算單元224,以及字符加密單元225,其中:
[0109]第一預(yù)設(shè)單元221,用于將所述加密字符集劃分為M塊大小相等的分區(qū)域Am(l〈=m〈=M),指定分區(qū)域Am+1、Am+2分別為Am的主映射區(qū)和從映射區(qū),Al、A2分別為AM的主映射區(qū)和從映射區(qū);
[0110]第一偏移量計(jì)算單元222,用于計(jì)算所述單個(gè)原始字符的GBK編碼值在所述加密字符集中的第一偏移量NP,所述第一偏移量NP為所述單個(gè)原始字符的GBK編碼值在所述分區(qū)域Am中高位偏移的位數(shù);
[0111]第一動(dòng)態(tài)偏移量計(jì)算單元223,用于根據(jù)所述敏感數(shù)據(jù)的長(zhǎng)度值與預(yù)設(shè)的第一密鑰計(jì)算所述敏感數(shù)據(jù)的第一動(dòng)態(tài)偏移量OP ;
[0112]第二偏移量計(jì)算單兀224,用于根據(jù)所述第一偏移量NP和所述第一動(dòng)態(tài)偏移量OP計(jì)算第二偏移量;
[0113]字符加密單元225,用于根據(jù)所述第二偏移量,獲取所述單個(gè)原始字符的GBK編碼值在所述分區(qū)域Am的主映射區(qū)Am+1中對(duì)應(yīng)的所述加密字符,所述敏感數(shù)據(jù)即轉(zhuǎn)換為加密數(shù)據(jù)。
[0114]優(yōu)選的,第一動(dòng)態(tài)偏移量計(jì)算單元223還用于:計(jì)算所述敏感數(shù)據(jù)的第一動(dòng)態(tài)偏移量0P,所述第一動(dòng)態(tài)偏移量OP等于所述敏感數(shù)據(jù)的長(zhǎng)度值與預(yù)設(shè)的第一密鑰ASCII碼值求和再對(duì)所述分區(qū)域的長(zhǎng)度取模后所得的值。
[0115]優(yōu)選的,第二偏移量計(jì)算單元224還用于:計(jì)算所述單個(gè)原始字符對(duì)應(yīng)的加密字符的第二偏移量,所述第二偏移量為所述第一偏移量NP與所述第一動(dòng)態(tài)偏移量OP之和。
[0116]優(yōu)選的,字符加密單元225還用于:計(jì)算所述加密字符的編碼位,獲取所述加密字符,所述加密字符的編碼位為從所述單個(gè)原始字符GBK編碼值所在分區(qū)域Am的主映射區(qū)Am+1的頭部開(kāi)始偏移所述第二偏移量個(gè)位數(shù)后對(duì)應(yīng)的編碼位,該編碼位所對(duì)應(yīng)的字符即為所述加密字符。
[0117]本發(fā)明各實(shí)施例提供的數(shù)據(jù)加密裝置用于執(zhí)行本發(fā)明實(shí)施例提供的數(shù)據(jù)加密方法,具備相應(yīng)的功能模塊,在此不再贅述。
[0118]本實(shí)施例的技術(shù)方案中,數(shù)據(jù)加密裝置從數(shù)據(jù)存儲(chǔ)系統(tǒng)中獲取敏感數(shù)據(jù),根據(jù)敏感數(shù)據(jù)數(shù)據(jù)類型的不同,分別通過(guò)兩種不同的加密方法對(duì)敏感數(shù)據(jù)進(jìn)行加密,使得敏感數(shù)據(jù)轉(zhuǎn)換成加密數(shù)據(jù)。由于無(wú)論是字符型或數(shù)值型的敏感數(shù)據(jù),在轉(zhuǎn)換時(shí)是對(duì)單個(gè)原始字符或原始數(shù)字進(jìn)行對(duì)應(yīng)的轉(zhuǎn)換,且該數(shù)據(jù)加密方法可逆。因此轉(zhuǎn)換后的加密數(shù)據(jù)保留了敏感數(shù)據(jù)的格式,長(zhǎng)度不變,加密數(shù)據(jù)在數(shù)據(jù)存儲(chǔ)系統(tǒng)中所需要的存儲(chǔ)空間不變,因此既減少了傳統(tǒng)加密算法的系統(tǒng)開(kāi)銷和通訊開(kāi)銷,又提高了加密數(shù)據(jù)在做數(shù)據(jù)關(guān)聯(lián)操作時(shí)的準(zhǔn)確性,傳統(tǒng)加密算法加密后的數(shù)據(jù)由于格式發(fā)生了變化,在進(jìn)行數(shù)據(jù)關(guān)聯(lián)操作時(shí)會(huì)發(fā)生數(shù)據(jù)缺失。
[0119]進(jìn)一步地,字符加密模塊22還包括單個(gè)原始字符提取單元226,用于循環(huán)提取所述敏感數(shù)據(jù)的每一個(gè)字符,判斷提取到的字符的類型屬于中文字符、英文字符、數(shù)字字符或標(biāo)點(diǎn)符號(hào),提取中文字符、英文字符和數(shù)字字符為需要加密的單個(gè)原始字符。
[0120]由于敏感數(shù)據(jù)中可能存在不同類型的字符,而不同類型字符的加密方法不同,通過(guò)循環(huán)提取每一個(gè)單個(gè)原始字符,判斷其字符屬性,使得數(shù)據(jù)加密裝置可以根據(jù)不同的字符屬性確定加密方法,提高敏感數(shù)據(jù)加密的處理效率。
[0121]圖10為本發(fā)明數(shù)據(jù)加密裝置第三實(shí)施例的結(jié)構(gòu)示意圖,如圖10所示,該裝置包括:第一數(shù)據(jù)類型判斷模塊31,字符加密模塊32以及數(shù)值加密模塊33,其中第一數(shù)據(jù)類型判斷模塊31以及字符加密模塊32的功能與實(shí)施例一相同,不再贅述:
[0122]數(shù)值加密模塊33包括:
[0123]第一分密鑰生成單元331,用于將預(yù)設(shè)的第二密鑰分為N組第一分密鑰Sn(l〈=n〈=N),并計(jì)算每個(gè)第一分密鑰的ASCII碼值;
[0124]第二分密鑰生成單元332,用于計(jì)算所述敏感數(shù)據(jù)后N位前的數(shù)字之和str,將每個(gè)第一分密鑰的ASCII碼值加上str后生成N組第二分密鑰SNn (0<=η<Ν));
[0125]加密數(shù)字生成單元333,用于對(duì)所述敏感數(shù)據(jù)后N位中的每個(gè)原始數(shù)字和對(duì)應(yīng)的第二分密鑰SNn求和,再加上前一位數(shù)字,并經(jīng)過(guò)數(shù)字對(duì)調(diào)和移位操作生成N位加密數(shù)字;
[0126]數(shù)字加密單元334,用于所述敏感數(shù)據(jù)后N位前的原始數(shù)字和移位后的N位加密數(shù)字組合即獲得所述加密數(shù)據(jù)。
[0127]本發(fā)明各實(shí)施例提供的數(shù)據(jù)加密裝置用于執(zhí)行本發(fā)明實(shí)施例提供的數(shù)據(jù)加密方法,具備相應(yīng)的功能模塊,在此不再贅述。
[0128]本實(shí)施例的技術(shù)方案中,數(shù)據(jù)加密裝置從數(shù)據(jù)存儲(chǔ)系統(tǒng)中獲取敏感數(shù)據(jù),根據(jù)敏感數(shù)據(jù)數(shù)據(jù)類型的不同,分別通過(guò)兩種不同的加密方法對(duì)敏感數(shù)據(jù)進(jìn)行加密,使得敏感數(shù)據(jù)轉(zhuǎn)換成加密數(shù)據(jù)。由于無(wú)論是字符型或數(shù)值型的敏感數(shù)據(jù),在轉(zhuǎn)換時(shí)是對(duì)單個(gè)原始字符或原始數(shù)字進(jìn)行對(duì)應(yīng)的轉(zhuǎn)換,且該數(shù)據(jù)加密方法可逆。因此轉(zhuǎn)換后的加密數(shù)據(jù)保留了敏感數(shù)據(jù)的格式,長(zhǎng)度不變,加密數(shù)據(jù)在數(shù)據(jù)存儲(chǔ)系統(tǒng)中所需要的存儲(chǔ)空間不變,因此減少了傳統(tǒng)加密算法的系統(tǒng)開(kāi)銷和通訊開(kāi)銷,傳統(tǒng)加密算法加密后的數(shù)據(jù)由于格式發(fā)生了變化,在進(jìn)行數(shù)據(jù)關(guān)聯(lián)操作時(shí)會(huì)發(fā)生數(shù)據(jù)缺失。同時(shí)對(duì)于數(shù)值型的數(shù)據(jù),通過(guò)變換后N位原始數(shù)字的加密方法,即對(duì)敏感數(shù)據(jù)進(jìn)行了加擾,同時(shí)保留了數(shù)據(jù)段的部分信息,提高了加密數(shù)據(jù)在做數(shù)據(jù)關(guān)聯(lián)操作時(shí)的準(zhǔn)確性。
[0129]圖11為本發(fā)明數(shù)據(jù)解密方法第一實(shí)施例的流程圖,如圖11所示,該實(shí)施例的執(zhí)行主體為數(shù)據(jù)解密裝置,該方法包括:
[0130]步驟S400,獲取加密數(shù)據(jù);
[0131]步驟S402,判斷所述加密數(shù)據(jù)的數(shù)據(jù)類型屬于字符型或數(shù)值型,若屬于字符型則進(jìn)入步驟S404,若屬于數(shù)值型則進(jìn)入步驟S406 ;
[0132]數(shù)據(jù)加密裝置從數(shù)據(jù)存儲(chǔ)系統(tǒng)中獲取加密數(shù)據(jù),獲取的方法有多種,例如通過(guò)數(shù)據(jù)庫(kù)查詢語(yǔ)句獲取,加密數(shù)據(jù)是指進(jìn)行過(guò)加擾的數(shù)據(jù)。根據(jù)加密數(shù)據(jù)在數(shù)據(jù)存儲(chǔ)系統(tǒng)中的屬性,判斷加密數(shù)據(jù)的數(shù)據(jù)類型屬于字符型或數(shù)值型。
[0133]步驟S404,提取所述加密數(shù)據(jù)中的單個(gè)加密字符,根據(jù)解密字符集,將所述單個(gè)加密字符轉(zhuǎn)換成原始字符,所述加密數(shù)據(jù)即轉(zhuǎn)換為敏感數(shù)據(jù);
[0134]若該加密數(shù)據(jù)的數(shù)據(jù)類型為字符型,則提取該加密數(shù)據(jù)中的單個(gè)加密字符。單個(gè)加密字符是指加密數(shù)據(jù)中需要進(jìn)行解密的單個(gè)字符,例如電信營(yíng)業(yè)商客戶的客戶姓名經(jīng)過(guò)加密后的加密數(shù)據(jù)為“鎢揖””,則單個(gè)加密字符即為該加密數(shù)據(jù)中的單個(gè)字符,即“鎢”和“揖”。[0135]根據(jù)解密字符集,將每個(gè)單個(gè)加密字符轉(zhuǎn)換成原始字符。解密字符集為敏感數(shù)據(jù)加密時(shí)所預(yù)設(shè)的加密字符集,而原始字符為加密字符在進(jìn)行加密操作之前對(duì)應(yīng)的字符。原始字符通過(guò)一定的對(duì)應(yīng)關(guān)系,對(duì)應(yīng)到加密字符集中的單個(gè)加密字符,由于該對(duì)應(yīng)關(guān)系可逆,因此單個(gè)加密字符根據(jù)解密字符集,能夠?qū)?yīng)還原生成原始字符。還原后將每個(gè)原始字符按照加密字符在加密數(shù)據(jù)中的順序進(jìn)行組合,加密數(shù)據(jù)即轉(zhuǎn)換為敏感數(shù)據(jù),例如客戶姓名經(jīng)過(guò)加密后的加密數(shù)據(jù)為“鎢揖””,還原后可生成敏感數(shù)據(jù)“張三”。
[0136]步驟S406,將所述加密數(shù)據(jù)后N位加密數(shù)字轉(zhuǎn)換成N位原始數(shù)字,所述加密數(shù)據(jù)即轉(zhuǎn)換為所述敏感數(shù)據(jù)。
[0137]若該加密數(shù)據(jù)的數(shù)據(jù)類型為數(shù)值型,則加密數(shù)據(jù)后N位之前的數(shù)字為原始數(shù)字,因此無(wú)需轉(zhuǎn)換。提取加密數(shù)據(jù)的后N位原始數(shù)字,對(duì)應(yīng)轉(zhuǎn)換為原始數(shù)字,再與加密數(shù)據(jù)后N位之前的數(shù)字組合,即生成敏感數(shù)據(jù)。
[0138]例如,電話號(hào)碼的加密數(shù)據(jù)位“13811119876”,保留后4位之前的數(shù)字“1381111”不變,對(duì)后4位加密數(shù)字“9876”做解密處理,轉(zhuǎn)換為4位原始數(shù)字“ 1111”,再將“ 1381111”和“1111”進(jìn)行組合,得到加密數(shù)據(jù)“13811111111”。
[0139]本實(shí)施例的技術(shù)方案中,數(shù)據(jù)解密裝置從數(shù)據(jù)存儲(chǔ)系統(tǒng)中獲取加密數(shù)據(jù),根據(jù)加密數(shù)據(jù)數(shù)據(jù)類型的不同,分別通過(guò)兩種不同的解密方法對(duì)加密數(shù)據(jù)進(jìn)行解密,使得加密數(shù)據(jù)轉(zhuǎn)換成敏感數(shù)據(jù)。由于數(shù)據(jù)加密過(guò)程中加密方法可逆,因此可以通過(guò)相應(yīng)的方法逆向解密,且解密效率高,通訊開(kāi)銷小。
[0140]進(jìn)一步地,圖12為本發(fā)明數(shù)據(jù)解密方法第一實(shí)施例中提取單個(gè)加密字符的流程圖,如圖12所示,具體包括:
[0141]步驟S4042,循環(huán)提取所述加密數(shù)據(jù)的每一個(gè)字符;
[0142]步驟S4044,判斷提取到的字符的類型屬于中文字符、英文字符、數(shù)字字符或標(biāo)點(diǎn)符號(hào);
[0143]步驟S4046,提取中文字符、英文字符和數(shù)字字符為需要解密的單個(gè)加密字符。
[0144]數(shù)據(jù)解密裝置獲取到加密數(shù)據(jù)后,循環(huán)提取加密數(shù)據(jù)中的每一個(gè)字符,判斷提取到的字符屬性屬于中文字符、英文字符、數(shù)字字符或標(biāo)點(diǎn)符號(hào),若為標(biāo)點(diǎn)符號(hào),則保留不做加密處理,若為其他則作為需要解密的單個(gè)加密字符。
[0145]由于加密數(shù)據(jù)中可能存在不同類型的字符,而不同類型字符的解密方法不同,通過(guò)循環(huán)提取每一個(gè)單個(gè)加密字符,判斷其字符屬性,使得數(shù)據(jù)加密裝置可以根據(jù)不同的字符屬性確定解密方法,提高加密數(shù)據(jù)解密的處理效率。
[0146]圖13為本發(fā)明數(shù)據(jù)解密方法第二實(shí)施例的流程圖,如圖13所示,該實(shí)施例的執(zhí)行主體為數(shù)據(jù)解密裝置,該方法包括:
[0147]步驟S500,獲取加密數(shù)據(jù);
[0148]步驟S502,判斷所述加密數(shù)據(jù)的數(shù)據(jù)類型屬于字符型或數(shù)值型,若屬于字符型則進(jìn)入步驟S504,若屬于數(shù)值型則進(jìn)入步驟S514 ;
[0149]步驟S504,將所述解密字符集劃分為M塊大小相等的分區(qū)域Am (l〈=m〈=M),指定分區(qū)域Am+1、Am+2分別為Am的主映射區(qū)和從映射區(qū),Al、A2分別為AM的主映射區(qū)和從映射區(qū);
[0150]在優(yōu)選的實(shí)施例中,加密字符集被劃分為三塊大小相等的分區(qū)域Al、A2和A3,其中Al的主映射區(qū)為A2,從映射區(qū)為A3 ;A2的主映射區(qū)為Al,從映射區(qū)為A3 ;A3的主映射區(qū)為Al,從映射區(qū)為A2。
[0151]步驟S506,根據(jù)所述加密數(shù)據(jù)的長(zhǎng)度值和預(yù)設(shè)的第一密鑰計(jì)算所述加密數(shù)據(jù)的第二動(dòng)態(tài)偏移量OP';
[0152]在優(yōu)選的實(shí)施例中,第二動(dòng)態(tài)偏移量OP^等于所述加密數(shù)據(jù)的長(zhǎng)度值與預(yù)設(shè)的第一密鑰ASCII碼值求和再對(duì)所述分區(qū)域的長(zhǎng)度取模后所得的值。
[0153]步驟S508,根據(jù)所述單個(gè)加密字符的編碼位和所述第二動(dòng)態(tài)偏移量OP',計(jì)算第三偏移量NP',所述第三偏移量NP'為所述單個(gè)加密字符對(duì)應(yīng)的原始字符GBK編碼在原分區(qū)域中高位偏移的位數(shù);
[0154]在優(yōu)選的實(shí)施例 中,所述單個(gè)加密字符的編碼位減去所述第二動(dòng)態(tài)偏移量OP^后得到臨時(shí)編碼位,所述第三偏移量NP'等于所述臨時(shí)編碼位在所在分區(qū)域中的高位偏移的位數(shù)。
[0155]步驟S510,根據(jù)所述單個(gè)加密字符的編碼位和所述第二動(dòng)態(tài)偏移量OP',獲得所述原始字符的GBK編碼所在原分區(qū)域的位置;
[0156]進(jìn)一步地,圖14為本發(fā)明數(shù)據(jù)解密方法第二實(shí)施例中步驟S510的流程圖,如圖14所示,步驟S510具體包括:
[0157]步驟S5101,判斷所述單個(gè)加密字符的編碼位減去所述第二動(dòng)態(tài)偏移量OP'后得到的臨時(shí)編碼位所對(duì)應(yīng)的字符是否仍在所述單個(gè)加密字符所在的分區(qū)域Am中,若是則進(jìn)入步驟S5102,若否則進(jìn)入步驟S5103 ;
[0158]步驟S5102,所述原始字符的GBK編碼所在的原分區(qū)域?yàn)樗龇謪^(qū)域Am-1 ;
[0159]步驟S5103,所述原始字符的GBK編碼所在的原分區(qū)域?yàn)樗龇謪^(qū)域Am-2。
[0160]步驟S512,根據(jù)所述原始字符的GBK編碼所在的原分區(qū)域的位置和所述第三偏移量NP'獲取所述原始字符。
[0161]在優(yōu)選的實(shí)施例中,確定原始字符的GBK編碼所在的原分區(qū)域后,從該原分區(qū)域的頭部開(kāi)始偏移第三偏移量NP'個(gè)位數(shù),所對(duì)應(yīng)的字符即為該原始字符的GBK編碼,由此可獲得原始字符。
[0162]步驟S514,將所述加密數(shù)據(jù)后N位加密數(shù)字轉(zhuǎn)換成N位原始數(shù)字,所述加密數(shù)據(jù)即轉(zhuǎn)換為所述敏感數(shù)據(jù)。
[0163]具體地,循環(huán)獲取加密數(shù)據(jù)中的每一個(gè)字符,提取中文字符、英文字符和數(shù)字字符作為單個(gè)加密字符。中文的單個(gè)加密字符所對(duì)應(yīng)的解密字符集為GB2312中文字符集,英文和數(shù)字的單個(gè)加密字符所對(duì)應(yīng)的解密字符集為數(shù)字和英文組合而成的集合。
[0164]對(duì)于中文的單個(gè)加密字符,同一個(gè)加密數(shù)據(jù)中不同的單個(gè)加密字符所對(duì)應(yīng)的第二動(dòng)態(tài)偏移量OP'相同,都等于字符串長(zhǎng)度值和密鑰的ASCII碼值求和再對(duì)分區(qū)域長(zhǎng)度取模得到偏移值。
[0165]確定第二動(dòng)態(tài)偏移量OP^后,再確定單個(gè)加密字符所在的分區(qū)域,假設(shè)某中文單個(gè)加密字符M處于A3分區(qū)域,則用M的編碼位減去第二動(dòng)態(tài)偏移量OP',得到臨時(shí)編碼位所對(duì)應(yīng)的字符M',如果M'的位置仍在分區(qū)域A3中,則說(shuō)明原始字符的GBK編碼值應(yīng)該在分區(qū)域A2中,否則應(yīng)當(dāng)在分區(qū)域A3中。且第三偏移量NP'等于M'的臨時(shí)編碼位在所在分區(qū)域中的高位偏移的位數(shù)。[0166]確定了原始字符的GBK編碼值所在的分區(qū)域后,從該分區(qū)域的頭部開(kāi)始偏移第三偏移量NP'個(gè)位數(shù),所對(duì)應(yīng)的字符即為該原始字符的GBK編碼,由此可獲得原始字符。
[0167]相同的,對(duì)于數(shù)字字符和字母字符的轉(zhuǎn)換解密方法與中文字符的轉(zhuǎn)換解密方法相同,僅僅是解密字符集的不同而已。標(biāo)點(diǎn)符號(hào)保留不作處理。
[0168]需要注意的是,在GB2312中文字符集的72個(gè)小區(qū)間中,D7區(qū)間的D7FA?D7FE為空,因此,如果單個(gè)加密字符在加密映射過(guò)程中對(duì)應(yīng)到了 D7FA?D7FE區(qū)間內(nèi),則單個(gè)加密字符為原始字符。此時(shí),在解密時(shí),如果單個(gè)加密字符在解密字符集中不存在對(duì)應(yīng)的字符時(shí),應(yīng)當(dāng)對(duì)該加密字符再次通過(guò)數(shù)據(jù)加密方法進(jìn)行加密轉(zhuǎn)換,如果轉(zhuǎn)換后的二次加密字符仍然為轉(zhuǎn)換前的單個(gè)加密字符,則說(shuō)明該單個(gè)加密字符即為原始字符,直接返回即可。
[0169]本實(shí)施例的技術(shù)方案中,數(shù)據(jù)解密裝置從數(shù)據(jù)存儲(chǔ)系統(tǒng)中獲取加密數(shù)據(jù),根據(jù)加密數(shù)據(jù)數(shù)據(jù)類型的不同,分別通過(guò)兩種不同的解密方法對(duì)加密數(shù)據(jù)進(jìn)行解密,使得加密數(shù)據(jù)轉(zhuǎn)換成敏感數(shù)據(jù)。由于數(shù)據(jù)加密過(guò)程中加密方法可逆,因此可以通過(guò)相應(yīng)的方法逆向解密,且解密效率高,通訊開(kāi)銷小。
[0170]圖15為本發(fā)明數(shù)據(jù)解密方法第三實(shí)施例的流程圖,如圖15所示,該實(shí)施例的執(zhí)行主體為數(shù)據(jù)解密裝置,該方法包括:
[0171]步驟S600,獲取加密數(shù)據(jù);
[0172]步驟S602,判斷所述加密數(shù)據(jù)的數(shù)據(jù)類型屬于字符型或數(shù)值型,若所述加密數(shù)據(jù)的數(shù)據(jù)類型屬于字符型,則進(jìn)入步驟S604,若所述加密數(shù)據(jù)的數(shù)據(jù)類型屬于數(shù)值型,則進(jìn)入步驟S606 ;
[0173]步驟S604,提取所述加密數(shù)據(jù)中的單個(gè)加密字符,根據(jù)解密字符集,將所述單個(gè)加密字符轉(zhuǎn)換成原始字符,所述加密數(shù)據(jù)即轉(zhuǎn)換為敏感數(shù)據(jù);
[0174]步驟S606,根據(jù)預(yù)設(shè)的第二密鑰和加密數(shù)據(jù)后N位之前的加密數(shù)字計(jì)算第三分密鑰 Sn[i] (i<=N);
[0175]步驟S608,獲取所述加密數(shù)據(jù)的后N位加密數(shù)字,計(jì)算加密數(shù)字偏移量;
[0176]步驟S610,根據(jù)所述加密數(shù)字偏移量,將所述加密數(shù)據(jù)的后N位加密數(shù)字向左偏移得到偏移后的加密數(shù)據(jù),獲取偏移后的加密數(shù)據(jù)的后N位加密數(shù)字D [i];
[0177]步驟S612,根據(jù)所述第三分密鑰Sn[i]和偏移后的加密數(shù)據(jù)的后N位加密數(shù)字D [i],計(jì)算獲得N位所述原始數(shù)字;
[0178]步驟S614,偏移后的加密數(shù)據(jù)后N位之前的數(shù)字與N位所述原始數(shù)字組合即獲得所述敏感數(shù)據(jù)。
[0179]具體地,假設(shè)加密數(shù)據(jù)的后4位為加密數(shù)字,則首先將預(yù)設(shè)的第二密鑰分為4組,計(jì)算每一組的ASCII碼值,然后將每一組的ASCII碼制和加密數(shù)據(jù)后N位之前的加密數(shù)字之和相加,生成第三分密鑰Sn[i] (i〈=N)。
[0180]取加密數(shù)據(jù)后4位的加密數(shù)字,計(jì)算后4位加密數(shù)字的偏移量,該偏移量等于后4位加密數(shù)字之和對(duì)4取余所得的值。后四位根據(jù)偏移量向左偏移從而得到偏移后的加密數(shù)據(jù),獲取偏移后的加密數(shù)據(jù)的后N位加密數(shù)字D[i] (i=l, 2,3,4);根據(jù)公式SnNum[i] = (10+num-D [1-Ι]) %10 及 num= (9_D [i] -Sn [i] +BIG_NUM_i) %10,即可計(jì)算得出 4位原始數(shù)字SnNum[i]的值,偏移后的加密數(shù)據(jù)后N位之前的數(shù)字與N位所述原始數(shù)字組合即獲得所述敏感數(shù)據(jù)。[0181]本實(shí)施例的技術(shù)方案中,數(shù)據(jù)解密裝置從數(shù)據(jù)存儲(chǔ)系統(tǒng)中獲取加密數(shù)據(jù),根據(jù)加密數(shù)據(jù)數(shù)據(jù)類型的不同,分別通過(guò)兩種不同的解密方法對(duì)加密數(shù)據(jù)進(jìn)行解密,使得加密數(shù)據(jù)轉(zhuǎn)換成敏感數(shù)據(jù)。由于數(shù)據(jù)加密過(guò)程中加密方法可逆,因此可以通過(guò)相應(yīng)的方法逆向解密,且解密效率高,通訊開(kāi)銷小。
[0182]圖16為本發(fā)明數(shù)據(jù)解密裝置第一實(shí)施例的結(jié)構(gòu)示意圖,如圖16所示,該裝置包括第二數(shù)據(jù)類型判斷模塊41,字符解密模塊42,以及數(shù)值解密模塊43,其中:
[0183]第二數(shù)據(jù)類型判斷模塊41,用于獲取加密數(shù)據(jù),判斷所述加密數(shù)據(jù)的數(shù)據(jù)類型屬于字符型或數(shù)值型;
[0184]字符解密模塊42,用于若所述加密數(shù)據(jù)的數(shù)據(jù)類型屬于字符型,則提取所述加密數(shù)據(jù)中的單個(gè)加密字符,根據(jù)解密字符集,將所述單個(gè)加密字符轉(zhuǎn)換成原始字符,所述加密數(shù)據(jù)即轉(zhuǎn)換為敏感數(shù)據(jù);
[0185]數(shù)值解密模塊43,用于若所述加密數(shù)據(jù)的數(shù)據(jù)類型屬于數(shù)值型,則將所述加密數(shù)據(jù)后N位加密數(shù)字轉(zhuǎn)換成N位原始數(shù)字,所述加密數(shù)據(jù)即轉(zhuǎn)換為所述敏感數(shù)據(jù)。
[0186]本發(fā)明各實(shí)施例提供的數(shù)據(jù)解密裝置用于執(zhí)行本發(fā)明實(shí)施例提供的數(shù)據(jù)解密方法,具備相應(yīng)的功能模塊,在此不再贅述。
[0187]本實(shí)施例的技術(shù)方案中,數(shù)據(jù)解密裝置從數(shù)據(jù)存儲(chǔ)系統(tǒng)中獲取加密數(shù)據(jù),根據(jù)加密數(shù)據(jù)數(shù)據(jù)類型的不同,分別通過(guò)兩種不同的解密方法對(duì)加密數(shù)據(jù)進(jìn)行解密,使得加密數(shù)據(jù)轉(zhuǎn)換成敏感數(shù)據(jù)。由于數(shù)據(jù)加密過(guò)程中加密方法可逆,因此可以通過(guò)相應(yīng)的方法逆向解密,且解密效率高,通訊開(kāi)銷小。
[0188]圖17為本發(fā)明數(shù)據(jù)解密裝置第二實(shí)施例的結(jié)構(gòu)示意圖,如圖17所示,該裝置包括第二數(shù)據(jù)類型判斷模塊51,字符解密模塊52,以及數(shù)值解密模塊53,其中第二數(shù)據(jù)類型判斷模塊51,以及數(shù)值解密模塊53的功能與圖16中實(shí)施例一相同,不再贅述,其中:
[0189]字符解密模塊52包括:
[0190]第二預(yù)設(shè)單元521,用于將所述解密字符集劃分為M塊大小相等的分區(qū)域Am(l〈=m〈=M),指定分區(qū)域Am+1、Am+2分別為Am的主映射區(qū)和從映射區(qū),Al、A2分別為AM的主映射區(qū)和從映射區(qū);
[0191]第二動(dòng)態(tài)偏移量計(jì)算單元522,用于根據(jù)所述加密數(shù)據(jù)的長(zhǎng)度值和預(yù)設(shè)的第一密鑰計(jì)算所述加密數(shù)據(jù)的第二動(dòng)態(tài)偏移量OP';
[0192]第三偏移量計(jì)算單元523,用于根據(jù)所述單個(gè)加密字符的編碼位和所述第二動(dòng)態(tài)偏移量OP',計(jì)算第三偏移量NP',所述第三偏移量NP'為所述單個(gè)加密字符對(duì)應(yīng)的原始字符GBK編碼在原分區(qū)域中高位偏移的位數(shù);
[0193]位置判斷單元524,用于根據(jù)所述單個(gè)加密字符的編碼位和所述第二動(dòng)態(tài)偏移量OP',獲取所述原始字符的GBK編碼所在原分區(qū)域的位置;
[0194]原始字符獲取單元525,用于根據(jù)所述原始字符的GBK編碼所在的原分區(qū)域的位置和所述第三偏移量NP'獲取所述原始字符。
[0195]優(yōu)選的,第二動(dòng)態(tài)偏移量計(jì)算單元522還用于計(jì)算所述加密數(shù)據(jù)的第二動(dòng)態(tài)偏移量OP',所述第二動(dòng)態(tài)偏移量OP'等于所述加密數(shù)據(jù)的長(zhǎng)度值與預(yù)設(shè)的第一密鑰ASCII碼值求和再對(duì)所述分區(qū)域的長(zhǎng)度取模后所得的值。
[0196]優(yōu)選的,第三偏移量計(jì)算單元523還用于計(jì)算所述單個(gè)加密字符的編碼位減去所述第二動(dòng)態(tài)偏移量OP'后得到的臨時(shí)編碼位,所述第三偏移量NP'等于所述臨時(shí)編碼位在所在分區(qū)域中的高位偏移的位數(shù)。
[0197]優(yōu)選的,位置判斷單元524還用于判斷所述單個(gè)加密字符的編碼位減去所述第二動(dòng)態(tài)偏移量OP'后得到的臨時(shí)編碼位所對(duì)應(yīng)的字符是否仍在所述單個(gè)加密字符所在的分區(qū)域Am中,若是則所述原始字符的GBK編碼所在的原分區(qū)域?yàn)樗龇謪^(qū)域Am-1,若否則所述原始字符的GBK編碼所在的原分區(qū)域?yàn)樗龇謪^(qū)域Am-2。
[0198]優(yōu)選的,原始字符獲取單元525還用于所述原始字符的GBK編碼為從所述原分區(qū)域的頭部開(kāi)始偏移所述第三偏移量NP'個(gè)位數(shù)后對(duì)應(yīng)的字符,根據(jù)所述原始字符的GBK編碼獲取所述原始字符。
[0199]本發(fā)明各實(shí)施例提供的數(shù)據(jù)解密裝置用于執(zhí)行本發(fā)明實(shí)施例提供的數(shù)據(jù)解密方法,具備相應(yīng)的功能模塊,在此不再贅述。
[0200]本實(shí)施例的技術(shù)方案中,數(shù)據(jù)解密裝置從數(shù)據(jù)存儲(chǔ)系統(tǒng)中獲取加密數(shù)據(jù),根據(jù)加密數(shù)據(jù)數(shù)據(jù)類型的不同,分別通過(guò)兩種不同的解密方法對(duì)加密數(shù)據(jù)進(jìn)行解密,使得加密數(shù)據(jù)轉(zhuǎn)換成敏感數(shù)據(jù)。由于數(shù)據(jù)加密過(guò)程中加密方法可逆,因此可以通過(guò)相應(yīng)的方法逆向解密,且解密效率高,通訊開(kāi)銷小。
[0201]進(jìn)一步地,字符解密模塊52還包括單個(gè)加密字符提取模塊526,用于循環(huán)提取所述加密數(shù)據(jù)的每一個(gè)字符,判斷提取到的字符的類型屬于中文字符、英文字符、數(shù)字字符或標(biāo)點(diǎn)符號(hào),提取中文字符、英文字符和數(shù)字字符為需要解密的單個(gè)加密字符。
[0202]由于加密數(shù)據(jù)中可能存在不同類型的字符,而不同類型字符的解密方法不同,通過(guò)循環(huán)提取每一個(gè)單個(gè)加密字符,判斷其字符屬性,使得數(shù)據(jù)加密裝置可以根據(jù)不同的字符屬性確定解密方法,提高加密數(shù)據(jù)解密的處理效率。
[0203]圖18為本發(fā)明數(shù)據(jù)解密裝置第二實(shí)施例的結(jié)構(gòu)示意圖,如圖18所示,該裝置包括第二數(shù)據(jù)類型判斷模塊61,字符解密模塊62,以及數(shù)值解密模塊63,其中第二數(shù)據(jù)類型判斷模塊61,以及字符解密模塊62的功能與圖16中實(shí)施例一相同,不再贅述,其中:
[0204]數(shù)值解密模塊63包括:
[0205]第一計(jì)算單元631,用于獲取所述加密數(shù)據(jù)的后N位加密數(shù)字,計(jì)算加密數(shù)字偏移量;
[0206]第二計(jì)算單元632,用于根據(jù)所述加密數(shù)字偏移量,將所述加密數(shù)據(jù)的后N位加密數(shù)字向左偏移得到偏移后的加密數(shù)據(jù),獲取偏移后的加密數(shù)據(jù)的后N位加密數(shù)字D[i];
[0207]第三分密鑰生成單元633,用于根據(jù)預(yù)設(shè)的第二密鑰和偏移后的加密數(shù)據(jù)后N位之前的加密數(shù)字計(jì)算第三分密鑰Sn [i] (i<=N);
[0208]原始數(shù)字生成單元634,用于根據(jù)所述第三分密鑰Sn[i]和偏移后的加密數(shù)據(jù)的后N位加密數(shù)字D [i],計(jì)算獲得N位所述原始數(shù)字;
[0209]數(shù)字解密單元635,用于偏移后的加密數(shù)據(jù)后N位之前的數(shù)字與N位所述原始數(shù)字組合即獲得所述敏感數(shù)據(jù)。
[0210]本發(fā)明各實(shí)施例提供的數(shù)據(jù)解密裝置用于執(zhí)行本發(fā)明實(shí)施例提供的數(shù)據(jù)解密方法,具備相應(yīng)的功能模塊,在此不再贅述。
[0211]本實(shí)施例的技術(shù)方案中,數(shù)據(jù)解密裝置從數(shù)據(jù)存儲(chǔ)系統(tǒng)中獲取加密數(shù)據(jù),根據(jù)加密數(shù)據(jù)數(shù)據(jù)類型的不同,分別通過(guò)兩種不同的解密方法對(duì)加密數(shù)據(jù)進(jìn)行解密,使得加密數(shù)據(jù)轉(zhuǎn)換成敏感數(shù)據(jù)。由于數(shù)據(jù)加密過(guò)程中加密方法可逆,因此可以通過(guò)相應(yīng)的方法逆向解密,且解密效率高,通訊開(kāi)銷小。
[0212]應(yīng)說(shuō)明的是:以上實(shí)施例僅用以說(shuō)明本發(fā)明而非限制,本發(fā)明也并不僅限于上述舉例,一切不脫離本發(fā)明的精神和范圍的技術(shù)方案及其改進(jìn),其均應(yīng)涵蓋在本發(fā)明的權(quán)利要求范圍中。
【權(quán)利要求】
1.一種數(shù)據(jù)加密方法,其特征在于,包括: 獲取敏感數(shù)據(jù),判斷所述敏感數(shù)據(jù)的數(shù)據(jù)類型屬于字符型或數(shù)值型; 若所述敏感數(shù)據(jù)的數(shù)據(jù)類型屬于字符型,則提取所述敏感數(shù)據(jù)中的單個(gè)原始字符,將所述單個(gè)原始字符轉(zhuǎn)換成加密字符集中的加密字符,所述敏感數(shù)據(jù)即轉(zhuǎn)換為加密數(shù)據(jù); 若所述敏感數(shù)據(jù)的數(shù)據(jù)類型屬于數(shù)值型,則將所述敏感數(shù)據(jù)后N位原始數(shù)字轉(zhuǎn)換成N位加密數(shù)字,所述敏感數(shù)據(jù)即轉(zhuǎn)換為所述加密數(shù)據(jù)。
2.根據(jù)權(quán)利要求1所述的數(shù)據(jù)加密方法,其特征在于,所述若所述敏感數(shù)據(jù)的數(shù)據(jù)類型屬于字符型,則提取所述敏感數(shù)據(jù)中的單個(gè)原始字符步驟包括: 循環(huán)提取所述敏感數(shù)據(jù)的每一個(gè)字符,判斷提取到的字符的類型屬于中文字符、英文字符、數(shù)字字符或標(biāo)點(diǎn)符號(hào),提取中文字符、英文字符和數(shù)字字符為需要加密的單個(gè)原始字符。
3.根據(jù)權(quán)利要求1所述的數(shù)據(jù)加密方法,其特征在于,單個(gè)原始字符為中文字符時(shí),所述中文字符的加密字符集為中文GB2312字符集。
4.根據(jù)權(quán)利要求1所述的數(shù)據(jù)加密方法,其特征在于,單個(gè)原始字符為英文字符或數(shù)字字符時(shí),所述英文字符和數(shù)字字符的加密字符集為由英文和數(shù)字組成的集合。
5.根據(jù)權(quán)利要求1所述的數(shù)據(jù)加密方法,其特征在于,所述將所述單個(gè)原始字符轉(zhuǎn)換成加密字符集中的加密字符,所述敏感數(shù)據(jù)即轉(zhuǎn)換為加密數(shù)據(jù)步驟包括: 將所述加密字符集劃分為M塊大小相等的分區(qū)域Am(l < = m < = Μ),指定分區(qū)域Am+UAm+2分別為Am的主映射區(qū)和從映射區(qū),A1、A2分別為AM的主映射區(qū)和從映射區(qū); 計(jì)算所述單個(gè)原始字符的GBK編 碼值在所述加密字符集中的第一偏移量NP,所述第一偏移量NP為所述單個(gè)原始字符的GBK編碼值在所述分區(qū)域Am中高位偏移的位數(shù); 根據(jù)所述敏感數(shù)據(jù)的長(zhǎng)度值與預(yù)設(shè)的第一密鑰計(jì)算所述敏感數(shù)據(jù)的第一動(dòng)態(tài)偏移量OP ; 根據(jù)所述第一偏移量NP和所述第一動(dòng)態(tài)偏移量OP計(jì)算第二偏移量; 根據(jù)所述第二偏移量,獲取所述單個(gè)原始字符的GBK編碼值在所述分區(qū)域Am的主映射區(qū)Am+1中對(duì)應(yīng)的所述加密字符,所述敏感數(shù)據(jù)即轉(zhuǎn)換為加密數(shù)據(jù)。
6.根據(jù)權(quán)利要求5所述的數(shù)據(jù)加密方法,其特征在于,所述根據(jù)所述敏感數(shù)據(jù)的長(zhǎng)度值與預(yù)設(shè)的第一密鑰計(jì)算所述敏感數(shù)據(jù)的第一動(dòng)態(tài)偏移量OP步驟包括: 計(jì)算所述敏感數(shù)據(jù)的第一動(dòng)態(tài)偏移量0P,所述第一動(dòng)態(tài)偏移量OP等于所述敏感數(shù)據(jù)的長(zhǎng)度值與預(yù)設(shè)的第一密鑰ASCII碼值求和再對(duì)所述分區(qū)域的長(zhǎng)度取模后所得的值。
7.根據(jù)權(quán)利要求5所述的數(shù)據(jù)加密方法,其特征在于,所述根據(jù)所述第一偏移量NP和所述第一動(dòng)態(tài)偏移量OP計(jì)算第二偏移量步驟包括: 計(jì)算所述單個(gè)原始字符對(duì)應(yīng)的加密字符的第二偏移量,所述第二偏移量為所述第一偏移量NP與所述第一動(dòng)態(tài)偏移量OP之和。
8.根據(jù)權(quán)利要求5所述的數(shù)據(jù)加密方法,其特征在于,所述根據(jù)所述第二偏移量,獲取所述單個(gè)原始字符的GBK編碼值在所述分區(qū)域Am的主映射區(qū)Am+1中對(duì)應(yīng)的所述加密字符步驟包括: 計(jì)算所述加密字符的編碼位,獲取所述加密字符,所述加密字符的編碼位為從所述單個(gè)原始字符GBK編碼值所在分區(qū)域Am的主映射區(qū)Am+1的頭部開(kāi)始偏移所述第二偏移量個(gè)位數(shù)后對(duì)應(yīng)的編碼位,該編碼位所對(duì)應(yīng)的字符即為所述加密字符。
9.根據(jù)權(quán)利要求1-8任一所述的數(shù)據(jù)加密方法,其特征在于,所述若所述敏感數(shù)據(jù)的數(shù)據(jù)類型屬于數(shù)值型,則將所述敏感數(shù)據(jù)后N位原始數(shù)字轉(zhuǎn)換成N位加密數(shù)字,所述敏感數(shù)據(jù)即轉(zhuǎn)換為所述加密數(shù)據(jù)步驟包括: 將預(yù)設(shè)的第二密鑰分為N組第一分密鑰Sn (I < = η < = N),并計(jì)算每個(gè)第一分密鑰的ASCII碼值; 計(jì)算所述敏感數(shù)據(jù)后N位前的數(shù)字之和str,將每個(gè)第一分密鑰的ASCII碼值加上str后生成N組第二分密鑰SNn (O < = η < N)); 對(duì)所述敏感數(shù)據(jù)后N位中的每個(gè)原始數(shù)字和對(duì)應(yīng)的第二分密鑰SNn求和,再加上前一位數(shù)字,并經(jīng)過(guò)數(shù)字對(duì)調(diào)和移位操作生成N位加密數(shù)字; 所述敏感數(shù)據(jù)后N位前的原始數(shù)字和移位后的N位加密數(shù)字組合即獲得所述加密數(shù)據(jù)。
10.一種數(shù)據(jù)加密裝置,其特征在于,包括: 第一數(shù)據(jù)類型判斷模塊,用于獲取敏感數(shù)據(jù),判斷所述敏感數(shù)據(jù)的數(shù)據(jù)類型屬于字符型或數(shù)值型; 字符加密模塊,用于若所述敏感數(shù)據(jù)的數(shù)據(jù)類型屬于字符型,則提取所述敏感數(shù)據(jù)中的單個(gè)原始字符,將所述單個(gè)原始字符轉(zhuǎn)換成加密字符集中的加密字符,所述敏感數(shù)據(jù)即轉(zhuǎn)換為加密數(shù)據(jù); 數(shù)值加密模塊,用于若所述·敏感數(shù)據(jù)的數(shù)據(jù)類型屬于數(shù)值型,則將所述敏感數(shù)據(jù)后N位原始數(shù)字轉(zhuǎn)換成N位加密數(shù)字,所述敏感數(shù)據(jù)即轉(zhuǎn)換為所述加密數(shù)據(jù)。
11.根據(jù)權(quán)利要求10所述的數(shù)據(jù)加密裝置,其特征在于,所述字符加密模塊還包括: 單個(gè)原始字符提取單元,用于循環(huán)提取所述敏感數(shù)據(jù)的每一個(gè)字符,判斷提取到的字符的類型屬于中文字符、英文字符、數(shù)字字符或標(biāo)點(diǎn)符號(hào),提取中文字符、英文字符和數(shù)字字符為需要加密的單個(gè)原始字符。
12.根據(jù)權(quán)利要求10所述的數(shù)據(jù)加密裝置,其特征在于,單個(gè)原始字符為中文字符時(shí),所述中文字符的加密字符集為中文GB2312字符集。
13.根據(jù)權(quán)利要求10所述的數(shù)據(jù)加密裝置,其特征在于,單個(gè)原始字符為英文字符或數(shù)字字符時(shí),所述英文字符和數(shù)字字符的加密字符集為由英文和數(shù)字組成的集合。
14.根據(jù)權(quán)利要求10所述的數(shù)據(jù)加密裝置,其特征在于,所述字符加密模塊包括: 第一預(yù)設(shè)單元,用于將所述加密字符集劃分為M塊大小相等的分區(qū)域Am (I < = m < =M),指定分區(qū)域Am+l、Am+2分別為Am的主映射區(qū)和從映射區(qū),Al、A2分別為AM的主映射區(qū)和從映射區(qū); 第一偏移量計(jì)算單元,用于計(jì)算所述單個(gè)原始字符的GBK編碼值在所述加密字符集中的第一偏移量NP,所述第一偏移量NP為所述單個(gè)原始字符的GBK編碼值在所述分區(qū)域Am中高位偏移的位數(shù); 第一動(dòng)態(tài)偏移量計(jì)算單元,用于根據(jù)所述敏感數(shù)據(jù)的長(zhǎng)度值與預(yù)設(shè)的第一密鑰計(jì)算所述敏感數(shù)據(jù)的第一動(dòng)態(tài)偏移量OP ;第二偏移量計(jì)算單元,用于根據(jù)所述第一偏移量NP和所述第一動(dòng)態(tài)偏移量OP計(jì)算第二偏移量;字符加密單元,用于根據(jù)所述第二偏移量,獲取所述單個(gè)原始字符的GBK編碼值在所述分區(qū)域Am的主映射區(qū)Am+1中對(duì)應(yīng)的所述加密字符,所述敏感數(shù)據(jù)即轉(zhuǎn)換為加密數(shù)據(jù)。
15.根據(jù)權(quán)利要求14所述的數(shù)據(jù)加密裝置,其特征在于,所述第一動(dòng)態(tài)偏移量計(jì)算單元還用于: 計(jì)算所述敏感數(shù)據(jù)的第一動(dòng)態(tài)偏移量0P,所述第一動(dòng)態(tài)偏移量OP等于所述敏感數(shù)據(jù)的長(zhǎng)度值與預(yù)設(shè)的第一密鑰ASCII碼值求和再對(duì)所述分區(qū)域的長(zhǎng)度取模后所得的值。
16.根據(jù)權(quán)利要求14所述的數(shù)據(jù)加密裝置,其特征在于,所述第二偏移量計(jì)算單元還用于: 計(jì)算所述單個(gè)原始字符對(duì)應(yīng)的加密字符的第二偏移量,所述第二偏移量為所述第一偏移量NP與所述第一動(dòng)態(tài)偏移量OP之和。
17.根據(jù)權(quán)利要求14所述的數(shù)據(jù)加密裝置,其特征在于,所述字符加密單元還用于: 計(jì)算所述加密字符的編碼位,獲取所述加密字符,所述加密字符的編碼位為從所述單個(gè)原始字符GBK編碼值所在分區(qū)域Am的主映射區(qū)Am+1的頭部開(kāi)始偏移所述第二偏移量個(gè)位數(shù)后對(duì)應(yīng)的編碼位,該編碼位所對(duì)應(yīng)的字符即為所述加密字符。
18.根據(jù)權(quán)利要求10-17任一所述的數(shù)據(jù)加密裝置,其特征在于,所述數(shù)值加密模塊包括: 第一分密鑰生成單元,用于將預(yù)設(shè)的第二密鑰分為N組第一分密鑰Sn (I < = η < =N),并計(jì)算每個(gè)第一分密鑰的ASCII碼值; 第二分密鑰生成單元,用于計(jì)算所述敏感數(shù)據(jù)后N位前的數(shù)字之和str,將每個(gè)第一分密鑰的ASCII碼值加上str后生成N組第二分密鑰SNn (O < = η < N)); 加密數(shù)字生成單元,用于對(duì)所述敏感數(shù)據(jù)后N位中的每個(gè)原始數(shù)字和對(duì)應(yīng)的第二分密鑰SNn求和,再加上前一位數(shù)字,并經(jīng)過(guò)數(shù)字對(duì)調(diào)和移位操作生成N位加密數(shù)字; 數(shù)字加密單元,用于所述敏感數(shù)據(jù)后N位前的原始數(shù)字和移位后的N位加密數(shù)字組合即獲得所述加密數(shù)據(jù)。
19.一種數(shù)據(jù)解密方法,其特征在于,包括: 獲取加密數(shù)據(jù),判斷所述加密數(shù)據(jù)的數(shù)據(jù)類型屬于字符型或數(shù)值型; 若所述加密數(shù)據(jù)的數(shù)據(jù)類型屬于字符型,則提取所述加密數(shù)據(jù)中的單個(gè)加密字符,根據(jù)解密字符集,將所述單個(gè)加密字符轉(zhuǎn)換成原始字符,所述加密數(shù)據(jù)即轉(zhuǎn)換為敏感數(shù)據(jù);若所述加密數(shù)據(jù)的數(shù)據(jù)類型屬于數(shù)值型,則將所述加密數(shù)據(jù)后N位加密數(shù)字轉(zhuǎn)換成N位原始數(shù)字,所述加密數(shù)據(jù)即轉(zhuǎn)換為所述敏感數(shù)據(jù)。
20.根據(jù)權(quán)利要求19所述的數(shù)據(jù)解密方法,其特征在于,所述若所述加密數(shù)據(jù)的數(shù)據(jù)類型屬于字符型,則提取所述加密數(shù)據(jù)中的單個(gè)加密字符步驟包括: 循環(huán)提取所述加密數(shù)據(jù)的每一個(gè)字符,判斷提取到的字符的類型屬于中文字符、英文字符、數(shù)字字符或標(biāo)點(diǎn)符號(hào),提取中文字符、英文字符和數(shù)字字符為需要解密的單個(gè)加密字符。
21.根據(jù)權(quán)利要求19所述的數(shù)據(jù)解密方法,其特征在于,所述根據(jù)解密字符集,將所述單個(gè)加密字符轉(zhuǎn)換成原始字符步驟包括: 將所述解密字符集劃分為M塊大小相等的分區(qū)域Am(l < = m < = Μ),指定分區(qū)域Am+UAm+2分別為Am的主映射區(qū)和從映射區(qū),A1、A2分別為AM的主映射區(qū)和從映射區(qū);根據(jù)所述加密數(shù)據(jù)的長(zhǎng)度值和預(yù)設(shè)的第一密鑰計(jì)算所述加密數(shù)據(jù)的第二動(dòng)態(tài)偏移量OP'; 根據(jù)所述單個(gè)加密字符的編碼位和所述第二動(dòng)態(tài)偏移量OP',計(jì)算第三偏移量NP',所述第三偏移量NP'為所述單個(gè)加密字符對(duì)應(yīng)的原始字符GBK編碼在原分區(qū)域中高位偏移的位數(shù); 根據(jù)所述單個(gè)加密字符的編碼位和所述第二動(dòng)態(tài)偏移量OP',獲取所述原始字符的GBK編碼所在原分區(qū)域的位置; 根據(jù)所述原始字符的GBK編碼所在的原分區(qū)域的位置和所述第三偏移量NP'獲取所述原始字符。
22.根據(jù)權(quán)利要求21所述的數(shù)據(jù)解密方法,其特征在于,所述根據(jù)所述加密數(shù)據(jù)的長(zhǎng)度值和預(yù)設(shè)的第一密鑰計(jì)算所述加密數(shù)據(jù)的第二動(dòng)態(tài)偏移量OP'步驟包括: 計(jì)算所述加密數(shù)據(jù)的第二動(dòng)態(tài)偏移量OP',所述第二動(dòng)態(tài)偏移量OP'等于所述加密數(shù)據(jù)的長(zhǎng)度值與預(yù)設(shè)的第一密鑰ASCII碼值求和再對(duì)所述分區(qū)域的長(zhǎng)度取模后所得的值。
23.根據(jù)權(quán)利要求21所述的數(shù)據(jù)解密方法,其特征在于,所述根據(jù)所述單個(gè)加密字符的編碼位和所述第二動(dòng)態(tài)偏移量OP',計(jì)算第三偏移量NP'步驟包括: 所述單個(gè)加密字符的編碼位減去所述第二動(dòng)態(tài)偏移量OP'后得到的臨時(shí)編碼位,所述第三偏移量NP'等于所述臨時(shí)編碼位在所在分區(qū)域中的高位偏移的位數(shù)。
24.根據(jù)權(quán)利要求21所述的數(shù)據(jù)解密方法,其特征在于,所述根據(jù)所述單個(gè)加密字符的編碼位和所述第二動(dòng)態(tài)偏移量OP',獲取所述原始字符的GBK編碼所在原分區(qū)域的位置步驟包括:· 判斷所述單個(gè)加密字符的編碼位減去所述第二動(dòng)態(tài)偏移量OP'后得到的臨時(shí)編碼位所對(duì)應(yīng)的字符是否仍在所述單個(gè)加密字符所在的分區(qū)域Am中,若是則所述原始字符的GBK編碼所在的原分區(qū)域?yàn)樗龇謪^(qū)域Am-1,若否則所述原始字符的GBK編碼所在的原分區(qū)域?yàn)樗龇謪^(qū)域Am-2。
25.根據(jù)權(quán)利要求21所述的數(shù)據(jù)解密方法,其特征在于,所述根據(jù)所述原始字符的GBK編碼所在的原分區(qū)域的位置和所述第三偏移量NP'獲取所述原始字符步驟包括: 所述原始字符的GBK編碼為從所述原分區(qū)域的頭部開(kāi)始偏移所述第三偏移量NP'個(gè)位數(shù)后對(duì)應(yīng)的字符,根據(jù)所述原始字符的GBK編碼獲取所述原始字符。
26.根據(jù)權(quán)利要求19-25任一所述的數(shù)據(jù)解密方法,其特征在于,所述若所述加密數(shù)據(jù)的數(shù)據(jù)類型屬于數(shù)值型,則將所述加密數(shù)據(jù)后N位加密數(shù)字轉(zhuǎn)換成N位原始數(shù)字,所述加密數(shù)據(jù)即轉(zhuǎn)換為所述敏感數(shù)據(jù)步驟包括: 獲取所述加密數(shù)據(jù)的后N位加密數(shù)字,計(jì)算加密數(shù)字偏移量; 根據(jù)所述加密數(shù)字偏移量,將所述加密數(shù)據(jù)的后N位加密數(shù)字向左偏移得到偏移后的加密數(shù)據(jù),獲取偏移后的加密數(shù)據(jù)的后N位加密數(shù)字D [i]; 根據(jù)預(yù)設(shè)的第二密鑰和偏移后的加密數(shù)據(jù)后N位之前的加密數(shù)字計(jì)算第三分密鑰Sn [i] (i < = N); 根據(jù)所述第三分密鑰Sn[i]和偏移后的加密數(shù)據(jù)的后N位加密數(shù)字D [i],計(jì)算獲得N位所述原始數(shù)字; 偏移后的加密數(shù)據(jù)后N位之前的數(shù)字與N位所述原始數(shù)字組合即獲得所述敏感數(shù)據(jù)。
27.一種數(shù)據(jù)解密裝置,其特征在于,包括: 第二數(shù)據(jù)類型判斷模塊,用于獲取加密數(shù)據(jù),判斷所述加密數(shù)據(jù)的數(shù)據(jù)類型屬于字符型或數(shù)值型; 字符解密模塊,用于若所述加密數(shù)據(jù)的數(shù)據(jù)類型屬于字符型,則提取所述加密數(shù)據(jù)中的單個(gè)加密字符,根據(jù)解密字符集,將所述單個(gè)加密字符轉(zhuǎn)換成原始字符,所述加密數(shù)據(jù)即轉(zhuǎn)換為敏感數(shù)據(jù); 數(shù)值解密模塊,用于若所述加密數(shù)據(jù)的數(shù)據(jù)類型屬于數(shù)值型,則將所述加密數(shù)據(jù)后N位加密數(shù)字轉(zhuǎn)換成N位原始數(shù)字,所述加密數(shù)據(jù)即轉(zhuǎn)換為所述敏感數(shù)據(jù)。
28.根據(jù)權(quán)利要求27所述的數(shù)據(jù)解密裝置,其特征在于,所述字符解密模塊還包括: 單個(gè)加密字符提取模塊,用于循環(huán)提取所述加密數(shù)據(jù)的每一個(gè)字符,判斷提取到的字符的類型屬于中文字符、英文字符、數(shù)字字符或標(biāo)點(diǎn)符號(hào),提取中文字符、英文字符和數(shù)字字符為需要解密的單個(gè)加密字符。
29.根據(jù)權(quán)利要求27所述的數(shù)據(jù)解密裝置,其特征在于,所述字符解密模塊包括: 第二預(yù)設(shè)單元,用于將所述解密字符集劃分為M塊大小相等的分區(qū)域Am (I < = m < =M),指定分區(qū)域Am+l、Am+2分別為Am的主映射區(qū)和從映射區(qū),Al、A2分別為AM的主映射區(qū)和從映射區(qū); 第二動(dòng)態(tài)偏移量計(jì)算單元,用于根據(jù)所述加密數(shù)據(jù)的長(zhǎng)度值和預(yù)設(shè)的第一密鑰計(jì)算所述加密數(shù)據(jù)的第二動(dòng)態(tài)偏移量OP'; 第三偏移量計(jì)算單元,用于根據(jù)所述單個(gè)加密字符的編碼位和所述第二動(dòng)態(tài)偏移量OP1,計(jì)算第三偏移量NP',所述 第三偏移量NP'為所述單個(gè)加密字符對(duì)應(yīng)的原始字符GBK編碼在原分區(qū)域中高位偏移的位數(shù); 位置判斷單元,用于根據(jù)所述單個(gè)加密字符的編碼位和所述第二動(dòng)態(tài)偏移量OP',獲取所述原始字符的GBK編碼所在原分區(qū)域的位置; 原始字符獲取單元,用于根據(jù)所述原始字符的GBK編碼所在的原分區(qū)域的位置和所述第三偏移量NP'獲取所述原始字符。
30.根據(jù)權(quán)利要求29所述的數(shù)據(jù)解密裝置,其特征在于,所述第二動(dòng)態(tài)偏移量計(jì)算單元還用于: 計(jì)算所述加密數(shù)據(jù)的第二動(dòng)態(tài)偏移量OP',所述第二動(dòng)態(tài)偏移量OP'等于所述加密數(shù)據(jù)的長(zhǎng)度值與預(yù)設(shè)的第一密鑰ASCII碼值求和再對(duì)所述分區(qū)域的長(zhǎng)度取模后所得的值。
31.根據(jù)權(quán)利要求29所述的數(shù)據(jù)解密裝置,其特征在于,所述第三偏移量計(jì)算單元還用于: 計(jì)算所述單個(gè)加密字符的編碼位減去所述第二動(dòng)態(tài)偏移量OP'后得到的臨時(shí)編碼位,所述第三偏移量NP'等于所述臨時(shí)編碼位在所在分區(qū)域中的高位偏移的位數(shù)。
32.根據(jù)權(quán)利要求29所述的數(shù)據(jù)解密裝置,其特征在于,所述位置判斷單元還用于: 判斷所述單個(gè)加密字符的編碼位減去所述第二動(dòng)態(tài)偏移量OP'后得到的臨時(shí)編碼位所對(duì)應(yīng)的字符是否仍在所述單個(gè)加密字符所在的分區(qū)域Am中,若是則所述原始字符的GBK編碼所在的原分區(qū)域?yàn)樗龇謪^(qū)域Am-1,若否則所述原始字符的GBK編碼所在的原分區(qū)域?yàn)樗龇謪^(qū)域Am-2。
33.根據(jù)權(quán)利要求29所述的數(shù)據(jù)解密裝置,其特征在于,所述原始字符獲取單元還用于: 所述原始字符的GBK編碼為從所述原分區(qū)域的頭部開(kāi)始偏移所述第三偏移量NP'個(gè)位數(shù)后對(duì)應(yīng)的字符,根據(jù)所述原始字符的GBK編碼獲取所述原始字符。
34.根據(jù)權(quán)利要求27-33任一所述的數(shù)據(jù)解密裝置,其特征在于,所述數(shù)值解密模塊包括: 第一計(jì)算單元,用于獲取所述加密數(shù)據(jù)的后N位加密數(shù)字,計(jì)算加密數(shù)字偏移量;第二計(jì)算單元,用于根據(jù)所述加密數(shù)字偏移量,將所述加密數(shù)據(jù)的后N位加密數(shù)字向左偏移得到偏移后的加密數(shù)據(jù),獲取偏移后的加密數(shù)據(jù)的后N位加密數(shù)字D [i]; 第三分密鑰生成單元,用于根據(jù)預(yù)設(shè)的第二密鑰和偏移后的加密數(shù)據(jù)后N位之前的加密數(shù)字計(jì)算第三分密鑰Sn[i] (i <= N); 原始數(shù)字生成單元,用于根據(jù)所述第三分密鑰Sn[i]和偏移后的加密數(shù)據(jù)的后N位加密數(shù)字D [i],計(jì)算獲得N位所述原始數(shù)字; 數(shù)字解密單元,用于偏移后的加密數(shù)據(jù)后N位之前的數(shù)字與N位所述原始數(shù)字組合即獲得所述敏感數(shù)據(jù)。·
【文檔編號(hào)】G06F21/62GK103853985SQ201210515917
【公開(kāi)日】2014年6月11日 申請(qǐng)日期:2012年12月5日 優(yōu)先權(quán)日:2012年12月5日
【發(fā)明者】趙洪松, 何鴻凌, 遲建德, 孫德志, 朱晨, 王廣華, 蘇燕, 王依興, 張碩, 李楊 申請(qǐng)人:中國(guó)移動(dòng)通信集團(tuán)黑龍江有限公司