0
  • 聊天消息
  • 系统消息
  • 评论与回复
登录后你可以
  • 下载海量资料
  • 学习在线课程
  • 观看技术视频
  • 写文章/发帖/加入社区
创作中心

完善资料让更多小伙伴认识你,还能领取20积分哦,立即完善>

3天内不再提示

MAXQ30微控制器的模块化幂运算时序

星星科技指导员 来源:ADI 作者:ADI 2023-01-12 11:30 次阅读

32位DeepCover安全微控制器(MAXQ1050、MAXQ1850和MAXQ1103)为执行模块化运算提供硬件支持。这是使用称为模块化算术加速器 (MAA) 的引擎完成的。本应用笔记给出了各种模量尺寸、关键类型和优化级别的典型执行时间。

介绍

模幂用于几种加密算法,特别是RSA公钥算法和椭圆曲线数字签名算法(ECDSA)。它还用于发现素数和查找模逆。本应用笔记描述了什么是模幂,概述了MAA,并列出了执行各种大小幂的典型时间。

MAXQ30架构采用精简指令集计算机(RISC),所有指令长度为16位,在一个周期内执行。32 位算术和逻辑单元 (ALU) 在连接到 32 位总线时与 32 位寄存器和值一起工作。

模幂

模幂由以下等式描述:

结果 = 基数指数模量。

例如:9 = 7² mod 10。

在此示例中,9 是结果,7 是底数,2 是指数,10 是模数。在这种情况下,由于模数 10 在二进制中为 4 位长,因此大小为 4。

MAA 执行模加法、减法、乘法、平方、平方,然后乘法和模幂。所有这些操作都可以以最大 2048 位长度的模数完成。

MAA 从加密时钟运行。该时钟可能来自系统时钟,该系统时钟由外部晶体频率决定,或者从加密环运行。DeepCover安全微控制器(MAXQ1050和MAXQ1850)的内部加密环工作频率为55MHz至75MHz,典型速度为65MHz。DeepCover安全微控制器(MAXQ1103)的内部加密环可以以45MHz至65MHz的速度运行,典型速度为55MHz。®

MAXQ1050和MAXQ1850上的MAA相同,因此从加密环运行时的时序相同。这两部分的MAA使用32位×16位乘法器和32位数据总线。在MAXQ1103上实现MAA具有64位×32位乘法器和64位数据总线。MAXQ1103上的MAA执行速度更快,但代价是使用更多的硅面积。

在启用优化的情况下运行时,简单功耗分析 (SPA) 和差分功耗分析 (DPA) 等功耗分析攻击可能能够提取指数信息。建议始终使用私钥进行非优化计算。

表 13 中的数据是典型的运行时间。每个条目是 400 次计算的平均时间,使用基数、模数和指数的统一随机数,最高有效位设置为模数。在公钥计算的情况下,使用 0x10001 的十六进制值而不是随机数。这是 RSA 中公共指数的典型值。计算的时间是从操作开始到完成。不包括将值加载到内存中进行计算的时间。

通过采用中国余数定理(CRT),可以实现模指数运算的显著速度改进。使用 CRT 需要两个较小的模块化幂运算,而不是一个大的运算。不是对大模量执行模块化指数计算,而是对模量的两个因子进行模块化指数计算。例如,在 RSA 中,模数是两个素数 p 和 q 的乘积。如果p和q都是1024位,使用MAXQ1103对这些位进行两次模指数运算大约需要165ms。如果没有 CRT,则需要 2048 位模块化指数运算,大约需要 557 毫秒。CRT算法需要额外的计算,这将增加总时间,但预计速度会快两倍以上。

表1左侧的数据最有趣。这些是在非优化模式下从加密环运行时执行模块化幂运算的典型经过时间。使用优化和公钥的典型运行时间位于右侧两列中。

表 1.从加密环运行时的典型时间
从加密环运行的 MAA(以毫秒为单位的时间)
私钥 公钥 = 0x10001
未优化 优化 未优化 优化
大小 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 列出了在优化和非优化模式下对私钥数据执行模块化幂的典型时间。表 3 列出了在优化和非优化模式下使用公钥对这三个部分执行模幂的典型时间。

表 2.从系统时钟运行时的典型私钥时间
从系统时钟运行的 MAA(以毫秒为单位的时间)
私钥/未优化 公钥/优化
大小 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.从系统时钟运行时的典型公钥时间
从系统时钟运行的 MAA(以毫秒为单位的时间)
公钥 = 0x10001/未优化 公钥 = 0x10001/优化
大小 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

声明:本文内容及配图由入驻作者撰写或者入驻合作网站授权转载。文章观点仅代表作者本人,不代表电子发烧友网立场。文章及其配图仅供工程师学习之用,如有内容侵权或者其他违规问题,请联系本站处理。 举报投诉
  • 微控制器
    +关注

    关注

    48

    文章

    6812

    浏览量

    147653
  • 总线
    +关注

    关注

    10

    文章

    2713

    浏览量

    87223
  • 时序
    +关注

    关注

    5

    文章

    357

    浏览量

    36961
  • RISC
    +关注

    关注

    6

    文章

    431

    浏览量

    83250
  • MAXQ30
    +关注

    关注

    0

    文章

    4

    浏览量

    6861
收藏 人收藏

    评论

    相关推荐

    MAXQ1850评估套件(EV kit)和面向MAXQ30的CrossWorks编译的设计方案

    本应用笔记介绍怎样针对MAXQ1850高性能、RISC、安全微控制器开发、构建并调试应用程序。实例采用了MAXQ1850评估套件(EV kit)和Rowley Associates公司提供
    发表于 12-24 09:23

    16位RISC微控制器MAXQ613资料推荐

    16位RISC微控制器MAXQ613资料下载内容主要介绍了:MAXQ613引脚功能MAXQ613内部方框图
    发表于 03-29 06:45

    带红外模块的16位微控制器MAXQ61C电子资料

    概述:MAXQ61C是一款低功耗、16位MAXQ 微控制器 ,设计用于通用遥控 、消费类电子和白色家电等低功耗产品。器件结合了功能强大的16位RISC
    发表于 04-13 07:16

    16位微控制器MAXQ61H电子资料

    概述:MAXQ61H采用四面QFN32脚封装。是一款低功耗、16位MAXQ 微控制器 ,设计用于通用 遥控 、消费类 电子 和白色家电等低功耗产品。
    发表于 04-13 07:06

    16位微控制器MAXQ613电子资料

    概述:MAXQ613是一款低功耗、16位MAXQ 微控制器 ,设计用于通用 遥控 、消费类 电子 和白色家电等低功耗产品。器件结合了强大的16位RISC
    发表于 04-13 07:35

    16位微控制器具有红外模块MAXQ610电子资料

    概述:MAXQ610是MAXIM公司生产的一款低功耗、16位MAXQ®微控制器,设计用于通用遥控、消费类电子和白色家电等低功耗产品。 MAXQ
    发表于 04-21 07:47

    MAXQ2000微控制器与MAX4397是如何连接的?

    MAX4397是什么?MAXQ2000微控制器与MAX4397是如何连接的?
    发表于 06-04 06:15

    采用MAXQ1103评估套件和面向MAXQ30的CrossW

    采用MAXQ1103评估套件和面向MAXQ30的CrossWorks编译器进行设计 摘要:本应用笔记介绍怎样针对MAXQ1103微控制器开发、构建并调试应用程序。这本应用笔记使
    发表于 01-13 08:05 922次阅读
    采用<b class='flag-5'>MAXQ</b>1103评估套件和面向<b class='flag-5'>MAXQ30</b>的CrossW

    采用MAXQ1103评估套件和面向MAXQ30的CrossW

    摘要:本应用笔记介绍怎样针对MAXQ1103微控制器开发、构建并调试应用程序。这本应用笔记使用了Rowley Associates公司为MAXQ30平台提供的CrossWorks C编译器。 引言
    发表于 04-23 15:57 644次阅读
    采用<b class='flag-5'>MAXQ</b>1103评估套件和面向<b class='flag-5'>MAXQ30</b>的CrossW

    MAXQ61C 具有红外模块的16位微控制器

    MAXQ61C 具有红外模块的16位微控制器   The MAXQ61C is a low-power, 16-bit MAXQ
    发表于 05-01 14:22 566次阅读
    <b class='flag-5'>MAXQ</b>61C 具有红外<b class='flag-5'>模块</b>的16位<b class='flag-5'>微控制器</b>

    MAXQ618,pdf_具有红外模块的16位微控制器

    MAXQ618是具有红外模块的16位微控制器.
    发表于 03-13 22:36 54次下载
    <b class='flag-5'>MAXQ</b>618,pdf_具有红外<b class='flag-5'>模块</b>的16位<b class='flag-5'>微控制器</b>

    模块化求幂MAXQ30微控制器时序

    Modular exponentiation is used in several cryptographic algorithms, notably the RSA public key algorithm and the elliptic curve digital signature algorithm (ECDSA). It is also used to discover prime numbers and to find modular inverses. Thi
    发表于 10-11 10:48 23次下载

    MAXQ1050评估套件和面向MAXQ30入门的CrossStudio编译

    for the MAXQ1050 RISC microcontroller. The example presented in this article uses the Rowley CrossStudio for the MAXQ30 compiler to dem
    发表于 05-15 10:47 159次下载
    <b class='flag-5'>MAXQ</b>1050评估套件和面向<b class='flag-5'>MAXQ30</b>入门的CrossStudio编译

    MAXQ1050的评估套件和面向MAXQ30入门的CrossStudio编译

    MAXQ1050的评估套件和面向MAXQ30入门的CrossStudio编译
    发表于 10-31 10:14 14次下载

    使用DeepCover安全微控制器提高模块化求幂的速度

    本应用笔记描述了当使用具有模块化算术加速器(MAA)的MAXQ微控制器时,如何将模运算速度提高50%以上。
    的头像 发表于 06-16 11:45 453次阅读