您现在的位置:首页 >> 技术文章 >> FPGA技术 >> 内容

MATLAB代做|FPGA代做|python代做-基于FPGA的TEA算法的VHDL实现

时间:2021-9-9 15:55:14 点击:

  核心提示:MATLAB代做|FPGA代做|python代做-基于FPGA的TEA算法的VHDL实现...
TEA(Tiny Encryption Algorithm)是一种分组加密算法,它的实现非常简单,通常只需要很精短的几行代码。TEA 算法是由剑桥计算机实验室的 David Wheeler 和 Roger Needham 在 1994 年设计的。TEA加密算法支持128位密码,TEA每次只能加密/解密8字节数据。TEA特点是速度快、效率高,实现也非常简单。因此,研究与实现TEA加解密算法具有十分重要的意义。
        标准的TEA算法使用64位的明文分组和128位的密钥,它使用Feistel分组加密框架,至少 32 轮的加密循环次数。该算法使用了一个神秘常数δ作为倍数,它来源于黄金比率,以保证每一轮加密都不相同。但δ的精确值并不重要,通常情况下,TEA 算法把它定义为 0x 9e3779b9(16进制数)。TEA算法每一次可以操作64bit(8byte),采用128bit(16byte)作为key,算法采用迭代的形式。
·TEA加密算法的VHDL实现        

        加密部分,其VHDL代码如下所示:

if(Round_Times < 64) then

    sum        :=sum+delta;

    z_total    :=((z(27 downto 0)&"0000")+k(0))XOR(sum + z)XOR(("00000"&z(31 downto 5))+k(1));

    y             :=y+z_total;

    y_total    :=((y(27 downto 0)&"0000")+k(2))XOR(sum + y)XOR(("00000"&y(31 downto 5))+k(3));

    z             :=z+y_total;

   output_Enc <=y&z;      

end if;

    ·TEA解密算法的VHDL实现        

        解密部分,其VHDL代码如下所示:

if(Round_Times=64)then

    sum:= (delta(26 downto 0)) & "00000";

end if;

    y_total    :=((y(27 downto 0)&"0000")+k(2))XOR(sum + y)XOR(("00000"&y(31 downto 5))+k(3));

    z              :=  z-y_total;

    z_total    :=((z(27 downto 0)&"0000")+k(0))XOR(sum + z)XOR(("00000"&z(31 downto 5))+k(1));

     y             :=  y-z_total;

     sum        :=  sum-delta;

     output_Dec <=  y&z;

end if;
————————————————
 
————————————————

联系:highspeedlogic

QQ :1224848052

微信:HuangL1121

邮箱:1224848052@qq.com

网站:http://www.mat7lab.com/

网站:http://www.hslogic.com/

微信扫一扫:

Tags:TEA算法 
作者:TEA算法 来源:TEA算法
  • 您是如何找到本站的?
  • 百度搜索
  • Google搜索
  • 查阅资料过程中
  • 论坛发现
  • 百度贴吧发现
  • 朋友介绍
本站最新成功开发工程项目案例
相关评论
发表我的评论
  • 大名:
  • 内容:
  • matlab代做|matlab专业代做|matlab淘宝代做|python人工智能代做|FPGA项目合作|C代做|C++代做(www.hslogic.com) © 2021 版权所有 All Rights Reserved.
  • Email:highspeed_logic@163.com 站长QQ: 1224848052

    专业代做/代写/承接、MATLAB、SIMULINK、FPGA项目、博士/硕士/本科毕业设计、课题设计、论文,毕业论文,Coursework、Eassy、Assignment