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