CN111342951A - 流密码系统的生成方法、装置及终端设备 - Google Patents

流密码系统的生成方法、装置及终端设备 Download PDF

Info

Publication number
CN111342951A
CN111342951A CN202010083408.5A CN202010083408A CN111342951A CN 111342951 A CN111342951 A CN 111342951A CN 202010083408 A CN202010083408 A CN 202010083408A CN 111342951 A CN111342951 A CN 111342951A
Authority
CN
China
Prior art keywords
key
basic
sequence
meta
stream
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.)
Granted
Application number
CN202010083408.5A
Other languages
English (en)
Other versions
CN111342951B (zh
Inventor
田传俊
李斌
全智
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
Shenzhen University
Original Assignee
Shenzhen University
Priority date (The priority date 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 date listed.)
Filing date
Publication date
Application filed by Shenzhen University filed Critical Shenzhen University
Priority to CN202010083408.5A priority Critical patent/CN111342951B/zh
Publication of CN111342951A publication Critical patent/CN111342951A/zh
Application granted granted Critical
Publication of CN111342951B publication Critical patent/CN111342951B/zh
Active legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Images

Classifications

    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L9/00Cryptographic mechanisms or cryptographic arrangements for secret or secure communications; Network security protocols
    • H04L9/06Cryptographic mechanisms or cryptographic arrangements for secret or secure communications; Network security protocols the encryption apparatus using shift registers or memories for block-wise or stream coding, e.g. DES systems or RC4; Hash functions; Pseudorandom sequence generators
    • H04L9/065Encryption by serially and continuously modifying data stream elements, e.g. stream cipher systems, RC4, SEAL or A5/3
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L9/00Cryptographic mechanisms or cryptographic arrangements for secret or secure communications; Network security protocols
    • H04L9/08Key distribution or management, e.g. generation, sharing or updating, of cryptographic keys or passwords
    • H04L9/0861Generation of secret information including derivation or calculation of cryptographic keys or passwords
    • H04L9/0863Generation of secret information including derivation or calculation of cryptographic keys or passwords involving passwords or one-time passwords

Landscapes

  • Engineering & Computer Science (AREA)
  • Computer Security & Cryptography (AREA)
  • Computer Networks & Wireless Communication (AREA)
  • Signal Processing (AREA)
  • Storage Device Security (AREA)

Abstract

本申请适用于信息安全技术领域,提供了流密码系统的生成方法、装置及终端设备,包括:构造封闭的正交拉丁方组;根据所述封闭可逆变换子组的个数确定2i元基本密钥空间所包含的不同的基本密钥数量;获取2i元密钥流序列;根据所述2i元基本密钥空间和基本加密变换、解密变换确定相应的应用加密函数和应用解密函数,并根据所述2i元密钥流序列及其主密钥空间确定应用加密函数与应用解密函数和源密钥空间,进而确定应用密码系统,根据基本密码系统和所述应用密码系统确定流密码系统。通过上述方法能够提高流密码系统的安全性。

Description

流密码系统的生成方法、装置及终端设备
技术领域
本申请属于信息安全技术领域,尤其涉及流密码系统的生成方法、装置、终端设备及计算机可读存储介质。
背景技术
当前,流密码算法是信息安全领域常采用的一种技术,在信息安全领域已形成多种流密码算法标准,如RC4、A5和祖冲之等流密码技术标准。这些算法的共同特点都是利用了一个最简单的模2加法线性运算来设计基本密码系统,之后结合2元密钥流序列空间来设计整个流密码算法的。当前流行的流密码算法的设计原理可用图1表示,其中,当前各种流密码算法只需要考虑模块1的设计,这是因为模块2是固定的(利用模2加法确定),因而无需考虑它的设计方法。由于这样设计的基本(密码)系统非常简单,其相当于每次加解密变换都是对1比特(标量)数据进行变换,因此,导致整个算法的加解密效果(即加解密的安全性)完全在于密钥流序列空间(复杂性)的设计上。
故,需要提供一种新的方法以解决上述技术问题。
发明内容
本申请实施例提供了流密码系统的生成方法、装置、终端设备及计算机可读存储介质,可以解决现有的流密码系统的安全性较低问题。
第一方面,本申请实施例提供了一种流密码系统的生成方法,包括:
构造封闭的正交拉丁方组,其中,一个所述封闭的正交拉丁方组是包含变换及其逆变换的最大的一个封闭可逆变换组,一个正交拉丁方组包括至少一个拉丁方,一个拉丁方作为所述封闭可逆变换组的一个最小的封闭可逆变换子组,所有所述拉丁方的阶数相等,且阶数大于或等于3;
根据所述封闭可逆变换子组的个数确定2i元基本密钥空间所包含的不同的基本密钥数量,其中,所述不同的基本密钥数量小于或等于所述封闭可逆变换子组中可逆变换个数;
获取2i元密钥流序列,其中,i为使得2i大于或等于所述封闭可逆变换子组包含的不同可逆变换决定的不同基本密钥数量的最小整数,且i大于或等于1;
根据所述2i元基本密钥空间和基本加密变换、解密变换确定相应的应用加密函数和应用解密函数,并根据所述2i元密钥流序列及其主密钥空间确定应用加密函数与应用解密函数和源密钥空间,进而确定应用密码系统,根据基本密码系统和所述应用密码系统确定流密码系统。
本申请实施例与现有技术相比存在的有益效果是:
由于构造的封闭的正交拉丁方组中拉丁方的阶数大于或等于3,因此,构造的封闭可逆变换组包含的可逆变换数大于或等于3(一个拉丁方包含的可逆变换数总是等于它的阶数)。又由于基本密钥空间所包含的不同的基本密钥数量小于或等于封闭可逆变换子组包含的可逆变换个数,因此,使得根据该大于或等于3的可逆变换数确定的基本密钥空间所包含的不同的基本密钥数量的取值范围更广,从而使得根据2i元基本密钥空间及其基本密钥数量确定的基本加密函数和基本解密函数具有更多的可能表达形式,进而多次重复使用基本加解密函数确定的应用加解密函数的可能表达形式也更加丰富,因而极大提高了基本和应用加密函数和解密函数所在的流密码系统的安全性。
第二方面,本申请实施例提供了一种流密码系统的生成装置,包括:
封闭的正交拉丁方组构造单元,用于构造封闭的正交拉丁方组,其中,一个所述封闭的正交拉丁方组是包含变换及其逆变换的最大的一个封闭可逆变换组,一个正交拉丁方组包括至少一个拉丁方,一个拉丁方作为所述封闭可逆变换组的一个最小的封闭可逆变换子组,所有所述拉丁方的阶数相等,且阶数大于或等于3;
基本密钥数量确定单元,用于根据所述封闭可逆变换子组的个数确定2i元基本密钥空间所包含的不同的基本密钥数量,其中,所述不同的基本密钥数量小于或等于所述封闭可逆变换子组中可逆变换个数;
密钥流序列获取单元,用于获取2i元密钥流序列,其中,i为使得2i大于或等于所述封闭可逆变换子组包含的不同可逆变换决定的不同基本密钥数量的最小整数,且i大于或等于1;
流密码系统确定单元,用于根据所述2i元基本密钥空间和基本加密变换、解密变换确定相应的应用加密函数和应用解密函数,并根据所述2i元密钥流序列及其主密钥空间确定应用加密函数与应用解密函数和源密钥空间,进而确定应用密码系统,根据基本密码系统和所述应用密码系统确定流密码系统。
第三方面,本申请实施例提供了一种终端设备,包括存储器、处理器以及存储在所述存储器中并可在所述处理器上运行的计算机程序,所述处理器执行所述计算机程序时实现如第一方面所述的方法。
第四方面,本申请实施例提供了一种计算机可读存储介质,所述计算机可读存储介质存储有计算机程序,所述计算机程序被处理器执行时实现如第一方面所述的方法。
第五方面,本申请实施例提供了一种计算机程序产品,当计算机程序产品在终端设备上运行时,使得终端设备执行上述第一方面所述的方法。
可以理解的是,上述第二方面至第五方面的有益效果可以参见上述第一方面中的相关描述,在此不再赘述。
附图说明
为了更清楚地说明本申请实施例中的技术方案,下面将对实施例或现有技术描述中所需要使用的附图作简单地介绍。
图1是现有技术提供的流密码算法的设计原理示意图;
图2是本申请实施例一提供的流密码算法的设计原理示意图;
图3是本申请实施例一提供的一种流密码系统的生成方法的流程示意图;
图4是本申请实施例二提供的一种流密码系统的生成装置的结构示意图;
图5是本申请实施例三提供的终端设备的结构示意图。
具体实施方式
以下描述中,为了说明而不是为了限定,提出了诸如特定系统结构、技术之类的具体细节,以便透彻理解本申请实施例。然而,本领域的技术人员应当清楚,在没有这些具体细节的其它实施例中也可以实现本申请。在其它情况中,省略对众所周知的系统、装置、电路以及方法的详细说明,以免不必要的细节妨碍本申请的描述。
应当理解,当在本申请说明书和所附权利要求书中使用时,术语“包括”指示所描述特征、整体、步骤、操作、元素和/或组件的存在,但并不排除一个或多个其它特征、整体、步骤、操作、元素、组件和/或其集合的存在或添加。
还应当理解,在本申请说明书和所附权利要求书中使用的术语“和/或”是指相关联列出的项中的一个或多个的任何组合以及所有可能组合,并且包括这些组合。
如在本申请说明书和所附权利要求书中所使用的那样,术语“如果”可以依据上下文被解释为“当...时”或“一旦”或“响应于确定”或“响应于检测到”。类似地,短语“如果确定”或“如果检测到[所描述条件或事件]”可以依据上下文被解释为意指“一旦确定”或“响应于确定”或“一旦检测到[所描述条件或事件]”或“响应于检测到[所描述条件或事件]”。
在本申请说明书中描述的参考“一个实施例”或“一些实施例”等意味着在本申请的一个或多个实施例中包括结合该实施例描述的特定特征、结构或特点。由此,在本说明书中的不同之处出现的语句“在一个实施例中”、“在一些实施例中”、“在其他一些实施例中”、“在另外一些实施例中”等不是必然都参考相同的实施例,而是意味着“一个或多个但不是所有的实施例”,除非是以其他方式另外特别强调。术语“包括”、“包含”、“具有”及它们的变形都意味着“包括但不限于”,除非是以其他方式另外特别强调。
实施例一:
申请人对现有技术进行分析后获知,尽管当前在图1的模块1中逐步融合了一些分块密码算法的设计方法,但是,现有流密码算法本质上都是以Shannon完善保密系统的理论模型为基础的。即现有技术主要存在以下问题:
(1)理论模型的应用条件有所限制:根据现有密码系统理论,现有流密码系统的理论基础是Shannon提出的完善保密系统模型。而且,该理论模型要求密钥数量不能少于明文数量,其中,理论最完善与最常用的一种应用形式是将基本密钥数量设计为等于基本明文数量,之后再均匀使用。这样,在计算机保密通信系统设计中,通常将该理论模型划分为以第2模块为主的2大模块:一是对每个比特进行模2加法运算,即异或运算;二是在理论上要求应用密钥空间等价于独立均匀分布的密钥流随机序列,因而这在实际流密码算法中就表现为设计出与一列独立均匀2元随机序列性质相接近的一个2元密钥流序列空间。而且,要进一步将该密钥流序列空间设计为由某个长度的所有比特向量组成的(实际)主密钥空间产生的。在这2个模块中,第1个模块设计简单,因而现有流密码都只关注第2个模块的设计。现有理论模型的一个主要不足在于基本密码系统单一,相关设计缺乏技巧,这会在很大程度上影响实际保密通信的效果。
(2)基本密码系统设计单一而缺乏技巧:在现有模加法流密码系统通用的基本密码系统的设计技术中,存在的主要缺点是利用模2加法设计的基本密码系统的方法没有什么技术含量。这是由模2加法只能对1比特数据进行运算所造成的,因而所能设计出的基本密码系统的数量只有1种。从另一个角度来看,利用模2加法运算与利用2阶拉丁方所设计的基本密码系统是等价的。2阶拉丁方决定的可逆变换本质上只有2个,因而基本密码系统就只有1种,进而基本密码系统的设计方法非常单一,其中,基本密钥空间只有两个密钥。
为了解决上述技术问题,本申请利用完善密码系统新理论模型提出了流密码系统一种更一般的新设计方法,详见图2。新理论模型将流密码算法设计分为两大独立的设计模块:一是利用任意阶拉丁方来设计基本密码系统;二是设计均匀或某种特定非均匀分布的密钥序列空间,其中,1比特的模2加法等价于利用2阶拉丁方来设计基本密码系统。本申请将利用新理论模型重点对这种简单的模2加法基本密码系统加以推广,进而提出更复杂的一些设计方法。在新模型中,模块1和模块2都很重要,设计技巧也都更加复杂。到目前为止,由于基本密码系统的设计技术并不丰富,因此,本申请的技术创新点将重点在于更加复杂的基本密码系统的设计方法。
根据图2可知,本申请是利用高阶拉丁方来设计基本密码系统,从理论上讲,当拉丁方的阶数逐渐增加时,其可逆变换数将呈指数增加,而由明文空间到密文空间的所有可逆变换都可用于设计基本密码系统,因此基本密码系统设计的复杂度会呈指数增加,从而能够极大提高整个流密码系统抵抗已知明文攻击的能力。而且,当拉丁方的阶数达到很大数量时,基本密码系统可以作为完整的密码算法来进行实际保密通信应用,因它能保证足够的实际安全性。
图3示出了本申请实施例一提供的一种流密码系统的生成方法的流程图,详述如下:
步骤S31,构造封闭的正交拉丁方组,其中,一个所述封闭的正交拉丁方组是包含变换及其逆变换的最大的一个封闭可逆变换组,一个正交拉丁方组包括至少一个拉丁方,一个拉丁方作为所述封闭可逆变换组的一个最小的封闭可逆变换子组,所有所述拉丁方的阶数相等,且阶数大于或等于3;
其中,拉丁方的阶数确定了基本明文空间所含的明文数量,以及确定了基本密文空间所含的密文数量。例如,拉丁方的阶数越高,基本明文空间所含的明文数量也越多,密文空间所含的密文数量也越多。
需要指出的是,本实施例构造的封闭的正交拉丁方组的个数可以大于1。
具体地,由于1比特的模2加法等价于利用2阶拉丁方来设计密码系统,因此,为了获得更复杂的基本密码系统,需要保证构造的正交拉丁方的阶数大于或等于3。在一些实施例中,考虑到2次幂阶数的拉丁方在计算机计算更方便,故,可设置构造的正交拉丁方的阶数大于或等于4,且为2次幂阶数。比如,构造4阶、8阶、16阶正交拉丁方组等,当然,高阶正交拉丁方组可以利用迭代构造方法基于低阶正交拉丁方组构造,例如,基于4阶拉丁方组构造出8阶、16阶甚至更高阶的拉丁方组。
本实施例中,假设明文为M=(0=00,1=01,2=10,3=11),该明文的比特数为2,则利用组合数学可构造出如下2组4阶正交拉丁方{L1,L2,L3}和{L4,L5,L6}:
Figure BDA0002381155990000071
Figure BDA0002381155990000072
其中,可逆变换
Figure BDA0002381155990000073
表示将明文M=(0,1,2,3)依次变换为T1(0)=0,T1(1)=3,T1(2)=1和T1(3)=2,其计算公式为:
Figure BDA0002381155990000074
m=m1m2∈M=(0,1,2,3),该m表示十进制数,m1,m2∈{0,1},其表示m1,m2为二进制数,例如,假设m=2,则m1=1,m2=0,和
Figure BDA0002381155990000075
其余的可逆变换T2,T3,…,T24可类似写出。且根据下表1列出的Z4
Figure BDA0002381155990000076
上所有可逆变换的代数计算公式可知,
Figure BDA0002381155990000077
等等。其中,
Figure BDA0002381155990000078
表示m2逻辑补。
表1:
Figure BDA0002381155990000079
Figure BDA0002381155990000081
根据上述可知,在Z4
Figure BDA0002381155990000082
上所有可逆变换子组正好为:T1,T2,…,T24,即2组正交拉丁方{L1,L2,L3}和{L4,L5,L6}就包含了这24个可逆变换子组。这样,可用于设计基本密码系统中加解密变换的总数为24个(即基本密钥空间中不同基本密钥的最大数为24个),此时,只需要利用或选取{L1,L2,L3}和{L4,L5,L6}中的全部或部分封闭的可逆变换子组来设计基本密码系统就行了。
步骤S32,根据所述封闭可逆变换子组的个数确定2i元基本密钥空间所包含的不同的基本密钥数量,其中,所述不同的基本密钥数量小于或等于所述封闭可逆变换子组中可逆变换个数;
由于每次设计基本密码系统时都要预先选取一个(大小适中的)封闭可逆变换组作为加密变换和解密变换的选取范围,因此,该步骤中的封闭可逆变换子组可以为:从构造的最大的封闭正交拉丁方组包含的变换及其逆变换中选取一些变换构成一个封闭可逆变换子组。
具体地,2i元基本密钥空间所包含的不同的基本密钥数量应小于或等于选取的封闭可逆变换子组包含的可逆变换个数,且最好为2的次幂。例如,假设选取的封闭可逆变换子组的可逆变换个数为24,则基本密钥空间所包含的不同的基本密钥数量可为4、8、16中的任一个(为了增加复杂度,提高安全性,不选择2),对应地,基本密钥空间可分别利用2比特、3比特、4比特加以设计。当然,基本密钥空间中不同的基本密钥数量也可以为24,此时,基本密钥空间可利用5比特和复用技术设计。
上述步骤S31和步骤S32中,根据所述封闭可逆变换子组和2i元基本密钥空间确定基本加密变换和基本解密变换,进而结合后续的步骤S33和步骤S34确定应用密码系统(基本密码系统只包含基本明文空间、基本密文空间、基本密钥空间、基本加密函数和基本解密函数。一旦与密钥流序列空间相结合就是要构造应用密码系统),具体方法可参见下面的步骤:
步骤S33,获取2i元密钥流序列,其中,i为使得2i大于或等于所述封闭可逆变换子组包含的不同可逆变换决定的不同基本密钥数量的最小整数,且i大于或等于1;
该步骤中的封闭可逆变换子组为:从构造的封闭的正交拉丁方组包含的变换及其逆变换确定了最大封闭可逆变换组后,再从该最大封闭可逆变换组中选取一些变换构成一个封闭可逆变换子组。
在一些实施例中,由于现有多种流密码算法所用的大于1且小于2i元密钥流序列并不是2i元密钥流序列,因此,为了利用现有的小于2i元或低元密钥流序列快速获取所需的2i元密钥流序列,则当获取的低元密钥流序列不是2i元密钥流序列时,可通过密钥流序列转化得到,此时,该步骤S33具体包括:
A1、获取初始密钥流序列,所述初始密钥流序列为2j元密钥流序列,j大于或等于1;
A2、当2j小于2i时,根据所述2j元密钥流序列生成2i元密钥流序列作为获取的2i元密钥流序列。
当然,若j=i,则将获取的初始密钥流序列作为2i元密钥流序列。
上述A1和A2中,为了快速从初始密钥流序列中获取所需的密钥流序列,则采用“连续读取”或“间隔读取”的方法生成所需的密钥流序列,若为“连续读取”,则所述步骤A2中根据所述2j元密钥流序列生成2i元密钥流序列作为获取的2i元密钥流序列,包括:
将所述2j元密钥流序列中任意相邻的i/j个密钥单元作为2i元密钥流序列中的一个密钥单元,得到的2i元密钥流序列作为获取的2i元密钥流序列,其中,j是i的因数。
由于现有常见的流密码算法如RC4、A5和祖冲之算法等都是将密钥流序列设计为性能优良的2元序列,因此,为了更清楚地描述上述的连读过程,下面以2元密钥流序列生成4元密钥流序列为例对“连续读取”生成密钥流序列进行说明。
设任一2元加法流密码算法的主密钥空间所产生的2元密钥流序列空间为{z=k1k2k3k4…|kj∈Z2={0,1},j=1,2,…}
对任一主密钥k所决定的2元密钥序列z=k1k2k3k4…,将它按照如下的“二连读”方法转化为如下4元密钥流序列
Figure BDA0002381155990000101
其中,对任意j=1,2,…,有
Figure BDA0002381155990000102
这样,将
Figure BDA0002381155990000103
作为应用密钥(流)序列空间,即
Figure BDA0002381155990000104
作为获取的应用4元密钥流序列。
步骤S34,根据所述2i元基本密钥空间和基本加密变换、解密变换确定相应的应用加密函数和应用解密函数,并根据所述2i元密钥流序列及其主密钥空间确定应用加密函数与应用解密函数和源密钥空间,进而确定应用密码系统,根据基本密码系统和所述应用密码系统确定流密码系统。
本申请实施例中,由于构造的封闭的正交拉丁方组中拉丁方的阶数大于或等于3,因此,构造的封闭可逆变换组包含的可逆变换数大于或等于3(一个拉丁方包含的可逆变换数总是等于它的阶数)。又由于基本密钥空间所包含的不同的基本密钥数量小于或等于封闭可逆变换子组包含的可逆变换个数,因此,使得根据该大于或等于3的可逆变换数确定的基本密钥空间所包含的不同的基本密钥数量的取值范围更广,从而使得根据2i元基本密钥空间及其基本密钥数量确定的基本加密函数和基本解密函数具有更多的可能表达形式,进而多次重复使用基本加解密函数确定的应用加解密函数的可能表达形式也更加丰富,因而极大提高了基本和应用加密函数和解密函数所在的流密码系统的安全性。
在一些实施例中,所述步骤S34中的基本密码系统中的基本加密函数和基本解密函数根据以下方式确定:
B1、确定基本密钥空间的长度i以及比特向量个数2i
其中,i为使得2i大于或等于所述不同的基本密钥数量的最小整数,且i大于或等于1。例如,假设不同密钥数量为4,则i为2,确定的比特向量个数为4;若不同密钥数量为24,则i为5,确定的比特向量个数为32。
B2、获取基本明文空间的长度k,若k=i,且2i等于不同的基本密钥数量,则根据所述2i元基本密钥空间以及所述封闭可逆变换子组确定基本加密函数和基本解密函数;若i>k,且2i等于不同的基本密钥数量,则设置所述2i元基本密钥空间按照每个拉丁方可逆变换子组被均匀使用,且不同拉丁方可逆变换子组之间被非均匀使用确定基本加密函数和基本解密函数;若i>k,且2i大于不同的基本密钥数量,则根据所述2i元基本密钥空间以及复用部分所述封闭可逆变换子组确定基本加密函数和基本解密函数。
下面以2个例子介绍基本加密函数和基本解密函数的确定过程:
对于所设计的基本密码系统(M,C,K,E,D),下面以两种特殊情形为例来说明基本加密函数和基本解密函数的构造技术。
情形一:无复用技术的基本密码系统
Figure BDA0002381155990000111
的设计,其中,基本加密函数E与基本解密函数D是利用一个4阶封闭拉丁方L3设计的,且基本密钥空间的密钥与明密文的长度都为2比特,(即上述i=k的情况)。
(a)基本加密函数E:对任一2比特明文m=m1m2∈M和密钥k=k1k2∈K(k为4元密钥流序列中的1个密钥),其中,m1,m2∈Z2和k1,k2∈Z2,设∧表示“逻辑与”运算,且
Figure BDA0002381155990000121
表示“逻辑补”运算,对任意a∈Z2,将基本加密函数E设计为:
Figure BDA0002381155990000122
(b)基本解密函数D:对任一2比特密文c=c1c2∈C和密钥k=k1k2∈K,其中,c1,c2∈Z2和k1,k2∈Z2,将基本解密函数D设计为:
Figure BDA0002381155990000123
情形二:有复用技术的基本密码系统
Figure BDA0002381155990000124
设计,其中,基本加密函数E与基本解密函数D是利用4阶封闭的拉丁方组{L1,L2,L3,L2}设计的,其中,对L2的可逆变换子组采用了复用技术,且基本密钥空间的长度为4比特。
(a)基本加密函数E设计:对任一2比特明文m=m1m2∈Z4和任意4比特密钥
Figure BDA0002381155990000125
(k为16元密钥流序列中的1个密钥),其中,m1,m2,k1,k2,k3,k4∈Z2,将加密变换c=E(k,m)设计为:
Figure BDA0002381155990000126
其中,L2决定的可逆变换子组T5,T6,T7,T8被复用了2次(即出现了2次),且
Figure BDA0002381155990000127
Figure BDA0002381155990000128
Figure BDA0002381155990000129
Figure BDA00023811559900001210
(b)基本解密函数D设计:对任一2比特密文c=c1c2∈Z4和任意4比特密钥k=k1k2k3k4∈Z24,其中,c1,c2,k1,k2,k3,k4∈Z2,可将解密变换m=D(k,c)设计为
Figure BDA00023811559900001211
上面介绍了如何利用4阶拉丁方组设计基本密码系统的方法,它极大地丰富了基于模2加法所设计的基本密码系统,且可设计出一些非线性基本密码系统。例如,上面设计的2和4比特基本密码系统都是非线性或非仿射系统。因为重复利用模2加法所设计的4元基本密码系统一定是线性的,所以,利用更一般和更广泛的4阶及其推广到更高阶拉丁方组所能设计的基本密码系统的数量更多、复杂度更高、技巧性更强、多项性能更好的线性和非线性多元基本密码系统。而且,基本密钥数量的增加也有利用于提高流密码算法抵抗已知明文攻击的能力。因此,上述方法将更有利于设计出效果更好的实用流密码算法。
另外,由于非均匀密钥序列空间比均匀密码序列空间的设计更加复杂,因此,有了复用技术之后,理论上可只需要求所有密钥流序列的统计特性为独立均匀分布,进而通过复用技术获取特定非均匀应用密钥序列。这样,基本密码系统设计中采用复用技术能进一步简化流密码算法的密钥序列空间的设计。
一般来讲,在当前计算机技术条件下,实际流密码算法具有不小于80比特的源密钥空间才具有较高安全性。因此,若主密钥空间的主密钥长度小于预设的长度阈值(比如小于80比特),则需要延长主密钥空间的长度,此时,在一些实施例中,所述步骤A2中根据所述2j元密钥流序列生成2i元密钥流序列作为获取的2i元密钥流序列,包括:
A21、若所述2i元密钥流序列的主密钥的比特长度H小于预设的长度阈值F,则获取额外U个比特保密信息,且U=预设的长度阈值-H=F-H。
其中,F、H和U都为整数,且U最好是合数。
A22、选取一个可逆变换子组,所述可逆变换子组包含的可逆变换数的长度为x比特,且x是U的因数,将所述U个比特保密信息按x比特分组,得到处理后的U/x个的x比特保密信息组;
其中,上述选取的可逆变换子组可以为封闭可逆变换子组,也可以为不封闭可逆变换子组。优选地,上述的x是i的因数或倍数,比如x=i。
A23、根据所述U/x个的x保密信息组和可逆变换子组确定U比特的额外主密钥,根据所述U比特额外主密钥对所述2i元密钥流序列进行周期性处理后生成应用2i元密钥流序列,其中,应用2i元密钥流序列对应的流密码算法的密钥为源密钥,源密钥空间根据所述主密钥和所述额外主密钥确定。需要指出的是,若密钥流序列进行周期性均匀化处理,则将得到应用2i元均匀密钥流序列,若密钥流序列没有进行周期性均匀化处理,则得到的应用2i元密钥流序列直接是之前的2i元密钥流序列。
本实施例中,通过延长主密钥空间的H比特主密钥长度,从而能够确定流密码算法的源密钥空间的长度为F比特,进而提高算法的安全性。
为了更清楚地描述延长主密钥空间而得到应用2i元(或均匀)密钥流序列及其源密钥空间的过程,下面以一具体应用例进行说明:
一般地,参照现代密码学文献,2元密钥流序列空间是现有流密码算法设计采用的最常用方式,但采用本申请实施例提供连读方法之后,这类现有的2元加法流密码的密钥流序列空间都可与上述各种多比特基本系统组合之后而得到新的流密码算法。必要时还可采用所述延长主密钥长度方法。为了说明具体细节,下面就以4阶拉丁方作为均匀化处理技术或增加主密钥数量的技术为例,再进一步详细说明结合所述基本系统和最大线性移位寄存器确定的2元密钥流序列,采用连读技术和延长主密钥长度的技术构造一个完整流密码算法设计技术的具体细节。
设选定的3个最大线性移位寄存器的阶数分别为17,19,21,将它们所产生的m序列分别设为x=x1x2x3…,y=y1y2y3…和w=w1w2w3…,则x的周期为217-1,y的周期为219-1,且w的周期为221-1。将这3个m序列输入Geffe序列产生器:
Figure BDA0002381155990000141
对任意j=1,2,…,则产生的任一2元序列k=k1k2k3k4…的周期为(217-1)(219-1)(221-1)。这样,采用上述二连读方法可将每个2元序列都转化成4元密钥序列
Figure BDA0002381155990000142
其中,
Figure BDA0002381155990000143
对任意j=1,2,…,进而设计出4元应用密钥(流)序列空间
Figure BDA0002381155990000144
若只以3个寄存器的非0初始向量作为主密钥空间的主密钥,则能产生该密钥序列空间Ψ相应的主密钥空间的密钥长度为log[(217-1)(219-1)(221-1)]比特,即主密钥空间的比特长度大于56比特,小于57比特,且近似为57比特。本申请将主密钥空间的比特长度设为57比特。
一般来讲,在当前计算机技术条件下,在实际保密通信中,80比特左右的主密钥空间才具有安全性。这样,利用上述57比特主密钥空间及其所产生的密钥序列空间,并结合所述多比特基本密码系统是不能设计出安全实用流密码算法的。因此,有必要再引入一些保密参数作为主密钥的一部分,以增加57比特主密钥空间的长度,从而提高流密码算法的实际安全性。
若将1个或多个正交拉丁方所确定的全部可逆变换组进行统计独立与均匀(或特定非均匀)使用,则可以将任一统计特性的数字密钥或明文信息进行均匀化的处理。下面就“独立均匀”地利用基于拉丁方的“对换法”或“置换法”来将主密钥空间的比特长度增加到80比特以上,并同时可以将Ψ中的每个密钥流序列进行周期性均匀化处理。逐步介绍如下:
第1步:先选择上面的1个拉丁方L3,基于该拉丁方所决定的4个置换或对换,利用独立均匀统计使用的原理,下面再额外引入U=24比特的保密信息作为流密码算法源密钥空间的一部分,并利用它将原57比特主密钥空间产生的2元序列空间Φ={k1k2k3…|kr∈Z2,r=1,2,…}进行一些置换操作。按照上述二连读方法,将任一2元序列k1k2k3…转化为所述Ψ中的4元密钥序列
Figure BDA0002381155990000151
第2步:再对任一4元密钥流序列的第1个密钥单元
Figure BDA0002381155990000152
引入被均匀使用的j=i=2比特(U的因数)保密信息
Figure BDA0002381155990000153
作为最后所设计的小部分额外主密钥
Figure BDA0002381155990000154
按照可逆变换T9,T10,T11,T12的计算公式进行如下计算:
Figure BDA0002381155990000155
对任一k1′=0,1,2,3。
显然,被均匀使用的2比特保密信息
Figure BDA0002381155990000156
会导致T9,T10,T11,T12中的每个置换被均匀使用。因此,根据概率统计方法和原理可知,这种变换方法可将任一4元密钥流序列
Figure BDA0002381155990000157
中的第1个4元密钥单元
Figure BDA0002381155990000158
进行均匀化处理,即将单元
Figure BDA0002381155990000159
变换后的单元k1″会在
Figure BDA00023811559900001510
中均匀取值。
第3步:独立重复进行12次这样的2比特均匀化处理:再依次独立地对前12个4元密钥序列
Figure BDA0002381155990000161
中的每一个4元密钥单元
Figure BDA0002381155990000162
均匀置换就可得到处理后的4元均匀密钥序列k1″k2″k3″…k12,这一变换过程将对4元密钥流序列
Figure BDA0002381155990000163
的前12个4元密钥
Figure BDA0002381155990000164
中每个4元密钥都独立地增加了2比特主密钥kj′,j=1,2,…,12,因而总共可增加U=24=12*2比特额外主密钥。
在对4元密钥序列
Figure BDA0002381155990000165
前12个密钥进行独立均匀置换之后,以12为周期对整个4元密钥流序列
Figure BDA0002381155990000166
进行周期性的置换操作。这样,将新引入的保密24比特额外主密钥专门用于对整个4元密钥流序列
Figure BDA0002381155990000167
进行均匀化处理,且这种延长主密钥的方法也是新颖的。因此,再加上用于产生所述22元序列空间Ψ中的H=57比特主密钥,总共主密钥空间长度就是F=81比特了。
需要指出的是:上述均匀化处理技术可以推广为一般情形。例如,在上述增加24比特主密码的均匀化技术中,将
Figure BDA0002381155990000168
独立均匀化变换为k1″k2″k3″…k12时,是可以选择多种不同阶数的拉丁方组进行均匀化处理的,如可将上述2比特扩展为选1比特、2比特、4比特、6比特、8比特、12比特和24比特等的拉丁方组来进行独立均匀化处理。从数学理论上讲,比特数越多的不同独立均匀化处理方法会更多且更复杂。例如,1比特拉丁方本质上只有1种均匀化处理方法。但是2比特拉丁方组的均匀化处理技术会远多于10种,这是因为4阶拉丁方组远比2阶拉丁方的数量要多所造成的。这也进一步说明了将图1中现有常用的模2加法或标量1比特明密文流密码推广为图2中矢量多比特明密文流密码之后的设计会更加复杂、灵活与技巧性更强的本质原因。将所述57比特主密钥和24比特额外主密钥组合之后确定F=81比特源密钥空间。
当所述81比特的源密钥空间Δ={(k1,…,k57,k58,…,k81)|kj∈Z2,j=1,2,…,81}设计完成之后,在实际应用中,对任一81比特的源密钥k∈Δ,可分为2小步来设计应用密钥流序列及其加解密函数。第1步:从81比特主密钥k中取出前57比特用于Geffe序列产生器来产生Φ中的2元序列;第2步,利用拉丁方置换,将剩余的24比特依次对所述Φ中的2元序列或其相应的Ψ中4元密钥流序列进行周期性的“独立均匀化处理”,并将所产生的4元均匀密钥流序列k1″k2″k3″…作为应用过程中的应用密钥流序列依次对每个明密文单元进行加解密变换。
这样,经过上述一系列计算步骤就已设计出一个完整的流密码算法:基本密码系统和应用密码系统,将它可用于实际保密通信之中,其源密钥空间的比特长度不少于80比特,这可保证所设计的流密码系统具有较高的实际安全性。
在一些实施例中,在确定基本加密函数和解密函数及其相应的应用密钥序列后,可对明文序列依次进行加密,此时,若基本明文空间的长度k,k=i,则在所述步骤S34之后,包括:
C1、获取2元明文序列,并转换为2i元明文序列;
具体地,获取数字文件信息,将该数字文件信息读成一个2进制序列作为2元明文序列。
由于i大于1,且应用密钥流序列为2i元密钥流序列,因此需将该2元明文序列转换为2i元明文序列。若产生2i元密钥流序列的主密钥空间的长度足够大,则无需采用延长主密钥技术或均匀化处理技术;否则需要采用。
C2、采用所述加密函数对所述2i元明文序列执行加密操作,得到对应的2i元密文序列。
结合上述分析可知,由于采用本申请实施例得到的加密函数的技巧性、复杂性和安全性更高,因此,采用该加密函数加密的明文的安全性也更高。
在一些实施例中,为了便于存储,则在所述步骤C2得到对应的2i元密文序列之后,包括:
将所述2i元密文序列转化为2元密文序列并存储。
由于现有的存储设备通常存储的是2进制信息,因此,为了便于存储,将得到的2i元密文序列转化为2元密文序列并存储。
为了更清楚地描述采用本申请实施例提供的流密码系统对明文的加密过程,下面以一具体应用例(k=i)说明综合利用基本密码系统和应用密码系统进行具体的流密码算法设计:
(i)选取一个具体的多比特基本密码系统,例如,就选取上述设计的2比特基本密码系统(
Figure BDA0002381155990000181
E,D)来构造流密码算法(另外,若选取采用了复用技术的4比特基本密码系统,则将它与独立均匀密钥流序列配合使用还能实现密钥序列独立非均匀使用的实际效果。不过,下面也需要将2连读法改为“4连读法”等方式才能配合使用,不再叙述);
(ii)利用某种高级语言软件将计算机中选定的数字文件信息m读成一个2进制序列m=m1m2m3…,其中,mj∈Z2={0,1},对任意j=1,2,…。利用“2比特分组”方法(即基本明文空间的长度k=2)将该明文m转化为4元数字明文序列
Figure BDA0002381155990000182
其中,
Figure BDA0002381155990000183
对任意j=1,2,…。必要时可增加1比特以便完成分组,例如,在本实施例中,若明文序列为单数,则可增加1比特以便完成分组。
(iii)将源密钥空间设计为由所有不同的81比特向量组成的一个集合,记为
Figure BDA0002381155990000184
这会方便密钥管理;
(iv)选取3个最大线性移位寄存器,它们的阶数分别为17,19,21。选取与这3个寄存器对应的3个本原多项式依次为
J1(x)=x17+x3+1,J2(x)=x19+x5+x2+x+1,J3(x)=x21+x3+1。
依次选定3个非0初始状态向量(它由源密钥前57比特决定)之后,将这3个最大线性寄存器所产生的m序列分别记为x=x1x2x3…,y=y1y2y3…和w=w1w2w3…。并将这3个m序列输入Geffe序列产生器:
Figure BDA0002381155990000185
对任意j=1,2,…,可得到2元序列k=k1k2k3k4…。所有不同的2元序列可组成一个2元序列空间Φ={k=k1k2k3…|kj∈Z2,j=1,2,…}。将该序列空间Φ按照“2连读”方法转化为4元密钥序列空间
Figure BDA0002381155990000186
(v)对于源密钥空间中的任一源密钥
Figure BDA0002381155990000187
按照(iv)中的步骤,分别将该源密钥中的z1z2…z17,z18z19…z36和z37z38…z57作为上述3个最大线性移位寄存器的非0初始状态向量计算出3个m序列,并将这3个m序列输入Geffe序列产生器可得到2元序列k=k1k2k3k4…,并用2连读法将该2元序列k(k为密钥序列)转化为4元密钥序列
Figure BDA0002381155990000191
其中,
Figure BDA0002381155990000192
对任意j=1,2,…。之后,再利用剩余24比特z58z59…z81中的12个2比特k1′=z58z59,k2′=z60z61,…,k12=z80z81分别依次对每个4元基本密钥单元
Figure BDA0002381155990000193
进行总周期为24比特的周期性独立均匀化处理
Figure BDA0002381155990000194
等等。可得到被均匀化处理之后的4元均匀密钥序列k=k1″k2″k3″…作为流密码算法的应用密钥流序列;
(vi)对数字文件m加密:依次对上述4元明文序列
Figure BDA0002381155990000195
进行加密,即
Figure BDA0002381155990000196
对任意j=1,2,…,可得到4元密文序列
Figure BDA0002381155990000197
将该密文序列c转化为2元密文序列c=c1c2c3…,以便计算机存储或传输,其中,
Figure BDA0002381155990000198
对任意j=1,2,…;
(vii)对密文解密:将所接收到的2元密文序列c=c1c2c3…转化为4元密文序列
Figure BDA0002381155990000199
依次对它进行解密
Figure BDA00023811559900001910
对任意j=1,2,…,可得到4元明文序列
Figure BDA00023811559900001911
并将它转化为2元明文序列m=m1m2m3…就得到了原始2进制明文文件m。
应理解,上述实施例中各步骤的序号的大小并不意味着执行顺序的先后,各过程的执行顺序应以其功能和内在逻辑确定,而不应对本申请实施例的实施过程构成任何限定。
实施例二:
对应于上文实施例所述的流密码系统的生成方法,图4示出了本申请实施例提供的流密码系统的生成装置的结构框图,为了便于说明,仅示出了与本申请实施例相关的部分。
参照图4,该流密码系统的生成装置4包括:封闭的正交拉丁方组构造单元41、基本密钥数量确定单元42、密钥流序列获取单元43、流密码系统确定单元44,其中:
封闭的正交拉丁方组构造单元41,用于构造封闭的正交拉丁方组,其中,一个所述封闭的正交拉丁方组是包含变换及其逆变换的最大的一个封闭可逆变换组,一个正交拉丁方组包括至少一个拉丁方,一个拉丁方作为所述封闭可逆变换组的一个最小的封闭可逆变换子组,所有所述拉丁方的阶数相等,且阶数大于或等于3;
基本密钥数量确定单元42,用于根据所述封闭可逆变换子组的个数确定2i元基本密钥空间所包含的不同的基本密钥数量,其中,所述不同的基本密钥数量小于或等于所述封闭可逆变换子组中可逆变换个数;
其中,所述该步骤中的封闭可逆变换子组可以为:从构造的最大的封闭正交拉丁方组包含的变换及其逆变换中选取一些变换构成一个封闭可逆变换子组。
密钥流序列获取单元43,用于获取2i元密钥流序列,其中,i为使得2i大于或等于所述封闭可逆变换子组包含的不同可逆变换决定的不同基本密钥数量的最小整数,且i大于或等于1;
流密码系统确定单元44,用于根据所述2i元基本密钥空间和基本加密变换、解密变换确定相应的应用加密函数和应用解密函数,并根据所述2i元密钥流序列及其主密钥空间确定应用加密函数与应用解密函数和源密钥空间,进而确定应用密码系统,根据基本密码系统和所述应用密码系统确定流密码系统。
本申请实施例中,由于构造的封闭的正交拉丁方组中拉丁方的阶数大于或等于3,因此,构造的封闭可逆变换组包含的可逆变换数大于或等于3(一个拉丁方包含的可逆变换数总是等于它的阶数)。又由于基本密钥空间所包含的不同的基本密钥数量小于或等于封闭可逆变换子组包含的可逆变换个数,因此,使得根据该大于或等于3的可逆变换数确定的基本密钥空间所包含的不同的基本密钥数量的取值范围更广,从而使得根据2i元基本密钥空间及其基本密钥数量确定的基本加密函数和基本解密函数具有更多的可能表达形式,进而多次重复使用基本加解密函数确定的应用加解密函数的可能表达形式也更加丰富,因而极大提高了基本和应用加密函数和解密函数所在的流密码系统的安全性。
在一些实施例中,由于现有多种流密码算法所用的大于1且小于2i元密钥流序列并不是2i元密钥流序列,因此,为了利用现有的小于2i元或低元密钥流序列快速获取所需的2i元密钥流序列,则当获取的低元密钥流序列不是2i元密钥流序列时,可通过密钥流序列转化得到,此时,所述密钥流序列获取单元43包括:
初始密钥流序列获取模块,用于获取初始密钥流序列,所述初始密钥流序列为2j元密钥流序列,j大于或等于1;
第一密钥流序列获取模块,用于当2j小于2i时,根据所述2j元密钥流序列生成2i元密钥流序列作为获取的2i元密钥流序列。
当然,若j=i,则将获取的初始密钥流序列作为2i元密钥流序列。
上述初始密钥流序列获取模块和第一密钥流序列获取模块中,为了快速从初始密钥流序列中获取所需的密钥流序列,则采用“连续读取”或“间隔读取”的方法生成所需的密钥流序列,若为“连续读取”,则所述第一密钥流序列获取模块具体用于:
将所述2j元密钥流序列中任意相邻的i/j个密钥单元作为2i元密钥流序列中的一个密钥单元,得到的2i元密钥流序列作为获取的2i元密钥流序列,其中,j是i的因数。
在一些实施例中,所述第一密钥流序列获取模块具体用于:
若所述2i元密钥流序列的主密钥的比特长度H小于预设的长度阈值F,则获取额外U个比特保密信息,且U=预设的长度阈值-H=F-H;选取一个可逆变换子组,所述可逆变换子组包含的可逆变换数的长度为x比特,且x是U的因数,将所述U个比特保密信息按x比特分组,得到处理后的U/x个的x比特保密信息组;根据所述U/x个的x保密信息组和可逆变换子组确定U比特的额外主密钥,根据所述U比特额外主密钥对所述2i元密钥流序列进行周期性处理后生成应用2i元密钥流序列,其中,应用2i元密钥流序列对应的流密码算法的密钥为源密钥,源密钥空间根据所述主密钥和所述额外主密钥确定。
在一些实施例中,所述流密码系统确定单元44中的基本密码系统中的基本加密函数和基本解密函数根据以下方式确定:
确定基本密钥空间的长度i以及比特向量个数2i;获取基本明文空间的长度k,若k=i,且2i等于不同的基本密钥数量,则根据所述2i元基本密钥空间以及所述封闭可逆变换子组确定基本加密函数和基本解密函数;若i>k,且2i等于不同的基本密钥数量,则设置所述2i元基本密钥空间按照每个拉丁方可逆变换子组被均匀使用,且不同拉丁方可逆变换子组之间被非均匀使用确定基本加密函数和基本解密函数;若i>k,且2i大于不同的基本密钥数量,则根据所述2i元基本密钥空间以及复用部分所述封闭可逆变换子组确定基本加密函数和基本解密函数。
其中,上述的i为使得2i大于或等于所述不同的基本密钥数量的最小整数,且i大于或等于1。
在一些实施例中,所述第一密钥流序列获取模块中根据所述2j元密钥流序列生成2i元密钥流序列作为获取的2i元密钥流序列时,具体包括:
保密信息获取模块,用于若所述2i元密钥流序列的主密钥的比特长度H小于预设的长度阈值F,则获取额外U个比特保密信息,且U=预设的长度阈值-H=F-H;
其中,F、H和U都为整数,且U最好是合数;
可逆变换子组选取模块,用于选取一个可逆变换子组,所述可逆变换子组包含的可逆变换数的长度为x比特,且x是U的因数,将所述U个比特保密信息按x比特分组,得到处理后的U/x个的x比特保密信息组;
额外主密钥确定模块,用于根据所述U/x个的x保密信息组和可逆变换子组确定U比特的额外主密钥,根据所述U比特额外主密钥对所述2i元密钥流序列进行周期性处理后生成应用2i元密钥流序列,其中,应用2i元密钥流序列对应的流密码算法的密钥为源密钥,源密钥空间根据所述主密钥和所述额外主密钥确定。
在一些实施例中,在确定基本加密函数和解密函数及其相应的应用密钥序列后,可对明文序列依次进行加密,此时,若基本明文空间的长度k,k=i,则该流密码系统的生成装置4,还包括:
明文序列获取单元,用于获取2元明文序列,并转换为2i元明文序列;
密文序列获取单元,用于采用所述加密函数对所述2i元明文序列执行加密操作,得到对应的2i元密文序列。
在一些实施例中,为了便于存储,该流密码系统的生成装置4,还包括:
存储单元,用于将所述2i元密文序列转化为2元密文序列并存储。
需要说明的是,上述装置/单元之间的信息交互、执行过程等内容,由于与本申请方法实施例基于同一构思,其具体功能及带来的技术效果,具体可参见方法实施例部分,此处不再赘述。
实施例三:
图5为本申请实施例三提供的终端设备的结构示意图。如图5所示,该实施例的终端设备5包括:至少一个处理器50(图5中仅示出一个处理器)、存储器51以及存储在所述存储器51中并可在所述至少一个处理器50上运行的计算机程序52,所述处理器50执行所述计算机程序52时实现上述任意各个方法实施例中的步骤:
构造封闭的正交拉丁方组,其中,一个所述封闭的正交拉丁方组是包含变换及其逆变换的最大的一个封闭可逆变换组,一个正交拉丁方组包括至少一个拉丁方,一个拉丁方作为所述封闭可逆变换组的一个最小的封闭可逆变换子组,所有所述拉丁方的阶数相等,且阶数大于或等于3;
根据所述封闭可逆变换子组的个数确定2i元基本密钥空间所包含的不同的基本密钥数量,其中,所述不同的基本密钥数量小于或等于所述封闭可逆变换子组中可逆变换个数;
获取2i元密钥流序列,其中,i为使得2i大于或等于所述封闭可逆变换子组包含的不同可逆变换决定的不同基本密钥数量的最小整数,且i大于或等于1;
根据所述2i元基本密钥空间和基本加密变换、解密变换确定相应的应用加密函数和应用解密函数,并根据所述2i元密钥流序列及其主密钥空间确定应用加密函数与应用解密函数和源密钥空间,进而确定应用密码系统,根据基本密码系统和所述应用密码系统确定流密码系统。
所述终端设备5可以是桌上型计算机、笔记本、掌上电脑及云端服务器等计算设备。该终端设备可包括,但不仅限于,处理器50、存储器51。本领域技术人员可以理解,图5仅仅是终端设备5的举例,并不构成对终端设备5的限定,可以包括比图示更多或更少的部件,或者组合某些部件,或者不同的部件,例如还可以包括输入输出设备、网络接入设备等。
所称处理器50可以是中央处理单元(Central Processing Unit,CPU),该处理器50还可以是其他通用处理器、数字信号处理器(Digital Signal Processor,DSP)、专用集成电路(Application Specific Integrated Circuit,ASIC)、现场可编程门阵列(Field-Programmable Gate Array,FPGA)或者其他可编程逻辑器件、分立门或者晶体管逻辑器件、分立硬件组件等。通用处理器可以是微处理器或者该处理器也可以是任何常规的处理器等。
所述存储器51在一些实施例中可以是所述终端设备5的内部存储单元,例如终端设备5的硬盘或内存。所述存储器51在另一些实施例中也可以是所述终端设备5的外部存储设备,例如所述终端设备5上配备的插接式硬盘,智能存储卡(Smart Media Card,SMC),安全数字(Secure Digital,SD)卡,闪存卡(Flash Card)等。进一步地,所述存储器51还可以既包括所述终端设备5的内部存储单元也包括外部存储设备。所述存储器51用于存储操作系统、应用程序、引导装载程序(BootLoader)、数据以及其他程序等,例如所述计算机程序的程序代码等。所述存储器51还可以用于暂时地存储已经输出或者将要输出的数据。
所属领域的技术人员可以清楚地了解到,为了描述的方便和简洁,仅以上述各功能单元、模块的划分进行举例说明,实际应用中,可以根据需要而将上述功能分配由不同的功能单元、模块完成,即将所述装置的内部结构划分成不同的功能单元或模块,以完成以上描述的全部或者部分功能。实施例中的各功能单元、模块可以集成在一个处理单元中,也可以是各个单元单独物理存在,也可以两个或两个以上单元集成在一个单元中,上述集成的单元既可以采用硬件的形式实现,也可以采用软件功能单元的形式实现。另外,各功能单元、模块的具体名称也只是为了便于相互区分,并不用于限制本申请的保护范围。上述系统中单元、模块的具体工作过程,可以参考前述方法实施例中的对应过程,在此不再赘述。
本申请实施例还提供了一种网络设备,该网络设备包括:至少一个处理器、存储器以及存储在所述存储器中并可在所述至少一个处理器上运行的计算机程序,所述处理器执行所述计算机程序时实现上述任意各个方法实施例中的步骤。
本申请实施例还提供了一种计算机可读存储介质,所述计算机可读存储介质存储有计算机程序,所述计算机程序被处理器执行时实现可实现上述各个方法实施例中的步骤。
本申请实施例提供了一种计算机程序产品,当计算机程序产品在移动终端上运行时,使得移动终端执行时实现可实现上述各个方法实施例中的步骤。
所述集成的单元如果以软件功能单元的形式实现并作为独立的产品销售或使用时,可以存储在一个计算机可读取存储介质中。基于这样的理解,本申请实现上述实施例方法中的全部或部分流程,可以通过计算机程序来指令相关的硬件来完成,所述的计算机程序可存储于一计算机可读存储介质中,该计算机程序在被处理器执行时,可实现上述各个方法实施例的步骤。其中,所述计算机程序包括计算机程序代码,所述计算机程序代码可以为源代码形式、对象代码形式、可执行文件或某些中间形式等。所述计算机可读介质至少可以包括:能够将计算机程序代码携带到拍照装置/终端设备的任何实体或装置、记录介质、计算机存储器、只读存储器(ROM,Read-Only Memory)、随机存取存储器(RAM,RandomAccess Memory)、电载波信号、电信信号以及软件分发介质。例如U盘、移动硬盘、磁碟或者光盘等。在某些司法管辖区,根据立法和专利实践,计算机可读介质不可以是电载波信号和电信信号。
在上述实施例中,对各个实施例的描述都各有侧重,某个实施例中没有详述或记载的部分,可以参见其它实施例的相关描述。
本领域普通技术人员可以意识到,结合本文中所公开的实施例描述的各示例的单元及算法步骤,能够以电子硬件、或者计算机软件和电子硬件的结合来实现。这些功能究竟以硬件还是软件方式来执行,取决于技术方案的特定应用和设计约束条件。专业技术人员可以对每个特定的应用来使用不同方法来实现所描述的功能,但是这种实现不应认为超出本申请的范围。
在本申请所提供的实施例中,应该理解到,所揭露的装置/网络设备和方法,可以通过其它的方式实现。例如,以上所描述的装置/网络设备实施例仅仅是示意性的,例如,所述模块或单元的划分,仅仅为一种逻辑功能划分,实际实现时可以有另外的划分方式,例如多个单元或组件可以结合或者可以集成到另一个系统,或一些特征可以忽略,或不执行。另一点,所显示或讨论的相互之间的耦合或直接耦合或通讯连接可以是通过一些接口,装置或单元的间接耦合或通讯连接,可以是电性,机械或其它的形式。
所述作为分离部件说明的单元可以是或者也可以不是物理上分开的,作为单元显示的部件可以是或者也可以不是物理单元,即可以位于一个地方,或者也可以分布到多个网络单元上。可以根据实际的需要选择其中的部分或者全部单元来实现本实施例方案的目的。
以上所述实施例仅用以说明本申请的技术方案,而非对其限制;尽管参照前述实施例对本申请进行了详细的说明,本领域的普通技术人员应当理解:其依然可以对前述各实施例所记载的技术方案进行修改,或者对其中部分技术特征进行等同替换;而这些修改或者替换,并不使相应技术方案的本质脱离本申请各实施例技术方案的精神和范围,均应包含在本申请的保护范围之内。

Claims (10)

1.一种流密码系统的生成方法,其特征在于,包括:
构造封闭的正交拉丁方组,其中,一个所述封闭的正交拉丁方组是包含变换及其逆变换的最大的一个封闭可逆变换组,一个正交拉丁方组包括至少一个拉丁方,一个拉丁方作为所述封闭可逆变换组的一个最小的封闭可逆变换子组,所有所述拉丁方的阶数相等,且阶数大于或等于3;
根据所述封闭可逆变换子组的个数确定2i元基本密钥空间所包含的不同的基本密钥数量,其中,所述不同的基本密钥数量小于或等于所述封闭可逆变换子组中可逆变换个数;
获取2i元密钥流序列,其中,i为使得2i大于或等于所述封闭可逆变换子组包含的不同可逆变换决定的不同基本密钥数量的最小整数,且i大于或等于1;
根据所述2i元基本密钥空间和基本加密变换、解密变换确定相应的应用加密函数和应用解密函数,并根据所述2i元密钥流序列及其主密钥空间确定应用加密函数与应用解密函数和源密钥空间,进而确定应用密码系统,根据基本密码系统和所述应用密码系统确定流密码系统。
2.如权利要求1所述的流密码系统的生成方法,其特征在于,所述获取2i元密钥流序列,包括:
获取初始密钥流序列,所述初始密钥流序列为2j元密钥流序列,j大于或等于1;
当2j小于2i时,根据所述2j元密钥流序列生成2i元密钥流序列作为获取的2i元密钥流序列。
3.如权利要求1所述的流密码系统的生成方法,其特征在于,所述基本密码系统中的基本加密函数和基本解密函数根据以下方式确定:
确定基本密钥空间的长度i以及比特向量个数2i
获取基本明文空间的长度k,若k=i,且2i等于不同的基本密钥数量,则根据所述2i元基本密钥空间以及所述封闭可逆变换子组确定基本加密函数和基本解密函数;若i>k,且2i等于不同的基本密钥数量,则设置所述2i元基本密钥空间按照每个拉丁方可逆变换子组被均匀使用,且不同拉丁方可逆变换子组之间被非均匀使用确定基本加密函数和基本解密函数;若i>k,且2i大于不同的基本密钥数量,则根据所述2i元基本密钥空间以及复用部分所述封闭可逆变换子组确定基本加密函数和基本解密函数。
4.如权利要求2所述的流密码系统的生成方法,其特征在于,所述根据所述2j元密钥流序列生成2i元密钥流序列作为获取的2i元密钥流序列,包括:
若所述2i元密钥流序列的主密钥的比特长度H小于预设的长度阈值F,则获取额外U个比特保密信息,且U=预设的长度阈值-H=F-H;
选取一个可逆变换子组,所述可逆变换子组包含的可逆变换数的长度为x比特,且x是U的因数,将所述U个比特保密信息按x比特分组,得到处理后的U/x个的x比特保密信息组;
根据所述U/x个的x保密信息组和可逆变换子组确定U比特的额外主密钥,根据所述U比特额外主密钥对所述2i元密钥流序列进行周期性处理后生成应用2i元密钥流序列,其中,应用2i元密钥流序列对应的流密码算法的密钥为源密钥,源密钥空间根据所述主密钥和所述额外主密钥确定。
5.如权利要求1至4任一项所述的流密码系统的生成方法,其特征在于,在所述根据基本密码系统和所述应用密码系统确定流密码系统之后,包括:
获取2元明文序列,并转换为2i元明文序列;
采用所述加密函数对所述2i元明文序列执行加密操作,得到对应的2i元密文序列。
6.一种流密码系统的生成装置,其特征在于,包括:
封闭的正交拉丁方组构造单元,用于构造封闭的正交拉丁方组,其中,一个所述封闭的正交拉丁方组是包含变换及其逆变换的最大的一个封闭可逆变换组,一个正交拉丁方组包括至少一个拉丁方,一个拉丁方作为所述封闭可逆变换组的一个最小的封闭可逆变换子组,所有所述拉丁方的阶数相等,且阶数大于或等于3;
基本密钥数量确定单元,用于根据所述封闭可逆变换子组的个数确定2i元基本密钥空间所包含的不同的基本密钥数量,其中,所述不同的基本密钥数量小于或等于所述封闭可逆变换子组中可逆变换个数;
密钥流序列获取单元,用于获取2i元密钥流序列,其中,i为使得2i大于或等于所述封闭可逆变换子组包含的不同可逆变换决定的不同基本密钥数量的最小整数,且i大于或等于1;
流密码系统确定单元,用于根据所述2i元基本密钥空间和基本加密变换、解密变换确定相应的应用加密函数和应用解密函数,并根据所述2i元密钥流序列及其主密钥空间确定应用加密函数与应用解密函数和源密钥空间,进而确定应用密码系统,根据基本密码系统和所述应用密码系统确定流密码系统。
7.如权利要求6所述的流密码系统的生成装置,其特征在于,所述密钥流序列获取单元包括:
初始密钥流序列获取模块,用于获取初始密钥流序列,所述初始密钥流序列为2j元密钥流序列,j大于或等于1;
第一密钥流序列获取模块,用于当2j小于2i时,根据所述2j元密钥流序列生成2i元密钥流序列作为获取的2i元密钥流序列。
8.如权利要求6所述的流密码系统的生成装置,其特征在于,所述第一密钥流序列获取模块具体用于:
若所述2i元密钥流序列的主密钥的比特长度H小于预设的长度阈值F,则获取额外U个比特保密信息,且U=预设的长度阈值-H=F-H;选取一个可逆变换子组,所述可逆变换子组包含的可逆变换数的长度为x比特,且x是U的因数,将所述U个比特保密信息按x比特分组,得到处理后的U/x个的x比特保密信息组;根据所述U/x个的x保密信息组和可逆变换子组确定U比特的额外主密钥,根据所述U比特额外主密钥对所述2i元密钥流序列进行周期性处理后生成应用2i元密钥流序列,其中,应用2i元密钥流序列对应的流密码算法的密钥为源密钥,源密钥空间根据所述主密钥和所述额外主密钥确定。
9.一种终端设备,包括存储器、处理器以及存储在所述存储器中并可在所述处理器上运行的计算机程序,其特征在于,所述处理器执行所述计算机程序时实现如权利要求1至7任一项所述的方法。
10.一种计算机可读存储介质,所述计算机可读存储介质存储有计算机程序,其特征在于,所述计算机程序被处理器执行时实现如权利要求1至7任一项所述的方法。
CN202010083408.5A 2020-02-09 2020-02-09 流密码系统的生成方法、装置及终端设备 Active CN111342951B (zh)

Priority Applications (1)

Application Number Priority Date Filing Date Title
CN202010083408.5A CN111342951B (zh) 2020-02-09 2020-02-09 流密码系统的生成方法、装置及终端设备

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
CN202010083408.5A CN111342951B (zh) 2020-02-09 2020-02-09 流密码系统的生成方法、装置及终端设备

Publications (2)

Publication Number Publication Date
CN111342951A true CN111342951A (zh) 2020-06-26
CN111342951B CN111342951B (zh) 2023-03-14

Family

ID=71183836

Family Applications (1)

Application Number Title Priority Date Filing Date
CN202010083408.5A Active CN111342951B (zh) 2020-02-09 2020-02-09 流密码系统的生成方法、装置及终端设备

Country Status (1)

Country Link
CN (1) CN111342951B (zh)

Citations (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US7280663B1 (en) * 2000-05-22 2007-10-09 University Of Southern California Encryption system based on crossed inverse quasigroups
CN108476132A (zh) * 2015-11-06 2018-08-31 纳格拉维森公司 用于加密操作的密钥序列生成
CN108696666A (zh) * 2018-05-16 2018-10-23 河南大学 基于拉丁方置乱的彩色图像加密方法

Patent Citations (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US7280663B1 (en) * 2000-05-22 2007-10-09 University Of Southern California Encryption system based on crossed inverse quasigroups
CN108476132A (zh) * 2015-11-06 2018-08-31 纳格拉维森公司 用于加密操作的密钥序列生成
CN108696666A (zh) * 2018-05-16 2018-10-23 河南大学 基于拉丁方置乱的彩色图像加密方法

Non-Patent Citations (1)

* Cited by examiner, † Cited by third party
Title
田传俊: "密钥非均匀分布的完善保密通信系统", 《通信学报》 *

Also Published As

Publication number Publication date
CN111342951B (zh) 2023-03-14

Similar Documents

Publication Publication Date Title
Souyah et al. An image encryption scheme combining chaos-memory cellular automata and weighted histogram
Seyedzadeh et al. A novel color image encryption algorithm based on spatial permutation and quantum chaotic map
KR100435052B1 (ko) 암호화장치
US5142579A (en) Public key cryptographic system and method
KR101246490B1 (ko) 갈루아 폐체 암호 시스템
US8787563B2 (en) Data converter, data conversion method and program
US8504845B2 (en) Protecting states of a cryptographic process using group automorphisms
US20080304664A1 (en) System and a method for securing information
Ur Rehman et al. Block mode image encryption technique using two-fold operations based on chaos, MD5 and DNA rules
CA2302784A1 (en) Improved block cipher method
CN112714112B (zh) 一种用于服务器数据存储的数据加解密方法、存储介质和终端设备
Zhdanov et al. Block symmetric cryptographic algorithm based on principles of variable block length and many-valued logic
Battey et al. An efficient quasigroup block cipher
Bouslehi et al. Innovative image encryption scheme based on a new rapid hyperchaotic system and random iterative permutation
Ahmed et al. Strongest AES with S-Boxes bank and dynamic key MDS matrix (SDK-AES)
Singh et al. Improvement of image transmission using chaotic system and elliptic curve cryptography
Acharya Image encryption using a new chaos based encryption algorithm
CN111342951B (zh) 流密码系统的生成方法、装置及终端设备
WO1999014889A1 (en) Improved block cipher method
Faraoun Design of fast one-pass authenticated and randomized encryption schema using reversible cellular automata
Sakallı et al. On the construction of and binary matrices with good implementation properties for lightweight block ciphers and hash functions
Nabeel et al. IoT light weight (LWT) crypto functions
Debbarma et al. 2D Chaos based color image encryption using pseudorandom key generation
Dweik et al. A survey of lightweight image encryption for IoT
Kothandan Modified Blowfish Algorithm to Enhance its Performance and Security

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
EE01 Entry into force of recordation of patent licensing contract
EE01 Entry into force of recordation of patent licensing contract

Application publication date: 20200626

Assignee: Shenzhen Yunchuang Netcom Information Technology Co.,Ltd.

Assignor: SHENZHEN University

Contract record no.: X2023980047247

Denomination of invention: Method, device, and terminal equipment for generating stream cipher systems

Granted publication date: 20230314

License type: Common License

Record date: 20231116

Application publication date: 20200626

Assignee: Yuncheng Holding (Shenzhen) Co.,Ltd.

Assignor: SHENZHEN University

Contract record no.: X2023980047231

Denomination of invention: Method, device, and terminal equipment for generating stream cipher systems

Granted publication date: 20230314

License type: Common License

Record date: 20231116

Application publication date: 20200626

Assignee: Shenzhen Suowei Information Technology Co.,Ltd.

Assignor: SHENZHEN University

Contract record no.: X2023980047180

Denomination of invention: Method, device, and terminal equipment for generating stream cipher systems

Granted publication date: 20230314

License type: Common License

Record date: 20231115

Application publication date: 20200626

Assignee: Sankexiaocao (Shenzhen) Internet of Things Technology Co.,Ltd.

Assignor: SHENZHEN University

Contract record no.: X2023980047154

Denomination of invention: Method, device, and terminal equipment for generating stream cipher systems

Granted publication date: 20230314

License type: Common License

Record date: 20231115

EE01 Entry into force of recordation of patent licensing contract
EE01 Entry into force of recordation of patent licensing contract

Application publication date: 20200626

Assignee: Shenzhen Kaixin Intelligent Control Co.,Ltd.

Assignor: SHENZHEN University

Contract record no.: X2023980048385

Denomination of invention: Method, device, and terminal equipment for generating stream cipher systems

Granted publication date: 20230314

License type: Common License

Record date: 20231124

EE01 Entry into force of recordation of patent licensing contract

Application publication date: 20200626

Assignee: FANTEM TECHNOLOGIES(SHEN ZHEN) Co.,Ltd.

Assignor: SHENZHEN University

Contract record no.: X2023980048674

Denomination of invention: Method, device, and terminal equipment for generating stream cipher systems

Granted publication date: 20230314

License type: Common License

Record date: 20231127

Application publication date: 20200626

Assignee: Guangzhou Mincheng Electronic Technology Co.,Ltd.

Assignor: SHENZHEN University

Contract record no.: X2023980049125

Denomination of invention: Method, device, and terminal equipment for generating stream cipher systems

Granted publication date: 20230314

License type: Common License

Record date: 20231130

EE01 Entry into force of recordation of patent licensing contract
EE01 Entry into force of recordation of patent licensing contract
EE01 Entry into force of recordation of patent licensing contract

Application publication date: 20200626

Assignee: LIVEFAN INFORMATION TECHNOLOGY Co.,Ltd.

Assignor: SHENZHEN University

Contract record no.: X2023980049494

Denomination of invention: Method, device, and terminal equipment for generating stream cipher systems

Granted publication date: 20230314

License type: Common License

Record date: 20231201

EE01 Entry into force of recordation of patent licensing contract
EE01 Entry into force of recordation of patent licensing contract

Application publication date: 20200626

Assignee: JIUZHOU YANGGUANG POWER SUPPLY (SHENZHEN) CO.,LTD.

Assignor: SHENZHEN University

Contract record no.: X2023980050235

Denomination of invention: Method, device, and terminal equipment for generating stream cipher systems

Granted publication date: 20230314

License type: Common License

Record date: 20231206

Application publication date: 20200626

Assignee: Shenzhen Huike Energy Technology Co.,Ltd.

Assignor: SHENZHEN University

Contract record no.: X2023980050230

Denomination of invention: Method, device, and terminal equipment for generating stream cipher systems

Granted publication date: 20230314

License type: Common License

Record date: 20231206

Application publication date: 20200626

Assignee: Shenzhen Huike Storage Technology Co.,Ltd.

Assignor: SHENZHEN University

Contract record no.: X2023980050228

Denomination of invention: Method, device, and terminal equipment for generating stream cipher systems

Granted publication date: 20230314

License type: Common License

Record date: 20231205

EE01 Entry into force of recordation of patent licensing contract
EE01 Entry into force of recordation of patent licensing contract

Application publication date: 20200626

Assignee: SHENZHEN QIANHAI MYTIME TECHNOLOGY HOLDING Co.,Ltd.

Assignor: SHENZHEN University

Contract record no.: X2023980051425

Denomination of invention: Method, device, and terminal equipment for generating stream cipher systems

Granted publication date: 20230314

License type: Common License

Record date: 20231211

EE01 Entry into force of recordation of patent licensing contract
EE01 Entry into force of recordation of patent licensing contract

Application publication date: 20200626

Assignee: Shenzhen Youlian Information Technology Co.,Ltd.

Assignor: SHENZHEN University

Contract record no.: X2023980052104

Denomination of invention: Method, device, and terminal equipment for generating stream cipher systems

Granted publication date: 20230314

License type: Common License

Record date: 20231213

EE01 Entry into force of recordation of patent licensing contract
EE01 Entry into force of recordation of patent licensing contract

Application publication date: 20200626

Assignee: Luoding Zhongda Technology Co.,Ltd.

Assignor: SHENZHEN University

Contract record no.: X2024980000187

Denomination of invention: Method, device, and terminal equipment for generating stream cipher systems

Granted publication date: 20230314

License type: Common License

Record date: 20240105