`
kanwoerzi
  • 浏览: 1653089 次
文章分类
社区版块
存档分类
最新评论

IDEA算法-对称加密

 
阅读更多
1 简介
IDEA是International Data Encryption Algorithm 的缩写,是1990年由瑞士联邦技术学院来学嘉X.J.Lai 和Massey提出的建议标准算法称作PES( Proposed Encryption Standard) 。Lai 和Massey 在1992 年进行了改进强化了抗差分分析的能力改称为IDEA 它也是对64bit大小的数据块加密的分组加密算法密钥长度为128位它基于“相异代数群上的混合运算”设计思想算法用硬件和软件实现都很容易且比DES在实现上快的多。IDEA自问世以来,已经经历了大量的详细审查,对密码分析具有很强的抵抗能力,在多种商业产品中被使用。
2 算法框架
输入的64-位数据分组被分成4个16-位子分组:xl,X2,x3和x4。这4个子分组成为算法的第一轮的输入,总共有8轮。在每一轮中,这4个子分组相互相异或,相加,相乘,且与6个16-位子密钥相异或,相加,相乘。在轮与轮间,第二和第三个子分组交换。最后在输出变换中4个子分组与4个子密钥进行运算。
  在每一轮中,执行的顺序如下:
  (1)X1和第一个子密钥相乘。
  (2)x2和第二个子密钥相加。
  (3)X3和第三个子密钥相加。
  (4)x4和第四个子密钥相乘。
  (5)将第(1)步和第(3)步的结果相异或。 ·
  (6)将第(2)步和第(4)步的结果相异或。
  (7)将第(5)步的结果与第五个子密钥相乘。
  (8)将第(6)步和第(7)步的结果相加。
  (9)将第(8)步的结果与第六个子密钥相乘。
  (10)将第(7)步和第(9)步的结果相加。
  (11)将第(1)步和第(9)步的结果相异或。
  (12)将第(3)步和第(9)步的结果相异或。
  (13)将第(2)步和第(10)步的结果相异或。
  (14)将第(4)步和第(10)步的结果相异或。
  每一轮的输出是第(11)、(12)、(13)和(14) 步的结果形成的4个子分组。将中间两个分组分组交换(最后一轮除外)后,即为下一轮的输入。
  经过8轮运算之后,有一个最终的输出变换:
  (1) X1和第一个子密钥相乘。
  (2) x2和第二个子密钥相加。
  (3) x3和第三个子密钥相加。
  (4) x4和第四个子密钥相乘。
最后,这4个子分组重新连接到一起产生密文。
  产生子密钥也很容易。这个算法用了52个子密钥(8轮中的每一轮需要6个,其他4个用与输出变换)。首先,将128-位密钥分成8个16-位子密钥。这些是算法的第一批8个子密钥(第一轮六个,第二轮的头两个)。然后,密钥向左环移x位后再分成8个子密钥。开始4个用在第二轮,后面4个用在第三轮。密钥再次向左环移25位产生另外8个子密钥,如此进行直到算法结束。
3 评价
IDEA算法的密钥长度为128位。设计者尽最大努力使该算法不受差分密码分析的影响,数学家已证明IDEA算法在其8圈迭代的第4圈之后便不受差分密码分析的影响了。假定穷举法攻击有效的话,另一方面,若用1024片这样的芯片,有可能在一天内找到密钥,不过人们还无法找到足够的硅原子来制造这样一台机器。目前,尚无一片公开发表的试图对IDEA进行密码分析的文章。因此,就现在来看应当说IDEA是非常安全的。
分享到:
评论

相关推荐

    IDEA_10.10_对称加密算法_idea_

    IDEA算法,对称加密算法,效率比较高的算法,Idea algorithm

    常见加密算法方式(对称加密和非对称加密)

    对称加密:DES、3DES、DESX、Blowfish、IDEA、RC4、RC5、RC6和AES 非对称加密:RSA、ECC(移动设备用)、Diffie-Hellman、El Gamal、DSA(数字签名用)

    IDEA对称加密算法.zip

    IDEA对称加密算法(c语言实现)。 对称加密:整个算法和DES相似。

    IDEA对称密码算法剖析

    IDEA算法是一种 典型的对称密钥密码算法。是一种密钥长度为128位的分组密码算法,这种算法既可以用于 加密,也可以用于解密,具有代码量少、运行速度快、安全性高等特点。本文首先剖析了 IDEA算法原理,然后对基于...

    论文研究-针对IDEA加密算法的差分功耗攻击.pdf

    研究分析国际数据加密算法IDEA的特点,采用差分功耗分析攻击方式进行密钥破解,针对IDEA算法提出一种基于汉明距离的差分功耗攻击方法。该攻击方法是一种典型的加密芯片旁路攻击方式,其理论基础为集成电路中门电路在...

    Java 的IDEA 加密算法加密和数字签名编程

    本文主要谈一下在JAVA 环境下如何实现IDEA 对称加密算法密码学中的加密和数字签名以及其在java 中如何进行 使用也提供了对R S A 算法的直接支持现在我们从实例入手解决问题

    基于Java的IDEA加密算法探讨

    本文介绍了在JAVA环境下如何实现IDEA对称加密算法。由于电子商务和电子政务的普及,安全加密技术在其中应用非常广泛,对安全加密技术的要求也很高。目前在JAVA环境下实现IDEA加密具有很多的优势,因为JAVA是基于面向...

    IDEA算法(java)

    本文介绍了在Java环境下如何实现IDEA对称加密算法。由于电子商务和电子政务的普及,安全加密技术在其中应用非常广泛,对安全加密技术的要求也很高。目前在Java环境下实现IDEA加密具有很多的优势,

    对称加密和非对称加密介绍和区别

    对称加密采用了对称密码编码技术,它的特点是文件加密和解密使用相同的密钥,即加密密钥也可以用作解密密钥,这种方法在密码学中叫做对称加密算法,对称加密算法使用起来简单快捷,密钥较短,且破译困难,除了数据...

    PHP通用RSA非对称加密算法

    RSA是1977年由罗纳德·李维斯特(Ron Rivest)、...为减少计算量,在传送信息时,常采用传统加密方法与公开密钥加密方法相结合的方式,即信息采用改进的DES或IDEA对话密钥加密,然后使用RSA密钥加密对话密钥和信息摘

    论文研究-一种基于多模式加密算法的文件保护方案.pdf

    结合对称密码算法中的DES、IDEA、AES和单向散列算法中的MD5、SHA1、SHA256等算法,提出了一种在同一文件内部采用多模式加密的方案,该方案比传统的单一模式加密的方案能更好地保证数据的完整性和安全性。...

    国际数据加密算法

    一款高效的对称加密算法

    Java毕业设计-基于Misty1算法的加密软件(JAVA)的实现(源代码+论文).rar

    Misty1算法是一种广泛使用的对称加密算法,以其高效性和安全性著称。本软件通过实现Misty1算法,为用户提供了一个安全可靠的数据加密工具。项目源码结构清晰,注释详细,便于学习和二次开发。 主要功能包括: 1. ...

    PGP加密实验报告DOC版

    实验的主要内容包括熟悉对称加密算法,非对称加密算法,hash函数,数字签名等。主要技术用户密钥的生成,用户公钥的交换,对文件进行加密,利用PGP进行数字签名,利用PGP加密邮件等。通过PGP软件的使用,使同学理解...

    组合数据加密算法的研究与实现.pdf

    全性和可霏性、在实现IDEA算法的同时,还改进 并实现了RSA的算法.具体是:1)改进了Miller. Rabin大素数测试算法,大大缩短了测试时间;2)采 用对指数b的二进制数化来实现幂模运算,大大提 高了大整数幂模运算的...

    密码学课程设计-电子邮件保密系统的设计与实现(源码+报告).zip

    PGP不是一种完全的非对称加密体系,它是个混合加密算法,它是由一个对称加密算法(IDEA)、一个非对称加密算法(RSA)、一个单向散列算法以及-一个随机数产生器(从用户击键频率产生伪随机数序列的种子)组成的。...

    Java加密与解密的艺术配书源代码

    文件校验209 6.8 小结211 第7章初等数据加密—对称加密算法213 7.1 对称加密算法简述213 7.2 数据加密标准—DES 214 7.3 三重DES—DESede 222 7.4 高级数据加密标准—AES 227 7.5 国际数据加密标准—IDEA 232 7.6 ...

    Java加密与解密的艺术

    文件校验2096.8 小结211第7章初等数据加密—对称加密算法2137.1 对称加密算法简述2137.2 数据加密标准—DES 2147.3 三重DES—DESede 2227.4 高级数据加密标准—AES 2277.5 国际数据加密标准—IDEA 2327.6 基于口令...

Global site tag (gtag.js) - Google Analytics