TW202418130A - 用於簽名密碼學操作的簡化遮罩 - Google Patents
用於簽名密碼學操作的簡化遮罩 Download PDFInfo
- Publication number
- TW202418130A TW202418130A TW112137003A TW112137003A TW202418130A TW 202418130 A TW202418130 A TW 202418130A TW 112137003 A TW112137003 A TW 112137003A TW 112137003 A TW112137003 A TW 112137003A TW 202418130 A TW202418130 A TW 202418130A
- Authority
- TW
- Taiwan
- Prior art keywords
- random number
- private key
- split
- multiplexer
- generate
- Prior art date
Links
- 230000000873 masking effect Effects 0.000 title claims abstract description 18
- 238000000034 method Methods 0.000 claims abstract description 52
- 230000015654 memory Effects 0.000 claims description 20
- 238000012545 processing Methods 0.000 claims description 14
- 230000004044 response Effects 0.000 claims description 12
- 230000011218 segmentation Effects 0.000 claims 6
- 238000003860 storage Methods 0.000 description 22
- 238000004422 calculation algorithm Methods 0.000 description 11
- 238000004891 communication Methods 0.000 description 11
- 238000010586 diagram Methods 0.000 description 11
- 230000008901 benefit Effects 0.000 description 4
- 238000013461 design Methods 0.000 description 4
- 230000006870 function Effects 0.000 description 4
- 238000012795 verification Methods 0.000 description 4
- 238000004088 simulation Methods 0.000 description 3
- 238000004458 analytical method Methods 0.000 description 2
- 239000000969 carrier Substances 0.000 description 2
- 238000004590 computer program Methods 0.000 description 2
- 238000001514 detection method Methods 0.000 description 2
- 238000009826 distribution Methods 0.000 description 2
- 238000005192 partition Methods 0.000 description 2
- 230000008569 process Effects 0.000 description 2
- 230000009467 reduction Effects 0.000 description 2
- 238000013459 approach Methods 0.000 description 1
- 238000003491 array Methods 0.000 description 1
- 239000000872 buffer Substances 0.000 description 1
- 238000004364 calculation method Methods 0.000 description 1
- 239000003990 capacitor Substances 0.000 description 1
- 230000001413 cellular effect Effects 0.000 description 1
- 230000008859 change Effects 0.000 description 1
- 238000005336 cracking Methods 0.000 description 1
- 238000013500 data storage Methods 0.000 description 1
- 238000005516 engineering process Methods 0.000 description 1
- 230000003116 impacting effect Effects 0.000 description 1
- 238000007726 management method Methods 0.000 description 1
- 238000004519 manufacturing process Methods 0.000 description 1
- 238000005259 measurement Methods 0.000 description 1
- 238000013508 migration Methods 0.000 description 1
- 230000005012 migration Effects 0.000 description 1
- 230000000116 mitigating effect Effects 0.000 description 1
- 238000012986 modification Methods 0.000 description 1
- 230000004048 modification Effects 0.000 description 1
- 230000003287 optical effect Effects 0.000 description 1
- 230000002093 peripheral effect Effects 0.000 description 1
- 239000000523 sample Substances 0.000 description 1
- 238000000638 solvent extraction Methods 0.000 description 1
- 230000001131 transforming effect Effects 0.000 description 1
- 230000001052 transient effect Effects 0.000 description 1
Abstract
本文總體論述了用於安全密碼學遮罩的裝置、系統和方法。一種方法可包括:產生第一隨機數;確定第一隨機數對一質數取模的結果,從而產生第二隨機數;從該質數中減去該第二隨機數,從而產生第一減法結果;將私鑰值與第一減法結果相加,從而產生第一分割;以及回應於確定該私鑰值小於該隨機數,提供該第一分割和該第二隨機數作為該私鑰的分割。
Description
本申請主張2022年9月30日提交的名稱為「Low-Cost, High-Security Solutions for Digital Signature Algorithm」的美國臨時專利申請63/412,036的優先權權益,該美國臨時專利申請的全部內容以引用方式併入本文。
本揭露係關於用於帶簽名的密碼學操作的簡化遮罩。
側通道分析(Side-Channel Analysis, SCA)攻擊對加密實施的安全性構成重大威脅,因為它們利用可以從裝置上演算法的執行觀察到的一些資訊(例如,功耗或電磁輻射)來恢復密鑰。對策試圖減少目標秘密與所捕獲的側通道量測結果之間的相關性。然而,每種已知的對策都會增加密碼學系統設計的管理負擔成本。管理負擔可包括增加的功耗,增加的產生金鑰、簽名訊息或驗證金鑰的時間,增加的電路系統佔地面積以及其他。減輕多蹤SCA的正式方法是遮罩實施。遮罩包括將通常在單個指令中執行的操作分割為在多個指令中執行的數學等效操作。遮罩具有相當大的管理負擔,影響面積、功耗、潛時和/或傳輸量達至少兩倍或三倍。例如,布林遮罩會使成本增加約五(5)倍。
提供了被配置用於改進的遮罩操作的裝置、系統、方法和電腦可讀取媒體。藉由消除通常用於執行遮罩操作的簽名位元來改進遮罩操作。藉由消除簽名位元,消除了可以基於簽名位元上正數和負數出現的分佈來確定金鑰值的探測攻擊。藉由改變在加密期間執行的操作的次序來消除簽名位元。操作次序的改變確保了遮罩操作的相關結果始終為正。
一種用於在密碼學技術中遮罩操作安全性的方法可包括產生第一隨機數。該方法可包括確定第一隨機數對一質數取模的結果,從而產生第二隨機數。該方法可包括從質數中減去第二隨機數,從而產生第一減法結果。該方法可包括將私鑰值與第一減法結果相加,從而產生第一分割。該方法可包括回應於確定私鑰值小於隨機數,提供第一分割和第二隨機數作為私鑰的分割。
該方法可以包括從私鑰中減去第二隨機數,從而產生第二分割。該方法可包括回應於確定私鑰值小於或等於隨機數,由多工器提供第二分割和第二隨機數作為私鑰的分割。第一分割可以由多工器提供。
該方法可包括由比較器將私鑰值與第二隨機數進行比較。該方法可包括藉由比較器的輸出來選擇由多工器提供第一分割還是第二分割。在執行該方法時,向多工器提供輸入的操作者可以被限制為提供嚴格為正的相關值。
在下面的描述中,參考了形成所述描述的一部分的附圖,並且在附圖中藉由說明的方式圖示了可以實踐的特定實施例。該等實施例被足夠詳細地描述以使本領域技藝人士能夠實踐該等實施例。應當理解的是,可以利用其他實施例並且可以進行結構、邏輯和/或電氣改變而不脫離實施例的範疇。因此,以下對實施例的描述不應被理解為限制意義,並且實施例的範疇由所附申請專利範圍限定。
實施例使得能夠創建用於帶簽名的算術運算的算術遮罩,而不需要對該等算術運算執行布林遮罩。與其他解決方案不同,實施例使用模數縮減方法來防止簽名位元洩漏。實施例藉由完全移除簽名位元來實現這一點。藉由調整所執行的密碼學操作,而不改變密碼學操作的整體安全性和結果,來移除簽名位元。
第1圖圖示了舉例而言包括簽名裝置102和驗證裝置104的系統100的實施例的圖式。簽名裝置102包括密碼學電路系統106,該密碼學電路系統使用密碼學技術來提供裝置102是真實的驗證。密碼學電路系統106、108可以實施DSA技術,諸如ECDSA或另一種DSA技術。裝置102、104可以包括對其執行身份驗證或可能對其進行身份驗證的任何裝置。此類裝置包括電腦的部件或電腦本身(例如,膝上型電腦、智慧型手機、桌上型電腦、智慧型家電、車輛等)。
ECDSA與任何其他數位簽署的簽名執行相同的操作,但效率更高。此是由於ECDSA使用較小的金鑰來創建與任何其他數位簽名演算法相同級別的安全性。ECDSA可用於創建ECDSA證書,其是一種類型的用於認證證書所有者的身份的電子文檔。證書包含關於用於創建證書的金鑰的資訊、關於證書所有者的資訊以及證書頒發者(經驗證的可信實體)的簽名。此可信頒發者通常是亦具有帶簽名的證書的證書頒發機構,該帶簽名的證書可以經由信任鏈追溯到原始的證書頒發機構。
ECDSA的工作方式是分析橢圓曲線,並選擇該曲線上的點。該點乘以另一數字,由此在曲線上創建新點。即使隨時可以使用原始點,也很難找到曲線上的新點。ECDSA的複雜性意指ECDSA對於當前的加密破解加密方法而言更加安全。除了能夠更安全地抵禦當前的攻擊方法之外,ECDSA亦提供了多種其他益處。
提供了標準ECDSA的概要。假設客戶端1想要向客戶端2發送帶簽名的訊息。最初,他們必須就曲線的參數(C、G、n)達成一致。C是橢圓曲線字段和方程,G是橢圓曲線上的基點,並且n是G的整數階次。n是質數並且在下文被稱為「p」。客戶端1創建金鑰對,該金鑰對包括小於n的私鑰和公鑰曲線點Q,亦即私鑰×G,其中「×」表示橢圓曲線點乘以純量。然後客戶端1藉由以下方式對訊息進行簽名:
(i)產生訊息醢序;
(ii)選擇短鑰k,其中k小於n;
(iii)確定曲線點k×G;
(iv)計算r=(來自(iii)的曲線點的x值對n取模);
(v)計算s=k
-1((訊息醢序的最高有效位元(與n相同的位元數)+r*私鑰)對n取模;並且
(vi)提供簽名(r, s)
簽名裝置102產生公鑰和私鑰的對並使用私鑰對通訊進行簽名。驗證裝置104對簽名執行計算以確保簽名裝置102確實是發出通訊的裝置。產生金鑰、對通訊簽名和驗證金鑰中的每一者由密碼學電路系統106、108執行。裝置102產生公鑰110和私鑰對。裝置102藉由使用私鑰對訊息加密來對通訊進行簽名。公鑰110可用於對通訊、簽名112或其組合進行解密。簽名112可以包括通訊內容的醢序並且可以使用私鑰對該通訊的醢序進行加密。
金鑰產生演算法具有兩個操作步驟。首先,金鑰產生演算法採用隨機數產生器(諸如基於醢序的訊息認證碼(hash-based message authentication code, HMAC)確定性隨機位元產生器(deterministic random bit generator, DRBG)引擎)來產生私鑰。然後使用私鑰來產生公鑰110。公鑰110產生運算,該運算由被稱為純量乘法的乘法組成。乘法的運算元是私鑰和已知值。金鑰產生不會對多軌攻擊構成威脅。金鑰產生會受到單軌攻擊,該單軌攻擊包括簡單功率分析(simple-power-analysis, SPA)和水平功率攻擊。
簽名演算法包括與金鑰產生演算法相同的步驟,但具有額外操作。額外運算是模整數乘法和加法。模乘法和加法構成了多種側通道威脅。
驗證演算法與公共值一起工作,並且因此它不構成SCA攻擊威脅。
實施例使用有效的遮罩方法來解決該問題。遮罩藉由將實施的中間值分割成兩個或更多個獨立處理並在稍後添加時返回預期值的「份額」來隨機化該等中間值。
在DSA演算法中,有兩個用於簽名常式的秘密值,即短鑰k和私鑰。若使用k和私鑰兩者執行遮罩,則模整數運算中的設計成本將大約增加至少十(10)倍,此繼而會增加在面積、功率方面的成本,並且可能使設計時間收斂性較差。
第2圖圖示了舉例而言使用用於密碼學安全性的遮罩的密碼學電路200的實施例的圖式。密碼學電路200對私鑰226執行遮罩操作。遮罩操作藉由將中間值分成兩個或更多個獨立處理的份額來隨機化加密技術的中間值。所示的電路200包括模減法器220、模加法器222、模減法器224和多工器232。模減法器220、224皆確定私鑰226與隨機數r 228之間在對某個質數q取模的差值。模加法器222將質數q 230與減法器220的結果相加,從而產生私鑰-r+q的值,然後確定對質數q取模的結果。
假設存在隨機值r 228,該隨機值用於將私有值(有時稱為「私鑰」226)P分割成兩個份額P1 236和P2。P1 236是P-r(或P-r+q),而P2是r 228。攻擊者不會藉由探測P1 236和P2軌跡來實現P的偏差,因為隨機數r 228提供了關於P的隨機性。因為所有運算都是對質數q 230進行取模,該質數的位元長度是n,因此在產生P1 236和P2時執行減小。n為正整數。隨機數r 228的範圍只能在0與q-1之間,因此P2不需要減小。然而,由於P與r 228之間的減法,P1 236需要額外的努力。需注意,P1 236的範圍亦在0與q-1之間。若P-r小於0,則運算需要與q 230進行加法運算。因此,負P-r值變成(P-r)+q。由於P和r的範圍在0與q-1之間,因此P-r的結果需要n+1個位元,其中第(n+1)位元表示簽名位元。
多工器232可以由選擇線234控制。比較器的結果可用於控制選擇線234。比較器可以比較P和r。若P<r,則選擇線234可以為零(0)並且P-r+q可以被提供為P1 236。若P>r,則選擇線234可以是一(1)並且P-r可以被提供作為P1 236。
簽名位元指示數字的值是正還是負。通常,零代表正數,而值一代表負數。亦可以使用負邏輯。簽名位元通常是數字的最高有效位元,但亦可以由數字的最低有效位元表示。
第3圖圖示了舉例而言簽名位元(例如,電路200的減法器220的運算的最高有效位元)的模擬結果的圖表300。第3圖中的圖表圖示了藉由探測簽名位元線獲得的值以及實現該值的次數。在第3圖的實例中,獲得了13,000個樣本。若攻擊者僅探測簽名位元並記錄該簽名位元的值,則他們可能會得出第3圖所示的圖表。使用藉由僅探測電路200的簽名位元而獲得的值的分佈,攻擊者將能夠推斷出私鑰。
對於第3圖的模擬,質數q 230被假設為13,並且私鑰226被假設為7。隨機數是在範圍[0, q-1]內隨機選擇的。由於7比0更接近13,因此簽名位元為1(指示P<r,並且因此P-r為負)的次數小於簽名位元為0的次數。簽名位元為1的次數與簽名位元為0的次數之間的差異係足以指示私鑰或至少大大減少私鑰的可能值的資訊。此是因為使用電路200執行的遮罩操作將私鑰226暴露給比較並且需要額外的位元來進行操作。
簽名位元洩漏很重大,尤其是當攻擊者可以探測共享線(例如,比較器輸出)時。此種攻擊方法被稱為探測攻擊。例如,先前的工作已表明,週邊部件互連高速(Peripheral Component Interconnect express, PCIe)或記憶體加密單元可能會被探測,並且由於晶片外結構的性質而可能受到攻擊,即使它們具有加密保護亦如此。因此,當設計目標是提供遮罩級保護時,設計者應考慮每個輸出係可能的。實施例提供針對探測攻擊的安全性,諸如關於第2圖和第3圖所描述的。
第4圖圖示了舉例而言具有改進的遮罩安全性的用於密碼學的電路400的圖式。電路400克服了由電路200中的遮罩實現的探測漏洞。電路400與電路200的不同之處在於電路400不需要簽名位元。仍然(藉由比較器440)執行比較操作。然而,減法器220不是如電路200中一般從私鑰226中減去r 228,而是從質數q 230中減去隨機數r 228。由於保證r 228小於q 230,所以保證了減法器220的結果(r-q)為正。當P<r時,選擇線234選擇加法器222的結果,該結果在電路200和400中是相同的。在電路200中,加法器222返回P-r+q,其等價於加法器222在電路400中返回的值(q-r+P)。當私鑰226大於r 228時,選擇線234選擇P1 236作為P-r(與電路200中相同)。
電路400首先執行q 230與r 228之間的減法。由於已知r 228不能大於q 230,因此不需要帶簽名的算術運算。因此,輸出長度將是n個位元而不是n+1個位元。另外,若r大於P,則q-r小於q-P。此外,若r大於P,則已知P-r將為負數,因此加上q不能超過n個位元長度。因此,((q-r)+P)不能超過n個位元長度。仍另外,當且僅當P大於r時,(q-r)+P可以超過n個位元長度。雖然在P大於r的情況下第一選項輸出將不正確,但在此種情況下多工器將選擇「1」選項,因此額外位元仍然不相關並且不需要。
若選擇「1」選項,則P-r的結果不能大於n個位元長度。當且僅當選擇「0」選項時,P-r可以大於n個位元長度,在此種情況下,減法器224的輸出是不相關的。
需注意,可以使用布林遮罩來對比較器440運算進行遮罩。此不是額外的工作,因為電路200亦可以受益於布林遮罩。電路400的益處是消除了簽名位元,從而移除了探測攻擊漏洞。
儘管電路400防止了由電路200的算術運算引起的洩漏。由於比較的非線性運算性質,所以比較P和r然後使用多工器進行選擇仍然會導致洩漏。此問題對於電路400而言並不是獨特的。解決此問題可以使用布林遮罩來解決。儘管可以使用布林遮罩進行比較,但是其餘部分支持算術遮罩,而不會洩漏帶簽名的位元。因此,電路400的表現優於電路200。
第5圖圖示了舉例而言用於密碼學遮罩操作安全性的方法500的實施例的圖式。如圖所示的方法500包括在操作550處產生第一隨機數;在操作552處確定第一隨機數對質數取模的結果,從而產生第二隨機數;在操作554處,從質數中減去第二隨機數,從而產生第一減法結果;在操作556處,將私鑰值與第一減法結果相加,從而產生第一分割;以及在操作558處,回應於確定私鑰值小於第二隨機數,提供第一分割以及第一或第二隨機數作為私鑰的分割。
方法500可進一步包括從私鑰中減去第二隨機數,從而產生第二分割。方法500可進一步包括回應於確定私鑰值小於或等於第二隨機數,由多工器提供第二分割和第二隨機數作為私鑰的分割。方法500可進一步包括其中由多工器提供第一分割。方法500可進一步包括由比較器將私鑰值與第二隨機數進行比較。方法500可進一步包括藉由比較器的輸出來選擇由多工器提供第一分割還是第二分割。方法500可進一步包括其中向多工器提供輸入的操作者被限制為提供嚴格為正的值。
第6圖圖示了舉例而言用於實施一或多個實施例的機器600(例如,電腦系統)的實施例的方塊圖。裝置102、104、密碼學電路系統106、108、加法器222、減法器220、224、電路200或400、或方法500或其部件或操作中的一或多者可以至少部分地使用機器600的部件來實施。一個示例性機器600(呈電腦的形式)可以包括處理單元602、記憶體603、可移除儲存裝置610和不可移除儲存裝置612。儘管示例性計算裝置被圖示和描述為機器600,但是該計算裝置在不同實施例中可以呈不同形式。例如,計算裝置可以替代地是智慧型手機、平板電腦、智慧型手錶、或包括關於第6圖所圖示和描述的相同或相似元件的其他計算裝置。諸如智慧型手機、平板電腦及智慧型手錶的裝置通常統稱為行動裝置。另外,雖然各種資料儲存元件被圖示為機器600的一部分,但是儲存裝置亦可以或替代地包括可經由網路(諸如網際網路)存取的基於雲端的儲存裝置。
記憶體603可以包括揮發性記憶體614和非揮發性記憶體608。機器600可以包括或者有權存取計算環境,該計算環境包括各種電腦可讀取媒體,諸如揮發性記憶體614和非揮發性記憶體608、可移除儲存裝置610和不可移除儲存裝置612。電腦儲存裝置包括隨機存取記憶體(random access memory, RAM)、唯讀記憶體(read only memory, ROM)、可抹除可程式化唯讀記憶體(erasable programmable read-only memory, EPROM)和電可抹除可程式化唯讀記憶體(electrically erasable programmable read-only memory, EEPROM)、快閃記憶體或其他記憶體技術、壓縮光碟唯讀記憶體(compact disc read-only memory, CDROM)、數位通用磁碟(Digital Versatile Disk, DVD)或其他光碟儲存裝置、磁帶盒、磁帶、磁盤儲存裝置或能夠儲存用於執行本文所述的功能的電腦可讀取指令的其他磁性儲存裝置。
機器600可以包括或有權存取包括輸入606、輸出604和通訊連接616的計算環境。輸出604可以包括顯示裝置,諸如觸控螢幕,該顯示裝置亦可以用作輸入部件。輸入606可包括以下中的一或多者:觸控螢幕、觸控板、滑鼠、鍵盤、相機、一或多個裝置專用按鈕、整合在機器600內或經由有線或無線資料連接部耦接至機器600的一或多個感測器、以及其他輸入部件。電腦可以在網路環境中使用通訊連接部操作,以連接到一或多台遠程電腦,諸如資料庫伺服器,包括基於雲端的伺服器和儲存裝置。遠程電腦可以包括個人電腦(personal computer, PC)、伺服器、路由器、網路PC、同級裝置或其他共用網路節點等。通訊連接部可包括區域網路(Local Area Network, LAN)、廣域網路(Wide Area Network, WAN)、蜂窩網路、電氣和電子工程師協會(Institute of Electrical and Electronics Engineer, IEEE) 802.11(Wi-Fi)、藍牙或其他網路。
儲存在電腦可讀取儲存裝置上的電腦可讀取指令可由機器600的處理單元602(有時稱為處理電路系統)執行。硬驅動機、CD-ROM和RAM是包括非暫時性電腦可讀取媒體(諸如儲存裝置)的製品的一些實例。例如,電腦程式618可用於使處理單元602執行本文所述的一或多種方法或演算法。
在一些實施例中,本文所述的操作、功能或演算法可以以軟體來實施。該軟體可以包括儲存在電腦或其他機器可讀取媒體或儲存裝置(諸如一或多個非暫時性記憶體(例如,非暫時性機器可讀取媒體)或其他類型的本端或聯網的基於硬體的儲存裝置)上的電腦可執行指令。另外,此類功能可以對應於子系統,該等子系統可以是軟體、硬體、軔體或其組合。根據需要,可以在一或多個子系統中執行多種功能,並且所描述的實施例僅是實例。該軟體可以在處理電路系統上執行,諸如可以包括數位信號處理器、ASIC、微處理器、中央處理單元(central processing unit, CPU)、圖形處理單元(graphics processing unit, GPU)、現場可程式化閘陣列(field programmable gate array, FPGA)或在電腦系統上操作的其他類型的處理器,諸如個人電腦、伺服器或其他電腦系統,從而將此類電腦系統轉變為專門程式化的機器。另外或替代地,處理電路系統可包括電氣和/或電子部件(例如,一或多個電晶體、電阻器、電容器、電感器、放大器、調變器、解調器、天線、無線電、調節器、二極體、振盪器、多工器、邏輯閘、緩衝器、快取、記憶體、GPU、CPU、現場可程式化閘陣列(field programmable gate array, FPGA)等)。術語電腦可讀取媒體、機器可讀取媒體和儲存裝置不包括載波或信號,以至於載波和信號被認為過於短暫。
額外注釋和實例
實例1包括一種用於密碼學安全性的方法,該方法包括產生第一隨機數;確定第一隨機數對一質數取模的結果,從而產生第二隨機數;從該質數中減去該第二隨機數,從而產生第一減法結果;將私鑰值與第一減法結果相加,從而產生第一分割;以及回應於確定私鑰值小於第二隨機數,提供第一分割以及第一或第二隨機數作為私鑰的分割。
在實例2中,實例1進一步包括從私鑰中減去第二隨機數,從而產生第二分割。
在實例3中,實例2進一步包括回應於確定私鑰值小於或等於第二隨機數,由多工器提供第二分割和第二隨機數作為私鑰的分割。
在實例4中,實例3進一步包括其中由多工器提供第一分割。
在實例5中,實例4進一步包括由比較器將私鑰值與第二隨機數進行比較。
在實例6中,實例5進一步包括藉由比較器的輸出來選擇由多工器提供第一分割還是第二分割。
在實例7中,實例1至實例6中的至少一者進一步包括其中向多工器提供輸入的操作者被限制為提供嚴格為正的值。
在實例8中,裝置被配置為實施實例1至實例7中的一者的方法。
在實例9中,系統被配置為執行實例1至實例7中的一者的方法。
實例10包括一種電腦可讀取媒體,該電腦可讀取媒體包括指令,該等指令當由機器執行時使得該機器執行請求項1-7中任一項所述的方法。
儘管上面已經詳細描述了一些實施例,但是其他修改亦是可能的。例如,附圖中所描繪的邏輯流程不需要所示的次序或連續的次序來實現期望的結果。實施例所期望的可以包括使用者在遷移到新版本的應用程序之前、期間和之後對其資料、設置、控制和秘密的狀態有信心。使用多種因素來檢查遷移之前和之後的資料狀態、完整性、存在和不存在可以增加信心。可以提供其他步驟,或者可以從所描述的流程中消除步驟,並且可以向所描述的系統添加其他部件,或者從所描述的系統中移除其他部件。其他實施例可以在所附申請專利範圍的範疇內。
100:系統
102:簽名裝置
104:驗證裝置
106:密碼學電路系統
108:密碼學電路系統
110:公鑰
112:簽名
200:密碼學電路
220:模減法器
222:模加法器
224:模減法器
226:私鑰
228:隨機值r
230:質數q
232:多工器
234:選擇線
236:份額P1
300:圖表
400:電路
440:比較器
500:方法
550:操作
552:操作
554:操作
556:操作
558:操作
600:機器
602:處理單元
603:記憶體
604:輸出
606:輸入
608:非揮發性記憶體
610:可移除儲存裝置
612:不可移除儲存裝置
614:揮發性記憶體
616:通訊連接
618:電腦程式
第1圖圖示了舉例而言包括簽名裝置和驗證裝置的系統的實施例的圖式。
第2圖圖示了舉例而言使用用於密碼學安全性的遮罩的密碼學電路的實施例的圖式。
第3圖圖示了舉例而言簽名位元上的模擬結果。
第4圖圖示了舉例而言具有改進的遮罩安全性的用於密碼學的電路的圖式。
第5圖圖示了舉例而言用於密碼學遮罩操作安全性的方法的實施例的圖式。
第6圖圖示了舉例而言用於實施一或多個實施例的機器(例如,電腦系統)的實施例的方塊圖。
國內寄存資訊(請依寄存機構、日期、號碼順序註記)
無
國外寄存資訊(請依寄存國家、機構、日期、號碼順序註記)
無
220:模減法器
222:模加法器
224:模減法器
226:私鑰
228:隨機值r
230:質數q
232:多工器
234:選擇線
236:份額P1
400:電路
440:比較器
Claims (20)
- 一種用於在一密碼學技術中遮罩操作安全性的方法,該方法包括以下步驟: 產生一第一隨機數; 確定該第一隨機數對一質數取模的一結果,從而產生一第二隨機數; 從該質數中減去該第二隨機數,從而產生一第一減法結果; 將一私鑰的一值與該第一減法結果相加,從而產生一第一分割;以及 回應於確定該私鑰值小於該第二隨機數,提供該第一分割和該第二隨機數作為該私鑰的分割。
- 如請求項1所述之方法,進一步包括以下步驟:從該私鑰中減去該第二隨機數,從而產生一第二分割。
- 如請求項2所述之方法,進一步包括以下步驟:回應於確定該私鑰值小於或等於該第二隨機數,由一多工器提供該第二分割和該第二隨機數作為該私鑰的分割。
- 如請求項3所述之方法,其中該第一分割由該多工器提供。
- 如請求項4所述之方法,進一步包括以下步驟:由一比較器將該私鑰值與該第二隨機數進行比較。
- 如請求項5所述之方法,進一步包括以下步驟:藉由該比較器的輸出來選擇由該多工器提供該第一分割還是該第二分割。
- 如請求項6所述之方法,其中向該多工器提供輸入的操作者被限制為提供嚴格為正的值。
- 一種密碼學裝置,包括: 一處理電路系統;以及 一記憶體,該記憶體包括指令,該等指令當由該處理電路系統執行時使該處理電路系統執行用於對一密碼學技術的操作安全性進行遮罩的操作,該等操作包括以下步驟: 產生一第一隨機數; 確定該第一隨機數對一質數取模的一結果,從而產生一第二隨機數; 從該質數中減去該第二隨機數,從而產生一第一減法結果; 將一私鑰的一值與該第一減法結果相加,從而產生一第一分割;以及 回應於確定該私鑰值小於該第二隨機數,提供該第一分割和該第二隨機數作為該私鑰的分割。
- 如請求項8所述之裝置,其中該等操作進一步包括以下步驟:從該私鑰中減去該第二隨機數,從而產生一第二分割。
- 如請求項9所述之裝置,其中該等操作進一步包括以下步驟:回應於確定該私鑰值小於或等於該第二隨機數,由該處理電路系統的一多工器提供該第二分割和該第二隨機數作為該私鑰的分割。
- 如請求項10所述之裝置,其中該第一分割由該多工器提供。
- 如請求項11所述之裝置,其中該等操作進一步包括以下步驟:由該處理電路系統的一比較器將該私鑰值與該第二隨機數進行比較。
- 如請求項12所述之裝置,其中該等操作進一步包括以下步驟:藉由該比較器的輸出來選擇由該多工器提供該第一分割還是該第二分割。
- 如請求項13所述之裝置,其中向該多工器提供輸入的操作者被限制為提供嚴格為正的值。
- 一種電腦可讀取媒體,包括指令,該等指令當由一機器執行時使該機器執行用於對一密碼學技術中的操作安全性進行遮罩的操作,該等操作包括以下步驟: 產生一第一隨機數; 確定該第一隨機數對一質數取模的一結果,從而產生一第二隨機數; 從該質數中減去該第二隨機數,從而產生一第一減法結果; 將一私鑰值的一值與該第一減法結果相加,從而產生一第一分割;以及 回應於確定該私鑰值小於該第二隨機數,提供該第一分割和該第二隨機數作為該私鑰的分割。
- 如請求項15所述之電腦可讀取媒體,其中該等操作進一步包括以下步驟:從該私鑰減去該第二隨機數,從而產生一第二分割。
- 如請求項16所述之電腦可讀取媒體,其中該等操作進一步包括以下步驟:回應於確定該私鑰值小於或等於該隨機數,由一多工器提供該第二分割和該第二隨機數作為該私鑰的分割。
- 如請求項17所述之電腦可讀取媒體,其中該第一分割由該多工器提供。
- 如請求項18所述之電腦可讀取媒體,其中該等操作進一步包括以下步驟:由一比較器將該私鑰值與該第二隨機數進行比較。
- 如請求項19所述之電腦可讀取媒體,其中該等操作進一步包括以下步驟:藉由該比較器的輸出來選擇由該多工器提供該第一分割還是該第二分割。
Applications Claiming Priority (2)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
US63/418,168 | 2022-10-21 | ||
US18/109,057 | 2023-02-13 |
Publications (1)
Publication Number | Publication Date |
---|---|
TW202418130A true TW202418130A (zh) | 2024-05-01 |
Family
ID=
Similar Documents
Publication | Publication Date | Title |
---|---|---|
Pereida García et al. | Make sure DSA signing exponentiations really are constant-time | |
Tomlinson | Introduction to the TPM | |
US11251935B2 (en) | Multiplicative blinding for cryptographic operations | |
CN111542820B (zh) | 用于可信计算的方法和装置 | |
US10771264B2 (en) | Securing firmware | |
JP2022505355A (ja) | 周辺デバイス | |
CN108632240B (zh) | Fpga代码的保密验证 | |
US11575501B2 (en) | Preserving aggregation using homomorphic encryption and trusted execution environment, secure against malicious aggregator | |
US20160149708A1 (en) | Electronic signature system | |
EP3188067A1 (en) | Security control method and network device | |
JP7256862B2 (ja) | 保護されたコンテナ間のセキュア通信方法およびそのシステム | |
US20230254160A1 (en) | A calculation method and device for elliptic curve digital signature to resist memory disclosure attacks | |
US11748521B2 (en) | Privacy-enhanced computation via sequestered encryption | |
EP4348920A1 (en) | Binding with cryptographic key attestation | |
Fanfara et al. | Usage of asymmetric encryption algorithms to enhance the security of sensitive data in secure communication | |
US20240137216A1 (en) | Simplified masking for signed cryptography operations | |
TW202418130A (zh) | 用於簽名密碼學操作的簡化遮罩 | |
US20240113890A1 (en) | Low-Cost, High-Security Solutions for Digital Signature Algorithm | |
US20220043900A1 (en) | Method and device for authenticating an fpga configuration | |
TW202416161A (zh) | 用於數位簽名演算法的低成本、高安全性解決方案 | |
WO2024072529A1 (en) | Low-cost, high-security solutions for digital signature algorithm | |
WO2023151171A1 (zh) | 抗内存信息泄露攻击的椭圆曲线数字签名计算方法及装置 | |
US20220385481A1 (en) | Certificate-based multi-factor authentication | |
Saboor et al. | Root-Of-Trust for Continuous Integration and Continuous Deployment Pipeline in Cloud Computing | |
Faisal et al. | Research Article Establishment of Trust in Internet of Things by Integrating Trusted Platform Module: To Counter Cybersecurity Challenges |