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号的权益,其公开内容通过引用整体并入本文。
本专利技术构思涉及加密/解密设备以及其操作方法,更具体地,涉及用于根据块执行加密/解密算法的加密/解密设备,以及该加密/解密设备的操作方法。
技术介绍
随着通信技术和信息处理技术的进步,攻击者的能力得到提高,对安全密码加密系统的需求增加了。在当假设密码加密算法在其上操作的终端和使用该终端的用户是可信任的时,即使当密码加密算法被公开时,如果加密密钥没有被暴露,获得密文的攻击者也不能解密密文的前提下,已经开发了一种密码加密算法。然而,在实际环境中,参与通信的用户可能直接成为攻击者并且可能将加密密钥泄露给第三方。并且,安装在终端中的恶意软件可能成为攻击者,并且可以通过使用密文、解密的明文或保留在存储器中的密文以及加密密钥本身的中间计算来提取加密密钥。作为该问题的解决方案,白盒密码加密已成为用于保护软件和内容以及防止非法泄露的核心技术。在白盒密码加密中,由于加密密钥被隐藏在软件中的算法中,所以执行密码加密算法的过程中的中间操作值和加密密钥不会被直接暴露。也就是说,在白盒密码加密中,由于加密算法被改变为查找表并且加密密钥被隐藏到查找表中,因此即使攻击者监视加密密钥过程,攻击者也不能导出实际的加密密钥。
技术实现思路
本专利技术构思涉及加密设备、解密设备及其操作方法,并且提供了根据加密算法在操作处理之前和之后执行编码操作 ...
【技术保护点】
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位的初始轮数据执行逆字节替换操作和轮密钥加...
还没有人留言评论。发表了对其他浏览者有用的留言会获得科技券。