一种保密型对称密码算法的实现方法

文档序号:7958343阅读:226来源:国知局
专利名称:一种保密型对称密码算法的实现方法
技术领域
本发明涉及密码技术领域,是采用密码编码技术设计一种保密型的对称密码算法,适用于政府、军队、金融及商业等行业的有线或无线保密通讯等领域。
背景技术
目前,国内外一些密码设备厂商生产的密码产品,一种是对称密码算法都是固定的,不会改变,为了提高密码机的保密强度,使用者通过不断变化密钥,最理想的方法就是对称密钥的变化达到一次一密,这会造成密钥管理成本提高,若将对称密码算法公开,则会降低密码产品的保密强度;另一种密码产品是在一套加密系统中存放多款对称密码算法,每次使用前通信双方进行协商,从多款对称密码算法中选取一款,这相当于有多款不同对称密码算法的密码设备,每次选择一款使用,这种多算法体制的密码产品制造成本太高。

发明内容
一种保密型对称密码算法的实现方法,是利用密码编码和信息技术,基于已经公开的对称加密算法架构,通过变化对称密码算法中的编制“要素”即加密组件,如反馈移位寄存器、密钥的扩展算法、表和函数等,使得这些编制“要素”为动态“要素”,其变化具有随机性,通过产生一组随机数和时间戳来对动态编制“要素”的控制选取,实现对称密码算法的编制不固定,保证加密明文数据文件使用的对称密码算法的编制一报一变,并将该随机数定义为会话密钥,用接收方的公钥将会话密钥和时间戳加密成密文,再发送给接收方,或将动态编制“要素”的选取,采用对称密码算法的结构密钥协商的方式来实现,使第三方不知哪些动态编制“要素”参与组成一套临时对称密码算法的编制,把已经公开的对称密码算法的编制转变成保密的对称密码算法的编制,从而,提高破译者攻击这种保密型对称密码算法的难度和成本,全部过程用软、硬件结合或完全用软件方式实现,具体方法如下1、定义对称密码算法对称密码算法是指密码设计的架构;定义对称密码算法的编制对称密码算法的编制是指组成对称密码算法的各种加密组件及线路等的集合,亦即对称密码算法的编制是由各种加密组件——编制“要素”构成,其中编制“要素”包括反馈移位寄存器的反馈抽头多项式的系数、固定常数、表内常数、选取表的参数、密钥扩展算法参数、以及函数中的系数等等。
2、建立对称密码算法的编制可变“要素”(1)“要素1”——反馈移位寄存器的建立方式,是建立N群共M组反馈移位寄存器的长度相同而反馈逻辑不同的反馈移位寄存器,根据不同的反馈移位寄存器对应多项式中的不同的系数组,将这不同的系数参数组作为对称密码算法编制的可变“要素”之一,例如两组多项式为X5+X4+X3+X+1,X5+X3+X2+1,则对应的2组系数参数组为,111011和101101;(2)“要素2”——表的建立方式,是建立N群共M套结构相同而数据不同的表,将这不同数据表作为对称密码算法编制的可变“要素”之一;(3)“要素3”——固定常数组的建立方式,是建立N群共M组长度相同而数据不同的固定常数组,将这长度相同而数据不同的固定常数组作为对称密码算法编制的可变“要素”之一;(4)“要素4”——表选取参数组的建立方式,是建立N群共M组选取表参数,其长度相同而参数的置换不同的参数组,如0123456789,2453190876,7904253186等,将这些长度和参数相同而置换不同的参数组作为对称密码算法编制的可变“要素”之一;(5)“要素5”——密钥扩展算法的参数组的建立方式,是建立N群共M组密钥扩展算法的长度相同而参数不同的参数组,将这些长度相同而参数不同的参数作为对称密码算法编制的可变“要素”之一;(6)“要素6”——函数组的建立方式,是建立N群共M组同类函数而系数不同的系数参数组,将这些系数参数组作为对称密码算法编制的可变“要素”之一。
3、建立N群共M组动态编制“要素”,其中N=8~32,M=600~2000,将N群共M组动态编制“要素”预先存放在通信双方的加解密系统中,需组成一套对称密码算法编制时,从这N群共M组动态编制“要素”中,随机选取N组与其他固定编制“要素”一起组成一套对称密码算法的编制。
4、对称密码算法的编制“要素”有很多种,编制“要素”种类是固定的,从这固定种类的编制“要素”中选择K种其中K=1~6,分别对K种编制“要素”进行扩展变化,建立K种共M组动态编制“要素”,其中相同种类的编制“要素”其结构相同而参数不同,不同种类的编制“要素”其结构完全不同,其他未被选择进行扩展变化的编制“要素”包括可变“要素”和不可变“要素”,为固定编制“要素”,保持不变。
5、由会话密钥和时间戳组成的算法控制,对M组动态编制“要素”进行选取,选出N组与其他固定编制“要素”一起组成一套临时对称密码算法编制。
6、会话密钥由N位随机数组成,随机数由数字或字母组成,N=8~32,随机数由通信双方的加解密系统产生,时间戳由年、月、日、时组成,例如在同“年”里由于一位会话密钥不同即随机性,则选取的编制“要素”不同,时间戳由通信双方的计算机或加解密系统产生。
7、根据时间戳和会话密钥,将这M组动态编制“要素”分成N群,建立时间戳和随机数即会话密钥与这N群共M组动态编制“要素”的对应关系,其中第一群~第四群动态编制“要素”与时间戳和会话密钥建立关系如下,即某年对应第一群共1×N组动态编制“要素”,某月对应第二群共12×N组动态编制“要素”,某日对应第三群共31×N组动态编制“要素”,某时对应第四群共24×N组动态编制“要素”,第五群之后的动态编制“要素”与时间戳和会话密钥建立关系如下,第五群对应1×N组动态编制“要素”,第六群对应1×N组动态编制“要素”,......,第N群对应1×N组动态编制“要素”。
8、在加解密系统中预先存放的N群共M组动态编制“要素”都为强编制“要素”,即每组“要素”都分别经过安全性验证,均用强密码方法选择的编制“要素”,例如若用DES算法中的S-盒作为动态编制“要素”,就要预先选择用强密码方法选择的S-盒,保证合成后的一套对称密码算法的编制抗攻击力强。
9、在加解密系统中预先存放的N群共M组动态编制“要素”都为可逆编制“要素”,即每组“要素”都分别经过可逆性验证,用这些可逆编制“要素”参与组成的一套临时对称密码算法的编制,既能将明文加密成密文,又能将密文解密成明文,并保证解密后的明文与原明文一致。
10、发送方在对明文数据加密之前,加密系统首先产生一组时间戳并随机产生一组N位随机数即会话密钥,由该会话密钥和时间戳组成的算法控制,从N群共M组动态编制“要素”中选取N组,再与其他固定的编制“要素”一同组成一套临时对称密码算法的编制,由于时间戳和会话密钥具有随机性,则被选取的“要素”随机变化,所以组成的一套临时对称密码算法的编制也具有随机性,每次一变。
11、用随机生成的一套临时对称密码算法的编制,对明文数据文件进行加密得到密文数据文件后,加密系统立刻将该临时对称密码算法的编制清除,不保存该临时对称密码算法的编制,并将对应的会话密钥和时间戳也加密成密文,与已加密成密文数据文件一起发送给接收方。
12、采用非对称密码算法用接收方的公钥将发送方产生的会话密钥和时间戳加密成密文发送给接收方,接收方用其私钥解密后获得该会话密钥和时间戳的明文,根据解密后的会话密钥和时间戳,生成一套与发送方相同的临时对称密码算法的编制,对收到的密文数据文件进行解密,当接收方获得明文数据文件后,解密系统立刻将该临时对称密码算法的编制清除,也不保存该临时对称密码算法的编制。
13、由于第三方得不到接收方的私钥,无法将发送方加密的会话密钥和时间戳解密,不能获得发送方临时生成的一套对称密码算法的编制,也不能对发送方发送的密文数据文件解密,实现将已知对称密码算法的编制转成保密对称密码算法的编制,提高这种具有保密、动态对称密码算法编制的抗破译能力。
14、将N群共M组动态编制“要素”,作为对称密码算法密钥体制的一种,定义为对称密码算法的系统密钥或结构密钥,通信双方像协商用户密钥一样来协商结构密钥,通信双方在得到一组用户密钥时,也一并得到对应的一组结构密钥即指示用户选取某群某组动态编制“要素”,来生成对称密码算法的编制。
15、通信双方的密钥传递可通过非对称密码算法加密传输或专门“信使”传递,密钥包括用户密钥和结构密钥,通信双方在获得一组用户密钥的同时也获得对应的一组结构密钥,从而,减少这种对称密码算法动态编制的管理成本。


图1建立保密型对称密码算法的流程2保密型对称密码算法生成和使用的流程图
具体实施例方式以下结合

一种保密型对称密码算法的实现步骤图1说明建立保密型对称密码算法的过程,首先,针对具体一套对称密码算法,确定K种K=1~6编制“要素”作为可变编制“要素”,对该K种编制“要素”进行扩展变化,生成的编制“要素”具有如下特征相同种类编制“要素”其结构相同而参数不同,不同种类编制“要素”其结构完全不同,并分别用强密码方法测试这些编制“要素”参数,使其具有强密码编制“要素”的特性,再分别测试这些编制“要素”参数,使其具有可逆性编制“要素”的特征,取出具有强密码和可逆性的编制“要素”即动态编制“要素”共N群M组,其中M=600~2000,N=8~32,建立时间戳和随机数即会话密钥与这M组动态编制“要素”对应关系,使得N位随机数分别对应N群M组动态编制“要素”中的N组编制“要素”,再将这N群M组动态编制“要素”数据分别预存在通信用户双方的加解密系统中。
图2说明保密型对称密码算法生成和使用过程,首先,由发送方计算机或加密系统产生一组时间戳,再由发送方加密系统随机产生一组N位随机数即会话密钥,根据时间戳和会话密钥从N群共M组动态编制“要素”中取出N组,与其他固定编制“要素”一起组成一套临时对称密码算法的编制,并用发送方与接收方共有的用户密钥,将明文数据文件进行加密生成密文数据文件,之后,加密系统立刻将被使用过的这套临时对称加密算法的编制清除,再用非对称密码算法以及接收方的公钥,将该时间戳和会话密钥加密成密文,与密文数据文件一并发送给接收方,接收方用自己的私钥将收到的时间戳和会话密钥的密文解密,根据获得的时间戳和会话密钥明文,从接收方预存的N群共M组动态编制“要素”中取出N组,与其他固定编制“要素”一起组成一套临时对称密码算法的编制,该套临时对称密码算法的编制与发送方生成的一套临时对称密码算法的编制一样,再用该对称密码算法的编制和发送方与接收方共有的用户密钥,将接收到的密文数据文件解密得到明文数据文件,之后,解密系统立刻将被使用过的这套临时对称加密算法的编制清除。
权利要求
1.一种保密型对称密码算法的实现方法,是利用密码编码和信息技术实现,其实施步骤如下基于已经公开的对称加密算法架构,通过变化对称密码算法中的编制“要素”即加密组件,如反馈移位寄存器、密钥的扩展算法、表和函数等,使得这些编制“要素”为动态“要素”,其变化具有随机性,通过产生一组随机数和时间戳来对动态编制“要素”的控制选取,实现对称密码算法的编制不固定,保证加密明文数据文件使用的对称密码算法的编制一报一变,并将该随机数定义为会话密钥,用接收方的公钥将会话密钥和时间戳加密成密文,再发送给接收方,或将动态编制“要素”的选取,采用对称密码算法的结构密钥协商的方式来实现,使第三方不知哪些动态编制“要素”参与组成一套临时对称密码算法的编制,把已经公开的对称密码算法的编制转变成保密的对称密码算法的编制,从而,提高破译者攻击这种保密型对称密码算法的难度和成本。
2.根据权利1要求所述的方法,其特征在于对称密码算法的编制“要素”有很多种,每套对称密码算法的编制“要素”种类是固定的,从这固定种类的编制“要素”中选择一种或几种,对其进行扩展变化建立N群共M组即几百至几千组动态编制“要素”,并存放在通信双方的加解密系统中。
3.根据权利1和权利2要求所述的方法,其特征在于(1)通信双方的临时对称密码算法编制的生成方法是根据双方使用相同的时间戳和会话密钥,从相同的N群共M组动态编制“要素”中随机选出N组,与其他固定编制“要素”一起组成一套临时对称密码算法的编制;(2)未被扩展变化的编制“要素”包括可变“要素”和不可变“要素”等,为固定编制“要素”,保持不变;(3)被扩展变化的编制“要素”为动态编制“要素”包括相同种类和不同种类的编制“要素”共计M组,并与时间戳和会话密钥建立对应关系,被分成N群;(4)被扩展变化的编制“要素”中,相同种类的编制“要素”其结构相同而参数不同,不同种类的编制“要素”其结构完全不同。
4.根据权利2和权利3要求所述的方法,其特征在于(1)“要素1”——线性反馈移位寄存器组,选出长度相同反馈逻辑不同的反馈移位寄存器对应多项式中的不同系数组,作为对称密码算法编制的可变“要素”之一;(2)“要素2”——表内常数,选出结构相同而数据不同的表,作为对称密码算法编制的可变“要素”之一;(3)“要素3”——固定常数组,选出长度相同而数据不同的固定常数组,作为对称密码算法编制的可变“要素”之一;(4)“要素4”——表选取参数组,选出长度和参数都相同而参数的置换位不同的参数组,作为对称密码算法编制的可变“要素”之一;(5)“要素5”——密钥扩展算法的参数组,选出密钥扩展算法的参数长度相同而参数不同的参数组,作为对称密码算法编制的可变“要素”之一;(6)“要素6”——函数组,选出同类函数而系数不同的系数参数组,作为对称密码算法编制可变的“要素”之一。
5.根据权利1和权利3要求所述的方法,其特征在于发送方加密系统每次加密数据前,首先产生一组时间戳并随机产生一组N位随机数即会话密钥,由该会话密钥和时间戳控制组成的算法,从N群M组动态编制“要素”中选取N组,参与组成一套临时对称密码算法的编制,该控制算法中的会话密钥具有随机性,产生的临时编制也具有随机性,一次一变,不固定。
6.根据权利1、权利2和权利3要求所述的方法,其特征在于在加解密系统中预先存放的N群共M组动态编制“要素”都为可逆“要素”,即由这些可逆编制“要素”参与组成的一套临时对称密码算法的编制,既能将明文加密成密文,又能将密文解密成明文,并保证解密后的明文与原明文一致。
7.根据权利1、权利2和权利3要求所述的方法,其特征在于在加解密系统中预先存放的N群共M组动态编制“要素”都为强编制“要素”,即每组编制“要素”都分别经过安全性验证,均用强密码方法选择的强编制“要素”,保证合成的一套对称密码算法的编制抗攻击能力强。
8.根据权利1、权利3和权利5要求所述的方法,其特征在于发送方用临时组成的对称密码算法编制加密数据文件后,加密系统立刻将该临时对称密码算法的编制清除,接收方用发送方相同的临时对称密码算法的编制,对收到的密文数据文件进行解密,之后,解密系统也立刻将该临时对称密码算法的编制清除,通信双方都不保存该临时对称密码算法的编制,从而,提高该临时对称密码算法编制的保密性。
9.根据权利1、权利3和权利5要求所述的方法,其特征在于采用非对称密码算法用接收方的公钥将发送方产生的会话密钥和时间戳加密成密文发送给接收方,接收方用其私钥解密后获得该会话密钥和时间戳的明文,第三方得到的是该会话密钥和时间戳的密文,不能获得临时对称密码算法的编制,实现将已知对称密码算法编制转成保密对称密码算法编制,从而,大大提高这种保密对称密码算法的分析难度。
10.根据权利1、权利3和权利5要求所述的方法,其特征在于将N群共M组动态编制“要素”,作为对称密码算法密钥体制的一种即系统密钥或结构密钥,通信双方可以像协商用户密钥一样协商结构密钥,通信双方在得到用户密钥时,也一并得到对应的一组结构密钥即指示用户选取某群某组动态编制“要素”,来生成对称密码算法的编制,以便减少这种对称密码算法动态编制的管理成本。
全文摘要
一种保密型对称密码算法的实现方法,是利用密码编码和信息技术,基于已经公开的对称加密算法架构,通过变化对称密码算法中的编制“要素”即加密组件,如反馈移位寄存器、密钥的扩展算法、表和函数等,使得这些编制“要素”为动态“要素”,其变化具有随机性,通过产生一组随机数和时间戳来对动态编制“要素”的控制选取,实现对称密码算法的编制不固定,保证加密明文数据文件使用的对称密码算法的编制一报一变,并将该随机数定义为会话密钥,用接收方的公钥将会话密钥和时间戳加密成密文,再发送给接收方,达到把已经公开的对称密码算法的编制转变成保密编制的目的。
文档编号H04L9/28GK1819515SQ20061006508
公开日2006年8月16日 申请日期2006年3月20日 优先权日2006年3月20日
发明者胡祥义 申请人:胡祥义
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1