当前位置: 首页 > 专利查询>戴葵专利>正文

密码算法定制方法技术

技术编号:10440095 阅读:176 留言:0更新日期:2014-09-17 15:48
本发明专利技术公开了一种密码算法定制方法。其核心包含:提供可定制的密码算法功能要素、可变的密码算法数据处理结构、密码算法设计约束规则和密码算法安全性评估方法四个部分,基于密码算法设计约束规则,用户对密码算法功能要素和密码算法数据处理结构进行具体配置,从而获得自定制的密码算法,并采用一套密码算法安全性评估方法对所自定制的密码算法进行安全性评估,如果评估结果满足算法设计要求,则所获得密码算法即为目标密码算法;否则调整配置信息,重新产生新的自定制的密码算法并评估其安全性,直至所定制的密码算法满足设计要求。该方法能够使用户高效地设计出安全的自定制密码算法。

【技术实现步骤摘要】
密码算法定制方法
本专利技术属于信息安全领域,涉及一种密码算法定制方法。
技术介绍
随着信息技术的快速发展,人们对信息的安全存储、安全传输的需求日益增强。特别在移动及嵌入式设备中存在着数据隐私性以及知识产权保护的强烈需求。例如嵌入式系统的防盗版,用户隐私数据的保护等。保护数据隐私性最有效的办法就是对信息进行加密处理。目前虽然有AES、3DES等的公开密码算法供用户选择,但公开密码算法种类有限,而且大多数加密算法的安全性只是说能够抵抗已知的攻击方法,不能保证可以抵抗新的攻击方法。随着密码分析理论和计算机技术的快速发展,新的密码分析技术不断涌现,如代数攻击、旁路攻击等,破解密码的能力将得到极大的提高,甚至超乎我们的预测。现阶段认为安全的密码算法无法保证可以抵抗未来的密码分析方法。一旦新的有效密码分析方法出现,将给所有使用这种公开加密方法的用户带来严重的威胁。因此,存在着不断推出新密码算法的迫切需求。此外,信息安全的最大特点就是自主性。人们无法保证别人提供的密码算法没有后门,进而无法完全信任别人提供的密码算法的软件或硬件。因此,密码算法的设计存在着本地化和多样化的需求。如果用户使用自定义的密码算法,将可以实现“算法机密性+密钥机密性”的双重保护作用,极大地提高破解成本,从而保护隐私数据的安全性。如果用户对加密算法本身进行保密,那么攻击者将无法知道所使用密码算法的细节,从而导致无法有效地使用相应的密码分析技术。即使密码算法被对手获知,此时仅相当于由一个保密密码算法变成了一个公开密码算法。只要所定制的密码算法具有足够的安全特性,当对手不知道密钥时,他同样难以破解出明文或密钥。因此,采用自定义密码算法,将在以密钥为保密手段的基础上,增加了一层算法保密的安全防护措施。总之,实现让用户自定义所使用的密码算法具有现实的应用意义。现有的支持可变结构的密码算法中,最多只是由密钥改变其中某个功能部件的功能,如Twofish密码,其S盒由密钥控制。这种设计所能构造的密码算法种类有限。虽然有些研究如Feistel结构,提供了一种密码算法的通用结构模型,但偏重数学模型。对普通用户而言,采用目前方法开发出一个安全性较高的自定制密码算法并非一件容易的事。
技术实现思路
本专利技术的目的是为了满足密码算法定制化设计的需求,克服普通用户难以开发出有效的加密算法的困境,提供一种密码算法定制方法。利用该方法可以使用户高效地开发出自定义密码算法。使用该方法进行密码算法定制开发时,不需要用户具备专业的密码学设计相关知识背景。为实现上述目的,本专利技术采取以下技术方案:向用户提供一套具有配置能力的密码算法功能要素、具有可变结构的密码算法数据处理结构、相应的密码算法设计约束规则以及一套密码算法安全性评估方法。用户根据密码算法设计约束规则对密码算法功能要素和密码算法数据处理结构进行具体配置,从而获得自定制的密码算法。然后利用密码算法安全性评估方法评估所生成的密码算法的安全性。如果评估结果不满足设计目标要求,则调整算法配置信息,重新生成密码算法并评估,直至所产生的密码算法满足设计目标要求。一种密码算法定制方法,其特征在于:包含一套密码算法功能要素、密码算法数据处理结构、密码算法设计约束规则和密码算法安全性评估方法,具体按以下步骤进行:(1)用户根据密码算法设计约束规则,设置密码算法功能要素和密码算法数据处理结构中的具体配置信息,从而获得自定制的密码算法;(2)利用密码算法安全性评估方法对所生成的自定制的密码算法进行安全性评估;(3)如果评估结果不满足设计目标要求,则调整密码算法功能要素和密码算法数据处理结构中的具体配置信息,重新生成自定制的密码算法并评估,直至所产生的自定制的密码算法满足设计目标要求。所述的密码算法功能要素是实现密码算法自定义设计所需的基本功能组件或基本运算单元,包括但不限于轮密钥加单元、混淆单元、扩散单元、对合运算单元、轮函数、扩展单元、压缩单元。本专利技术所述的密码算法功能要素是指用于完成密码算法设计的基本的功能操作模块或函数;相当于定义了一个操作集合,如何组合连接这些单元或函数形成密码算法,是由密码算法数据处理结构来指定完成;数据处理结构相当集合中的这些元素的组合连接形式。所述的密码算法功能要素的具体功能通过配置相应的配置信息而改变,具有可配置特征;所述的轮密钥加单元是一种将轮密钥与涉及明文或密文的变量进行某种运算而得一个新变量的功能单元或函数;所述的混淆单元是一种采用非线性变换函数对输入数据进行某些非线性变换并输出变换结果的功能单元或函数;混淆单元将使得输入与输出之间具有复杂的映射关系,进而混淆输入与输出之间的统计特性;所述的扩散单元是一种具有扩散效应的功能单元或函数;具有如下的特性:当输入数据中有局部的微小的改变时,对应输出数据中却会出现较大变化;所述的对合运算单元是一种具有对合性质的功能单元或函数;所述的轮函数是指在迭代密码算法中重复使用的功能单元或函数;所述的扩展单元是一种能够将长度较短的输入数据串变换成具有长度较大输出数据串的功能单元或函数;其输出数据串中的某些部分将作为轮密钥或消息扩展字使用;所述的压缩单元是一种能够将较大长度输入数据串变换成固定长度数据串的功能单元或函数。所述的密码算法数据处理结构具有可变结构的特征,所述的密码算法数据处理结构是指密码算法内部数据经过一个算法功能要素流向下一个算法功能要素的先后顺序或算法功能要素之间互联结构或调用关系,也包括密码算法中执行流程的循环或/和跳转控制方法;用户能够通过配置具体的密码算法数据处理结构,形成具有特定密码算法结构类型的密码算法;所述的密码算法数据处理结构包括但不限于密码功能要素之间的执行顺序,密码功能要素之间互联结构,密码功能要素之间调用形式,以及用于描述密码算法执行流控制的密码算法参数要素;所述的密码算法参数要素为数据分组长度、密钥长度、执行轮数、消息摘要长度中一种或二种以上任意组合。所述的密码算法结构类型为Feistel型、广义feistel型、SPN型或L‐M型密码算法的结构形式。所述的密码算法设计约束规则定义一套密码算法定制设计时需要遵守的设计约束规则,以保证所产生的密码算法具有正确性和安全性;所述的密码算法设计约束规则包括但不限于下述约束规则中一种或二种以上任意组合:(1)密码算法在数学形式上需要满足的设计约束规则;(2)设计各密码算法功能要素时需要遵守的设计约束规则;(3)设计密码算法数据处理结构时需要遵守的设计约束规则。不同的类型的密码算法的设计约束规则可以并不相同。加密算法的设计约束规则包含但不限于如下规则:(1)加密算法存在对应的解密算法,加密算法具有可逆映射函数形式;(2)加密密码算法可以表示成由多个子函数通过函数复合而得的一种数学表达形式。(3)中所述的子函数的具体功能可以由自定义配置信息决定,且具有如下性质:a、从函数形式上具有两个输入变量,一个是代表着密钥,另一个代表着明文或密文。b、对于每个子函数,当密钥固定时,该子函数是一个关于明文到密文的单射函数。散列算法的设计约束规则包含但不限于如下规则:(1)散列算法是一个可以将任意长度的数据串映射到固定长度数据串的函数h;(2)对任意y,找到使得h(x)=y成立的x是非常困难;(3)对给定x1,找到使本文档来自技高网
...
密码算法定制方法

【技术保护点】
一种密码算法定制方法,其特征在于:包含一套可配置的密码算法功能要素、可变的密码算法数据处理结构、密码算法设计约束规则和密码算法安全性评估方法,具体按以下步骤进行:(1)用户根据密码算法设计约束规则,设置密码算法功能要素和密码算法数据处理结构中的具体配置信息,从而获得自定制的密码算法;(2)利用密码算法安全性评估方法对所生成的自定制的密码算法进行安全性评估;(3)如果评估结果不满足设计目标要求,则调整密码算法功能要素和密码算法数据处理结构中的具体配置信息,重新生成自定制的密码算法并评估,直至所产生的自定制的密码算法满足设计目标要求。

【技术特征摘要】
1.一种密码算法定制方法,其特征在于:包含一套可配置的密码算法功能要素、可变的密码算法数据处理结构、密码算法设计约束规则和密码算法安全性评估方法,具体按以下步骤进行:(1)用户根据密码算法设计约束规则,设置密码算法功能要素和密码算法数据处理结构中的具体配置信息,从而获得自定制的密码算法;(2)利用密码算法安全性评估方法对所生成的自定制的密码算法进行安全性评估;(3)如果评估结果不满足设计目标要求,则调整密码算法功能要素和密码算法数据处理结构中的具体配置信息,重新生成自定制的密码算法并评估,直至所产生的自定制的密码算法满足设计目标要求;所述的密码算法功能要素是实现密码算法自定义设计所需的基本功能组件或基本运算单元,包括轮密钥加单元、混淆单元、扩散单元、对合运算单元、轮函数、扩展单元、压缩单元;所述的密码算法功能要素的具体功能通过配置相应的配置信息而改变,具有可配置特征;所述的轮密钥加单元是一种将轮密钥与涉及明文或密文的变量进行某种运算而得一个新变量的功能单元或函数;所述的混淆单元是一种采用非线性变换函数对输入数据进行某些非线性变换并输出变换结果的功能单元或函数;混淆单元将使得输入与输出之间具有复杂的映射关系,进而混淆输入与输出之间的统计特性;所述的扩散单元是一种具有扩散效应的功能单元或函数;具有如下的特性:当输入数据中有局部的微小的改变时,对应输出数据中却会出现较大变化;所述的对合运算单元是一种具有对合性质的功能单元或函数;所述的轮函数是指在迭代密码算法中重复使用的功能单元或函数;所述的扩展单元是一种能够将长度较短的输入数据串变换成具有长度较大输出数据串的功能单元或函数;其输出数据串中的某些部分将作为轮密钥或消息扩展字使用;所述的压缩单元是一种能够将较大长度输入数据串变换成固定长度数据串的功能单元或函数。2.根据权利要求1所述的密码算法定制方法,其特征在于:所述的密码算法数据处理结构具有可变结构的特征,所述的密码算法数据处理结构是指密码算法内部数据经过一个算法功能要素流向下一个算法功能要素的先后顺序或算法功能要素之间互联结构或调用关系,也包括密码算法中执行流程的循环或/和跳转控制方法;用户能够通过配置具体的密码算法数据处理结构,...

【专利技术属性】
技术研发人员:敖天勇廖望刘恺张亮戴葵邹雪城
申请(专利权)人:戴葵
类型:发明
国别省市:湖北;42

网友询问留言 已有0条评论
  • 还没有人留言评论。发表了对其他浏览者有用的留言会获得科技券。

1