加密装置及方法制造方法及图纸

技术编号:15302326 阅读:315 留言:0更新日期:2017-05-13 13:04
本发明专利技术公开一种加密装置以及方法。根据本发明专利技术的一实施例的加密装置包括:密钥表生成部,生成由种子值导出的任意值,并生成包含所生成的所述任意值的密钥表;以及加密部,生成具有轮函数的菲斯特尔结构的块加密算法,并利用所生成的所述块加密算法而对明文数据块进行加密,所述轮函数应用所生成的所述密钥表。

Encryption device and method

The present invention discloses an encryption device and method. An encryption device according to an embodiment of the present invention includes: a key table generating part generates arbitrary values derived from seed value, and generate the key table of arbitrary values generated by the Ministry; and encryption, block encryption algorithm Feustel structure generation with wheel function, and use the generated by the block encryption algorithm and encryption of the plaintext data block, the application of the round function generated by the key table.

【技术实现步骤摘要】

本专利技术的实施例涉及一种加密技术。
技术介绍
现有的白盒密码算法的实现方式根据成为基础的对称密钥密码算法的内部特征而不同,并且因为依靠基础算法所以难以提供普适性,并且为了保护基础算法的密钥而需要插入较多的额外运算,所以于相比基础算法,而导致降低几十倍的效率。另外,现有的白盒密码算法无法提供与设计者的初衷相匹配的足够的安全性,并且实时暴露于密钥复原攻击下。现有技术文献专利文献(专利文献0001)韩国公开专利第10-2012-0030335号(2012.03.28)
技术实现思路
本专利技术的实施例用于提供一种加密装置以及方法。根据本专利技术的一实施例的加密装置包括:密钥表生成部,生成由种子值导出的任意值,并生成包含所生成的所述任意值的密钥表(Keytable);以及加密部,生成具有轮函数的菲斯特尔结构(Feistel)的块加密算法,并利用所生成的所述块加密算法而对明文数据块进行加密,所述轮函数应用所生成的所述密钥表。所述种子值可以是能够用比特串表示的初始输入值。所述种子值可以是密钥、计算器值以及初始化向量中的一个。所述密钥表生成部可以基于用于加密的可用存储器的大小来确定所述任意值的大小。所述加密部可以基于所述明文数据块的大小以及所述任意值的大小来确定所述菲斯特尔结构的分支数,并且生成具有所确定的所述分支数的菲斯特尔结构的块加密算法。所述加密部可以利用如下的数学式确定所述分支数:(其中,b为分支数,n为所述明文数据块的大小,k所述任意值的大小)。所述加密部可以基于安全强度来确定所述菲斯特尔结构的轮数,并且可以生成具有所确定的所述轮数的菲斯特尔结构的块加密算法。根据本专利技术的一实施例的加密方法,包括如下步骤:生成由种子值导出的任意值;生成包含所生成的所述任意值的密钥表;生成具有轮函数的菲斯特尔结构的块加密算法,该轮函数应用所生成的所述密钥表;利用生成的所述块加密算法加密明文数据块。所述种子值可以是可以用比特串表示的初始输入值。所述种子值可以是密钥、计算器值以及初始化向量中的一个。生成所述任意值的步骤可以包括以下步骤:基于用于加密的可用存储器的大小来确定所述任意值的大小;生成具有所确定的所述任意值的大小的任意值。生成所述块加密算法的步骤可以包括以下步骤:基于所述明文数据块的大小以及所述任意值的大小来确定所述菲斯特尔结构的分支数;以及生成具有所确定的所述分支数的菲斯特尔结构的块加密算法。在所述确定分支数的步骤中,可以利用如下的数学式而确定所述分支数:(其中,b为分支数,n为所述明文数据块的大小,k为所述任意值的大小)。生成所述块加密算法的步骤可以包括如下的步骤:基于安全强度来确定所述菲斯特尔结构的轮数;以及生成具有所确定的所述轮数的菲斯特尔结构的块加密算法。根据本专利技术的一实施例的储存于计算机可读记录介质的计算机应用程序,该应用程序与硬件结合以执行以下步骤:生成从种子值导出的任意值;生成包含所生成的所述任意值的密钥表;生成具有轮函数的菲斯特尔结构的块加密算法,该轮函数应用所生成的所述密钥表;利用所生成的所述块加密算法而对明文数据块进行加密。根据本专利技术的实施例,通过利用可以在白盒环境内保护密钥的密钥表应用于轮函数的菲斯特尔结构的加密算法,可以没有用于保护密钥的额外运算步骤的情况下在白盒环境下实现安全的数据加密。并且,使密钥表大小以及菲斯特尔结构的分支数和轮数可以根据加密应用环境而被可变地调整,从而可以构成对应用环境最优的加密算法。附图说明图1为根据本专利技术的一实施例的加密装置的构成图。图2为根据本专利技术的一实施例的密钥表生成部的详细构成图。图3为示出运算部中使用的轮函数的例子的图。图4为示出根据本专利技术的一实施例而生成的块加密算法的菲斯特尔(Feistel)结构的图。图5为根据本专利技术的一实施例的加密方法的流程图。图6为示出根据本专利技术的一实施例的块加密算法的生成步骤的流程图。符号说明100:加密装置110:密钥表生成部111:密钥生成部113:运算部130:加密部具体实施方式以下,将参考附图而对本专利技术的具体实施形态进行说明。以下的详细的说明是为帮助包括对本说明书中描述的方法、装置以及/或者系统的理解而提供的。然而这仅仅为示例,本专利技术并不局限于此。在说明本专利技术的实施例时,如果判断为对与本专利技术相关的公知技术进行的具体说明会给本专利技术的主旨带来不必要的混乱,则将省略对其的详细说明。并且,下述的术语为考虑到本专利技术中的作用而给出定义的术语,其可以根据用户、适用者的意图或者习惯等而不同。所以,其需要基于本说明书的整体内容来做出定义。在详细的说明中使用的术语只是用于叙述本专利技术的实施例的,而并不具有限制作用。在没有明确的反例时,单数形态的表现形式包括复数形态的含义。本说明书中,要理解“包括”或者“具有”等表述指某些特征、数字、步骤、操作、要素以及它们的部分或者组合,不能理解成排除所叙述的之外的一个或以上的其他特征、数字、步骤、操作、要素以及它们的部分或者组合的存在或者可能性。图1为根据本专利技术的一实施例的加密装置的构成图。参考图1,根据本专利技术的一实施例的加密装置100包括密钥表生成部110以及加密部130。密钥表生成部110利用种子值(seedvalue)生成由种子值导出的任意值,并生成包含所生成的任意值的密钥表(Keytable)。此时,密钥表可以是以由种子值导出的任意值组成的查找表(lookuptable)。并且,种子值可意指能够用比特串(bitstring)表示的初始输入值。例如,种子值可以包括密钥、块加密(BlockCipher)的操作模式中使用的计数器值、由任意比特串组成的初始化向量等。另外,根据本专利技术的一实施例,由密钥表生成部110生成的密钥表的各个任意值的大小可根据在应用加密装置100的计算环境内可为加密而得到利用的可用存储器的大小来确定。加密部130生成包含轮函数的菲斯特尔(Feistel)结构的块加密算法,并且可以利用所生成的块加密算法而对明文数据块进行加密,其中轮函数应用由密钥表生成部110生成的密钥表。具体地,加密部130确定菲斯特尔结构的分支(branch)数以及轮数,并且可以将密钥表应用于菲斯特尔结构的各个轮函数而生成块加密算法。此时,根据本专利技术的一实施例,由加密部130构成的块加密算法可以基于具有菲斯特尔结构的现有的块加密算法(例如,DES算法)来生成。例如,加密部130可以基于DES算法来将密钥表应用于DES算法的菲斯特尔结构的各个轮函数,并且改变菲斯特尔结构的分支数和轮数,据此生成块加密算法。另外,根据本专利技术的一实施例,菲斯特尔结构的分支数可以根据将被加密的明文数据块的大小以及构成密钥表的任意值的大小而确定。具体地,加密部130例如可以基于如下的数学式1来确定菲斯特尔结构的分支数b。【数学式1】数学式1中,b指分支数,n指所要加密的明文数据块的大小(bit),k指构成密钥表的任意值的大小(bit)。另外,根据本专利技术的一实施例,菲斯特尔结构的轮数可以根据应用加密装置100的环境内的安全强度而确定。图2为根据本专利技术的一实施例的密钥表生成部110的详细构成图。参考图2,密钥表生成部110可以包括:密钥生成部111,由种子值生成多个子密钥;运算部113,利用所生成的各个子密钥生成密钥表。具体地,密钥生成部111接收种本文档来自技高网...
<a href="http://www.xjishu.com/zhuanli/62/201610108510.html" title="加密装置及方法原文来自X技术">加密装置及方法</a>

【技术保护点】
一种加密装置,包括:密钥表生成部,生成从种子值导出的任意值,并生成包含所生成的所述任意值的密钥表;以及加密部,生成具有轮函数的菲斯特尔结构的块加密算法,并利用所生成的所述块加密算法而对明文数据块进行加密,所述轮函数应用所生成的所述密钥表。

【技术特征摘要】
2015.10.29 KR 10-2015-01510391.一种加密装置,包括:密钥表生成部,生成从种子值导出的任意值,并生成包含所生成的所述任意值的密钥表;以及加密部,生成具有轮函数的菲斯特尔结构的块加密算法,并利用所生成的所述块加密算法而对明文数据块进行加密,所述轮函数应用所生成的所述密钥表。2.如权利要求1所述的加密装置,其特征在于,所述种子值是能够用比特串表示的初始输入值。3.如权利要求2所述的加密装置,其特征在于,所述种子值为密钥、计算器值以及初始化向量中的一个。4.如权利要求1所述的加密装置,其特征在于,所述密钥表生成部基于用于加密的可用存储器的大小来确定所述任意值的大小。5.如权利要求1所述的加密装置,其特征在于,所述加密部基于所述明文数据块的大小以及所述任意值的大小来确定所述菲斯特尔结构的分支数,并且生成具有所确定的所述分支数的菲斯特尔结构的块加密算法。6.如权利要求5所述的加密装置,其特征在于,所述加密部利用以下数学式而确定所述分支数,b=nk,b>2,k≥3]]>其中,b为分支数,n为所述明文数据块的大小,k为所述任意值的大小。7.如权利要求1所述的加密装置,其特征在于,所述加密部基于安全强度来确定所述菲斯特尔结构的轮数,并且生成具有所确定的所述轮数的菲斯特尔结构的块加密算法。8...

【专利技术属性】
技术研发人员:文德财赵志勋崔珪映南森·凯勒奥尔·邓克尔曼以泰·迪努尔
申请(专利权)人:三星SDS株式会社海法卡梅尔大学经济有限公司巴伊兰大学
类型:发明
国别省市:韩国;KR

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

1