WO2019205407A1 - 加密方法、装置、计算机设备和存储介质 - Google Patents

加密方法、装置、计算机设备和存储介质 Download PDF

Info

Publication number
WO2019205407A1
WO2019205407A1 PCT/CN2018/104280 CN2018104280W WO2019205407A1 WO 2019205407 A1 WO2019205407 A1 WO 2019205407A1 CN 2018104280 W CN2018104280 W CN 2018104280W WO 2019205407 A1 WO2019205407 A1 WO 2019205407A1
Authority
WO
WIPO (PCT)
Prior art keywords
round key
round
matrix
key
encryption
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.)
Ceased
Application number
PCT/CN2018/104280
Other languages
English (en)
French (fr)
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.)
Ping An Technology Shenzhen Co Ltd
Original Assignee
Ping An Technology Shenzhen Co Ltd
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 Ping An Technology Shenzhen Co Ltd filed Critical Ping An Technology Shenzhen Co Ltd
Publication of WO2019205407A1 publication Critical patent/WO2019205407A1/zh
Anticipated expiration legal-status Critical
Ceased legal-status Critical Current

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/0618Block ciphers, i.e. encrypting groups of characters of a plain text message using fixed encryption transformation
    • H04L9/0631Substitution permutation network [SPN], i.e. cipher composed of a number of stages or rounds each involving linear and nonlinear transformations, e.g. AES algorithms
    • 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
    • H04L9/0656Pseudorandom key sequence combined element-for-element with data sequence, e.g. one-time-pad [OTP] or Vernam's cipher
    • H04L9/0662Pseudorandom key sequence combined element-for-element with data sequence, e.g. one-time-pad [OTP] or Vernam's cipher with particular pseudorandom sequence generator

Definitions

  • the key composition round key sequence performs SMS4 encryption calculation on the character string to obtain a desired ciphertext.
  • the key composition round key sequence performs SMS4 encryption calculation on the character string to obtain a desired ciphertext.
  • 2A is a schematic diagram of a coding matrix in an embodiment of the present application.
  • the plaintext input be (X 0 , X 1 , X 2 , X 3 ) ⁇ (Z 2 32 ) 4 and the ciphertext output be (Y 0 , Y 1 , Y 2 , Y 3 ) ⁇ (Z 2 32 ) 4 .
  • the program may be stored in a computer readable storage medium, and the storage medium may include: Read Only Memory (ROM), Random Access Memory (RAM), disk or optical disk.
  • ROM Read Only Memory
  • RAM Random Access Memory

Landscapes

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

Abstract

本申请涉及一种加密方法、装置、计算机设备和存储介质,所述方法包括:获取待加密的消息,所述消息具有一串字符;利用轮密钥存储器随机打乱电路进行随机打乱,生成n个伪轮密钥和一个真实轮密钥,并记录下真实轮密钥的位置,以n个伪轮密钥和一个真实轮密钥组成轮密钥序列对所述字符串进行SMS4加密计算,得到所需密文。上述方法及装置具有算法计算量小,加密速度快且加密效率高,使用长密钥时的难破解,同时具有高性能、高安全性、高可靠性,弥补了现有技术在安全性上的不足。

Description

加密方法、装置、计算机设备和存储介质
本申请要求于2018年04月22日提交中国专利局、申请号为201810363679.9、发明名称为“加密方法、装置、计算机设备和存储介质”的中国专利申请的优先权,其全部内容通过引用结合在本申请中。
技术领域
本申请涉及信息安全等领域,尤其涉及一种加密方法、装置、计算机设备和存储介质。
背景技术
客户关系管理系统(CRM)提供了创建和维护客户清晰概况所需的工具和能力,包括从第一次接触到购买和售后。对于复杂的组织,CRM系统可以提供帮助改善销售、市场营销、和/或客户服务组织发现新的客户目标、管理市场营销活动、以及驱动销售活动的特征和能力。
随着CRM解决方案的进步,实现了各种组合模式的通信,例如,即时消息收发、数据/应用共享、白板、以及可以与订户的在场以及可用性信息相结合的其它形式的通信。信息和数据的隐私安全成为最有价值的资产,各商业公司都会对自己系统内的数据读取做严格的信息保护,数据加密就是对信息进行保护的一种有效手段,能够阻止非授权用户的读取和传播。
然而,现有客户关系管理系统在客户消息交互过程中,存在的缺陷有非法绕开监管系统,直接读取未加密的客户消息,从而导致造成公司被投诉,客户流失。
发明内容
有鉴于此,有必要针对消息交互过程中,因未加密导致数据的安全保护性不高的问题,提供一种加密方法、装置、计算机设备和存储介质。
一种加密方法,包括:
获取待加密的消息,所述消息具有一串字符;
利用轮密钥存储器随机打乱电路进行随机打乱,生成n个伪轮密钥和一个真实轮密钥,并记录下真实轮密钥的位置,以n个伪轮密钥和一个真实轮密钥组成轮密钥序列对所述字符串进行SMS4加密计算,得到所需密文。
一种加密装置,包括:
获取单元,设置为获取待加密的消息,所述消息具有一串字符;
加密单元,设置为利用轮密钥存储器随机打乱电路进行随机打乱,生成n个伪轮密钥和一个真实轮密钥,并记录下真实轮密钥的位置,以n个伪轮密钥和一个真实轮密钥组成轮密钥序列对所述字符串进行SMS4加密计算,得到所需密文。
一种计算机设备,包括存储器和处理器,所述存储器中存储有计算机可读指令,所述计算机可读指令被所述处理器执行时,使得所述处理器执行上述加密方法的步骤:
获取待加密的消息,所述消息具有一串字符;
利用轮密钥存储器随机打乱电路进行随机打乱,生成n个伪轮密钥和一个真实轮密钥,并记录下真实轮密钥的位置,以n个伪轮密钥和一个真实轮密钥组成轮密钥序列对所述字符串进行SMS4加密计算,得到所需密文。
一种存储有计算机可读指令的存储介质,所述计算机可读指令被一个或多个处理器执行时,使得一个或多个处理器执行上述加密方法的步骤:
获取待加密的消息,所述消息具有一串字符;
利用轮密钥存储器随机打乱电路进行随机打乱,生成n个伪轮密钥和一个真实轮密钥,并记录下真实轮密钥的位置,以n个伪轮密钥和一个真实轮密钥组成轮密钥序列对所述字符串进行SMS4加密计算,得到所需密文。
上述加密方法、装置、计算机设备和存储介质,通过获取待加密的消息,所述消息具有一串字符,获取一个起始矩阵,根据寄存器号可以在相应的寄存器中获取矩阵起始地址和矩阵长度,再根据矩阵起始地址和矩阵长度在存储单元中获取相应地址存放的矩阵,该起始矩阵具有多列和多行,所述多行包括第一行和最后一行以及第一行与最后一行之间的中间行,以及最后一行中的所有 列中的不同字符和所有其他行中的所有列中的不同数字,并且其中所述字符串中的每个字符对应于矩阵的列之一。利用轮密钥存储器随机打乱电路进行随机打乱,生成n个伪轮密钥和一个真实轮密钥,并记录下真实轮密钥的位置,以n个伪轮密钥和一个真实轮密钥组成轮密钥序列对所述字符串进行SMS4加密计算,所述轮密钥序列具体通过以下方式得到:确定真实轮密钥执行的序号,而轮密钥序列中其它N个伪轮密钥通过轮密钥随机选取,从轮密钥存储器的存储区中选择得到,所述SMS4加密计算是指将待加密的明文与轮密钥序列中的密钥依次进行轮函数迭代计算,得到所需密文,算法计算量小,加密速度快且加密效率高,使用长密钥时的难破解,同时具有高性能、高安全性、高可靠性,弥补了现有技术在安全性上的不足。
附图说明
通过阅读下文优选实施方式的详细描述,各种其他的优点和益处对于本领域普通技术人员将变得清楚明了。附图仅用于示出优选实施方式的目的,而并不认为是对本申请的限制。
图1为本申请一个实施例中提供的加密方法的流程图;
图2A为本申请一个实施例中编码矩阵示意图;
图2B为本申请一个实施例中编码矩阵示意图;
图3为一个实施例中加密装置的结构框图。
具体实施方式
为了使本申请的目的、技术方案及优点更加清楚明白,以下结合附图及实施例,对本申请进行进一步详细说明。应当理解,此处所描述的具体实施例仅仅用以解释本申请,并不用于限定本申请。
本技术领域技术人员可以理解,除非特意声明,这里使用的单数形式“一”、“一个”、“所述”和“该”也可包括复数形式。应该进一步理解的是,本申请的说明书中使用的措辞“包括”是指存在所述特征、整数、步骤、操作、元件和/或组件,但是并不排除存在或添加一个或多个其他特征、整数、步骤、操作、 元件、组件和/或它们的组。
作为一个较好的实施例,如图1所示,一种加密方法,该加密方法包括以下步骤:
步骤S101,获取待加密的消息,消息具有一串字符;
获取要加密的消息,将消息数据转换为内容字符串。
步骤S102,利用轮密钥存储器随机打乱电路进行随机打乱,生成n个伪轮密钥和一个真实轮密钥,并记录下真实轮密钥的位置,以n个伪轮密钥和一个真实轮密钥组成轮密钥序列对字符串进行SMS4加密计算,得到所需密文。
通过密钥随机选取电路(或软件即软件调用模式实现)或通过密钥存储器随机打乱机构从密钥存储器中选择得到,n个伪轮密钥和一个真实轮密钥,并记录下真实轮密钥的位置,以n个伪轮密钥和一个真实轮密钥组成轮密钥序列对所述字符串进行SMS4加密计算,得到所需密文。首先需要保存n个伪轮密钥,这些伪轮密钥需要具有以下特点:伪轮密钥对应的每个字节是不同的,这个用来保证针对某个S盒的伪轮密钥是不一样的,S盒为固定的8比特输入8比特输出的置换,记为Sbox(.),每次加密开始,把n个伪轮密钥和一个真实的轮密钥放在一起然后利用轮密钥存储器随机打乱电路进行随机打乱,记录下真实轮密钥的位置,即真实轮密钥执行的时刻,然后依次根据随机打乱的轮密钥开始执行n次轮函数,每次轮函数的结果都要进行保存,然后取真实的轮函数结果进入下一轮继续执行之后的运算。
在一个实施例中,获取待加密的消息,消息具有一串字符之后还包括:获取一个起始矩阵,根据寄存器号可以在相应的寄存器中获取矩阵起始地址和矩阵长度,再根据矩阵起始地址和矩阵长度在存储单元中获取相应地址存放的矩阵,该起始矩阵具有多列和多行,多行包括第一行和最后一行以及第一行与最后一行之间的中间行,其中最后一行中的所有列中的不同字符和所有其他行中的所有列中的不同数字,并且其中字符串中的每个字符对应于矩阵的列之一。
要获取一个矩阵时,根据寄存器号可以在相应的寄存器中获取矩阵起始地址和矩阵长度,再根据矩阵起始地址和矩阵长度在存储单元中获取相应地址存放的矩阵。矩阵运算指令包括一操作码和至少一操作域,其中,操作码用于指 示该矩阵运算指令的功能,矩阵运算单元通过识别该操作码可进行不同的矩阵运算,操作域用于指示该矩阵运算指令的数据信息,其中,数据信息可以是立即数或寄存器号。编码基于矩阵变换,在优选加密过程中,当使用矩阵内的字母时,从矩阵中的每个对应的值队列中除去与这些字母相关联的数字,直到队列为空。例如,如图2A和图2B所示,用的编码矩阵图,临时队列可以适合任何大小的队列。队列大小的最坏情况将是((矩阵-1中的行数)*(每行中值的数量))+1,使用这种方法,所有字符都可以被编码,包括ASCII、国标字符集和信息编码。
在一个实施例中,轮密钥序列具体通过以下方式得到:确定真实轮密钥执行的序号,而轮密钥序列中其它N个伪轮密钥通过轮密钥随机选取,从轮密钥存储器的存储区中选择得到。
首先需要保存n个伪轮密钥,这些伪轮密钥具有下述特点,伪轮密钥对应的每个字节是不同的,这个用来保证针对某个S盒的伪轮密钥是不一样的,S盒为固定的8比特输入8比特输出的置换,记为Sbox(.)。每一次加密开始,把n个伪轮密钥和一个真实的轮密钥放在一起然后利用轮密钥存储器随机打乱电路进行随机打乱,记录下真实轮密钥的位置,即为真实轮密钥执行的时刻。然后依次根据随机打乱的轮密钥开始执行n次轮函数,每次轮函数的结果都要进行保存,然后得到真实的轮函数的结果。
在一个实施例中,SMS4加密计算是指将待加密的明文与轮密钥序列中的密钥依次进行轮函数迭代计算,具体为:
设明文输入为(X0,X1,X2,X3)∈(Z232)4,密文输出为(Y0,Y1,Y2,Y3)∈(Z232)4,轮密钥为rki∈Z232,i=0,1,2,…,31;则算法的加密变换为,
Xi+4=F(Xi,Xi+1,Xi+1,Xi+2,rki)=Xi T(Xi+1 Xi+2 Xi+3 rki),i=0,1,...,31;
(Y0,Y1,Y2,Y3)=R(X32,X33,X34,X35)=(X35,X34,X33,X32)。
SM4分组密码算法,该算法为对称算法,密钥长度和分组长度均为128位,加密算法与密钥扩展算法都采用32轮非线性迭代结构。解密算法与加密算法的结构相同,只是轮密钥的使用顺序相反,解密轮密钥是加密轮密钥的逆序。
设明文输入为(X0,X1,X2,X3)∈(Z232)4,密文输出为(Y0,Y1,Y2,Y3)∈(Z232)4,轮密钥为rki∈Z232,i=0,1,2,…,31;则算法的加密变换为,
Xi+4=F(Xi,Xi+1,Xi+1,Xi+2,rki)=Xi T(Xi+1 Xi+2 Xi+3 rki),i=0,1,...,31;
(Y0,Y1,Y2,Y3)=R(X32,X33,X34,X35)=(X35,X34,X33,X32)。
本算法的解密变换与加密变换结构相同,不同的仅是轮密钥的使用顺序。
加密时轮密钥的使用顺序为:(rk 0,rk 1,…,rk 31)
解密时轮密钥的使用顺序为:(rk 31,rk 30,…,rk 0)
举例说明,对一组明文用密钥加密一次
明文:01 23 45 67 89 ab cd ef fe dc ba 98 76 54 32 10
加密密钥:01 23 45 67 89 ab cd ef fe dc ba 98 76 54 32 10
轮密钥与每轮输出状态:
rk[0]=f12186f9 X[0]=27fad345
rk[1]=41662b61 X[1]=a18b4cb2
rk[2]=5a6ab19a X[2]=11c1e22a
rk[3]=7ba92077 X[3]=cc13e2ee
rk[4]=367360f4 X[4]=f87c5bd5
rk[5]=776a0c61 X[5]=33220757
rk[6]=b6bb89b3 X[6]=77f4c297
rk[7]=24763151 X[7]=7a96f2eb
rk[8]=a520307c X[8]=27dac07f
rk[9]=b7584dbd X[9]=42dd0f19
rk[10]=c30753ed X[10]=b8a5da02
rk[11]=7ee55b57 X[11]=907127fa
rk[12]=6988608c X[12]=8b952b83
rk[13]=30d895b7 X[13]=d42b7c59
rk[14]=44ba14af X[14]=2ffc5831
rk[15]=104495a1 X[15]=f69e6888
rk[16]=d120b428 X[16]=af2432c4
rk[17]=73b55fa3 X[17]=ed1ec85e
rk[18]=cc874966 X[18]=55a3ba22
rk[19]=92244439 X[19]=124b18aa
rk[20]=e89e641f X[20]=6ae7725f
rk[21]=98ca015a X[21]=f4cba1f9
rk[22]=c7159060 X[22]=1dcdfa10
rk[23]=99e1fd2e X[23]=2ff60603
rk[24]=b79bd80c X[24]=eff24fdc
rk[25]=1d2115b0 X[25]=6fe46b75
rk[26]=0e228aeb X[26]=893450ad
rk[27]=f1780c81 X[27]=7b938f4c
rk[28]=428d3654 X[28]=536e4246
rk[29]=62293496 X[29]=86b3e94f
rk[30]=01cf72e5 X[30]=d206965e
rk[31]=9124a012 X[31]=681edf34
在一个实施例中,利用轮密钥存储器随机打乱电路进行随机打乱,生成n个伪轮密钥和一个真实轮密钥,并记录下真实轮密钥的位置,以n个伪轮密钥和一个真实轮密钥组成轮密钥序列对字符串进行SMS4加密计算,得到所需密文之后还包括使用加密时用过的密钥及相同算法的逆算法对密文进行解密,使其恢复成可读明文。
需要说明的是,对称加密算法指的是加密和解密使用相同密钥的加密算法,算法是一组规则,规定如何进行加密和解密。在大多数的对称加密算法中,加密密钥和解密密钥是相同的。它要求发送方和接收方在安全通信之前,商定一个密钥。在对称加密算法中,数据发送方将明文(即原始数据)与加密密钥一起经过特殊加密算法处理后,使其变成复杂的加密密文发送出去。接收方收到密文后,若想解读原文,则需要使用加密用过的密钥及相同算法的逆算法对密文进行解密,才能使其恢复成可读明文。
在一个实施例中,轮密钥存储器的存储区的初始状态为隐藏状态。
轮密钥存储器的存储区的初始状态为隐藏状态,解决了相关技术中对存储装置中数据的保护安全性不够高的问题,进而达到了提高存储装置中数据保护的安全性的效果。
如图3所示,在一个实施例中,提供一种加密装置,该加密装置包括:
获取单元,设置为获取待加密的消息,消息具有一串字符;
加密单元,设置为利用轮密钥存储器随机打乱电路进行随机打乱,生成n个伪轮密钥和一个真实轮密钥,并记录下真实轮密钥的位置,以n个伪轮密钥和一个真实轮密钥组成轮密钥序列对字符串进行SMS4加密计算,得到所需密文。
在一个实施例中,获取单元还设置为获取一个起始矩阵,根据寄存器号可以在相应的寄存器中获取矩阵起始地址和矩阵长度,再根据矩阵起始地址和矩阵长度在存储单元中获取相应地址存放的矩阵,该起始矩阵具有多列和多行,多行包括第一行和最后一行以及第一行与最后一行之间的中间行,以及最后一行中的所有列中的不同字符和所有其他行中的所有列中的不同数字,并且其中字符串中的每个字符对应于矩阵的列之一。
在一个实施例中,加密单元还设置为确定真实轮密钥执行的序号Q,而轮密钥序列中其它N个伪轮密钥通过轮密钥随机选取电路从轮密钥存储器的存储区中选择得到。
在一个实施例中,所述SMS4加密计算是指将待加密的明文与轮密钥序列中的密钥依次进行轮函数迭代计算,具体为:
设明文输入为(X 0,X 1,X 2,X 3)∈(Z 2 32) 4,密文输出为(Y 0,Y 1,Y 2,Y 3)∈(Z 2 32) 4,轮密钥为rk i∈Z 2 32,i=0,1,2,…,31;则算法的加密变换为,
X i+4=F(X i,X i+1,X i+1,X i+2,rk i)=X i T(X i+1 X i+2 X i+3 rk i),i=0,1,...,31;
(Y 0,Y 1,Y 2,Y 3)=R(X 32,X 33,X 34,X 35)=(X 35,X 34,X 33,X 32)。
在一个实施例中,所述加密单元还设置为使用加密时用过的密钥及相同算法的逆算法对密文进行解密,使其恢复成可读明文。
在一个实施例中,所述轮密钥存储器的存储区的初始状态为隐藏状态。
在一个实施例中,提出了一种计算机设备,所述计算机设备包括存储器和 处理器,存储器中存储有计算机可读指令,计算机可读指令被处理器执行时,使得处理器执行所述计算机程序时实现上述各实施例中加密方法中的步骤。
在一个实施例中,提出了一种存储有计算机可读指令的存储介质,计算机可读指令被一个或多个处理器执行时,使得一个或多个处理器执行上述各实施例中加密方法中的步骤。其中,存储介质可以为非易失性存储介质。
本领域普通技术人员可以理解上述实施例的各种方法中的全部或部分步骤是可以通过程序来指令相关的硬件来完成,该程序可以存储于一计算机可读存储介质中,存储介质可以包括:只读存储器(ROM,Read Only Memory)、随机存取存储器(RAM,Random Access Memory)、磁盘或光盘等。
以上所述实施例的各技术特征可以进行任意的组合,为使描述简洁,未对上述实施例中的各个技术特征所有可能的组合都进行描述,然而,只要这些技术特征的组合不存在矛盾,都应当认为是本说明书记载的范围。
以上所述实施例仅表达了本申请一些示例性实施例,其描述较为具体和详细,但并不能因此而理解为对本申请专利范围的限制。应当指出的是,对于本领域的普通技术人员来说,在不脱离本申请构思的前提下,还可以做出若干变形和改进,这些都属于本申请的保护范围。因此,本申请专利的保护范围应以所附权利要求为准。

Claims (20)

  1. 一种加密方法,包括:
    获取待加密的消息,所述消息具有一串字符;
    利用轮密钥存储器随机打乱电路进行随机打乱,生成n个伪轮密钥和一个真实轮密钥,并记录下真实轮密钥的位置,以n个伪轮密钥和一个真实轮密钥组成轮密钥序列对所述字符串进行SMS4加密计算,得到所需密文。
  2. 根据权利要求1所述的加密方法,其中,所述获取待加密的消息,所述消息具有一串字符之后还包括:
    获取一个起始矩阵,根据寄存器号可以在相应的寄存器中获取矩阵起始地址和矩阵长度,再根据矩阵起始地址和矩阵长度在存储单元中获取相应地址存放的矩阵,该起始矩阵具有多列和多行,所述多行包括第一行和最后一行以及第一行与最后一行之间的中间行,其中最后一行中的所有列中的不同字符和所有其他行中的所有列中的不同数字,并且其中所述字符串中的每个字符对应于矩阵的列之一。
  3. 根据权利要求1所述的加密方法,其中,所述轮密钥序列具体通过以下方式得到:确定真实轮密钥执行的序号,而轮密钥序列中其它N个伪轮密钥通过轮密钥随机选取,从轮密钥存储器的存储区中选择得到。
  4. 根据权利要求1所述的方法,其中,所述SMS4加密计算是指将待加密的明文与轮密钥序列中的密钥依次进行轮函数迭代计算,具体为:
    设明文输入为(X 0,X 1,X 2,X 3)∈(Z 2 32) 4,密文输出为(Y 0,Y 1,Y 2,Y 3)∈(Z 2 32) 4,轮密钥为rk i∈Z 2 32,i=0,1,2,…,31;则算法的加密变换为,
    X i+4=F(X i,X i+1,X i+1,X i+2,rk i)=X i T(X i+1 X i+2 X i+3 rk i),i=0,1,...,31;
    (Y 0,Y 1,Y 2,Y 3)=R(X 32,X 33,X 34,X 35)=(X 35,X 34,X 33,X 32)。
  5. 根据权利要求1所述的加密方法,其中,所述利用轮密钥存储器随机打乱电路进行随机打乱,生成n个伪轮密钥和一个真实轮密钥,并记录下真实轮密钥的位置,以n个伪轮密钥和一个真实轮密钥组成轮密钥序列对所述字符串进行SMS4加密计算,得到所需密文之后还包括使用加密时用过的密钥及相同算法的逆算法对密文进行解密,使其恢复成可读明文。
  6. 根据权利要求3所述的加密方法,其中,所述轮密钥存储器的存储区的 初始状态为隐藏状态。
  7. 一种加密装置,包括:
    获取单元,设置为获取待加密的消息,所述消息具有一串字符;
    加密单元,设置为利用轮密钥存储器随机打乱电路进行随机打乱,生成n个伪轮密钥和一个真实轮密钥,并记录下真实轮密钥的位置,以n个伪轮密钥和一个真实轮密钥组成轮密钥序列对所述字符串进行SMS4加密计算,得到所需密文。
  8. 根据权利要求7所述的加密装置,其中,所述获取单元还设置为获取一个起始矩阵,根据寄存器号可以在相应的寄存器中获取矩阵起始地址和矩阵长度,再根据矩阵起始地址和矩阵长度在存储单元中获取相应地址存放的矩阵,该起始矩阵具有多列和多行,所述多行包括第一行和最后一行以及第一行与最后一行之间的中间行,以及最后一行中的所有列中的不同字符和所有其他行中的所有列中的不同数字,并且其中所述字符串中的每个字符对应于矩阵的列之一。
  9. 根据权利要求7所述的加密装置,其中,所述加密单元还设置为确定真实轮密钥执行的序号,而轮密钥序列中其它N个伪轮密钥通过轮密钥随机选取,从轮密钥存储器的存储区中选择得到。
  10. 根据权利要求7所述的加密装置,其中,所述SMS4加密计算是指将待加密的明文与轮密钥序列中的密钥依次进行轮函数迭代计算,具体为:
    设明文输入为(X 0,X 1,X 2,X 3)∈(Z 2 32) 4,密文输出为(Y 0,Y 1,Y 2,Y 3)∈(Z 2 32) 4,轮密钥为rk i∈Z 2 32,i=0,1,2,…,31;则算法的加密变换为,
    X i+4=F(X i,X i+1,X i+1,X i+2,rk i)=X i T(X i+1 X i+2 X i+3 rk i),i=0,1,...,31;
    (Y 0,Y 1,Y 2,Y 3)=R(X 32,X 33,X 34,X 35)=(X 35,X 34,X 33,X 32)。
  11. 根据权利要求7所述的加密装置,其中,所述加密单元还设置为使用加密时用过的密钥及相同算法的逆算法对密文进行解密,使其恢复成可读明文。
  12. 根据权利要求9所述的加密装置,其中,所述轮密钥存储器的存储区的初始状态为隐藏状态。
  13. 一种计算机设备,包括存储器和处理器,所述存储器中存储有计算机 可读指令,所述计算机可读指令被所述处理器执行时,使得所述处理器执行以下步骤:
    获取待加密的消息,所述消息具有一串字符;
    利用轮密钥存储器随机打乱电路进行随机打乱,生成n个伪轮密钥和一个真实轮密钥,并记录下真实轮密钥的位置,以n个伪轮密钥和一个真实轮密钥组成轮密钥序列对所述字符串进行SMS4加密计算,得到所需密文。
  14. 根据权利要求13所述的计算机设备,其中,所述获取待加密的消息,所述消息具有一串字符之后,还使得所述处理器执行以下步骤:
    获取一个起始矩阵,根据寄存器号可以在相应的寄存器中获取矩阵起始地址和矩阵长度,再根据矩阵起始地址和矩阵长度在存储单元中获取相应地址存放的矩阵,该起始矩阵具有多列和多行,所述多行包括第一行和最后一行以及第一行与最后一行之间的中间行,其中最后一行中的所有列中的不同字符和所有其他行中的所有列中的不同数字,并且其中所述字符串中的每个字符对应于矩阵的列之一。
  15. 根据权利要求13所述的计算机设备,其中,所述计算机可读指令被所述处理器执行时,使得所述处理器执行以下步骤:
    确定真实轮密钥执行的序号,而轮密钥序列中其它N个伪轮密钥通过轮密钥随机选取,从轮密钥存储器的存储区中选择得到。
  16. 根据权利要求13所述的计算机设备,其中,所述SMS4加密计算是指将待加密的明文与轮密钥序列中的密钥依次进行轮函数迭代计算,具体为:
    设明文输入为(X 0,X 1,X 2,X 3)∈(Z 2 32) 4,密文输出为(Y 0,Y 1,Y 2,Y 3)∈(Z 2 32) 4,轮密钥为rk i∈Z 2 32,i=0,1,2,…,31;则算法的加密变换为,
    X i+4=F(X i,X i+1,X i+1,X i+2,rk i)=X i T(X i+1 X i+2 X i+3 rk i),i=0,1,...,31;
    (Y 0,Y 1,Y 2,Y 3)=R(X 32,X 33,X 34,X 35)=(X 35,X 34,X 33,X 32)。
  17. 一种存储有计算机可读指令的存储介质,所述计算机可读指令被一个或多个处理器执行时,使得一个或多个处理器执行以下步骤:
    获取待加密的消息,所述消息具有一串字符;
    利用轮密钥存储器随机打乱电路进行随机打乱,生成n个伪轮密钥和一个 真实轮密钥,并记录下真实轮密钥的位置,以n个伪轮密钥和一个真实轮密钥组成轮密钥序列对所述字符串进行SMS4加密计算,得到所需密文。
  18. 根据权利要求17所述的存储介质,其中,所述获取待加密的消息,所述消息具有一串字符之后,还使得一个或多个处理器执行以下步骤:
    获取一个起始矩阵,根据寄存器号可以在相应的寄存器中获取矩阵起始地址和矩阵长度,再根据矩阵起始地址和矩阵长度在存储单元中获取相应地址存放的矩阵,该起始矩阵具有多列和多行,所述多行包括第一行和最后一行以及第一行与最后一行之间的中间行,其中最后一行中的所有列中的不同字符和所有其他行中的所有列中的不同数字,并且其中所述字符串中的每个字符对应于矩阵的列之一。
  19. 根据权利要求17所述的存储介质,其中,所述计算机可读指令被所述处理器执行时,使得一个或多个处理器执行以下步骤:
    确定真实轮密钥执行的序号,而轮密钥序列中其它N个伪轮密钥通过轮密钥随机选取,从轮密钥存储器的存储区中选择得到。
  20. 根据权利要求17所述的存储介质,其中,所述SMS4加密计算是指将待加密的明文与轮密钥序列中的密钥依次进行轮函数迭代计算,具体为:
    设明文输入为(X 0,X 1,X 2,X 3)∈(Z 2 32) 4,密文输出为(Y 0,Y 1,Y 2,Y 3)∈(Z 2 32) 4,轮密钥为rk i∈Z 2 32,i=0,1,2,…,31;则算法的加密变换为,
    X i+4=F(X i,X i+1,X i+1,X i+2,rk i)=X i T(X i+1 X i+2 X i+3 rk i),i=0,1,...,31;
    (Y 0,Y 1,Y 2,Y 3)=R(X 32,X 33,X 34,X 35)=(X 35,X 34,X 33,X 32)。
PCT/CN2018/104280 2018-04-22 2018-09-06 加密方法、装置、计算机设备和存储介质 Ceased WO2019205407A1 (zh)

Applications Claiming Priority (2)

Application Number Priority Date Filing Date Title
CN201810363679.9 2018-04-22
CN201810363679.9A CN108847924A (zh) 2018-04-22 2018-04-22 加密方法、装置、计算机设备和存储介质

Publications (1)

Publication Number Publication Date
WO2019205407A1 true WO2019205407A1 (zh) 2019-10-31

Family

ID=64212274

Family Applications (1)

Application Number Title Priority Date Filing Date
PCT/CN2018/104280 Ceased WO2019205407A1 (zh) 2018-04-22 2018-09-06 加密方法、装置、计算机设备和存储介质

Country Status (2)

Country Link
CN (1) CN108847924A (zh)
WO (1) WO2019205407A1 (zh)

Families Citing this family (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN109981266B (zh) * 2019-03-14 2022-05-13 杭州当贝网络科技有限公司 密钥和敏感信息存储、读取方法及装置
CN110086603A (zh) * 2019-04-30 2019-08-02 中国联合网络通信集团有限公司 字符串的加密和解密方法、装置、产品标识及制造方法
CN114500356B (zh) * 2022-04-06 2022-07-05 广东省通信产业服务有限公司 数据交叉传输方法、装置及系统

Citations (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN101764684A (zh) * 2009-10-26 2010-06-30 广州杰赛科技股份有限公司 实现sms4算法的加解密系统
CN104734842A (zh) * 2015-03-13 2015-06-24 上海交通大学 基于伪操作的电路旁路攻击抵御方法
CN104734845A (zh) * 2015-03-25 2015-06-24 上海交通大学 基于全加密算法伪操作的旁路攻击防护方法
EP2889760A2 (en) * 2013-12-27 2015-07-01 Intel Corporation SMS4 acceleration processors, methods, systems, and instructions

Family Cites Families (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN100369074C (zh) * 2006-03-02 2008-02-13 西安西电捷通无线网络通信有限公司 一种实现sms4密码算法中加解密处理的方法
US9160525B2 (en) * 2013-07-19 2015-10-13 Qualcomm Incorporated Apparatus and method for key update for use in a block cipher algorithm

Patent Citations (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN101764684A (zh) * 2009-10-26 2010-06-30 广州杰赛科技股份有限公司 实现sms4算法的加解密系统
EP2889760A2 (en) * 2013-12-27 2015-07-01 Intel Corporation SMS4 acceleration processors, methods, systems, and instructions
CN104734842A (zh) * 2015-03-13 2015-06-24 上海交通大学 基于伪操作的电路旁路攻击抵御方法
CN104734845A (zh) * 2015-03-25 2015-06-24 上海交通大学 基于全加密算法伪操作的旁路攻击防护方法

Also Published As

Publication number Publication date
CN108847924A (zh) 2018-11-20

Similar Documents

Publication Publication Date Title
US8401186B2 (en) Cloud storage data access method, apparatus and system based on OTP
US8571220B2 (en) Method and apparatus for securing data in a memory device
US8681975B2 (en) Encryption method and apparatus using composition of ciphers
KR102397579B1 (ko) 부채널 분석 방지를 위한 화이트박스 암호 방법 및 장치
JP2012151805A (ja) データ暗号化装置、及び、メモリカード
CN114826590B (zh) 一种分组模式加密方法、解密方法及其装置、设备
CN102567688A (zh) 一种安卓操作系统上的文件保密系统及其保密方法
WO2019205407A1 (zh) 加密方法、装置、计算机设备和存储介质
US20100124328A1 (en) Extensive ciphertext feedback
JP2002351742A (ja) データ保護装置
CN109067517A (zh) 加密、解密装置、加密、解密方法和隐藏密钥的通信方法
Ahmad et al. Distributed text-to-image encryption algorithm
CN101138194A (zh) 数据处理设备
Choubey et al. Cryptographic techniques in information security
CN101138193A (zh) 数据处理设备
WO2007001075A1 (ja) 暗号化処理装置、暗号化方法、復号化処理装置、復号化方法、及びデータ構造
CN116707794B (zh) 信号矩阵生成方法、装置、设备和存储介质
Rayarapu et al. Securing files using AES algorithm
CN117118659A (zh) 一种基于废旧家电回收的用户信息数据加密方法
CN117725605A (zh) 一种远端自动编制电子档案文件信息保密的方法和系统
Abusukhon et al. Analyzing the efficiency of Text-to-Image encryption algorithm
Ahuja et al. Dual layer secured password manager using Blowfish and LSB
CN114676452A (zh) 一种数据安全存储方法和装置
Palaniappan V-crypto images/videos/textsby two key authentication using ACO algorithm technique
George et al. Analysis of Image Encryption Using Triple DES

Legal Events

Date Code Title Description
121 Ep: the epo has been informed by wipo that ep was designated in this application

Ref document number: 18916253

Country of ref document: EP

Kind code of ref document: A1

NENP Non-entry into the national phase

Ref country code: DE

32PN Ep: public notification in the ep bulletin as address of the adressee cannot be established

Free format text: NOTING OF LOSS OF RIGHTS PURSUANT TO RULE 112(1) EPC (EPO FORM 1205A DATED 17/02/2021)

122 Ep: pct application non-entry in european phase

Ref document number: 18916253

Country of ref document: EP

Kind code of ref document: A1