单片机实现SRAM工艺FPGA的加密应用方案

来源:元器件交易网 作者:—— 时间:2012-03-06 14:15

  PNPRODUCE:SETB ASET ;配置完成后,将ASET脚置1

  XMQLOOP:MOV C,Q0

  MOV PNMA,C ;将Q0输出到PNMA引脚,作为PN码

  MOV C,Q0

  MOV WORD6.0,C ;用WORD6单元的0位来存Q0的状态

  MOV C,Q2

  MOV WORD7.0,C ;用WORD7单元的0位来存Q2的状态

  MOV C,Q21

  MOV WORD8.0,C ;用WORD8单元的0位来存Q21的状态

  MOV C,Q23

  MOV WORD9.0,C ;用WORD9单元的0位来存Q23的状态

  MOV ACC,WORD6

  XRL A,WORD7

  XRL A,WORD8

  XRL A,WORD9 ;通过异或指令,计算反馈逻辑

  MOV C,ACC.0 ;反馈逻辑为Qin=Q0

  ;XOR Q2 XOR Q21 XOR Q23

  MOV MID_VARY,C ;将运算后的状态存到MID_VARY中右移运算

  MOV ACC,WORD1

  RRC A ;移位Q7~Q0

  MOV WORD1,A ;移位后,保存到WORD1单元中

  MOV ACC,WORD2

  RRC A ;移位Q15~Q8

  MOV WORD2,A ;移位后,保存到WORD2单元中

  MOV Q7,C ;将Q8的值赋到Q7

  MOV ACC,WORD3

  RRC A ;移位Q23~Q16

  MOV WORD3,A ;移位后,保存到WORD3单元中

  MOV Q15,C ;将Q16的值赋到Q15

  MOV ACC,WORD4

  RRC A ;移位Q31~Q24

  MOV WORD4,A ;移位后,保存到WORD4单元中

  MOV Q23,C ;将Q24的值赋到Q23

  MOV ACC,WORD5

  RRC A ;移位Q39~Q32

  MOV WORD5,A ;移位后,保存到WORD5单元中

  MOV Q31,C ;将Q32的值赋到Q31

  MOV C,MID_VARY ;将前面反馈计算的值赋给Q39

  MOV Q39,C

  LJMP XMALOOP ;继续产生下一代PN码元

  6 其它加密方法介绍及比较

  对SRAM工艺的FPGA进行加密,除了可以利用单片机实现外,还可以用E2PROM工艺的CPLD实现。与用单片机实现相比,利用CPLD的优点在于可实现高速伪码,但要在硬件电路中增加一块CPLD芯片,使整个硬件电路复杂化,增加了成本。本文提供的加密方法考虑到配置完成后单片机处于空闲状态,此时利用单片机进行加密,不需要增加任何电路成本,使得整个系统硬件结构十分简洁。本文提出采用长伪随机码来实现加密。如果采用其它的算法产生验证信息,并增加单片机与FPGA工作时信息实时交互,使得获取验证信息的难度足够大,也可以达到类似的加密效果。

资讯排行榜

  • 每日排行
  • 每周排行
  • 每月排行

华强资讯微信号

关注方法:
· 使用微信扫一扫二维码
· 搜索微信号:华强微电子