一种基于流密码的加密设备制造技术

技术编号:11319542 阅读:72 留言:0更新日期:2015-04-22 09:02
提出一种基于FPGA器件实现的RC4加密设备,包括控制单元,K-box模块、S-box模块、寄存器堆和运算器。提出的所述设备支持变长密钥的同时,与传统的ASIC相比在硬件设计的时间、空间、成本等方面都有较大的改进。与软件方法实现相比,硬件实现的加密算法不仅在速度上有提升,而且在抵挡诸如窃取信息,恶意篡改和中断等外部攻击方面优势更加突出。

【技术实现步骤摘要】

本专利技术涉及加密
,具体涉及一种基于流密码的加密设备
技术介绍
移动通信和互联网的快速发展使得信息安全的重要性凸显出来,而且在经济政 治、军事国防等关键领域,对信息保密有更高的要求。所以,在现代信息系统中,为数据传输 加入保密机制,并配备相应的加密技术的需求迫切且意义重大。 RC4算法是一种典型的流密码算法,具有流密码算法受到错误传播的影响的特点。 同时RC4算法具有良好的随机性和抵抗各种分析的能力,在众多领域的安全设计中得到了 广泛的应用。RC4算法是一个以分组长度n(-般n表示字节的个数)为参数的二元加法流 密码体制,其内部状态包含N= 2n个字节的S盒。RC4加密算法的伪代码如下所示:【主权项】1. 一种RC4加密设备,其特征在于,包括: 控制单元、K-box模块、S-box模块、寄存器堆和运算器; 所述K-box模块用于保存用户设定的密钥; 所述S-box模块用于完成密钥调度和输出伪随机密钥; 所述寄存器堆用于保存密钥调度和生成伪随机密钥序列过程中产生的中间数据和需 要访问的S-box中存储空间地址; 所述控制单元具有: key_write端口,所述控制单元在所述key_write端口输入有效电平时,控K-box模块 写入用户设定的密钥; key_len端口,用于输入所述用户设定的密钥的长度信息; ask端口,当所述ask端口输入有效电平时,触发所述控制单元控制S-box模块执行密 钥调度; prepare_ready端口,在所述S-box模块完成所述调度后,控制模块通过prepare_ ready端口输出有效电平; end_of_data端口,用于接收待加密数据输入完成指示电平; 所述RC4加密设备还具有: Key端口,用于输入用户设定的密钥; data_in数据输入端口,接收待加密数据; data_out数据输出端口,将加密后的数据输出; 所述运算器用于将所述伪随机密钥与输入的所述待加密数据进行异或运算,产生所述 加密后的数据。2. 如权利要求1所述的设备,其特征在于: 所述寄存器堆包括寄存器k,用于保存已经写入到所述K-box模块中的所述用户设定 的密钥的位数。3. 如权利要求1所述的设备,其特征在于: 所述寄存器堆包括寄存器i、j、RSi和RSj ; 所述寄存器i和j分别用于保存在S-box模块执行密钥调度时所使用到的S-box模块 中的不同存储空间的地址; 所述寄存器RSi用于缓存由S-box模块存储的、所述寄存器i所保存的所述地址处的 数值S; 所述寄存器RSj用于缓存由S-box模块存储的、所述寄存器j所保存的所述地址处的 数值S。4. 如权利要求1所述的设备,其特征在于: 所述寄存器堆包括寄存器t和k ; 所述寄存器t用于记录所要使用的伪随机密钥在S-box模块的存储空间中的存储地 址; 所述寄存器k用于记录所要使用的所述伪随机密钥,即k = S。5. 如权利要求1至4中任一项所述的设备,其特征在于: 所述设备使用大规模可编程口阵列FPGA器件实现; 所述S-box模块、K-box模块由所述器件中的M4K块存储器实现。6.如权利要求5所述的设备,其特征在于: 所述S-box模块为双口 RAM ; 具有一个8位异步读端口、一个8位异步写端口,读使能信号、8位宽的读地址、写使能 信号、8位宽的写地址、W及读写操作共同使用的时钟信号。【专利摘要】提出一种基于FPGA器件实现的RC4加密设备,包括控制单元,K-box模块、S-box模块、寄存器堆和运算器。提出的所述设备支持变长密钥的同时,与传统的ASIC相比在硬件设计的时间、空间、成本等方面都有较大的改进。与软件方法实现相比,硬件实现的加密算法不仅在速度上有提升,而且在抵挡诸如窃取信息,恶意篡改和中断等外部攻击方面优势更加突出。【IPC分类】H04L9-06【公开号】CN104539417【申请号】CN201510015089【专利技术人】赵祯龙 【申请人】浪潮(北京)电子信息产业有限公司【公开日】2015年4月22日【申请日】2015年1月12日本文档来自技高网...

【技术保护点】
一种RC4加密设备,其特征在于,包括:控制单元、K‑box模块、S‑box模块、寄存器堆和运算器;所述K‑box模块用于保存用户设定的密钥;所述S‑box模块用于完成密钥调度和输出伪随机密钥;所述寄存器堆用于保存密钥调度和生成伪随机密钥序列过程中产生的中间数据和需要访问的S‑box中存储空间地址;所述控制单元具有:key_write端口,所述控制单元在所述key_write端口输入有效电平时,控K‑box模块写入用户设定的密钥;key_len端口,用于输入所述用户设定的密钥的长度信息;ask端口,当所述ask端口输入有效电平时,触发所述控制单元控制S‑box模块执行密钥调度;prepare_ready端口,在所述S‑box模块完成所述调度后,控制模块通过prepare_ready端口输出有效电平;end_of_data端口,用于接收待加密数据输入完成指示电平;所述RC4加密设备还具有:Key端口,用于输入用户设定的密钥;data_in数据输入端口,接收待加密数据;data_out数据输出端口,将加密后的数据输出;所述运算器用于将所述伪随机密钥与输入的所述待加密数据进行异或运算,产生所述加密后的数据。...

【技术特征摘要】

【专利技术属性】
技术研发人员:赵祯龙
申请(专利权)人:浪潮北京电子信息产业有限公司
类型:发明
国别省市:北京;11

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

1