集成电路技术分享

 找回密码
 我要注册

QQ登录

只需一步,快速开始

搜索
查看: 955|回复: 1

加密认证模块的程序设计

[复制链接]
小舍YZ 发表于 2017-7-13 15:30:16 | 显示全部楼层 |阅读模式
        加密认证模块的程序设计

为了实现加密认证的功能,我们在 FPGA中利用 VHDL语言设计了IFF模块,在IFF模块的内部是根据SHA-1算法实现了对输入密码的HASH函数运算以及与DS28E01中产生的MAC的比较功能,IFF模块的接口定义。

其中,CLKIN是一个大于20M的时钟;IFF是认证启动信号,在IFF信号上升沿的时候模块内部开始启动HSAH运算过程以及密码比较过程;RESET是复位信号,高电平有效;IB则是 FPGA通过1-Wire协议与 DS28E01通讯的信号;FOE信号是 IFF模块的输出线,在IFF内部MAC比较完成后,如果FPGA认定该电路具有正确的密码,则会置FOE信号为低电平,反之如果FPGA认定该电路不是合法的电路,则会置FOE信号为高电平,在 FPGA内部可以根据FOE的信号来实现不同的功能。这样,系统就可以根据电路是否是被拷贝的来实现不同的功能,防止了设计被拷贝。

在IFF模块中,实现了标准的SHA-1算法,在 FPGA配置完成之后,在 RESET信号与时钟信号的控制下,FPGA内部就会运行 SHA-1算法产生相应的MAC,与由DS28E01产生的MAC进行比较,根据比较结果将FOE设置为不同的状态,然后FPGA就可以根据 FOE的状态来判断是否是合法电路。其中的初始化主要完成消息填充和附加原始消息长度以及在算法中需要的函数和常数的定义。


本帖子中包含更多资源

您需要 登录 才可以下载或查看,没有账号?我要注册

x
d643189658 发表于 2017-8-11 18:43:58 | 显示全部楼层
谢谢楼主的分享
您需要登录后才可以回帖 登录 | 我要注册

本版积分规则

关闭

站长推荐上一条 /1 下一条

QQ|小黑屋|手机版|Archiver|fpga论坛|fpga设计论坛 ( 京ICP备20003123号-1 )

GMT+8, 2025-4-20 12:42 , Processed in 0.063866 second(s), 21 queries .

Powered by Discuz! X3.4

© 2001-2023 Discuz! Team.

快速回复 返回顶部 返回列表