Present算法verilog设计实现
Present加密步驟
PRESENT分組密碼算法采用SPN結(jié)構(gòu),分組長(zhǎng)度為64位,支持80位、128位兩種密鑰長(zhǎng)度。共迭代31輪,每輪輪函數(shù)F 由輪密鑰加、S盒代換、P置換3部分組成。
加密過(guò)程如下:
輪密鑰加:64bit 輪輸入同輪密鑰進(jìn)行異或
S 盒代換層:將輪密鑰加64bit 輸出查找16 個(gè)4 進(jìn)4 出的S 盒
P 置換層:通過(guò)置換表P(i)對(duì)S 盒代換64bit 輸出按比特進(jìn)行重新排列
為提高算法安全性,PRESENT 在第31 輪后使用64bit 密鑰K32 進(jìn)行后期白化操作
頂層設(shè)計(jì)如下:
module PRESENT(res,state,keys);
input [63:0]state;
input [79:0]keys;
output [63:0]res;
wire [63:0]res,res1,res2,res3,res4,res5,res6,res7,res8,res9,res10,res11,res12,res13,res14,res15,
res16,res17,res18,res19,res20,res21,res22,res23,res24,res25,res26,res27,res28,res29,res30,res31;
wire [79:0]keys1,keys2,keys3,keys4,keys5,keys6,keys7,keys8,keys9,keys10,keys11,keys12,keys13,keys14,keys15,
keys16,keys17,keys18,keys19,keys20,keys21,keys22,keys23,keys24,keys25,keys26,keys27,keys28,keys29,keys30,keys31;
Round U1(res1,state,keys,keys1,5’b00001);
Round U2(res2,res1,keys
總結(jié)
以上是生活随笔為你收集整理的Present算法verilog设计实现的全部?jī)?nèi)容,希望文章能夠幫你解決所遇到的問(wèn)題。
- 上一篇: 基于FPGA多通道数据采集系统veril
- 下一篇: 设计模式之禅之六大设计原则-依赖倒置原则