做指數(shù)2的k次方進(jìn)制化,舉例來(lái)說(shuō),十進(jìn)制1234,將其2進(jìn)制化得到10011010010,長(zhǎng)度11位,轉(zhuǎn)化為2的2次方即4進(jìn)制化,得到103102,序列長(zhǎng)度6,將其2的3次方即8進(jìn)制化,得到2322,序列長(zhǎng)度4。這里,加密信息字符串對(duì)應(yīng)的數(shù)組的指數(shù)就是指一個(gè)大數(shù),利用指數(shù)2的k次方進(jìn)制的思想進(jìn)行大數(shù)到指數(shù)形式的轉(zhuǎn)化,比如X的5次方轉(zhuǎn)化為2的k次方進(jìn)制就成了 X的(I乘以2的2次方的I次方加上I乘以2的2次方的O次方),指數(shù)即指上述括號(hào)內(nèi)的內(nèi)容。另外,由2k進(jìn)制算法和SMM算法組合生成的RSA非公算法屬于現(xiàn)有技術(shù)。
[0069]采用組合生成的RSA非公算法,算法在強(qiáng)度上會(huì)有所降低,但是不容易被模仿。非公算法的加密機(jī)制相對(duì)保密,防破解性更高。
[0070]步驟101、將獲得的非公加密的數(shù)組通過(guò)相關(guān)進(jìn)制算法輸出為可見(jiàn)字符串。
[0071]本步驟中,相關(guān)進(jìn)制算法為:自定義的90進(jìn)制可見(jiàn)字符算法或其它進(jìn)制算法。
[0072]需要說(shuō)明的是,密鑰和密文其實(shí)都是byte數(shù)組,為了傳輸和顯示需要轉(zhuǎn)換成可見(jiàn)字符;本發(fā)明自定義的90進(jìn)制可見(jiàn)字符算法是類(lèi)似于BASE64算法的一種算法,BASE64算法是用64個(gè)可見(jiàn)字符表示64進(jìn)制,將byte數(shù)組的值轉(zhuǎn)換為64進(jìn)制的可見(jiàn)字符。自定義的90進(jìn)制可見(jiàn)字符算法通過(guò)定義90個(gè)可見(jiàn)字符[O, I, 2,3,4,5,6,7,8,9,O, A...$$],然后將byte數(shù)組中的每?jī)蓚€(gè)字節(jié)+3bit分為一組進(jìn)行拆分,分別轉(zhuǎn)換成O?524288之間的10進(jìn)制數(shù)字,用90做整除,將結(jié)果替換成90進(jìn)制的可見(jiàn)字符,按位拼接再將最后的余數(shù)也用90進(jìn)制可見(jiàn)字符替換。最后數(shù)組拆分后不足位先用O補(bǔ)位后轉(zhuǎn)90進(jìn)制,將補(bǔ)位個(gè)數(shù)用特殊符號(hào)標(biāo)記出來(lái)。由于采用90進(jìn)制可見(jiàn)字符算法后,密鑰長(zhǎng)度減少,影響支付業(yè)務(wù)的安全性,通過(guò)拆分即移位等處理,可以增加安全性。
[0073]本發(fā)明方法還包括:
[0074]通過(guò)獲取信息摘要的計(jì)算對(duì)加密信息字符串產(chǎn)生一串防偽的校驗(yàn)碼的簽名;
[0075]獲取信息摘要的計(jì)算為:對(duì)加密信息字符串進(jìn)行預(yù)設(shè)次數(shù)的消息摘要算法第五版(MD5)和/或安全哈希算法(SHAl)轉(zhuǎn)換的計(jì)算。
[0076]需要說(shuō)明的是,在驗(yàn)簽時(shí),需要根據(jù)進(jìn)行的預(yù)設(shè)次數(shù)的MD5和/或SHAl轉(zhuǎn)換對(duì)驗(yàn)簽的數(shù)據(jù)做相同的轉(zhuǎn)換處理,驗(yàn)簽時(shí)進(jìn)行相應(yīng)的處理屬于本領(lǐng)域技術(shù)人員的公知常識(shí)。
[0077]本發(fā)明通過(guò)非預(yù)設(shè)的RSA非公算法對(duì)加密信息字符串對(duì)應(yīng)的信息數(shù)組進(jìn)行處理,保證了加密的安全性,通過(guò)相關(guān)進(jìn)制算法輸出為可見(jiàn)字符串,降低了密鑰長(zhǎng)度及密鑰結(jié)果長(zhǎng)度,提高了業(yè)務(wù)支付中加密算法的工作效率。進(jìn)一步地,通過(guò)對(duì)加密信息字符串進(jìn)行拆分、填補(bǔ)及移位處理,也進(jìn)一步提高了加密算法的安全性。
[0078]圖2為本發(fā)明實(shí)現(xiàn)加密的裝置的結(jié)構(gòu)框圖,如圖2所示,包括:非公加密單元及輸出字符單元;其中,
[0079]非公加密單元,用于對(duì)加密信息字符串對(duì)應(yīng)的信息數(shù)組按照預(yù)設(shè)的RSA非公算法進(jìn)行處理,獲得非公加密的數(shù)組;
[0080]輸出字符單元,用于將獲得的非公加密的數(shù)組通過(guò)相關(guān)進(jìn)制算法輸出為可見(jiàn)字符串O
[0081]本發(fā)明裝置還包括拆分移位單元,用于按照預(yù)設(shè)的RSA非公算法進(jìn)行處理之前,
[0082]將加密信息字符串的各二進(jìn)制數(shù)根據(jù)高四位和低四位方式拆分為兩個(gè)字節(jié);
[0083]對(duì)拆分后各個(gè)字節(jié)的空白位填補(bǔ)隨機(jī)數(shù);
[0084]將填補(bǔ)完空白位的各二進(jìn)制數(shù)分別通過(guò)預(yù)先設(shè)定的移位方向標(biāo)識(shí)和移位位數(shù)進(jìn)行移位運(yùn)算;
[0085]按照預(yù)設(shè)的RSA非公算法進(jìn)行處理后,在RSA非公加密數(shù)組預(yù)置的位置通過(guò)4bit存儲(chǔ)進(jìn)行填補(bǔ)的隨機(jī)數(shù),通過(guò)4bit表示移位方向和移位位數(shù)。
[0086]非公加密單元具體用于,
[0087]對(duì)加密信息字符串對(duì)應(yīng)的信息數(shù)組按照預(yù)設(shè)的由2k進(jìn)制算法和SMM算法預(yù)先設(shè)定組合生成的RSA非公算法,通過(guò)
[0088]根據(jù)2k進(jìn)制算法將加密信息字符串對(duì)應(yīng)的數(shù)組的指數(shù)進(jìn)行2 k進(jìn)制化轉(zhuǎn)化;
[0089]將2k進(jìn)制化算法的迭代法中的乘方后求模的計(jì)算調(diào)整為在求乘方的過(guò)程中求模,計(jì)算獲得中間結(jié)果;
[0090]如果中間結(jié)果值大于求乘方的過(guò)程中求模的模數(shù)的一半,則根據(jù)SMM算法用模數(shù)減去中間結(jié)果值得到的差來(lái)替代中間結(jié)果值,并繼續(xù)RSA算法計(jì)算處理,獲得非公加密的數(shù)組;
[0091]輸出字符單元具體用于,將獲得的非公加密的數(shù)組通過(guò)自定義的90進(jìn)制可見(jiàn)字符算法或其它進(jìn)制算法輸出為可見(jiàn)字符串。
[0092]本發(fā)明裝置還包括簽名單元,用于
[0093]通過(guò)對(duì)加密信息字符串進(jìn)行預(yù)設(shè)次數(shù)的MD5和/或SHAl轉(zhuǎn)換的計(jì)算,產(chǎn)生一串防偽的校驗(yàn)碼的簽名。
[0094]雖然本申請(qǐng)所揭露的實(shí)施方式如上,但所述的內(nèi)容僅為便于理解本申請(qǐng)而采用的實(shí)施方式,并非用以限定本申請(qǐng),如本發(fā)明實(shí)施方式中的具體的實(shí)現(xiàn)方法。任何本申請(qǐng)所屬領(lǐng)域內(nèi)的技術(shù)人員,在不脫離本申請(qǐng)所揭露的精神和范圍的前提下,可以在實(shí)施的形式及細(xì)節(jié)上進(jìn)行任何的修改與變化,但本申請(qǐng)的專(zhuān)利保護(hù)范圍,仍須以所附的權(quán)利要求書(shū)所界定的范圍為準(zhǔn)。
【主權(quán)項(xiàng)】
1.一種實(shí)現(xiàn)加密的方法,其特征在于,包括: 對(duì)加密信息字符串對(duì)應(yīng)的信息數(shù)組按照預(yù)設(shè)的RSA非公算法進(jìn)行處理,獲得非公加密的數(shù)組; 將獲得的非公加密的數(shù)組通過(guò)相關(guān)進(jìn)制算法輸出為可見(jiàn)字符串。
2.根據(jù)權(quán)利要求1所述的方法,其特征在于,所述按照預(yù)設(shè)的RSA非公算法進(jìn)行處理之前,該方法還包括: 將所述加密信息字符串轉(zhuǎn)換為二進(jìn)制數(shù)并按照預(yù)設(shè)方式進(jìn)行拆分,采用隨機(jī)數(shù)填補(bǔ)到拆分生成的字節(jié),對(duì)填補(bǔ)后的各字節(jié)進(jìn)行移位運(yùn)算后,再轉(zhuǎn)換為所述信息數(shù)組; 所述按照預(yù)設(shè)的RSA非公算法進(jìn)行處理后,該方法還包括:將填補(bǔ)到拆分生成字節(jié)的隨機(jī)數(shù)和移位運(yùn)算移位方向和移位位數(shù)存儲(chǔ)在所述RSA非公加密數(shù)組中預(yù)置的位置。
3.根據(jù)權(quán)利要求2所述的方法,其特征在于,所述將加密信息字符串轉(zhuǎn)換為二進(jìn)制數(shù)并按照預(yù)設(shè)方式進(jìn)行拆分,采用隨機(jī)數(shù)填補(bǔ)到拆分生成的字節(jié),對(duì)填補(bǔ)后的各字節(jié)進(jìn)行移位運(yùn)算包括: 將所述加密信息字符串的各二進(jìn)制數(shù)根據(jù)高四位和低四位方式拆分為兩個(gè)字節(jié); 對(duì)拆分后各個(gè)字節(jié)的空白位填補(bǔ)隨機(jī)數(shù); 將填補(bǔ)完空白位的各二進(jìn)制數(shù)分別通過(guò)預(yù)先設(shè)定的移位方向標(biāo)識(shí)和移位位數(shù)進(jìn)行移位運(yùn)算。
4.根據(jù)權(quán)利要求2所述的方法,其特征在于,所述將填補(bǔ)到拆分生成字節(jié)的隨機(jī)數(shù)和移位運(yùn)算移位方向和移位位數(shù)存儲(chǔ)在所述RSA非公加密數(shù)組中預(yù)置的位置具體包括: 在所述RSA非公加密數(shù)組預(yù)置的位置通過(guò)4比特bit存儲(chǔ)進(jìn)行填補(bǔ)的隨機(jī)數(shù),通過(guò)4bit表示移位方向和移位位數(shù)。
5.根據(jù)權(quán)利要求1?4任一項(xiàng)所述的方法,其特征在于,所述獲得非公加密的數(shù)組包括: 對(duì)所述加密信息字符串對(duì)應(yīng)的數(shù)組按照預(yù)先設(shè)定的算法組合生成所述RSA非公算法進(jìn)行處理; 所述預(yù)先設(shè)定的算法組合生成的RSA非公算法由改進(jìn)的滑動(dòng)窗口算法、和/或2k進(jìn)制算法、和/或中國(guó)剩余定理、和/或SMM算法組合生成。
6.根據(jù)權(quán)利要求1?4任一項(xiàng)所述的方法,其特征在于,所述預(yù)設(shè)的RSA非公算法為:由2k進(jìn)制算法和SMM算法組合生成的RSA非公算法; 按照所述預(yù)設(shè)的RSA非公算法進(jìn)行處理具體包括: 根據(jù)2k進(jìn)制算法將所述加密信息字符串對(duì)應(yīng)的數(shù)組的指數(shù)進(jìn)行2 k進(jìn)制化轉(zhuǎn)化; 將2k進(jìn)制化算法的迭代法中的乘方后求模的計(jì)算調(diào)整為在求乘方的過(guò)程中求模,計(jì)算獲得中間結(jié)果; 如果中間結(jié)果值大于所述求乘方的過(guò)程中求模的模數(shù)的一半,則根據(jù)SMM算法用模數(shù)減去中間結(jié)果值得到的差來(lái)替代中間結(jié)果值,并繼續(xù)RSA算法計(jì)算。
7.根據(jù)權(quán)利要求1?4任一項(xiàng)所述的方法,其特征在于,所述相關(guān)進(jìn)制算法為:自定義的90進(jìn)制可見(jiàn)字符算法或其它進(jìn)制算法。
8.根據(jù)權(quán)利要求1所述的方法,其特征在于,該方法還包括: 通過(guò)獲取信息摘要的計(jì)算對(duì)所述加密信息字符串產(chǎn)生一串防偽的校驗(yàn)碼的簽名; 所述獲取信息摘要的計(jì)算為:對(duì)所述加密信息字符串進(jìn)行預(yù)設(shè)次數(shù)的消息摘要算法第五版MD5和/或安全哈希算法SHAl轉(zhuǎn)換的計(jì)算。
9.一種實(shí)現(xiàn)加密的裝置,其特征在于,包括:非公加密單元及輸出字符單元;其中, 非公加密單元,用于對(duì)加密信息字符串對(duì)應(yīng)的信息數(shù)組按照預(yù)設(shè)的RSA非公算法進(jìn)行處理,獲得非公加密的數(shù)組; 輸出字符單元,用于將獲得的非公加密的數(shù)組通過(guò)相關(guān)進(jìn)制算法輸出為可見(jiàn)字符串。
10.根據(jù)權(quán)利要求9所述的裝置,其特征在于,該裝置還包括拆分移位單元,用于所述按照預(yù)設(shè)的RSA非公算法進(jìn)行處理之前, 將所述加密信息字符串的各二進(jìn)制數(shù)根據(jù)高四位和低四位方式拆分為兩個(gè)字節(jié); 對(duì)拆分后各個(gè)字節(jié)的空白位填補(bǔ)隨機(jī)數(shù); 將填補(bǔ)完空白位的各二進(jìn)制數(shù)分別通過(guò)預(yù)先設(shè)定的移位方向標(biāo)識(shí)和移位位數(shù)進(jìn)行移位運(yùn)算; 所述按照所述預(yù)設(shè)的RSA非公算法進(jìn)行處理后,在所述RSA非公加密數(shù)組預(yù)置的位置通過(guò)4bit存儲(chǔ)進(jìn)行填補(bǔ)的隨機(jī)數(shù),通過(guò)4bit表示移位方向和移位位數(shù)。
11.根據(jù)權(quán)利要求9所述的裝置,其特征在于,所述非公加密單元具體用于, 對(duì)加密信息字符串對(duì)應(yīng)的信息數(shù)組按照預(yù)設(shè)的由2k進(jìn)制算法和SMM算法預(yù)先設(shè)定組合生成的RSA非公算法,通過(guò) 根據(jù)2k進(jìn)制算法將所述加密信息字符串對(duì)應(yīng)的數(shù)組的指數(shù)進(jìn)行2 k進(jìn)制化轉(zhuǎn)化; 將2k進(jìn)制化算法的迭代法中的乘方后求模的計(jì)算調(diào)整為在求乘方的過(guò)程中求模,計(jì)算獲得中間結(jié)果; 如果中間結(jié)果值大于所述求乘方的過(guò)程中求模的模數(shù)的一半,則根據(jù)SMM算法用模數(shù)減去中間結(jié)果值得到的差來(lái)替代中間結(jié)果值,并繼續(xù)RSA算法計(jì)算處理,獲得非公加密的數(shù)組。
12.根據(jù)權(quán)利要求9所述的裝置,其特征在于,所述輸出字符單元具體用于,將獲得的非公加密的數(shù)組通過(guò)自定義的90進(jìn)制可見(jiàn)字符算法或其它進(jìn)制算法輸出為可見(jiàn)字符串。
13.根據(jù)權(quán)利要求9?12所述的裝置,其特征在于,該裝置還包括簽名單元,用于通過(guò)對(duì)所述加密信息字符串進(jìn)行預(yù)設(shè)次數(shù)的MD5和/或SHAl轉(zhuǎn)換的計(jì)算,產(chǎn)生一串防偽的校驗(yàn)碼的簽名。
【專(zhuān)利摘要】本申請(qǐng)公開(kāi)了一種實(shí)現(xiàn)加密的方法及裝置,包括:對(duì)加密信息字符串對(duì)應(yīng)的信息數(shù)組按照預(yù)設(shè)的RSA非公算法進(jìn)行處理,獲得非公加密的數(shù)組;將獲得的非公加密的數(shù)組通過(guò)相關(guān)進(jìn)制算法輸出為可見(jiàn)字符串。本發(fā)明通過(guò)非預(yù)設(shè)的RSA非公算法對(duì)加密信息字符串對(duì)應(yīng)的信息數(shù)組進(jìn)行處理,保證了加密的安全性,通過(guò)相關(guān)進(jìn)制算法輸出為可見(jiàn)字符串,降低了密鑰長(zhǎng)度及密鑰結(jié)果長(zhǎng)度,提高了業(yè)務(wù)支付中加密算法的工作效率。進(jìn)一步地,通過(guò)對(duì)加密信息字符串進(jìn)行拆分、填補(bǔ)及移位處理,也進(jìn)一步提高了加密算法的安全性。
【IPC分類(lèi)】H04L9-06
【公開(kāi)號(hào)】CN104811298
【申請(qǐng)?zhí)枴緾N201510246789
【發(fā)明人】朱瀟, 朱捷, 黃迪, 何華杰, 武文
【申請(qǐng)人】中國(guó)聯(lián)合網(wǎng)絡(luò)通信集團(tuán)有限公司, 聯(lián)通寬帶在線(xiàn)有限公司
【公開(kāi)日】2015年7月29日
【申請(qǐng)日】2015年5月14日