Issn online (2278-8875) print (2320-3765)
哈里文·普拉塔普·辛格1, Shweta Verma2Shailendra Mishra3.
|
相关文章Pubmed,谷歌学者 |
浏览更多相关文章国际电气、电子与仪器工程高级研究杂志
有许多用于安全目的的安全算法。IDEA就是其中之一。分组密码IDEA操作64位明文和密文块,由128位密钥控制。该算法设计的基本创新是使用了来自三个不同代数群的运算。除了使用不同的密钥子块之外,算法结构的选择使得加密过程与解密过程完全相同。IDEA的缺点是在IDEA(国际数据加密算法)中发现了大量的弱密钥。此外,还发现了对IDEA第6轮的新攻击。本文描述了安全数据加密算法(S-IDEA)协议的设计与实现,将密钥的大小从128位增加到256位。增加的密钥大小将增加算法的复杂性。为了增加扩散量,在一轮IDEA中使用两个MA块(乘法加性块),而不是之前在一轮中使用一个MA块,通过这些修改,所提出的算法将增加加密强度。
关键字 |
国际数据加密算法(IDEA),安全数据加密算法(S-IDEA)。多个添加剂(马) |
介绍 |
对称加密,也称为常规加密或单密钥加密,是20世纪70年代公钥加密发展之前唯一使用的加密类型。到目前为止,它仍然是两种加密方式中使用最广泛的一种。 |
对称加密方案有五个组成部分: |
ﺷ明文:这是作为输入输入到算法中的原始可理解的消息或数据。 |
ﺷ加密算法:对明文进行各种替换和转换。 |
ﺷ密钥:它也是算法的输入,在发送方和接收方之间共享并在它们之间保密。算法执行的精确替换和转换依赖于密钥。 |
ﺷ密文:这是作为输出产生的加密消息。它取决于明文和密钥。密文是随机的数据流,是不可理解的。 |
ﺷ解密算法:是反向运行的加密算法。它接受密文和密钥并生成原始明文。 |
![]() |
定义1。 |
一个密码系统是一个五元组(P, C, K, E, D),其中满足以下条件: |
1.P是可能的纯文本的有限集合。 |
2.C是可能的密文的有限集合。 |
3.K,键空间,是一个有限的可能键的集合。 |
4.对于每一个K ε K,存在一个加密规则eK ε e和一个对应的解密规则dK ε d。每一个eK: P→C和dK: C→P都是使得对于每一个明文x ε P, dK(eK(x)) = x的函数。 |
主要属性是属性4。它表示,如果使用eK对明文x进行加密,然后使用dK对生成的密文进行解密,则会得到原始明文x。 |
密码学可以分为两大类 |
•非对称:使用一对密钥进行加密和解密。 |
对称:加密和解密使用相同的密钥(或没有密钥-在哈希函数的情况下) |
所有经典密码系统(即在20世纪70年代之前开发的密码系统)都是对称密钥密码系统[6]的例子。此外,大多数现代密码系统也是对称的。现代对称密钥密码系统的一些最流行的例子包括AES(高级加密标准)、DES(数据加密标准)、IDEA、FEAL、RC5和许多其他密码。所有对称密钥密码系统都有一个共同的属性:它们依赖于通信各方之间的共享秘密。这个秘密既用作加密密钥,也用作解密密钥(因此名称中有关键字“symmetric”)。这种类型的密码学只确保机密性,而不能提供密码学的其他目标。更重要的是,对称密钥加密的缺点是它不能处理大型通信网络。如果在一个有n个节点的通信网络中,一个节点需要与网络中的所有其他节点进行保密通信,则需要n - 1个共享秘密。对于较大的n值,这是非常不实用和不方便的。另一方面,与公钥密码系统相比,对称密码系统的一个优点是,对于相同级别的安全[1],对称密码系统需要更小的密钥大小。 Hence, the computations are much faster and the memory requirements are smaller (Whitfield et al, 1976) |
在公钥密码系统中,有两个不同的密钥:一个是公开的公钥,另一个是由所有者保密的密钥。该系统被称为“非对称”,因为加密和解密使用不同的密钥——公钥和私钥[1]。如果数据使用公钥加密,则只能使用相应的私钥解密,反之亦然[3]。今天,所有的公钥密码系统都依赖于一些计算上难以解决的问题。例如,RSA密码系统依赖于分解大整数的困难,而El-Gamal密码系统依赖于离散对数问题(DLP),这是在有限阿贝尔群中找到具有生成基的群元素的对数的问题。公钥密码系统不需要在通信方之间拥有共享秘密。这就解决了前面介绍的大型保密通信网络的问题。此外,公钥密码学为确保密码学的所有目标的技术实现方式打开了大门。通过组合公钥加密、公钥认证和安全哈希函数,存在支持数字签名、身份验证和数据完整性[1]的协议。由于处理器速度的提高,甚至由于智能现代密码分析,公钥加密的密钥大小变得非常大。与对称密钥加密系统相比,这产生了一个缺点:公钥加密明显慢得多,并且需要大内存容量和大计算能力。 As an example, a 128-bit key used with DES cryptosystem has approximately the same level of security as the 1024-bit key used with RSA public key cryptosystem (Oorschot P.C. van, et al, 1997). |
背景及相关工作 |
加密方案分为两部分。 |
1.经典密码学 |
2.现代密码学 |
经典密码通常分为换位密码和密码。替换密码用另一个符号替换一个符号。如果纯文本中的符号是字母字符,则用另一个字符替换一个字符。例如,假设要加密的语句是“这是最后一章”[7]。我们应用替换密码并用下一个ASCII字符更改每个字符,得到的语句将是“uif jjomb ..........”。这种方法通常被称为凯撒密码,因为它是由罗马将军朱利叶斯·卡尔萨(Julius Carsar)提出的。当一个字符被另一个字符替换时,它也被称为单字母密码。换位密码改变字符的位置。相对于替换密码,换位密码改变顺序,但不改变字符本身。例如,通过将第一个字符发送到第2个位置,将第三个字符发送到第4个位置,将第五个字符发送到第3个位置来重新洗牌原始字符串,以此类推[7]。 |
现代密码学 |
公钥加密(非对称) |
(一)加密 |
整数分解:RSA和Rabin加密。 |
离散对数:ElGamal加密。 |
(iii)椭圆曲线:椭圆曲线密码系统。 |
(iv) Chaotic:分形加密。 |
(v)其他:NTRU, gang - hann。 |
(b)密钥共享 |
(i)离散对数:Diffie-Hellman。 |
(ii)椭圆曲线:ECDH。 |
(iii)混沌:分形密钥交换。 |
(c)数字签名 |
(i)整数分解:RSA数字签名。 |
离散对数:DSA。 |
椭圆曲线:ECDSA。 |
(iv) Chaotic:分形数字签名。 |
非公开密钥 |
(a)密钥(对称) |
(i)分组密码:DES |
(ii)流密码。 |
(b)哈希函数SHA (Secure Hash Algorithm)。 |
分组密码IDEA操作64位明文和密文块,由128位密钥控制。该算法设计的基本创新是使用了来自三个不同代数群的运算。除了使用不同的密钥子块之外,算法结构的选择使得加密过程与解密过程完全相同。IDEA的缺点是在IDEA(国际数据加密算法)[4]中发现了大量的弱密钥。此外,还发现了对IDEA第6轮的新攻击。为此,我们提出了安全数据加密算法(S-IDEA)协议 |
系统设计与实现 |
S-IDEA的加密 |
加密过程包括八个相同的加密步骤(称为加密轮),然后是一个输出转换。详细展示了第一轮的结构。 |
在第一轮加密中,前四个16位密钥子块使用加法模216与两个16位明文块组合,并使用乘法模216 + 1与另外两个明文块组合。然后对结果进行进一步处理,如图3.4所示,其中两个16位密钥子块进入计算,并使用第三个代数群运算符,即逐位的排他或运算符。在第一轮加密结束时,产生四个16位值,这些值以部分改变的顺序用作第二轮加密的输入。上述第一轮的过程在随后的7轮加密中重复,对每个组合使用不同的16位密钥子块。在随后的输出转换中,在第8轮加密结束时产生的4个16位值与104个密钥子块中的最后4个使用加法模216和乘法模216 + 1组合,形成最终的4个16位密文块。 |
![]() |
![]() |
单发细节 |
(1) 128位文本被分成8个16位的块来处理。 |
(2)提出的改进版本IDEA(S-IDEA)可以看作是两个64位并行运行的子块。每一轮加密使用两个MA块和12个密钥。 |
(3)每轮由两个进一步的部分组成,即转换和子加密,每轮转换使用8个密钥,而子加密使用4个密钥。 |
(4)前一种密钥描述对第1到8轮有效,因为第9轮称为输出转换轮使用8个密钥 |
![]() |
由图1和图3可以得到如下关系: |
![]() |
![]() |
由图4可以看出如下关系: |
![]() |
![]() |
![]() |
S-IDEA加密子密钥生成 |
示例用户密钥被馈送到每轮模块的密钥生成中,每轮模块生成16个子密钥。样本用户密钥也被馈送到移位逻辑模块中,该模块将密钥移位25位圆左移,并再次生成16个子密钥。该过程递归地执行,直到生成所有104个子键为止。 |
![]() |
![]() |
S-IDEA解密: |
它实现了所有8+1轮IDEA实现,并具有S-IDEA的所有功能(加性模、乘性模、异或、MA块等)。解密。解密过程与加密过程相同,每轮的输出记为V,每轮进行变换的中间输出记为J。 |
J和W的关系 |
解密的变换轮(J)的输出与加密的子加密轮(W)的输出相关,反之亦然。考虑图5。我们可以写出下列关系: |
![]() |
![]() |
![]() |
![]() |
![]() |
![]() |
![]() |
![]() |
实验结果 |
图6所示的结果显示了在所提出的算法中生成的示例用户密钥。该算法从用户密钥中生成所有104个子密钥。并给出了算法生成的用户数据示例,这些数据需要使用S-IDEA进行加密。 |
图7描述了算法从样本用户密钥生成的104个加密子密钥。它还显示了将在哪个加密轮中使用哪个子密钥。 |
图8显示了S-IDEA加密过程的进展。它显示了每轮之后加密的数据,最后给出密文作为输出 |
图9为算法由加密子密钥生成的104个解密子密钥。它还显示将在哪个解密轮中使用哪个子密钥。 |
图10显示了S-IDEA解密过程的进展。它显示每轮之后解密的数据,最后给出纯文本作为输出。 |
![]() |
结论及未来工作 |
本文的基本目的是提高现有IDEA算法的强度。所提出的算法国际数据加密算法(S-IDEA)有两个关键特征:增加密钥大小(256位)和增加扩散程度(在单轮中使用两个MA块而不是一个)。与之前的52个子密钥相比,现在使用了104个子密钥,这增加了混淆的复杂性。因此,由于涉及104个子密钥时必须执行的工作量,其他形式攻击的可能性降低了。在每一轮SIDEA中增加一个新的MA块有助于增加扩散的复杂性。它使算法更安全,更不易受到密码分析的影响。 |
提出的算法提高了加密强度,消除了现有国际数据加密算法(IDEA)的不足。S-IDEA算法的未来范围是它也可以在硬件上使用VLSI技术实现。 |
参考文献 |
|