RSA算法的TMS320C54x DSP实现
在进行模运算时,一般先将指数e(长度为kbit)改写成二进制数组的形式e,即
(凹丫丫范文网fanwen.oyaya.net收集整理)
其中:ei∈{0,1},i=0,1,Λ,k-1。
>这样,在计算me(mod n)时,先做一次平方运算,然后根据ei的值,再做一次乘法运算,以此来简化模运算的复杂性。
由于实际中的e值非常大,为了提高运算速度,可以将e进行分组后运算。设对e以四位一组(十六进制)的形式计算me(mod n),那么:
其中:ei∈{0,1,2,…,15},t=k/4;
②求出m2,m3,…,m15(mod n);
③设置变量c:=1;
④对于i=t-1,t-2,…,1,0重复计算:
c:=c2(mod n)(平方);
c:=c2(mod n)(四次方);
c:=c2(mod n)(八次方);
c:=c2(mod n)(十六次方);
e.若ei≠0,则c:=c×mei(mod n)。
⑤所得c即为所求。
由上面的模运算方法分析可知,该算法的运算所需的平方和乘法次数是最少的,因此选择这种算法来实现模运算可提高运算速度。有了基本运算思路和步骤以后,就可以利用TMS320C54x DSP芯片来开发RSA算法了。
2 软硬件的实现
在嵌入式应用场合,对于大规模的乘法运算,采用单片机来实现显然力不从心;而TMS320C54x DSP芯片的特点恰好满足RSA算法的要求,是实现此算法的首选芯片。本课题中所选用的是德州仪器公司生产的TMS320C5402芯片。
(1)TMS320C5402芯片概述
TMS320C54x芯片是为实现低功耗、高性能而专门设计的定点DSP芯片,主要应用在无线通信系统和远程通信嵌入式系统中。本文所用的TMS320C5402芯片是此系列的一个典型产品,除了继承老产品的优点外,还增加了更多的硬件资源,该芯片的主要特点有:
①速度快,指令周期为10ns,运算能力为100MIPS;
②强大的寻址能力,1M×16位最大可寻址外部存储空间,内置16K×16位RAM,4K×16位ROM;
③40位的算术逻辑运算单元(ALU),包括2个独立的40位累加器和1个40位的桶形移位寄存器;
④1个17位×17位的硬件乘法器和1个40位的专用加法器,乘法器/加法器单元可以在一个流水线状态周期内完成一次乘法累加(MA)运算;
⑤
《RSA算法的TMS320C54x DSP实现(第2页)》