📄 基于状态机和流水线技术的3des加密算法及其fpga设计-单片机技术2.htm
字号:
<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.0 Transitional//EN">
<!-- saved from url=(0053)http://www.et00.com/mcu/2006/1002/article_3944_3.html -->
<HTML><HEAD><TITLE>基于状态机和流水线技术的3DES加密算法及其FPGA设计-单片机技术</TITLE>
<META http-equiv=Content-Type content="text/html; charset=gbk">
<META content=,最新单片机资料,单片机技术,单片机资料,单片机技术学习,单片机技术 name=keywords>
<META content=最新单片机资料-单片机技术学习资料软件文章-单片机技术 name=description><LINK
href="/favicon.ico" rel="shortcut icon"><LINK
href="基于状态机和流水线技术的3DES加密算法及其FPGA设计-单片机技术2.files/style.css" type=text/css
rel=stylesheet>
<SCRIPT language=javascript
src="基于状态机和流水线技术的3DES加密算法及其FPGA设计-单片机技术2.files/config.js"></SCRIPT>
<SCRIPT language=javascript
src="基于状态机和流水线技术的3DES加密算法及其FPGA设计-单片机技术2.files/common.js"></SCRIPT>
<SCRIPT language=javascript
src="基于状态机和流水线技术的3DES加密算法及其FPGA设计-单片机技术2.files/prototype.js"></SCRIPT>
<SCRIPT language=javascript
src="基于状态机和流水线技术的3DES加密算法及其FPGA设计-单片机技术2.files/login.js"></SCRIPT>
<META content="MSHTML 6.00.2900.3020" name=GENERATOR></HEAD>
<BODY>
<DIV class=header>
<TABLE class=bg_login cellSpacing=0 cellPadding=0 width=980>
<TBODY>
<TR>
<TD align=middle width=262><!--时间-->
<SCRIPT language=JavaScript
src="基于状态机和流水线技术的3DES加密算法及其FPGA设计-单片机技术2.files/time.js"></SCRIPT>
</TD>
<TD align=right width=38><A href="http://www.et00.com/mcu/rss.php?catid=6"
target=_blank><IMG src="基于状态机和流水线技术的3DES加密算法及其FPGA设计-单片机技术2.files/rss.gif"
border=0></A> </TD>
<TD align=right width=650><!--会员登录--><SPAN id=loginstats></SPAN>
<SCRIPT language=javascript>login();</SCRIPT>
</TD></TR></TBODY></TABLE>
<TABLE cellSpacing=0 cellPadding=0 width=980 align=center>
<TBODY>
<TR>
<TD align=middle width=180 height=80><A href="http://www.et00.com/"><IMG
src="基于状态机和流水线技术的3DES加密算法及其FPGA设计-单片机技术2.files/logo.gif"></A></TD>
<TD align=middle width=620>
<SCRIPT language=JavaScript src=""></SCRIPT>
</TD>
<TD width=100>
<TABLE cellSpacing=0 cellPadding=0 width="100%">
<TBODY>
<TR>
<TD>【<A id=StranLink>繁体中文</A>】</TD></TR>
<TR>
<TD>【<A
onclick="this.style.behavior='url(#default#homepage)';this.setHomePage ('http://www.et00.com');"
href="http://www.et00.com/mcu/2006/1002/article_3944_3.html#">设为首页</A>】</TD></TR>
<TR>
<TD>【<A
onclick="window.external.addFavorite('http://www.et00.com/','')"
href="http://www.et00.com/mcu/2006/1002/article_3944_3.html#">加入收藏</A>】</TD></TR></TBODY></TABLE></TD></TR></TBODY></TABLE><!--频道列表-->
<DIV id=Whatever align=center>
<UL class=TabBarLevel1 id=TabPage1>
<LI><A href="http://www.et00.com/">首页</A> </LI>
<LI><A class=white href="http://www.et00.com/article/">技术文章</A> </LI>
<LI><A class=white href="http://www.et00.com/sch/">电路图资料</A> </LI>
<LI><A class=white href="http://www.d1dz.com/down/">资料下载站</A> </LI>
<LI class=Selected id=Tabi><A class=white
href="http://www.et00.com/mcu/">单片机技术</A> </LI>
<LI><A class=white href="http://www.et00.com/pcb/">PCB技术</A> </LI>
<LI><A class=white href="http://www.et00.com/eda/">EDA技术</A> </LI>
<LI><A class=white href="http://www.et00.com/light/">光电技术</A> </LI>
<LI><A class=white href="http://www.et00.com/service/">维修技术</A> </LI>
<LI><A class=white href="http://www.et00.com/ve/">视频电子</A> </LI>
<LI><A class=white href="http://www.et00.com/picture/">图片频道</A> </LI>
<LI><A class=white href="http://et00z.uu1001.com/">论坛</A> </LI></UL></DIV><!--频道下属栏目列表-->
<TABLE cellSpacing=0 cellPadding=0 width="100%">
<TBODY>
<TR>
<TD class=submenu><A class=white
href="http://www.et00.com/mcu/">单片机技术首页</A> | <A class=white
href="http://www.et00.com/mcu/n1/" target=_blank>精典单片机资料</A> | <A
class=white href="http://www.et00.com/mcu/n2/" target=_blank>最新单片机资料</A> |
<A class=white href="http://www.et00.com/mcu/special/">专题</A> | <A
class=white
href="http://www.et00.com/mcu/2006/1002/index.php?keyid=5">留言本</A> | <A
class=white href="http://www.et00.com/mcu/add.php">投稿</A> | <A class=white
href="http://www.et00.com/mcu/search.php">搜索</A>
</TD></TR></TBODY></TABLE></DIV>
<DIV class=main>
<TABLE cellSpacing=0 cellPadding=0 width=980>
<TBODY>
<TR>
<TD height=10></TD></TR></TBODY></TABLE>
<SCRIPT type=text/javascript>
function fontZoom(size)
{
$('content').style.fontSize=size+'px';
}
</SCRIPT>
<TABLE cellSpacing=0 cellPadding=0 width=980>
<TBODY>
<TR>
<TD class=content vAlign=top width=760><!--位置导航-->
<DIV class=position_1>当前位置:<A href="http://www.et00.com/mcu/">单片机技术首页</A>
>> <A href="http://www.et00.com/mcu/n2/">最新单片机资料</A> >>
基于状态机和流水线技术的3DES加密算法及其FPGA设计</DIV><!--主标题-->
<H1>基于状态机和流水线技术的3DES加密算法及其FPGA设计 (3)</H1><!--副标题--><!--文章属性-->
<DIV id=property>2006-10-02 作者:<A class=member_url
href="http://www.et00.com/member/member.php?username=admin"></A> 来源:<A
href="http://www.et00.com/mcu/2006/1002/article_3944_3.html#"
target=_blank>互联网</A> 浏览次数:<SPAN
id=hits>143</SPAN> 文字大小:【<A
href="javascript:fontZoom(16)">大</A>】【<A
href="javascript:fontZoom(14)">中</A>】【<A
href="javascript:fontZoom(12)">小</A>】</DIV><!--引用地址-->
<DIV class=content_text id=content>
<SCRIPT type=text/javascript><!--
google_ad_client = "pub-4170877871798803";
google_ad_width = 728;
google_ad_height = 90;
google_ad_format = "728x90_as";
google_ad_type = "text_image";
//2007-03-03: et00ad1
google_ad_channel = "0726147245";
google_color_border = "FFFFFF";
google_color_bg = "FFFFFF";
google_color_link = "FF0000";
google_color_text = "0066CC";
google_color_url = "000033";
//--></SCRIPT>
<SCRIPT src="基于状态机和流水线技术的3DES加密算法及其FPGA设计-单片机技术2.files/show_ads.js"
type=text/javascript>
</SCRIPT>
</DIV>
<DIV class=content_text id=content>ENT: 30px">经综合后,每个S盒只用了24个逻辑单元。
<P></P>
<P
style="TEXT-INDENT: 30px">3DES是64位分组大小的加密算法,数据线一般是8位、16位或32位,为此增加了输入、输出接口,这部分接口完成的功能就是串/并转换和并/串转换。以16位输出接口为例,设计中将加/解密出来的数据从低位到高位在valid信号有效的情况下同时存入四个16位寄存器,再通过一个选择器依次将数据送出。该选择器不同于普通的多路选择器,它是由valid信号触发其内的计数功能,从而依次将寄存器中数据输出,如图4所示。输入接口要简单一些,只需一个64位可移位的寄存器,在第四个16位数据到来后才将这一组64位数据送给加密模块。这种结构非常容易用硬件描述语言实现。<BR><IMG
onmousewheel="return bbimg(this)" onclick=ImgClick(this) height=463
hspace=10
src="基于状态机和流水线技术的3DES加密算法及其FPGA设计-单片机技术2.files/20070302060049275.gif"
width=549 vspace=10 border=0 resized="0"><BR></SPAN><FONT
size=3> </FONT><SPAN class=main1>2.4 总体结构</P>
<P
style="TEXT-INDENT: 30px">通过一个密钥控制模块为3DES提供三个56位的密钥以及加/解密控制信号。密钥的输入是28位的,所产生的三个56位密钥并不是同一时间提供给3DES的,相互之间有16个时钟的延时,这样可以保证修改密钥后并不影响先前流水线的工作。再加上输入、输出接口就构成了该设计的总体结构,如图5所示。限于图的大小,不影响理解的部分信号没有画出。加/解密的流程是先输入六组28位的密钥,然后就可以发送需要加/解密的数据了,中间可以有间断,如果需要更改密钥,也是先输入改后的密钥,再输入数据,可实时更改,无需等到流水线中最后一组数据加/解密完成。</P>
<P style="TEXT-INDENT: 30px">本设计在ALTERA公司的Quartus II环境下用VHDL、Verilog
HDL实现设计输入,采用同步时钟,成功编译、综合、适配和仿真,并下载到Stratix系列FPGA芯片EP1S25F780C5中。在综合的过程中用逻辑锁等技术进行了优化。消耗逻辑单元16250个,设计时钟频率可达95.07MHz。
</SPAN></P></DIV>
<SCRIPT type=text/javascript>
function ImgZoom(Id)//重新设置图片大小 防止撑破表格
{
var w = $(Id).width;
var m = 550;
if(w < m)
{
return;
}
else
{
var h = $(Id).height;
$(Id).height = parseInt(h*m/w);
$(Id).width = m;
}
}
window.onload = function()
{
var Imgs = $("content").getElementsByTagName("img");
var i=0;
for(;i<Imgs.length;i++)
{
ImgZoom(Imgs[i]);
}
}
</SCRIPT>
<!--自定义字段//-->
<TABLE cellSpacing=0 cellPadding=0 width="100%" align=center>
<TBODY></TBODY></TABLE><!--自定义字段\\--><!--分页-->
<DIV class=td_center><A
href="http://www.et00.com/mcu/2006/1002/article_3944_2.html"><IMG
src="基于状态机和流水线技术的3DES加密算法及其FPGA设计-单片机技术2.files/page_pre.gif"
align=absMiddle border=0></A> [<A
href="http://www.et00.com/mcu/2006/1002/article_3944_1.html">1</A>] [<A
href="http://www.et00.com/mcu/2006/1002/article_3944_2.html">2</A>]
<STRONG>[3]</STRONG> <A
href="http://www.et00.com/mcu/2006/1002/article_3944_3.html"><IMG
src="基于状态机和流水线技术的3DES加密算法及其FPGA设计-单片机技术2.files/page_next.gif"
align=absMiddle border=0></A></DIV>
<DIV class=mar_10>
<SCRIPT type=text/javascript><!--
google_ad_client = "pub-4170877871798803";
google_ad_width = 728;
google_ad_height = 90;
google_ad_format = "728x90_as";
google_ad_type = "text_image";
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -