TWI280026B - RSA with personalized secret - Google Patents

RSA with personalized secret Download PDF

Info

Publication number
TWI280026B
TWI280026B TW094122370A TW94122370A TWI280026B TW I280026 B TWI280026 B TW I280026B TW 094122370 A TW094122370 A TW 094122370A TW 94122370 A TW94122370 A TW 94122370A TW I280026 B TWI280026 B TW I280026B
Authority
TW
Taiwan
Prior art keywords
secret
private
index
key
digital signature
Prior art date
Application number
TW094122370A
Other languages
English (en)
Other versions
TW200629856A (en
Inventor
Jing-Jang Hwang
Original Assignee
Univ Chang Gung
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Application filed by Univ Chang Gung filed Critical Univ Chang Gung
Publication of TW200629856A publication Critical patent/TW200629856A/zh
Application granted granted Critical
Publication of TWI280026B publication Critical patent/TWI280026B/zh

Links

Classifications

    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L9/00Cryptographic mechanisms or cryptographic arrangements for secret or secure communications; Network security protocols
    • H04L9/08Key distribution or management, e.g. generation, sharing or updating, of cryptographic keys or passwords
    • H04L9/0891Revocation or update of secret information, e.g. encryption key update or rekeying
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L9/00Cryptographic mechanisms or cryptographic arrangements for secret or secure communications; Network security protocols
    • H04L9/30Public key, i.e. encryption algorithm being computationally infeasible to invert or user's encryption keys not requiring secrecy
    • H04L9/3006Public key, i.e. encryption algorithm being computationally infeasible to invert or user's encryption keys not requiring secrecy underlying computational problems or public-key parameters
    • H04L9/302Public key, i.e. encryption algorithm being computationally infeasible to invert or user's encryption keys not requiring secrecy underlying computational problems or public-key parameters involving the integer factorization problem, e.g. RSA or quadratic sieve [QS] schemes
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L9/00Cryptographic mechanisms or cryptographic arrangements for secret or secure communications; Network security protocols
    • H04L9/32Cryptographic mechanisms or cryptographic arrangements for secret or secure communications; Network security protocols including means for verifying the identity or authority of a user of the system or for message authentication, e.g. authorization, entity authentication, data integrity or data verification, non-repudiation, key authentication or verification of credentials
    • H04L9/3247Cryptographic mechanisms or cryptographic arrangements for secret or secure communications; Network security protocols including means for verifying the identity or authority of a user of the system or for message authentication, e.g. authorization, entity authentication, data integrity or data verification, non-repudiation, key authentication or verification of credentials involving digital signatures
    • H04L9/3249Cryptographic mechanisms or cryptographic arrangements for secret or secure communications; Network security protocols including means for verifying the identity or authority of a user of the system or for message authentication, e.g. authorization, entity authentication, data integrity or data verification, non-repudiation, key authentication or verification of credentials involving digital signatures using RSA or related signature schemes, e.g. Rabin scheme

Landscapes

  • Engineering & Computer Science (AREA)
  • Computer Security & Cryptography (AREA)
  • Computer Networks & Wireless Communication (AREA)
  • Signal Processing (AREA)
  • Computing Systems (AREA)
  • Theoretical Computer Science (AREA)
  • Storage Device Security (AREA)
  • Mobile Radio Communication Systems (AREA)

Description

1280026 九、發明說明: 【發明所屬之技術領域】 本專利申請案與密碼學(cryptography)的方法、技巧、系統 (cryptosystem)有關,其中包含密碼金鑰的產生與更新(generati〇n and update of cryptographic keys),也包含數位簽章(digital signature)、以及資料加密與解密(data encryption and decryption)。 【先前技術】 密碼系統(Cryptosystems)使用密碼金鑰於密碼學相關的計算 上。在以非對稱式密碼術(asymmetric crypt〇gr叩如),如 RSA(Rivest-Shamir-Adleman),為基礎的密碼系統中,其密碼金鑰是 以-把公開金鑰與-把私密金鍮成對的方式產生。使用「公開、私密 金鑰對」的方式定義了 _顧。—種是使脉密金鑰作為-把簽章 =,在數健息上產生數位簽章,並且個公鑰作為一把驗證 $金:轉—正麵簽章值;種應用是使用 Λ開金鑰作為加⑧、金鍮,對败加密轉 作為解密金鑰,以將該密文解密回明文。 U使用私在金鑰 女祕數錄章的人必麟他的簽章金制祕難,而一位密 文2接收者也必須將他的解密金鑰保持機密 秘密。儘管私密金鑰是一個與公 k金鑰疋一個 並不岸該泡漏出斜鹿Μ1 输有關的數值’公開金鑰的揭露 卫个m屬出對應的私密金鑰之秘密 算上的,是非對:::統求: 兩個質數之乘積。7公開算’而模運算之模數是 原因是缺少一個有效率的演算法將=金,在計算上的固難,部份 兩個質數。在RSA巾,—對麵及私密的數分解回原來的 密質數存在著狀_係 f與產钱麵對的兩娜 私密金鑰;這種關係更進—步限允許使用者自已選擇自己的 更必須回朗重新產生金鑰對的過程。錢鑰的變更,私密金鑰的變 1280026 本專利申請案之目的,為消除產生與改變RSA金鑰對不具備彈性 所造成的缺點。此目的之達成,係藉由允許使用者自主地選擇一個秘 松’例如通行碼,以推導出一個指數,此指數之功能相當於引領防八 運算的一部份私密金鑰,並且更進一步地允許使用者自主地改變其所 選擇的秘密。此改變所選擇秘密及其後續程序,不用回溯重新產生金 鑰對之計算。 下文先說明RSA的基礎概念。RSA密碼系統被描述於US Patent Ν〇·4,405,823 以及 Rivest,shamir,and Adleman 所共同發表的論 文· A Method for Obtaining Digital Signatures and Public-Key
Cryptosystems, ” Communications 〇f the ACM,vol· 21(1978),pp. 120-126。目前已經有數個國際標準可用來教導 此非對稱式密碼學,包括PKCS #1:RSA Cryptography
Standard,Nov. 1993(ν· 1·5)& June 2002(ν· 2·1)以及 IEEE Std 1363-2000:IEEE Standard Specification for Public~Key
Cryptography ’此兩標準的文件可分別由rsa Laboratories及IEEE 的網站上取得。這些標準文件的内容包括金鑰產生、加密、解密、簽 章產生、簽章驗證與其他相關技術的描述。 RSA的計算通常會牵涉到模運算。在此給模運算下個定義:假設χ 與y為兩個整數,則當Ζ可以整除x—y時,X與y稱為以ζ為模運算之 模數之同餘相等(X is congn^nt y m〇dui〇 z),以符號表達為χ 9 (mod z) 〇 在PKCS# 1 ν·1·5所提出之RSA金鍮產生之過程概述如下: (1) 一個正整數e被選擇為加密用之指數(encrypti〇n exponent),也 就疋我們所知道的公開指數(public exponent)。 ⑵隨機選擇兩個不同奇質數(切〇 〇此prime numbers)p與q,且ρ_ι 與兩者皆與e互質。 ⑶取公開之模數(public modulus)為乘數n=pq。 ⑷選擇一個私密之指數d(private eXp〇nent),使p—i與q_i兩者 皆可整除de—1。 1280026 RSA之公開指數e與模數η被用來對明文整數值^加密,以 (mod η)之計算得到密文整數值c,在此假設m小於n。另以私密之指 數d與模數η藉由’cd (moci η)之計算用以將密文值c解密回明文值 m ° 在有些密碼系統(cryPt〇SyStems)中,例如基於SSL/TLS(Secure
Sockets Layer/Transport Layer Security)之協定所構建的加解密系
統,使用RSA方法之加解密通常與對稱式密碼學方法相互結合而衍生 出混合式加解密系統。在這樣的混合式加解密系統下,通訊之其中一 方使用RSA之公開金餘將隨機產生之秘密加密,而#另_方接收後則 使用對應的RSA私密金餘將加密之雜解密;接著,兩方使用相同之 秘密作為機密通訊用之對稱式秘密金鑰。經由這種秘密交換方式,雙 ^所獲得的制對稱式秘密金鑰麟通訊綱錢(sessiQn㈣。其 τ»羊、、田 ^兒月 η月參考 internet Engineering Task Force 網站上之RFC 2246 及其他相關文件。 RSA中之私密指數d與模數n可被用來製作一個數位簽章。首先, 一個數位訊息Μ經由某一個具備碰撞阻抗特性的赫序函數 嶋-resistant hash functi〇n)產生一備的訊息摘要琴 igest)」表示為hash(M);接著,訊息μ之數位簽章可經由_⑻d(m〇d n)之計算得到,表示為signature(M)。 中之公開指數e與模數n用來驗證某一健值是否為一個正確 ,數位簽章。假設-位驗證者收到M丨丨SGN,其中M代表為一個數位訊 &擇的石亚4里阻抗赫序函數計算出hash(M),並且使用公開金鑰(e,η) ;接著’驗證者㈣邮) ’如果比較後得到相等的結果,則Μ為-個 正確的簽早。 东“、^位縣闕赫序函數。赫序函數的函數值是確定性的(非機 庠讀A if義為輸出值完全由輸人值所決定。使用於數位簽章之赫 « '、、、《讓抗函數,絲示要制兩個不_輸人值而產生相同 ϊ28〇〇26 ^出值是非常_的。-個碰撞阻抗赫序函數也具有單向之必要性 二ίΐ7!,給定—個輸出值,要從赫序計算後之特定輸出值找到其 中疋彳巾目觸。除此之外,鱗函s應該具備產生虛擬遠機輸 (pseudorandom output)能力的罩幕產生函數(mask generati〇n :tl〇n),其涵献僅給定輸出值之_部份而不給予輸人值,要預測 輪出值之另-部份是不可行的。在pKCS# j ν·2 ι的標準中,建議 了具備上述特性的六種不_序函數,供不同的實施需要採用:觀, 肋5, SHA-1,SHA-256, SHA-384,與 SHA-512。
依據RSA㈣學的常規,碰撞阻抗赫序函數之輸出值,以一個非 負之整數來表示之,即編碼為非負之整數(刪制狀a⑽請职⑽ integer);例如,在啦祕騰⑻ ghash(M))d(m〇dn)中之^_) ^一個非負的整數。另外,為了方便,私密指數d及模數n與私密指 數d形成的雜(d,n)兩者可相雜舰被麟減金鑰,這是因為 如果RSA的計算涉及私密指數d,就會用到以n為模數之模運算。 非對稱式密碼學之應财引發出令人關心的—個問題一位公開 金鑰之制者,如t子簽章驗證者錢魏息的傳送者,該如何知 道所使㈣公開金餘之真實性呢?—位欺騙者也許會欺齡證者將不 正確的數位簽章驗證為正確的,或者欺騙訊息傳送者使用一個偽造的 公開金鑰對機密訊息加密以獲得該機密訊息。公開金鑰憑證 (public-key certificate),也就是我們所知道的數位憑證,提二了 一個解決之道。 八 抽象的說,一個公開金鑰憑證包含了三個主要的部份:一個公開 金鑰、一個個體的識別名稱、與一個憑證機構的數位簽章。因此,公 開金鑰憑證將公開金鑰與個體的識別名稱結合在一起,以保證此公開 金鑰是屬於該被指名的個體所有,同時保證該個體持有相配對的私密 金鑰。藉由驗證憑證上的憑證機構之數位簽章,公開金鍮之使用者則 可證明這樣的結合。一個憑證機構(certificati〇n Auth〇rity(CA))是 個被#賴的機構,其主要功能是簽署與發佈公開金鑰憑證,撤銷某 些憑證與被撤銷憑證之公佈也是憑證機構責任的一部份。 8 1280026 非對稱式密碼系統已出現一段時間了,但是沒有如預期中的被廣 泛應用。舉例來說,使用者仍然普遍地使用通行碼(passw〇rd)來登入 系統,其中並沒有涉及公開/私密金鑰對之使用。原因之一是確定憑證 是^正確之基礎架構是很不容易建造及運作的,而在更改私密金鑰上 的彈性不足使得這項工作變得更加複雜。因此,在此存在了一個降低 公開金鑰系統基礎架構之複雜性的需求。 在特定的環境巾…健位訊息也許f要被數個簽署者簽章並且 僅由-個驗證者進行驗證,多重簽章技術賴造即符合此項需求。詳 ^ Colin Boyd, «Digital Multi signatures» , in Cryptography and 〇dmg(H. J. Becker and F. C. Piper Eds.), Oxford University ress’ 1989’ PP. 241-246。在美國專利 N〇. 6 2〇9 〇91 中,描述了 Ϊίίίΐ : G)部料章依序執行的乘法式多重簽章系統, :簽章運算不再使用私密金鑰1為數:立 簽章ΐ金鑰計’而這些部份簽章則是由數位訊息與 再存欢R1 + 。由私役金鍮導出簽章子金鑰後,私密金鑰則不 子在。口此’私密金餘之私密性受職好的保護。 由多重簽章技術衍生而來,^ 職 鑰之密碼系統(Spiit—Priva+P t ^ 版了刀割私么金 版舰276, _78Ρ °、詳見美國專利 份私密金鑰與第-+ ·八金鑰被分割為第一部 密碼系二m過此兩部份私密金鍮,非對稱式 護,可加強保護私密金並且分別保
Exponents, IEEE Trans n yp ysis of Short RSA Secret 36, no· 3,pp·553—558,,n I:f^tl〇n Theory,May, •,近來,在短的RSA私密指數上之破密分析 1280026 另有1的,展,參見Dan B〇neh and gi⑽耐ee的論文· ΤιΊ^Γϊ^Τ3 & _ ㈣咖 Key d LeSS Than N°.292,臟 Ξ:!134:/ ^ July* 200^ -· - ^pp. 者方ίΐίΐ與t密金餘分割之技術增進了RSA理論在安全性與使用 為了改Γ價值。然而,轉麵的變更缺乏雜仍未被克服。 個部# ’使用者仍然需要依賴下列兩種方法之 ίίίίΜ ^ 公開/私密麵並且對新的私 ;而,將原私密金鑰回復是不太理想的,因為這個 的秘密在回復並個特別的保護措施以預防回復 &,^中$ 新 對公開7私密金鎗也應被避 方法 【發明内容】 人本與其它優點,並且為了克服現有技術的缺失,以符 _之實_及其廣泛說明的目的’本專利申請 案百先祕了-個產纽變更祕稱式密碼金鑰的方法。 一個金鑰產生的方法產生了—個模數(a —
Driv / 數 U PUbllC e聊ent)、一個第一私密指數(a first Pnvate exponent)、與一個第二私密指數& s_d如她 作為一組非對稱式密碼金输’就像是根據私密金鑰分割密 生:鑰P的;iey巧pt0卿hy)難 縛出,這表二=生2=== 1280026 舰=!下.㈣如固人化秘密為一個新的選擇,並伴留槿 指數不變,此金鑰更新的過程導出了-個新的第 色的=將相對應的第二私密指數以更新後之值取代之。此兩項新特 、貝、’可由本專辦請案之詳細說明獲得理解。 、 本金鑰產生的方法包含了三項主要的工作:⑴使 =一函ί式之輸入以產生—個第-私密指數;⑵取得兩個奇 =二且=?由數植之金論產生斷《產生4 用由第一項工^到個模,一個公開指數組成;⑶使 與q值與私⑧全^ λ⑧指數’與第二項卫作所得到兩個質數卩 生一個‘二Ϊί將此四個值當作第二函數式之輸入以產 本^鑰產生的過程,產生了三個輸出:⑴模數 之一個輸出;(2)公開指數,為第—夕、”、、弟一員作 私密指數,為第三項工作之輪n作之另,輸出;⑶第二 出。此模數n 性;體則被提供用來儲存這三個輪 驗證簽章或她’場執行 第-私Γ產嫩物密文解密。 數是當需要進=i簽生過程之輸出。此指 來。提供-個持久性的^在’才由個人化秘密來推導出 我們可以利撕=減是不需要的。 久性記憶體中;例如··每當產生 指數之數值儲存於持 即將該數值由計算所用的記射刪除〇赠文的計算終止之時, 此個人化秘②、料—項功 示之。私密金鑰貝快第二項 函數式之輸入,以符號S表 在1峨簽章__ t,^m—,表示為d。 但依據本專利申嗜崇& 隹鑰d為一項主要的輸入, 私密金鑰,而由第執^章與解密計算並不需要用到這把 私料數v與個人化秘密s來取代它。 11 1280026 此三元 月』文所说㈣—私⑧、指數、公開指數 -起以形成-個密碼麵 ,、概—者了以被集合在 件之也人也被件 (rypt0-key tri〇) 1 user 件之.且口也被私為-個使用者密碼金鑰三元件 crypt0-key tri0),以強調此組合與一位使用者之關係。 f中用_導出第—私密指數之秘密可 :,個個者選擇之通行碼。在此,“個 個
個人化秘密是非常具有彈性的,詳如後文 如^專統的RSA的密碼系統中,兩個質數p值與q值為機密性的 =密在錢Μ過餅錢酬除赫在錢祕地被保 本專利申請案之目的,係為了克服傳統的脱密碼學方 變更公開/私密金鑰對触缺乏雜之缺點。此―目的之達成 _ ,用者自主地選擇-個秘密,例如通行碼,以推導出—個指數,此二 數之功能相當於引領RSA運算的一部份私密金输,並且更進_步地^ 许使用者自主地改變其所選擇的秘密,而此—秘密 過重新產生金鑰對之過程。 不而要絰 ^本專利申請案也提供了利用個人化秘密產生數位簽章的方法, 位簽章是非對稱式密碼學的-個主要的應用,此時,私密金輪可 為簽章用私密金鑰。 木在此方法中,一個個人化秘密是用來計算數位簽章的一個輸入。 當一位使用者請求產生某一數位訊息的數位簽章時,他需提供^數位 讯息及該個人化秘密的輸入(例如一個通行碼的輸入值),另外,一個 密碼金鑰三元件組合的三個元件則由其儲存位置取出;接著使用該| :者輸入與該取得的密碼金鑰元件在該數位訊息上產生一個數位^ 章,接著,此產生出來的數位簽章將會被檢驗,若該數位簽章檢驗的 結果是不正確的,則也許個人化秘密的輸入是錯誤的,或者所取得的
12 1280026 密碼金鑰三元件之組合中至少有一項是錯誤的。 本專利申請案同時也提供了一種方法,以間接地確認使用者輸入 是否為一正確輸入。此方法首先產生一個數位簽章,然後再對此數位 簽章進行確認,若該使用者輸入與個人化秘密不符,或者該取得的密 碼金鑰三元件之組合至少有一項是不正確的,則此數位簽章之確認過 程將產生錯誤之訊息。前-機人的錯誤是峨有可能的,因為個人 化輸入在大多數的實施例中包含了人工的鍵入;相對地,該使用者的 雄、碼金鑰二元件之組合則是儲存於電腦可讀之儲存媒體,在多數的實 施例中,儲存於個人裝置中,因此,產生一個不正確的數位簽章來自 於錯誤的密碼金鑰三元件組合之情況是比較不可能發生的。此種間接 的驗證方式,並非使用個人化秘密與其衍生值(例如個人化秘密的赫序 值或加密密文)作為驗證使用者輸入的資訊,提供持久性記憶體以儲存 該個人化歸_生值也麟不必要了。此項伽㈣了個人化秘密 的機密性保護。 本專利申請案進-步提供整合通訊期間金鑰交換程序與密碼金餘 產生與驗證技術的方法。其中-端或第—方為「隱藏」之解密金錄的 持有者。該「隱藏」之意用以_此私密金鑰於第二私密指數產生之 後’,不儲存於任何裝置中’而由第_與第二使用者秘密所取代,此 處的第-與第二使用者秘密分別為前文所定義的個人化秘密與第二私 密指數。而另-端或第二方產生—個亂數,將它視為通訊期間金餘, 並使用「隱藏之解密金鍮」姆應的公開金鑰將其加密,接著 ^送加密後的通訊_金鑰給第—方;隱藏之解密金鑰的擁有者二 苐-方輸人-個個人化秘密,並自持久性記憶财取 元 即一個第二私密指數、一個模數、一個公開指數;接= 弟-方雜人化秘密之輸人無記鐘巾取出的料麵三树之电 合進擔,此處之驗㈣期本專辦請細糾之技術來執 即對-訊息產生數位簽章並骑它作錢,第 秘密產生第-私密指數,並使用第一與第二私密指數作為解密子金 鑰’使祕_私密指數騎_域後的軌_麵解密,以 13 l28〇〇26 得通訊期間金鑰。在成功交換通訊期間金鑰後,雙方可以使用此特定 的通訊期間金鑰來達成機密性的通訊。 對於具備此一技術領域目前一般技藝的人而言,他們在閱讀了後 文之最佳實施例的詳細細節後,將容易明瞭本專利申請案所提之方法 的各項目標。
、遵循一般專利申睛案文稿的慣例,前述的基本描述與下述的詳細 «兒明僅為示範性之說明,其目的為提供如所宣稱的發明之解說。 【實施方式】 W 後文將對本專射請案做更與具體的制,並由關來描述 本專利中請案的實施例,圖示中與本巾請案的說败字使制相同的 參照編號,皆對應於相同的或類似的元件或程序。 圖1A係根據一實施例說明了產生一非對稱密碼金矯的方法;圖ib 則是根據-實關制了產生—雜_碼金鑰的絲圖。 圖不1A與1B說明了金鍮產生過程中的三個主要工作與皇彼此之 間,入與輸出的關係。其中用在第—項卫作中以產生第—私密指數u =弟一,換函數以fl表示之’關在第三項卫作中以產生第二私密指 v的弟二轉換函數以f2表示之。這些圖示中所使關的前述以及盆 他符號’在本專辦請案中所表示之意義皆為__致。 八
勺人t本專利申請案中的圖示1八與1B,金鑰產生的方法(其編號為議) 項主要的工作:⑴在步驛150中,使用-個人化秘密⑽) ΐί tr奐函數之輸入以產生一個第一部份私密指數⑽);⑵在 ,取得兩個奇數質細⑽)和q (ιΐ5)之值並且使用這兩 並Φ RSA公開/私密鑰匙對產生過程中產生公開/私密金鑰對, 驟==金,是由一麵數⑽與一個公開指數(140)組成;⑶在步 你所〜使用由第一項工作得到之第一私密指數⑽),與第二項工 個魏p (⑽與q (⑽與歸金 將 函數f2之輸入以產生-個第二私密指數二) 二項工^產生触產生了三個輸出:⑴模數(135),此為第 、 之個輸出’⑵公開指數(140),此為第二項工作(16〇) 14 1280026 =另,輸出,(3)第二私密指數(i3〇),此為第三項工作(17〇)之輸 ΐ二項輪出值分別被表示為η、e與v。在金鑰產生完成後,持久 者被提供肖來儲存這三個輸出。此模數η與公開指數e二 皆作==^凡需要執行驗證簽章或訊息加密的處理器 t ^ 力万面’第二私密指數V僅提供給特定的處理器,用 於產錄位簽章或密文解密。 數s t恭私雄指數被表示為u,它不被視為金鑰產生過程之輸出。此指 *疋二而要進仃數位簽章或解密密文時,才由個人化秘密來推導出 我們兩nt久性的記憶位置去儲存此第一私密指數是不需要的。 中· ·火4外的方法用以進一步避免儲存該值於持久性記憶體 相關記顏簽章或密文解密完成後,即自計算所使用到的 於J卫作t之第—轉換函數的輸入’即前文所說的秘密,以符 ‘以;=第二項工作產生rsa金鍮對之一項結果,即是私密金 人化秘密5來取代它拉中使用到,而由第二歸指數V與個 使用麵權w—侧人_,例如一個 在此’“個人化歸,,之用詞是為了用來強調 所輪===金==挪私密金鑰紐過程 兩個質數p值與q值為機密性的資料 終止後被銷毁,或者在之後嚴格地被保持機密。、金鑰產生過程 本發明的金鑰產生程序中所使用的 述新特性所必要。此二轉換式的其中-個與仏為達成上 fl(x)=H(x) ; ^ 式如下·· f2(y,h,k,zkcxLCM^ — jf,k —1) + LCM(h~ly k~l)X +(('y)m〇d 在此表達公式中,X、y、h、WZ分别表示s、U、P、Q、與d的 15 1280026 Ϊ值^本專射請案的文稿中,s、u、p、q、d等符號都有特定之音 =為了避免混淆’由fl與f2所接收之輸入變數以新的變數符; 括J i2=式中,參數c為一個非負之整數。LCM表示最小公倍數 並且Η表不一個碰撞阻抗赫序函數。上述的η與f2之公 理由在下文解釋之。 飞衣運其 到的H上賴fl # f2於金鑰產生過程中,則本專獅請案所使用 的件s、u、v、p、q與d等可滿足以下兩個恆等式。 恆等式一:u=H(s); 艮等式_· v=cxLCM(p-l, q-l)+d + ((-u)mod LCM(p—l,q—i))· 第-轉換函數fl除了被用於金鑰產生 縣或解《文時,此第一轉換函數式也被使二位 私密指數。第二轉換函射2則僅用於金鑰產生的過程先之用中於導出第一 由,數式H為一個碰撞阻抗赫序函數,例如SHA-1,可產生一位元字 ,八經過編碼過程之後,被解讀為一非負之整數。 _上述Π之公絲達必須献碰撞阻抗雜絲核求,*即輪入 產生相同的第一私密指數是不可行的‘,= 簽章=^=^算_之特性,就fl之輸出值_數位 存在片刻的時間而論’第一轉換函數Π並不一定 強ί位°然而’此逆向計算困難之特性可增 輪入值,除非使用者知道用;推值推導出 法執行數位簽章。 ㈣㈣私在才日數的秘密,否則他無 署者t 絲達來献碰雜颇勒尊_讀性,當簽 個正確的秘密去推導出第-私密指數並且接著重ΐ t時’數位簽章可以成极魏服力的證據㈣解決爭議。
秘密mr表射—個碰撞阻抗函數可有效地擴大所選擇之 S的所有可能值的空間。舉例來說,SH 16 1280026 ::疋的輸入訊息。(詳見:Federal lnf0rraati0n Standards
Hash Standard> 1995. 264^it 二吊長的。藉由具備此能力的fl公式,個人化的秘密可以被 =義為數個=選擇之秘密_接,例如:内Η没" ...Η 因此,選 擇個人化秘密非常具有彈性。 收去k擇/@個人化秘密輸人第—轉換函數fl以推導出第一部分私密 曰文可彈1±創出各種有益的應用情境。舉例來說,秘密可以是一 之通行碼(PaSSWOTd) ’因此可以由利用通行碼作為產 ίϋίΐ讀人,或彻通行碼所導出的第—私密指數用於通訊期 曰U鑰父換(Session key exchange)之過程。第二個例子,此個人化 秘密可岐-個使用者所麵之通行碼與—個特定裝置碼之連接,因 使用該特定的裝置方能執行數位簽章。其它的細情境也是有 第-轉換函數f2在模運算中包含一個模數,即LCM(h 其中職)k-u代表㈠與η之最小公倍數。在f2的^學 表達式使用減Ld(h-1,k-1)的目的是為了來建絲下的第三恆等 式: 弟二怪專式· dEu+v(mod LCM(h—1,k—l)) 用 ,三恆等式是證明U與V滿足特定性質的部份證明過程中所引 洋見之後的證明。 f2包含模運算還有另一個理由。在f2的公式表達中使用數學 式z + ((-y) m〇d LCM(h-l,k-1))可增加—接受的數值範 輸入變數y能接收任何正整數,此正整數可以小於 公式表達使u值的產生具有彈性,而u值為fl的輸出並且將 f2的輸入變數y。因此,u可以是一個長度任意大小的正整數。曰疋…、 在某些環境中,也許會要求U值必須具有相當長度。R° 碼計算皆是以η為模數的指數運算,而U是運算中所用到的的在 比較大的u值會令運算時間成指數遞增型態的增加;因此,、:數’故 大時,猜測u值或猜測秘密s來推導出u值則會變得相當耗值报 17 1280026 如同定義,u為fl之輸出值。另外,我們可進—步地在第 Η即^==加上—個歓的整數她於碰撞阻抗赫序函數 =某^況下,將使祕大·數常數b。藉此,η可產生_個 很大的u值。侧顯地,這樣的改變並沒有改變第—函數 數之雜,換言之,表達公式η(χ)=Η⑴已包^了 非倉達Λ式中的第—項ex_—ik—υ ’e表示為一固定 蜜齡ίϊ。在讀情形下,此參數^被設定為零,另於本專利申往 :Γ;=Γ侧情形下’依據密碼金鍮更新之需求,它會 式的-個推論結果: 卜抑_#式_為弟三怪等 等式:fi(s)+v——d~^ -v = H-4-q\/T rur^ 1 〜ι n “ . a是一個非負之 下文=了所提㈣兩她學轉式,稱為第五轉式盘第 =式而本專利申請__的元件s、v、n、e與n可滿从二 Ϊ ί 2 Ϊ : ⑻確姑⑻,Hash⑻V)e(— η) 弟,、值專式· mE(me)fl(s)x〇ne)v (mod η) ㈣無Ϊ㈣值為何’第五轉式«立,射M表示-數位訊自. 又二第ίί其值ί何’第六恒等式怪成二 fl 弟五恆等式之證明如下: 4 , u 如同^始RSA論文中之證明方法,此公式之證明也是 (Fermat Theorem)為基磁,士中以 、馬疋理 數t互質之整數r,=敘=下:對於任意一個與正整 r (mod 〇;此處p(t)為一個尤拉函數式φ 18 之數值,其定義為累計小於t且與t互質之正整數的個數。 對處數P而言,p (P)=P_1。 P)對無法整除Ha邮),則由f狀理之推論,1 _ 都是成立的,因為(p—1:)可以整除職㈠,m,在 ^曰^除HaSh(M)的相同假設下,ΐΞ_(Μ)_-l㈣(mQd p)對任 =成立的。因此,Hash(M)議邮)—q—n (_ p)在p
的情形下恆成立,此同餘等式巾的指數式之乘數表 任恩的非負整數。 IU i™P l,aq—υ P 整除 HaSh(M),則0 議邮)(m〇d 口)且 Has_ (mod p)恆成立,其原因是同餘等式的兩邊皆同餘於〇。 ^因,,無論P是否整除Hash(M),下列第七恆等式恆成立: 弟七值等式:Hash(M)EHash(M)1+wLCM(p-1,⑼(mod p)。 ^同理,對質數Q而言,下列第八恆等式恆成立: 第八恆等式:Hash(M)EHash(M) “虹.1,㈣(m〇d q)。 —由於n=pq且p、q互質,根據前述第七、八恆等式,可推導出 列第九恆等式對任何Μ皆成立: 第九恆等式:Hash(M)EHash(M)1+wLCM(p-1,㈣(m〇d η)。 在此我們再次敘述第四恆等式:fl(幻+v=d+axLCM(p—丨, 1),其中a是一個非負整數。另外,依據RSA產生金鑰對的過程中之 d、e與η值之關係,可得ΐΞ—(ιη〇(1 ,換言之,^ xe = l+gxLCM(p— 1,q—l),其中 g 是一個正整數。 接著我們將證明第五恆等式。 此恆等式的右式為(Hash(M)fUs)xHash(M)v)e (mod η),即 Hash(M)(fl(s)+v)eg η為模數進行模運算;其中,其指數式(fl(s)+v)e二 (d + axLCM(p-l, q-l))xe = dxe + axLCM(p-l, q-l)xe = l+g χ LCM(p—l,q—1),其中 g’ =g+axe 為一個正整數。 因此,依據已證明之第九恆等式,(Hash(M)fl(s)xHash(:M)v)eE Hash(M) g (Pl’ql)(mod n)EHash(M)恆成立,由此推論即完成第五恆 等式之證明。 1280026 n),gpmeti(lY^ ° ^fe^^^^4(ra〇fl(s)x^)v (mod 二ί第九=Γ -h;!s’其中g’為-個正整數。因此,依據 成立由>tW入;m—(m)()X(me)V(m〇dn)對於任意小於nim怪 成立。由此推論即完成第六恆等式之證明。 立。iZtT1)被(卜㈣―1)所取代時,以上之證明仍成 1)Χ(Η)即等於』=質數,的乘積時,- =此Γ並不依賴fl是如何地建構,如同稍早所討論的,在 =H(^b Α Γ且抗赫序函數而且b是一個非負整數的假設之下,f 1⑴ ()b為:個滿足第一轉換函數fl對碰撞阻抗特性之要求的函數 i式=1文已表達的第―與第二轉換函數n與f2可被下列之表 fl(x) = H(x)+b,其中Η與b同之前所定義;並且 ,(广 h,k, z)-Cx0(hxk)+z + ((i)m〇d ^(減)),其中一 個非負之整數,而p為尤拉㈣數。 、 rf Γ所建立的紅轉式是產生無魏位簽章的基礎。在 立汛心Μ上之數位簽章被定義為signature(M)3Hash(M)fl(s)x Hashy (mod n),即等於((Has晴〜 ^此處^固對n進械運算之指數表示式可視為對M計算的兩個部份 ^立簽章,分別為Hash⑻_ _ η與Η_(Μ)ν _ 假設給予數位訊息M的一個數位簽章,符號表 這個數值為-正確的簽章值,我們驗證 為了驗泣 hash(M) = (SGN)e (mod η) 是否為同餘相等。 ^·如上所述的數位簽章之計算,使用了來自簽署者提供的兩個秘 ^個人化秘禮與苐一私密指數,這兩個秘密也可個別地稱為第一、使 1280026 用者秘密與帛二觀者_ ;触縣 同夺的』姑表達之,㈣個碰撞阻抗赫序函數可能是相同的也可能是不 績Φ第式為資料加密與解㈣基礎。如同在傳統的脱密碼李 S中么,,與模數n被用來加密—個訊息m,而在RSA加解密的 '二=^個比n小的正整數。加密計算的定義為 解密方法是使用兩個私密指數之共同計算的結果,在 m = ^fKs), ciU5;xcv(mod η) cfl(s) mod η 行=======雜果相乘 與 cv mod n. 夫昭H 2 : 或兩個處理器來執行。 的一個實 鑰的方 非對說明了根據本專利中請案的-個實施例來更新 非對減㈣金鑰的方法;關3說明了根據本專利中請案的一 施例來使用兩個處理器協同合作以執行更新非對稱式密碼金 法0 立本專辦請騎描賴密碼金鑰姨的方法有—特色 下(即公開指數與模數不變),允許使用者利用新秘 ^ 私密指數並對舰更新第4密缝。 ㈣新的弟- 此-密碼更新之方法並非顯而易見的,因為我們假設在 程中無法使用三個核心元素:p、q與d。 圖2說明了更新過程,步驟如下··⑴在步驟21〇巾,接收新的個 ϊ=ΐΓ重新產生花費更少的成本。此目的之達成係二 更固人化秘絲啟織碼金鍮的姨,並且㈣公·鑰不變的情況 21 1280026 人化秘密與售的(即目前所使用的)個人化秘密 以新的個人化秘密與舊的個人化秘密作為第一函^ ^^20中, 別產生新的第一私密指數與舊的第-私密指數.(3^ ^輸入值,分 篦一叙笙—心…此土 口禾马負值時,回報更新失敗。 書 弟?第一私雄、私數在更新前與更新後滿足以下的恒等A · u +V, =U+V 一 叭· 在此U’與V,代表更新後的對應值。由此 第讀等式在麟之後鋪會紅;耻==弟二與 密應用之基礎的第五與第六怪等式仍然成立。乍,,、、彳簽早與貧料加解 」圖3中,—個主動式處理器扮演—魅動的角色 =則使用的個人化秘密與新的個人化秘密310並且在步驟3 b ΐ啟差值’同時另一個處理器302扮演-個被動的角色r :=r第二私密指數分別在兩個處理器使用的ί:= 入二! 人化秘密與第二私密指數有助於保護密碼系统之安 =此更新的程序會於步驟編回報更新失敗或步驟37〇回報更新成 證所可作進—步地修改。我們需要增加—個步驟來驗 :化秘密(即更新前的個人化之正確性。此 目的可藉由驗證接收的秘密所產生的數位簽章是否正確來達成。 述的更新触看似有—個缺點:步驟_產生的結果必須是-’否則即出現更新失敗。我們在表達公式f2中加入的、 cxLCM(h-l, k-l) 計用來克服此一缺點。使用一個適當的正錄c,可以保證所 差值密指數大於新的第—私密指數減去舊的第—私密指數之 差值的4值’所謂差值魏對值,當差值為正時即該差值本身,而 22 1280026 差值為負差二之負數。此一保證可以證明如下:根據表達公式 可H(X1)—H(X2)對任何可能的數值幻與& 了月b產生的取大值。s函數式H為已選定的函數,則並 值是-個已知的常數,因此,我們可將參^設定為_:個正整 cxLCM(p-1, q-1) 會大於該最大值。因此,第二私密指數大於 cxLCM(p-1, q-1), 而由第二私密指數減去該差值所產生的結果保證一定是正值。 現在假設fl的表達公式為_個眾所皆㈣碰撞阻抗赫序函數,如 、MD5、SHA-256、SHA-384 與 SHA-512。如果使用了這一類的 f^ 達公式,即使參數C設定為零,謂之更新擁,仍不太可能出朗
報更新失敗的情況。依據目前RSA實用上的情形,私密金输d與L 二1由q-Ι)很可齡是-她元長度大於512錄之正整數。根據本專 利申請書上的金鑰產生過程, v-f2(fl(s), p, q, d) = d+((-fl(s)) m〇d LCM(p-l, q —l))=d—f l(s)· 因為fl(s)遠小於d,故由d減去fi(s)將會產生一個非常接近4的正 整數。假設d為-個約2麵的巨大整數,則在此例中第二私密指數會是 一個約21G23的巨大數值。根據fl的表達公式, f 1 (xi) - f 1 (X2) 之差額會小於2512。由-個約21°23的巨大數值減去一個小於严的數值 將會產生一個正整數,由於 21023= 2512χ2511 , 因此前文更新方法中所使用的減法運算必須在重複相當多次之後 才有可此產生負值,在我們所舉的例子中,至少要重複2511次,才有 值的可能。 —人 員 現在假設 fl(x) = H(x)+b· 23 χ28〇〇26 以吏用-個大的b值’所推導出的第—私密指數u也許會大於或 非爷接近私密金鑰d,並且據此糾的第二私密絲v j 所討論過第二私密減v^—_tA的數值懒增加—個 XLCM(P-1,q-l)至表達公式f2中’使得導出之第二私密指數V合是一 個相當大的數值’否則無法保證如圖2或圖3之更新過 ^
恆為正值的結果。 t ,U =入1大的b值到fl的表達公式中,主要原因是為了增加簽章 二解挽的計异時間,可以有效地畴制攻擊,但较為了達成極度 安全的措施。在大部份的應用中,分別保護個人化秘密與第二私密指 數這兩個秘密,已經足以滿足安全_求。進—步地選擇加入一個大 的b值,可有效地建構出一套相當安全之密碼系統。
本專利申请書所提出的個人化秘密之選擇是具有彈性的。所選擇 的個人化秘密可能包含了兩部份,第—部份是指人所輸人之秘密,如 某一使用者所選擇之通行碼或個人識別碼(Pers〇nal响仙加“ Number,PIN) ’第二部份是指電腦自動讀取之秘密,如某一特定的裝 置識別碼或是儲存於電腦可讀記憶體中之隨機亂數的秘密;所選擇^ 個人化秘密也可能只包含了第一或第二部份其中之一。 在產生數位簽章過程中需要一個輸入值來代表個人化秘密,該輸 入=稱為個人化秘錄人錄pe;rs(〕nalized ·&丨咖)。個人化 秘岔輸入值可經由驗證數位簽章來進行驗證。因此,我們並不需要利 用個人化秘密或其衍生值如個人化秘密之赫序摘要值或其密文等作為 該輸入值之驗證所需的驗證資訊。在此,「個人化秘密之衍生值」係以 個人化秘密為單一輸入經過轉換後之輸出結果。 八一由一個較廣義的觀點來說,第二私密指數v也是個人化秘密s的 行生^但V係為函數式U接收了三個輸入值P、q與d,再加上個人 化秘密s後的輸出結果,其表達公式為: v:=f2(fl(s), p, q, d)= cxLCM(p—1, q—l)+d+(( —fl(s) mod LCM(p—1, q—1)). 由此推’可知’當p、q與d值保持機密,即使取得V值,仍是無法得 24 1280026 知個人化秘密S。 請參閱圖4,這一張圖用以說明根據本專利申請書所述之方法來 生數位簽章之實施例。 在此編號為400的範例程序中,假設個人化秘密是一個使用者 選擇之通行碼,並且我們使用PWD來表示該通行碼的一個輸入值。+ 驟410為接受齡簽章所需之轉,由者處触触訊息M、通ς 碼輸入值PWD,並自記憶體450中取得包含ν、η與e的密碼金餘三元 件之組合;步驟420則計算Μ之數位簽章·· SGN(M) =hash(M)fKPWD)xhash(M)v(mod η).
步驟430則驗證同餘等式 hash(M) ^SGN(M)e(m〇d η). 接著至步驟440,當步驟430之結果為相等時,則指定 signature(M)=SGN(M), 否則視需要回到步驟410。 如果在步驟420中所產生之數位簽章是不正確的,則不是通行碼 之輸入值PWD錯誤就是所取得的v、n#e中至少有一健是不正確的。 然而前者比較有可能,因為v、n與e並非是人所輸人之資料。 在圖4中,我們假設v、n與e存於一個健存設備㉞中。此一儲 存設備可以有很多不同的選擇,例如,無線射頻識別標藏(rfidt⑹、 記憶卡、1f或其他的記憶裝置。當個人化秘密是由人所輸入之秘密, 如PIN或是-個使用者所選擇之通行碼等,則使用可攜置具有下 列k點’攜帶該可攜式裝置並且由使用者自行記憶個人化秘密,則使 用者能度遊_路之+越爾絲提供數位簽章。 人之===:的二色。個人化秘密中的人所輸 — +彳饤裝置中,此外,部份或全部之人所輸入之秘 Ϊίί ί密文,皆不需為了作為輸入值之驗證而儲存於持久 性1東間®^個,性更進—步地加強了個人化秘密的機密性保護。 圖用以說明根據本專利說明書所述之方法,使 处态被動處理器來產生數位簽章。在這個實施例中,
25 !28〇〇26 由主動式處理器主導產生數位簽章的工作,同時被動式處理器辅助數 位簽章的產生。詳細的步驟如下所述。
被動式處理器502含有嵌入式的持久性記憶體以儲存内含v、η與 e的密碼金鑰三元件之組合並且能使用ν與η來產生部份數位簽章。在 步驟510中,數位簽章之程序係由主動式處理器501接收一個個人化 秘密輸入值來啟動,在此例中即接收通行碼輸入值PWD,另外主動式處 理器也接收數位訊息Μ ;在步驟511中,主動式處理器計算Hash(M), 並在步驟516中傳送該赫序值給被動式處理器作為啟動被動式處理器 的訊息,在步驟517中,被動式處理器自它自身的持久性記憶體550 中取得ν、η與e,計算Μ的第二部份數位簽章,本專利申請書稱之為 被動式的部份數位簽章(a reactiVe partial digital signature)並 以符號表示為DS2(M)。被動式處理器傳送n,e與DS2(M)作為對主動式 處理器的回應。在步驟512中,主動式處理器計算“的第一部份數位 簽章’本專利說明書稱之為主動式的部份數位簽章(& pr〇active part^l digital signature)並以符號表示為DS1(M),將該兩部份數 位簽章相乘後除以模數n所產生的餘數即為數位簽章SGN(M),此即步 驟513中的計算 SGN(M)=DSl(M)xDS2(M) (mod η) 接著執行514的驗證步驟,即測試以下的同餘等式是否相等 Hash(M)=SGN(M)e (mod η) 若不相等,則視需要重複數位簽 ,則進入步驟515,令數位簽章 若相等,即可確認SGN(M)是正確的; 章的計算程序。如果SGN(M)是正確的 之值為SGN(M),即 signature(M)=SGN(M). 了 卡中實處502植人1c(Inte咖ed⑽咖密碼 .祕ί 1 ^ 起傳統攜帶公開錢金鑰對的1c密碼卡 相反的’若將本發明實作於密碼卡中,;二: 26 (s 128〇〇26 卡對安全的威整秘密的-半’因峨 μΪ得注意的是,本專射請#可限定—個合法的鷄式的部份數 ==一個特定的編,該裝置也儲存了第二私密:數 k樣的特色更增加密碼系統的保護。 鮮=與,1的實施例的實現係以兩個秘絲取代私密金鑰並且分 忍的丨> 改後,則顯著地加強了密碼系統的安全性。 非對稱式密碼學有兩個主要的應用,其一應用於數位簽章 個則用於機密保護的加解密。私密金鑰有兩個不同的用途但卻一樣 重要:(1)作為好顧的私密錄,與⑵作為解密細的私穷 鑰。前文已描述了數位簽章之應用,其中「隱藏」之私密金输^一 把簽章私鑰。町雜述「隱藏」_密錢在_式_金餘交換 的過程愤為職轉之用,藉由金鑰錄,使通訊雙轉以交換―、 把對稱絲碼金鑰作顧密通訊H把軌雙方朗财的對 式密碼金鑰稱為通訊期間金鑰(a session key)。 =的其中-方為該「隱藏」之解密私鑰的持有者。依據本專利 ^明案所述,使用個人娜贿第二私難數取代隱藏之解密私餘。 玉鑰持有者知道個人化雜,例如,魏記絲猶這個秘密。為 參與對稱«碼錢的賴,此财者_在他的這—截出個人 秘密作為處職之輸人值,此處㈣也由可存取之持久性記憶體取得 密碼金鑰三元件之組合,驗合包含第二私雜數、模數與公開指數。 我們在使用輸入的個人化秘密與檢索而得之第二私密指數取代 私密金鑰執行解密計算之前,可事紐職兩項秘密衫正確: 提到的間接驗證技巧已於前文中說明。 ° 相同的模數與公開指數也必須能被通訊的另一端使用。 參照圖6,這-張圖說明了藉由整合本專利申請案中的密碼金瑜產 生及輸入值之驗證的技巧與通訊期間金鑰交換程序所獲得的整合程
27 1280026 在此圖中,6G1表示持有隱藏之解密私鑰之—方,而,表示對應 方。其洋細的步驟描述如下: 料士二驟GW · 6G2產生—隨機紐,將它視為通訊期帛金鑰並且使用 私曰A開金鑰(即公開指數與模數)予以加密。此步驟可由端開 始或疋由601端向602端的要求來啟始。 步驟620 · 602傳送加密後之通訊期間金鍮給6〇1。 步驟630 :「隱藏之解密私鑰」的擁有者在6〇1端輸入個人化秘密, =由可存取之持久性記憶體巾取得包含第二私密指數V、模數η與公
:曰,e的密碼金鑰三元件之組合,接著刪驗證輸入的個人化秘密 兵取得的密碼金鍮三元件之組合的正雜;驗證的方法與先前描述相 同六對一測試訊息產生數位簽章並且以決定個人化秘密輸入值與取得 的密碼金鑰三元件之組合是否正確。此步驟可被執行多次直到獲得正 確的驗證結果。 $驟640 : 601使用個人化秘密來產生第一私密指數,接著使用第 =在私數與第二私密指數作為解密子金鑰來解密步驟62〇接收到的 加密後之通訊期間金鑰以獲得通訊期間金鑰。 步驟650 : 601使用通訊期間金鑰加密一測試訊息並傳送該測試訊 息與加密後之訊息給6〇2。 步驟660 : 602使用另一端的通訊期間金鑰來解密收到的加密後之 訊息並且與接收到的訊息比較是否相等,602接著在步驟670中傳送確 認訊息給601,以確認雙方擁有相同的通訊期間金鑰或在步驟68〇回報 失敗訊息。 成功的交換通訊期間金鑰可讓雙方使用相同的對稱式金鑰來加密 明文或解密密文以達成機密性的通訊。 對於習知此一技術領域之技能的人而言,他們有能力在不偏離本 專利申請案原有之範圍與精神的情況下可構建出各樣的修正與變化, 根據此’本案所提的申請專利範圍涵蓋了依據說明書之内容及其相等 之說明所做的修正與變化。 【圖式簡單說明】 1280026 附圖對本專利申請案提供了_個更具體的說明 書的一部份,這些圖解釋了本專利申請案的實施例,藉由明 描述本專利申請觸建構的方法麵統。 糾文子的說明, 碼 金鑰=專_細—個_,_ 了產_稱式密碼 金鑰卿目丨剛了梅對稱式密 _2制了靖對稱式密碼
根據本專财請案的-個實施例,圖3說明了_兩個處理器共 同執行更新非對稱式密碼金鍮的方法之流程圖。‘ 根據本專射請案的-個實施例,圖4說明了產 法之流程圖。 π早幻力 、根據本專利巾請案的-個實施例,圖5說明了利用主動式處理器 與被動式處理杰來計真數位簽章的方法之流程圖。 根據本專利巾請案的-個實施例,圖6整合了傳統的通訊期間金 鑰交換程序與本專辦賴概狀料錢喊生触證技術。 【主要元件符號說明】 100密碼金鑰產生程序 105個人化秘密,以符號s表達之 110和115 ρ和q兩個相異質數 120第一私密指數,以符號u表達之 125私密金鑰,以符號d表達之 130第二私密指數,以符號v表達之 135模數,以符號η表達之 140公開指數,以符號e表達之 150第一轉換函數Π 160產生RSA公開/私密金鑰對的計算程序 170第二轉換函數f2 29 1280026
210 步驟 220 步驟 230 步驟 240 步驟 250 步驟 260步驟 301處理器執行的工作 302處理器執行的工作 310步驟 320 步驟 330步驟 340步驟 350步驟 360步驟 370 步驟 400 處理器執行的工作 410 步驟 420 步驟 430 步驟 440 步驟 450 儲存裝置 501 處理器執行的工作 502 處理器執行的工作 510 步驟 511 步驟 516 步驟 517 步驟 550 儲存裝置 601 持有隱藏私密金鑰之一方的處理器 30 1280026 602相互通訊之另一方的處理器 610 步驟 620步驟 630 步驟 640 步驟 650 步驟 660 步驟 670 步驟 680 步驟
31

Claims (1)

1280026 修正本 十、申請專利範圍: L種建構密碼學純(eryptQsystem)的方法,包含: 使用一個秘密產生一個第一私密指數; 個第i::指指數與兩個奇數質數產生-個模數、-個公開指數與- 數位密田第二私密指數、模數、公開指數’以應用於產生無證 簽早的第-用途或制於對數位訊息的加密與解密的第二用途。 L如申/轉利細第2射所提_方法,進—步避免齡人所輸入的秘 持久性記紐巾’其巾人所輸人的秘密之衍生值係—個轉換 出結果,而該轉換過程係以人所輪人的秘密為單-之輸入。 土如申請專利範圍第2項中所提出的方法,該項人所輸人的秘密包含一個 使用者所選擇的通行碼。 t f申睛專利範圍第}項中所提出的方法,該秘密(即用於產生該第一私 役指數^秘密)的選擇與該兩個奇數質數、模數、公開指數無關。 ^如申清專利範圍第1項中所提出的方法,該模數與公開指數的產生並沒 有用到該秘密相關的任何資訊。 7· 申請專利範圍第1項中所提出的方法,進一步包含: 艾更该秘密,據此更新相對應的第二私密指數,但保留模數與公開指 數不變。 8·如申請專利範圍第7項中所提出的方法,進一步包含: 接收一個新的個人化秘密與目前所使用的秘密; 使用此新的個人化秘密產生一個新的第一私密指數; 使用目前所使用的秘密產生目前所使用的第/私密指數; 將此新的弟一私密指數減去目前所使用的第,私密指數以得到一個差 額; 、 將第二私密指數減去此差額以得到一個結果; 32 ΤΙ ΟΠΠΟ/τ ί〇ι0ση I ί务 ~ρ 指數當結果為正值,以此結果取代原第二私密指數作為更新後的第二私密 當此結果為負值時,回報更新失敗。 公開扑數1項中所提出的方法,進一步包含將所產生的模數、 1n曰數糾-私㈣旨數齡於持久性記憶體中。 合作1項中所提出的方法,將該模數與公開指數兩者組 11.如需執行驗《證簽章或訊息加密的處理器使用。 ‘定的處,,用,生部文:ί私密指數僅提供給特 密指數之秘密)推導出來才亥第1項中所謂的秘密(即用於產生第-私 1用3於分割私密金鑰密碼技術(spllt—private—key町__y) 用;建構岔碼糸統(cryptosystem)的方法包含: 使用一個秘密產生一個第一私密指數; ,用此第-私密指數與兩個奇數質數產生一讎數、一個公開盥 一個弟二私密指數;以及 ” 奴j更為秘始、’據此更新相對應的第二私密指數,但保留模數與公開指 數不變。 參14六如申睛專利範圍第13項中所提出的方法,此秘密之選擇與該項中之兩 個可數質數、模數、公開指數無關。 ‘ 15·如中請專利範圍第13項中所提出的方法,此健作為—第—轉換函數 之輸入以產生該第一私密指數。 16、 如中睛專利範圍第15項中所提出的方法,此第—轉換函數為 一個碰撞 阻抗…1¾數’可產生-位儿字串,其經過編碼過程之後,被解讀為一非 負之整數。 17. 如中請專利範圍第13項巾所提出的方法,進—步包含湘魅公開私 密金鍮對的程序來產生-個公開金输與一個私密金鑰,其中該公開金餘係 由該核數與該公開指數兩者組成,而該私密金餘係由一個私密指數與該模 33 1280026 ㈣吵修淡)正替換頁j 數兩者組成 18·如申請專利範圍fl7項中所提出的方法, 第一私密指數、該兩個奇數質數與該私密二μ第一私密指數係以該 來產生。 作為1二轉換函數之輸入 19·如申請專利範圍第18項中所提出的方法, 算,且此函數式需接收四個變數作為輸人。 -轉換函數使用模數運 ^如申請專利範圍第爾所提出的方法,其第二轉換函數之表達公式 D) f2(y,h,k,z>cxLCM(h—1,卜1)+z+((—y)m〇dLdu 其中C為一個非負的整數,LCM表示為最小公倍數。 21.如專利申請範圍第15項所提出的方法,其°中,各兩 章或解開-個密文時,此處的第-轉換函數是用來^ 立簽 '如,範圍第15項所提出的方法,此输 —個碰撞阻抗赫序函數加上一個非負的整數。 数』n又疋為 23.如專利申請範圍第18項所提出的方法,其中,該第二轉換 士 f2(y, h, k, z) = cx^(hxk) + z + ((-y) mod ^(hxk 此時c為一非負整數,而P是一個尤拉(Euler) φ函式。 , _ 24·如專利申請範圍第15項所提出的方法,其更新步驟包含: 接收一個新的個人化秘密和該原始秘密; 利用該新的個人化秘密當作該第-轉換函數的輸人,以產生 第一私密錄; 利用該原始秘密當作該第一轉換函數的的輸入,以推導出該 私密指數; 以…弟一 由該新的第一私密指數減去該原始第一私密指數以得到一個差值; 由該第二私密指數減去該差值得到一結果;以及 §5亥結果為正值,以此結果取代第二私密指數作為更新後的第二私穷 指數。 . 114 25.如專利中請範圍第24項所提出的方法,進—步包含當此結果為非正值 34 1280026 ----immi·· 丨丨 费I刈明修漫)正替換頁I 修正本 時,回報一個更新失敗的訊息。 Γ更娜24項所獅法,制了_處理咖合作以執 27.如專利申請範圍第26項所提出的方法,其中,有—個處理器 動的角色以接受該原始秘密與該新的個人化秘密以养 ^ 、 理器則扮演被動的角色來更新該第二私密指數。X "值’而另一處 28·如專利申請範圍第24項所提出的方法,進一步 檢驗所輸入的該原始個人化秘密。 ,刖,先 29·如專利申請範圍第18項所提出的方法,1 後’該兩個奇數魏和該私密指數就會被着。 私密指數 30. 如專辦·„ 13斯提㈣方法,射 後,該第-私密指數便會被刪除。 座生只第-私在才曰數 31. 如專利申請範圍第13項所提出的方法,其中 章或解開-個密文時,·要由此處的 立簽 32. 如專利申請範圍第31項所提出 ¥:弟私在才曰數。 ㈣袖〜λλ Γ 出的方法,其中,在產生一個數位簽章或 個蚊的程序結束之後,該第—私密_彳_計算的記憶= =·合如專利__ 13 W巾,雜許多秘密的 自行、第13項所提出的方法,其巾,該秘密是—個由使用者 自仃選擇的通行碼與裝置識別石馬結合而成。 文㈣ 35· 一個用於產生數位簽章的方法,包含: 赫庠=彳0f 〃使用者秘密,—個第二使用者秘密,—個第—碰撞阻抗 二碰撞阻抗赫序函數和-模數,在-數位訊息上產生- 值是碰Ϊ阻抗赫序函數、該模數與-公開指數,以驗證某-數 值H數位訊息上—正確的數位簽章;以及 秘密 模數無公_數不_條件下,更·第—與第二使用者 35 1280026 Γ— ^ ------- 36如由咬击<,_ ^一―——〜,, :修正太 一個特定的裝置中。 的万/去其數位簽章的產生是被限制在 37·如申請專利範圍第35項所提 一數位簽章,包含以下運算式: /、中在—數位訊息Μ上產生 Hash(M)fI(s>xHash(M)v (raod n), 撞㈣為該第一使用者秘密,V為該第二使用者秘密,fl 筮、, 心阻抗赫序函數,Hash為該第二碰撞阻抗赫序函數 fl為该第一碰 38.如申請專利範圍第35項所提出 位輸上有效的數位簽章包含檢查町的模運是否為一數 Hash(M) sSGNe (mod η), 式· ,此處,SGN代表需要被驗證是否為數位簽章的數值, 一 石亚撞阻抗赫序函數,e為該公開指數,n為該模數。 as “亥第一 39·如申請專利範圍第35項所提出的方法,進—步包含·· 選擇一個人化秘密當作該第一使用者秘密; 第吏用者秘密作為該第一碰撞阻抗赫序函數的輸人 ’產生該 二私Ξ第:χΓ'數和兩個奇數產生該卿 將該第二私密指數當作是該第二使用者秘密。 40· —種產生數位簽章的方法,包含: 利用-個個人化秘密和兩個奇數質數產生一個使用者密碼金錄三元 之組合(a user crypto-key trio); 接收一個輸入值與檢索一個密碼金鑰三元件之組合; 利用接收的該輸入值和檢索而得的密碼金鑰三元件之組人, 個數位簽章; 、口 4异出- 當接收到的輸入值符合該個人化秘密,而且檢索而得的密碼金鑰三元 件之組合符合該使用者密碼金鑰三元件之組合,則可驗證該&位簽 效性。 41·如申請專利範圍第40項所述之產生數位簽章的方法,包含·· 36
1280026 ρπ胃曰修(¾正替埃頁j 、—一'-.…'〜l lir -r Jr 指數 利用該個人化秘密作為-第一轉換函數的輸入值以產生一個第一私密 利用該兩個奇數質數產生-個模數、—個公開指數與—個私密指數; 1弟-私密指數、該兩個質數、與該私密指數作為—第二轉換函數 的四項輸入值以產生一個第二私密指數; 、 'ΐ合Γί二私密指數、該公開指數、與該模數作為該使用者密碼金鍮 三兀件之組合。 42如申請專利範圍第40項所述之產生數位簽章的方法,其中該個人化秘 密包含一個使用者所選擇的通行碼。
利範圍第4〇項所述之產生數位簽章的方法,其中該個人化秘 ,曰乂匕3項人所輸入之秘後 、或—項自動讀取之秘密兩者其中之 一’或疋兩者皆包含於該個人化秘密中。 44·如申請專利範圍第43項所述之產生數位簽章的方法,進—步包 將_人職人之秘㈣触值贿騎久性記憶财,射該衍生值為 二轉換函數的輸綠,而該職聽接_項人所輸人之歸作為唯一的 一個被動式處理器輔助一個主 45· —個用以產生數位簽章的方法包含使用 動式處理器來產生數位簽章; 你田^中拉動式處理器主導產生該數位簽章的作業,而該獅式處理器 碼金鑰三元件之組合來產生—個部份數位縣,接著傳送該被動 j理器產生的部分數位簽章駐械處理轉為回應來自主動式處理器 之補助請求。 口° ^如申,專魏圍f 45項所述之產生數位簽章的方法,其巾在主動式處 !為中產生一個數位簽章包含: 接收一項數位訊息和一個個人化秘密輸入值; 計算該數位訊息的赫序值; 傳送該赫序值給該被動式處理器作為請求辅助產生數位簽章之訊息; 接收來自該被動式處㈣產生的部分數位簽章與—把公開金繪°,=中 〜公開金錄包含一個公開指數與一個模數; 37 1280026 正替換頁I 修正本 使用該赫序值、個人化秘密輸入值、與模數,在主動式處理器上計算 該數位訊息的一個部分數位簽章; σ ° 使用該模數作為模數乘法運算中之模數,將主動式處理器產生的部份 數位簽章與被動式處理器產生的部份數位簽章相乘以得到該數位簽章;刀 使用該公開金输來判斷該數位簽章是否正確; 當該個人化秘密輸入值與該個人化秘密不符合,則可判斷哼數位 無效,其中該個人化秘密是在金鑰產生程序中產生該密碼金鑰=元 = 合的一項輸入值。 、 47·如申請專利範圍第46項所述之產生一個數位簽章的方法,進一+勺人 變更該個人化秘密絲-個新的歸,並對應地更新該密碼金鑰三=: 組=,但鋪聰碼錢三元件之組合巾的公開金鑰(即公開指數與模數) 不、女1 〇 4金8錄一的種私嶋幅與^㈣㈣—域稱式密碼 由另一方產生一把通訊期間金鑰並將它加密; 傳送δ亥加始、後之通訊期間金餘給該私密金输的持有者; 由該私密金鑰持有者接收一個個人化秘密輸入值; 一由該私密金餘財者檢索—個密碼金駐元件之組合, 鍮三元件之組合包含-個第二私密指數、—個模數、與_個&開=:、、至 一=私密金鑰財者驗觀個人化秘錄人值與贿“得^丄 一兀件之組合的正確性; ”、、至输 該私密金鑰持有者使用該個人化秘密以產生—㈣—私 該私密金鑰持有者使職第—與第二私密指數 該加密後之軌_金鑰,進喊得該舰躺錢。解⑴子讀來解密 -— 元件之 驟 =·如,專纖圍第48麟狀產生—把對赋密碼 5〇·-個密碼纽(a eryptQsystem)的產生方法,包含有下列步 38 1280026 修正本 使用一個個人化秘密與兩個奇數質數來產生一個第二私密指數、一 公開私密指數、與一個模數,以組合成密碼金鑰三元件; 使用該個人化秘密與該密碼金鑰三元件之組合來產生和驗證數位簽 章;以及 保持該公開減和麵數不變的情況下,將該個人化歸 新的秘密並且對應地更新該第二私密指數。 钓個 51·如申請專利範圍第5〇項所述之率 ..7 <在碼糸統的產生方法,進一步包合姦& 一把由一位私密金鑰持有者與另一方 乂匕3產生 通訊之用的方法。 @使用崎稱⑨碼金齡作為機密 39
TW094122370A 2004-07-02 2005-07-01 RSA with personalized secret TWI280026B (en)

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
US58523204P 2004-07-02 2004-07-02

Publications (2)

Publication Number Publication Date
TW200629856A TW200629856A (en) 2006-08-16
TWI280026B true TWI280026B (en) 2007-04-21

Family

ID=38645565

Family Applications (1)

Application Number Title Priority Date Filing Date
TW094122370A TWI280026B (en) 2004-07-02 2005-07-01 RSA with personalized secret

Country Status (2)

Country Link
US (1) US20060083370A1 (zh)
TW (1) TWI280026B (zh)

Cited By (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
TWI455555B (zh) * 2010-07-30 2014-10-01 Sony Corp Authentication device, authentication method, and program

Families Citing this family (20)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US20030206638A1 (en) * 2002-05-01 2003-11-06 Zhichen Xu Increasing peer privacy by forwarding a label
BRPI0418778A (pt) * 2004-04-26 2007-10-09 Trek 2000 Int Ltd dispositivo de armazenamento de dados portátil com sistema de criptografia
FR2887351A1 (fr) * 2005-06-16 2006-12-22 St Microelectronics Sa Protection d'un calcul d'exponentiation modulaire effectue par un circuit integre
US20080013721A1 (en) * 2005-11-30 2008-01-17 Jing-Jang Hwang Asymmetric cryptography with discretionary private key
US7571471B2 (en) * 2006-05-05 2009-08-04 Tricipher, Inc. Secure login using a multifactor split asymmetric crypto-key with persistent key security
US7734045B2 (en) 2006-05-05 2010-06-08 Tricipher, Inc. Multifactor split asymmetric crypto-key with persistent key security
WO2008030184A1 (en) * 2006-07-04 2008-03-13 Khee Seng Chua Improved authentication system
FR2923968B1 (fr) * 2007-11-19 2009-11-13 Paycool Dev Procede de partage d'un secret fort entre deux parties dont l'une dispose de peu de puissance de traitement.
US7978854B2 (en) * 2008-03-25 2011-07-12 International Business Machines Corporation Asymmetric key generation
US7522723B1 (en) 2008-05-29 2009-04-21 Cheman Shaik Password self encryption method and system and encryption by keys generated from personal secret information
KR20130097985A (ko) * 2012-02-27 2013-09-04 삼성전자주식회사 양방향 커뮤니케이션을 위한 방법 및 장치
CN102811125B (zh) * 2012-08-16 2015-01-28 西北工业大学 基于多变量密码体制的无证书多接收者签密方法
CN103107890B (zh) * 2013-02-08 2016-08-31 彭艳兵 一种多方加密、签名、零知识证明的方法
US9369276B2 (en) 2013-03-14 2016-06-14 Signority Inc. Digital signature authentication without a certification authority
CN104539423B (zh) * 2014-12-16 2018-01-05 北京百旺信安科技有限公司 一种无双线性对运算的无证书公钥密码体制的实现方法
CN105024994B (zh) * 2015-05-29 2018-01-05 西北工业大学 无对运算的安全无证书混合签密方法
WO2017201406A1 (en) * 2016-05-19 2017-11-23 Arris Enterprises Llc Implicit rsa certificates
US10938563B2 (en) * 2017-06-30 2021-03-02 Intel Corporation Technologies for provisioning cryptographic keys
CN112926959A (zh) * 2021-03-26 2021-06-08 陈丽燕 Hash-RSA盲签名的数字货币方案
CN117611158B (zh) * 2024-01-23 2024-04-30 山东大学 一种基于分组密码算法的电子钱包生成方法及系统

Family Cites Families (19)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
GB8819767D0 (en) * 1988-08-19 1989-07-05 Ncr Co Public key diversification method
US5668878A (en) * 1994-02-28 1997-09-16 Brands; Stefanus Alfonsus Secure cryptographic methods for electronic transfer of information
US5905799A (en) * 1994-07-20 1999-05-18 Bell Atlantic Network Services, Inc. Programmed computer for identity verification, forming joint signatures and session key agreement in an RSA public cryptosystem
US5588061A (en) * 1994-07-20 1996-12-24 Bell Atlantic Network Services, Inc. System and method for identity verification, forming joint signatures and session key agreement in an RSA public cryptosystem
US5696825A (en) * 1995-02-13 1997-12-09 Eta Technologies Corporation Personal access management system
US5689564A (en) * 1995-02-13 1997-11-18 Eta Technologies Corporation Personal access management system
US5692049A (en) * 1995-02-13 1997-11-25 Eta Technologies Corporation Personal access management system
US5694472A (en) * 1995-02-13 1997-12-02 Eta Technologies Corporation Personal access management system
US5644710A (en) * 1995-02-13 1997-07-01 Eta Technologies Corporation Personal access management system
US5619574A (en) * 1995-02-13 1997-04-08 Eta Technologies Corporation Personal access management system
US6697488B1 (en) * 1998-08-26 2004-02-24 International Business Machines Corporation Practical non-malleable public-key cryptosystem
US6385727B1 (en) * 1998-09-25 2002-05-07 Hughes Electronics Corporation Apparatus for providing a secure processing environment
US7127063B2 (en) * 2001-12-31 2006-10-24 Certicom Corp. Method and apparatus for computing a shared secret key
EP1540880B1 (de) * 2002-09-11 2006-03-08 Giesecke & Devrient GmbH Geschützte kryptographische berechnung
US7200868B2 (en) * 2002-09-12 2007-04-03 Scientific-Atlanta, Inc. Apparatus for encryption key management
WO2005062919A2 (en) * 2003-12-22 2005-07-14 Wachovia Corporation Public key encryption for groups
US7083089B2 (en) * 2004-01-20 2006-08-01 Hewlett-Packard Development Company, L.P. Off-line PIN verification using identity-based signatures
EP1603088A1 (fr) * 2004-06-03 2005-12-07 Nagracard S.A. Composant pour module de sécurité
US7929689B2 (en) * 2004-06-30 2011-04-19 Microsoft Corporation Call signs

Cited By (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
TWI455555B (zh) * 2010-07-30 2014-10-01 Sony Corp Authentication device, authentication method, and program

Also Published As

Publication number Publication date
US20060083370A1 (en) 2006-04-20
TW200629856A (en) 2006-08-16

Similar Documents

Publication Publication Date Title
TWI280026B (en) RSA with personalized secret
US10211981B2 (en) System and method for generating a server-assisted strong password from a weak secret
Drijvers et al. Pixel: Multi-signatures for consensus
TWI233739B (en) Systems, methods and computer readable recording medium for remote password authentication using multiple servers
Buchmann et al. Introduction to public key infrastructures
Jarecki et al. Round-optimal password-protected secret sharing and T-PAKE in the password-only model
CN104270249B (zh) 一种从无证书环境到基于身份环境的签密方法
JP5171991B2 (ja) 鍵合意および移送プロトコル
EP2302834B1 (en) System and method for providing credentials
US6249585B1 (en) Publicly verifiable key recovery
US9438589B2 (en) Binding a digital file to a person's identity using biometrics
CN104301108B (zh) 一种从基于身份环境到无证书环境的签密方法
Koblitz et al. Critical perspectives on provable security: Fifteen years of" another look" papers
TWI326182B (en) Asymmetric cryptography with discretionary private key
EP1847062A1 (en) Challenge-response signatures and secure diffie-hellman protocols
CN101626364A (zh) 一类可基于口令、抗秘密数据泄露的认证和密钥交换方法
RU2760633C1 (ru) Выборочное раскрытие атрибутов и информационных элементов записи
US9088419B2 (en) Keyed PV signatures
WO2019110399A1 (en) Two-party signature device and method
JP2019537349A (ja) 複合デジタル署名
CN115885498A (zh) 阈值签名
Hajny et al. Attribute‐based credentials with cryptographic collusion prevention
JP2012103655A (ja) 耐量子コンピュータ性をもつディジタル署名方式
Thorncharoensri et al. Policy-controlled signatures and their applications
Sharp Applied Cryptography

Legal Events

Date Code Title Description
MM4A Annulment or lapse of patent due to non-payment of fees