專利名稱:用于在計算機(jī)上借助于橢圓曲線加密處理的方法和裝置的制作方法
技術(shù)領(lǐng)域:
本發(fā)明涉及用于在計算機(jī)上借助于橢圓曲線加密處理的一種方法和一種裝置。
一種有限域體(Koerper)稱為伽羅瓦域。對于伽羅瓦域的性能和定義請參閱[3]。
隨著計算機(jī)網(wǎng)絡(luò)的和經(jīng)電子通信系統(tǒng)(通信網(wǎng)絡(luò))執(zhí)行的所屬用途的廣泛推廣,對數(shù)據(jù)安全性提出越來越增長的要求。數(shù)據(jù)安全性的觀點此外考慮-數(shù)據(jù)傳輸失效的可能性,-數(shù)據(jù)被訛誤的可能性,-數(shù)據(jù)真實性,也就是發(fā)送者的可確定性與識別和-數(shù)據(jù)保密性的防護(hù)。
對于″密鑰″的理解是在加密處理時被使用的數(shù)據(jù)。從公開密鑰方法中已知的是,采用一個保密的密鑰和一個公開的密鑰。
″入侵者″是具有獲取密鑰目的的未特許的人員。
尤其在計算機(jī)網(wǎng)絡(luò)中,以增長的程度可是也在移動媒體中,例如在移動電話或芯片卡中應(yīng)保證,即使當(dāng)入侵者強(qiáng)占計算機(jī),移動電話或芯片卡時,存儲的密鑰也是不可訪問的。
為了保證加密方法的足夠安全性,尤其在非對稱方法上分別用多個100位的長度決定密鑰。計算機(jī)或移動媒體的存儲區(qū)大多是緊湊地設(shè)計的。存儲在這樣存儲區(qū)中的,多個100位的密鑰的長度減少計算機(jī)上的或媒體上的自由存儲空間,以至于一次只能存儲少量這樣的密鑰。
在[1]和[2]中公開了一種橢圓曲線和它在加密處理上的應(yīng)用。
本發(fā)明的任務(wù)在于,提供用于在計算機(jī)上借助于至少一種橢圓曲線加密處理的一種方法,在此需要較少存儲空間。
按獨立權(quán)利要求的特征解決此任務(wù)。
本發(fā)明提出用于在計算機(jī)上借助于至少一種橢圓曲線加密處理的一種方法,在此方法上規(guī)定一種第一形式的橢圓曲線,在此多個第一參數(shù)決定第一形式的橢圓曲線。采用決定多個第二參數(shù)的辦法來轉(zhuǎn)換橢圓曲線成一種第二形式,在此相對于第一參數(shù)中的一個在其長度上縮短第二參數(shù)中的至少一個參數(shù)。將轉(zhuǎn)換之后的,也就是將第二形式的橢圓曲線用于加密處理。
通過有效地縮短第一參數(shù)中的一個參數(shù)產(chǎn)生應(yīng)為此參數(shù)準(zhǔn)備就緒的存儲區(qū)的節(jié)省。由于例如芯片卡上的存儲區(qū)是緊湊地設(shè)計的,人們通過節(jié)省每個縮短的參數(shù)用的多個100位來實現(xiàn)例如用于存儲其它保密密鑰的自由存儲空間。盡管如此通過有關(guān)參數(shù)的縮短,加密方法的安全性是保持有保證的。
在加密方法中采用橢圓曲線時,入侵者求出密鑰用的工作量隨著密鑰的長度指數(shù)地上升。
本發(fā)明的一種進(jìn)一步發(fā)展在于,橢圓曲線的第一形式是通過GF(p)上的y2=x3+ax+b(1)決定的,式中GF(p)表示具有p元素(Element)的伽羅瓦域和x,y,a,b表示域體GF(p)的元素。
下面采用的名稱″mod p″表示伽羅瓦域的一種特殊情況,即自然數(shù)較小的p.″mod″代表MODULO(模數(shù))和包括帶有余數(shù)的整數(shù)除法。
一種另外的進(jìn)一步發(fā)展在于,橢圓曲線的第二形式是通過GF(p)上的y2=x3+c4ax+c6b(2)決定的,式中c表示常數(shù)。
為了節(jié)省存儲空間將方程(1)轉(zhuǎn)換為方程(2),并且縮短表征按方程(2)的橢圓曲線的一個量。
一種進(jìn)一步發(fā)展在于,采用如此選擇常數(shù)c的辦法來縮短參數(shù)a,以至于c4a mod p(3)比描述按方程(2)的橢圓曲線的其它參數(shù)明顯地變得更短。通過這種縮短該參數(shù)相應(yīng)地需要較少存儲空間。
在以下用途之一中采用本方法也是一種進(jìn)一步發(fā)展
-編碼或譯碼由發(fā)送器(借助于對稱或非對稱方法)對數(shù)據(jù)編碼,而在對方在接收者處對數(shù)據(jù)譯碼。
-通過認(rèn)證主管部門的密鑰發(fā)放值得信賴的機(jī)構(gòu)(認(rèn)證主管部門)發(fā)放密鑰,在此必須保證,密鑰源自此認(rèn)證主管部門。
-數(shù)字簽字或數(shù)字簽字的驗證簽字電子文件,并且給此文件附上簽字。在接收者處可以借助于簽字確定,所希望的發(fā)送者是否也曾真正簽過字。
-非對稱鑒別使用者可以借助于非對稱方法證實他的身份。尤其通過用相應(yīng)的保密(專用)密鑰的編碼來實現(xiàn)這一點。每個人可以用此使用者所屬的公開密鑰確定,編碼真正源自此使用者。
-密鑰的縮短加密處理的一種方案包括一種密鑰的縮短,此密鑰優(yōu)先可以用于加密的其它方法。
此外提出具有處理器單元的一種裝置,此處理器單元是如此設(shè)置的,以至于規(guī)定一種第一形式的橢圓曲線,在此多個第一參數(shù)決定橢圓曲線,并且采用決定多個第二參數(shù)的辦法來轉(zhuǎn)換橢圓曲線為一種第二形式,在此,相對于第一參數(shù),在其長度上縮短第二參數(shù)中的至少一個參數(shù)。最后決定第二形式的橢圓曲線用于加密處理。
這種裝置可以是具有受保護(hù)和未受保護(hù)存儲區(qū)的芯片卡,在此既在受保護(hù)的也在未受保護(hù)的存儲區(qū)中可以存儲密鑰,也就是存儲表征橢圓曲線的參數(shù)。
這種裝置是尤其適用于按本發(fā)明方法的或它的上述進(jìn)一步發(fā)展的實施。
從從屬權(quán)利要求中也得出本發(fā)明的進(jìn)一步發(fā)展。
借助于下列附圖詳述本發(fā)明的實施例。
這些附圖是
圖1用于借助橢圓曲線加密處理的一種方法,在此縮短橢圓曲線的至少一個參數(shù),并且因此實現(xiàn)對于橢圓曲線參數(shù)所需的存儲區(qū)的部分節(jié)??;圖2素數(shù)p的可能選擇,使得縮短橢圓曲線的參數(shù)a;圖3用于決定橢圓曲線的一種方法和隨后轉(zhuǎn)換到第二形式;圖4用于加密處理的一種裝置;圖5處理器單元。
圖1展示用于借助橢圓曲線實施處理的一種方法。為此將橢圓曲線(請參閱方框101)從一種第一形式轉(zhuǎn)換為(請參閱方框102)一種第二形式,縮短第二形式的一個參數(shù)(請參閱方框103),和存儲第二形式用于加密處理(請參閱方框104)。以下討論所述的步驟,在此示范性地摘出縮短用的幾種可能性。
此處說明如何在GF(p)上的橢圓曲線方程(第一形式的橢圓曲線,請參閱方框101)y2=x3+ax+b(3)中實現(xiàn)參數(shù)a長度的減少,在此p尤其是大于3的素數(shù),并且GF(p)是具有p元素的伽羅瓦域。
GF(p)上的橢圓曲線y2=x3+ax+b(4)通過轉(zhuǎn)換可以轉(zhuǎn)化為GF(p)上的雙理同構(gòu)的橢圓曲線(第二形式的橢圓曲線,請參閱方框102)y2=x3+c4ax+c6b(5)。
通過常數(shù)c的合適選擇可以縮短(請參閱方框103)系數(shù)c4a或(6)-c4a,(7)所具有的優(yōu)點在于,與參數(shù)a用的存儲空間相比較,用于存儲此系數(shù)所需要的存儲空間可以是微小的。
以下按方程(5)決定數(shù)c4a(或-c4a)和c2。
1數(shù)“c4a”的決定為了決定數(shù)c4a(或-c4a)人們優(yōu)先區(qū)別以下情況1.1 p≡3 mod 4在這些域體中適用
-所有的平方也是四次方,-’-1’不是平方。
現(xiàn)在設(shè)p=4k+3,和s是生成GF(p)中四次方(或平方)的乘法子群的一個四次方。
V={1,s,s2,s3,…,s2k}為GF(p)中四次方的群量(Menge),和NQ={-1,-s,-s2,-s3,…,-s2k}為GF(p)中非平方的群量。
1.對于來自V中的每個元素a=st存在著具有GF(p)中 c4a=s2k+1=1的來自V中的元素 c4=s2k+1-t。
2.對于來自V中的每個元素a=-st存在著具有GF(p)中 c4a=-s2k+1=-1的來自V中的元素 c4=s2k+1-t。
式中s,t,和k表示來自GF(p)中的域體元素。
對于p=3 mod 4可以通過系數(shù)c的合適選擇將參數(shù)a轉(zhuǎn)化為GF(p)中的數(shù)c4a=1或GF(p)中的數(shù)c4a=-1。1.2 p≡5 mod 4在這樣的域體中適用-域體乘法組的(p-1)/4元素是四次方;-域體乘法組的(p-1)/4元素是平方,但不是四次方;-域體乘法組的(p-1)/2元素是非平方;-’-1’不是非平方。
A)p≡5 mod 8在這樣的域體中附加地適用-’-1’是平方,但不是四次方,-’+2’,’-2’是非平方。
現(xiàn)在設(shè)p=8k+5,和s是生成GF(p)中四次方的乘法子群的一個四次方。
V={1,s,s2,s3,…,s2k}為GF(p)中四次方的群量,和Q={-1,-s,-s2,-s3,…,-s2k}為GF(p)中的不是四次方的平方的群量,和
NQ={2,2s,2s2,2s3,…,2s2k,-2,-2s,-2s2,-2s3,…,-2s2k}為GF(p)中非平方的群量。
1.對于來自V中的每個元素 a=st存在著來自具有GF(p)中 c4a=s2k+1=1的V中的元素c4=s2k+1-t。
2.對于來自Q中的每個元素 a=-st存在著來自具有GF(p)中 c4a=-s2k+1=-1的V中的元素c4=s2k+1-t。
3.對于來自NQ中的每個元素 a=2st存在著來自具有GF(p)中 c4a=2s2k+1=2的V中的元素c4=s2k+1-t。
4.對于來自NQ中的每個元素 a=-2st存在著來自具有GF(p)中 c4a=-2s2k+1=-2的V中的元素c4=s2k+1-t。
對于p≡5 mod 8可以通過常數(shù)c的合適選擇將參數(shù)a轉(zhuǎn)化為GF(p)中的數(shù)c4a=1,或-1,或2,或-2。
B)p≡1 mod 8按下表可以求出數(shù)c4a對于r=1,-1,2,-2,3,-3,4,-4,…-形成z≡ra-1mod p;-計算u≡z(p-1)/4mod p;-如果u=1,則中斷;-存儲z=c4和r=c4a。
2數(shù)″GF(p)中的c2″的決定為了決定數(shù)c2mod p,首先在相應(yīng)域體GF(p)中確定,a是否是四次方,是否是平方但不是四次方,或非平方。
2.1 p=4k+3在這些域體中計算GF(p)中的u=a(p-1)/2。
-如果在GF(p)中u=1,a則是四次方(或平方)。在此情況下在GF(p)中c4=a-1。
-如果在GF(p)中u=-1,a則是非平方。在此情況下在GF(p)中c4=-a-1。
2.2 p=8k+5在這些域體中計算GF(p)中的u=a(p-1)/4。
-如果在GF(p)中u=1,a則是四次方。在此情況下在GF(p)中c4=a-1。
-如果u=-1,a則是平方但不是四次方。在此情況下在GF(p)中c4=-a-1。
-如果在GF(p)中u既不是1,也不是-1,a則在GF(p)中是非平方。在此情況下計算GF(p)中的v=(2a)(p-1)/4。如果在GF(p)中v=1,則在GF(p)中c4=2a-1,否則在GF(p)中c4=-2a-1。
2.2 p=8k+1在這些域體中按在1.2,情況B中說明的表z=c4。
在所有三種情況下可以用0(log p)的工作量從c4中計算兩個根(c2和-c2)。對于情況p=4k+3只有兩個所指出的解中的一個是允許的,即是GF(p)中平方的那個解。在另外的情況下兩個根是允許的。因此可以計算橢圓曲線的系數(shù)c6b。
基于情況p=4k+3和p=8k+5用的完整(geschlossen)公式,在實際中這樣的素數(shù)應(yīng)優(yōu)先。
實例1設(shè)素數(shù)p=11_情況1.1p≡3 mod 4
表1平方和四次方mod 11因此得出平方Q的群量,四次方V的群量和非平方NQ的群量為Q=V={1,3,4,5,9};NQ={2,6,7,8,10}。a∈V=Q_ac4=1
表2在給定參數(shù)a時c4的決定a∈NQ_ac4=-1
表3在給定參數(shù)a時c4的決定表2指明a和c4的值分配的不同可能性,a和c4在ac4的結(jié)合中始終產(chǎn)生1,并且表3指明a和c4的值分配的不同可能性,a和c4在ac4的結(jié)合中始終產(chǎn)生-1。在GF(11)中適用這一點。
實例2設(shè)素數(shù)p=13_情況1.2A)p≡1 mod 4和同時p≡5 mod 8。
表4平方和四次方mod 13因此得出(不是四次方的)平方Q的群量,四次方V的群量和非平方NQ的群量為Q={4,10,12};V={1,3,9};NQ={2,5,6,7,8,11}。a∈V_c4∈V
表5在給定參數(shù)a時c4的決定_ac4≡1 mod 13a∈Q
表6在給定參數(shù)a時c4的決定_ac4≡-1 mod 13a∈NQNQ={2,5,6,7,8,11},與2*V={1,5,6}和2*Q={7,8,11}一起情況aa∈NQ和a∈(2*V)
表7在給定參數(shù)a時c4的決定_ac4≡2 mod 13情況ba∈NQ和a∈(2*Q)
表8在給定參數(shù)a時c4的決定_ac4≡-2 mod 13將以所述方式獲得的第二形式橢圓曲線(請參閱方框103)用于加密處理。
圖2展示,如上所述為了縮短參數(shù)a(請參閱方框201),用于選擇素數(shù)p選擇的可能性??赡苄?02如此決定p,使得p=3 mod 4有效。在此情況下借助于上述進(jìn)行方式縮短參數(shù)a。同樣的適用于p=1mod 4(情況203),在此分為兩種情況p=5 mod 8(情況204)和p=1 mod 8(情況205)來列舉情況區(qū)分。上面分別闡述了用于決定縮短的參數(shù)a的完整表達(dá)式。圖2著重指明不謀求對全面選擇提出要求的可能性選擇。
圖3中在第一步驟301中,決定按方程(1)的具有參數(shù)a,b,p的和點數(shù)ZP的橢圓曲線。在步驟302中轉(zhuǎn)換橢圓曲線(請參閱方程(2))。在轉(zhuǎn)換之后橢圓曲線包括參數(shù)a’,b’,p和ZP。a’和b’表明,已經(jīng)改變參數(shù)a和b,在此,一個參數(shù),尤其是參數(shù)a’,在與參數(shù)a比較中是短的,以至于通過存儲參數(shù)a’代替作為橢圓曲線標(biāo)志的參數(shù)a來節(jié)省存儲空間。
圖4中表示了用于加密處理的一種裝置。
移動媒體401,尤其是芯片卡包括(不安全的)存儲區(qū)MEM403和受保護(hù)的(安全的)存儲區(qū)SEC402。借助于接口IFC404經(jīng)信道405在媒體401和計算機(jī)網(wǎng)絡(luò)406之間交換數(shù)據(jù)。計算機(jī)網(wǎng)絡(luò)406包括互相連接的和互相通信的多個計算機(jī)。移動媒體401運行用的數(shù)據(jù)是優(yōu)先分布在計算機(jī)網(wǎng)絡(luò)RN406中地可供支配的。
受保護(hù)的存儲區(qū)402是實施為不可讀取的。借助于安置在移動媒體401上的或在計算機(jī)網(wǎng)絡(luò)406中的計算單元,利用受保護(hù)存儲區(qū)402的數(shù)據(jù)。因此,比較操作可以作為結(jié)果給出,在受保護(hù)存儲區(qū)402中輸入與密鑰的比較是否曾是成功的。
橢圓曲線參數(shù)是存儲在受保護(hù)的存儲區(qū)402中的,或在未受保護(hù)的存儲區(qū)403中的。尤其在受保護(hù)的存儲區(qū)中存儲保密的或?qū)S玫拿荑€,而在未受保護(hù)的存儲區(qū)中存儲公開的密鑰。
圖5中表示了計算單元501。計算單元501包括處理器CPU502,存儲器503和輸入/輸出接口504,此接口經(jīng)從計算單元501引出的接口505以不同方式和方法予以利用。經(jīng)圖形接口,將輸出在監(jiān)視器507上變成可見的,和/或在打印機(jī)508上輸出。經(jīng)鼠標(biāo)509或鍵盤510進(jìn)行輸入。計算單元501也擁有保證存儲器503,處理器502和輸入/輸出接口504的連接的總線506。此外也可能的是,將附加的部件連接到總線506上附加的存儲器,硬盤,等等。
參考文獻(xiàn)[1] Neal Koblitz: A Course in Number Theory andCryptography,Springer Verlag New YORK,1987,ISBN 0-387-96576-9,Seiten 150-179。
[2]Alfred J.Menezes: Elliptic Curve Public KeyCryptosystems,Kluwer Academic Publishers,Massachusetts1993,ISBN 0-7923-9368-6,Seiten 83-116。
Rudolf Lidl,Harald Niederreiter: Introduction to finitefield and their applications,Cambridge University Press,Cambridge1986,ISBN 0-521-30706-6,Seiten 15,45。
Christoph Ruland: Informationssicherheit in Datennetzen,DATACOM-Verlag,Bergheim 1993,ISBN 3-89238-081-3,Seiten 73-85。
權(quán)利要求
1.用于在計算機(jī)上借助于橢圓曲線加密處理的方法,a)在此方法上規(guī)定一種第一形式的橢圓曲線,在此多個第一參數(shù)決定橢圓曲線,b)在此方法上采用決定多個第二參數(shù)的辦法來轉(zhuǎn)換橢圓曲線為一種第二形式,在此相對于第一參數(shù)在其長度上縮短第二參數(shù)中的至少一個參數(shù),c)在此方法上決定第二形式的橢圓曲線用于加密處理。
2.按以上權(quán)利要求的方法,在此方法上橢圓曲線的第一形式是通過y2=x3+ax+b決定的,式中x,y表示變量和a,b表示第一參數(shù)。
3.按權(quán)利要求1或2的方法,在此方法上橢圓曲線的第二形式是通過y2=x3+c4ax+c6b決定的,式中x,y表示變量,a,b表示第一參數(shù)和c 表示常數(shù)。
4.按權(quán)利要求1至3之一的方法,在此方法上采用如此選擇常數(shù)c的辦法來縮短參數(shù)a,以至于比參數(shù)b的長度和規(guī)定量p的長度明顯較短地決定c4a mod p.
5.按以上權(quán)利要求之一的方法,在此方法上實施一種加密編碼。
6.按以上權(quán)利要求之一的方法,在此方法上實施一種加密譯碼。
7.按以上權(quán)利要求之一的方法,在此方法上實施密鑰發(fā)放。
8.按以上權(quán)利要求之一的方法,在此方法上實施數(shù)字簽字。
9.按權(quán)利要求8的方法,在此方法上實施數(shù)字簽字的驗證。
10.按以上權(quán)利要求之一的方法,在此方法上實施不對稱鑒別。
11.用于加密處理的裝置,具有如此設(shè)置的處理器單元,使得a)規(guī)定一種第一形式的橢圓曲線,在此,多個第一參數(shù)決定橢圓曲線,b)采用決定多個第二參數(shù)的辦法來轉(zhuǎn)換橢圓曲線為一種第二形式,在此相對于第一參數(shù)在其長度上縮短第二參數(shù)中的至少一個參數(shù),c)決定第二形式的橢圓曲線用于加密處理。
12.按權(quán)利要求11的裝置,在此裝置上處理器單元是如此設(shè)置的,使得橢圓曲線的第一形式是通過y2=x3+ax+b決定的,式中x,y表示變量和a,b表示第一參數(shù)。
13.按權(quán)利要求11或12的裝置,在此裝置上處理器單元是如此設(shè)置的,使得橢圓曲線的第二形式是通過y2=x3+c4ax+c6b決定的,式中x,y表示變量a,b表示第一參數(shù)和c 表示常數(shù)。
14.按權(quán)利要求11至13之一的裝置,在此裝置上處理器單元是如此設(shè)置的,使得采用如此選擇常數(shù)c的辦法來縮短參數(shù)a,以至于比參數(shù)b的長度和規(guī)定量p的長度明顯較短地決定c4a mod p。
15.按權(quán)利要求11至14之一的裝置,在此裝置上裝置是具有存儲區(qū)的芯片卡,在此,在存儲區(qū)中是可存儲橢圓曲線的參數(shù)的。
16.按權(quán)利要求15的裝置,在此裝置上在芯片卡的受保護(hù)存儲區(qū)中是可存儲保密密鑰的。
全文摘要
在借助于橢圓曲線加密處理時,在計算機(jī)的存儲器中存儲橢圓曲線的參數(shù)。這些參數(shù)各自具有可觀的長度。為了在其長度上明顯地縮短至少一個參數(shù),和在此不改變地保證高度的安全性,轉(zhuǎn)換橢圓曲線。用一種算法將一個參數(shù)優(yōu)先縮短為1,-1,2或-2,與此相反另外的參數(shù)具有多個100位的長度。恰恰在具有少量存儲空間的芯片卡上就是一個參數(shù)的縮短已可明顯地感覺到。
文檔編號G06F7/60GK1297635SQ99805162
公開日2001年5月30日 申請日期1999年2月2日 優(yōu)先權(quán)日1998年2月18日
發(fā)明者E·赫斯, J·喬治德斯 申請人:西門子公司