`

三种加密算法介绍

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

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

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

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

相关推荐

    elgamal加密算法python代码.docx

    下面将详细介绍如何用Python实现ElGamal加密算法。 1. 密钥生成 在ElGamal加密算法中,每个用户都有一对公私钥。首先需要生成一个大素数p和一个原根g,这两个参数都是公开的。然后随机选择一个小于p-2的整数x作为...

    AES算法主要包括三个方面:轮变化、轮数和密钥扩展。本文以128为例,介绍算法的基本原理;结合C语言,实现高级数据加密算法AES

    结合C语言,实现高级数据加密算法AES(AES-128)。-AES algorithm mainly includes three aspects: round of changes, round number and key expansion. In this paper, 128 for example, introduce the basic ...

    DES加密算法精讲课件

    可以帮助您更好的理解DES和RAS加密算法,和使用。 DES 是一种单一密钥加解密算法。通信主体之间只有一个密钥,该密钥不对第三方公开。 RSA 则是公钥/私钥系统。该系统比 DES 系统更原子化,具有普遍应用意义。

    论文研究-三重搅动加密算法的FPGA设计实现 .pdf

    三重搅动加密算法的FPGA设计实现,李军峰,胡国荣,EPON作为下一代宽带接入网的重要方案之一,安全问题亟待解决。本文介绍了三重搅动(Triple Churning)加密算法,针对单播和多播链路提��

    网络信息安全加密算法.doc

    《网络信息安全》 (2011-2012学年第2学期) 实 验 报 告 实验三 加密算法 实验3-1古典密码算法 一、实验目的 通过编程实现替代密码算法和置换密码算法,加深对古典密码体制的了解,为深入学习 密码学奠定基础。...

    2G 3G 4G 认证与加密(空口加密) 算法调研报告

    本调研报告建立在大量阅读论文的基础上,总结了2G,3G,4G的认证与空口加密算法的具体实现和三者的变化和比较。2G主要介绍GSM系统的认证算法COMP128以及A5算法,3G主要介绍f8算法及双向认证模式;4G介绍认证和加密在3G...

    ECC加密算法入门介绍

    同RSA(Ron Rivest,Adi Shamir,Len Adleman三位天才的名字)一样,ECC(Elliptic Curves Cryptography,椭圆曲线密码编码学)也属于公开密钥算法。目前,国内详细介绍ECC的公开文献并不多。本文主要侧重理论,代码...

    Java加密技术介绍.docx

    Java加密技术(一)——BASE64与单向加密算法MD5&SHA&MAC Java加密技术(二)——对称加密算法DES&AES Java加密技术(三)——PBE算法 Java加密技术(四)——非对称加密算法RSA Java加密技术(五)——非对称加密...

    Java加密技术

    MD5、SHA、HMAC这三种加密算法,可谓是非可逆加密,就是不可解密的加密方法。我们通常只把他们作为加密的基础。单纯的 以上三种的加密并不可靠。 BASE64 按照RFC2045的定义,Base64被定义为:Base64内容传送编码被...

    Java 对称加密几种算法分别实现

    主要介绍了Java 对称加密使用DES / 3DES / AES 这三种算法分别实现的相关资料,这里提供了实例代码,需要的朋友可以参考下

    AES加密解密验证工具(支持各种加密模式).exe

    AES加密解密验证工具(支持各种加密模式)

    基于MATLAB的混沌数字图像加密技术研究与仿真实现.zip

    本文主要研究了两种基于混沌理论的图像加密方案并进行仿真实验和性能测试,第一种方案是基于 Chen 超混沌系统、Logistic 混沌系统以及 DNA 编码运算解码三者相结合的彩色图像加密算法。此加密算法结合了三者各自的...

    Java加密与解密的艺术

    实践篇不仅对电子邮件传输算法、消息摘要算法、对称加密算法、非对称加密算法、数字签名算法等现今流行的加密算法的原理进行了全面而深入的剖析,而且还结合翔实的范例说明了各种算法的具体应用场景;综合应用篇既...

    [Java加密与解密的艺术].梁栋.扫描版.pdf

     全书包含3个部分,基础篇...高等数据加密—非对称加密算法第9章 带密钥的消息摘要算法—数字签名算法第三部分 综合应用篇第10章 终极武器—数字证书第11章 终极装备—安全协议第12章 量体裁衣—为应用选择合适的装备

    xml加密解密工具XMLEncryption

    (译者注:非对称加密算法需要两个密钥:公开密钥(publickey)和私有密钥(privatekey)。公开密钥与私有密钥是一对,如果用公开密钥对数据进行加密,只有用对应的私有密钥才能解密;如果用私有密钥对数据进行加密...

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

    实践篇不仅对电子邮件传输算法、消息摘要算法、对称加密算法、非对称加密算法、数字签名算法等现今流行的加密算法的原理进行了全面而深入的剖析,而且还结合翔实的范例说明了各种算法的具体应用场景;综合应用篇既...

    加密与解密II(PDF)

    采用循序渐进方式,从基本的跟踪调试到深层的拆解脱壳,从浅显的注册码分析到加密算法及商用软件保护,这520页的一部书,几乎囊括了Windows软件保护的绝大多数内容。 本书共分三个部分。第一部分介绍与加密和解密...

    DES数据加密

    幸运的是,在所有的加密算法中最简单的一种就是“置换表”算法,这种算法也能很好达到加密的需要。每一个数据段(总是一个字节)对应着“置换表”中的一个偏移量,偏移量所对应的值就输出成为加密后的文件。加密...

    论文研究 - 三重DES加密方案的快速FPGA实现

    在密码术中,三重DES(3DES,TDES或正式的TDEA)是一种对称密钥块密码,它对每个数据块应用三次数据加密标准(DES)密码算法。 已知电子支付系统将TDES方案用于数据的加密/解密,因此,更快的实现具有重要意义。 ...

    详解DES加密算法及在Java程序中的使用示例

    主要介绍了详解DES加密算法及在Java程序中的使用示例,文中还有一个用Java实现的DES三重加密的例子,需要的朋友可以参考下

Global site tag (gtag.js) - Google Analytics