应用笔记 4004

利用DS5250产生RSA密钥


摘要 : DS5250微控制器评估(EV)板是经过验证的用于评估这款高速微控制器的平台,本应用笔记介绍了如何设置评估板,并根据应用的位长需要产生RSA密钥的方法。采用Keil µVision2®编译器开发库文件和例程。利用微控制器工具箱(MTK)在评估板上装载程序并观察结果。

引言

本应用笔记介绍了DS5250安全微控制器评估(EV)板的设置(如需购买该评估板,请联系技术支持)。本文介绍了如何使用微控制器的库文件产生RSA密钥。

评估板包括DS5250微控制器、1MB电池备份SRAM、1MB闪存存储器和稳压器、两个DB-9串口连接器以及用于控制、显示电路板工作状态的开关和LED。增加一个电源和连接个人计算机的RS-232电缆,即可得到一个功能完备的DS5250评估系统。

产生RSA密钥

如需获得用于产生RSA密钥例程的二进制码(rsa.hex)和程序代码,请联系技术支持。按照下文中的为DS5250-KIT评估板装载应用例程部分装载并运行程序。

安装并运行产生RSA密钥的C语言应用程序序要使用Keil µVision2 IDE。
  1. 安装Keil µVision2 IDE。
  2. 打开项目rsa.uv2,发送邮件至: (English only)可以索取项目文件和程序代码。
  3. 点击ProjectRebuild All Target FILES产生rsa.hex文件。

为DS5250-KIT评估板装载应用例程

利用微控制器工具箱(MTK)将应用程序装载到评估板,最新版本的MTK应用软件可从网站下载。安装MTK,运行安装文件并按照指令操作。完成安装后,菜单上将会添加一个新的选项:StartAll ProgramsDallas Semiconductor MTK。运行MTK后,可以看到一个类似于图1的对话框。

如果您在运行MTK时遇到技术问题,您或许能够在Maxim讨论组中找到相应的答案。您可以在当前的论坛上查找答案或将您的问题提交到论坛上:Maxim讨论组(English only)。

图1. 启动时的MTK选项
图1. 启动时的MTK选项

选择DS5250选项与评估板通信。从MTK菜单,OptionsConfigure Serial Port选择您所使用的COM口并选择115200数据速率。然后选择TargetOpen COMx port at 115200 baud选项和TargetConnect to Loader,对评估板进行复位。DS5250装载器应该输出以下类似信息:
DS5250 SECURE LOADER VERSION 1.0 COPYRIGHT (C) 2002 DALLAS SEMICONDUCTOR
      LID: 62E9490700000071 8284

>
发送以下命令至装载器可以对评估板的存储器进行配置:
W MSIZE 12*¹
W MCON 81²
¹W MSIZE 12定义外部程序和数据存储器尺寸为512Kb。
¹W MCON 81定义存储器为分区模式。

File菜单,选择Load HEX File,然后选择所创建的rsa.hex文件。

选择TargetDisconnect from Loader将程序装载到评估板,提示信息如图2所示。

输入所要产生密钥的位长:

输入数字(例如1024)并等待显示结果,该应用程序的运行状态如图2所示。产生一个1024位的RSA密钥,加密并解密随机信息大约需要60秒的时间。每次运行时间可能有所差异,表1列出了产生一个不同位长的RSA密钥所需时间的最小值、最大值以及平均值。

图2. 应用例程的执行状况和结果
图2. 应用例程的执行状况和结果

利用RSA密钥库文件开发一个简单应用

库文件提供了四个简单易用的C接口函数,用来产生密钥或利用私钥/公钥对用户信息进行加密/解密。请参考rsalib.h文件查看这些接口的原型设计。本应用笔记提供的设计实例用来说明这些接口函数的使用:

rsa_generateKeySet(...)
rsa_bignumModExp(...)
rsa_newNum()
rsa_freeNum()
以下给出了不同位长情况下的典型测试结果。

表1. 产生RSA密钥所需的平均时间
RSA Bit Length Generated Number of Tests Run Minimum Time Taken for the Test
(in seconds)
Maximum Time Taken for the Test
(in seconds)
Average Time Taken per Test
(in seconds)
256 60 3.4 10.3 4.8
512 60 6.1 21.0 10.76
1024 60 13.5 62.0 26.6
2048 60 36.6 313.2 122.4
3072 30 102.7 731.9 369.8

结论

Maxim提供的用于产生RSA密钥的库文件能够使C程序对DS5250微控制的硬件功能及性能进行评估,所产生的RSA密钥可以达到4096位。

相关链接
应用笔记2783:"Using the Keil C Compiler for the DS5250"
安全微控制器用户指南及补充资料(English only)
DS5250高速安全微控制器数据资料

下一步
EE-Mail 订阅EE-Mail,接收关于您感兴趣的新文档的自动通知。
© , Maxim Integrated Products, Inc.
The content on this webpage is protected by copyright laws of the United States and of foreign countries. For requests to copy this content, contact us.
APP 4004:
应用笔记 4004,AN4004, AN 4004, APP4004, Appnote4004, Appnote 4004