对称加密 非对称加密 不可逆加密算法

根据密钥类型不同可以将现代密码技术分为两类:对称加密算法(私钥密码体系)和非对称加密算法(公钥密码体系)。

1 对称加密算法中,数据加密和解密采用的都是同一个密钥,因而其安全性依赖于所持有密钥的安全性。
对称加密算法的主要优点是加密和解密速度快,加密强度高,且算法公开.
缺点是实现密钥的秘密分发困难,在大量用户的情况下密钥管理复杂,而且无法完成身份认证等功能,不便于应用在网络开放的环境中。
对称加密算法的特点是算法公开、计算量小、加密速度快、加密效率高。
目前最著名的对称加密算法有数据加密标准DES,但传统的DES由于只有56位的密钥,因此已经不适应当今分布式开放网络对数据加密安全性的要求。欧洲数据加密标准IDEA等,目前加密强度最高的对称加密算法是高级加密标准AES,AES提供128位密钥,128位AES的加密强度是56位DES加密强度的1021倍还多。。

对称加密算法过程是将数据发信方将明文(原始数据)和加密密钥一起经过特殊加密算法处理后,使其变成复杂的加密密文发送出去。收信方收到密文后,若想解读原文,则需要使用加密用过的密钥及相同算法的逆算法对密文进行解密,才能使其恢复成可读明文。在对称加密算法中,使用的密钥只有一个,发收信双方都使用这个密钥对数据进行加密和解密,这就要求解密方事先必须知道加密密钥。
不足之处是,交易双方都使用同样钥匙,安全性得不到保证。假设两个用户需要使用对称加密方法加密然后交换数据,则用户最少需要2个密钥并交换使用,如果企业内用户有n个,则整个企业共需要n×(n-1) 个密钥。

2 非对称加密算法
  非对称加密算法使用两把完全不同但又是完全匹配的一对钥匙(即一把公开密钥或加密密钥和专用密钥或解密密钥)—公钥和私钥。在使用不对称加密算法加密文件时,只有使用匹配的一对公钥和私钥,才能完成对明文的加密和解密过程。加密明文时采用公钥加密,解密密文时使用私钥才能完成,而且发信方(加密者)知道收信方的公钥,只有收信方(解密者)才是唯一知道自己私钥的人。非对称加密算法的基本原理是,如果发信方想发送只有收信方才能解读的加密信息,发信方必须首先知道收信方的公钥,然后利用收信方的公钥来加密原文;收信方收到加密密文后,使用自己的私钥才能解密密文。
广泛应用的非对称加密算法有RSA算法和美国国家标准局提出的DSA。
非对称加密算法的保密性比较好,它消除了最终用户交换密钥的需要,但加密和解密花费时间长、速度慢,它不适合于对文件加密而只适用于对少量数据进行加密。

对称加密算法、非对称加密算法和不可逆加密算法可以分别应用于数据加密、身份认证和数据安全传输。

3 不可逆加密算法

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

比较著名的

1 对称     DES

2 不对称  RSA

3 不可逆  MD5

时间: 2024-10-09 08:36:57

对称加密 非对称加密 不可逆加密算法的相关文章

第十四章 调试及安全性(In .net4.5) 之 对称及非对称加密

1. 概述 本章内容包括:对称及非对称加密算法..net中的加密类.使用哈希操作.创建和管理签名认证.代码访问权限 和 加密字符串. 2. 主要内容 2.1 使用对称和非对称加密 ① 对称加密:使用同一个密钥来加密和解密数据,密钥的安全传输是一个很重要的问题. ② 非对称加密:使用两个关联的密钥(公钥和私钥),公钥公开,私钥保密.用公钥加密的信息可以用私钥解密,反之亦然. ③ 对称加密 速度快,适用大数据量情况.使用两种加密算法的组合方式,可以实现大数据的加密传输. *密钥之外的另一种加密方式是

对称加密+非对称加密,实现数据安全传输

一般金融类的产品,涉及前端和后端交互的时候,都会都严格的数据安全保证.防止黑客攻击,信息篡改. 加密方式有很多,总的来说,分为2种:对称和非对称.我们先来看一下,这两种加密方式分别是什么?他们有什么区别? 对称加密: 对称加密,即采用对称的密码编码技术,他的特点是,加密和解密使用相同的秘钥. 常见的对称加密算法有DES.3DES.Blowfish.IDEA.RC4.RC5.RC6和AES.对称加密算法使用起来简单快捷,密钥较短,且破译困难. 但是对称秘钥在使用过程中存在以下问题: 1.对称加密算

单向加密 对称加密 非对称加密

单向加密: 单向加密又称为不可逆加密算法,在加密过程中不使用密钥,明文由系统加密处理成密文,密文无法解密.一般适合于验证,在验证过程中,重新输入明文,并经过同样的加密算法处理,得到相同的密文并被系统重新认证.广泛使用于口令加密. 一:base64 常见于邮件.http加密,截取http信息,你就会发现登录操作的用户名.密码字段通过BASE64加密的. 主要就是BASE64Encoder.BASE64Decoder两个类 BASE加密后产生的字节位数是8的倍数,如果不够位数以=符号填充 二:md5

[svc]对称加密/非对称加密细枝末节-如何做到数据传输的authentication/data integrity/confidentiality(私密)

对称/非对称/混合加密的冷知识 数据在互联网上传输,要考虑安全性. 讲到安全,要从三方面考虑: 1.authentication 每一个IP包的认证,确保合法源的数据 2.data integrity 验证数据完整性,保证在传输过程中没有被人为改动 3.confidentiality (私密性)数据包的加密 下面谈谈如何对数据加密. 于是有了非对称加密 对称加密 对称加密算法---使用一把密匙来对信息提供安全的保护.只有一个密匙,即用来加密,也用来解密 特点: - 1.速度快 - 2.密文紧凑

个人理解c#对称加密 非对称加密 散列算法的应用场景

c#类库默认实现了一系列加密算法在System.Security.Cryptography; 命名空间下 对称加密 通过同一密匙进行加密和解密.往往应用在内部数据传输情况下.比如公司a程序 和B程序 .a程序要给B程序发送数据 但是为了防止明文发送 数据被窃取.那么我就定了一个协议传输的数据的byte字节都统一+1  而接收数据的情况下将Byte字节统一-1 然后就能获得正确的 数据(当然这个是一个简单的加密) ,真正应用的加密肯定比这个复杂很多 非对称加密 传输数据的双方有各自的公钥和私钥  

Java对称与非对称加密解密,AES与RSA

加密技术可以分为对称与非对称两种. 对称加密,解密,即加密与解密用的是同一把秘钥,常用的对称加密技术有DES,AES等 而非对称技术,加密与解密用的是不同的秘钥,常用的非对称加密技术有RSA等 为什么要有非对称加密,解密技术呢 假设这样一种场景A要发送一段消息给B,但是又不想以明文发送,所以就需要对消息进行加密.如果采用对称加密技术,那么加密与解密用的是同一把秘钥.除非B事先就知道A的秘钥,并且保存好.这样才可以解密A发来的消息. 由于对称技术只有一把秘钥,所以秘钥的管理是一个很麻烦的问题.而非

白话数字签名(1)——基本原理(新!) 对称加密 非对称加密 数字签名

http://www.cnblogs.com/1-2-3/archive/2007/09/17/colloquialism-digital-certificate-part1.html 摘要 本系列通过通俗易懂的讲解,让您就像读小说一般,轻轻松松就能理解数字签名的基本原理和应用方法(即使您是一个并不精通计算机的企业老总,也能读懂本篇文章).然后我们再逐步深入技术细节,最后将给出一个在B/S信息系统中使用数字签名的DEMO. 由于数字签名基于非对称加密技术,所以我们需要先啰嗦一下对称加密和非对称加

对称与非对称加密;SSL;HTTPS;AJP

1.对称加密就是加密与解密的时候都是用一个密码 2.非对称加密,有一对密码A,B:用A加密就得用B解密,相对的用B加密就得用A解密 3.公钥与私钥,这一对密码,随便拿一个公布出去,那个就是公钥,剩下一个是私钥. 4.应用1:我想给一个人发信息,我就去拿他公布出来的公钥加密,加密后就只能用私钥来解密,由于私钥在他手中,就能很好在传输中保密. 5.应用2:我收到一个信息,说是银行发来的账单,银行为了不被别人冒牌货发假信息给客户,事先给客户说好,我给你发信息是我的私钥加密了的,所以客户到了信息就要去拿

Android Keystore 对称-非对称加密

Android 提供了 KeyStore 等可以长期存储和检索加密密钥的机制,Android KeyStore 系统特别适合于存储加密密钥. “AndroidKeyStore” 是 KeyStore 的一个子集,存进 AndroidKeyStore 的 key 将受到签名保护,并且这些 key 是存在系统里的,而不是在 App 的 data 目录下,依托于硬件的 KeyChain 存储,可以做到 private key 一旦存入就无法取出, 每个 App 自己创建的 key,别的应用是访问不到的