打印

基于FPGA的IP核水印保护方法

[复制链接]
1186|2
手机看帖
扫描二维码
随时随地手机跟帖
跳转到指定楼层
楼主
星星之火红|  楼主 | 2012-9-29 22:20 | 只看该作者 回帖奖励 |倒序浏览 |阅读模式
在数字电路设计领域中,FPGA可作为一种原型工具.用以解决在ASIC设计中,因重复设计而引起的一次性开支(Non Recuuring Engineering,NRE)过高.以及上市时间(Time To Market,TIM)过长等问题。
在大规模FPGA的设计中,基于可复用IP核的设计方法越来越为设计者所接受。然而,如何保证FPGA设计中的IP核不被非法扩散,却又成为人们极为关注的问题。因此提出了一种基于FPGA的IP核保护方法,通过这种方法,可以将用户的身份信息作为水印嵌人到FPGA中,从而达到标识IP核拥有者身份的目的。
嵌入原理
大多数基于SRAM工艺的FPGA中。都包含有可编程逻辑单元(Configurable Logic Block,CLB)、输人输出单元(Input/Output Block。IOB)和可编程布线资源(Configurable Routing Resource,CRR),其中CLB通常由触发器(Flip Flop,FF)和查找表(LookUp Table,LUT)构成。文中的设计实现过程,采用XILINX公司SpartanlI系列的XC2SIO0—5PQ2O8C芯片[1]作为验证平台.它包含有6OO个CLB.每个CLB由2个SLICE组成,每个SLICE中包含2个4输人的LUT。
对大多数基于FPGA的设计而言.都含有大量的空闲LUT。每一个n输人的LUT,其本质上是一个2"xl的RAM。可以实现一个n变量的任意组合逻辑。因此,可以通过预先定义的编码规则,将用户的个人信息编码为相应的组合逻辑.然后将该组合逻辑作为水印信息嵌人到空闲的LUT中.借此标识设计者对该设计的所有权。
3 水印信息的嵌入及提取
3.1 生成水印信息
待嵌人的水印信息按以下步骤生成:
① 准备原始用户信息MSG;
② 准备用于加密MSG的密钥KEY;
③ 用“0”对MSG进行补位,使其满足加密算法对长度的需求;
④ 对MSG进行散列运算,得到Ⅳ ;
⑤ 以Ⅳ 为初始向量,KEY为密钥,用指定加密算法对MSG进行CBC模式的加密运算.加密结果WM就是待嵌人的水印信息。
3.2 分组水印信息
在以往的嵌入方法中,每一个未用的LUT位只能嵌入一位水印信息[3】.为了提高信息的嵌入量,以及嵌入信息的隐蔽性,文中以组为单位进行水印信息的嵌入。组的划分过程如下:

相关帖子

沙发
星星之火红|  楼主 | 2012-9-29 22:20 | 只看该作者
5 结束语
在基于FPGA的IP设计中.如何保证所设计的IP不被非法扩散成为人们日益关注的问题。文中所提出的IP保护方法.能在不影响系统原始性能的基础上,利用空闲资源嵌入水印信息,以达到表征IP设计者所有权的目的。通过多项实验,证明这种IP保护方法在额外开销、可检测性以及对系统性能影响等方面均具有良好的特性。

使用特权

评论回复
发新帖 我要提问
您需要登录后才可以回帖 登录 | 注册

本版积分规则

101

主题

1782

帖子

22

粉丝