CN115801227B - 一种生成置换表的方法及装置 - Google Patents
一种生成置换表的方法及装置 Download PDFInfo
- Publication number
- CN115801227B CN115801227B CN202211404694.6A CN202211404694A CN115801227B CN 115801227 B CN115801227 B CN 115801227B CN 202211404694 A CN202211404694 A CN 202211404694A CN 115801227 B CN115801227 B CN 115801227B
- Authority
- CN
- China
- Prior art keywords
- key
- permutation table
- key control
- permutation
- data
- Prior art date
- Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
- Active
Links
Landscapes
- Storage Device Security (AREA)
Abstract
本申请公开了一种生成置换表的方法及装置,该方法包括:获取初始置换表和密钥;根据密钥确定N个密钥控制字,N为大于1的整数;根据N个密钥控制字将初始置换表的M个元素进行置换,获得置换后的置换表,置换后的置换表包括M个元素,置换后的置换表用于密码运算,M为小于或等于N且大于1的整数。该方法能够根据对密钥派生的结果生成所述密钥对应的一个置换表。
Description
技术领域
本申请实施例涉及信息安全领域,尤其涉及一种生成置换表的方法及装置。
背景技术
目前,随着通信和计算机技术的快速发展,数据加密已成为常态。在数据加密过程中,一般使用置换型S盒(或称置换表)对数据进行加密。所述置换表一般用于对称钥密码算法,一个密码算法也许会需要多个所述置换表。许多密码算法的置换表是公开的,而且是长期不变的,这可能会方便攻击者开展密码破译或相关研究。如果置换表由密钥派生,一般可以加强密码算法的安全强度。但是对于拥有共享密钥的加密方和解密方,需要有一种有效的由密钥推导置换表的方法,而且这种方法难以被攻击者破解。当攻击者不知道密钥时,无法预测置换表的内容,而且攻击者获得了置换表后也不能猜出密钥。
发明内容
本申请实施例提供一种生成置换表的方法及装置,用以根据对密钥派生的结果生成所述密钥对应的一个置换表。
第一方面,本申请实施例提供的一种生成置换表的方法,包括:
获取初始置换表和密钥;根据所述密钥确定N个密钥控制字,N为大于1的整数;根据所述N个密钥控制字将所述初始置换表的M个元素进行置换,获得置换后的置换表,所述置换后的置换表包括M个元素,所述置换后的置换表用于密码运算,M为小于或等于N且大于1的整数。
根据该方法,可以根据密钥确定不同的密钥控制字,在通过不同的密钥控制字与初始置换表的元素进行置换,能够获得与密钥控制字对应的不同置换表。
在一种可能的设计中,所述根据所述密钥确定N个密钥控制字,N为大于1的整数,包括:对所述密钥进行处理,得到第一数据长度的数据;根据所述第一数据长度的数据获得具有第二数据长度的N个密钥控制字,其中,所述第一数据长度为所述第二数据长度的多倍。
根据该方法,可以根据密钥获得任一数据长度的数据,在通过任一数据长度的数据获得多个不同的密钥控制字,可以提高密钥控制字的安全性。
在一种可能的设计中,所述根据所述N个密钥控制字将所述初始置换表的M个元素进行置换,包括:将所述初始置换表中的第i个元素与第x个元素进行互换,所述x根据第i个所述密钥控制字确定,i=0、1、……、M-1。
根据该方法,可以根据密钥控制字确定待置换元素,将多个待置换元素与多个初始置换表的元素进行一对一互换,能够提高待置换元素的随机性。
在一种可能的设计中,所述x还根据所述初始置换表的第i个元素、所述M以及所述i中的至少一项确定。
根据该方法,所述待置换元素还可以根据初始置换表中的元素确定,进一步提高待置换元素的随机性。
在一种可能的设计中,所述方法还包括:根据该方法,将置换表中的第i个元素和第p个元素进行互换,获得所述初始置换表,i=0、1、……、M-1。
根据该方法,可以通过对随机置换表中的不同元素进行置换,获得初始置换表,可以提高初始置换表的随机性。
第二方面,本申请实施例提供的一种生成置换表的装置,包括获取模块和处理模块。其中:
获取模块,用于获取初始置换表和密钥;处理模块,用于根据所述密钥确定N个密钥控制字,N为大于1的整数;所述处理模块,还用于根据所述N个密钥控制字将所述初始置换表的M个元素进行置换,获得置换后的置换表,所述置换后的置换表包括M个元素,所述置换后的置换表用于密码运算,M为小于或等于N且大于1的整数。
在一种可能的设计中,所述处理模块具体用于:对所述密钥进行处理,得到第一数据长度的数据;根据所述第一数据长度的数据获得具有第二数据长度的N个密钥控制字,其中,所述第一数据长度为所述第二数据长度的多倍。
在一种可能的设计中,所述处理模块具体用于:将所述初始置换表中的第i个元素与第x个元素进行互换,所述x根据第i个所述密钥控制字确定,i=0、1、……、M-1。
在一种可能的设计中,所述x还根据所述初始置换表的第i个元素、所述M以及所述i中的至少一项确定。
在一种可能的设计中,所述处理模块还用于:将置换表中的第i个元素和第p个元素进行互换,获得所述初始置换表,i=0、1、……、M-1。
第三方面,本申请实施例还提供了一种计算机可读存储介质,所述计算机可读存储介质内存储有计算机程序,所述计算机程序被处理器执行时,实现第一方面及其任意一种设计的方法。
第四方面,本申请实施例还提供了一种电子设备,包括存储器和处理器,所述存储器上存储有可在所述处理器上运行的计算机程序,当所述计算机程序被所述处理器执行时,使得所述处理器实现第一方面及其任意一种设计的方法。
第二方面至第四方面及其任意一种设计所带来的技术效果可参见第一方面中对应的设计所带来的技术效果,此处不再赘述。
附图说明
为了更清楚地说明本申请实施例中的技术方案,下面将对实施例描述中所需要使用的附图作简要介绍,显而易见地,下面描述中的附图仅仅是本申请的一些实施例,对于本领域的普通技术人员来讲,在不付出创造性劳动的前提下,还可以根据这些附图获得其他的附图。
图1为本申请实施例提供的一种生成置换表方法的流程示意图;
图2为本申请实施例提供的一种置换表结构示意图;
图3为本申请实施例提供的另一种置换表结构示意图;
图4为本申请实施例提供的一种装置结构示意图;
图5为本申请实施例提供的另一种装置结构示意图。
具体实施方式
为了使本申请的目的、技术方案和优点更加清楚,下面将结合附图对本申请作可选的详细描述,显然,所描述的实施例仅是本申请一部分实施例,而不是全部的实施例。基于本申请中的实施例,本领域普通技术人员在没有做出创造性劳动前提下所获得的所有其它实施例,都属于本申请保护的范围。应理解,下面所介绍的方法实施例中的具体操作方法也可以应用于装置实施例或系统实施例中。
本申请的说明书和权利要求书及上述附图中的术语“第一”和“第二”是用于区别不同数据长度,而非用于描述特定顺序。此外,术语“包括”以及它们任何变形,意图在于覆盖不排他的保护。例如包含了一系列步骤或单元的过程、方法、系统、产品或设备没有限定于已列出的步骤或单元,而是可选地还包括没有列出的步骤或单元,或可选地还包括对于这些过程、方法、产品或设备固有的其它步骤或单元。本申请中的“多个”可以表示至少两个,例如可以是两个、三个或者更多,本申请实施例不做限制。
目前,随着通信和计算机技术的快速发展,数据加密已成为常态。在数据加密过程中,可能需要使用置换型S盒,或称为置换表。很多对称钥密码算法都会用到置换型S盒,例如AES(即美国高级加密标准(advanced encryption standard,AES))、Camellia(即欧洲分组密码标准)和SM4(即中国商用分组密码标准)等分组密码算法会使用8比特输入8比特输出的置换表,MISTY1算法使用9比特输入9比特输出和7比特输入7比特输出的置换表,GOST-28147-89算法使用8个4比特输入4比特输出置换表等。这些置换表一般是根据算法要求提前选定的。因此在拥有共享密钥的加密方和解密方无需重新生成置换表。不过,有些密码算法由于置换表大小特殊或出于安全考虑,需要设置基于密钥变化的置换表。如果将AES、Camellia和SM4算法的8比特输入8比特输出置换表改为由密钥派生,一般会增强算法的抗攻击能力。但这可能会给密码算法实现、提高算法工作效率增添麻烦,而且需要有一个合适的由密钥派生置换表的方案。
为了解决以上问题,本发明提出了一种生成置换表的方法及装置,以获得密钥对应的置换表。
可以理解,本申请提供的一种生成置换表的方法可由置换表生成装置实现。其中,置换表生成装置可以获得密钥、对密钥进行派生,根据对密钥派生的结果生成所述密钥对应的一个置换表。
如图1所示,本申请实施例提供的生成置换表的方法具体步骤可以包括:
步骤101,获取初始置换表和密钥。
示例性的,所述置换是指由任一系统或设备对数据经过任一次运算,每次运算后得到的数据运算结果均不相同,且所述数据和所述数据运算结果具有相同的单位,比如,8进8出的置换,可以表示将8比特数据输入任意系统,所述系统输出8比特数据处理结果。
示例性的,置换表生成装置可以根据用户需求,随机确定置换表的元素个数M,所述M为自然数。所述置换表生成装置随机生成M个自然数输入置换表,将置换表中的第i个元素赋值为p,获得初始置换表。其中,p根据i确定。
例如,所述置换表生成装置可获取M=256个元素,即置换表中具有256个元素。所述置换表生成装置可将获取的256个元素用十六进制表示。例如,可取p为85,用16进制表示所述p为(i⊕0x55)。所述置换表生成装置将第i个元素依次赋值为(i⊕0x55),当i取遍0至255后,i⊕0x55也恰好是0至255的一个全排列,获得初始化的置换表(或简称初始置换表)。本申请中,置换表中的第i个元素可用s[i]表示,i=0、1、……、M-1。本申请中,⊕表示异或运算。
另一种示例中,所述置换表生成装置可使用AES或SM4等算法中使用的置换表作为初始置换表。其中,例如,如图2所示为AES算法使用的置换表,所述AES算法是美国高级加密标准算法。SM4算法是中国商用分组密码算法。
可选的,如图3所示为一种16进制置换表,所示置换表为16行16列,其中16行可表示为第0行、第1行、……、第9行、第a行、第b行、……、第f行,16列也可以用相同方法表示。置换表中元素可以用行数和列数表示,例如,输入“ef”,则表示表中第e行、第f列的元素,即“84”。
示例性的,密钥可以是具有若干字节的数据,也可以表示为若干比特的数据。所述置换表生成装置可根据用户输入的数据和用户设置获得所述密钥。例如,用户设置密钥长度一般为128或256比特,输入密钥长度128或256后,置换表系统获取128或256比特的密钥。
步骤102,根据所述密钥确定N个密钥控制字,N为大于1的整数。
示例性的,所述置换表生成装置可以通过循环填充、反码循环填充、线性递归和非线性递归等方式对密钥进行扩展,根据密钥的扩展结果进行派生,所述派生的结果即第一数据长度的数据。所述置换表生成装置可根据所述第一数据长度的数据确定密钥中的元素。所述派生即根据公式将原有数组的多个数据进行计算,在原有数组的多个数据基础上根据公式计算的结果产生更多的附加数据。
其中,所述循环填充或所述反码循环填充可以理解为由所述密钥或所述密钥的反码进行多次重复,多次重复后得到的结果即所述密钥的扩展结果。所述线性递归和所述非线性递归可以理解为由所述密钥根据线性递归公式或非线性递归公式进行多次运算,多次运算后得到的结果即所述密钥的扩展结果。
例如,所述置换表生成装置可根据反码循环填充的方法使80比特密钥扩展为128比特,将128比特记作数组(k0,k1,k2,……,k127),然后所述置换表生成装置可将128比特密钥根据线性递归式ki=ki-3⊕ki-14⊕ki-29⊕ki-128进行计算,其中i从128开始递增。得到的k序列计算结果即派生后得到的第一数据长度的数据。其中,递归式的特征多项式为x128+x29+x14+x3+1,这是一个F2域上本原多项式。所述F2域上多项式可以理解为一种满足所有系数只能为0或1的多项式,本原多项式可以保证递归出的二进制数据具有极大反复周期。
可以理解,扩展的方法、扩展后的比特数或者派生所需要的递归式可根据用户需要确定,循环填充或递归式仅作为一种示例,本申请对具体的派生所用的方法或公式不作要求。
可选的,所述置换表生成装置可以将第一数据长度的数据作为密钥控制字。或者,将第一数据长度的数据分割成N个密钥控制字,其中,密钥控制字对应的数据长度为第二数据长度。
例如,所述置换表生成装置可根据用户需求确定置换成表元素个数和控制字个数N,比如选择N=256,可设置将密钥派生到长为L的比特数据,比如L=256*8,这里L即为第一数据长度,可将L比特的数据按若干比特为一段进行分割,比如按每8比特一段,可获得N=256个密钥控制字。每个密钥控制字的长度为8比特,即第二数据长度为8比特。本申请中,*表示乘法运算。
步骤103,根据所述N个密钥控制字将所述初始置换表的M个元素进行置换,获得置换后的置换表。
示例性的,所述置换表生成装置可设置临时工作单元和第一工作单元,分别用于存储数据。其中,临时工作单元中存储的数据可用y表示,第一工作单元中存储的数据可用x表示。所述置换表生成装置可根据所述N个密钥控制字确定所述y,进一步可根据所述y确定所述x。进一步的,所述置换表生成装置可将所述置换表中的第i个元素与第x个元素进行互换,获得置换后的置换表。其中,N可根据用户需求确定。
可选的,根据所述N个密钥控制字确定临时工作单元y的公式可根据需求确定。例如,根据所述N个密钥控制字确定临时工作单元y的公式可以是以下中的任意一项:y=s[i]+(kw[i]⊕i)mod M、y=kw[i]、y=(47*s[i]+kw[i])mod M、y=s[k[i]⊕0x69]或y=i+k[i]mod M。其中,s[i]表示置换表中的第i个元素,kw[i]表示第i个第二数据长度的密钥控制字,mod表示模运算。
示例性的,置换表生成装置可以在每次确定y后,根据y值对x值进行更新。例如,令x=x+y mod M,即更新后的x值为更新前的x值与y值的和模M,或者,x=(x+y)mod N,即更新后的x值为更新前的x值与y值的和模N。其中,x的初始值可以是X,X为0或任一正整数。
例如,以y=s[i]+(kw[i]⊕i)mod M为例,所述置换表生成装置可设置第一工作单元初始值X为0,将所述密钥控制字KW0,KW1,KW2,……,KW255记为KW[i]。按步骤103,所述置换表生成装置取i=0,根据i=0、KW[0]和s[0]第一次计算出y,根据所述y和第一工作单元初始值X计算出第一次更新后的x,将置换表中的s[0]元素与所述初始置换表中的s[x]元素进行互换,得到第一次置换后的置换表。置换表生成装置还可令i=1,根据i=1、KW[1]和s[1]计算出对应的y,根据所述y计算出对应的x,将置换表中的s[i]元素与所述置换表中的s[x]元素进行互换,得到第二次置换后的置换表,依次类推,所述置换表生成装置可得到第256次互换后的置换表。有多少个密钥控制字就作多少次置换表元素互换。
可选的,所述置换表生成装置可将所述若干次互换后的置换表中的M个元素输出,或者说,可输出该置换表。
可以理解,在步骤101或103中,所述置换表生成装置确定置换表的元素个数为256并由此获得对应的置换表仅为一种示例,本申请方案不限制置换表的元素个数和由此获得的置换表的大小。例如,在取N=200且M=169时,置换表系统可通过以下示例获得置换后的置换表:
可选的,所述置换表生成装置可通过填充、递归等方式将口令或密钥派生为2000比特。所述置换表生成装置将2000比特按10比特分段,可分为200段,每一个10比特构成0至1023之间的数字。所述置换表生成装置将每个所述数字模169,得到200个密钥控制字,每个密钥控制字均为0至168之间的数。这200个密钥控制字可记作KW0,KW1,KW2,……,KW199。所述置换表生成装置可给置换表设置一种初始值,比如取s[i]=i,i=0、1、2、…、168。所述置换表生成装置可参照步骤103将密钥控制字KW0,KW1,KW2,……,KW199记为KW[i]。所述置换表生成装置参照步骤103,根据kw[i]和s[i]计算出x,输出置换后的置换表。
可以理解,上述步骤中,所述置换表生成装置由2000比特密钥派生序列产生了200个密钥控制字,也可以取更长或更短的分段长度。可选的,所述置换表生成装置可不必将密钥派生序列按10比特分段,而且也可不必将密钥派生序列按等长划分。置换表系统也可将密钥序列看作二进制大数,把这个大数表示成169进制数形式,169进制数形式中每一位就代表一个控制字。
基于相同的技术构思,本申请示例性的提供了一种生成置换表的装置,如图4所示,该装置可包括获取模块401和处理模块402。
其中,获取模块401,用于获取初始置换表和密钥;处理模块402,用于根据所述密钥确定N个密钥控制字,N为大于1的整数;所述处理模块402,还用于根据所述N个密钥控制字将所述初始置换表的M个元素进行置换,获得置换后的置换表,所述置换后的置换表包括M个元素,所述置换后的置换表用于密码运算,M为小于或等于N且大于1的整数。
可选的,所述处理模块402具体用于:对所述密钥进行处理,得到第一数据长度的数据;根据所述第一数据长度的数据获得具有第二数据长度的N个密钥控制字,其中,所述第一数据长度为所述第二数据长度的多倍。
可选的,所述处理模块402具体用于:将所述初始置换表中的第i个元素与第x个元素进行互换,所述x根据第i个所述密钥控制字确定,i=0、1、……、M-1。
可选的,所述x还根据所述初始置换表的第i个元素、所述M以及所述i中的至少一项确定。
可选的,所述处理模块402还用于:将置换表中的第i个元素和第p个元素进行互换,获得所述初始置换表,i=0、1、……、M-1。
与上述方法实施例基于同一发明构思,本申请实施例中还提供了一种电子设备。该电子设备可以用于执行以上方法实施例所述的动作。在该实施例中,电子设备的结构可以如图5所示,包括存储器501以及一个或多个处理器502。
存储器501,用于存储处理器502执行的计算机程序。存储器501可主要包括存储程序区和存储数据区,其中,存储程序区可存储操作系统,以及运行即时通讯功能所需的程序等;存储数据区可存储各种即时通讯信息和操作指令集等。
存储器501可以是易失性存储器(volatile memory),例如随机存取存储器(random-access memory,RAM);存储器501也可以是非易失性存储器(non-volatilememory),例如只读存储器,快闪存储器(flash memory),硬盘(hard disk drive,HDD)或固态硬盘(solid-state drive,SSD)、或者存储器501是能够用于携带或存储具有指令或数据结构形式的期望的程序代码并能够由计算机存取的任何其他介质,但不限于此。存储器501可以是上述存储器的组合。
处理器502,可以包括一个或多个中央处理单元(central processing unit,CPU)或者为数字处理单元等。处理器502,用于调用存储器501中存储的计算机程序时实现上述方法。
本申请实施例中不限定上述存储器501和处理器502之间的具体连接介质。作为一种示例,本申请实施例在图5中以存储器501和处理器502之间通过总线503连接,总线503在图5中以粗线表示,其它部件之间的连接方式,仅是进行示意性说明,并不引以为限。总线503可以分为地址总线、数据总线、控制总线等。为便于表示,图5中仅用一条粗线表示,但并不表示仅有一根总线或一种类型的总线。
可选的,处理器501可用于执行以上由获取模块401执行的动作。总线503可用于执行以上由处理模块402执行的动作,或者,本申请也不限制图5所示装置还包括图5未示出的其他结构,如通信接口,用于执行以上由处理模块402执行的动作。
根据本申请的一个方面,提供了一种计算机程序产品或计算机程序,该计算机程序产品或计算机程序包括计算机指令,该计算机指令存储在计算机可读存储介质中。计算机设备的处理器从计算机可读存储介质读取该计算机指令,处理器执行该计算机指令,使得该计算机设备执行上述实施例中的方法。
程序产品可以采用一个或多个可读介质的任意组合。可读介质可以是可读信号介质或者可读存储介质。可读存储介质例如可以是——但不限于——电、磁、光、电磁、红外线、或半导体的系统、装置或器件,或者任意以上的组合。可读存储介质的更具体的例子(非穷举的列表)包括:具有一个或多个导线的电连接、便携式盘、硬盘、随机存取存储器(RAM)、只读存储器(ROM)、可擦式可编程只读存储器(EPROM或闪存)、光纤、便携式紧凑盘只读存储器(CD-ROM)、光存储器件、磁存储器件、或者上述的任意合适的组合。
以上所述,仅为本申请的具体实施方式,但本申请的保护范围并不局限于此,任何熟悉本技术领域的技术人员在本申请揭露的技术范围内,可轻易想到变化或替换,都应涵盖在本申请的保护范围之内。
Claims (8)
1.一种生成置换表的方法,其特征在于,包括:
获取初始置换表和密钥;
根据所述密钥确定N个密钥控制字,N为大于1的整数;
根据所述N个密钥控制字将所述初始置换表的M个元素进行置换,获得置换后的置换表,所述置换后的置换表包括M个元素,所述置换后的置换表用于密码运算,M为小于或等于N且大于1的整数;
所述根据所述N个密钥控制字将所述初始置换表的M个元素进行置换,包括:
将所述初始置换表中的第i个元素与第x个元素进行互换,所述x根据第i个所述密钥控制字、所述初始置换表的第i个元素、所述M以及所述i确定,i=0、1、...、M-1。
2.如权利要求1所述的方法,其特征在于,所述根据所述密钥确定N个密钥控制字,N为大于1的整数,包括:
对所述密钥进行处理,得到第一数据长度的数据;
根据所述第一数据长度的数据获得具有第二数据长度的N个密钥控制字,其中,所述第一数据长度为所述第二数据长度的多倍。
3.如权利要求1所述的方法,其特征在于,所述方法还包括:
将置换表中的第i个元素和第p个元素进行互换,获得所述初始置换表,i=0、1、...、M-1。
4.一种生成置换表的装置,其特征在于,包括:
获取模块,用于获取初始置换表和密钥;
处理模块,用于根据所述密钥确定N个密钥控制字,N为大于1的整数;
所述处理模块,还用于根据所述N个密钥控制字将所述初始置换表的M个元素进行置换,获得置换后的置换表,所述置换后的置换表包括M个元素,所述置换后的置换表用于密码运算,M为小于或等于N且大于1的整数;
所述根据所述N个密钥控制字将所述初始置换表的M个元素进行置换,包括:
将所述初始置换表中的第i个元素与第x个元素进行互换,所述x根据第i个所述密钥控制字、所述初始置换表的第i个元素、所述M以及所述i确定,i=0、1、...、M-1。
5.如权利要求4所述的装置,其特征在于,所述处理模块具体用于:
对所述密钥进行处理,得到第一数据长度的数据;
根据所述第一数据长度的数据获得具有第二数据长度的N个密钥控制字,其中,所述第一数据长度为所述第二数据长度的多倍。
6.如权利要求4所述的装置,其特征在于,所述处理模块还用于:
将置换表中的第i个元素和第p个元素进行互换,获得所述初始置换表,i=0、1、...、M-1。
7.一种电子设备,其特征在于,其包括处理器和存储器,其中,所述存储器存储有程序代码,当所述程序代码被所述处理器执行时,使得所述处理器执行权利要求1~3中任一所述方法的步骤。
8.一种计算机可读存储介质,其特征在于,其包括程序代码,当所述程序代码在电子设备上运行时,所述程序代码用于使所述电子设备执行权利要求1~3中任一所述方法的步骤。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202211404694.6A CN115801227B (zh) | 2022-11-10 | 2022-11-10 | 一种生成置换表的方法及装置 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202211404694.6A CN115801227B (zh) | 2022-11-10 | 2022-11-10 | 一种生成置换表的方法及装置 |
Publications (2)
Publication Number | Publication Date |
---|---|
CN115801227A CN115801227A (zh) | 2023-03-14 |
CN115801227B true CN115801227B (zh) | 2023-07-21 |
Family
ID=85436607
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN202211404694.6A Active CN115801227B (zh) | 2022-11-10 | 2022-11-10 | 一种生成置换表的方法及装置 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN115801227B (zh) |
Families Citing this family (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN118523900A (zh) * | 2024-06-13 | 2024-08-20 | 北京海泰方圆科技股份有限公司 | 一种置换表生成方法、装置、电子设备及存储介质 |
Citations (2)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN104683096A (zh) * | 2013-11-29 | 2015-06-03 | 中国航天科工集团第三研究院第八三五七研究所 | 动态s盒变换方法及系统 |
CN106712925A (zh) * | 2015-11-13 | 2017-05-24 | 航天信息股份有限公司 | 一种基于Logistic映射的S-box获取方法及获取装置 |
Family Cites Families (7)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US5778074A (en) * | 1995-06-29 | 1998-07-07 | Teledyne Industries, Inc. | Methods for generating variable S-boxes from arbitrary keys of arbitrary length including methods which allow rapid key changes |
EP1510028A4 (en) * | 2002-05-23 | 2008-01-23 | Atmel Corp | CRYPTOGRAPHIC MOTOR OF TECHNICAL EQUIPMENT BASED ON ADVANCED ENCRYPTION STANDARD (AES) |
US9363178B2 (en) * | 2013-12-18 | 2016-06-07 | Telefonaktiebolaget L M Ericsson (Publ) | Method, apparatus, and system for supporting flexible lookup keys in software-defined networks |
CN108123791B (zh) * | 2017-12-26 | 2019-03-08 | 衡阳师范学院 | 一种轻量级分组密码scs的实现方法与装置 |
CN109981250B (zh) * | 2019-03-01 | 2020-04-07 | 北京海泰方圆科技股份有限公司 | 一种sm4加密、密钥扩展方法、装置、设备及介质 |
CN115114279A (zh) * | 2021-03-22 | 2022-09-27 | 京东科技控股股份有限公司 | 置换表生成方法、数据加、解密方法及装置、介质、设备 |
CN115118412A (zh) * | 2022-06-22 | 2022-09-27 | 北京工业大学 | 一种基于加密算法的疫苗温度数据信息安全保护装置和方法 |
-
2022
- 2022-11-10 CN CN202211404694.6A patent/CN115801227B/zh active Active
Patent Citations (2)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN104683096A (zh) * | 2013-11-29 | 2015-06-03 | 中国航天科工集团第三研究院第八三五七研究所 | 动态s盒变换方法及系统 |
CN106712925A (zh) * | 2015-11-13 | 2017-05-24 | 航天信息股份有限公司 | 一种基于Logistic映射的S-box获取方法及获取装置 |
Also Published As
Publication number | Publication date |
---|---|
CN115801227A (zh) | 2023-03-14 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN108365947B (zh) | 一种基于Feistel网络与动态DNA编码的图像加密方法 | |
EP3770751B1 (en) | High speed encryption key generating engine | |
JP4608319B2 (ja) | 複数鍵を用いたストリーム暗号の生成方法 | |
KR101119933B1 (ko) | 보안성을 향상시키는 순열 데이터 변환 | |
JP2008516296A (ja) | 擬群を用いる、暗号法の基本要素、エラーコーディング、及び擬似ランダム数改善方法 | |
US11258579B2 (en) | Method and circuit for implementing a substitution table | |
CN103051446B (zh) | 一种密钥加密存储方法 | |
CN112199696B (zh) | 基于白盒分组密码的加解密方法 | |
CN112769545B (zh) | 基于相邻像素约瑟夫变换和Mealy状态机的图像加密方法 | |
CN116418481A (zh) | 一种文本隐私数据双重加密保护方法、装置及设备 | |
US20040208321A1 (en) | Method for the generation of pseudo-random permutation of an N-digit word | |
CN115801227B (zh) | 一种生成置换表的方法及装置 | |
CN114826590B (zh) | 一种分组模式加密方法、解密方法及其装置、设备 | |
CN118113254B (zh) | 一种随机数种子的生成方法、装置、电子设备及介质 | |
US20090022310A1 (en) | Cryptographic device and method for generating pseudo-random numbers | |
CN110532763A (zh) | 一种基于高阶正形置换的密码构造方法及系统 | |
Mihalkovich et al. | MPF based symmetric cipher performance comparison to AES and TDES | |
CN104954118A (zh) | 一种基于向量网络编码和des的拟态加密方法及系统 | |
CN116248316A (zh) | 文件加密方法、文件解密方法、装置及存储介质 | |
CN114826560A (zh) | 一种轻量级分组密码cref实现方法及系统 | |
RU2188513C2 (ru) | Способ криптографического преобразования l-битовых входных блоков цифровых данных в l-битовые выходные блоки | |
CN118353627B (zh) | 基于量子密钥的群组聊天加密方法、系统、设备及介质 | |
RU2140709C1 (ru) | Способ криптографического преобразования блоков цифровых данных | |
KR20010032479A (ko) | 디지털 데이터의 엘-비트 입력 블록들을 엘-비트 출력비트들로 암호 변환하는 방법 | |
CN115883062A (zh) | 一种格式保留加密模式(fpe)轮运算的电路结构 |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
PB01 | Publication | ||
PB01 | Publication | ||
SE01 | Entry into force of request for substantive examination | ||
SE01 | Entry into force of request for substantive examination | ||
GR01 | Patent grant | ||
GR01 | Patent grant | ||
CP03 | Change of name, title or address |
Address after: No. 611, 6th Floor, No. 9 Shangdi 9th Street, Haidian District, Beijing 100085 Patentee after: BEIJING HAITAI FANGYUAN HIGH TECHNOLOGY Co.,Ltd. Country or region after: China Address before: 100094 Beijing Haidian District, North East Wangxi Road 8 Zhongguancun Software Park 9 Building International Software Building E, 1st and 2nd floors Patentee before: BEIJING HAITAI FANGYUAN HIGH TECHNOLOGY Co.,Ltd. Country or region before: China |