專利名稱:一種數(shù)字簽名方法及數(shù)字簽名工具的制作方法
技術(shù)領(lǐng)域:
本發(fā)明涉及數(shù)字簽名技術(shù),具體涉及一種數(shù)字簽名方法,本發(fā)明還涉及采用該方法的數(shù)字簽名工具。
背景技術(shù):
隨著科技的不斷進(jìn)步,隨著計(jì)算機(jī)及互聯(lián)網(wǎng)的為斷普及,越來越多的手寫文件被數(shù)字文件所取代,那么如何確定一個(gè)數(shù)字文件的身份、合法來源,文件的作者,文件最后的簽名時(shí)間呢?如何保證數(shù)字文件一經(jīng)被簽名后,就具有唯一性呢?如何確保對(duì)已被簽名的數(shù)字文件作所作的任何修改都是可知的呢?這就迫切需要一種工具及方法,去實(shí)現(xiàn)以上功能。同時(shí),我們還要使得被簽證后的數(shù)字文件能被任何擁有合法權(quán)限的人能清楚地知道該簽名文件的內(nèi)容、身份、來源、作者、文件最后的簽名時(shí)間。這里的一個(gè)關(guān)鍵是文件的最后簽名時(shí)間和作者的身份,文件的最后簽名時(shí)間及作者的身份能夠保證每一個(gè)被簽名的文件都是唯一的。
發(fā)明內(nèi)容
本發(fā)明的一個(gè)主要目的在于,提供一種數(shù)字簽名方法,采用本方法可使得一、被簽名的數(shù)字文件能被任何擁有合法權(quán)限的人清楚地知道該簽名文件的內(nèi)容、身份、來源、作者、文件最后的簽名時(shí)間。
二、任何被簽名的數(shù)字文件都具有唯一性,即沒有一個(gè)被簽名后的文件是相同的。
三、對(duì)被簽名的數(shù)字文件所作的任何修改都是可知的。
本發(fā)明的另一個(gè)目的是提供一種采用上述簽名方法的數(shù)字簽名工具,采用該工具,可以實(shí)現(xiàn)上述數(shù)字簽名方法的功能。
本發(fā)明提供的數(shù)字簽名方法如下簽名步驟生成簽名文件軟件將要簽名的文件分成多個(gè)數(shù)據(jù)分組,然后將這些數(shù)據(jù)分組分批送入到簽名硬件中,然后發(fā)出加密指令。硬件內(nèi)部首先將輸入的數(shù)據(jù)與硬件ID及當(dāng)前時(shí)間按照一定的規(guī)則混合,然后使用硬件內(nèi)部的兩條私有密匙分別對(duì)混合后的數(shù)據(jù)進(jìn)行加密,然后分別輸出給軟件,軟件接收這兩組加密數(shù)據(jù)后,將這些數(shù)據(jù)再重新組織成一個(gè)新的簽名文件。該簽名文件包含兩部分,一部分為由私有密匙一對(duì)原文加密的密文,另一部分為由私有密匙二對(duì)原文加密的密文。這樣,這個(gè)新生成的簽名文件就在原文的基礎(chǔ)上具有基于硬件身份及時(shí)間的唯一性,同時(shí)還具有加密特性。
驗(yàn)證簽名步驟一、使用自身密匙進(jìn)行驗(yàn)證軟件將要簽名的文件的由私有密匙一加密的部分送入到硬件中,然后發(fā)出解密指令,要求硬件使用自身的私有密匙一對(duì)其進(jìn)行解密。硬件內(nèi)部就會(huì)使用私有密匙一將送入的數(shù)據(jù)進(jìn)行解密,然后將解密后的數(shù)據(jù)返回給軟件。接著,軟件將要簽名的文件的由私有密匙二加密的部分送入到硬件中,然后發(fā)出解密指令,要求硬件使用自身的私有密匙二對(duì)其進(jìn)行解密。硬件內(nèi)部就會(huì)使用私有密匙二將送入的數(shù)據(jù)進(jìn)行解密,然后將解密后的數(shù)據(jù)返回給軟件。
軟件將前后兩次解密的結(jié)果進(jìn)行比較,如果不相同,表示文件已被修改,這時(shí)可以提示錯(cuò)誤,將不同的地方顯示出來。如果相同,表示簽名后的文件未被修改,由于解密后還原的數(shù)據(jù)中包含有硬件的ID及簽名時(shí)的時(shí)間以及原有的原文內(nèi)容,這時(shí)軟件就可以將這些數(shù)據(jù)分離出來,生成該簽名文件的原文副本,同時(shí)顯示簽名者身份及簽名時(shí)的時(shí)間。
二、使用由簽名硬件輸出的加密密匙在任何一個(gè)簽名工具上進(jìn)行驗(yàn)證(不包括自身)在進(jìn)行驗(yàn)證簽名文件時(shí),生成簽名文件的簽名工具必須在生成簽名文件后輸出其加密的私有密匙(使用公有密匙對(duì)硬件內(nèi)的兩條私有密匙進(jìn)行加密,然后輸出)。
軟件首先獲取該簽名文件的簽名工具(簡(jiǎn)稱原簽名工具)的加密后的私有密匙,然后將加密后的私有密匙送入要驗(yàn)證的簽名工具(簡(jiǎn)單稱驗(yàn)證工具),由驗(yàn)證工具使用公有密匙對(duì)輸入的加密密匙解密,生成原簽名工具的兩條私有密匙,這樣,驗(yàn)證工具就可以使用原簽名工具的私有密匙對(duì)由原簽名工具進(jìn)行簽名的文件進(jìn)行驗(yàn)證了,驗(yàn)證方法同上,這里不再累述。
三、使用由簽名硬件輸出的由隨機(jī)數(shù)加密的密匙在指定的簽名工具上進(jìn)行驗(yàn)證這種驗(yàn)證方法與上一驗(yàn)證方法的最大不同在于,沒有授權(quán)的簽名工具無(wú)法對(duì)其進(jìn)行驗(yàn)證,這樣就增加了簽名的文件的安全性,就不會(huì)因由于輸出的加密密匙被竊取而導(dǎo)致簽名文件被未被授權(quán)的人查看。
1、被授權(quán)的簽名工具(簡(jiǎn)稱被授權(quán)工具)首先要生成一個(gè)隨機(jī)數(shù),然后將該隨機(jī)數(shù)與自身ID按一定的規(guī)則混合,然后使用公有密匙對(duì)其進(jìn)行加密,然后將加密后的數(shù)據(jù)輸出。
2、軟件將輸出的加密后的數(shù)據(jù)送入到原簽名工具,原簽名工具使用公有密匙對(duì)該數(shù)據(jù)進(jìn)行解密,還原成隨機(jī)數(shù)及被授權(quán)工具ID,然后使用隨機(jī)數(shù)對(duì)原簽名工具內(nèi)的私有密匙進(jìn)行加密,然后將加密后的私有密匙及被授權(quán)工具ID輸出,軟件獲得加密后的私有密匙的同時(shí),將被授權(quán)工具ID顯示給用戶,以驗(yàn)證其身份。
3、軟件將由隨機(jī)數(shù)加密后的加密密匙送入被授權(quán)工具,被授權(quán)工具使用其生成的隨機(jī)數(shù)對(duì)加密密匙進(jìn)行解密,生成原簽名工具的兩條私有密匙,這樣,驗(yàn)證工具就可以使用原簽名工具的私有密匙對(duì)由原簽名工具進(jìn)行簽名的文件進(jìn)行驗(yàn)證了,驗(yàn)證方法同上。
提供一種采用上述數(shù)字簽名方法的數(shù)字簽名工具,包括工具盒體、設(shè)置在盒體中的單片機(jī),在盒體中還設(shè)有與所述單片機(jī)交換信息的如下單元硬件加密算法單元及解密算法單元、唯一的ID號(hào)發(fā)生單元、至少一條公有密匙單元、至少兩條私有密匙、隨機(jī)數(shù)發(fā)生器單元、隨機(jī)數(shù)儲(chǔ)存區(qū)單元、時(shí)鐘計(jì)數(shù)器單元,在盒體上還設(shè)有用于與外圍設(shè)備進(jìn)行通訊的外圍接口和長(zhǎng)期供電裝置。
本發(fā)明提供的簽名工具具有如下優(yōu)點(diǎn)一、具有不可復(fù)制性,即硬件無(wú)法被完整地復(fù)制(除發(fā)行機(jī)構(gòu)),這樣就在硬件層面上保證了硬件的唯一性。
二、硬件是一個(gè)黑盒子,可以由類似智能卡或單片機(jī)的器件組成,。
三、硬件可以內(nèi)置硬件加密及解密算法,亦可以使用軟件加密及解密算法。
四、硬件內(nèi)有一唯一ID號(hào),該ID號(hào)作為該硬件的身份證明。
五、硬件內(nèi)有一條或多條公有密匙。
六、硬件內(nèi)有兩條或多條私有密匙七、硬件有一外圍接口可以與外圍設(shè)備進(jìn)行通訊。
八、硬件有一長(zhǎng)期供電系統(tǒng)(例如電池供電)及備用供電系統(tǒng),并可以有一電量指示裝置。
九、硬件內(nèi)的時(shí)鐘不可以被修改或設(shè)置(除發(fā)行機(jī)構(gòu)外),且該時(shí)鐘在出廠時(shí)就已被發(fā)行機(jī)構(gòu)設(shè)置成與國(guó)際時(shí)間同步。
十、硬件一經(jīng)掉電,將立即失效,即無(wú)法對(duì)其進(jìn)行任何操作,即使其被重新上電,亦無(wú)法對(duì)其進(jìn)行操作,從而保證了硬件時(shí)鐘的不可被非法修改。
十一、硬件內(nèi)部有一隨機(jī)數(shù)發(fā)生器,用于生成隨機(jī)數(shù)。
十二、硬件內(nèi)部有一隨機(jī)數(shù)儲(chǔ)存區(qū),用于儲(chǔ)存最近一些生成的隨機(jī)數(shù)。硬件內(nèi)部系統(tǒng)還具有如下功能當(dāng)外部發(fā)出加密數(shù)據(jù)指令時(shí),首先將當(dāng)前硬件時(shí)鐘及硬件ID與輸入的要加密的數(shù)據(jù)按照一定的規(guī)則混合后生成一組新的要加密的數(shù)據(jù),然后使用硬件內(nèi)置的私有密匙一及私有密匙二分別對(duì)該新生成的混合數(shù)據(jù)進(jìn)行加密,生成兩份不同的加密后的數(shù)據(jù),再輸出給外圍設(shè)備。舉例如下假設(shè)加密數(shù)據(jù)分組為128位,假設(shè)要加密的數(shù)據(jù)為0x01,0x02,0x03,0x04,0x05,0x06,0x07,0x08,硬件內(nèi)部系統(tǒng)首先將系統(tǒng)時(shí)鐘(相對(duì)于某一固定時(shí)間經(jīng)過的毫秒數(shù))假設(shè)為0x45,0x67,0x89,0x10,硬件內(nèi)部唯一ID假設(shè)為0x01,0x02,0x03,0x04,組成一個(gè)128位的分組,然后分別用私有密匙一pkey1及私有密匙二pkey2對(duì)該分組數(shù)據(jù)進(jìn)行加密,生成兩組加密后的數(shù)據(jù),這樣這兩組加密后的數(shù)據(jù)在被分別正確解密后,都包括有硬件ID及簽證時(shí)的時(shí)間。
一、當(dāng)外部發(fā)出加密pkey1及pkey2密匙命令時(shí),硬件內(nèi)部系統(tǒng)使用公有密匙ckey1分別對(duì)pkey1,pkey2進(jìn)行加密然后輸出到外圍系統(tǒng)。
二、當(dāng)外部發(fā)出命令要求硬件輸出隨機(jī)數(shù)時(shí),硬件內(nèi)部系統(tǒng)使用公有密匙ckey1對(duì)產(chǎn)生的隨機(jī)數(shù)進(jìn)行加密后并輸出。
三、當(dāng)外部發(fā)出使用隨機(jī)數(shù)據(jù)加密pkey1及pkey2密匙命令時(shí),硬件內(nèi)部系統(tǒng)使用公用密匙ckey1分別對(duì)pkey1,pkey2進(jìn)行加密,生成一組加密數(shù)據(jù),再使用輸入的隨機(jī)數(shù)據(jù)對(duì)剛才生成的加密數(shù)再進(jìn)行加密,然后輸出到外圍系統(tǒng)。
四、當(dāng)外部發(fā)出要求使用自身密匙解密數(shù)據(jù)時(shí),硬件系統(tǒng)分別使用私有密匙一pkey1及私有密匙二pkey2對(duì)該輸入的兩組分組數(shù)據(jù)進(jìn)行解密,然后將解密后的兩組數(shù)據(jù)進(jìn)行比較并輸出。
五、當(dāng)外部發(fā)出要求使用輸入的加密密匙解密數(shù)據(jù)時(shí),硬件內(nèi)部系統(tǒng)先使用公用密匙對(duì)輸入的加密的私有密匙一及私有密匙二進(jìn)行解密,然后使用該兩條私有密匙對(duì)輸入的兩組分組加密數(shù)據(jù)進(jìn)行解密,然后將解密后的兩組數(shù)據(jù)進(jìn)行比較并輸出。
六、當(dāng)外部發(fā)出要求使用硬件中的隨機(jī)數(shù)據(jù)及輸入的加密密匙解密數(shù)據(jù)時(shí),硬件內(nèi)部系統(tǒng)先使用硬件中的公用密匙對(duì)輸入的加密后的隨機(jī)密匙進(jìn)行解密,然后使用該隨機(jī)數(shù)據(jù)對(duì)輸入的加密密匙進(jìn)行解密,然后再使用公用密匙對(duì)輸入的加密的私有密匙一及私有密匙二進(jìn)行解密,然后使用該兩條私有密匙對(duì)輸入的兩組分組加密數(shù)據(jù)進(jìn)行解密,然后將解密后的兩組數(shù)據(jù)進(jìn)行比較并輸出。
七、當(dāng)外部要求硬件輸出自身ID時(shí),硬件內(nèi)部系統(tǒng)將自身的ID輸出到外圍系統(tǒng)。
九、為了防止遺失或被盜簽名工具而被別人濫用簽名,可以在使用簽名工具時(shí),硬件要求輸入密碼進(jìn)行驗(yàn)證或其它驗(yàn)證才工作。
除了硬件之外,還有一軟件用于對(duì)硬件進(jìn)行操縱。該軟件必須實(shí)現(xiàn)如下功能1、發(fā)出命令要求硬件對(duì)輸入的數(shù)據(jù)進(jìn)行加密,然后對(duì)輸出的兩組數(shù)據(jù)進(jìn)行處理。
2、發(fā)出命令要求硬件對(duì)硬件內(nèi)的私有密匙進(jìn)行加密,然后對(duì)輸出的數(shù)據(jù)進(jìn)行處理。
3、發(fā)出命令要求硬件輸出加密后的隨機(jī)密匙。
4、發(fā)出命令要求硬件使用隨機(jī)數(shù)據(jù)加密pkey1及pkey2密匙,然后對(duì)輸出的數(shù)據(jù)進(jìn)行處理。
5、發(fā)出命令要求硬件使用自身密匙解密數(shù)據(jù),然后將輸出的兩組數(shù)據(jù)進(jìn)行處理。
6、發(fā)出命令要求使用輸入的加密密匙解密數(shù)據(jù),然后將輸出的兩組數(shù)據(jù)進(jìn)行處理。
7、發(fā)出命令要求使用硬件中的隨機(jī)數(shù)據(jù)及輸入的加密密匙解密數(shù)據(jù),然后將輸出的兩組數(shù)據(jù)進(jìn)行處理。
8、讀出硬件內(nèi)部唯一ID。
圖1是本發(fā)明數(shù)字簽名工具的組成方框圖;圖2是數(shù)字簽名工具的電路原理圖;圖3本發(fā)明數(shù)字簽名方法的工作流程方框圖。
具體實(shí)施例方式
數(shù)字簽名工具的結(jié)構(gòu)如圖1、圖2所示,在工具盒體中設(shè)有單片機(jī),在盒體中還設(shè)有與單片機(jī)交換信息的如下單元硬件加密算法單元及解密算法單元、唯一的ID號(hào)發(fā)生單元、一條或多條公有密匙單元、兩條或多條私有密匙、隨機(jī)數(shù)發(fā)生器單元、隨機(jī)數(shù)儲(chǔ)存區(qū)單元、時(shí)鐘計(jì)數(shù)器單元,在盒體上還設(shè)有用于與外圍設(shè)備進(jìn)行通訊的外圍接口和長(zhǎng)期供電裝置。
下面結(jié)合圖3進(jìn)一步說明本發(fā)明數(shù)字簽名方法的工作原理簽名流程生成簽名文件軟件將要簽名的文件分成多個(gè)數(shù)據(jù)分組,然后將這些數(shù)據(jù)分組分批送入到簽名硬件中,然后發(fā)出加密指令。硬件內(nèi)部首先將輸入的數(shù)據(jù)與硬件ID及當(dāng)前時(shí)間按照一定的規(guī)則混合,然后使用硬件內(nèi)部的兩條私有密匙分別對(duì)混合后的數(shù)據(jù)進(jìn)行加密,然后分別輸出給軟件,軟件接收這兩組加密數(shù)據(jù)后,將這些數(shù)據(jù)再重新組織成一個(gè)新的簽名文件。該簽名文件包含兩部分,一部分為由私有密匙一對(duì)原文加密的密文,另一部分為由私有密匙二對(duì)原文加密的密文。這樣,這個(gè)新生成的簽名文件就在原文的基礎(chǔ)上具有基于硬件身份及時(shí)間的唯一性,同時(shí)還具有加密特性。
驗(yàn)證簽名流程使用自身密匙進(jìn)行驗(yàn)證軟件將要簽名的文件的由私有密匙一加密的部分送入到硬件中,然后發(fā)出解密指令,要求硬件使用自身的私有密匙一對(duì)其進(jìn)行解密。硬件內(nèi)部就會(huì)使用私有密匙一將送入的數(shù)據(jù)進(jìn)行解密,然后將解密后的數(shù)據(jù)返回給軟件。
接著,軟件將要簽名的文件的由私有密匙二加密的部分送入到硬件中,然后發(fā)出解密指令,要求硬件使用自身的私有密匙二對(duì)其進(jìn)行解密。硬件內(nèi)部就會(huì)使用私有密匙二將送入的數(shù)據(jù)進(jìn)行解密,然后將解密后的數(shù)據(jù)返回給軟件。
軟件將前后兩次解密的結(jié)果進(jìn)行比較,如果不相同,表示文件已被修改,這時(shí)可以提示錯(cuò)誤,將不同的地方顯示出來。如果相同,表示簽名后的文件未被修改,由于解密后還原的數(shù)據(jù)中包含有硬件的ID及簽名時(shí)的時(shí)間以及原有的原文內(nèi)容,這時(shí)軟件就可以將這些數(shù)據(jù)分離出來,生成該簽名文件的原文副本,同時(shí)顯示簽名者身份及簽名時(shí)的時(shí)間。
使用由簽名硬件輸出的加密密匙在任何一個(gè)簽名工具上進(jìn)行驗(yàn)證(不包括自身)在進(jìn)行驗(yàn)證簽名文件時(shí),生成簽名文件的簽名工具必須在生成簽名文件后輸出其加密的私有密匙(使用公有密匙對(duì)硬件內(nèi)的兩條私有密匙進(jìn)行加密,然后輸出)。
軟件首先獲取該簽名文件的簽名工具(簡(jiǎn)稱原簽名工具)的加密后的私有密匙,然后將加密后的私有密匙送入要驗(yàn)證的簽名工具(簡(jiǎn)單稱驗(yàn)證工具),由驗(yàn)證工具使用公有密匙對(duì)輸入的加密密匙解密,生成原簽名工具的兩條私有密匙,這樣,驗(yàn)證工具就可以使用原簽名工具的私有密匙對(duì)由原簽名工具進(jìn)行簽名的文件進(jìn)行驗(yàn)證了,驗(yàn)證方法同上,這里不再累述。
使用由簽名硬件輸出的由隨機(jī)數(shù)加密的密匙在指定的簽名工具上進(jìn)行驗(yàn)證這種驗(yàn)證方法與上一驗(yàn)證方法的最大不同在于,沒有授權(quán)的簽名工具無(wú)法對(duì)其進(jìn)行驗(yàn)證,這樣就增加了簽名的文件的安全性,就不會(huì)因由于輸出的加密密匙被竊取而導(dǎo)致簽名文件被未被授權(quán)的人查看。
被授權(quán)的簽名工具(簡(jiǎn)稱被授權(quán)工具)首先要生成一個(gè)隨機(jī)數(shù),然后將該隨機(jī)數(shù)與自身ID按一定的規(guī)則混合,然后使用公有密匙對(duì)其進(jìn)行加密,然后將加密后的數(shù)據(jù)輸出。
軟件將輸出的加密后的數(shù)據(jù)送入到原簽名工具,原簽名工具使用公有密匙對(duì)該數(shù)據(jù)進(jìn)行解密,還原成隨機(jī)數(shù)及被授權(quán)工具ID,然后使用隨機(jī)數(shù)對(duì)原簽名工具內(nèi)的私有密匙進(jìn)行加密,然后將加密后的私有密匙及被授權(quán)工具ID輸出,軟件獲得加密后的私有密匙的同時(shí),將被授權(quán)工具ID顯示給用戶,以驗(yàn)證其身份。
軟件將由隨機(jī)數(shù)加密后的加密密匙送入被授權(quán)工具,被授權(quán)工具使用其生成的隨機(jī)數(shù)對(duì)加密密匙進(jìn)行解密,生成原簽名工具的兩條私有密匙,這樣,驗(yàn)證工具就可以使用原簽名工具的私有密匙對(duì)由原簽名工具進(jìn)行簽名的文件進(jìn)行驗(yàn)證了,驗(yàn)證方法同上,這里不再累述。
私有密匙、硬件ID及硬件申請(qǐng)人的身份確認(rèn)由一發(fā)行機(jī)構(gòu)進(jìn)行統(tǒng)一分配及管理,這樣就可以保證私有密匙、硬件ID的唯一性。
權(quán)利要求
1.一種數(shù)字簽名方法,其特征在于,包括如下步驟簽名步驟1)生成簽名文件將要簽名的文件分成多個(gè)數(shù)據(jù)分組,然后將這些數(shù)據(jù)分組分批送入到簽名硬件中,然后發(fā)出加密指令;2)硬件內(nèi)部首先將輸入的數(shù)據(jù)與硬件ID及當(dāng)前時(shí)間按照一定的規(guī)則混合,然后使用硬件內(nèi)部的兩條私有密匙分別對(duì)混合后的數(shù)據(jù)進(jìn)行加密,然后分別輸出給軟件;3)軟件接收這兩組加密數(shù)據(jù)后,將這些數(shù)據(jù)再重新組織成一個(gè)新的簽名文件;該簽名文件包含兩部分,一部分為由私有密匙一對(duì)原文加密的密文,另一部分為由私有密匙二對(duì)原文加密的密文;這個(gè)新生成的簽名文件就在原文的基礎(chǔ)上具有基于硬件身份及時(shí)間的唯一性,同時(shí)還具有加密特性;驗(yàn)證簽名步驟1)使用自身密匙進(jìn)行驗(yàn)證軟件將要簽名的文件的由私有密匙一加密的部分送入到硬件中,然后發(fā)出解密指令,要求硬件使用自身的私有密匙一對(duì)其進(jìn)行解密。硬件內(nèi)部就會(huì)使用私有密匙一將送入的數(shù)據(jù)進(jìn)行解密,然后將解密后的數(shù)據(jù)返回給軟件;軟件將要簽名的文件由私有密匙二加密的部分送入到硬件中,然后發(fā)出解密指令,要求硬件使用自身的私有密匙二對(duì)其進(jìn)行解密;硬件內(nèi)部使用私有密匙二將送入的數(shù)據(jù)進(jìn)行解密,然后將解密后的數(shù)據(jù)返回給軟件;軟件將前后兩次解密的結(jié)果進(jìn)行比較,如果不相同,表示文件已被修改,可提示錯(cuò)誤,將不同的地方顯示出來;如果相同,表示簽名后的文件未被修改,解密后還原的數(shù)據(jù)中包含有硬件的ID及簽名時(shí)的時(shí)間以及原有的原文內(nèi)容,軟件將這些數(shù)據(jù)分離出來,生成該簽名文件的原文副本,同時(shí)顯示簽名者身份及簽名時(shí)的時(shí)間;2)使用由簽名硬件輸出的加密密匙在任何一個(gè)簽名工具上進(jìn)行驗(yàn)證在進(jìn)行驗(yàn)證簽名文件時(shí),生成簽名文件的簽名工具必須在生成簽名文件后輸出其加密的私有密匙,使用公有密匙對(duì)硬件內(nèi)的兩條私有密匙進(jìn)行加密,然后輸出;軟件首先獲取該簽名文件的簽名工具,簡(jiǎn)稱原簽名工具的加密后的私有密匙,然后將加密后的私有密匙送入要驗(yàn)證的簽名工具,由驗(yàn)證工具使用公有密匙對(duì)輸入的加密密匙解密,生成原簽名工具的兩條私有密匙,這樣,驗(yàn)證工具就可以使用原簽名工具的私有密匙對(duì)由原簽名工具進(jìn)行簽名的文件進(jìn)行驗(yàn)證了,驗(yàn)證方法同上;3)用由簽名硬件輸出的由隨機(jī)數(shù)加密的密匙在指定的簽名工具上進(jìn)行驗(yàn)證被授權(quán)的簽名工具首先生成一個(gè)隨機(jī)數(shù),然后將該隨機(jī)數(shù)與自身ID按一定的規(guī)則混合,然后使用公有密匙對(duì)其進(jìn)行加密,然后將加密后的數(shù)據(jù)輸出;軟件將輸出的加密后的數(shù)據(jù)送入到原簽名工具,原簽名工具使用公有密匙對(duì)該數(shù)據(jù)進(jìn)行解密,還原成隨機(jī)數(shù)及被授權(quán)工具ID,然后使用隨機(jī)數(shù)對(duì)原簽名工具內(nèi)的私有密匙進(jìn)行加密,然后將加密后的私有密匙及被授權(quán)工具ID輸出,軟件獲得加密后的私有密匙的同時(shí),將被授權(quán)工具ID顯示給用戶,以驗(yàn)證其身份;軟件將由隨機(jī)數(shù)加密后的加密密匙送入被授權(quán)工具,被授權(quán)工具使用其生成的隨機(jī)數(shù)對(duì)加密密匙進(jìn)行解密,生成原簽名工具的兩條私有密匙,驗(yàn)證工具以使用原簽名工具的私有密匙對(duì)由原簽名工具進(jìn)行簽名的文件進(jìn)行驗(yàn)證。
2.一種采用如權(quán)利要求1所述數(shù)字簽名方法的數(shù)字簽名工具,其特征在于,包括工具盒體、設(shè)置在盒體中的單片機(jī),在盒體中還設(shè)有與所述單片機(jī)交換信息的如下單元硬件加密算法單元及解密算法單元、唯一的ID號(hào)發(fā)生單元、至少一條公有密匙單元、至少兩條私有密匙、隨機(jī)數(shù)發(fā)生器單元、隨機(jī)數(shù)儲(chǔ)存區(qū)單元、時(shí)鐘計(jì)數(shù)器單元,在盒體上還設(shè)有用于與外圍設(shè)備進(jìn)行通訊的外圍接口和長(zhǎng)期供電裝置。
3.根據(jù)權(quán)利要求2所述數(shù)字簽名工具,其特征在于,在所述盒體中設(shè)有多條公有密匙單元和多條私有密匙單元。
全文摘要
本發(fā)明公開了一種數(shù)字簽名方法及簽名工具,包括如下步驟將要簽名的文件分成多個(gè)數(shù)據(jù)分組,然后將這些數(shù)據(jù)分組分批送入到簽名硬件中,硬件內(nèi)部的兩條私有密匙分別對(duì)混合后的數(shù)據(jù)進(jìn)行加密,然后分別輸出給軟件;軟件接收這兩組加密數(shù)據(jù)后,將這些數(shù)據(jù)再重新組織成一個(gè)新的簽名文件;該簽名文件包含兩部分,一部分為由私有密匙一對(duì)原文加密的密文,另一部分為由私有密匙二對(duì)原文加密的密文;本發(fā)明具有如下優(yōu)點(diǎn)被簽名的數(shù)字文件能被任何擁有合法權(quán)限的人清楚地知道該簽名文件的內(nèi)容、身份、來源、作者、文件最后的簽名時(shí)間;任何被簽名的數(shù)字文件都具有唯一性,即沒有一個(gè)被簽名后的文件是相同的;對(duì)被簽名的數(shù)字文件所作的任何修改都是可知的。
文檔編號(hào)H04L9/00GK1722656SQ20041002678
公開日2006年1月18日 申請(qǐng)日期2004年4月8日 優(yōu)先權(quán)日2004年4月8日
發(fā)明者梁慶生 申請(qǐng)人:梁慶生