一種密碼的制作方法
【專利摘要】一種需要硬件提供加密數(shù)據(jù)的密碼,它是通過(guò)三方或三方以上的數(shù)據(jù)在計(jì)算機(jī)終端合成的密碼,這種密碼組合數(shù)非常多,采用了多項(xiàng)反逆向破解技術(shù),暴力破解,詞典破解密碼法難以實(shí)現(xiàn),由于實(shí)現(xiàn)動(dòng)態(tài)密碼和硬件數(shù)據(jù)結(jié)合,加強(qiáng)了銀行卡等領(lǐng)域的密碼安全。
【專利說(shuō)明】
—種密碼
技術(shù)領(lǐng)域
[0001]本發(fā)明屬于密碼技術(shù)。
【背景技術(shù)】
[0002]下面先介紹常用的密碼的大致情況:
我們所使用的密碼是一個(gè)通俗說(shuō)法,實(shí)際是“ 口令”(password),不過(guò)口令和密碼在設(shè)計(jì)和原理方面有很多相似性,現(xiàn)代的password都是利用程序設(shè)定一個(gè)加密協(xié)議,即通過(guò)一定的算法保障加密的一致性以方便不同的終端進(jìn)行驗(yàn)證,password的作用就是防止未經(jīng)授權(quán)的人進(jìn)行訪問(wèn),password分為四類,即終端依據(jù)持卡人輸入結(jié)果進(jìn)行加密的,這種密碼缺陷就是只要?jiǎng)e人偷看或知曉輸入結(jié)果,就可以獲得正確的密碼,一般網(wǎng)站的MD5密碼就是這種,一種是硬件式的,需要硬件和人工輸入結(jié)合,比方說(shuō)U盾和IC卡密碼,它們大多數(shù)時(shí)候是基于非對(duì)稱密鑰算法的,還有一種是生物密碼,也就是利用人體某些器官或組織的一些特殊結(jié)構(gòu)終身具有一定的穩(wěn)定性和單一性,這種特殊結(jié)構(gòu)能夠被計(jì)算機(jī)系統(tǒng)讀取的驗(yàn)證碼,比方說(shuō)指紋或虹膜,這類密碼的缺點(diǎn)是持卡人無(wú)法主動(dòng)修改,欠缺能動(dòng)性,而且服務(wù)器存貯的數(shù)據(jù)與檢驗(yàn)的數(shù)據(jù)并不完全一致,需要利用模糊算法通過(guò)比較獲得答案,模糊算法很耗系統(tǒng)資源,目前的服務(wù)器系統(tǒng)很難承擔(dān)大量的指紋請(qǐng)求驗(yàn)證,多用于本地驗(yàn)證,而量子密碼是目前保密性能最好的密碼,不過(guò),量子密碼是點(diǎn)點(diǎn)發(fā)射,其傳輸距離有限,暫時(shí)沒(méi)有應(yīng)用于銀行卡。
[0003]MD5是一種唯一的信息散列值算法,它是一種不可逆的加密算法,MD5對(duì)一個(gè)具體的原始密碼有一個(gè)唯一的對(duì)應(yīng)加密值,這為詞典或暴力破解法提供了便利,尤其銀行卡密碼本身并不是很復(fù)雜,破解MD5密碼也相對(duì)比較容易。
[0004]而非對(duì)稱算法主要是利用公鑰(publickey)與(privatekey)私鑰算法,也就是公鑰加密則私鑰解密,私鑰加密則公鑰解密,公鑰與私鑰是一一對(duì)應(yīng)的而且只使用一次,非對(duì)稱算法從理論上比MD5算法的安全性要高,但是,由于IC卡或U-key是一個(gè)微型計(jì)算機(jī)系統(tǒng),假如黑客惡意編寫(xiě)病毒程序,通過(guò)柜員機(jī)系統(tǒng)傳播病毒或進(jìn)行破壞活動(dòng),這個(gè)問(wèn)題也不好解決。
【發(fā)明內(nèi)容】
[0005]發(fā)明目的:設(shè)計(jì)一種基于硬件提供部分?jǐn)?shù)據(jù)的密碼,加大密碼的破解難度。
[0006]技術(shù)方案:這種密碼是基于輕便式硬件提供部分?jǐn)?shù)據(jù)的密碼算法,至少需要三方提供密碼合成的數(shù)據(jù),這些數(shù)據(jù)的特點(diǎn)是人員輸入的數(shù)據(jù)可以比較簡(jiǎn)單,而硬件是利于攜帶的數(shù)據(jù)存貯介質(zhì),其數(shù)據(jù)可以被計(jì)算機(jī)終端讀取,存貯的數(shù)據(jù)相對(duì)復(fù)雜一些,終端計(jì)算機(jī)提供復(fù)雜的數(shù)據(jù)并完成密碼合成,終端計(jì)算機(jī)提供的數(shù)據(jù)分為合成數(shù)據(jù)和同類數(shù)據(jù)表,通過(guò)這些同類數(shù)據(jù)表為中間數(shù)據(jù)完成加密過(guò)程,服務(wù)器存貯的是通過(guò)合成后的數(shù)據(jù),在密碼更改方面,通過(guò)更改硬件存貯介質(zhì)中的可讀寫(xiě)數(shù)據(jù)完成或者設(shè)計(jì)程序在密碼驗(yàn)證完成后硬件存貯介質(zhì)中的可讀寫(xiě)數(shù)據(jù)自動(dòng)完成更改,然后將新密碼發(fā)送到服務(wù)器,這樣形成動(dòng)態(tài)密碼,這些利于攜帶的硬件數(shù)據(jù)存貯介質(zhì)是磁條,IC卡,記憶棒,射頻卡,手機(jī)內(nèi)存卡,輕便式數(shù)碼產(chǎn)品的自帶數(shù)據(jù)存貯卡或外接式存貯卡,光盤(pán),U盤(pán),硬盤(pán)以及通過(guò)印刷,噴涂,壓制,打印方法獲得的數(shù)據(jù),通過(guò)印刷,噴涂,打印方法獲得的條形碼,二維碼和明文數(shù)據(jù),在抵達(dá)消費(fèi)者之前手中最好利用油漆或涂料這些物理方法進(jìn)行遮蓋。
[0007]有益效果:這種設(shè)計(jì)可以適用于任何能讀取硬件數(shù)據(jù)的計(jì)算機(jī)系統(tǒng),采用的終端合成密碼技術(shù)由于需要提供幾方數(shù)據(jù),只要有一方數(shù)據(jù)沒(méi)有被他人知曉,就能保證系統(tǒng)安全,由于終端合成密碼的密碼組合數(shù)非常多,加大了密碼破解的難度,特別是銀行卡,與目前的磁卡和芯片卡比較,終端合成密碼的安全強(qiáng)度和芯片卡的密碼差不多,卻沒(méi)有芯片卡的病毒安全隱患,由于本設(shè)計(jì)也可以基于磁條卡提供的數(shù)據(jù)來(lái)加密,卡片費(fèi)用低廉。
[0008]【具體實(shí)施方式】:本說(shuō)明書(shū)論述的實(shí)施方式介紹了實(shí)施本專利的一般的過(guò)程,但實(shí)施本專利并不一定需要完全遵循這里描述的過(guò)程,它僅是實(shí)施本專利的一個(gè)特例。
[0009]實(shí)施例1:銀行卡加密,為了方便描述和便于比較,實(shí)施例1所指的輸入密碼和現(xiàn)有銀行卡的用戶密碼是完全一致的,取值都是六位阿拉伯?dāng)?shù)字,這里記為inputdata,即輸入數(shù)據(jù).而硬件提供的密碼數(shù)據(jù)記為hardwaredata,即硬件數(shù)據(jù),計(jì)算機(jī)終端提供的合成數(shù)據(jù)記為computerTerminaldata,即計(jì)算機(jī)終端數(shù)據(jù),計(jì)算機(jī)終端提供的數(shù)據(jù)表記為computerTerminalsheetο
[0010]加密流程圖說(shuō)明,直線表示幾部分?jǐn)?shù)據(jù)組合,單箭頭表示流程方向,雙箭頭表示流程的先后順序可以更換,同一級(jí)流程并列的幾個(gè)單箭頭表示進(jìn)入下一級(jí)流程可以從這些單箭頭中的任意一個(gè)開(kāi)始,此外,計(jì)算機(jī)終端提供的數(shù)據(jù)是為了方便低存貯容量的硬件存貯介質(zhì)設(shè)計(jì)的,比較常見(jiàn)的低存貯容量的數(shù)據(jù)存貯介質(zhì)是磁條,對(duì)于大容量的存貯介質(zhì),可以由硬件存貯介質(zhì)提供復(fù)雜數(shù)據(jù),直接進(jìn)入下一步加密流程,也可以和計(jì)算機(jī)終端提供的數(shù)據(jù)合并后進(jìn)入下一步,見(jiàn)曲線箭頭部分,在加密流程圖中,是輸入密碼和硬件數(shù)據(jù)進(jìn)行加密,在實(shí)際設(shè)計(jì)中,也可以是硬件存貯的幾種數(shù)據(jù)進(jìn)行加密,例如掃描刮開(kāi)的二維碼,條形碼或明文字符進(jìn)行加密,獲得多個(gè)密碼,其原理類似,加密流程圖見(jiàn)圖1。
[0011]
1:引進(jìn)計(jì)算機(jī)終端的數(shù)據(jù),硬件存貯介質(zhì)是磁條的或者硬件存貯介質(zhì)設(shè)計(jì)引進(jìn)計(jì)算機(jī)終端的數(shù)據(jù),則需要引進(jìn)數(shù)據(jù),磁條的數(shù)據(jù)分為幾組,而計(jì)算機(jī)終端的數(shù)據(jù)存貯在數(shù)據(jù)表中,從獲得的磁條數(shù)據(jù)匹配值和計(jì)算機(jī)終端數(shù)據(jù)的ID號(hào)進(jìn)行匹配,引進(jìn)的是ID號(hào)對(duì)應(yīng)的數(shù)據(jù),硬件存貯介質(zhì)設(shè)計(jì)引進(jìn)計(jì)算機(jī)終端的數(shù)據(jù)和此原理相同,例如磁條數(shù)據(jù)獲得兩組匹配值為6302,1958,則查找ID號(hào)6302,1958對(duì)應(yīng)的數(shù)據(jù)引進(jìn)即可。
[0012]2:獲取截取字符的起始位置值,在截取字符的函數(shù)中,需要三個(gè)元素,即待截取字符,截取的位數(shù)和截取的起始位置,以substring (express1n, start, length)函數(shù)為例,其中express1n表示待截取字符,length表示截取的位數(shù),start即表示截取的起始位置,這里的中間值一般是截取的起始位置值,將輸入密碼和硬件提供的數(shù)據(jù)進(jìn)行運(yùn)算,獲得新數(shù)據(jù),要注意,新數(shù)據(jù)必需是有效值,可以利用取余函數(shù)對(duì)運(yùn)算結(jié)果進(jìn)行限制,例如在銀行卡密碼加密中,可以將輸入密碼的6個(gè)數(shù)字進(jìn)行分拆,將6個(gè)數(shù)字和磁條中的6組數(shù)字相乘,將結(jié)果利用取余函數(shù)獲得合適的值,start據(jù)此獲取匹配值從而截取字符。
[0013]3:進(jìn)制轉(zhuǎn)換:進(jìn)制轉(zhuǎn)換采用進(jìn)制數(shù)大于原數(shù)據(jù)的進(jìn)制數(shù),這樣進(jìn)制表示字符多于原數(shù)據(jù)的進(jìn)制表示字符,在進(jìn)制轉(zhuǎn)換的過(guò)程中引進(jìn)該進(jìn)制的表示字符,當(dāng)進(jìn)制數(shù)超過(guò)10,0至IJ 9不能滿足計(jì)數(shù)要求,需要引進(jìn)別的字符,比較常見(jiàn)的是引進(jìn)英文字母,這樣,10進(jìn)制數(shù)據(jù)可以變成數(shù)字和字母混合的數(shù)據(jù),也可以將字母和數(shù)字混合的數(shù)據(jù)變成純數(shù)字?jǐn)?shù)據(jù),利用大于10的數(shù)制轉(zhuǎn)換10進(jìn)制數(shù)據(jù)時(shí),可以縮短字符長(zhǎng)度,將38位10進(jìn)制數(shù)據(jù)轉(zhuǎn)換成62進(jìn)制數(shù)據(jù)后,只有21位,示例是利用數(shù)字與大小寫(xiě)字母表示這種數(shù)制,它們指定利用阿拉伯?dāng)?shù)字O到9表示O到9,字母的小寫(xiě)a到z表示10到35,字母的大寫(xiě)A到Z表示36到61,亦可以有其他的指定方案,后面部分講述的數(shù)字或字母的本位碼,轉(zhuǎn)碼算法也遵循同樣的規(guī)律,進(jìn)制轉(zhuǎn)換表見(jiàn)圖2。
[0014]4:組合成一組,將幾組數(shù)據(jù)組合成一組,可以是簡(jiǎn)單組合,就是按字符先后順序形成一組長(zhǎng)數(shù)據(jù),也可以是后面提到的重排等方法進(jìn)行組合,一般就是簡(jiǎn)單組合。
[0015]5:截取字符,將第2部分獲得的數(shù)據(jù)作為截取字符的函數(shù)的起始位置值,截取第4部分的長(zhǎng)數(shù)據(jù),獲得幾組新數(shù)據(jù),例如銀行卡密碼是獲得6組新數(shù)據(jù),這6組新數(shù)據(jù)每組又分成2組。
[0016]6:字符轉(zhuǎn)碼:字符轉(zhuǎn)碼是利用字符轉(zhuǎn)碼算法實(shí)現(xiàn)的,用一個(gè)字符或一組字符獲得另一個(gè)字符或一組字符的轉(zhuǎn)換算法,示例是數(shù)字與字母的轉(zhuǎn)碼算法,轉(zhuǎn)碼算法遵循以下規(guī)律:
I:不同的源碼相同的算法轉(zhuǎn)換之后結(jié)果是不能相同的;
2:同一源碼的幾種算法的轉(zhuǎn)換結(jié)果互相也不能相同;
3:轉(zhuǎn)碼的結(jié)果也不能與源碼相同;
4:轉(zhuǎn)碼要設(shè)置幾種轉(zhuǎn)碼算法,以強(qiáng)化密碼的組合復(fù)雜性,
示例是設(shè)置四種,即ABCD算法,它是以數(shù)字和字母的本位碼為基礎(chǔ)條件進(jìn)行轉(zhuǎn)換的,數(shù)字O到9的本位碼分別是數(shù)字O到9,小寫(xiě)字母a到z的本位碼分別是數(shù)字10到35;大寫(xiě)字母A到Z的本位碼分別是數(shù)字36到61,
在ABCD算法中,其中A算法,B算法,C算法是以本位碼為基礎(chǔ)進(jìn)行的數(shù)學(xué)運(yùn)算,但是D算法經(jīng)過(guò)人工調(diào)整,沒(méi)有什么算法規(guī)律,
A算法:數(shù)字或字母的本位碼加該本位碼后的第2位奇數(shù)就是此數(shù)字或字母的A碼轉(zhuǎn)碼算法,結(jié)果> 62的,就減62,記載其本位碼對(duì)應(yīng)的數(shù)字或字母,轉(zhuǎn)碼記為A ;
B算法:數(shù)字或字母的本位碼加該本位碼后第13位奇數(shù)就是此數(shù)字或字母的B碼,轉(zhuǎn)碼算法,結(jié)果> 62的,就減62,記載其本位碼對(duì)應(yīng)的數(shù)字或字母,轉(zhuǎn)碼記為B ;
C算法:數(shù)字或字母的本位碼加30就是該數(shù)字或字母的C碼轉(zhuǎn)碼算法,結(jié)果> 62的,就減62,記載其本位碼對(duì)應(yīng)的數(shù)字或字母,轉(zhuǎn)碼記為C ;
D算法:D算法部分遵循數(shù)字或字母的本位碼加該本位碼后的第3個(gè)偶數(shù)就是該數(shù)字或字母的D碼轉(zhuǎn)碼算法,結(jié)果> 62的,就減62,為了防止數(shù)據(jù)相同性沖突,做了部分位置調(diào)整,記載其本位碼對(duì)應(yīng)的數(shù)字或字母,轉(zhuǎn)碼記為D,從它的設(shè)計(jì)原理可以知道,轉(zhuǎn)碼前后的每一個(gè)數(shù)字和字母都不會(huì)相同,這是一個(gè)最基本的設(shè)計(jì)要點(diǎn),調(diào)用時(shí),A算法,B算法,C算法都可以直接使用數(shù)據(jù)表調(diào)用,也可以使用數(shù)學(xué)運(yùn)算換算,但是,D算法經(jīng)過(guò)了人工調(diào)整,需要使用數(shù)據(jù)表調(diào)用,轉(zhuǎn)碼算法表見(jiàn)圖3
轉(zhuǎn)碼表:待轉(zhuǎn)碼的每個(gè)字符作為源碼,經(jīng)過(guò)一定的規(guī)則轉(zhuǎn)換成另外一個(gè)字符,確定轉(zhuǎn)碼方向的規(guī)則和轉(zhuǎn)碼引導(dǎo)值的對(duì)照表就是轉(zhuǎn)碼表,轉(zhuǎn)碼引導(dǎo)值就是ID號(hào),它的特征如下:
轉(zhuǎn)碼位數(shù)由需要轉(zhuǎn)碼的源碼位數(shù)確定; 轉(zhuǎn)碼的方向由轉(zhuǎn)碼算法確定,示例是ABCD算法,所以轉(zhuǎn)碼只能是A,B,C,D方向;
轉(zhuǎn)碼引導(dǎo)值的位數(shù)最大值由源碼位數(shù)和轉(zhuǎn)碼算法確定,具體是轉(zhuǎn)碼算法的源碼位數(shù)的次方,轉(zhuǎn)碼算法為N種,源碼位數(shù)為M,則轉(zhuǎn)碼引導(dǎo)值的位數(shù)為N的M次方;
轉(zhuǎn)碼引導(dǎo)值由源碼獲取,將源碼轉(zhuǎn)換成10進(jìn)制數(shù)據(jù),將10進(jìn)制數(shù)據(jù)除以轉(zhuǎn)碼引導(dǎo)值的位數(shù),利用余數(shù)獲得匹配值,就查找該匹配值對(duì)應(yīng)的ID號(hào)對(duì)應(yīng)的數(shù)據(jù)進(jìn)行轉(zhuǎn)碼,轉(zhuǎn)碼表見(jiàn)圖4。
[0017]轉(zhuǎn)碼流程說(shuō)明:轉(zhuǎn)碼是將源碼轉(zhuǎn)換成別的字符的加密過(guò)程,轉(zhuǎn)碼先由通過(guò)計(jì)算獲得的數(shù)據(jù)表連接路徑變量連接對(duì)應(yīng)的轉(zhuǎn)碼表,再通過(guò)ID匹配值連接該ID號(hào)對(duì)應(yīng)的轉(zhuǎn)碼規(guī)則值,確定轉(zhuǎn)碼方向,查找轉(zhuǎn)碼算法表中轉(zhuǎn)碼方向值和源碼字符對(duì)應(yīng)的矩陣數(shù)據(jù),完成轉(zhuǎn)碼,轉(zhuǎn)碼是一個(gè)字符進(jìn)行的,也可以是將第5部分獲得的數(shù)據(jù)兩兩進(jìn)行轉(zhuǎn)碼,是其中一組數(shù)據(jù)經(jīng)過(guò)運(yùn)算獲得另一組數(shù)據(jù)需要的轉(zhuǎn)碼表的數(shù)據(jù)表連接路徑變量值和數(shù)據(jù)表的數(shù)據(jù)ID號(hào),反之亦然,轉(zhuǎn)碼最好進(jìn)行多次以強(qiáng)化反破解能力,轉(zhuǎn)碼流程示意圖表見(jiàn)圖5,
7:字符組合:字符組合和第4部分的原理相同。
[0018]8:替代部分字符,替代部分字符是將字符中的部分字符用別的字符替代的一種加密技術(shù),字符替代有以下技術(shù)要點(diǎn),字符替代碼表所有的表采用的所有字符類型都是相同的,不同的表只是字符與編號(hào)不同,取代后的字符與沒(méi)有替代的字符有相同的字符類型,被替換的字符是同一類型的字符,比方說(shuō)要替換數(shù)字,那么就替換全部的數(shù)字,被替換的字符應(yīng)一次替換幾個(gè),而插入字符的位置,利用邏輯語(yǔ)句進(jìn)行判斷,這會(huì)加大破解難度,替代的字符數(shù)不一定是相同的,替代要利于編程設(shè)計(jì)和實(shí)際需要,應(yīng)從替代后的字節(jié)數(shù)和反破解獲得最佳方案,只所以限制所有的字符替代碼表所有的字符都是相同的,取代后的字符與沒(méi)有替代的字符有相同的字符類型都是防止破解,所有的表的數(shù)據(jù)相同,破解就難以知道替代的是哪一張數(shù)據(jù)表,而取代后的字符與沒(méi)有替代的字符有相同的字符類型也是防止破解,因?yàn)樽址愋拖嗤?,就難以區(qū)分替代字符和原有字符,這里的字符類型是語(yǔ)種符號(hào)類型,比方英文大小寫(xiě)字母和阿拉伯?dāng)?shù)字就是不同的語(yǔ)種字符,與計(jì)算機(jī)表述的數(shù)據(jù)字符類型不是一個(gè)概念,
示例是用英文大小寫(xiě)字母替換數(shù)字字符,計(jì)算機(jī)終端具有替代字符表,將字符中的所有數(shù)字字符提取出來(lái),按和字符替代碼表ID號(hào)最高位數(shù)相同的位數(shù)進(jìn)行截取,示例字符替代表是三位,所以三位一組進(jìn)行,查找ID號(hào)對(duì)應(yīng)的字符進(jìn)行替換,而插入位置是原數(shù)字中的位置,具體位置利用編程確定,將數(shù)字除以3,利用余數(shù)的匹配值,這里要注意是匹配值不是余數(shù)值,例如余數(shù)加I匹配,所以余數(shù)是O便插入替代前原數(shù)字中第一位數(shù)字的位置,其他同理,最后一組數(shù)字只有2個(gè)或I個(gè)時(shí),2個(gè)的除以2求余數(shù),I個(gè)則插入原數(shù)字位置,插入后將空格清空例如2nbfDG89ACFEab8th,將數(shù)字提取出來(lái)是289和8,查找這2兩個(gè)ID號(hào)對(duì)應(yīng)的替代字符,為Ag和Bk,289除以3,余數(shù)是1,插入8的位置,因此是nbfDGAgACFEabBkth,由于替代的字符位數(shù)不等,所以最終密碼的位數(shù)是不確定的,替代字符表見(jiàn)圖6。
[0019]
9:重排字符位置,重排字符位置由排列控制表完成,經(jīng)過(guò)轉(zhuǎn)碼加密后的密碼的排列次序是與原始密碼的排列次序是一致的,合成過(guò)程中改變密碼排列次序的表就是密碼排列控制表,利用字符分割函數(shù)或字符排列函數(shù)將密碼分成幾部分后進(jìn)行重排,重排是將所有的密碼數(shù)據(jù)形成一個(gè)長(zhǎng)數(shù)據(jù),利用分割或排列函數(shù)分割成幾組數(shù)據(jù),再將這幾組數(shù)據(jù)的順序重新排序,為了強(qiáng)化反破解效果,分割的組數(shù)和重排前的組數(shù)不一致,這樣,不光是順序發(fā)生了改變,字符也被打亂次序。
[0020]10:同類數(shù)據(jù)表,同類數(shù)據(jù)表就是字段結(jié)構(gòu),數(shù)據(jù)類型,字段名稱和記錄條數(shù)都相同,而數(shù)據(jù)表名稱由公共名稱部分和數(shù)據(jù)表連接路徑變量部分組成的多個(gè)數(shù)據(jù)表,編程時(shí)通過(guò)數(shù)據(jù)表連接路徑變量的匹配值連接到對(duì)應(yīng)的數(shù)據(jù)表,需要注意的是,由于數(shù)據(jù)表連接路徑變量是通過(guò)其他數(shù)據(jù)經(jīng)過(guò)編程處理獲得,簡(jiǎn)便方法是利用取余函數(shù)獲得匹配值,為了防止出現(xiàn)空連接,同類數(shù)據(jù)表名稱中連接路徑變量部分必須是連續(xù)整數(shù),可以從O開(kāi)始,
【附圖說(shuō)明】:圖1是加密流程示意圖;圖2是10進(jìn)制和62進(jìn)制進(jìn)制轉(zhuǎn)換對(duì)照表;圖3是轉(zhuǎn)碼算法表;圖4是轉(zhuǎn)碼表;圖5是轉(zhuǎn)碼流程示意圖;圖6是替代字符表。
【主權(quán)項(xiàng)】
1.一種需要使用硬件數(shù)據(jù)的密碼,其特征是:這種密碼是在計(jì)算機(jī)終端合成的,終端合成密碼是基于輕便式硬件提供部分?jǐn)?shù)據(jù)的密碼算法,至少需要三方提供密碼合成的數(shù)據(jù),這些數(shù)據(jù)的特點(diǎn)是人員輸入的數(shù)據(jù)可以比較簡(jiǎn)單,而硬件是利于攜帶的數(shù)據(jù)存貯介質(zhì),其數(shù)據(jù)可以被計(jì)算機(jī)終端讀取,存貯的數(shù)據(jù)相對(duì)復(fù)雜一些,終端計(jì)算機(jī)提供復(fù)雜的數(shù)據(jù)并完成密碼合成,終端計(jì)算機(jī)提供的數(shù)據(jù)分為合成數(shù)據(jù)和同類數(shù)據(jù)表,通過(guò)這些同類數(shù)據(jù)表為中間數(shù)據(jù)完成加密過(guò)程,服務(wù)器存貯的是通過(guò)合成后的數(shù)據(jù),在密碼更改方面,通過(guò)更改硬件存貯介質(zhì)中的可讀寫(xiě)數(shù)據(jù)完成或者設(shè)計(jì)程序在密碼驗(yàn)證完成后硬件存貯介質(zhì)中的可讀寫(xiě)數(shù)據(jù)自動(dòng)完成更改,然后將新密碼發(fā)送到服務(wù)器,這樣形成動(dòng)態(tài)密碼,這些利于攜帶的硬件數(shù)據(jù)存貯介質(zhì)是磁條,IC卡,記憶棒,射頻卡,手機(jī)內(nèi)存卡,輕便式數(shù)碼產(chǎn)品的自帶數(shù)據(jù)存貯卡或外接式存貯卡,光盤(pán),U盤(pán),硬盤(pán)以及通過(guò)印刷,噴涂,壓制,打印方法獲得的數(shù)據(jù),通過(guò)印刷,噴涂,打印方法獲得的條形碼,二維碼和明文數(shù)據(jù),在抵達(dá)消費(fèi)者之前手中最好利用油漆或涂料這些物理方法進(jìn)行遮蓋。2.依據(jù)權(quán)利要求1所述的密碼,所述的同類數(shù)據(jù)表其特征是:同類數(shù)據(jù)表就是字段結(jié)構(gòu),數(shù)據(jù)類型,字段名稱和記錄條數(shù)都相同,而數(shù)據(jù)表名稱由公共名稱部分和數(shù)據(jù)表連接路徑變量部分組成的多個(gè)數(shù)據(jù)表,編程時(shí)通過(guò)數(shù)據(jù)表連接路徑變量的匹配值連接到對(duì)應(yīng)的數(shù)據(jù)表,需要注意的是,由于數(shù)據(jù)表連接路徑變量是通過(guò)其他數(shù)據(jù)經(jīng)過(guò)取余函數(shù)處理獲得,同類數(shù)據(jù)表名稱中連接路徑變量部分必須是連續(xù)整數(shù),可以從O開(kāi)始。3.依據(jù)權(quán)利要求1所述的密碼,所述的合成過(guò)程其特征是,見(jiàn)說(shuō)明書(shū)附圖1,直線表示幾部分?jǐn)?shù)據(jù)組合,單箭頭表示流程方向,雙箭頭表示流程的先后順序可以更換,同一級(jí)流程并列的幾個(gè)單箭頭表示進(jìn)入下一級(jí)流程可以從這些單箭頭中的任意一個(gè)開(kāi)始,此外,計(jì)算機(jī)終端提供的數(shù)據(jù)是為了方便低存貯容量的硬件存貯介質(zhì)設(shè)計(jì)的,比較常見(jiàn)的低存貯容量的數(shù)據(jù)存貯介質(zhì)是磁條,對(duì)于大容量的存貯介質(zhì),可以由硬件存貯介質(zhì)提供復(fù)雜數(shù)據(jù),直接進(jìn)入下一步加密流程,也可以和計(jì)算機(jī)終端提供的數(shù)據(jù)合并后進(jìn)入下一步,見(jiàn)曲線箭頭部分,在加密流程圖中,是輸入密碼和硬件數(shù)據(jù)進(jìn)行加密,在實(shí)際設(shè)計(jì)中,也可以是硬件存貯的幾種數(shù)據(jù)進(jìn)行加密,例如掃描刮開(kāi)的二維碼,條形碼或明文字符進(jìn)行加密,獲得多個(gè)密碼,其原理類似。4.依據(jù)權(quán)利要求3所述的密碼的合成過(guò)程,所述的轉(zhuǎn)碼其特征是,字符轉(zhuǎn)碼是利用字符轉(zhuǎn)碼算法實(shí)現(xiàn)的,用一個(gè)字符或一組字符獲得另一個(gè)字符或另一組字符的轉(zhuǎn)換算法,轉(zhuǎn)碼先由通過(guò)計(jì)算獲得的數(shù)據(jù)表連接路徑變量連接對(duì)應(yīng)的轉(zhuǎn)碼表,再通過(guò)ID匹配值連接該ID號(hào)對(duì)應(yīng)的轉(zhuǎn)碼規(guī)則值,確定轉(zhuǎn)碼方向,查找轉(zhuǎn)碼算法表中轉(zhuǎn)碼方向值和源碼字符對(duì)應(yīng)的矩陣數(shù)據(jù),完成轉(zhuǎn)碼,轉(zhuǎn)碼是一個(gè)一個(gè)字符進(jìn)行的,轉(zhuǎn)碼由獲得的源碼數(shù)據(jù)進(jìn)行轉(zhuǎn)碼,是將數(shù)據(jù)經(jīng)過(guò)運(yùn)算獲得數(shù)據(jù)表連接路徑變量值和數(shù)據(jù)表的數(shù)據(jù)ID號(hào),轉(zhuǎn)碼最好進(jìn)行多次以強(qiáng)化反破解能力,轉(zhuǎn)碼流程示意圖表例圖見(jiàn)圖5, 其中的轉(zhuǎn)碼算法遵循以下規(guī)律: I:不同的源碼相同的算法轉(zhuǎn)換之后結(jié)果是不能相同的; 2:同一源碼的幾種算法的轉(zhuǎn)換結(jié)果互相也不能相同; 3:轉(zhuǎn)碼的結(jié)果不能與源碼相同; 4:轉(zhuǎn)碼要設(shè)置幾種轉(zhuǎn)碼算法,以強(qiáng)化密碼的組合復(fù)雜性, 轉(zhuǎn)碼轉(zhuǎn)換前后的每一個(gè)數(shù)字和字母都不會(huì)相同,這是一個(gè)最基本的設(shè)計(jì)要點(diǎn),轉(zhuǎn)碼算法表例圖見(jiàn)圖3, 其中的轉(zhuǎn)碼表是待轉(zhuǎn)碼的每個(gè)字符作為源碼,經(jīng)過(guò)一定的規(guī)則轉(zhuǎn)換成另外一個(gè)字符,確定轉(zhuǎn)碼方向的規(guī)則和轉(zhuǎn)碼引導(dǎo)值的對(duì)照表就是轉(zhuǎn)碼表,轉(zhuǎn)碼引導(dǎo)值就是ID號(hào),它的特征如下:轉(zhuǎn)碼位數(shù)由需要轉(zhuǎn)碼的源碼位數(shù)確定,轉(zhuǎn)碼的方向由轉(zhuǎn)碼算法確定,轉(zhuǎn)碼引導(dǎo)值的位數(shù)最大值由源碼位數(shù)和轉(zhuǎn)碼算法確定,具體是轉(zhuǎn)碼算法的源碼位數(shù)的次方,轉(zhuǎn)碼算法為N種,源碼位數(shù)為M,則轉(zhuǎn)碼引導(dǎo)值的位數(shù)為N的M次方, 轉(zhuǎn)碼引導(dǎo)值由源碼獲取,將源碼轉(zhuǎn)換成10進(jìn)制數(shù)據(jù),將10進(jìn)制數(shù)據(jù)除以轉(zhuǎn)碼引導(dǎo)值的位數(shù),利用余數(shù)獲得匹配值,就查找該匹配值對(duì)應(yīng)的ID號(hào)對(duì)應(yīng)的數(shù)據(jù)進(jìn)行轉(zhuǎn)碼,轉(zhuǎn)碼表例圖見(jiàn)圖4。5.依據(jù)權(quán)利要求3所述的密碼的合成過(guò)程,所述的替代部分字符其特征是,替代部分字符是將字符中的部分字符用別的字符替代的一種加密技術(shù),字符替代有以下技術(shù)要點(diǎn),字符替代碼表所有的表采用的所有字符類型都是相同的,不同的表只是字符與編號(hào)不同,取代后的字符與沒(méi)有替代的字符有相同的字符類型,被替換的字符是同一類型的字符,被替換的字符應(yīng)一次替換幾個(gè),而插入字符的位置,利用邏輯語(yǔ)句進(jìn)行判斷,替代的字符數(shù)不一定是相同的,這里的字符類型是語(yǔ)種符號(hào)類型,比方英文大小寫(xiě)字母和阿拉伯?dāng)?shù)字就是不同的語(yǔ)種字符,與計(jì)算機(jī)表述的數(shù)據(jù)字符類型不是一個(gè)概念,替代字符表例圖見(jiàn)圖6。6.依據(jù)權(quán)利要求3所述的密碼的合成過(guò)程,所述的重排字符位置其特征是,重排字符位置由排列控制表完成,合成過(guò)程中改變密碼排列次序的表就是密碼排列控制表,利用字符截取函數(shù)或字符排列函數(shù)將密碼分成幾部分后進(jìn)行重排,重排是將所有的密碼數(shù)據(jù)形成一個(gè)長(zhǎng)數(shù)據(jù),再分割成幾組數(shù)據(jù),再將這幾組數(shù)據(jù)的順序重新排序,為了強(qiáng)化反破解效果,分割的組數(shù)和重排前的組數(shù)不一致。7.依據(jù)權(quán)利要求3所述的密碼的合成過(guò)程,所述的進(jìn)制轉(zhuǎn)換其特征是,進(jìn)制轉(zhuǎn)換采用進(jìn)制數(shù)大于原數(shù)據(jù)的進(jìn)制數(shù),這樣進(jìn)制表示字符多于原數(shù)據(jù)的進(jìn)制表示字符,,在進(jìn)制轉(zhuǎn)換的過(guò)程中引進(jìn)該進(jìn)制的表示字符,并減少數(shù)據(jù)長(zhǎng)度,較優(yōu)方案是采用英文大小寫(xiě)字母和阿拉伯?dāng)?shù)字混合表示的62進(jìn)制和10進(jìn)制進(jìn)行轉(zhuǎn)換,62進(jìn)制例圖見(jiàn)圖2。8.依據(jù)權(quán)利要求3所述的密碼的合成過(guò)程,所述的截取字符其特征是,截取字符需要三個(gè)元素組成,待截取字符,截取的字符長(zhǎng)度和截取的起始位置,截取的起始位置值由輸入的密碼和硬件提供的數(shù)據(jù)獲得,較優(yōu)方案是利用取余函數(shù)獲得截取的起始位置值的匹配值。9.依據(jù)權(quán)利要求3所述的密碼的合成過(guò)程,所述的字符組合其特征是,字符組合就是將所有的字符組合成一個(gè)長(zhǎng)數(shù)據(jù),為下一步的截取字符或分割字符成幾組之用。
【文檔編號(hào)】G06F21/77GK105989309SQ201510085727
【公開(kāi)日】2016年10月5日
【申請(qǐng)日】2015年2月17日
【發(fā)明人】汪風(fēng)珍
【申請(qǐng)人】汪風(fēng)珍