[发明专利]一种基于随机函数的分组加密算法的构造方法有效
申请号: | 201210022476.6 | 申请日: | 2012-02-01 |
公开(公告)号: | CN102571330A | 公开(公告)日: | 2012-07-11 |
发明(设计)人: | 王勇 | 申请(专利权)人: | 王勇 |
主分类号: | H04L9/08 | 分类号: | H04L9/08 |
代理公司: | 暂无信息 | 代理人: | 暂无信息 |
地址: | 541004 广西壮族自治区桂林市桂*** | 国省代码: | 广西;45 |
权利要求书: | 查看更多 | 说明书: | 查看更多 |
摘要: | |||
搜索关键词: | 一种 基于 随机 函数 分组 加密算法 构造 方法 | ||
技术领域
本发明属于信息安全领域,涉及一类加密算法的构造方法,特别是分组加密算法的构造方法。
背景技术
现有的加密系统都是基于确定的加密算法,固然有方便,便于广泛使用和标准化,容易得到广泛的评价的好处,但是,这些算法都有非常清楚和固定的结构,只有明文、密钥和一些参数是变换的,它们都在固定的算法框架下参与运算,得到密文。这些对密码系统自由度的制约因素也对密码系统的安全性造成不好的影响,大量的密码分析也是针对算法确定的情形,这些分析已经假设算法已经知道。我们可以将确定的算法视为一个确定性的函数。假如一个加密算法对应的函数是随机的、不确定的,则密码分析者很难着手。与传统的确定函数相对,我们这里提出随机函数的概念,即这个函数的表达式、结构和形式是随机的,不确定的,比如随机函数y=F(a,b,c),F(a,b,c)只是一个抽象表示,并没有明确的形式,它的具体形式可能是f1(a,b,c)、f2(a,b,c)、f3(a,b,c)、f4(a,b,c)之中的一个函数。
发明内容
现有的许多密码分析都是针对同一算法、同一密钥的情况下,需要以大量的选择(或已知)明文密文对作为前提。本发明中构造的密码系统将是随机的,而且不同的分组的加密的函数具体形式是变化的,依靠随机函数来实现,随机函数的具体形式的确定由一个编码来实现,我们称为确定编码。由于算法是变化的,且可能对于不同的分组是不同的,所以密码分析者无法获得相同算法的大量的已知明文密文对,即使存在同一算法的大量明文密文对,密码分析者也无从知道哪个分组采用哪个算法,哪些分组采用相同的算法,从而很难实施密码分析。在本发明中扩充了密钥的结构,让密钥不仅仅是参与参数性的运算,而且还起到驱动算法的变换,参与算法随机性的确定的作用。
本发明的关键是利用随机函数来构造加密算法,相比较传统的利用确定函数的算法,具有以下优势:一、现有的确定算法仅仅是输入变量(传统密钥)的变化,基于随机函数的密码算法其函数也是变化的,这种变化导致计算中的中间结果和最终的结果的变换更加激烈和难于分析,更容易产生雪崩效应;二、基于随机函数的算法对于分析者不确定,现有的公开的密码分析方法往往针对确定的算法,而随机函数本身不确定,使得密码分析很难着手;三、基于随机函数的算法可以勉强用特别的数学方法来表示,包括使用开关函数等来表示,但是,这种方法使得基于随机函数的算法的数学形式及其表达异常复杂,从数学上分析和破译非常困难,但是另外一方面随机函数在具体的计算情况下,却只采用其中的单个具体的形式,在计算上却并不复杂,即具有破译难,而使用容易的优点。而传统的方法在增加复杂度和破译难度的同时,往往会增加加密和解密的运算量;四、有些密码分析基于概率统计,统计结果只是一个平均值,对于变换的随机算法,不仅参数是变换的,而且函数本身也是变换的,很明显统计结果更加不可靠,不完备,概率分布更加分散,均方差大,而确定的算法仅仅是一些变量性参数有变化,所以相应的一些概率统计特征会更加相似、更加接近,而概率分布更加集中。基于概率统计的分析方法对这种基于随机函数的加密系统也会变得不太有效;五、在有意设计的随机函数中,可以将一个随机函数的多个具体函数的特征设定为相反的、相互抵消、互补的,举比较简单的例子,函数F有两种具体形式f1和f2,如果f1的0的概率偏大,则可以选择0的概率偏小的f2与之配伍,经过多轮类似的处理,相关的信息会消失,以防止给密码分析提供任何线索。
本发明利用随机函数来构造加密算法,所以算法是随机的,进一步,算法的每一个分组都采用不同的具体函数形式。随机函数是无法加密的,必须依靠一定的数据来确定算法的具体函数形式,这一数据与密钥与某些明文bit位和(或)明文分组的位置有关系。在本发明中先设计算法的大致框架,算法的一些部件是确定的,另外一些部件则是采用随机函数,随机函数的具体形式应该在某些方面具有相似的效果,比如运算量、输出值、冗余等,以防止密码分析者找到蛛丝马迹以确定算法。在加密的过程中,总密钥一方面参与确定随机函数算法的具体形式,由于要求每一个分组的具体函数形式不一样,所以不仅仅密钥的一部分参与决定算法,而且,明文的某些信息,比如前一个分组的明文,明文分组的位置也参与决定当前分组所采用加密算法的具体形式,另一方面总密钥的一部分也起到作为传统密钥的作用,即作为参数输入算法参与运算。
该专利技术资料仅供研究查看技术是否侵权等信息,商用须获得专利权人授权。该专利全部权利属于王勇,未经王勇许可,擅自商用是侵权行为。如果您想购买此专利、获得商业授权和技术合作,请联系【客服】
本文链接:http://www.vipzhuanli.com/pat/books/201210022476.6/2.html,转载请声明来源钻瓜专利网。