32位DeepCover安全微控制器(MAXQ1050、MAXQ1850和MAXQ1103)為執(zhí)行模塊化運(yùn)算提供硬件支持。這是使用稱為模塊化算術(shù)加速器 (MAA) 的引擎完成的。本應(yīng)用筆記給出了各種模量尺寸、關(guān)鍵類型和優(yōu)化級別的典型執(zhí)行時(shí)間。
介紹
模冪用于幾種加密算法,特別是RSA公鑰算法和橢圓曲線數(shù)字簽名算法(ECDSA)。它還用于發(fā)現(xiàn)素?cái)?shù)和查找模逆。本應(yīng)用筆記描述了什么是模冪,概述了MAA,并列出了執(zhí)行各種大小冪的典型時(shí)間。
MAXQ30架構(gòu)采用精簡指令集計(jì)算機(jī)(RISC),所有指令長度為16位,在一個(gè)周期內(nèi)執(zhí)行。32 位算術(shù)和邏輯單元 (ALU) 在連接到 32 位總線時(shí)與 32 位寄存器和值一起工作。
模冪
模冪由以下等式描述:
結(jié)果 = 基數(shù)指數(shù)模量。
例如:9 = 72 mod 10。
在此示例中,9 是結(jié)果,7 是底數(shù),2 是指數(shù),10 是模數(shù)。在這種情況下,由于模數(shù) 10 在二進(jìn)制中為 4 位長,因此大小為 4。
MAA 執(zhí)行模加法、減法、乘法、平方、平方,然后乘法和模冪。所有這些操作都可以以最大 2048 位長度的模數(shù)完成。
MAA 從加密時(shí)鐘運(yùn)行。該時(shí)鐘可能來自系統(tǒng)時(shí)鐘,該系統(tǒng)時(shí)鐘由外部晶體頻率決定,或者從加密環(huán)運(yùn)行。DeepCover安全微控制器(MAXQ1050和MAXQ1850)的內(nèi)部加密環(huán)工作頻率為55MHz至75MHz,典型速度為65MHz。DeepCover安全微控制器(MAXQ1103)的內(nèi)部加密環(huán)可以以45MHz至65MHz的速度運(yùn)行,典型速度為55MHz。?
MAXQ1050和MAXQ1850上的MAA相同,因此從加密環(huán)運(yùn)行時(shí)的時(shí)序相同。這兩部分的MAA使用32位×16位乘法器和32位數(shù)據(jù)總線。在MAXQ1103上實(shí)現(xiàn)MAA具有64位×32位乘法器和64位數(shù)據(jù)總線。MAXQ1103上的MAA執(zhí)行速度更快,但代價(jià)是使用更多的硅面積。
在啟用優(yōu)化的情況下運(yùn)行時(shí),簡單功耗分析 (SPA) 和差分功耗分析 (DPA) 等功耗分析攻擊可能能夠提取指數(shù)信息。建議始終使用私鑰進(jìn)行非優(yōu)化計(jì)算。
表 1 至 3 中的數(shù)據(jù)是典型的運(yùn)行時(shí)間。每個(gè)條目是 400 次計(jì)算的平均時(shí)間,使用基數(shù)、模數(shù)和指數(shù)的統(tǒng)一隨機(jī)數(shù),最高有效位設(shè)置為模數(shù)。在公鑰計(jì)算的情況下,使用 0x10001 的十六進(jìn)制值而不是隨機(jī)數(shù)。這是 RSA 中公共指數(shù)的典型值。計(jì)算的時(shí)間是從操作開始到完成。不包括將值加載到內(nèi)存中進(jìn)行計(jì)算的時(shí)間。
通過采用中國余數(shù)定理(CRT),可以實(shí)現(xiàn)模指數(shù)運(yùn)算的顯著速度改進(jìn)。使用 CRT 需要兩個(gè)較小的模塊化冪運(yùn)算,而不是一個(gè)大的運(yùn)算。不是對大模量執(zhí)行模塊化指數(shù)計(jì)算,而是對模量的兩個(gè)因子進(jìn)行模塊化指數(shù)計(jì)算。例如,在 RSA 中,模數(shù)是兩個(gè)素?cái)?shù) p 和 q 的乘積。如果p和q都是1024位,使用MAXQ1103對這些位進(jìn)行兩次模指數(shù)運(yùn)算大約需要165ms。如果沒有 CRT,則需要 2048 位模塊化指數(shù)運(yùn)算,大約需要 557 毫秒。CRT算法需要額外的計(jì)算,這將增加總時(shí)間,但預(yù)計(jì)速度會(huì)快兩倍以上。
表1左側(cè)的數(shù)據(jù)最有趣。這些是在非優(yōu)化模式下從加密環(huán)運(yùn)行時(shí)執(zhí)行模塊化冪運(yùn)算的典型經(jīng)過時(shí)間。使用優(yōu)化和公鑰的典型運(yùn)行時(shí)間位于右側(cè)兩列中。
| 表 1.從加密環(huán)運(yùn)行時(shí)的典型時(shí)間 | ||||||||
| 從加密環(huán)運(yùn)行的 MAA(以毫秒為單位的時(shí)間) | ||||||||
| 私鑰 | 公鑰 = 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í)行模塊化冪的典型時(shí)間。表 3 列出了在優(yōu)化和非優(yōu)化模式下使用公鑰對這三個(gè)部分執(zhí)行模冪的典型時(shí)間。
| 表 2.從系統(tǒng)時(shí)鐘運(yùn)行時(shí)的典型私鑰時(shí)間 | ||||||
| 從系統(tǒng)時(shí)鐘運(yùn)行的 MAA(以毫秒為單位的時(shí)間) | ||||||
| 私鑰/未優(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)時(shí)鐘運(yùn)行時(shí)的典型公鑰時(shí)間 | ||||||
| 從系統(tǒng)時(shí)鐘運(yùn)行的 MAA(以毫秒為單位的時(shí)間) | ||||||
| 公鑰 = 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)注
49文章
8833瀏覽量
165614 -
總線
+關(guān)注
關(guān)注
10文章
3056瀏覽量
91862 -
時(shí)序
+關(guān)注
關(guān)注
5文章
411瀏覽量
38998 -
RISC
+關(guān)注
關(guān)注
6文章
485瀏覽量
86826 -
MAXQ30
+關(guān)注
關(guān)注
0文章
4瀏覽量
7081
發(fā)布評論請先 登錄
MAXQ1850評估套件(EV kit)和面向MAXQ30的CrossWorks編譯器的設(shè)計(jì)方案
帶紅外模塊的16位微控制器MAXQ61C電子資料
采用MAXQ1103評估套件和面向MAXQ30的CrossW
采用MAXQ1103評估套件和面向MAXQ30的CrossW
MAXQ61C 具有紅外模塊的16位微控制器
模塊化求冪MAXQ30微控制器的時(shí)序
MAXQ1050評估套件和面向MAXQ30入門的CrossStudio編譯
MAXQ1050的評估套件和面向MAXQ30入門的CrossStudio編譯
DS5250微控制器的模冪時(shí)序
MAXQ30微控制器的模塊化冪運(yùn)算時(shí)序
評論