CN108023728B - 加密装置及方法 - Google Patents

加密装置及方法 Download PDF

Info

Publication number
CN108023728B
CN108023728B CN201710805322.7A CN201710805322A CN108023728B CN 108023728 B CN108023728 B CN 108023728B CN 201710805322 A CN201710805322 A CN 201710805322A CN 108023728 B CN108023728 B CN 108023728B
Authority
CN
China
Prior art keywords
encryption
key table
algorithm
decryption
size
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
Application number
CN201710805322.7A
Other languages
English (en)
Other versions
CN108023728A (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.)
Samsung SDS Co Ltd
Original Assignee
Samsung SDS 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 Samsung SDS Co Ltd filed Critical Samsung SDS Co Ltd
Publication of CN108023728A publication Critical patent/CN108023728A/zh
Application granted granted Critical
Publication of CN108023728B publication Critical patent/CN108023728B/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/002Countermeasures against attacks on cryptographic mechanisms
    • 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/14Cryptographic mechanisms or cryptographic arrangements for secret or secure communications; Network security protocols using a plurality of keys or 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/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/0869Generation of secret information including derivation or calculation of cryptographic keys or passwords involving random numbers or seeds
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F7/00Methods or arrangements for processing data by operating upon the order or content of the data handled
    • G06F7/58Random or pseudo-random number generators
    • 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
    • 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/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
    • 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/12Transmitting and receiving encryption devices synchronised or initially set up in a particular manner
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L2209/00Additional information or applications relating to cryptographic mechanisms or cryptographic arrangements for secret or secure communication H04L9/00
    • H04L2209/16Obfuscation or hiding, e.g. involving white box
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L2209/00Additional information or applications relating to cryptographic mechanisms or cryptographic arrangements for secret or secure communication H04L9/00
    • H04L2209/24Key scheduling, i.e. generating round keys or sub-keys for block encryption

Landscapes

  • Engineering & Computer Science (AREA)
  • Computer Security & Cryptography (AREA)
  • Computer Networks & Wireless Communication (AREA)
  • Signal Processing (AREA)
  • General Physics & Mathematics (AREA)
  • Physics & Mathematics (AREA)
  • Theoretical Computer Science (AREA)
  • Computational Mathematics (AREA)
  • Mathematical Analysis (AREA)
  • Mathematical Optimization (AREA)
  • Pure & Applied Mathematics (AREA)
  • General Engineering & Computer Science (AREA)
  • Storage Device Security (AREA)

Abstract

本发明公开一种加密装置及方法,根据本发明的一实施例的加密装置包括:密钥表生成部,从由种子值导出的任意值生成至少一个加密用密钥表,并从所述至少一个加密用密钥表生成至少一个解密用密钥表;算法生成部,用于生成具有模糊结构的加密算法及具有模糊结构的解密算法,所述加密算法具有应用所述至少一个加密用密钥表的轮函数,所述解密算法具有应用所述至少一个解密用密钥表的轮函数;加密部,利用所述加密算法而对明文数据进行加密;解密部,利用所述解密算法而对被加密的数据进行解密。

Description

加密装置及方法
技术领域
本发明的实施例涉及加密技术。
背景技术
以往的白盒加密算法的实现方式可以根据成为其基础的对称密钥加密算法的内部特性而不同,并且依赖于基本算法,因此难以反映而体现基于应用环境的单位输入大小变化。
并且,以往的白盒加密算法为了保护基本算法的加密密钥而插入较多的附加运算,因此相较于基本算法而导致几十倍的效率下降。
[现有技术文献]
[专利文献]
韩国公开专利第10-2012-0030335号(2012.03.28)
发明内容
本发明的实施例用于提供一种加密装置及方法。
根据本发明的一实施例的加密装置包括:密钥表生成部,从由种子值导出的任意值生成至少一个加密用密钥表,并从所述至少一个加密用密钥表生成至少一个解密用密钥表;算法生成部,用于生成具有模糊结构的加密算法及具有模糊结构的解密算法,所述加密算法具有应用所述至少一个加密用密钥表的轮函数,所述解密算法具有应用所述至少一个解密用密钥表的轮函数;加密部,利用所述算法生成部而进行加密;解密部,利用所述算法生成部而进行解密。
所述密钥表生成部可以从所述至少一个加密用密钥表生成与各个加密用密钥表之间处于逆函数关系的解密用密钥表。
所述种子值可以是能够用比特串表示的初始输入值。
所述种子值可以是密钥、计数器值及初始化向量中的一个。
所述密钥表生成部可以基于用于加密的可用存储器的大小来确定所述任意值的大小。
所述算法生成部可以基于单位输入的大小及所述任意值的大小来确定所述模糊结构的分支数。
所述分支数基于下述数学式来确定,
Figure BDA0001402567110000021
(此时,b为分支数,n为所述单位输入的大小,k为所述任意值的大小。)
所述算法生成部可以基于所要求的安全强度来确定所述模糊结构的轮数。
根据本发明的一实施例的加密方法包括如下的步骤:生成从种子值导出的任意值;从所述任意值生成至少一个加密用密钥表;从所述至少一个加密用密钥表生成至少一个解密用密钥表;生成具有模糊结构的加密算法以及具有模糊结构的解密算法,其中,所述加密算法具有应用所述至少一个加密用密钥表的轮函数,所述解密算法具有应用所述至少一个解密用密钥表的轮函数;利用所述加密算法而将明文数据加密;利用所述解密算法而将被加密的数据解密。
在生成所述解密用密钥表的步骤中,可以从所述至少一个加密用密钥表生成与各个加密用密钥表之间处于逆函数关系的解密用密钥表。
所述种子值可以是能够用比特串表示的初始输入值。
所述种子值可以是密钥、计数器值及初始化向量中的一个。
在生成所述任意值的步骤中,可以基于用于加密的可用存储器的大小来确定所述任意值的大小。
在生成所述算法的步骤中,可以基于单位输入的大小及所述任意值的大小来确定所述模糊结构的分支数。
所述分支数可以基于下述数学式而确定,
Figure BDA0001402567110000022
(在此,b为分支数,n为所述单位输入的大小,k为所述任意值的大小。)
生成所述算法的步骤可以基于所要求的安全强度来确定所述模糊结构的轮数。
根据本发明的实施例,通过使用将能够在白盒环境内保护加密密钥的密钥表应用于轮函数的模糊结构的加密算法,可以在没有用于保护密钥的附加运算过程的情况下,在白盒环境内进行安全的数据加密。
并且,根据本发明的实施例,能够根据应用加密的环境而可变地调节密钥表的大小及模糊结构的分支数及轮数,因此可以构成最优化于应用环境的加密算法。
进而,根据本发明的实施例,可以利用应用到加密用密钥表的加密算法和应用到解密用密钥表的解密算法而设计成加密过程和解密过程彼此相异,因此即使加密算法或者解密算法被攻击者夺取,也可以保障安全性。
附图说明
图1是根据本发明的一实施例的加密装置的构成图。
图2是根据本发明的一实施例的密钥表生成部的详细构成图。
图3是示出加密用密钥表生成部中使用的轮函数的示例的图。
图4是示出根据本发明的一实施例而生成的加密算法的模糊结构的图。
图5是示出根据本发明的一实施例而生成的解密算法的模糊结构的图。
图6是根据本发明的一实施例的加密方法的流程图。
图7是示出根据本发明的一实施例的加密算法及解密算法的生成步骤的流程图。
符号说明
100:加密装置 110:密钥表生成部
130:算法生成部 150:加密部
170:解密部 111:密钥生成部
113:加密用密钥表生成部 115:解密用密钥表生成部
具体实施方式
以下,参考附图而对本发明的具体实施方式进行说明。以下的详细说明是为了有助于全面理解本说明书中记载的方法、装置和/或系统而提供的内容。然而,这只不过是示例,本发明并不局限于此。
在对本发明的实施例进行说明的过程中,如果认为对有关本发明的公知技术的具体说明有可能对本发明的主旨造成不必要的混乱,则省略其详细说明。另外,后述的术语均为考虑到本发明中的功能而定义的术语,其可能根据使用者、运用者的意图或惯例等而不同。因此,需要以贯穿整个说明书的内容为基础而对其下定义。在详细说明中使用的术语只用于记载本发明的实施例而并非旨在限定本发明。除非明确不同地使用,单数形态的表述包括复数形态的含义。在本说明书中,“包括”或“具有”之类的术语用于指代某种特性、数字、步骤、操作、要素及其一部分或组合,对此不应解释为排除所记载项之外的一个或一个以上的其他特性、数字、步骤、操作、要素及其一部分或组合的存在性或可存在性。
图1是根据本发明的一实施例的加密装置的构成图。
参考图1,根据本发明的一实施例的加密装置100包括:密钥表生成部110、算法生成部130、加密部150及解密部170。
密钥表生成部110利用种子值(seed value)生成从种子值导出的任意值,并由所生成的任意值生成至少一个加密用密钥表。并且,密钥表生成部110从所生成的至少一个加密用密钥表生成至少一个解密用密钥表(Key table)。
此时,加密用密钥表可以是由从种子值导出的任意值组成的查找表(lookuptable)。
另外,解密用密钥表可以是与加密用密钥表处于逆函数关系的密钥表。具体地,密钥表生成部110生成加密用密钥表之后,可以生成与加密用密钥表之间为逆函数关系的解密用密钥表。
以下,“密钥表”表示同时包含加密用密钥表和解密用密钥表的含义。
另外,种子值可以表示能够用比特串(bit string)表示的初始输入值。例如,种子值可以包括加密密钥、块加密(BlockCipher)的运行模式中使用的计数器值(countervalue)、由任意比特串组成的初始化向量等。
根据本发明的一实施例,由密钥表生成部110生成的任意值的大小可根据在应用加密装置100的计算环境内能够为加密而利用的可用存储器的大小而确定。
算法生成部130可以生成包括应用加密用密钥表的轮函数的模糊(Misty)结构的加密算法,所述加密用密钥表由密钥表生成部110生成。并且,算法生成部130可以生成包括应用解密用密钥表的轮函数的模糊(Misty)结构的解密算法,所述解密用密钥表由密钥表生成部110生成。
具体地,算法生成部130可以为了生成加密算法及解密算法而确定模糊结构的分支(branch)数及轮数。
此时,根据本发明的一实施例,模糊结构的分支数可以根据用于加密及解密的单位输入的大小、构成密钥表的任意值的大小而确定。具体地,算法生成部130例如可以基于下述数学式1来确定模糊结构的分支数b。
[数学式1]
Figure BDA0001402567110000051
数学式1中,n表示单位输入的大小(bit),k表示构成密钥表的任意值的大小(bit)。
另外,根据本发明的一实施例,模糊结构的轮数可以根据应用加密装置100的环境内所要求的安全强度而确定。
另外,在确定了模糊结构的分支数及轮数的情况下,算法生成部130可以对由所确定数量的分支及轮构成的模糊结构的各个轮函数应用加密用密钥表而生成加密算法。
并且,算法生成部130可以对以与加密算法相同的数量的分支及轮构成的模糊结构的各个轮函数应用解密用密钥表而生成解密算法。
此时,根据本发明的一实施例,由算法生成部130生成的加密算法及解密算法可以基于具有模糊结构的以往的加密算法来生成。例如,算法生成部130可以基于具有模糊结构的以往的加密算法来改变模糊结构的分支数和轮数,并对各个轮函数应用加密用密钥表或解密用密钥表,从而可以分别生成加密算法和解密算法。
另外,加密部150利用由算法生成部130生成的加密算法而将明文数据加密。
并且,解密部170利用由算法生成部130生成的解密算法而将被加密的数据解密。
图2是根据本发明的一实施例的密钥表生成部110的详细构成图。
参照图2,密钥表生成部110可以包括:密钥生成部111,用于由种子值生成多个子密钥;加密用密钥表生成部113,利用所生成的各个子密钥而生成加密用密钥表;解密用密钥表生成部115,由所生成的加密用密钥表生成解密用密钥表。
具体而言,密钥生成部111在接收输入的种子值并生成子密钥后,可以由前一个所生成的子密钥反复生成新的子密钥。例如,假设有生成三个子密钥的情形,密钥生成部111可以由接收到的种子值生成随机数而生成第一个子密钥。之后,密钥生成部111可以由所生成的第一个子密钥生成随机数,从而生成第二个子密钥,并且可以由所生成的第二个子密钥生成随机数,从而生成第三个子密钥。
加密用密钥表生成部113由从密钥生成部111生成的各个子密钥生成用于构成加密用密钥表的任意值,并可以生成包含所生成的任意值的加密用密钥表。具体而言,加密用密钥表生成部113可以利用用于由所输入的子密钥生成任意值的轮函数,而在每一轮均将各个子密钥应用于轮函数而生成任意值。
解密用密钥表生成部115可以从由加密用密钥表生成部113生成的加密用密钥表分别生成解密用密钥表。具体地,解密用密钥表生成部115可以对由加密用密钥表生成部113生成的加密用密钥表分别生成与加密用密钥表之间处于逆函数关系的解密用密钥表。
具体而言,图3为示出加密用密钥表生成部113中应用的轮函数的示例的图。
参照图3,如图示的示例,加密用密钥表生成部113可以对在密钥生成部111中生成的子密钥ki以及具有与子密钥ki相同大小的任意的值a进行XOR运算(异或运算),之后将XOR运算结果分成两个部分并将其分别应用于置换盒(Substitution-box;S-box)。之后,加密用密钥表生成部113可以对两个置换盒的输出结果值进行矩阵运算而产生任意值ri。此时,矩阵运算例如可以是利用最大距离可分(MDS:Maximum Distance Separable)矩阵的矩阵运算等具有能够使针对输入值的扩散效果最大化的性质的多种形态的矩阵运算。
另外,由密钥表生成部110进行的加密用密钥表的生成并不一定局限于图2以及图3中示出的示例。例如,除了图2以及图3中示出的例子之外,密钥表生成部110还可以在利用具有单向特性的多种方式而由种子值生成任意值,并生成包含所生成的任意值的加密用密钥表。
图4是示出根据本发明的一实施例而生成的加密算法的模糊结构的图。
图4中,假设要加密的明文数据的单位输入大小和构成加密用密钥表T的任意值的大小分别为64bit和16bit。
算法生成部130例如根据上述数学式1而示出的示例,具有4个分支,并构成将加密用密钥表T用作轮函数的4轮的基本结构,并可以根据基于安全强度来确定的轮数(图示的示例中为32轮)而以重复执行4轮的基本结构的方式构成模糊结构。
另外,参照图示的4轮基本结构,在第一轮中,以左侧为基准而输入到第一分支的块(block)的值被转换成在加密用密钥表T中对应的任意的值,转换后的任意的值通过XOR运算而与输入到第二分支的块的值结合。此后,在第二轮中,通过第一轮而生成的值被转换成在加密用密钥表T中对应的任意值,被转换的任意的值通过XOR运算而与被输入到第三分支的块的值结合。此后,以相同的方式进行第三轮和第四轮,在第四轮中,通过加密用密钥表T而被转换的任意的值与在第一分支中被转换的任意的值通过XOR运算而结合。
图5是示出根据本发明的一实施例而生成的解密算法的模糊结构的图。
图5中,假设要解密的密文数据的单位输入大小和构成解密用密钥表T-1的任意值的大小分别为64bit和16bit。
算法生成部130例如根据上述数学式1而示出的示例,具有4个分支,并构成将解密用密钥表T-1用作轮函数的4轮的基本结构,并可以根据基于安全强度来确定的轮数(图示的示例中为32轮)而以重复执行4轮的基本结构的方式构成模糊结构。
另外,参照图示的基本结构,在第一轮中,以左侧为基准而输入到第一分支的块的值被转换成在解密用密钥表T-1中对应的任意的值,转换后的任意的值通过XOR运算而与输入到第二分支的块的值结合。此后,在第二轮中,通过第一轮而生成的值被转换成在解密用密钥表T-1中对应的任意值,被转换的任意的值通过XOR运算而与被输入到第三分支的块的值结合。此后,以相同的方式进行第三轮和第四轮,在第四轮中,通过解密用密钥表T而被转换的任意的值与在第一分支中被转换的任意的值通过XOR运算而结合。
另外,在图4及图5中示出的示例中,示出了作为模糊结构的各轮的轮函数而分别利用加密用密钥表T和解密用密钥表T-1的情形,但不限于此。例如,各轮的轮函数可以是将在作为基础的模糊结构的加密算法中利用的轮函数的一部分变更为加密用密钥表T或解密用密钥表T-1的轮函数。
另外,在一实施例中,如图1所示的密钥表生成部110、算法生成部130、加密部150及解密部170可以在包括一个以上的处理器以及与该处理器连接的计算机可读记录介质的一个以上的计算装置上实现。计算机可读记录介质可以位于处理器的内部或者外部,并且可以通过公知的多种手段连接到处理器。计算装置内的处理器可以使各个计算装置照着本说明书中记载的示例性的实施例运行。例如,处理器可以执行计算机可读记录介质中储存的指令,计算机可读记录介质中储存的指令在由处理器执行时,可以使计算装置执行根据本说明书中记载的示例性的实施例的操作。
图6为根据本发明的一实施例的加密方法的流程图。
图6中示出的方法例如可以由图1中示出的加密装置100来执行。
参考图6,加密装置100生成由种子值导出的任意值(610)。
此后,加密装置100由所生成的任意值生成至少一个加密用密钥表(620)。此时,任意值的大小可以根据可用存储器的大小而确定。
此后,加密装置100从所生成的至少一个加密用密钥表生成至少一个解密用密钥表(630)。此时,解密用密钥表与加密用密钥表之间可处于逆函数关系。
此后,加密装置100生成包括应用到所生成的加密用密钥表的轮函数的模糊结构的加密算法(640)。
并且,加密装置100生成包括应用到所生成的解密用密钥表的轮函数的模糊结构的解密算法(650)。
此后,加密装置100利用所生成的加密算法而将明文数据加密(660)。
并且,加密装置100利用所生成的解密算法而将被加密的数据解密(670)。
图7是示出根据本发明的一实施例的加密算法及解密算法的生成步骤的流程图。
参照图7,加密装置100基于单位输入的大小及构成密钥表的任意值的大小来确定模糊结构的分支数(710)。
此后,加密装置100基于所要求的安全强度来确定模糊结构的轮数(720)。
此后,加密装置100生成具有确定的分支数及轮数的模糊结构的加密算法及解密算法(730)。
具体地,加密装置100可以对由确定的分支数及轮数构成的模糊结构的各个轮函数应用加密用密钥表而生成加密算法。
并且,加密装置100可以对由与加密算法相同的分支数及轮数构成的模糊结构的各个轮函数应用解密用密钥表而生成解密算法。
另外,在如图6及图7所示的流程图中将所述方法分成了多个步骤而进行了记载,然而还可以由如下的方式来执行:交换至少一部分步骤而执行;与其他步骤结合而一起执行;省略或分为细分化的步骤而执行;或者附加未图示的一个以上的步骤而执行。
另外,本发明的一实施例可以包括计算机可读记录介质,其包括用于在计算机上执行本说明书中记载的方法的程序。所述计算机可读记录介质可以单独地或者组合地包括程序命令、本地数据文件、本地数据结构等。所述介质可以是为本发明而特别地设计并构成的介质,或者可以是在计算机软件领域中通常被使用的介质。计算机可读记录介质的示例包括:磁介质,如硬盘、软盘以及磁带等;光记录介质,如CD-ROM、DVD等;磁-光介质,如软盘等;以及ROM、RAM、闪存等为了储存并执行程序命令而特别构成的硬件装置。作为程序命令的示例,不仅包括如利用编译器制作的计算机语言代码,还可以包括可利用解释器等而由计算机执行的高级语言代码。
以上,对本发明的具有代表性的实施例进行了详细的说明,然而在本发明所属的技术领域中具有基本知识的人员可以理解上述的实施例可在不脱离本发明的范围的限度内实现多种变形。因此,本发明的权利范围不应局限于上述的实施例,本发明的权利范围需要根据权利要求书的范围以及与该权利要求书均等的范围来确定。

Claims (12)

1.一种加密装置,包括:
密钥表生成部,从由种子值导出的任意值生成至少一个加密用密钥表,并从所述至少一个加密用密钥表生成至少一个解密用密钥表,所述至少一个加密用密钥表与所述至少一个解密用密钥表不同;
算法生成部,用于生成具有模糊结构的加密算法及具有模糊结构的解密算法,所述加密算法具有应用所述至少一个加密用密钥表的轮函数,所述解密算法具有应用所述至少一个解密用密钥表的轮函数;
加密部,利用所述算法生成部而进行加密;
解密部,利用所述算法生成部而进行解密,
其中,所述至少一个加密用密钥表和所述至少一个解密用密钥表分别为查找表,
所述密钥表生成部基于用于加密的可用存储器的大小来确定所述任意值的大小,
所述算法生成部基于单位输入的大小及所述任意值的大小来确定所述模糊结构的分支数。
2.如权利要求1所述的加密装置,其特征在于,
所述密钥表生成部从所述至少一个加密用密钥表生成与各个加密用密钥表属于逆函数关系的解密用密钥表。
3.如权利要求1所述的加密装置,其特征在于,
所述种子值是用比特串表示的初始输入值。
4.如权利要求3所述的加密装置,其特征在于,
所述种子值是密钥、计数器值及初始化向量中的一个。
5.如权利要求1所述的加密装置,其特征在于,
所述分支数基于下述数学式来确定,
Figure FDA0002912095750000011
其中,b为分支数,n为所述单位输入的大小,k为所述任意值的大小。
6.如权利要求1所述的加密装置,其特征在于,
所述算法生成部基于所要求的安全强度来确定所述模糊结构的轮数。
7.一种加密方法,包括如下的步骤:
生成从种子值导出的任意值;
从所述任意值生成至少一个加密用密钥表;
从所述至少一个加密用密钥表生成至少一个解密用密钥表,所述至少一个加密用密钥表与所述至少一个解密用密钥表不同;
生成具有模糊结构的加密算法以及具有模糊结构的解密算法,其中,所述加密算法具有应用所述至少一个加密用密钥表的轮函数,所述解密算法具有应用所述至少一个解密用密钥表的轮函数;
利用所述加密算法而将明文数据加密;
利用所述解密算法而将被加密的数据解密,
其中,所述至少一个加密用密钥表和所述至少一个解密用密钥表分别为查找表,
在生成所述任意值的步骤中,基于用于加密的可用存储器的大小来确定所述任意值的大小,
在生成所述加密算法和解密算法的步骤中,基于单位输入的大小及所述任意值的大小来确定所述模糊结构的分支数。
8.如权利要求7所述的加密方法,其特征在于,
在生成所述解密用密钥表的步骤中,从所述至少一个加密用密钥表生成与各个加密用密钥表属于逆函数关系的解密用密钥表。
9.如权利要求7所述的加密方法,其特征在于,
所述种子值是用比特串表示的初始输入值。
10.如权利要求9所述的加密方法,其特征在于,
所述种子值是密钥、计数器值及初始化向量中的一个。
11.如权利要求7所述的加密方法,其特征在于,
所述分支数基于下述数学式来确定,
Figure FDA0002912095750000021
其中,b为分支数,n为所述单位输入的大小,k为所述任意值的大小。
12.如权利要求7所述的加密方法,其特征在于,
在生成所述加密算法和解密算法的步骤中,基于所要求的安全强度来确定所述模糊结构的轮数。
CN201710805322.7A 2016-10-28 2017-09-08 加密装置及方法 Active CN108023728B (zh)

Applications Claiming Priority (2)

Application Number Priority Date Filing Date Title
KR10-2016-0142252 2016-10-28
KR1020160142252A KR101924067B1 (ko) 2016-10-28 2016-10-28 암호화 장치 및 방법

Publications (2)

Publication Number Publication Date
CN108023728A CN108023728A (zh) 2018-05-11
CN108023728B true CN108023728B (zh) 2021-04-27

Family

ID=62021948

Family Applications (1)

Application Number Title Priority Date Filing Date
CN201710805322.7A Active CN108023728B (zh) 2016-10-28 2017-09-08 加密装置及方法

Country Status (3)

Country Link
US (1) US10951402B2 (zh)
KR (1) KR101924067B1 (zh)
CN (1) CN108023728B (zh)

Families Citing this family (11)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
EP3651142A4 (en) * 2017-08-10 2021-03-24 Sony Corporation ENCRYPTION DEVICE, ENCRYPTION METHOD, DECCRYPTION DEVICE, AND DECryption METHOD
US10333710B2 (en) * 2017-09-12 2019-06-25 Qed-It Systems Ltd. Method and system for determining desired size of private randomness using Tsallis entropy
CN111989893B (zh) 2018-01-19 2022-04-26 Qed-It系统有限公司 用于生成和链接零知识证明的方法、系统和计算机可读装置
CN109120396B (zh) * 2018-07-10 2021-11-26 成都安恒信息技术有限公司 一种基于挑战应答码的数据加解密系统的使用方法
KR102565443B1 (ko) * 2018-10-26 2023-08-16 삼성에스디에스 주식회사 암호 알고리즘 생성 장치 및 방법, 암호화 장치 및 방법
KR102565442B1 (ko) * 2018-10-26 2023-08-16 삼성에스디에스 주식회사 암호 알고리즘 생성 장치 및 방법, 암호화 장치 및 방법
CN109379178B (zh) * 2018-11-15 2022-01-11 成都卫士通信息产业股份有限公司 加解密装置构建方法、系统、介质及设备
CN109617681A (zh) * 2018-12-06 2019-04-12 成都卫士通信息产业股份有限公司 加解密方法及装置、电子设备、计算机可读存储介质
US20220329439A1 (en) * 2019-08-05 2022-10-13 Securify Bilisim Teknolojileri Ve Guvenligi Egt. Dan. San. Ve Tic. Ltd. Sti. Method for generating digital signatures
CN110912679A (zh) * 2019-11-19 2020-03-24 海南众博数据科技有限公司 密码设备
KR20230120309A (ko) * 2022-02-09 2023-08-17 (주)가온아이 포스트 양자 암호 환경을 위한 고 차원 다형성 암호화를 수행하는 전자 장치 및 그 동작 방법

Citations (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN101073220A (zh) * 2004-12-09 2007-11-14 英特尔公司 用于提高密码处理的速度的方法和装置
CN105227308A (zh) * 2014-06-13 2016-01-06 华为技术有限公司 一种加密、解密方法及电子设备
WO2016043665A1 (en) * 2014-09-18 2016-03-24 Huawei International Pte. Ltd. Encryption function and decryption function generating method, encryption and decryption method and related apparatuses

Family Cites Families (6)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
WO2009090688A1 (ja) * 2008-01-18 2009-07-23 Fujitsu Limited データ変換関数の処理装置
US9654280B2 (en) 2009-03-10 2017-05-16 Irdeto B.V. White-box cryptographic system with input dependent encodings
CN102006161B (zh) * 2010-12-02 2012-06-27 北京航空航天大学 一种对称密钥加密的非线性变换方法及其实现装置
CN103746814B (zh) * 2014-01-27 2018-04-20 华为技术有限公司 一种加密、解密的方法及设备
KR101593169B1 (ko) * 2014-08-20 2016-02-15 한국전자통신연구원 페이스텔 구조의 가변길이 블록암호 장치 및 방법
KR20160024504A (ko) * 2014-08-26 2016-03-07 삼성에스디에스 주식회사 암호화 키 생성 장치 및 방법과 복호화 키 생성 장치 및 방법

Patent Citations (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN101073220A (zh) * 2004-12-09 2007-11-14 英特尔公司 用于提高密码处理的速度的方法和装置
CN105227308A (zh) * 2014-06-13 2016-01-06 华为技术有限公司 一种加密、解密方法及电子设备
WO2016043665A1 (en) * 2014-09-18 2016-03-24 Huawei International Pte. Ltd. Encryption function and decryption function generating method, encryption and decryption method and related apparatuses

Also Published As

Publication number Publication date
KR20180046721A (ko) 2018-05-09
US10951402B2 (en) 2021-03-16
US20180123788A1 (en) 2018-05-03
CN108023728A (zh) 2018-05-11
KR101924067B1 (ko) 2019-02-22

Similar Documents

Publication Publication Date Title
CN108023728B (zh) 加密装置及方法
CN106656467B (zh) 加密装置及方法
CN107438065B (zh) 数据加密装置及方法、数据解密装置及方法
CN107637010B (zh) 数据加密装置及方法和数据解密装置及方法
US8966279B2 (en) Securing the implementation of a cryptographic process using key expansion
CN105406969B (zh) 数据加密装置及方法
US9189425B2 (en) Protecting look up tables by mixing code and operations
US9515818B2 (en) Multi-block cryptographic operation
US8966285B2 (en) Securing implementation of a cryptographic process having fixed or dynamic keys
US9143317B2 (en) Protecting against white box attacks using column rotation
JP2016523391A (ja) 平文データを暗号化するための方法および装置
US20120254625A1 (en) Protecting states of a cryptographic process using group automorphisms
US8675866B2 (en) Multiplicative splits to protect cipher keys
KR102169369B1 (ko) 경량 블록 암호화에 대한 1차 부채널 공격에 대응하는 방법 및 이를 이용한 장치
US20120179920A1 (en) Securing cryptographic process keys using internal structures
KR101914453B1 (ko) 암호화 장치 및 방법
EP3644546B1 (en) Apparatus and method for generating cryptographic algorithm, apparatus and method for encryption
US10965454B2 (en) Apparatus and method for public key encryption
KR102019182B1 (ko) 컴퓨터 실행 가능한 화이트박스 암호화 운영모드 제어 방법 및 장치
CN108023726B (zh) 加密装置及加密方法
KR102157219B1 (ko) 경량 블록 암호화에 대한 고차 부채널 공격에 대응하는 방법 및 이를 이용한 장치

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