一种高速有限长度的RC4加解密装置制造方法及图纸

技术编号:13608592 阅读:88 留言:0更新日期:2016-08-29 01:30
本发明专利技术公开了一种高速有限长度的RC4加解密装置,涉及信息安全技术领域。本发明专利技术包括至少一个数据接收模块、至少一个密钥流生成模块、至少一个数据处理模块和至少一个数据发送模块。所有模块均通过FPGA进行实现,FPGA通过Pcie接口与主机进行通讯,用于信息和数据的接收和回传。本发明专利技术提供的一种高速有限长度的RC4加解密装置,密钥接收完成后即开始密钥流的生成及存储,并且生成的密钥流及主机下发的密钥未向主机提供读取操作,避免了密钥流的暴露;相比于常规RC4算法实现的每次处理1字节,本发明专利技术提供的一种高速RC4加解密装置每次处理16字节,并且可根据需要调整为32、64或更多字节的处理能力,处理速度将大大提高。

【技术实现步骤摘要】

本专利技术涉及信息安全
,尤其涉及一种高速有限长度的RC4加解密装置
技术介绍
RC4加密算法是于1987年提出的密钥长度可变的对称流加密算法。该算法的特点是算法简单,运行速度快,而且密钥长度是可变的,可变范围为1-256字节。以上的特点使得RC4算法被广泛应用,不论是软件还是硬件都非常易于实现。RC4的密钥流的生成主要包括两个阶段,第一阶段是初始化S盒,第二阶段是生成伪随机子密钥。在密钥流的生成过程中,使用了状态向量S、指针索引i、j及密钥K等关键变量。对于第一阶段,假设状态向量S的长度为256字节,密钥K的长度为16字节,可以用如下类C代码表示:for(i=0;i<256;i++){s[i]=i;

【技术保护点】
一种高速有限长度的RC4加解密装置,其特征在于:包括,至少一个数据接收模块,用于缓存主机下发的队列信息及加解密的数据;至少一个密钥流生成模块,用于缓存主机下发的密钥,通过密钥生成密钥流,并将密钥流进行缓存;至少一个数据处理模块,用于根据主机下发的队列信息对数据进行加密或解密处理;至少一个数据发送模块,用于将数据处理模块产生的结果回送到主机。

【技术特征摘要】
1.一种高速有限长度的RC4加解密装置,其特征在于:包括,至少一个数据接收模块,用于缓存主机下发的队列信息及加解密的数据;至少一个密钥流生成模块,用于缓存主机下发的密钥,通过密钥生成密钥流,并将密钥流进行缓存;至少一个数据处理模块,用于根据主机下发的队列信息对数据进行加密或解密处理;至少一个数据发送模块,用于将数据处理模块产生的结果回送到主机。2.根据权利要求1所述的一种高速有限长度的RC4加解密装置,其特征在于:所述的数据接收模块、密钥流生成模块、数据处理模块和数据发送模块均通过FPGA进行实现,FPGA通过Pcie接口与主机进行通讯,用于信息和数据的接收和回传。3.根据权利要求1所述的一种高速有限长度的RC4加解密装置,其特征在于:密钥流生成流程如下,步骤1:主机下发密钥,该密钥缓存在FPGA内部RAM;步骤2:主机下发密钥流生成指令,此时将开始根据主机下发的密钥进行密钥流的生成;步骤3:初始化索引i为0;步骤4:将索引i的值赋值到S[i],索引i自加;步骤5:判断索引i的值是否小于256,如小于256则返回步骤4,否则进入步骤6;步骤6:将索引i、j的值初始化为0;步骤7:将索引j赋值,j=(j+S[i]+K[i%16])%256;K为密钥,S[i]为S盒中的第i个元素;步骤8:搅乱S盒,搅乱方式为将S[i]与S[j]进行交换;步骤9:索引i进行递增;步骤10:判断索引i的值是否小于256,如小于256则返回步骤7,否则进入步骤11;步骤11:将索引i、j的值初始化为0;步骤12:索引i进行递增;步骤13:将索引j赋值,j=(j+S[i%256])%256;步骤14:交换S[i]与S[j];步骤15:将sub_k赋值,sub_k=S((S[i%256]+S...

【专利技术属性】
技术研发人员:徐晓燕李高超周渊张露晨马秀娟唐积强徐小磊毛洪亮刘俊贤苏沐冉何万江刘庆良
申请(专利权)人:北京赛思信安技术股份有限公司国家计算机网络与信息安全管理中心
类型:发明
国别省市:北京;11

网友询问留言 已有0条评论
  • 还没有人留言评论。发表了对其他浏览者有用的留言会获得科技券。

1