欢迎来到知嘟嘟! 联系电话:13095918853 卖家免费入驻,海量在线求购! 卖家免费入驻,海量在线求购!
知嘟嘟
我要发布
联系电话:13095918853
知嘟嘟经纪人
收藏
专利号: 2019110597115
申请人: 浙江理工大学
专利类型:发明专利
专利状态:已下证
专利领域: 电通信技术
更新日期:2024-01-05
缴费截止日期: 暂无
价格&联系人
年费信息
委托购买

摘要:

权利要求书:

1.一种基于FPGA的动态数据加密方法,其特征是方法包括以下步骤:步骤1:待加密数据缓存:对输入的待加密数据进行缓存,存入第一缓存器中;

步骤2:子密钥生成:根据步骤7中生成的三个密钥key1、key2、key3进行子密钥生成操作获得子密钥,每个密钥得到其对应的16个子密钥,并给出子密钥完成生成标志位信号;

步骤3:读取待加密数据:

(1)初始状态:当步骤2中的子密钥完成生成标志位信号出现时,第一缓存器读取出待加密数据的1帧数据;

(2)非初始状态:当步骤2中的子密钥完成生成标志位信号和步骤6-1中的请求读取脉冲信号均出现时,第一缓存器读取出待加密数据的1帧数据;

步骤4:Padding处理:对步骤3中读取出来的待加密数据的1帧数据进行预处理,不足64位的数据在低位补0至64位;

步骤5:加密处理;

步骤6:已加密数据缓存:将步骤5获得的数据存入第二缓存器中,即获得当前帧数据加密后的数据;

步骤7:加密链状态检测:步骤5中的步骤5-1每完成一次,加密链状态寄存器的值都加

1,并根据加密链状态寄存器的值判断进行密钥更新和加密帧数阈值Nx更新,并回到步骤2;

步骤8:不断迭代上述步骤2~7,直到完成每一帧数据的加密处理。

2.根据权利要求1所述的一种基于FPGA的动态数据加密方法,其特征是:所述步骤5具体是对步骤4获得的数据进行如下处理:步骤5-1:DES1加密:采用第一密钥key1的子密钥对步骤4获得的数据进行一次DES加密处理,一次加密分为16轮,每一轮依次采用1个子密钥进行加密;

步骤5-2:DES2加密:采用第二密钥key2的子密钥对步骤5-1获得的数据再进行一次DES加密处理,一次加密分为16轮,每一轮依次采用1个子密钥进行加密;

步骤5-3:DES3加密:采用第三密钥key3的子密钥对步骤5-2获得的数据再进行一次DES加密处理,一次加密分为16轮,每一轮依次采用1个子密钥进行加密。

3.根据权利要求1所述的一种基于FPGA的动态数据加密方法,其特征是:所述步骤7具体为:

步骤7-1:若加密链状态寄存器的值小于加密帧数阈值Nx,则发送请求读取脉冲信号为

1到第一缓存器并回到步骤3处理;

步骤7-2:若加密链状态寄存器的值大于等于加密帧数阈值Nx,则暂停加密工作,开始发送密钥更新启动信号给密钥更新模块和加密帧数阈值更新模块,进行密钥更新和加密帧数阈值Nx更新,并回到步骤2;

7-2-A:密钥更新:

(1)初始状态:随机生成三个密钥key1、key2、key3的初始值并直接输出给步骤2;

(2)非初始状态:对当前的三个密钥key1、key2、key3进行MD5加密,分别获得新的三个密钥key1、key2、key3,输出给步骤2;

7-2-B:加密帧数阈值Nx更新:

(1)初始状态:预先设定加密帧数阈值Nx的初始值并直接输出给步骤7;

(2)非初始状态:对当前的加密帧数阈值Nx进行MD5加密,获得新的加密帧数阈值Nx,输出给步骤7-1。

4.用于和权利要求1所述加密方法配合实施的一种基于FPGA的动态数据解密方法,其特征是方法包括以下步骤:步骤1:待解密数据缓存:对输入的待解密数据进行缓存,存入第一缓存器中;

步骤2:子密钥生成:根据步骤7中生成的三个密钥key1、key2、key3进行子密钥生成操作获得子密钥,每个密钥得到其对应的16个子密钥,并给出子密钥完成生成标志位信号;

步骤3:读取待解密数据:

(1)初始状态:当步骤2中的子密钥完成生成标志位信号出现时,第一缓存器读取出待解密数据的1帧数据;

(2)非初始状态:当步骤2中的子密钥完成生成标志位信号和步骤6-1中的请求读取脉冲信号均出现时,第一缓存器读取出待解密数据的1帧数据;

步骤4:Padding处理:对步骤3中读取出来的待解密数据的1帧数据进行预处理,不足64位的数据在低位补0至64位;

步骤5:解密处理;

步骤6:已解密数据缓存:将步骤5获得的数据存入第二缓存器中,即获得当前帧数据解密后的数据;

步骤7:解密链状态检测:步骤5中的步骤5-1每完成一次,解密链状态寄存器的值都加

1,并根据解密链状态寄存器的值判断进行密钥更新和解密帧数阈值Nx更新,并回到步骤2;

步骤8:不断迭代上述步骤2~7,直到完成每一帧数据的解密处理。

5.根据权利要求4所述的一种基于FPGA的动态数据解密方法,其特征是:所述步骤5具体是对步骤4获得的数据进行如下处理:步骤5-1:DES1解密:采用第三密钥key3的子密钥对步骤4获得的数据进行一次DES解密处理,一次解密分为16轮,每一轮依次采用1个子密钥进行解密;本步骤16轮的子密钥依次顺序和权利要求2中所述步骤5-3的16轮的子密钥依次顺序颠倒相反;

步骤5-2:DES2解密:采用第二密钥key2的子密钥对步骤5-1获得的数据再进行一次DES解密处理,一次解密分为16轮,每一轮依次采用1个子密钥进行解密;本步骤16轮的子密钥依次顺序和权利要求2中所述步骤5-2的16轮的子密钥依次顺序颠倒相反;

步骤5-3:DES3解密:采用第一密钥key1的子密钥对步骤5-2获得的数据再进行一次DES解密处理,一次解密分为16轮,每一轮依次采用1个子密钥进行解密;本步骤16轮的子密钥依次顺序和权利要求2中所述步骤5-1的16轮的子密钥依次顺序颠倒相反。

6.根据权利要求4所述的一种基于FPGA的动态数据解密方法,其特征是:所述步骤7具体为:

步骤7-1:若解密链状态寄存器的值小于解密帧数阈值Nx,则发送请求读取脉冲信号为

1到第一缓存器并回到步骤3处理;

步骤7-2:若解密链状态寄存器的值大于等于解密帧数阈值Nx,则暂停解密工作,开始发送密钥更新启动信号给密钥更新模块和解密帧数阈值更新模块,进行密钥更新和解密帧数阈值Nx更新,并回到步骤2;

7-2-A:密钥更新:

(1)初始状态:随机生成三个密钥key1、key2、key3的初始值并直接输出给步骤2;

(2)非初始状态:对当前的三个密钥key1、key2、key3进行MD5解密,分别获得新的三个密钥key1、key2、key3,输出给步骤2;

7-2-B:解密帧数阈值Nx更新:

(1)初始状态:预先设定解密帧数阈值Nx的初始值并直接输出给步骤7;

(2)非初始状态:对当前的解密帧数阈值Nx进行MD5解密,获得新的解密帧数阈值Nx,输出给步骤7-1。

7.一种基于FPGA的动态数据加解密实现方法,其特征是:包括权利要求1所述的加密方法和权利要求4所述的解密方法,发送端对于待加密数据采用所述加密方法进行加密后传输,接收端接收加密数据后采用所述解密方法进行解密使用。