第一范文网 - 专业文章范例文档资料分享平台

基于多核技术的FPGA信息加密解密器设计 - 图文

来源:用户分享 时间:2025/8/12 8:34:51 本文由loading 分享 下载这篇文档手机版
说明:文章内容仅供预览,部分内容可能不全,需要完整文档或者需要复制内容,请下载word后使用。下载word有问题请添加微信号:xxxxxxx或QQ:xxxxxx 处理(尽可能给您提供完整文档),感谢您的支持与谅解。

生成密钥产生两个随机数p,q计算n=p*qφ(n)=(p-1)(q-1)计算1

由于进行的都是大数计算,使得RSA最快的情况也比DES慢上100倍,无论是软件还是硬件实现。速度一直是RSA的缺陷。一般来说只用于少量数据加密。

由于我们要实现的是4核调度,所以数据量不会很大,而且RSA属于对称加密解密算法(加密和解密是互逆的),在调度上比DES有优势,所以我们最终选择了RSA算法。

4.2 RSA算法的实现

4.2.1汇编指令集

本项目为了减少占用的内核空间,采用的汇编指令是自行设计的,下面为部分汇编指令集

- 29 -

计算类指令

(1)数据传送指令 指令格式 MOV R0,#0X0 MOVS R0,#0X0 MOV R0,R1 MOVS R0,R1 (2)计算类指令---与 指令格式 ANDN R0,R1,R2 TST R0,R1,R2 AND R0,R1,R2 AND R0,R1,#0X0 ANDS R0,R1,#0X0 ANDN R0,R1,#0X0 AND{N}{S} Rd,Rs,operand2 0|00|100|0010|00000|00001|00010|0000000 0|00|101|0010|00000|00001|00010|0000000 0|00|001|0010|00000|00001|00010|0000000 0|00|011|0010|00000|00001|000000000000 0|00|111|0010|00000|00001|000000000000 0|00|010|0010|00000|00001|000000000000 MOV{S} Rd,operand2 0|00|010|0000|00000|00000|000000000000 0|00|011|0000|00000|00000|000000000000 0|00|000|0000|00000|00001|000000000000 0|00|001|0000|00000|00001|000000000000 注:ANDN == AND不写回 , ANDNS == TST

注:ORRW==ORR 异或 指令格式 EOR R0,R1,R2 TEQ R0,R1,R2 EORN R0,R1,R2 EOR{N}{S} Rd,Rs,operand2 0|00|001|0100|00000|00001|00010|0000000 0|00|100|0100|00000|00001|00010|0000000 0|00|000|0100|00000|00001|00010|0000000 - 30 -

EOR R0,R1,#0X0 TEQ R0,R1,#0X0 EORN R0,R1,#0X0 注:EORW == EOR , EORS == TEQ 减法 指令格式 SUB R0,R1,R2 CMP R0,R1,R2 SUBN R0,R1,R2 SUB R0,R1,#0X0 CMP R0,R1,#0X0 SUBN R0,R1,#0X0 0|00|011|0100|00000|00001|000000000000 0|00|110|0100|00000|00001|000000000000 0|00|010|0100|00000|00001|000000000000 SUB{N}{S} Rd,Rs,operand2 0|00|001|0101|00000|00001|00010|0000000 0|00|100|0101|00000|00001|00010|0000000 0|00|000|0101|00000|00001|00010|0000000 0|00|011|0101|00000|00001|000000000000 0|00|110|0101|00000|00001|000000000000 0|00|010|0101|00000|00001|000000000000 注:SUBN == SUB不写回 , SUBNS == CMP , 没提SUBNS 加法 指令格式 ADD R0,R1,R2 CMN R0,R1,R2 ADDN R0,R1,R2 ADD R0,R1,#0X0 CMN R0,R1,#0X0 ADDN R0,R1,#0X0 ADD{N}{S} Rd,Rs,oprand2 0|00|001|0111|00000|00001|00010|0000000 0|00|100|0111|00000|00001|00010|0000000 0|00|000|0111|00000|00001|00010|0000000 0|00|011|0111|00000|00001|000000000000 0|00|110|0111|00000|00001|000000000000 0|00|010|0111|00000|00001|000000000000 注:ADDN == ADD , ADDNS == CMN

- 31 -

位运算:逻辑左移 指令格式 LSL R0,R1,R2 LSLS R0,R1,R2 LSLN R0,R1,R2 LSL R0,R1,#0X0 LSLS R0,R1,#0X0 LSLN R0,R1,#0X0

逻辑右移 指令格式 LSR R0,R1,R2 LSRS R0,R1,R2 LSRN R0,R1,R2 LSR R0,R1,#0X0 LSRS R0,R1,#0X0 LSRN R0,R1,#0X0

LSR{N}{S} Rd,Rs,operand2 0|00|001|1010|00000|00001|00010|0000000 0|00|100|1010|00000|00001|00010|0000000 0|00|000|1010|00000|00001|00010|0000000 0|00|011|1010|00000|00001|000000000000 0|00|110|1010|00000|00001|000000000000 0|00|010|1010|00000|00001|000000000000 LSL{N}{S} Rd,Rs,operand2 0|00|001|1001|00000|00001|00010|0000000 0|00|100|1001|00000|00001|00010|0000000 0|00|000|1001|00000|00001|00010|0000000 0|00|011|1001|00000|00001|000000000000 0|00|110|1001|00000|00001|000000000000 0|00|010|1001|00000|00001|000000000000 访存类指令

指令格式 LDR R0,[R1,#0X4](立即数前变址) LDR R0, [R1, #0X4]! LDRS R0,[R1,#0X4]

STR/LDR{S} Rd,[Rs,Rt/#0X0]{!} 0|01|0100000|00000|00001|000000000100 0|01|0101000|00000|00001|000000000100 0|01|0100010|00000|00001|000000000100 - 32 -

基于多核技术的FPGA信息加密解密器设计 - 图文.doc 将本文的Word文档下载到电脑,方便复制、编辑、收藏和打印
本文链接:https://www.diyifanwen.net/c52e6w5fsx53x5if1kn2p_8.html(转载请注明文章来源)
热门推荐
Copyright © 2012-2023 第一范文网 版权所有 免责声明 | 联系我们
声明 :本网站尊重并保护知识产权,根据《信息网络传播权保护条例》,如果我们转载的作品侵犯了您的权利,请在一个月内通知我们,我们会及时删除。
客服QQ:xxxxxx 邮箱:xxxxxx@qq.com
渝ICP备2023013149号
Top