密钥嵌入式密码的利记博彩app

文档序号:7710133阅读:256来源:国知局
专利名称:密钥嵌入式密码的利记博彩app
技术领域
本发明涉及密钥嵌入式密码,属信息安全技术领域。
背景技术
密码技术是保障网络信息安全的核心技术。目前实际应用的密码,可以按密钥形 式的不同划分为两大类对称密码和非对称密码(公钥密码)。 在对称密码系统中,加密和解密使用相同的密钥,这种密码的安全性主要依赖于 密钥的保密性,通信双方一般需要借助安全信道传递密钥。对称密码的主要优点是算法简 单,运算速度快,而缺点是密钥管理复杂,这也是对称密码在实际应用中的最大问题。
在公钥密码系统中,加密和解密使用不同的密钥,一对加密/解密密钥中,一个可 以公开,称为公钥,另一个不能暴露,称为私钥。公钥系统不需要通过安全信道来传递密钥, 并且可以实现数字签名。但公钥密码的运算效率远低于对称密码,不适合于大量数据的加 密。在实际应用中,公钥密码往往与对称密码结合使用,既先用公钥方法加密对称密码的密 钥,然后再用对称密钥加密信息。这种密码存在一个根本性性缺陷,即公开的密钥可以被冒 充。为了解决这个问题,必须有一套完善的密钥管理体系,目前的基本做法是建立可信密钥 分配中心、认证中心等专门的密钥管理系统,包括公钥基础设施(PKI)和证书机构(CA)。但 建立PKI和CA导致系统管理复杂、运行代价高昂,并且不可避免地产生连带安全隐患。
现有的主流密码体制,包括对称密码和公钥密码,有两个共同的特点第一,密钥 与算法是相互分离的,即密钥作为控制参数,只是在对信息进行加密/解密时,才由外部输 入加密器/解密器;第二,密钥一般只对信息攻击者及非法用户保密,而对于合法用户则是 暴露的或不保密的。这两个问题,实际上是造成现有密码脆弱性(安全漏洞难以消除)、应 用局限性(使用灵活性差、系统管理复杂)及运行成本高的根本原因。

发明内容
本发明的目的是为网络信息安全,尤其是虚拟局域网和含传感器、测试仪器类型
节点的网络系统,提供一种以密钥嵌入式算法为技术基础的密钥嵌入式密码。 本发明的密钥嵌入式密码采用将数据变换函数与密钥生成函数组合为一体的方
法构成含密钥的加密/解密算法,称为密钥嵌入式算法模块;以密钥嵌入式算法模块作为
网络终端的数据处理单元,构成的密码系统,称为基于密钥嵌入式算法(模块)的密码系
统。基于密钥嵌入式算法模块构成的密码系统采用为各个终端分配具有不同密钥设置的密
钥嵌入式算法模块的方法构建网络安全系统,即密钥嵌入式网络安全系统。密钥嵌入式网
络安全系统以密钥嵌入式算法模块作为网络终端的数据保护工具,并提供基于密钥嵌入式
算法的"隐密钥"通信机制,使系统具备三种信息安全功能保密性、可认证性及不可否认性。 密钥嵌入式算法模块分为母函数模块和子函数模块两部分,母函数模块用于复制 子函数模块。母函数模块和子函数模块的工作形态是经过编译的计算机可执行代码软件或装有可执行代码软件的计算机固件。 母函数模块由母函数编码器、母函数译码器和初始化函数组成,子函数模块由子 函数编码器和子函数译码器组成。母函数编码器包含加密变换函数和加密密钥发生器,其 中加密密钥发生器由加密密钥矩阵、加密密钥控制函数和加密密钥编号函数组成;母函数 译码器包含解密变换函数、解密信息处理函数和解密密钥发生器,其中解密密钥发生器由 解密密钥矩阵、解密密钥控制函数和解密密钥编号函数组成。子函数编码器的构造与母函 数编码器相同,子函数译码器的构造与母函数译码器相同。子函数编码器包含加密变换函 数和加密密钥发生器,其中加密密钥发生器由加密密钥矩阵、加密密钥控制函数和加密密 钥编号函数组成;子函数译码器包含解密变换函数、解密信息处理函数和解密密钥发生器, 其中解密密钥发生器由解密密钥矩阵、解密密钥控制函数和解密密钥编号函数组成;
母函数编码器中的加密变换函数在一组加密密钥k的控制下完成加密运算,将明 文P变换为密文c。加密密钥k由加密密钥发生器产生。加密密钥发生器内的加密密钥矩 阵是一个字符矩阵,字符元素有多种排列,每一种排列组合状态构成一个加密密钥,加密密 钥矩阵所有元素不同排列的个数等于加密密钥的总数。加密密钥控制函数控制加密密钥矩 阵的结构变化,使加密密钥矩阵生成不同的加密密钥。加密密钥编号函数为加密密钥k编 号,并通过加密密钥的编号n控制加密密钥控制函数的动作。加密密钥的编号n与加密密 钥k 一一对应。加密密钥的编号n既是母函数编码器的顶层控制参数,又是使用母函数编 码器进行数据加密时的外部操作对象,母函数编码器的使用者通过加密密钥的编号n选择 加密密钥k。母函数编码器在进行数据加密时,加密变换函数用加密密钥k作为控制参数, 对明文P作编码运算,生成密文c。加密变换函数在完成编码运算的过程中,既对明文p进 行编码,也对加密密钥的编号n进行编码,并将两部分编码结果组合为一体,构成密文c。
母函数译码器中的解密变换函数在解密密钥k*的控制下完成解密运算,将密文c 变换为明文P。解密密钥^由解密密钥发生器生成,解密密钥发生器内的解密密钥矩阵是一 个与加密密钥矩阵相同的字符矩阵,其字符元素的每一种排列状态构成一个解密密钥,解 密密钥矩阵所有元素不同排列的个数等于解密密钥的总数,同时也等于加密密钥的总数。 解密密钥控制函数控制解密密钥矩阵的结构变化,以构造出不同的解密密钥。解密密钥编 号函数内设有多组解密密钥编号n 解密密钥编号函数通过r^控制解密密钥控制函数的动 作。解密密钥编号n*与加密密钥编号n的编制规则一致,并且与解密密钥k* 一一对应,每 一个解密密钥k*都有自己的解密密钥编号n*。解密密钥编号n*是母函数译码器的顶层控 制参数,同时又是使用母函数译码器进行数据解密时的外部操作对象,母函数译码器的使 用者通过解密密钥编号11*选择解密密钥k*。母函数译码器在进行数据解密时,先由解密信 息处理函数读取包含在密文c中的加密密钥编号n,然后将加密密钥编号n输给解密密钥 编号函数。解密密钥编号函数检索解密密钥编号序列,将加密密钥编号n与解密密钥编号 11*逐一进行比较,如果检索到与加密密钥编号n对应的解密密钥编号n*,就将此解密密钥编 号n*输给解密密钥控制函数。解密密钥控制函数按照输入的解密密钥编号n*调整解密密 钥矩阵的结构,生成解密密钥k*,并将解密密钥k*输给解密变换函数。解密变换是加密变 换的逆运算;母函数译码器在进行数据解密时,解密变换函数以解密密钥^作为控制参数, 对密文c作变换,恢复出明文p。 初始化函数为一变量赋值函数,初始化函数通过为加密密钥编号函数和加密密钥
7控制函数的变量赋不同的值,使加密密钥矩阵具有不同的初始排列状态集合;初始化函数 通过为解密密钥编号函数和解密密钥控制函数的变量赋不同的值,使解密密钥矩阵具有不 同的初始排列状态集合。 子函数编码器中的加密变换函数在一组加密密钥k的控制下完成加密运算,将明 文P变换为密文c。加密密钥k由加密密钥发生器产生。加密密钥发生器内的加密密钥矩 阵是一个字符矩阵,字符元素有多种排列,每一种排列组合状态构成一个加密密钥,加密密 钥矩阵所有元素不同排列的个数等于加密密钥的总数。加密密钥控制函数控制加密密钥矩 阵的结构变化,使加密密钥矩阵生成不同的加密密钥。加密密钥编号函数为加密密钥k编 号,并通过加密密钥的编号n控制加密密钥控制函数的动作。加密密钥的编号n与加密密 钥k 一一对应。加密密钥的编号n既是子函数编码器的顶层控制参数,又是使用子函数编 码器进行数据加密时的外部操作对象,子函数编码器的使用者通过加密密钥的编号n选择 加密密钥k。子函数编码器在进行数据加密时,加密变换函数用加密密钥k作为控制参数, 对明文P作编码运算,生成密文c。加密变换函数在完成编码运算的过程中,既对明文p进 行编码,也对加密密钥的编号n进行编码,并将两部分编码结果组合为一体,构成密文c。
子函数译码器中的解密变换函数在解密密钥k*的控制下完成解密运算,将密文c 变换为明文P。解密密钥^由解密密钥发生器生成,解密密钥发生器内的解密密钥矩阵是一 个与加密密钥矩阵相同的字符矩阵,其字符元素的每一种排列状态构成一个解密密钥,解 密密钥矩阵所有元素不同排列的个数等于解密密钥的总数,同时也等于加密密钥的总数。 解密密钥控制函数控制解密密钥矩阵的结构变化,以构造出不同的解密密钥。解密密钥编 号函数内设有多组解密密钥编号n 解密密钥编号函数通过r^控制解密密钥控制函数的动 作。解密密钥编号n*与加密密钥编号n的编制规则一致,并且与解密密钥k* 一一对应,每 一个解密密钥k*都有自己的解密密钥编号n*。解密密钥编号n*是子函数译码器的顶层控 制参数,同时又是使用子函数译码器进行数据解密时的外部操作对象,子函数译码器的使 用者通过解密密钥编号11*选择解密密钥k*。子函数译码器在进行数据解密时,先由解密信 息处理函数读取包含在密文c中的加密密钥编号n,然后将加密密钥编号n输给解密密钥 编号函数。解密密钥编号函数检索解密密钥编号序列,将加密密钥编号n与解密密钥编号 11*逐一进行比较,如果检索到与加密密钥编号n对应的解密密钥编号n*,就将此解密密钥编 号n*输给解密密钥控制函数。解密密钥控制函数按照输入的解密密钥编号n*调整解密密 钥矩阵的结构,生成解密密钥k*,并将解密密钥k*输给解密变换函数。解密变换是加密变 换的逆运算。子函数译码器在进行数据解密时,解密变换函数以解密密钥^作为控制参数, 对密文c作变换,恢复出明文p。 母函数模块利用初始化函数复制子函数模块。在母函数模块中,加密密钥k和解 密密钥^设有统一的初始编号。由母函数模块复制子函数模块的方法是,按照一定的密钥 分配方案,用初始化函数将加密密钥发生器中的一部分加密密钥编号n和解密密钥发生器 中的一部分解密密钥编号11*永久关闭,使母函数编码器和母函数译码器初始化。被关闭的 加密密钥编号n和解密密钥编号n*以后不能使用,所有对应的密钥相当于被销毁。由母函 数模块复制一个子函数模块的步骤是,先用初始化函数分别调整加密密钥发生器中的加密 密钥控制函数、加密密钥编号函数和解密密钥发生器中的解密密钥控制函数、解密密钥编 号函数然后使初始化函数与加密密钥发生器和解密密钥发生器断开,再将剩下的母函数编
8码器和母函数译码器的组合体复制成一个副本,得到子函数模块。 母函数模块在复制子函数模块时,通过设定密钥编号以非对称和对称两种形式为 子函数模块配置密钥使一对密钥中的加密密钥k和解密密钥P分别出现在不同的子函数 模块中,构成非对称密钥配置;使一对密钥中的加密密钥k和解密密钥k*出现在同一个子 函数模块中,构成对称密钥配置。 密钥嵌入式网络安全系统由管理中心和若干个用户以及"分析者"三类终端构成, 管理中心掌握母函数模块,每个用户至少拥有一个子函数模块。管理中心使用母函数模块 按一定的密钥分配方案复制子函数模块,然后将子函数模块分配给各个用户,并负责在系 统内发布用户的密钥编号。所有用户均由管理中心获得子函数模块,并通过子函数模块一 次性获得全部密钥。各用户均通过子函数模块中的加密密钥编号n和解密密钥编号n*操 纵数据加密和解密。 密钥嵌入式网络安全系统提供的隐密钥通信机制,有非对称隐密钥和对称隐密钥 两种基本方法; 非对称隐密钥在由母函数模块复制子函数模块的过程中,通过初始化设置,以两 种非对称格式配置密钥;第一种格式是使系统内任意一个用户成为某一指定密钥对k-P中 解密密钥k*的唯一拥有者,而其他用户都成为该指定密钥对k_k*中加密密钥k的拥有者; 该任意用户独有的解密密钥k*是该任意用户的私钥,其他用户拥有的与该任意用户的私钥 k*对应的加密密钥k是该任意用户的公钥,也是系统的公钥;这一对密钥k_k*的解密密钥 编号r^和加密密钥编号n由管理中心公开发布。在这种密钥配置格式下,系统的其他所有 用户都利用公开的加密密钥编号n选择加密密钥k,向该任意用户发送加密信息,由此实现 信息的保密性。第二种格式是使系统内任意一个用户成为某一指定密钥对k-P中加密密钥 k的唯一拥有者,而其他用户都成为该指定密钥对k-k*中解密密钥k*的拥有者。该任意用 户独有的加密密钥k是该任意用户的私钥,其他用户拥有的与该任意用户的私钥k对应的 解密密钥k*是该任意用户的公钥,也是系统的公钥。这一对密钥k-k*的加密密钥编号n和 解密密钥编号1!*由管理中心公开发布。在这种密钥配置格式下,该任意用户使用私钥k加 密信息,以确认自己的信息行为,其他用户都利用公开的解密密钥编号n*选择对应的解密 密钥k*,以辨别信息的来源和真伪,由此实现数字签名和认证。 对称隐密钥在由母函数模块复制子函数模块的过程中,通过初始化设置,使系统 内某一指定用户成为某一指定密钥对k-k*的唯一拥有者,该指定用户使用这一指定密钥对 k-k*对自己的私有信息进行加密/解密处理。 下面对密钥嵌入式密码的构造方法和工作原理作进一步的说明。
1、密钥嵌入式算法及算法模块 密钥嵌入式算法,是将数据变换函数(加密/解密函数)与密钥生成函数组合设 计构成的含密钥密码算法程序,也称为密钥嵌入式算法模块。密钥生成函数也称为密钥发 生器。由于数据变换函数与密钥发生器合为一体,所以密钥嵌入式算法是含密钥的密码算 法。密钥嵌入式算法模块,分为母函数模块和子函数模块两类。母函数模块的功能是复制 子函数模块,因此母函数模块和子函数模块的关系是生成与被生成的关系,即母函数模块 用于生成子函数模块,而子函数模块均由母函数模块生成。由母函数模块生成子函数模块 的过程称为复制。由一个母函数模块可以复制出多个各不相同的子函数模块,各个子函数
9模块之间的差别在于密钥设置的不同。母函数模块和子函数模块的工作形态是经过编译的 计算机可执行代码软件或装有可执行代码软件的专用芯片(计算机固件)。
母函数模块由编码器、译码器和初始化函数组成,而子函数模块仅由编码器和译 码器组成。编码器的功能是将明文P变换为密文c,译码器的功能是将密文c变换为明文 P。编码器包含加密变换函数和加密密钥发生器,其中加密密钥发生器由加密密钥矩阵、加 密密钥控制函数和加密密钥编号函数组成。译码器包含解密变换函数、解密信息处理函数 和解密密钥发生器,其中解密密钥发生器由解密密钥矩阵、解密密钥控制函数和解密密钥 编号函数组成。母函数模块中的初始化函数用于子函数模块的初始状态设置。子函数模块 的初始状态设置称为初始化,初始化包括密钥编号的设定和密钥矩阵的设定。
编码器中的加密变换函数在一组加密密钥k的控制下完成加密运算,将明文p变 换为密文c。加密密钥k由加密密钥发生器产生。加密密钥发生器内的加密密钥矩阵是一 个字符矩阵,字符元素有多种排列,每一种排列状态构成一个加密密钥,因此加密密钥矩阵 所有元素不同排列的个数等于加密密钥的总数。加密密钥控制函数用于控制加密密钥矩阵 的结构变化,使加密密钥矩阵生成不同的加密密钥。加密密钥编号函数用于为加密密钥编 号,并通过加密密钥的编号n控制加密密钥控制函数的动作。加密密钥的编号n与加密密 钥k具有一一对应的关系。加密密钥的编号n既是编码器的顶层控制参数,又是使用编码 器进行数据加密时的外部操作对象,编码器的使用者通过加密密钥的编号n选择加密密钥 k,而加密密钥k本身不是使用者的直接操作对象。编码器在进行数据加密时,加密变换函 数用加密密钥k作为控制参数,对明文p作编码运算,生成密文c。加密变换函数在完成编 码运算的过程中,既对明文P进行编码,也对加密密钥的编号n进行编码,并将两部分编码 结果组合为一体,形成密文c。 译码器中的解密变换函数在解密密钥k*的控制下完成解密运算,将密文c变换为 明文P。解密密钥^由解密密钥发生器生成,解密密钥发生器内的解密密钥矩阵是一个与 加密密钥矩阵相同的字符矩阵,其字符元素的每一种排列状态构成一个解密密钥,解密密 钥矩阵所有元素不同排列的个数等于解密密钥的总数,同时也等于加密密钥的总数。解密 密钥控制函数用于控制解密密钥矩阵的结构变化,以构造出不同的解密密钥。解密密钥编 号函数内设有多组解密密钥编号n 解密密钥编号函数通过r^控制解密密钥控制函数的动 作。解密密钥编号r^与加密密钥编号n编制规则一致,并且与解密密钥P—一对应。每一 个解密密钥k*都有自己的解密密钥编号n*。解密密钥编号n*是译码器的顶层控制参数,同 时又是使用译码器进行数据解密时的外部操作对象,译码器的使用者通过解密密钥编号n* 选择解密密钥k*,而解密密钥k*本身不是使用者的直接操作对象。译码器在进行数据解密 时,先由解密信息处理函数读取包含在密文c中的加密密钥编号n,然后将加密密钥编号n 输给解密密钥编号函数。解密密钥编号函数检索解密密钥编号序列,将加密密钥编号n与 解密密钥编号r^逐一进行比较,如果检索到与加密密钥编号n对应的解密密钥编号n 就将 此解密密钥编号^输给解密密钥控制函数。解密密钥控制函数按照输入的解密密钥编号r^ 调整解密密钥矩阵的结构,生成解密密钥k*,并将解密密钥k*输给解密变换函数。解密变 换是加密变换的逆运算,译码器在进行数据解密时,解密变换函数以解密密钥kM乍为控制 参数,对密文c作变换,恢复出明文P。解密密钥控制函数的设计具有很大的灵活性,例如, 可以把来自密文的加密密钥编号n直接作为解密密钥编号n*送入解密密钥控制函数,而不需要由使用者从译码器的外部选择解密密钥编号。 初始化函数为一变量赋值函数。初始化函数通过为加密密钥编号函数和加密密钥 控制函数的变量赋不同的值,使加密密钥矩阵具有不同的排列状态集合。初始化函数通过 为解密密钥编号函数和解密密钥控制函数的变量赋不同的值,使解密密钥矩阵具有不同的 排列状态集合。 母函数模块利用初始化函数复制子函数模块。在母函数模块中,加密密钥k和解 密密钥kH殳有统一的初始编号,作为初始化操作的基准状态。由母函数模块复制子函数模 块的方法是按照一定的密钥分配方案(取决于具体的系统管理要求),用初始化函数将加 密密钥发生器中的一部分加密密钥编号n和解密密钥发生器中的一部分解密密钥编号n* 永久关闭,使编码器和译码器初始化。被关闭的加密密钥编号n和解密密钥编号r^以后不 能使用,所有对应的密钥相当于被销毁。由母函数模块复制一个子函数模块的具体步骤是 第一步,用初始化函数分别调整加密密钥发生器中的加密密钥控制函数、加密密钥编号函 数和解密密钥发生器中的解密密钥控制函数、解密密钥编号函数;第二步,使初始化函数与 加密密钥发生器和解密密钥发生器断开;第三步,将剩下的编码器和译码器的组合体复制 成一个副本,得到子函数模块。 母函数模块在复制子函数模块时,可以通过设定密钥编号以非对称和对称两种基 本形式为子函数模块配置密钥如果使一对密钥中的加密密钥k和解密密钥k*分别出现在 不同的子函数模块中,便构成非对称密钥配置;如果使一对密钥中的加密密钥k和解密密 钥k*出现在同一个子函数模块中,则构成对称密钥配置。 密钥嵌入式密码的密钥是由内嵌于算法模块的密钥发生器提供的,密钥的数量取 决于密钥矩阵的大小。例如,设密钥矩阵是一个含有100个不同字符元素的1 X 100型矩阵, 这100个元素的每一种排列都构成一个密钥,则密钥总数等于1001Q° = 102°°。如果利用母 函数模块复制101Q个子函数模块,平均每个子函数模块可以得到1019°个密钥。
不论母函数模块还是子函数模块,其实际工作形态都是经过编译的计算机执行代 码(软件)或装有可执行代码的计算机固件。因此,在实际使用中,密钥对于使用者是不可 见的,即不暴露的。使用者能够看见的是密钥编号,并且只能通过密钥编号操纵密钥。
2、密钥嵌入式网络安全系统 密钥嵌入式网络安全系统由管理中心和若干个用户以及分析者(攻击者)三类终 端构成,这三类终端通过且仅通过公共信道(不安全信道)联系在一起。管理中心掌握母 函数模块,每个用户至少拥有一个子函数模块。管理中心使用母函数模块按一定的密钥分 配方案(取决于具体的系统管理要求)复制子函数模块,并将子函数模块分配给各个用户, 通过这种方式对全系统进行统一的密钥分配。所有用户均由管理中心获得子函数模块,每 一个用户都在得到子函数模块的同时,也获得了归其使用的全部密钥。此外,管理中心还负 责公布用户的全部或部分密钥编号。系统的用户终端有两种类型,一种是由人作为操作主 体的计算机系统,另一种是嵌入测试仪器、生产装置等仪器设备(自动工作或人工控制)的
计算机模块。在密钥嵌入式网络安全系统中,各用户均通过子函数模块中的加密密钥编号 n和解密密钥编号r^操纵子函数模块。密码分析者是系统的攻击者,威胁系统的安全。
密钥嵌入式网络安全系统提供的隐密钥通信机制,包括非对称隐密钥和对称隐密 钥两种基本形式
(1)非对称隐密钥机制 非对称隐密钥机制,或称为非对称隐钥方法,是利用密钥嵌入式算法模块的密钥 非对称配置特性和密钥不可见特性建立的一种多终端安全通信机制,可以实现数字签名。 在密钥嵌入式网络安全系统中,任意两个用户可以利用非对称隐钥方法建立私有通信联 系。 非对称隐钥方法的原理是利用由母函数模块复制子函数模块的方式,通过初始 化设置,使系统内任意一个用户(实际是子函数模块)成为某一指定密钥对k-l^中解密密 钥k*(或加密密钥k)的唯一拥有者,而其他用户都成为该指定密钥对中加密密钥k(或解 密密钥k*)的拥有者,这一指定密钥对k-k*的解密密钥编号n*和加密密钥编号n可以由管 理中心公开发布。该任意用户独有的解密密钥k、或加密密钥k)称为隐私钥(以下简称 私钥),其他用户拥有的加密密钥k(或解密密钥k*)称为隐公钥(以下简称公钥)。如果 该任意用户掌握的私钥是指定密钥对k-k*中的解密密钥k*,而其他用户掌握的公钥是指定 密钥对k-k*中的加密密钥k,则其他用户中的每一个都可以利用公开的加密密钥编号n选 择正确的加密密钥k,向该任意用户发送加密信息,从而达到保密通信的目的。如果该任意 用户掌握的私钥是指定密钥对k-P中的加密密钥n,而其他用户掌握的公钥是指定密钥对 中的解密密钥k*,则该任意用户可以用私有加密密钥k加密信息,以确认自己的信息行为, 其他用户中的每一个都可以利用公开的解密密钥编号r^选择正确的解密密钥k 并根据公 钥编号r^辨别信息的来源和真伪。这样就立了不传递密钥的数字签名机制和多终端安全 交互方式。 非对称隐钥的主要使用方法是复合加密和复合解密。如果为系统的全部用户或特 定的一组用户按上述方式配置密钥,则系统内或组内的任意两个用户可以单独联系。方法 是发信人分两步完成数据加密,即首先用自己的加密私钥将明文转换成中间代码,然后用 收信人的加密公钥将中间代码转换成密文;收信人分两步完成数据解密,即先用自己的解 密私钥将密文转换成中间代码,然后用发信人的解密公钥将中间代码恢复成明文。发信人 的第一次加密起数字签名的作用,第二次加密则保证只有指定的收信人能够解密信息,因 此通过复合加密/解密,可以在一次通信过程中同时实现数据保密、身份认证和信息发送 行为不可否认三项功能。
(2)对称隐密钥机制 在由母函数模块复制子函数模块的过程中,通过初始化设置,如果使系统内某一 指定用户成为某一指定密钥对k-P的唯一拥有者,则该指定用户就可以将这一指定密钥对 k-k*作为私人信箱使用,对自己的私有信息进行加密/解密处理。 如果加密变换函数和解密变换函数采用具有身份特征识别特性的算法,还可以使
钥嵌入式网络安全系统同时具备数据完整性功能。 3、本发明的特点 (1)将数据变换函数与密钥生成函数组合为一体,构成含密钥的加/解密算法-密 钥嵌入式算法。由于密钥与算法是不可分离的,因此为建立"不传递密钥"的密码系统提供 了算法基础。 (2)含在算法模块中的密钥具有不可见性和不可读出性,始终处于隐蔽状态,因此 为建立隐密要机制创造了条件,使密码系统具有更好的安全性。
(3)采用密钥编号的方法,使用者必须且只须通过密钥的编号来操纵密钥,而不是
直接操纵密钥本身。这样既能够有效地保护密钥,又使密钥易于操作和管理。
(4)在密钥嵌入式网络安全系统中,各用户在得到子函数模块的同时,自动获得工
作所需的全部密钥。因此,密钥分配方式简单,特别适合于仪器型终端的网络系统和多种虚
拟局域网及专用网的构建。 (5)在密钥嵌入式网络安全系统中,利用密钥嵌入式算法模块的密钥非对称配置 特性和密钥不可见特性建立的非对称隐密钥方法,可以有效地实现数字签名。但这种数字 签名机制的运行,既不需要象现有的公钥密码那样必须直接公开公钥,也不需要借助第三 方提供密钥服务。 (6)密钥嵌入式算法采用对称变换,但基于算法模块的安全机制使通信双方不需 要象现有的对称密码那样传递密钥。 (7)隐密钥的抗攻击能力,取决于对函数模块的保护,因为攻击只有在攻击者控制 了函数模块的情况下才能够实施。 (8)由于密钥嵌入式网络安全系统具有依赖于子函数模块的数字签名机制,因此 对于每一条信息,接收方都可以根据密钥编号直接检验信息的来源。这种检验只须利用收 到的信息本身就可以完成,而不必与发送方进行交互,因此检验方法简单,过程迅速。
(9)密钥嵌入式算法合于建立大规模网络安全系统。只要适当设定密钥矩阵的大 小,可以很容易地使密码模块含有数量足够大的密钥,以满足实际需要,但并不会因此而明 显增加系统的成本。 (10)利用密钥嵌入式算法,通过设计的不同密钥矩阵,可以无重复地构建网络安 全系统,即构建多个相互独立的网络安全系统。 (11)由于密钥嵌入式算法是对称算法,因此运算效率高,适合于大量数据的快速 加密/解密。除仪器型网络系统和网络科学活动环境外,本发明也适合于构建其它类型的 局域网、专业网,并且可以作为一种简单、可靠、经济的信息安全技术,用于电子商务、电子 政务、网络集成控制、网络集成管理以及其它需要数据保密和身份认证的网络系统。


图1是密钥嵌入式密码的母函数模块及算法流程示意图,
图2是密钥嵌入式密码的子函数模块及算法流程示意图,
图3是密钥嵌入式网络安全系统模型的示意图,
图4是密钥嵌入式网络安全系统的密钥配置示意图。
具体实施例方式
本发明的实现包括两部分工作,即密钥嵌入式算法模块的设计和以密钥嵌入式算 法模块为基本单元构建密钥嵌入式网络安全系统。以下结合附图l至4,说明本发明的施实 方法。 1、密钥嵌入式算法模块的设计与制作 选择适当的计算机语言,例如¥8丄#丄++,编制密钥嵌入式算法程序。可参照密钥 嵌入式算法模块的基本算法流程(图l),按下述要求设计母函数模块。
母函数模块由三个独立子模块组成母函数编码器E,母函数译码器D,初始化函 数12,如图1所示。母函数编码器E包含加密变换函数1和加密密钥发生器5,其中加密密 钥发生器5由加密密钥矩阵2、加密密钥控制函数3和加密密钥编号函数4组成。母函数译 码器D包含解密变换函数7、解密信息处理函数8和解密密钥发生器6,其中解密密钥发生 器6由解密密钥矩阵9、解密密钥控制函数10和解密密钥编号函数11组成。母函数模块各 功能单元之间的数据流和控制关系如图1中的箭头所示。 数据变换采用对称算法,母函数编码器E中的加密变换函数1和母函数译码器D 中的解密变换函数7可以根据实际要求选择现有算法,例如采用异或(X0R)运算,或者进行 专门设计。 加密密钥矩阵2与解密密钥矩阵9为完全相同的字符矩阵,字符元素集可采用 ASCII字符或Unicode字符。加密密钥矩阵2和解密密钥矩阵9可以采用1 XN矩阵,N表 示矩阵元素的个数, 一般取N等于明文分组长度Ln的整数倍。加密密钥控制函数3用于调 整加密密钥矩阵2的元素排列顺序,从而控制加密密钥矩阵2的结构变化,为了获得尽可能 多的密钥,加密密钥控制函数3(解密密钥编号函数11)应能够实现加密密钥矩阵2(解密 密钥矩阵9)所有元素的全排列。加密密钥编号函数4和解密密钥编号函数11的功能是生 成加密密钥编号n和解密密钥编号n*, n和n* —般采用自然数即可。 加密密钥矩阵2的每一种元素排列状态都由加密密钥控制函数3确定,而加密密 钥控制函数3的动作则由加密密钥编号函数4控制。加密密钥编号函数4向加密密钥控制 函数3输入加密密钥编号nk,作为加密密钥控制函数3的控制参数,加密密钥控制函数3根 据加密密钥编号nk调整加密密钥矩阵2的元素排列顺序。 解密密钥矩阵9与加密密钥矩阵2完全相同,矩阵的大小根据实际需要的密钥数 量确定。例如,设密钥矩阵是一个含有100个不同字符元素的1X100型矩阵,这100个元 素的每一种排列都构成一个密钥,则密钥总数等于1001Q° = 102°°。如果利用母函数模块复 制1(^个子函数模块,平均每个子函数模块可以得到1019°个密钥。解密密钥控制函数10用 于调整解密密钥矩阵9的元素排列顺序,从而控制解密密钥矩阵9的结构变化。解密密钥 矩阵9的每一种元素排列状态都由解密密钥控制函数10确定,而解密密钥控制函数10的 动作则由解加密密钥编号函数11控制。解密密钥编号函数11向解密密钥控制函数10输 入解密密钥编号rC,作为解密密钥控制函数10的控制参数,解密密钥控制函数10根据解 密密钥编号nk*调整解密密钥矩阵9的元素排列顺序。 母函数编码器E每次加密数据时,首先由加密变换函数1读取明文p,并按分组长 度k对明文p进行分组排序,通常使各组的长度Ln相等,例如可以设定分组长度为Ln = 32, 64, 128, 256, 512。然后由加密密钥发生器5产生加密密钥k,再由加密变换函数1完成加密 变换。加密密钥发生器5产生加密密钥k时,加密密钥编号函数5按照操作指令(操作指 令可以用人工操作方式由外部输入,也可由程序事先设定)选择一个加密密钥编号nk,输给 加密密钥控制函数3。加密密钥控制函数3根据加密密钥编号nk计算出一个调整程序,并 按此程序调整加密密钥矩阵2的元素排列顺序,生成一个新的加密密钥k。加密密钥的总长 度Lk 一般等于明文分组长度Ln的整数倍,例如设明文分组长度为64,则加密密钥的总长度 应等于mX 64 (m = 1, 2, 3,...)。加密密钥k生成后,加密变换函数1从加密密钥矩阵2读 取加密密钥k,从加密密钥控制函数3读取加密密钥编号rik,然后进行加密变换。
14
加密变换用公式(1)表示, c = Ek(p,nk) (1), 式中p表示明文,c表示密文,E表示加密变换,k表示加密密钥,nk表示加密密钥 编号。加密变换以k作为控制参数,将明文p编码,生成密文c。同时,加密密钥编号rik也 作为P的一部分被编码,编码结果c*作为密文c的一部分按特定排列规则加入密文c,排列 规则可以灵活设计。 母函数译码器D每次解密数据时,首先由解密变换函数7读取密文c。然后由解密 信息处理函数8解析密文c,从密文c中读取与加密密钥编号nk对应的编码c*,并将c*输 入解密变换函数7,由解密变换函数7将c*还原成加密密钥编号nk。接着,解密信息处理函 数8将加密密钥编号nk输入解密发生器6中的解密密钥编号函数11。解密密钥发生器6 根据加密密钥编号nk产生解密密钥k 送入解密变换函数7。最后由解密变换函数7完成 解密变换。解密密钥发生器7产生解密密钥k*的程序是,先由解密密钥编号函数11检索自 含的解密密钥编号序列,将加密密钥编号nk与解密密钥编号nk*逐一进行比较,如果检索到 与加密密钥编号n对应的解密密钥编号nk*,就将nk*输给解密密钥控制函数10 ;如果没有检 索到与加密密钥编号n对应的解密密钥编号nk*,则由解密密钥编号函数11给出提示信息; 解密密钥控制函数10按照解密密钥编号nj调整解密密钥矩阵9的结构,生成解密密钥k*, 并将解密密钥k*输给解密变换函数。解密密钥k*还可以有其它操作方式,例如,由解密信 息处理函数8把加密密钥编号nk直接作为解密密钥编号nk*送入解密密钥控制函数10,而 不经过解密密钥编号函数ll处理。解密密钥编号rC也允许用人工操作方式由外部输入解 密发生器6。解密变换用公式(2)表示, ; = i^* (c) (2) 式中p表示明文,c表示密文,D表示解密变换,k*表示解密密钥。解密变换以解 密密钥k*作为控制参数,将密文c解码,恢复出明文p。 母函数模块利用初始化函数12复制子函数模块,初始化函数12为具有开关作用 的变量赋值函数,可以通过设定加密密钥编号和解密密钥编号(简称赋值)对加密密钥发 生器5和解密密钥发生器6进行状态设定,即初始化。初始化的算法或初始化函数可以灵活 设计,只要能够通过为加密密钥编号函数4、加密密钥控制函数3和解密密钥编号函数11、 解密密钥控制函数10赋不同的值,使加密密钥矩阵2和解密密钥矩阵9具有不同的排列状 态集合即可。为便于密钥管理,在母函数模块中,加密密钥k和解密密钥k*应设有统一的 初始编号,作为初始化操作的基准状态。 由母函数模块复制子函数模块的方法是按照一定的密钥分配方案(根据具体的 系统管理要求制定),用初始化函数12将加密密钥发生器5中的一部分加密密钥编号n和 解密密钥发生器6中的一部分解密密钥编号!1*永久关闭,使母函数编码器(E)和母函数译 码器(D)初始化。被关闭的加密密钥编号n和解密密钥编号r^以后不能使用,所有对应的 密钥相当于被销毁。 由母函数模块复制一个子函数模块的具体步骤是第一步,用初始化函数12分别 调整加密密钥发生器5中的加密密钥控制函数3、加密密钥编号函数4和解密密钥发生器6 中的解密密钥控制函数10、解密密钥编号函数11 ;第二步,使初始化函数12与加密密钥发生器5和解密密钥发生器6断开;第三步,将剩下的母函数编码器(E)和母函数译码器(D) 的组合体复制成一个副本,得到子函数模块。 因为子函数模块是母函数的副本,所以其构造和加密/解密过程与母函数模块的 构造和加密/解密过程完全相同。但为了与母函数模块明确区分,将子函数模块的加密/ 解密过程分别说明如下。 子函数编码器e每次加密数据时,首先由加密变换函数13读取明文p,并按分组 长度Ln对明文p进行分组排序,通常使各组的长度Ln相等,例如可以设定分组长度为Ln = 32, 64, 128, 256, 512。然后由加密密钥发生器17产生加密密钥k,再由加密变换函数13完 成加密变换。加密密钥发生器17产生加密密钥k时,加密密钥编号函数16按照操作指令 (操作指令可以用人工操作方式由外部输入,也可由程序事先设定)选择一个加密密钥编 号nk,输给加密密钥控制函数15。加密密钥控制函数15根据加密密钥编号nk计算出一个 调整程序,并按此程序调整加密密钥矩阵14的元素排列顺序,生成一个新的加密密钥k。加 密密钥的总长度Lk 一般等于明文分组长度Ln的整数倍,例如设明文分组长度为64,则加密 密钥的总长度应等于mX64(m = 1,2,3,...)。加密密钥k生成后,加密变换函数1从加密 密钥矩阵2读取加密密钥k,从加密密钥控制函数3读取加密密钥编号nk,然后进行加密变 换。 加密变换也用公式(1)表示,
c = Ek(p,nk) (1), 式中p表示明文,c表示密文,E表示加密变换,k表示加密密钥,nk表示加密密钥 编号。加密变换以k作为控制参数,将明文p编码,生成密文c。同时 ,加密密钥编号rik也 作为P的一部分被编码,编码结果c*作为密文c的一部分按特定排列规则加入密文c。
子函数译码器d每次解密数据时,首先由解密变换函数19读取密文c。然后由解 密信息处理函数20解析密文c,从密文c中读取与加密密钥编号nk对应的编码c*,并将c* 输入解密变换函数19,由解密变换函数19将c*还原成加密密钥编号nk。接着,解密信息处 理函数20将加密密钥编号nk输入解密密钥发生器18中的解密密钥编号函数23。解密密 钥发生器18根据加密密钥编号nk产生解密密钥k 送入解密变换函数19。最后由解密变 换函数19完成解密变换。解密密钥发生器18产生解密密钥k*的程序是,先由解密密钥编 号函数23检索自含的解密密钥编号序列,将加密密钥编号nk与解密密钥编号nk*逐一进行 比较,如果检索到与加密密钥编号n对应的解密密钥编号nk*,就将nk*输给解密密钥控制函 数22 ;如果没有检索到与加密密钥编号n对应的解密密钥编号nk*,则由解密密钥编号函数 23给出提示信息;解密密钥控制函数22按照解密密钥编号nk*调整解密密钥矩阵21的结 构,生成解密密钥k*,并将解密密钥k*输给解密变换函数。解密密钥k*还可以有其它操作 方式,例如,由解密信息处理函数20把加密密钥编号nk直接作为解密密钥编号nk*送入解 密密钥控制函数22,而不经过解密密钥编号函数23处理。解密密钥编号nk*也允许用人工 操作方式由外部输入解密密钥发生器18。
解密变换同样用公式(2)表示, P = & (C) (2) 式中p表示明文,c表示密文,D表示解密变换,k*表示解密密钥。解密变换以解 密密钥k*作为控制参数,将密文c解码,恢复出明文p。
2、密钥嵌入式网络安全系统的构建 密钥嵌入式网络安全系统按图3所示模型设计,系统由管理中心O和用户UA、 UB、
Uc....."...以及分析者Eve三类终端构成,这三类终端通过且仅通过公共信道联系在一
起。管理中心O掌握母函数模块,每个用户至少拥有一个子函数模块。管理中心O使用母 函数模块按一定的密钥分配方案复制子函数模块,然后将子函数模块分配给各个用户,通 过这种方式对全系统进行统一的密钥分配。此外,管理中心O还负责公布用户的密钥编号。 所有用户均由管理中心O获得子函数模块,并在得到子函数模块的同时,获得全部密钥。用
户终端UA、 UB、 Uc....."...可以是由人作为操作主体的计算机系统,也可以是嵌入科学测
试仪器、生产设备等仪器设备自动工作或人工控制的计算机模块。各用户均通过子函数模 块中的加密密钥编号n和解密密钥编号n*操纵子函数模块。Eve是攻击者,威胁系统的安 全。但Eve没有函数模块,因此不能加密/解密信息。 建立密钥嵌入式网络安全系统的关键,是利用母函数模块复制子函数模块的方式 分配密钥,为隐密钥机制的实现创造条件。为简单起见,现以由管理中心0、三个用户(UA, UB, Uc)和分析者Eve为终端构成的最小系统为例,说明多终端密钥嵌入式网络安全系统的 密钥分配方法、用户之间的通信关系及数字签名原理,参看图4。所述方法可以推广到用户 数量大于3的系统。 在图4中,"0"既代表管理中心0,又代表管理中心0所拥有的母函数模块,同样, UA、 Ue和U。既分别代表三个用户,又分别代表三个用户各自所拥有的子函数模块。母函数 模块0的密钥和子函数模块UA、UB、UC的密钥分别用4个2X 15阵列表(32格)表示。母函 数模块0和每一个子函数模块都有2列,即母函数模块0左边的E列和右边的D列,子函数 模块左边的e列和右边的d列。E列和e列称为加密列,D列和d列称为解密列。每一列都 有15行,即15格,E列和e列各格内的符号ni, n2...等表示加密密钥编号,D列和d列各 格内的符号nAn/...等表示解密密钥编号。在前14行中,每行只出现同一个密钥对中的 加密密钥和对应的解密密钥,例如在第9行中只出现密钥对n9-n9*中的加密密钥n9和解密 密钥n9*。子函数模块UA、 UB和Uc中的空格,即没有密钥编号的格,表示经过初始化设置被 永久关闭的密钥。 一般情况下,除母函数模块0没有空格外,子函数模块都是存在一些空格 的。密钥编号按行分为5个不同的区域,即I区(第1行至第4行)、II区(第5行至第8 行)、III区(第9行至第11行)和IV区(第12行至第14行)、V区(第15行)。其中 I区称为"私有解密区"或"公共加密区";II区称为"私有加密区"或"公共解密区";III区 称为"个人私密区";IV区称为"规定钥私区";V区称为"待分配区"。下面分别说明各区的 密钥配置情况和通信关系。 I区该区由1、2、3、4行构成,密钥以非对称形式分布(密钥与编号密钥具有直接 对应关系,因此在不至于引起混淆的前提下,可以将密钥编号称为密钥)。由第l行可以看 至ij, uA只拥有密钥对ni-ni*中的解密密钥nj (私钥),而UB和Uc都只拥有密钥对n「rij中的 加密密钥&(公钥)。因此,对于Ue、Uc以及0用r^加密的信息,只有UA和0可以解密。类 似地,由第2行可以看到,对于UA、 Uc以及0用n2加密的信息,只有拥有n2*的UB和0可以 解密;由第3行可以看到,对于UA、 UB以及0用n3加密的信息,只有拥有n3*的Uc和0可以 解密。由于在第1、2、3行中,除管理中心0外,每一行只有一个用户可以对其他所有用户及 管理中心O的加密信息进行解密,所以I区可以实现公共加密-私有解密。
17
由第4行可以看到,UA、UB和Uc都只拥有密钥对n4-n4*中的加密密钥n4,因此只有 管理中心0能够解密各用户用n4加密的信息,因此I区还可以实现公共加密_管理中心解 密。 II区该区由5、6、7、8行构成,密钥以非对称形式分布。由第5行可以看到,^只 拥有密钥对n5-n5*中的加密密钥n5,而UB和Uc都只拥有密钥对n5_n5*中的解密密钥n5*。因 此,对于UA以及0用n5加密的信息,UB、 Uc和0都可以解密,惟有UA不能解密。类似地,由 第6行可以看到,对于UB以及0用n6加密的信息,UA、 Uc和0都可以解密,惟有UB不能解 密;由第7行可以看到,对于Uc以及0用n7加密的信息,UA、 UB和0都可以解密,惟有Uc不 能解密。由于第5、6、7行中,除管理中心0夕卜,每一行只有一个用户可以加密信息,且其他 所有用户及管理中心O都可以对其加密信息进行解密,所以II区可以实现私有加密-公共 解密。 由第8行可以看到,仏、Ue和Uc都只拥有密钥对n8_n8*中的解密密钥n8*,因此各用 户只能够对来自管理中心0的加密信息进行解密,而不能加密信息,因此II区还可以实现 管理中心加密-公共解密。 III区该区由9、10、11行构成,密钥以对称形式分布。在第9行中,^同时拥有 密钥对n9-n9*的加密密钥n9和解密密钥n9*,而UB和Uc既没有加密密钥n9也没有解密密钥 rC,因此除管理中心0外,只有^可以对信息进行加密和解密。同样,在第IO行中,除管理 中心0外,只有UB可以对信息进行加密和解密;在第11行中,除管理中心0外,只有Uc可以 对信息进行加密和解密。因此,III区可以实现个人私有加密-解密。
IV区该区由12、13、14行构成,密钥以非对称形式分布。在第12行中,Ud又拥有 密钥对n12-n12*中的加密密钥n12, UB仅拥有密钥对n12_n12*中的解密密钥n12*,而Uc既没有加 密密钥n12也没有解密密钥n12*,因此除管理中心0夕卜,UA能够且只能够用n12加密信息,UB 能够且只能够用nj对来自^的信息进行解密。同样,在第13行中,除管理中心0外,Ua能 够且只能够用n13加密信息,Uc能够且只能够用n13*对来自UA的信息进行解密;在第14行 中,除管理中心0夕卜,Uc能够且只能够用n14加密信息,UA能够且只能够用n14*对来自Uc的 信息进行解密。因此,IV区可以实现由管理中心O确定的"一对一"用户通信关系。很显 然,管理中心0也可以为特定的若干个用户制定"一对多"、"多对多"的通信关系。
V区该区只包含一行,即第15行。在第15行中,n15...和n15*...表示管理中心 0尚未分配的密钥,留给后续入网的用户。 系统提供的基本安全功能有保密性、可鉴别性(可认证性)、不可否认性,主要实 现方式如下 (1)保密性。I-IV区都具备基于算法模块的数据加密/解密能力,因此均可实现 保密性,但由于密钥配置情况不同,各区都有自己的特点。 I区用于公共加密-私有解密以及公共加密-管理中心解密。I区的密钥配置,使 每个用户都可以向其他任意一个用户发送加密信息,只有该任意收信用户和管理中心0能 够将此信息解密。例如,UB和Uc都可以用ni加密信息,发送给UA,除拥有ni*的UA和0以 外,系统内的其他用户、Eve以及非本系统的用户均不能对此信息进行解密。I区的密钥配 置,还使每个用户都可以向管理中心0发送加密信息,只有管理中心0能够将此信息解密。
II区可以实现本系统范围内的保密性,即每个用户都可以向其他所有用户发送加
18密信息,除发送者外,本系统内的其他所有用户和管理中心O能够将此信息解密。II区的密 钥配置,还使管理中心O可以向本系统的全体用户发送加密信息,非本系统用户不能将此 信息解密。 III区用于个人私有信息的加密/解密,因此提供了私人信箱功能。
IV区用于特定的"一对一"保密通信,通信关系由管理中心O确定,有单向和双向 两种通信模式。例如UA与UB之间是单向通信关系,UA只能用n12加密信息发送给UB, UB只 能用n12*对来自UA的信息进行解密。 (2)可鉴别性。II区和IV区可以提供基于算法模块的数字签名机制,因此这两个 区都能够实现可鉴别性。 在II区中,除管理中心外,每个用户都独占一个私有加密密钥(私钥),而其他各 个用户都拥有对应的解密密钥(公钥)。因此每个用户都可以用私钥作为自己的身份标识, 也可以用公钥识别其他用户。例如Ue在用私钥n7加密信息的同时时,就自动完成了对信息 的数字签名,^和Ue以及管理中心用n/解密信息时,都可以自动完成对Uc的身份认证。管 理中心还可以对每一个用户单独进行身份认证(利用图4的第8行)。
IV区实现数字签名的方法与II区类似,其特点是每个密钥对的加密密钥和解密 密钥都用作私钥,且只分属两个用户。例如n13和n13*分别是UA和Uc的私钥,UA可以用n13 作数字签名,而Uc可以用n13*检验UA的数字签名。 (3)不可否认性。II区和IV区中,每个用户有且只有一个加密密钥,或者说,每个 用户的加密密钥都是私钥。因此,II区和IV区的任何一份加密信息,都带有发信人的唯一 性标识,收信人可以通过解密信息证明发信人的发信行为,而发信人无法否认。例如,Ue用 n6发出信息后,^和Uc都可以通过用n6*解密信息提供UB发送信息的证据,使UB不能否认。
(4)保密性、可鉴别性和不可否认性的同步实现。在I区的1、2、3行中,每行有一 个用户只拥有密钥对中的解密密钥(私钥),其他各用户都是只拥有密钥对中的加密密钥 (公钥)。而在II区的5、6、7行中,每行有一个用户只拥有密钥对中的加密密钥(公钥), 其他各用户都是只拥有密钥对中的解密密钥(私钥)IV区中。利用I区和II区的这种密 钥配置结构,通过复合加密和复合解密,可以在一次通信过程中同时实现数据保密、身份认 证和发送行为不可否认三项功能。 复合加密分两步完成数据加密发信人首先在II区用自己的私钥将明文p转换成 中间代码c",然后在I区用收信人的公钥将中间代码c#转换成密文c。复合解密分两步完 成数据解密收信人先在I区用自己的私钥将密文c转换成中间代码J,然后在II区用发 信人的公钥将中间代码c"灰复成明文p。例如,^和Ue可以按以下步骤完成一次由^到 UB的通信过程 UA在发送信息前先用n5将明文p转换成中间代码c#, UA然后用n2将c#转换成密 文c,这两步动作可以表示为C = &2 (C#) = &2 0, )); UB在收到信息后先用n2*将密文c转换成中间代码c#,然后用n5*将中间代码c#恢 复成明文P,这两步动作可以表示为'P = (C#) = 。 在这一通信过程中,115(即10是的^私钥,即^的数字签名,因此起认证和发信 行为不可否认的作用;n2*(即k2*)是的Ue私钥,因此起数据保密的作用。复合加密/解密是密钥嵌入式网络安全系统最重要的工作模式。 如果采用具有身份特征识别特性的算法(例如数字基因算法)设计加密变换函数 和解密变换函数,还可以使钥嵌入式网络安全系统具备数据完整性功能。
权利要求
密钥嵌入式密码,其特征是该密码包括将数据变换函数与密钥生成函数组合为一体的含密钥加密/解密算法的密钥嵌入式算法模块,以及基于密钥嵌入式算法模块构成的密码系统;基于密钥嵌入式算法模块构成的密码系统采用为各个终端分配具有不同密钥设置的密钥嵌入式算法模块的方法构建网络安全系统,即密钥嵌入式网络安全系统;密钥嵌入式网络安全系统以密钥嵌入式算法模块作为网络终端的数据保护工具,并提供基于密钥嵌入式算法的隐密钥通信机制,使系统具备三种信息安全功能保密性、可认证性及不可否认性;密钥嵌入式算法模块分为母函数模块和子函数模块两部分,母函数模块用于复制子函数模块;母函数模块和子函数模块的工作形态是经过编译的计算机可执行代码软件或装有可执行代码软件的计算机固件;母函数模块由母函数编码器(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*对自己的私有信息进行加密/解密处理。
2. 根据权利要求1所述的密钥嵌入式密码,其特征是密钥嵌入式密码的密钥完全由母 函数算法模块提供,并通过子函数算法模块分配给各个用户;系统的密钥总量取决于母函 数算法模块中加密密钥矩阵(2)和解密密钥矩阵(9)的规模。
3. 根据权利要求1所述的密钥嵌入式密码,其特征是密钥嵌入式网络安全系统的各终 端之间通过公共信道建立联系,管理中心根据需要公布用户的全部或部分密钥编号。
4. 根据权利要求1所述的密钥嵌入式密码,其特征是在密钥嵌入式网络安全系统中, 各个用户通过所掌握的加密密钥编号n和解密密钥编号n*对自己的子函数模块实施操作, 加密/解密数据。
全文摘要
本发明公开密钥嵌入式密码,包括密钥嵌入式算法模块和由这种算法模块构成的密码系统。密钥嵌入式算法模块将编/译码函数与密钥生成函数合为一体,密钥在分立的算法模块中以非对称和对称两种方式配置。密钥算法模块分为母函数模块和子函数模块。密码系统由管理中心和多个用户终端组成,管理中心利用母函数模块生成密钥设置各不相同的子函数模块,并将子函数模块分配给用户,密钥分配在此过程中自动完成。密钥有统一设定的密钥编号,用户通过密钥编号操纵密钥。密码系统利用密钥算法模块及其密钥配置,建立隐密钥通信机制,其效果是系统提供保密性、可鉴别性和不可否认性三项信息安全功能,但在用户之间既不传递密钥,也不直接公开密钥。
文档编号H04L9/28GK101753296SQ20091015589
公开日2010年6月23日 申请日期2009年12月29日 优先权日2009年12月29日
发明者鲁阳 申请人:浙江大学
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1