用于可计算、大型、可变及安全的替换盒的方法及设备的制造方法

文档序号:8548374阅读:182来源:国知局
用于可计算、大型、可变及安全的替换盒的方法及设备的制造方法【专利说明】用于可计算、大型、可变及安全的替换盒的方法及设备[0001]优先权的主张[0002]本专利申请案主张2013年I月11日申请的标题为“用于可计算、大型、可变及安全的替换盒的方法及设备(MethodandApparatusforComputable,Large,Variable,andSecureSubstitut1nBox)”的第61/751,541号临时申请案的优先权,所述申请案的全部揭示内容特此以引用的方式明确地并入。
技术领域
[0003]各种特征涉及密码学,且更确切地说,涉及用于实施替换盒的方法及设备。【
背景技术
】[0004]在密码学中,替换盒(S盒)为执行替换的对称密钥算法的基本组件。在块密码中,块密码通常用以隐藏密钥与密文之间的关系,且因此展现香农的混淆的性质。S盒表示接收η个输入位且产生m个输出位的复合函数,从而输出具有某些用于加密的性质。此些性质包含高非线性与平衡性、高代数次数、严格雪崩准则满足程度,及其它性质。此些函数难以计算,且常常表示为查找表,例如数据加密标准(DES)及高级加密标准(AES)中的查找表。举例来说,在AES中,8位输入通过选自S盒中的8位值替换。在一些状况下,η可等于m,从而到S盒的输入及输出具有相同位长度。[0005]如果η大,那么上文描述的查找表(或等效地,用于硬件实施方案的门的网络)可快速变得不实用。在另一方面,小η在定义上限于非线性及代数次数。因此,还能够有效实施于硬件或软件中的具有大量输入位的S盒是合乎要求的。[0006]隐藏权重位函数(HWBF)可视为具有上文描述的一些合乎要求的加密性质(例如平衡性及代数复杂性)的η位到I位S盒。举例来说,如果X为η位输入,其中Xi为χ的第i(1〈=i〈=η)个最高有效位,那么HWBF的输出W定义为:[0007]如果χ=0,那么W(X)=0,[0008]否贝U,W(x)=xk,其中k为χ的汉明权重。[0009]图1说明可易于实施于硬件中的现有技术中出现的基于η位到η位HWBF的S盒100的示意框图。二进制输入值χ(例如,110101)被输入到旋转函数102中。旋转函数102对输入χ以等于输入的汉明权重的位数目执行逐位左旋转。因此,如果二进制输入χ等于110101,那么由于汉明权重等于四个(4),因此旋转函数102的输出Z等于011101。[0010]图2说明描绘基于HWBF的S盒输出ζ与HWBFff(x)之间的关系的表200。参看图1及2,可展示,输出z的最低有效位(例如,I)等于输入值χ的HWBFW(X)(上文定义)。还可观察到,第二最低有效位(例如,0)表示到HWBF的输入值χ已经历单一位的逐位右旋转(通过W(x〈〈l)指示)的情况下的HWBFW(X)的输出。第三最低有效位表示到HWBF的输入值χ已经历两个位的逐位右旋转(通过W(x〈〈2)指示)的情况下的HWBFff(x)的输出,等等。[0011]因此,输出值z与输入值χ具有相同数目的位,其中每一位表示并列计算出的不同HWBFW(x)输出。输出值z的位仍保留上文关于HWBF描述的一些有益的加密性质。不幸的是,S盒100还具有不合乎要求的性质。举例来说,一此不合乎要求的性质在于输出z将与输入χ具有相同汉明权重,此可常常简化密码分析,特别在输入χ具有低汉明权重时。将需要增大S盒100的安全性,以使得更能抵抗密码攻击(密码分析)。[0012]因此,需要更有效地抵抗密码攻击的改进式S盒算法、方法,及设备。【
发明内容】[0013]一种特征提供一种用于产生与替换盒(S盒)相关联的加密值的方法。所述方法包括获得输入值及第一值,及通过以下步骤中的一者产生S盒输出值:(A)对所述输入值及所述第一值执行逐位异或(XOR)操作以产生第一中间值,且对所述第一中间值以等于所述第一中间值的汉明权重的位数目执行逐位旋转操作,以产生所述S盒输出值;(B)对所述输入值以等于所述输入值的汉明权重的位数目执行逐位旋转操作,以产生所述第一中间值,且对所述第一中间值及所述第一值执行逐位XOR操作以产生所述S盒输出值;或(C)对所述输入值及所述第一值执行逐位XOR操作以产生所述第一中间值,对所述第一中间值以等于所述第一中间值的汉明权重的位数目执行逐位旋转操作,以产生第二中间值,获得第二值,且对所述第二中间值及所述第二值执行逐位XOR操作以产生所述S盒输出值。根据一方面,所提供的所述第一及/或第二值中的至少一者经配置以产生具有等于或大于50%可能性的与所述输入值具有不同汉明权重的所述S盒输出值。根据另一方面,所述第一值及/或所述第二值中的至少一者为具有非零汉明权重的常量。[0014]根据一方面,所提供的所述第一及/或第二值中的至少一者是可变的,且具有等于或大于百分之100*(l-2_n)的具有非零汉明权重的可能性,其中η为所述第一及/或第二值的位数目。根据另一方面,所述第一值及/或所述第二值中的至少一者是从加密函数及/或加密密钥中的至少一者导出。根据又一方面,所述第一值及/或所述第二值中的至少一者是从密码模块的组件级导出。[0015]根据一方面,所述密码模块为流密码。根据另一方面,所述方法是在存储器电路中执行。根据又一方面,所述输入值及所述S盒输出值具有相同位数目。[0016]根据一方面,所述方法进一步包括:获得主要输入值;分配所述主要输入值的位以获得多个非线性变换函数(NLTF)输入值,其中每一NLTF输入值具有小于所述主要输入值的位数目的位数目;将所述NLTF输入值中的每一者提供到执行非线性操作的NLTF以产生多个NLTF输出值,所述多个NLTF输出值的每一者对应于提供到所述NLTF的所述NLTF输入值;及串接所述多个NLTF输出值以获得所述输入值。根据另一方面,所述主要输入值经分配使得所述多个NLTF输入值中的每一者具有相同位数目。[0017]另一特征提供一种电子装置,所述电子装置包括经配置以获得输入值及第一值,且通过以下操作中的一者产生S盒输出值的处理电路:(A)对所述输入值及所述第一值执行逐位异或(XOR)操作以产生第一中间值,且对所述第一中间值以等于所述第一中间值的汉明权重的位数目执行逐位旋转操作,以产生所述S盒输出值;(B)对所述输入值以等于所述输入值的汉明权重的位数目执行逐位旋转操作,以产生所述第一中间值,且对所述第一中间值及所述第一值执行逐位XOR操作以产生所述S盒输出值;或(C)对所述输入值及所述第一值执行逐位XOR操作以产生所述第一中间值,对所述第一中间值以等于所述第一中间值的汉明权重的位数目执行逐位旋转操作,以产生第二中间值,获得第二值,且对所述第二中间值及所述第二值执行逐位XOR操作以产生所述S盒输出值。[0018]根据一方面,所述处理电路经进一步配置以:获得主要输入值;分配所述主要输入值的位以获得多个非线性变换函数(NLTF)输入值,其中每一NLTF输入值具有小于所述主要输入值的位数目的位数目;将所述NLTF输入值中的每一者提供到执行非线性操作的NLTF以产生多个NLTF输出值,所述多个NLTF输出值的每一者对应于提供到所述NLTF的所述NLTF输入值;及串接所述多个NLTF输出值以获得所述输入值。[0019]另一特征提供一种电子装置,所述电子装置包括用于获得输入值及第一值的装置,及用于通过以下操作中的一者产生S盒输出值的装置:(A)用于对所述输入值及所述第一值执行逐位异或(XOR)操作以产生第一中间值的装置,及用于对所述第一中间值以等于所述第一中间值的汉明权重的位数目执行逐位旋转操作,以产生所述S盒输出值的装置;(B)用于对所述输入值以等于所述输入值的汉明权重的位数目执行逐位旋转操作以产生所述第一中间值的装置,及用于对所述第一中间值及所述第一值执行逐位XOR操作以产生所述S盒输出值的装置;或(C)用于对所述输入值及所述第一值执行逐位XOR操作以产生所述第一中间值的装置,用于对所述第一中间值以等于所述第一中间值的汉明权重的位数目执行逐位旋转操作以产生第二中间值的装置,用于获得第二值的装置,及用于对所述第二中间值及所述第二值执行逐位XOR操作以产生所述S盒输出值的装置。[0020]根据一方面,所述电子装置进一步包括:用于获得主要输入值的装置;用于分配所述主要输入值的位以获得多个非线性变换函数(NLTF)输入值的装置,其中每一NLTF输入值具有小于所述主要输入值的位数目的位数目;用于将所述NLTF输入值中的每一者提供到执行非线性操作的NLTF以产生多个NLTF输出值的装置,所述多个NLTF输出值的每一者对应于提供到所述NLTF的所述NLTF输入值;及用于串接所述多个NLTF输出值以获得所述输入值的装置。[0021]另一特征提供一种计算机可读存储媒体,其具有存储于其上的用于产生与替换盒(S盒)相关联的加密值的指令,所述指令在通过至少一处理器执行时使得所述处理器当前第1页1 2 3 4 5 
当前第1页1 2 3 4 5 
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1