发明名称 密钥嵌入式密码
摘要 本发明公开密钥嵌入式密码,包括密钥嵌入式算法模块和由这种算法模块构成的密码系统。密钥嵌入式算法模块将编/译码函数与密钥生成函数合为一体,密钥在分立的算法模块中以非对称和对称两种方式配置。密钥算法模块分为母函数模块和子函数模块。密码系统由管理中心和多个用户终端组成,管理中心利用母函数模块生成密钥设置各不相同的子函数模块,并将子函数模块分配给用户,密钥分配在此过程中自动完成。密钥有统一设定的密钥编号,用户通过密钥编号操纵密钥。密码系统利用密钥算法模块及其密钥配置,建立隐密钥通信机制,其效果是:系统提供保密性、可鉴别性和不可否认性三项信息安全功能,但在用户之间既不传递密钥,也不直接公开密钥。
申请公布号 CN101753296B 申请公布日期 2011.11.30
申请号 CN200910155892.1 申请日期 2009.12.29
申请人 浙江大学 发明人 鲁阳
分类号 H04L9/16(2006.01)I;H04L9/32(2006.01)I;H04L9/30(2006.01)I 主分类号 H04L9/16(2006.01)I
代理机构 杭州求是专利事务所有限公司 33200 代理人 韩介梅
主权项 密钥嵌入式密码方法,其特征是采用将数据变换函数与密钥生成函数组合为一体的含密钥加密/解密算法,即密钥嵌入式算法模块,以密钥嵌入式算法模块作为网络终端的数据处理单元,构成密码系统;即基于密钥嵌入式算法模块构成的密码系统,基于密钥嵌入式算法模块的密码系统采用为各个终端分配具有不同密钥设置的密钥嵌入式算法模块的方法构建网络安全系统,即密钥嵌入式网络安全系统;密钥嵌入式网络安全系统以密钥嵌入式算法模块作为网络终端的数据保护工具,并提供基于密钥嵌入式算法的隐密钥通信机制,使系统具备三种信息安全功能:保密性、可认证性及不可否认性;密钥嵌入式算法模块分为母函数模块和子函数模块两部分,母函数模块用于复制子函数模块;母函数模块和子函数模块的工作形态是经过编译的计算机可执行代码软件或装有可执行代码软件的计算机固件;母函数模块由母函数编码器(E)、母函数译码器(D)和初始化函数(12)组成,子函数模块由子函数编码器(e)和子函数译码器(d)组成;母函数编码器(E)包含加密变换函数(1)和加密密钥发生器(5),其中加密密钥发生器(5)由加密密钥矩阵(2)、加密密钥控制函数(3)和加密密钥编号函数(4)组成;母函数译码器(D)包含解密变换函数(7)、解密信息处理函数(8)和解密密钥发生器(6),其中解密密钥发生器(6)由解密密钥矩阵(9)、解密密钥控制函数(10)和解密密钥编号函数(11)组成;子函数编码器(e)包含加密变换函数(13)和加密密钥发生器(17),其中加密密钥发生器(17)由加密密钥矩阵(14)、加密密钥控制函数(15)和加密密钥编号函数(16)组成;子函数译码器(d)包含解密变换函数(19)、解密信息处理函数(20)和解密密钥发生器(18),其中解密密钥发生器(18)由解密密钥矩阵(21)、解密密钥控制函数(22)和解密密钥编号函数(23)组成;母函数编码器(E)中的加密变换函数(1)在一组加密密钥k的控制下完成加密运算,将明文p变换为密文c;加密密钥k由加密密钥发生器(5)产生;加密密钥发生器(5)内的加密密钥矩阵(2)是一个字符矩阵,字符元素有多种排列,每一种排列组合状态构成一个加密密钥,加密密钥矩阵(2)所有元素不同排列的个数等于加密密钥的总数;加密密钥控制函数(3)控制加密密钥矩阵(2)的结构变化,使加密密钥矩阵(2)生成不同的加密密钥;加密密钥编号函数(4)为加密密钥k编号,并通过加密密钥的编号n控制加密密钥控制函数(3)的动作;加密密钥的编号n与加密密钥k一一对应;加密密钥的编号n既是母函数编码器(E)的顶层控制参数,又是使用母函数编码器(E)进行数据加密时的外部操作对象,母函数编码器(E)的使用者通过加密密钥的编号n选择加密密钥k;母函数编码器(E)在进行数据加密时,加密变换函数(1)用加密密钥k作为控制参数,对明文p作编码运算,生成密文c;加密变换函数(1)在完成编码运算的过程中,既对明文p进行编码,也对加密密钥的编号n进行编码,并将两部分编码结果组合为一体,构成密文c;母函数译码器(D)中的解密变换函数(7)在解密密钥k*的控制下完成解密运算,将密文c变换为明文p;解密密钥k*由解密密钥发生器(6)生成,解密密钥发生器(6)内的解密密钥矩阵(9)是一个与加密密钥矩阵(2)相同的字符矩阵,其字符元素的每一种排列状态构成一个解密密钥,解密密钥矩阵(9)所有元素不同排列的个数等于解密密钥的总数,同时也等于加密密钥的总数;解密密钥控制函数(10)控制解密密钥矩阵(9)的结构变化,以构造出不同的解密密钥;解密密钥编号函数(11)内设有多组解密密钥编号n*,解密密钥编号函数(11)通过n*控制解密密钥控制函数(10)的动作;解密密钥编号n*与加密密钥编号n的编制规则一致,并且与解密密钥k*一一对应,每一个解密密钥k*都有自己的解密密钥编号n*;解密密钥编号n*是母函数译码器(D)的顶层控制参数,同时又是使用母函数译码器(D)进行数据解密时的外部操作对象,母函数译码器(D)的使用者通过解密密钥编号n*选择解密密钥k*;母函数译码器(D)在进行数据解密时,先由解密信息处理函数(8)读取包含在密文c中的加密密钥编号n,然后将加密密钥编号n输给解密密钥编号函数(11);解密密钥编号函数(11)检索解密密钥编号序列,将加密密钥编号n与解密密钥编号n*逐一进行比较,如果检索到与加密密钥编号n对应的解密密钥编号n*,就将此解密密钥编号n*输给解密密钥控制函数(10);解密密钥控制函数(10)按照输入的解密密钥编号n*调整解密密钥矩阵(9)的结构,生成解密密钥k*,并将解密密钥k*输给解密变换函数(7);解密变换是加密变换的逆运算;母函数译码器(D)在进行数据解密时,解密变换函数(7)以解密密钥k*作为控制参数,对密文c作变换,恢复出明文p;初始化函数(12)为一变量赋值函数;初始化函数(12)通过为加密密钥编号函数(4)和加密密钥控制函数(3)的变量赋不同的值,使加密密钥矩阵(2)具有不同的初始排列状态集合;初始化函数(12)通过为解密密钥编号函数(11)和解密密钥控制函数(10)的变量赋不同的值,使解密密钥矩阵(9)具有不同的初始排列状态集合;子函数编码器(e)中的加密变换函数(13)在一组加密密钥k的控制下完成加密运算,将明文p变换为密文c;加密密钥k由加密密钥发生器(17)产生;加密密钥发生器(17)内的加密密钥矩阵(14)是一个字符矩阵,字符元素有多种排列,每一种排列组合状态构成一个加密密钥,加密密钥矩阵(14)所有元素不同排列的个数等于加密密钥的总数;加密密钥控制函数(15)控制加密密钥矩阵(14)的结构变化,使加密密钥矩阵(14)生成不同的加密密钥;加密密钥编号函数(16)为加密密钥k编号,并通过加密密钥的编号n控制加密密钥控制函数(15)的动作;加密密钥的编号n与加密密钥k一一对应;加密密钥的编号n既是子函数编码器(e)的顶层控制参数,又是使用子函数编码器(e)进行数据加密时的外部操作对象,子函数编码器(e)的使用者通过加密密钥的编号n选择加密密钥k;子函数编码器(e)在进行数据加密时,加密变换函数(13)用加密密钥k作为控制参数,对明文p作编码运算,生成密文c;加密变换函数(13)在完成编码运算的过程中,既对明文p进行编码,也对加密密钥的编号n进行编码,并将两部分编码结果组合为一体,构成密文c;子函数译码器(d)中的解密变换函数(19)在解密密钥k*的控制下完成解密运算,将密文c变换为明文p;解密密钥k*由解密密钥发生器(18)生成,解密密钥发生器(18)内的解密密钥矩阵(21)是一个与加密密钥矩阵(14)相同的字符矩阵,其字符元素的每一种排列状态构成一个解密密钥,解密密钥矩阵(21)所有元素不同排列的个数等于解密密钥的总数,同时也等于加密密钥的总数;解密密钥控制函数(22)控制解密密钥矩阵(21)的结构变化,以构造出不同的解密密钥;解密密钥编号函数(23)内设有多组解密密钥编号n*,解密密钥编号函数(23)通过n*控制解密密钥控制函数(22)的动作;解密密钥编号n*与加密密钥编号n的编制规则一致,并且与解密密钥k*一一对应,每一个解密密钥k*都有自己的解密密钥编号n*;解密密钥编号n*是子函数译码器(d)的顶层控制参数,同时又是使用子函数译码器(d)进行数据解密时的外部操作对象,子函数译码器(d)的使用者通过解密密钥编号n*选择解密密钥k*;子函数译码器(d)在进行数据解密时,先由解密信息处理函数(20)读取包含在密文c中的加密密钥编号n,然后将加密密钥编号n输给解密密钥编号函数(23);解密密钥编号函数(23)检索解密密钥编号序列,将加密密钥编号n与解密密钥编号n*逐一进行比较,如果检索到与加密密钥编号n对应的解密密钥编号n*,就将此解密密钥编号n*输给解密密钥控制函数(22);解密密钥控制函数(22)按照输入的解密密钥编号n*调整解密密钥矩阵(21)的结构,生成解密密钥k*,并将解密密钥k*输给解密变换函数(19);解密变换是加密变换的逆运算;子函数译码器(d)在进行数据解密时,解密变换函数(19)以解密密钥k*作为控制参数,对密文c作变换,恢复出明文p;母函数模块利用初始化函数(12)复制子函数模块;在母函数模块中,加密密钥k和解密密钥k*设有统一的初始编号;由母函数模块复制子函数模块的方法是,按照一定的密钥分配方案,用初始化函数(12)将加密密钥发生器(5)中的一部分加密密钥编号n和解密密钥发生器(6)中的一部分解密密钥编号n*永久关闭,使母函数编码器(E)和母函数译码器(D)初始化;被关闭的加密密钥编号n和解密密钥编号n*以后不能使用,所有对应的密钥相当于被销毁;由母函数模块复制一个子函数模块的步骤是,先用初始化函数(12)分别调整加密密钥发生器(5)中的加密密钥控制函数(3)、加密密钥编号函数(4)和解密密钥发生器(6)中的解密密钥控制函数(10)、解密密钥编号函数(11),然后使初始化函数(12)与加密密钥发生器(5)和解密密钥发生器(6)断开,再将剩下的母函数编码器(E)和母函数译码器(D)的组合体复制成一个副本,得到子函数模块;母函数模块在复制子函数模块时,通过设定密钥编号以非对称和对称两种形式为子函数模块配置密钥:使一对密钥中的加密密钥k和解密密钥k*分别出现在不同的子函数模块中,构成非对称密钥配置;使一对密钥中的加密密钥k和解密密钥k*出现在同一个子函数模块中,构成对称密钥配置;密钥嵌入式网络安全系统由管理中心(O)和若干个用户(UA)、(UB)、...、(Ui)以及分析者Eve三类终端构成,管理中心(O)掌握母函数模块,每个用户至少拥有一个子函数模块;管理中心(O)使用母函数模块按一定的密钥分配方案复制子函数模块,然后将子函数模块分配给各个用户,并负责在系统内发布用户的密钥编号;所有用户均由管理中心(O)获得子函数模块,并通过子函数模块一次性获得全部密钥;各用户均通过子函数模块中的加密密钥编号n和解密密钥编号n*操纵数据加密和解密;密钥嵌入式网络安全系统提供的隐密钥通信机制,有非对称隐密钥和对称隐密钥两种基本方法;非对称隐密钥:在由母函数模块复制子函数模块的过程中,通过初始化设置,以两种非对称格式配置密钥;第一种格式是使系统内任意一个用户成为某一指定密钥对k‑k*中解密密钥k*的唯一拥有者,而其他用户都成为该指定密钥对k‑k*中加密密钥k的拥有者;该任意用户独有的解密密钥k*是该任意用户的私钥,其他用户拥有的与该任意用户的私钥k*对应的加密密钥k是该任意用户的公钥,也是系统的公钥;这一对密钥k‑k*的解密密钥编号n*和加密密钥编号n由管理中心(O)公开发布;在这种密钥配置格式下,系统的其他所有用户都利用公开的加密密钥编号n选择加密密钥k,向该任意用户发送加密信息,由此实现信息的保密性;第二种格式是使系统内任意一个用户成为某一指定密钥对k‑k*中加密密钥k的唯一拥有者,而其他用户都成为该指定密钥对k‑k*中解密密钥k*的拥有者;该任意用户独有的加密密钥k是该任意用户的私钥,其他用户拥有的与该任意用户的私钥k对应的解密密钥k*是该任意用户的公钥,也是系统的公钥;这一对密钥k‑k*的加密密钥编号n和解密密钥编号n*由管理中心(O)公开发布;在这种密钥配置格式下,该任意用户使用私钥k加密信息,以确认自己的信息行为,其他用户都利用公开的解密密钥编号n*选择对应的解密密钥k*,以辨别信息的来源和真伪,由此实现数字签名和认证;对称隐密钥:在由母函数模块复制子函数模块的过程中,通过初始化设置,使系统内某一指定用户成为某一指定密钥对k‑k*的唯一拥有者,该指定用户使用这一指定密钥对k‑k*对自己的私有信息进行加密/解密处理。
地址 310027 浙江省杭州市浙大路38号