32位DeepCover安全微控制器(MAXQ1050、MAXQ1850和MAXQ1103)為執(zhí)行模塊化運算提供硬件支持。這是使用稱為模塊化算術(shù)加速器 (MAA) 的引擎完成的。本應(yīng)用筆記給出了各種模量尺寸、關(guān)鍵類型和優(yōu)化級別的典型執(zhí)行時間。
介紹
模冪用于幾種加密算法,特別是RSA公鑰算法和橢圓曲線數(shù)字簽名算法(ECDSA)。它還用于發(fā)現(xiàn)素數(shù)和查找模逆。本應(yīng)用筆記描述了什么是模冪,概述了MAA,并列出了執(zhí)行各種大小冪的典型時間。
MAXQ30架構(gòu)采用精簡指令集計算機(RISC),所有指令長度為16位,在一個周期內(nèi)執(zhí)行。32 位算術(shù)和邏輯單元 (ALU) 在連接到 32 位總線時與 32 位寄存器和值一起工作。
模冪
模冪由以下等式描述:
結(jié)果 = 基數(shù)指數(shù)模量。
例如:9 = 72 mod 10。
在此示例中,9 是結(jié)果,7 是底數(shù),2 是指數(shù),10 是模數(shù)。在這種情況下,由于模數(shù) 10 在二進制中為 4 位長,因此大小為 4。
MAA 執(zhí)行模加法、減法、乘法、平方、平方,然后乘法和模冪。所有這些操作都可以以最大 2048 位長度的模數(shù)完成。
MAA 從加密時鐘運行。該時鐘可能來自系統(tǒng)時鐘,該系統(tǒng)時鐘由外部晶體頻率決定,或者從加密環(huán)運行。DeepCover安全微控制器(MAXQ1050和MAXQ1850)的內(nèi)部加密環(huán)工作頻率為55MHz至75MHz,典型速度為65MHz。DeepCover安全微控制器(MAXQ1103)的內(nèi)部加密環(huán)可以以45MHz至65MHz的速度運行,典型速度為55MHz。?
MAXQ1050和MAXQ1850上的MAA相同,因此從加密環(huán)運行時的時序相同。這兩部分的MAA使用32位×16位乘法器和32位數(shù)據(jù)總線。在MAXQ1103上實現(xiàn)MAA具有64位×32位乘法器和64位數(shù)據(jù)總線。MAXQ1103上的MAA執(zhí)行速度更快,但代價是使用更多的硅面積。
在啟用優(yōu)化的情況下運行時,簡單功耗分析 (SPA) 和差分功耗分析 (DPA) 等功耗分析攻擊可能能夠提取指數(shù)信息。建議始終使用私鑰進行非優(yōu)化計算。
表 1 至 3 中的數(shù)據(jù)是典型的運行時間。每個條目是 400 次計算的平均時間,使用基數(shù)、模數(shù)和指數(shù)的統(tǒng)一隨機數(shù),最高有效位設(shè)置為模數(shù)。在公鑰計算的情況下,使用 0x10001 的十六進制值而不是隨機數(shù)。這是 RSA 中公共指數(shù)的典型值。計算的時間是從操作開始到完成。不包括將值加載到內(nèi)存中進行計算的時間。
通過采用中國余數(shù)定理(CRT),可以實現(xiàn)模指數(shù)運算的顯著速度改進。使用 CRT 需要兩個較小的模塊化冪運算,而不是一個大的運算。不是對大模量執(zhí)行模塊化指數(shù)計算,而是對模量的兩個因子進行模塊化指數(shù)計算。例如,在 RSA 中,模數(shù)是兩個素數(shù) p 和 q 的乘積。如果p和q都是1024位,使用MAXQ1103對這些位進行兩次模指數(shù)運算大約需要165ms。如果沒有 CRT,則需要 2048 位模塊化指數(shù)運算,大約需要 557 毫秒。CRT算法需要額外的計算,這將增加總時間,但預(yù)計速度會快兩倍以上。
表1左側(cè)的數(shù)據(jù)最有趣。這些是在非優(yōu)化模式下從加密環(huán)運行時執(zhí)行模塊化冪運算的典型經(jīng)過時間。使用優(yōu)化和公鑰的典型運行時間位于右側(cè)兩列中。
表 1.從加密環(huán)運行時的典型時間 | ||||||||
從加密環(huán)運行的 MAA(以毫秒為單位的時間) | ||||||||
私鑰 | 公鑰 = 0x10001 | |||||||
未優(yōu)化 | 優(yōu)化 | 未優(yōu)化 | 優(yōu)化 | |||||
大小 | MAXQ1050/MAXQ1850 在 65MHz | MAXQ1103 在 55MHz | MAXQ1050/MAXQ1850 在 65MHz | MAXQ1103 在 55MHz | MAXQ1050/MAXQ1850 在 65MHz | MAXQ1103 在 55MHz | MAXQ1050/MAXQ1850 在 65MHz | MAXQ1103 在 55MHz |
160 | 1.89 | 1.07 | 1.42 | 0.809 | 0.21 | 0.123 | 0.116 | 0.0723 |
192 | 2.91 | 1.36 | 2.19 | 1.02 | 0.26 | 0.130 | 0.147 | 0.0768 |
224 | 4.22 | 2.16 | 3.18 | 1.62 | 0.32 | 0.173 | 0.182 | 0.101 |
256 | 5.87 | 2.59 | 4.41 | 1.95 | 0.39 | 0.183 | 0.220 | 0.107 |
384 | 16.5 | 6.72 | 12.4 | 5.05 | 0.73 | 0.310 | 0.404 | 0.178 |
512 | 35.2 | 13.6 | 26.4 | 10.2 | 1.16 | 0.466 | 0.642 | 0.266 |
640 | 64.4 | 24.0 | 48.3 | 18.0 | 1.69 | 0.650 | 0.933 | 0.368 |
768 | 106.0 | 38.5 | 79.7 | 28.9 | 2.32 | 0.864 | 1.28 | 0.487 |
1024 | 237.0 | 82.5 | 178.0 | 61.9 | 3.86 | 1.38 | 2.12 | 0.772 |
1536 | 750.0 | 249.0 | 563.0 | 187.0 | 8.12 | 2.75 | 4.46 | 1.53 |
2048 | 1,720.0 | 557.0 | 1,290.0 | 418.0 | 13.9 | 4.58 | 7.64 | 2.54 |
表 2 列出了在優(yōu)化和非優(yōu)化模式下對私鑰數(shù)據(jù)執(zhí)行模塊化冪的典型時間。表 3 列出了在優(yōu)化和非優(yōu)化模式下使用公鑰對這三個部分執(zhí)行模冪的典型時間。
表 2.從系統(tǒng)時鐘運行時的典型私鑰時間 | ||||||
從系統(tǒng)時鐘運行的 MAA(以毫秒為單位的時間) | ||||||
私鑰/未優(yōu)化 | 公鑰/優(yōu)化 | |||||
大小 | MAXQ1050 在 25MHz | MAXQ1850 在 16MHz | MAXQ1103 在 25MHz | MAXQ1050 在 25MHz | MAXQ1850 在 16MHz | MAXQ1103 在 25MHz |
160 | 4.93 | 7.68 | 2.37 | 3.71 | 5.78 | 1.79 |
192 | 7.58 | 11.8 | 3.00 | 5.70 | 8.88 | 2.26 |
224 | 11.0 | 17.2 | 4.75 | 8.27 | 12.9 | 3.58 |
256 | 15.3 | 23.9 | 5.71 | 11.5 | 17.9 | 4.29 |
384 | 42.9 | 67.0 | 14.8 | 32.2 | 50.3 | 11.1 |
512 | 91.7 | 143.0 | 30.0 | 68.9 | 107.0 | 22.5 |
640 | 167.0 | 262.0 | 52.9 | 126.0 | 196.0 | 39.6 |
768 | 276.0 | 432.0 | 84.8 | 208.0 | 324.0 | 63.6 |
1024 | 617.0 | 964.0 | 182.0 | 463.0 | 722.0 | 136.0 |
1536 | 1,950.0 | 3,050.0 | 549.0 | 1,460.0 | 2,290.0 | 412.0 |
2048 | 4,480.0 | 6,990.0 | 1,230.0 | 3,360.0 | 5,250.0 | 921.0 |
表 3.從系統(tǒng)時鐘運行時的典型公鑰時間 | ||||||
從系統(tǒng)時鐘運行的 MAA(以毫秒為單位的時間) | ||||||
公鑰 = 0x10001/未優(yōu)化 | 公鑰 = 0x10001/優(yōu)化 | |||||
大小 | MAXQ1050 在 25MHz | MAXQ1850 在 16MHz | MAXQ1103 在 25MHz | MAXQ1050 在 25MHz | MAXQ1850 在 16MHz | MAXQ1103 在 25MHz |
160 | 0.532 | 0.831 | 0.269 | 0.299 | 0.468 | 0.158 |
192 | 0.679 | 1.06 | 0.285 | 0.381 | 0.595 | 0.168 |
224 | 0.840 | 1.31 | 0.381 | 0.470 | 0.736 | 0.221 |
256 | 1.02 | 1.59 | 0.401 | 0.570 | 0.889 | 0.234 |
384 | 1.89 | 2.96 | 0.681 | 1.05 | 1.64 | 0.392 |
512 | 3.02 | 4.71 | 1.02 | 1.67 | 2.61 | 0.584 |
640 | 4.40 | 6.87 | 1.43 | 2.43 | 3.79 | 0.811 |
768 | 6.03 | 9.42 | 1.90 | 3.32 | 5.19 | 1.07 |
1024 | 10.1 | 15.7 | 3.03 | 5.53 | 8.64 | 1.70 |
1536 | 21.1 | 33.0 | 6.05 | 11.6 | 18.1 | 3.37 |
2048 | 36.3 | 56.7 | 10.1 | 19.9 | 31.1 | 5.59 |
-
微控制器
+關(guān)注
關(guān)注
48文章
7542瀏覽量
151316 -
總線
+關(guān)注
關(guān)注
10文章
2878瀏覽量
88052 -
時序
+關(guān)注
關(guān)注
5文章
387瀏覽量
37318 -
RISC
+關(guān)注
關(guān)注
6文章
462瀏覽量
83710 -
MAXQ30
+關(guān)注
關(guān)注
0文章
4瀏覽量
6879
發(fā)布評論請先 登錄
相關(guān)推薦
評論