一种密钥序列的获取方法和系统以及FPGA技术方案

技术编号:12324698 阅读:69 留言:0更新日期:2015-11-14 19:03
本发明专利技术提供一种密钥序列的获取方法和系统以及FPGA。该方法包括:设置FPGA以及密钥序列装置,在所述FPGA中设置状态机,还包括:将所述FPGA与所述密钥序列装置相连;利用所述FPGA中的状态机,控制所述密钥序列装置依次执行初始向量的加载、密钥长度的设置、根据所述加载的初始向量以及所述设置的密钥长度来生成密钥序列、及向FPGA输出所生成的密钥序列。本方案能够提高获取密钥序列的速度。

【技术实现步骤摘要】

本专利技术涉及计算机技术,特别涉及一种密钥序列的获取方法和系统以及FPGA
技术介绍
密钥序列也称为流密码,具有实现简单、便于硬件实现、加解密处理速度快、没有或只有有限的错误传播等特点,在实际应用中,特别是专用或机密机构中保持着优势,典型的应用领域包括无线通信、外交通信等。目前,获取密钥序列的方式是通过编写软件代码来实现。但是,软件代码的方式,速度较慢,而且安全性差。
技术实现思路
本专利技术提供一种密钥序列的获取方法和系统以及FPGA,能够提高获取速度。—种密钥序列的获取方法,设置FPGA以及密钥序列装置,在所述FPGA中设置状态机,还包括:将所述FPGA与所述密钥序列装置相连;利用所述FPGA中的状态机,控制所述密钥序列装置依次执行初始向量的加载、密钥长度的设置、根据所述加载的初始向量以及所述设置的密钥长度来生成密钥序列、及向FPGA输出所生成的密钥序列。所述在所述FPGA中设置状态机包括:在所述FPGA中,设置状态机的状态包括加载IV状态、写密钥长度状态、等待状态、读密钥状态;所述利用所述FPGA中的状态机,控制所述密钥序列装置包括:FPGA中的状态机进入加载IV状态,把密钥序列装置的IV向量加载使能信号设置为高电平,之后把初始向量传输给所述密钥序列装置,所述密钥序列装置获取初始向量;FPGA中的状态机进入写密钥长度状态,确定密钥长度,把密钥长度的值传输给密钥序列装置,所述密钥序列装置获取密钥长度的值;FPGA中的状态机进入等待状态,所述密钥序列装置根据获取的初始向量以及密钥长度的值生成密钥序列;FPGA中的状态机进入读密钥状态,读取所述密钥序列装置传输来的密钥序列。所述在所述FPGA中设置状态机进一步包括:在所述FPGA中,设置状态机的状态还包括空闲状态和复位状态;在所述FPGA中的状态机进入加载IV状态之前进一步包括:FPGA的状态机处于空闲状态,之后进入复位状态;在复位状态,FPGA的状态机设置所述密钥序列装置的复位信号为低电平,对所述密钥序列装置进行复位,之后进入所述加载IV状态。—种FPGA,包括:状态机、存储单元以及接口单元;状态机,用于实现一个以上的状态,控制所述一个以上的状态的切换,并根据切换到的每个状态,通过接口单元控制所述密钥序列装置依次执行初始向量的加载、密钥长度的设置、根据所述加载的初始向量及所述设置的密钥长度来生成密钥序列、向所述状态机返回所生成的密钥序列;并且,将接收到的密钥序列保存到所述存储单元中;存储单元,用于接收外部发来的初始向量,向所述状态机提供所述初始向量,以及保存密钥序列;接口单元,用于连接外部密钥序列装置,将所述外部密钥序列装置发来的密钥序列传输到所述存储单元。所述状态机中包括:第一实现子单元,用于设置状态机的状态包括加载IV状态、写密钥长度状态、等待状态、读密钥状态;状态切换子单元,用于控制进入所述第一实现子单元设置的加载IV状态,通过所述接口单元把密钥序列装置的IV向量加载使能信号设置为高电平,把初始向量传输给所述密钥序列装置;之后,切换到所述第一实现子单元设置的写密钥长度状态,确定密钥长度,把密钥长度的值通过所述接口单元传输给密钥序列装置;之后,切换到所述第一实现子单元设置的等待状态;之后,切换到所述第一实现子单元设置的读密钥状态,通过所述接口单元读取所述密钥序列装置传输来的密钥序列。所述第一实现子单元,进一步设置状态机的状态包括空闲状态和复位状态;所述状态切换子单元,进一步在执行所述控制进入所述第一实现子单元设置的加载IV状态之前,控制进入所述第一实现子单元设置的空闲状态,之后,切换到所述第一实现子单元设置的复位状态,在复位状态,通过所述接口单元设置外部所述密钥序列装置的复位信号为低电平,对所述密钥序列装置进行复位,之后执行所述控制进入所述第一实现子单元设置的加载IV状态;以及,在执行所述切换到所述第一实现子单元设置的读密钥状态,通过所述接口单元读取所述密钥序列装置传输来的密钥序列之后,切换回所述第一实现子单元设置的空闲状态。所述存储单元为双端口 RAM,所述双端口 RAM包括:第一端口,用于接收外部主机发来的初始向量,传输到RAM ;RAM,用于保存初始向量,以及保存密钥序列;第二端口,用于接收所述状态机发来的密钥序列,传输到所述RAM。所述接口单元包括:时钟信号引脚,连接到外部密钥序列装置的时钟信号引脚;复位信号引脚,连接到外部密钥序列装置的复位信号引脚,低电平有效;第一 1引脚,连接到外部密钥序列装置的初始向量IV引脚;第二 1引脚,连接到外部密钥序列装置的IV加载信号引脚,高电平有效;第三1引脚,连接到外部密钥序列装置的密钥序列长度信号引脚;第四1引脚,连接到外部密钥序列装置的密钥序列输出引脚;所述状态机,具体在进入复位状态时,控制所述接口单元通过所述复位信号引脚向密钥序列装置输出低电平信号,对所述密钥序列装置进行复位;在进入加载IV状态时,控制所述接口单元通过第二 1引脚输出高电平,并通过第一 1引脚把初始向量传输给所述密钥序列装置;在进入写密钥长度状态时,控制所述接口单元通过第三1引脚把密钥长度的值传输给密钥序列装置;在进入读密钥状态时,控制所述接口单元通过第四1引脚接收密钥序列装置传输来的密钥序列。一种密钥序列的获取系统,包括密钥序列装置以及上述任意一种FPGA ;其中,所述密钥序列装置,在所述FPGA状态机的控制下,依次执行初始向量的加载、密钥长度的设置、根据所述加载的初始向量及所述设置的密钥长度来生成密钥序列、向所述状态机返回所生成的密钥序列。密钥序列装置包括Trivium模块;所述Trivium模块包括:时钟信号引脚CLK,与所述FPGA的时钟信号引脚相连;复位信号引脚RST,与所述FPGA的复位信号引脚相连;初始向量IV引脚IV ,与所述FPGA的第一 1引脚相连;IV加载信号引脚IV_load,与所述FPGA的第二 1引脚相连;密钥序列长度信号引脚KEY_len,与所述FPGA的第三1引脚相连;密钥序列输出引脚S_out,与所述FPGA的第四1引脚相连。本专利技术实施例提供的密钥序列的获取方法和系统以及FPGA,能够利用硬件FPGA与密钥序列装置配合,在FPGA中设置状态机,并通过状态机的状态的切换,来控制密钥序列装置执行生成密钥序列的各个处理,由于采用FPGA的状态机来控制,是一种硬件实现的方式,因此,相对于现有技术中利用软件代码的方式,则能够大大提高获取密钥序列的速度。【附图说明】图1是本专利技术一个实施例中密钥序列获取方法的流程图。图2是本专利技术一个实施例中FPGA的结构示意图。图3是本专利技术当前第1页1 2 3 4 本文档来自技高网...

【技术保护点】
一种密钥序列的获取方法,其特征在于,设置FPGA以及密钥序列装置,在所述FPGA中设置状态机,还包括:将所述FPGA与所述密钥序列装置相连;利用所述FPGA中的状态机,控制所述密钥序列装置依次执行初始向量的加载、密钥长度的设置、根据所述加载的初始向量以及所述设置的密钥长度来生成密钥序列、及向FPGA输出所生成的密钥序列。

【技术特征摘要】

【专利技术属性】
技术研发人员:苏振宇
申请(专利权)人:浪潮电子信息产业股份有限公司
类型:发明
国别省市:山东;37

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

1