加密设备和解密设备、以及其操作方法技术

技术编号:20944732 阅读:42 留言:0更新日期:2019-04-24 02:29
用于解密通过使用块级加密算法加密的N*X位(其中N和X是正整数)的输入数据的装置的操作方法,包括:接收输入数据并将输入数据解码成其数量不同于N*X位的数量的N*Y位(其中Y是正整数)的数据;对N*Y位的数据执行块级加密算法的第一解密操作处理;将对其执行第一解密操作处理的N*Y位的数据编码成N*X位的中间轮数据;以及基于N*X位的中间轮数据执行预设数量的多个中间轮操作。

Encryption and decryption devices and their operation methods

The operation method of the device for decrypting input data encrypted by block-level encryption algorithm, where N and X are positive integers, includes: receiving input data and decoding input data into N*Y bits whose number is different from that of N*X bits (where Y is a positive integer); performing the first decryption operation of block-level encryption algorithm for data of N*Y bits; and performing the first decryption operation of the block-level encryption algorithm for data of N*Y bits; The data of N*Y bits processed by secret operations are encoded into intermediate round data of N*X bits, and the preset number of intermediate round operations are performed based on intermediate round data of N*X bits.

【技术实现步骤摘要】
加密设备和解密设备、以及其操作方法相关申请的交叉引用本申请要求于2017年10月13日和2018年6月4日分别在韩国知识产权局提交的韩国专利申请第10-2017-0133471号和第10-2018-0064477号的权益,其公开内容通过引用整体并入本文。
本专利技术构思涉及加密/解密设备以及其操作方法,更具体地,涉及用于根据块执行加密/解密算法的加密/解密设备,以及该加密/解密设备的操作方法。
技术介绍
随着通信技术和信息处理技术的进步,攻击者的能力得到提高,对安全密码加密系统的需求增加了。在当假设密码加密算法在其上操作的终端和使用该终端的用户是可信任的时,即使当密码加密算法被公开时,如果加密密钥没有被暴露,获得密文的攻击者也不能解密密文的前提下,已经开发了一种密码加密算法。然而,在实际环境中,参与通信的用户可能直接成为攻击者并且可能将加密密钥泄露给第三方。并且,安装在终端中的恶意软件可能成为攻击者,并且可以通过使用密文、解密的明文或保留在存储器中的密文以及加密密钥本身的中间计算来提取加密密钥。作为该问题的解决方案,白盒密码加密已成为用于保护软件和内容以及防止非法泄露的核心技术。在白盒密码加密中,由于加密密钥被隐藏在软件中的算法中,所以执行密码加密算法的过程中的中间操作值和加密密钥不会被直接暴露。也就是说,在白盒密码加密中,由于加密算法被改变为查找表并且加密密钥被隐藏到查找表中,因此即使攻击者监视加密密钥过程,攻击者也不能导出实际的加密密钥。
技术实现思路
本专利技术构思涉及加密设备、解密设备及其操作方法,并且提供了根据加密算法在操作处理之前和之后执行编码操作和解码操作的加密设备和解密设备的操作方法。根据本专利技术构思的一个方面,提供了用于解密基于块级加密算法加密的N*X位(其中N和X是正整数)的输入数据的装置,该装置包括:加密/解密控制器,包括被配置为存储输入数据的状态缓冲器;以及数据功能模块,被配置为基于输入数据顺序地执行:执行第一解密操作处理的最终轮操作、执行第二解密操作处理的多个中间轮操作以及执行第三解密操作处理的初始轮操作,其中,数据功能模块还被配置为将输入数据解码成其数量不同于N*X位数量的N*Y位的数据,基于N*Y位(其中Y是正整数)的数据执行第一解密操作处理,并且将对其执行第一解密操作处理的N*Y位的数据编码成N*X位的中间轮数据。根据本专利技术构思的另一方面,提供了加密/解密设备的操作方法,该操作方法包括:加密/解密设备的接口接收基于块级加密算法加密的N*X位(其中N和X是正整数)的输入数据;将N*X位的输入数据解码成其数量不同于N*X位数量的N*Y位(其中Y是正整数)的数据;对N*Y位的数据执行块级加密算法的第一解密操作处理;将对其执行第一解密操作处理的N*Y位的数据编码成N*X位的中间轮数据;以及对N*X位的中间轮数据执行块级加密算法的多个中间解密轮操作。根据本专利技术构思的又一方面,提供了用于解密通过使用块级加密算法加密的N*X位(其中N和X是正整数)的输入数据的装置的操作方法,该操作方法包括:接收输入数据并将输入数据解码成其数量不同于N*X位数量的N*Y位(其中Y是正整数)的数据;对N*Y位的数据进行块级加密算法的第一解密操作处理;将对其执行第一解密操作处理的N*Y位的数据编码成N*X位的中间轮数据;以及基于N*X位的中间轮数据执行预设数量的多个中间轮操作。根据本专利技术构思的再一方面,提供了装置,该装置包括:被配置为接收基于块级加密算法加密的N*X位(其中N和X是正整数)的输入数据的接口;和加密/解密设备。加密/解密设备包括:被配置为存储输入数据的状态缓冲器,以及数据功能模块。数据功能模块被配置为基于输入数据顺序地执行:对输入数据执行第一解密操作处理的最终轮操作、对从最终轮操作输出的最终轮数据执行第二解密操作处理的多个中间轮操作、以及对从多个中间轮操作输出的中间轮数据执行第三解密操作处理的初始轮操作。数据功能模块还被配置为将输入数据解码成其数量不同于N*X位数量的N*Y位(其中Y是正整数)的最终轮数据,对N*Y位的最终轮数据执行第一解密操作处理,并将对其执行第一解密操作处理的N*Y位的最终轮数据编码成N*X位的中间轮数据。输入数据从块级加密算法输出,该算法顺序地执行初始轮操作的逆、中间轮操作的多个逆和最终轮操作的逆。附图说明从以下结合附图的详细描述中,将更清楚地理解本专利技术构思的实施例。图1是用于描述对块级输入数据进行操作的解密算法的实施例的图。图2是装置的实施例的框图。图3是加密/解密设备的实施例的详细框图。图4是用于描述加密/解密设备的操作方法的实施例的图。图5A、图5B、图5C和图5D是用于描述最终轮操作的实施例的详细图。图6A和图6B是用于描述中间轮操作的实施例的详细图。图7A和图7B是用于描述用于一个或多个中间轮操作的编码操作和解码操作的实施例的图;图8是用于描述初始轮操作的实施例的详细流程图。图9A是示出在最终轮操作的实施例中生成的表的概念图。图9B是用于描述在图9A的编码操作中执行的XOR运算的概念图。图10是示出在中间轮操作的实施例中生成的表的概念图。图11是示出在初始轮操作的实施例中生成的表的概念图。图12A、图12B和图12C是用于描述加密/解密设备的操作方法的实施例的图。图13是存储器卡的实施例的框图。具体实施方式现在将参考附图更全面地描述本专利技术构思,附图中示出了实施例。图1是用于描述对块级输入数据进行操作的解密算法的实施例的图。参照图1,根据解密算法的解密操作可以以最终轮操作S10、一个或多个中间轮操作S20以及最终地最初轮操作S30的顺序来执行。可以以与块级加密算法的顺序相反的顺序对基于块级加密算法加密的输入数据执行解密算法。并且,解密算法的一些操作处理可以与块级加密算法的对应操作处理相反。也就是说,块级加密算法可以以初始轮操作(与S30相反)、然后(多个)中间轮操作(与S20相反)以及最终地最终轮操作(与S10相反)的顺序执行。在图1的解密操作中,首先可以通过使用子密钥Subkey_10对数据E_DT执行最终轮操作S10,该数据E_DT是被加载到状态缓冲器STB的块级数据。对其执行最终轮操作S10的数据E_DT可以是128位数据。然而,这仅是为了便于解释的示例,并且实施例不限于此。当数据E_DT是128位数据,即16字节数据时,数据E_DT可以作为4×4矩阵输入。4×4矩阵的每个分量可以对应于16字节数据的一个字节。接下来,可以顺序地执行使用子密钥Subkey_i的(多个)中间轮操作S20和使用子密钥Subkey_0的初始轮操作S30。这里,中间轮操作S20包括九轮,其从第九轮到第一轮顺序地执行。尽管为了便于解释,在本示例中,中间轮操作S20和初始轮操作S30中的轮的总数是10,但是这仅是示例并且实施例不限于此。在最终轮操作S10、(多个)中间轮操作S20、和初始轮操作S30中,要被操作的数据E_DT的每个字节可以分别与子密钥Subkey_10、Subkey_i和Subkey_0组合。最终轮操作S10、中间轮操作S20、和初始轮操作S30中的子密钥Subkey_10、Subkey_i和Subkey_0中的每一个的大小可以与数据E_DT的大小相同。可以通过基于例如本文档来自技高网...

【技术保护点】
1.一种用于解密基于块级加密算法加密的N*X位的输入数据的装置,其中N和X是正整数,所述装置包括:加密/解密控制器,包括状态缓冲器,所述状态缓冲器被配置为存储输入数据;和数据功能模块,被配置为基于输入数据顺序地执行:执行第一解密操作处理的最终轮操作、执行第二解密操作处理的多个中间轮操作、以及执行第三解密操作处理的初始轮操作,其中,所述数据功能模块还被配置为将输入数据解码成其数量不同于N*X位的数量的N*Y位的数据,其中Y是正整数,基于N*Y位的数据执行第一解密操作处理,并且将对其执行第一解密操作处理的N*Y位的数据编码成N*X位的中间轮数据。

【技术特征摘要】
2017.10.13 KR 10-2017-0133471;2018.06.04 KR 10-2011.一种用于解密基于块级加密算法加密的N*X位的输入数据的装置,其中N和X是正整数,所述装置包括:加密/解密控制器,包括状态缓冲器,所述状态缓冲器被配置为存储输入数据;和数据功能模块,被配置为基于输入数据顺序地执行:执行第一解密操作处理的最终轮操作、执行第二解密操作处理的多个中间轮操作、以及执行第三解密操作处理的初始轮操作,其中,所述数据功能模块还被配置为将输入数据解码成其数量不同于N*X位的数量的N*Y位的数据,其中Y是正整数,基于N*Y位的数据执行第一解密操作处理,并且将对其执行第一解密操作处理的N*Y位的数据编码成N*X位的中间轮数据。2.如权利要求1所述的装置,其中,所述数据功能模块还被配置为将N*X位的中间轮数据解码成N*Y位的中间轮数据,基于N*Y位的中间轮数据执行第二解密操作处理,并且将对其执行第二解密操作处理的N*Y位的中间轮数据编码成N*X位的中间轮数据。3.如权利要求2所述的装置,其中,所述数据功能模块还被配置为将N*X位的中间轮数据编码成N*Y位的初始轮数据,基于N*Y位的初始轮数据执行第三解密操作处理,并且将对其执行第三解密操作处理的N*Y位的初始轮数据编码成N*X位的解密数据。4.一种加密/解密设备的操作方法,所述操作方法包括:所述加密/解密设备的接口,接收基于块级加密算法加密的N*X位的输入数据,其中N和X是正整数;将N*X位的输入数据解码成其数量不同于N*X位的数量的N*Y位的数据,其中Y是正整数;对N*Y位的数据执行块级加密算法的第一解密操作处理;将对其执行第一解密操作处理的N*Y位的数据编码成N*X位的中间轮数据;以及对N*X位的中间轮数据执行块级加密算法的多个中间解密轮操作。5.如权利要求4所述的操作方法,其中,所述执行第一解密操作处理包括对N*Y位的数据执行轮密钥加操作和逆行移位操作。6.如权利要求4所述的操作方法,其中,所述执行多个中间解密轮操作包括执行多个中间轮操作,其中,所述多个中间轮操作中的每一个包括:将N*X位的中间轮数据解码成N*Y位的中间轮数据;对N*Y位的中间轮数据执行块级加密算法的第二解密操作处理;以及将对其执行第二解密操作处理的N*Y位的中间轮数据编码成N*X位的中间轮数据。7.如权利要求6所述的操作方法,其中,所述执行第二解密操作处理包括对N*Y位的中间轮数据执行逆字节替换操作、轮密钥加操作、逆列混合操作、和逆行移位操作。8.如权利要求6所述的操作方法,其中,所述将N*Y位的中间轮数据编码成N*X位的中间轮数据包括将N*Y位的数据划分成N条Y位数据,并且将非线性函数应用于N条Y位数据中的每一个。9.如权利要求8所述的操作方法,其中,在从多个中间轮操作当中的第一中间轮操作中将N*X位的中间轮数据解码成N*Y位的中间轮数据包括将N*X位的数据划分成N条X位数据,并且将非线性函数的反函数应用于N条X位数据中的每一个。10.如权利要求6所述的操作方法,其中,所述在多个中间轮操作中的每一个中将N*Y位的中间轮数据编码成N*X位的中间轮数据包括将N*Y位的数据划分成N条Y位数据,并且将非线性函数应用于N条Y位数据中的每一个,并且在除了从多个中间轮操作当中的初始中间轮操作之外的中间轮操作中的每一个中将N*X位的中间轮数据解码成N*Y位的中间轮数据包括将N*X位的数据划分成N条X位数据,并将先前轮中使用的非线性函数的反函数应用于N条X位数据中的每一个。11.如权利要求6所述的操作方法,还包括:将在从多个中间轮操作当中的最后中间轮操作中编码的N*X位的中间轮数据解码成N*Y位的初始轮数据;对N*Y位的初始轮数据执行块级加密算法的第三解密操作处理;以及将对其执行第三解密操作处理的N*Y位的初始轮数据编码成N*X位的解密数据。12.如权利要求11所述的操作方法,其中,所述执行第三解密操作处理包括对N*Y位的初始轮数据执行逆字节替换操作和轮密钥加...

【专利技术属性】
技术研发人员:洪贤淑
申请(专利权)人:三星电子株式会社
类型:发明
国别省市:韩国,KR

网友询问留言 已有0条评论
  • 还没有人留言评论。发表了对其他浏览者有用的留言会获得科技券。

1