本發(fā)明涉及數(shù)據(jù)加密安全領(lǐng)域,尤其涉及一種基于非對(duì)稱算法的高安全性電傳碼加密方法。
背景技術(shù):
隨著電子信息技術(shù)的高速發(fā)展,電傳碼的使用越來(lái)越普及,例如利用其數(shù)據(jù)小、傳輸頻率低等特點(diǎn)進(jìn)行網(wǎng)絡(luò)交易或傳輸文件,為了保證交易過(guò)程中電傳碼的安全性,需要對(duì)電傳碼進(jìn)行加密,防止電傳碼被木馬程序截獲。
現(xiàn)有技術(shù)中,電傳碼(也可稱之為小數(shù)據(jù))的傳輸是極為廣泛的,例如用戶通常使用的鍵盤(pán)敲擊的指令作為數(shù)據(jù)進(jìn)行傳輸,再例如郵局中采用摩斯碼或其他形式的敲擊指令作為電報(bào)數(shù)據(jù)進(jìn)行傳輸,再例如現(xiàn)在極為普遍的數(shù)據(jù)傳輸構(gòu)架,即客戶端與服務(wù)端之間的數(shù)據(jù)傳輸(大部分為小數(shù)據(jù)),客戶端是與服務(wù)端相對(duì)應(yīng),客戶端為用戶提供本地服務(wù)程序,一般安裝在普通的客戶機(jī)上,需要與服務(wù)端互相配合運(yùn)行,服務(wù)端為客戶端提供服務(wù),并存儲(chǔ)用戶相關(guān)信息,例如用戶賬戶密碼等,用戶通過(guò)客戶端登錄應(yīng)用程序時(shí)需要通過(guò)密碼認(rèn)證,而如果客戶端被木馬病毒侵害則用戶通過(guò)鍵盤(pán)輸入密碼時(shí)會(huì)被木馬程序記錄下來(lái),對(duì)賬戶安全造成威脅,為此人們提出一種加密鍵盤(pán),例如第“cn201220386190.1”號(hào)、名稱為“加密鍵盤(pán)及使用該鍵盤(pán)的自助設(shè)備”的實(shí)用新型專利,該加密鍵盤(pán)包括存儲(chǔ)有第一密鑰的存儲(chǔ)模塊;偵測(cè)加密鍵盤(pán)是否被破壞的偵測(cè)模塊;連接于存儲(chǔ)模塊和偵測(cè)模塊的、在偵測(cè)模塊偵測(cè)到加密鍵盤(pán)被破壞時(shí)刪除存儲(chǔ)模塊內(nèi)的第一密鑰的第一保護(hù)電路。雖然上述加密鍵盤(pán)能夠?qū)崿F(xiàn)密碼保護(hù),但是其制造成本高、通用性差,使用時(shí)必須將計(jì)算機(jī)本身配備的普通鍵盤(pán)替換為該種加密鍵盤(pán),而且加密效率不高。
同時(shí)隨著加密解密技術(shù)的改進(jìn),現(xiàn)有技術(shù)中也開(kāi)始出現(xiàn)了非對(duì)稱算法的安全加密系統(tǒng),包括:鍵盤(pán)(101),用于輸入鍵盤(pán)碼;
加密器(102),用于加密,所述加密器(102)基于非對(duì)稱加密算法對(duì)鍵盤(pán)碼進(jìn)行加密得到密文,所述加密器(102)將所述密文發(fā)送給服務(wù)端(104);
客戶端(103),用于登錄用戶系統(tǒng);
服務(wù)端(104),用于解密認(rèn)證,所述服務(wù)端(104)接收密文并根據(jù)解密算法對(duì)密文進(jìn)行解密獲得鍵盤(pán)(101)輸入的鍵盤(pán)碼,當(dāng)所述服務(wù)端(104)解密得到的鍵盤(pán)碼與服務(wù)端(104)存儲(chǔ)的鍵盤(pán)碼相匹配時(shí),所述服務(wù)端(104)認(rèn)證成功,允許用戶登入用戶系統(tǒng)。
上述系統(tǒng)雖可對(duì)鍵盤(pán)敲擊的數(shù)據(jù)進(jìn)行非對(duì)稱算法進(jìn)行加密,但存在的問(wèn)題是,由于對(duì)電傳碼的傳輸往往在傳輸速率要求不高但傳輸安全性要求較高的情況下,即便采用非對(duì)稱算法進(jìn)行加密,其解密的運(yùn)算量也并非不能實(shí)現(xiàn)破解,所以對(duì)于數(shù)據(jù)的加密而言,特別是電傳碼此類小數(shù)據(jù)的傳輸仍有很高的安全隱患。
技術(shù)實(shí)現(xiàn)要素:
為了解決對(duì)在小數(shù)據(jù)要求傳輸效率不高但傳輸安全性較高的情況下,可進(jìn)行有效加密且保證數(shù)據(jù)的安全性和唯一性從而設(shè)計(jì)的一種基于非對(duì)稱算法的高安全性電傳碼加密方法。
本發(fā)明解決其技術(shù)問(wèn)題所采用的技術(shù)方案是:一種基于非對(duì)稱算法的高安全性電傳碼加密方法,包括以下步驟:
s01寫(xiě)入程序算法:首先服務(wù)端隨機(jī)生成公鑰(e,n)和私鑰(d,n),并將公鑰(e,n)對(duì)應(yīng)的加密程序到加密器,同時(shí)私鑰(d,n)對(duì)應(yīng)的解密程序保留在服務(wù)端;
s02處理加密:服務(wù)端發(fā)送接收信號(hào)和公鑰(e,n)給加密器,加密器開(kāi)放數(shù)據(jù)接收功能并接收鍵盤(pán)輸入的單個(gè)鍵盤(pán)碼,對(duì)該單個(gè)鍵盤(pán)碼進(jìn)行處理,即對(duì)單個(gè)鍵盤(pán)碼上繼續(xù)添加機(jī)器碼、時(shí)鐘碼、隨機(jī)碼組合后形成的源文碼,按照公鑰(e,n)對(duì)應(yīng)的加密程序?qū)υ次拇a加密得到密文,所述加密器將密文發(fā)送給服務(wù)端;
s03解密認(rèn)證:服務(wù)端接收密文一方面對(duì)源文碼根據(jù)私鑰(d,n)解密程序解密得到源文碼中的鍵盤(pán)碼、機(jī)器碼、時(shí)鐘碼和隨機(jī)碼,并對(duì)該源文碼中的字段進(jìn)行分析,對(duì)時(shí)鐘碼與之前接受到的源文碼中的時(shí)鐘碼進(jìn)行比對(duì),從而判斷接受到的源文碼是否是實(shí)時(shí)發(fā)送的源文碼,對(duì)收到的機(jī)器碼與服務(wù)端存儲(chǔ)的該加密器的機(jī)器碼進(jìn)行對(duì)比,若源文碼中的時(shí)鐘碼和機(jī)器碼都符合要求,則將服務(wù)端解密所得的鍵盤(pán)碼與服務(wù)端存儲(chǔ)的鍵盤(pán)碼進(jìn)行對(duì)比并判斷是否匹配,如果匹配則允許用戶登入客戶端的用戶系統(tǒng);若源文碼中的時(shí)鐘碼或機(jī)器碼中任何一項(xiàng)不符合要求,則服務(wù)端發(fā)出報(bào)警信號(hào)。
作為優(yōu)選,所述公鑰(e,n)和私鑰(d,n)的確定方法為n=p1*p2.....pn,n≥3,pi是質(zhì)數(shù),e*d=1mod((p1-1)*(p2-1)*......(pn-1))。
作為優(yōu)選,所述加密程序中,利用所述公鑰(e,n)和如下公式對(duì)所述鍵盤(pán)碼進(jìn)行加密,得到所述密文:aemodn=b,其中,a表示所述源文碼,b表示所述密文。
作為優(yōu)選,所述解密程序中,利用私鑰(d,n)和如下公式對(duì)所述密文進(jìn)行解密,得到所述鍵盤(pán)碼:bdmodn=a,其中,a表示所述源文碼,b表示所述密文。
本發(fā)明的有益效果是:1.通過(guò)對(duì)鍵盤(pán)碼進(jìn)行添加機(jī)器碼、時(shí)鐘碼和隨機(jī)碼進(jìn)而形成源文碼,從而大大的提高了破解的難度。
2.在源文碼進(jìn)行解密后獲得的時(shí)鐘碼中還會(huì)對(duì)時(shí)鐘碼進(jìn)行時(shí)序分析并對(duì)源文碼解密后獲得的機(jī)器碼進(jìn)行比對(duì),保證接收的數(shù)據(jù)的實(shí)時(shí)性和唯一性,從而無(wú)法通過(guò)復(fù)制數(shù)據(jù)包進(jìn)行發(fā)送的形式進(jìn)行混淆,每個(gè)源文碼在解密后獲得的時(shí)鐘碼和機(jī)器碼只有符合要求的情況下才會(huì)進(jìn)一步通過(guò)服務(wù)端對(duì)客戶端進(jìn)行數(shù)據(jù)反饋,否則會(huì)直接進(jìn)行報(bào)警,大大的提高了電傳碼傳輸和解密的安全性。
3.本發(fā)明的加密器根據(jù)加密指令,利用公鑰(e,n)加密源文碼得到密文,并向服務(wù)端發(fā)送密文,服務(wù)端接收到密文后,根據(jù)解密指令利用私鑰(d,n)解密密文,其中,參數(shù)n由至少三個(gè)質(zhì)數(shù)相乘得到,n=p1*p2.....pn,n≥3,參數(shù)e和參數(shù)d之間的關(guān)系滿足e*d=1mod((p1-1)*(p2-1)*......(pn-1)),通過(guò)若干個(gè)數(shù)值較小的pi相乘就能夠獲得一個(gè)較大的參數(shù)n,保證加密的安全性,減少了加密前獲取參數(shù)n的時(shí)間,提高了加密的效率。
附圖說(shuō)明
下面結(jié)合附圖和實(shí)施例對(duì)本發(fā)明進(jìn)一步說(shuō)明。
圖1是現(xiàn)有技術(shù)中非對(duì)稱算法的安全加密系統(tǒng)的原理框圖;
圖2是本發(fā)明的基于非對(duì)稱算法的高安全性電傳碼加密方法的流程圖。
其中:鍵盤(pán)101、加密器102、客戶端103和服務(wù)端104。
具體實(shí)施方式
現(xiàn)在結(jié)合附圖對(duì)本發(fā)明作進(jìn)一步詳細(xì)的說(shuō)明。這些附圖均為簡(jiǎn)化的示意圖,僅以示意方式說(shuō)明本發(fā)明的基本結(jié)構(gòu),因此其僅顯示與本發(fā)明有關(guān)的構(gòu)成。
一種基于非對(duì)稱算法的高安全性電傳碼加密方法,包括以下步驟:
s01寫(xiě)入程序算法:首先服務(wù)端隨機(jī)生成公鑰(e,n)和私鑰(d,n),并將公鑰(e,n)對(duì)應(yīng)的加密程序到加密器,同時(shí)私鑰(d,n)對(duì)應(yīng)的解密程序保留在服務(wù)端;
s02處理加密:服務(wù)端發(fā)送接收信號(hào)和公鑰(e,n)給加密器,加密器開(kāi)放數(shù)據(jù)接收功能并接收鍵盤(pán)輸入的單個(gè)鍵盤(pán)碼,對(duì)該單個(gè)鍵盤(pán)碼進(jìn)行處理,即對(duì)單個(gè)鍵盤(pán)碼上繼續(xù)添加機(jī)器碼、時(shí)鐘碼、隨機(jī)碼組合成的源文碼,按照公鑰(e,n)對(duì)應(yīng)的加密程序?qū)υ次拇a加密得到密文,所述加密器將密文發(fā)送給服務(wù)端;
s03解密認(rèn)證:服務(wù)端接收密文一方面對(duì)源文碼根據(jù)私鑰(d,n)解密程序解密得到源文碼中的鍵盤(pán)碼、機(jī)器碼、時(shí)鐘碼和隨機(jī)碼,并對(duì)該源文碼中的字段進(jìn)行分析,對(duì)時(shí)鐘碼與之前接受到的源文碼中的時(shí)鐘碼進(jìn)行比對(duì),從而判斷接受到的源文碼是否是實(shí)時(shí)發(fā)送的源文碼,對(duì)收到的機(jī)器碼與服務(wù)端存儲(chǔ)的該加密器的機(jī)器碼進(jìn)行對(duì)比,若源文碼中的時(shí)鐘碼和機(jī)器碼都符合要求,則將服務(wù)端解密所得的鍵盤(pán)碼與服務(wù)端存儲(chǔ)的鍵盤(pán)碼進(jìn)行對(duì)比并判斷是否匹配,如果匹配則允許用戶登入客戶端的用戶系統(tǒng);若源文碼中的時(shí)鐘碼或機(jī)器碼中任何一項(xiàng)不符合要求,則服務(wù)端發(fā)出報(bào)警信號(hào)。
所述公鑰(e,n)和私鑰(d,n)的確定方法為n=p1*p2.....pn,n≥3,pi是質(zhì)數(shù),e*d=1mod((p1-1)*(p2-1)*......(pn-1))。
所述加密程序中,利用所述公鑰(e,n)和如下公式對(duì)所述鍵盤(pán)碼進(jìn)行加密,得到所述密文:aemodn=b,其中,a表示所述源文碼,b表示所述密文。
所述解密程序中,利用私鑰(d,n)和如下公式對(duì)所述密文進(jìn)行解密,得到所述鍵盤(pán)碼:bdmodn=a,其中,a表示所述源文碼,b表示所述密文。
在具體實(shí)施時(shí),由于用戶并不知道參數(shù)n是如何得到的,只知道參數(shù)n的數(shù)值,如果想要解密密文,則需要對(duì)參數(shù)n進(jìn)行因式分解,才能得到解密時(shí)使用的私鑰(d,n),而對(duì)參數(shù)n進(jìn)行因式分解比較困難,因此保證了密文的安全性,即便當(dāng)公鑰或私鑰被截獲時(shí)由于時(shí)序碼的判定和機(jī)器碼的判定要求,也不會(huì)出現(xiàn)截獲的數(shù)據(jù)復(fù)制發(fā)送也會(huì)被解密和接收現(xiàn)象。
另外,由于密文的保密時(shí)效與解密耗時(shí)與參數(shù)n以及時(shí)鐘碼相關(guān),參數(shù)n越大,保密時(shí)效和解密時(shí)間越長(zhǎng),為了加強(qiáng)密文的安全性,通常會(huì)選擇數(shù)值較大的參數(shù)n;當(dāng)參數(shù)n是兩個(gè)質(zhì)數(shù)a1和a2的乘積時(shí),若要保證參數(shù)n很大,則需要a1和a2也很大,但是數(shù)值很大的質(zhì)數(shù)比較難獲得,而時(shí)鐘碼一方面可以直接在服務(wù)端上進(jìn)行比對(duì),另一方面可以與之前接受到的時(shí)鐘碼進(jìn)行比對(duì),從而實(shí)現(xiàn)接收到的數(shù)據(jù)是實(shí)時(shí)有序的,在加密前選擇參數(shù)時(shí)需要耗費(fèi)比較多的時(shí)間,加密的效率受到影響;當(dāng)參數(shù)n是至少三個(gè)質(zhì)數(shù)的乘積時(shí),即使pi的數(shù)值較小,要令參數(shù)n的數(shù)值需要很大,只需要多利用幾個(gè)pi相乘即可,在加密前選擇參數(shù)時(shí)不需要耗費(fèi)較多的時(shí)間,有利于提高加密效率。
加密器利用公鑰(e,n)對(duì)鍵盤(pán)碼進(jìn)行加密得到密文后發(fā)送至服務(wù)端,服務(wù)端利用私鑰(d,n)解密密文,得到鍵盤(pán)碼,在傳輸過(guò)程中保證了鍵盤(pán)碼傳遞的安全性;加密器利用公鑰(e,n)對(duì)鍵盤(pán)碼進(jìn)行加密得到密文,服務(wù)端104獲取到密文后利用私鑰(d,n)解密密文,得到鍵盤(pán)碼,由于具有不良動(dòng)機(jī)的用戶,比如黑客,不知道公鑰(e,n),即使偽造了一串字符給服務(wù)端104,服務(wù)端104利用私鑰(d,n)解密也得不到正確匹配的鍵盤(pán)碼,因此可以實(shí)現(xiàn)身份認(rèn)證的目的。此外,即便木馬程序截獲鍵盤(pán)101輸入的鍵盤(pán)碼,由于公鑰(e,n)未知,無(wú)法得到正確的密文,無(wú)法通過(guò)服務(wù)端104的認(rèn)證,仍然無(wú)法登入用戶系統(tǒng),大大提高了安全性。
本實(shí)施例的加密器對(duì)鍵盤(pán)嗎添加機(jī)器碼、時(shí)鐘碼、隨機(jī)碼,添加上述數(shù)據(jù)的主要目的是為了增加破解的難度以及使得數(shù)據(jù)和時(shí)間以及機(jī)器id綁定,具有唯一性,再根據(jù)加密指令,利用公鑰(e,n)加密源文碼得到密文,并向服務(wù)端104發(fā)送密文,服務(wù)端104接收到密文后,根據(jù)解密指令利用私鑰(d,n)解密密文,其中,參數(shù)n由至少三個(gè)質(zhì)數(shù)相乘得到,n=p1*p2.....pn,n≥3,pi是不對(duì)外公開(kāi)的參數(shù),參數(shù)e和參數(shù)d之間的關(guān)系滿足e*d=1mod((p1-1)*(p2-1)*......(pn-1)),通過(guò)若干個(gè)數(shù)值較小的pi相乘就能夠獲得一個(gè)較大的參數(shù)n,保證加密的安全性,減少了加密前獲取參數(shù)n的時(shí)間,提高了加密的效率,再者,解密后獲得的時(shí)鐘碼中還會(huì)對(duì)時(shí)鐘碼進(jìn)行時(shí)序分析,保證接收的數(shù)據(jù)的實(shí)時(shí)性和唯一性,無(wú)法通過(guò)復(fù)制數(shù)據(jù)包進(jìn)行發(fā)送的形式進(jìn)行混淆,每個(gè)源文碼在解密后獲得的時(shí)鐘碼只有符合要求的情況下才會(huì)進(jìn)一步通過(guò)服務(wù)端對(duì)客戶端進(jìn)行數(shù)據(jù)反饋。
本發(fā)明的有益效果是:1.通過(guò)對(duì)鍵盤(pán)碼進(jìn)行添加機(jī)器碼、時(shí)鐘碼和隨機(jī)碼進(jìn)而形成源文碼,從而大大的提高了破解的難度。
2.在源文碼進(jìn)行解密后獲得的時(shí)鐘碼中還會(huì)對(duì)時(shí)鐘碼進(jìn)行時(shí)序分析并對(duì)源文碼解密后獲得的機(jī)器碼進(jìn)行比對(duì),保證接收的數(shù)據(jù)的實(shí)時(shí)性和唯一性,從而無(wú)法通過(guò)復(fù)制數(shù)據(jù)包進(jìn)行發(fā)送的形式進(jìn)行混淆,每個(gè)源文碼在解密后獲得的時(shí)鐘碼和機(jī)器碼只有符合要求的情況下才會(huì)進(jìn)一步通過(guò)服務(wù)端對(duì)客戶端進(jìn)行數(shù)據(jù)反饋,否則會(huì)直接進(jìn)行報(bào)警,大大的提高了小數(shù)據(jù)傳輸和解密的安全性。
3.本發(fā)明的加密器根據(jù)加密指令,利用公鑰(e,n)加密源文碼得到密文,并向服務(wù)端發(fā)送密文,服務(wù)端接收到密文后,根據(jù)解密指令利用私鑰(d,n)解密密文,其中,參數(shù)n由至少三個(gè)質(zhì)數(shù)相乘得到,n=p1*p2.....pn,n≥3,參數(shù)e和參數(shù)d之間的關(guān)系滿足e*d=1mod((p1-1)*(p2-1)*......(pn-1)),通過(guò)若干個(gè)數(shù)值較小的pi相乘就能夠獲得一個(gè)較大的參數(shù)n,保證加密的安全性,減少了加密前獲取參數(shù)n的時(shí)間,提高了加密的效率。
以上述依據(jù)本發(fā)明的理想實(shí)施例為啟示,通過(guò)上述的說(shuō)明內(nèi)容,相關(guān)工作人員完全可以在不偏離本項(xiàng)發(fā)明技術(shù)思想的范圍內(nèi),進(jìn)行多樣的變更以及修改。本項(xiàng)發(fā)明的技術(shù)性范圍并不局限于說(shuō)明書(shū)上的內(nèi)容,必須要根據(jù)權(quán)利要求范圍來(lái)確定其技術(shù)性范圍。