`
desert3
  • 浏览: 2160609 次
  • 性别: Icon_minigender_1
  • 来自: 合肥
社区版块
存档分类
最新评论

加密算法、DES、IDEA、RSA、DSA

阅读更多
加密技术是对信息进行编码和解码的技术,编码是把原来可读信息(又称明文)译成代码形式(又称密文),其逆过程就是解码(解密)。加密技术的要点是加密算法,加密算法可以分为对称加密、不对称加密和不可逆加密三类算法。

对称加密算法:对称加密算法是应用较早的加密算法,技术成熟。在对称加密算法中,数据发信方将明文(原始数据)和加密密钥一起经过特殊加密算法处理后,使其变成复杂的加密密文发送出去。收信方收到密文后,若想解读原文,则需要使用加密用过的密钥及相同算法的逆算法对密文进行解密,才能使其恢复成可读明文。在对称加密算法中,使用的密钥只有一个,发收信双方都使用这个密钥对数据进行加密和解密,这就要求解密方事先必须知道加密密钥。对称加密算法的特点是算法公开、计算量小、加密速度快、加密效率高。不足之处是,交易双方都使用同样钥匙,安全性得不到保证。此外,每对用户每次使用对称加密算法时,都需要使用其他人不知道的惟一钥匙,这会使得发收信双方所拥有的钥匙数量成几何级数增长,密钥管理成为用户的负担。对称加密算法在分布式网络系统上使用较为困难,主要是因为密钥管理困难,使用成本较高。在计算机专网系统中广泛使用的对称加密算法有DES(Data Encryption Standard)和IDEA等。美国国家标准局倡导的AES即将作为新标准取代DES。

不对称加密算法:不对称加密算法使用两把完全不同但又是完全匹配的一对钥匙—公钥和私钥。在使用不对称加密算法加密文件时,只有使用匹配的一对公钥和私钥,才能完成对明文的加密和解密过程。加密明文时采用公钥加密,解密密文时使用私钥才能完成,而且发信方(加密者)知道收信方的公钥,只有收信方(解密者)才是唯一知道自己私钥的人。不对称加密算法的基本原理是,如果发信方想发送只有收信方才能解读的加密信息,发信方必须首先知道收信方的公钥,然后利用收信方的公钥来加密原文;收信方收到加密密文后,使用自己的私钥才能解密密文。显然,采用不对称加密算法,收发信双方在通信之前,收信方必须将自己早已随机生成的公钥送给发信方,而自己保留私钥。由于不对称算法拥有两个密钥,因而特别适用于分布式系统中的数据加密。广泛应用的不对称加密算法有RSA算法和美国国家标准局提出的DSA(Digital Signature Algorithm)。以不对称加密算法为基础的加密技术应用非常广泛。

不可逆加密算法:不可逆加密算法的特征是加密过程中不需要使用密钥,输入明文后由系统直接经过加密算法处理成密文,这种加密后的数据是无法被解密的,只有重新输入明文,并再次经过同样不可逆的加密算法处理,得到相同的加密密文并被系统重新识别后,才能真正解密。显然,在这类加密过程中,加密是自己,解密还得是自己,而所谓解密,实际上就是重新加一次密,所应用的“密码”也就是输入的明文。不可逆加密算法不存在密钥保管和分发问题,非常适合在分布式网络系统上使用,但因加密计算复杂,工作量相当繁重,通常只在数据量有限的情形下使用,如广泛应用在计算机系统中的口令加密,利用的就是不可逆加密算法。近年来,随着计算机系统性能的不断提高,不可逆加密的应用领域正在逐渐增大。在计算机网络中应用较多不可逆加密算法的有RSA公司发明的MD5算法和由美国国家标准局建议的不可逆加密标准SHS(Secure Hash Standard:安全杂乱信息标准)等。

DEA(Data Encryption Algorithm、DES)数据加密算法:是一种对称加密算法,很可能是使用最广泛的密钥系统,特别是在保护金融数据的安全中,最初开发的DEA是嵌入硬件中的。通常,自动取款机(Automated Teller Machine,ATM)都使用DEA。它出自IBM的研究工作,IBM也曾对它拥有几年的专利权,但是在1983年已到期后,处于公有范围中,允许在特定条件下可以免除专利使用费而使用。1977年被美国政府正式采纳。
DES算法的安全性: 一.安全性比较高的一种算法,目前只有一种方法可以破解该算法,那就是穷举法. 二.采用64位密钥技术,实际只有56位有效,8位用来校验的.譬如,有这样的一台PC机器,它能每秒计算一百万次,那么256位空间它要穷举的时间为2285年.所以这种算法还是比较安全的一种算法.

TripleDES: 该算法被用来解决使用 DES 技术的 56 位时密钥日益减弱的强度,其方法是:使用两个独立密钥对明文运行 DES 算法三次,从而得到 112 位有效密钥强度。TripleDES 有时称为 DESede(表示加密、解密和加密这三个阶段)。

IDEA 国际数据加密算法:是旅居瑞士中国青年学者来学家和著名密码专家J.Massey于1990年提出的。它在1990年正式公布并在以后得到增强。这种算法是在DES算法的基础上发展出来的,类似于三重DES,和DES一样IDEA也是属于对称密钥算法。发展IDEA也是因为感到DES具有密钥太短等缺点,已经过时。IDEA的密钥为128位,这么长的密钥在今后若干年内应该是安全的。

RSA公钥加密算法是1977年由Ron Rivest、Adi Shamirh和LenAdleman在(美国麻省理工学院)开发的。RSA取名来自开发他们三者的名字。RSA是目前最有影响力的公钥加密算法,它能够抵抗到目前为止已知的所有密码攻击,已被ISO推荐为公钥数据加密标准。RSA算法基于一个十分简单的数论事实:将两个大素数相乘十分容易,但那时想要对其乘积进行因式分解却极其困难,因此可以将乘积公开作为加密密钥。 为提高保密强度,RSA密钥至少为500位长,一般推荐使用1024位。这就使加密的计算量很大。为减少计算量,在传送信息时,常采用传统加密方法与公开密钥加密方法相结合的方式,即信息采用改进的DES或IDEA对话密钥加密,然后使用RSA密钥加密对话密钥和信息摘要。对方收到信息后,用不同的密钥解密并可核对信息摘要。RSA算法是第一个能同时用于加密和数字签名的算法,也易于理解和操作。

RSA 加密算法的缺点: 1)产生密钥很麻烦,受到素数产生技术的限制,因而难以做到一次一密。 2)安全性,RSA的安全性依赖于大数的因子分解,但并没有从理论上证明破译RSA的难度与大数分解难度等价,而且密码学界多数人士倾向于因子分解不是NPC问题。 3)速度太慢,由于RSA 的分组长度太大,为保证安全性,n 至少也要 600 bitx以上,使运算代价很高,尤其是速度较慢,较对称密码算法慢几个数量级;且随着大数分解技术的发展,这个长度还在增加,不利于数据格式的标准化。

DSA(Digital Signature Algorithm):被美国国家标准局用来做DSS数据签名标准(Digital Signature Standard)。DSA是基于整数有限域离散对数难题的,其安全性与RSA相比差不多。DSA的一个重要特点是两个素数公开,这样,当使用别人的p和q时,即使不知道私钥,你也能确认它们是否是随机产生的,还是作了手脚。RSA算法却做不到。DSA只是一种算法,和RSA不同之处在于它不能用作加密和解密,也不能进行密钥交换,只用于签名,它比RSA要快很多.
  • 大小: 57.8 KB
分享到:
评论

相关推荐

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

    - **IDEA(International Data Encryption Algorithm)**:国际数据加密算法,提供了较强的加密效果。 - **RC4、RC5、RC6**:一系列流加密算法,其中RC4因其简单高效而在无线网络协议WEP和TLS/SSL中广泛应用。 - **...

    VB.NET关于加密算法

    对称加密算法,如DES、3DES、RC2、RC4和IDEA,使用同一密钥进行加密和解密,速度快,适合处理大量数据。然而,密钥的管理和分发是挑战,因为所有参与者都需要共享相同的密钥。 3. 公钥加密(PKCS)和数字签名: ...

    常见加密算法概述

    本文将详细介绍几种常见的加密算法,包括对称加密算法(如DES、3DES、Blowfish等)和非对称加密算法(如RSA、ECC等),以及哈希算法。 #### 二、对称加密算法 对称加密算法是指加密和解密使用相同的密钥进行操作的...

    论文研究-一种口令加密算法设计 .pdf

    本文列举了DES、3DES、RC2/RC4、IDEA、RSA、DSA、AES、BLOWFISH以及其他加密算法,并简述了它们的特点。加密算法按照密钥类型可以分为对称加密和非对称加密。对称加密使用同一个密钥进行加密和解密,而非对称加密...

    数据加密算法

    - **DES(Data Encryption Standard)**:一种早期的对称加密算法,速度快,适合加密大量数据,但因其64位密钥的弱点,现在已不被视为足够安全。 - **3DES(Triple DES)**:为提高DES的安全性,采用三个不同的...

    21种加密算法

    1. **DES(Data Encryption Standard)**:一种古老的对称加密算法,使用56位密钥,因其安全性较低,现在主要作为教学示例。 2. **3DES(Triple DES)**:为增强DES的安全性,通过三次应用DES算法,使用112或168位...

    .NET加密算法/密钥算法 详解 doc

    IDEA(国际数据加密算法)提供了较高的安全性,而RSA则是一种非对称加密算法,允许使用公钥加密和私钥解密,适合于密钥交换和数字签名。AES(高级加密标准)已经成为现代加密的首选,具有高安全性和效率。此外,还有...

    java加密解密算法大全

    对称加密算法使用相同的密钥进行加密和解密,操作简单快速,适用于大量数据的加密,如DES、3DES、IDEA等。然而,密钥的管理和安全性成为一大挑战。 ##### 2. 非对称加密算法 非对称加密算法采用一对密钥,即公钥和...

    精品资料(2021-2022年收藏)信息安全概论加密算法论文.doc

    常见的对称加密算法有DES(Data Encryption Standard)和AES(Advanced Encryption Standard),以及欧洲的IDEA(International Data Encryption Algorithm)。然而,对称加密的缺点在于密钥管理和分发困难,因为...

    c(c++)300多种加密解密算法

    MD2, MD5, SHA-1, HAVAL, Tiger, RIPE-MD160, MD5-MAC, HMAC, XOR-MAC, DES,IDEA, WAKE, 3-WAY, TEA, SAFER, Blowfish,SHARK, GOST, CAST-128, Square,Diamond2, Sapphire, RC2, RC5, RC6, MARS, SEAL, Luby-Rackoff...

    HCSCA115 加密与解密原理.pptx

    对称加密算法有RC4、DES、3DES、AES、IDEA等,非对称加密算法有DH、RSA和DSA等。 数字信封: 数字信封是使用非对称加密算法对数据进行加密和解密的一种方式。数字信封的优点是可以保护数据的安全,防止数据被窃取...

    cryptix_src_3-1-2.zip_SHA_SHA in java_java idea_md4_sha-1

    Cryptix是Java的一个加密库,包含了各种加密算法和工具,如上述的DES、RSA、SHA、MD5等。这个库是开源的,允许开发者在标准库之外添加更多加密选项。 综上所述,"cryptix_src_3-1-2.zip"包含的源代码可以提供关于...

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

    - **国际数据加密算法(IDEA)**:相比DES,IDEA提供了更好的加密性能,并且对计算机资源的要求较低。IDEA是PGP(Pretty Good Privacy)系统使用的加密算法之一。 - **其他算法**:如3DES、Blowfish、RC4、RC5、RC6...

    加密原理解析及相关算法

    常见的对称加密算法有DES(已淘汰)、3DES、DESX、Blowfish、IDEA、RC4、RC5、RC6以及AES。AES(Advanced Encryption Standard)是目前最常用的对称加密标准,具有较高的安全性。 其次,非对称加密算法采用一对密钥...

    加密解密算法 源代码 C

    MD2, MD5, SHA-1, HAVAL, Tiger, RIPE-MD160, MD5-MAC, HMAC, XOR-MAC, DES, IDEA, WAKE, 3-WAY, TEA, SAFER, Blowfish, SHARK, GOST, CAST-128, Square, Diamond2, Sapphire, RC2, RC5, RC6, MARS, SEAL, Luby-...

    java加密解密方法大全

    - **IDEA(International Data Encryption Algorithm)**:一种比DES更安全的对称加密算法。 - **AES(Advanced Encryption Standard)**:由美国国家标准与技术研究院(NIST)提出的新标准,旨在取代DES。 #### 非...

    操作类(文件读写,XML操作,各种加密解密等)

    4、IDEA(International Data Encryption Algorithm)国际数据加密算法,使用 128 位密钥提供非常强的安全性; 5、RSA:由 RSA 公司发明,是一个支持变长密钥的公共密钥算法,需要加密的文件块的长度也是可变的,非...

    加密解密算法-java 实现(algorithm.rar)

    IDEA(International Data Encryption Algorithm)是一种块加密算法,以其高效率和安全性著称。它使用128位密钥,并将数据分为64位块进行加密。 DSA(Digital Signature Algorithm)是用于数字签名的非对称算法,...

Global site tag (gtag.js) - Google Analytics