对称加密算法与非对称加密算法的区别
对称加密算法
对称加密算法是应用较早的加密算法,技术成熟。在对称加密算法中,数据发信方将明文(原始数据)和加密密钥一起经过特殊加密算法处理后,使其变成复杂的加密密文发送出去。收信方收到密文后,若想解读原文,则需要使用加密用过的密钥及相同算法的逆算法对密文进行解密,才能使其恢复成可读明文。在对称加密算法中,使用的密钥只有一个,发收信双方都使用这个密钥对数据进行加密和解密,这就要求解密方事先必须知道加密密钥。
对称加密算法的特点是算法公开、计算量小、加密速度快、加密效率高。不足之处是,交易双方都使用同样钥匙,安全性得不到保证。此外,每对用户每次使用对称加密算法时,都需要使用其他人不知道的惟一钥匙,这会使得发收信双方所拥有的钥匙数量成几何级数增长,密钥管理成为用户的负担。对称加密算法在分布式网络系统上使用较为困难,主要是因为密钥管理困难,使用成本较高。在计算机专网系统中广泛使用的对称加密算法有DES、IDEA和AES。
不对称加密算法
不对称加密算法使用两把完全不同但又是完全匹配的一对钥匙—公钥和私钥。在使用不对称加密算法加密文件时,只有使用匹配的一对公钥和私钥,才能完成对明文的加密和解密过程。加密明文时采用公钥加密,解密密文时使用私钥才能完成,而且发信方(加密者)知道收信方的公钥,只有收信方(解密者)才是唯一知道自己私钥的人。不对称加密算法的基本原理是,如果发信方想发送只有收信方才能解读的加密信息,发信方必须首先知道收信方的公钥,然后利用收信方的公钥来加密原文;收信方收到加密密文后,使用自己的私钥才能解密密文。显然,采用不对称加密算法,收发信双方在通信之前,收信方必须将自己早已随机生成的公钥送给发信方,而自己保留私钥。由于不对称算法拥有两个密钥,因而特别适用于分布式系统中的数据加密。广泛应用的不对称加密算法有RSA算法和美国国家标准局提出的DSA。以不对称加密算法为基础的加密技术应用非常广泛。
来自:http://blog.712100.com/23611/viewspace-16217
个人理解与总结:
1、基于DES加密算法理解对称加密算法
从DES加密算法可以体会到:对称加密算法在对数据进行加密和解密的过程中,都是使用了数据接收方的密钥(公钥和私钥),具体做法就是,数据发送方使用接受方的公钥加密数据,而数据接收方使用自己的私钥机密数据,其实围绕的就是数据接收方的密钥。
2、基于RSA加密算法理解非对称加密算法
通过上面对非对称加密算法的叙述,我感觉理解不是很深刻。总体的感觉就是:
(1) 基于RSA加密算法比较麻烦,因为RSA加密算法是基于一个大数n的,需要计算出一个密钥对(公钥和私钥),但是这里公钥和私钥还是一对数,即公钥为(e,n),私钥为(e,d).
(2) 在数据发送方与接受发执行数据传输之前,保证了双方公钥的分发管理,加强了公钥的安全性(比之于在对称加密算法中:公钥就是完全公开的),这个特点确实加强了加密数据的发送方的身份真实性。
还有待于继续深入理解。
分享到:
相关推荐
RSA 非对称加密算法 RSA 非对称加密算法是一种经典的非对称加密算法,由罗纳德·李维斯特、阿迪·萨莫尔和伦纳德·阿德曼三人于 1977 年共同提出的。该算法的主要思想是基于大素数的乘积和因式分解之间的关系,通过...
本实验报告主要涉及两种加密算法:对称加密算法DES(Data Encryption Standard)和非对称加密算法RSA。实验旨在帮助学生深入理解这两种算法的基本原理,并通过Python编程实现加密和解密过程。 ### **对称加密算法...
java关于加密的算法demo代码(Base64加密\数字签名\对称加密算法\非对称加密算法\消息摘要算法) JAVA安全实现三种方式: 1.JDK 2.Commons Codec 3.Bouncy Castle 一。非对称加密算法: 1.DH 2.RSA 3.ELGamal 二。...
在实际操作中,经常采用混合加密模式:利用非对称加密算法交换对称加密算法的密钥,再利用对称加密算法加密实际数据,从而结合两种加密算法的优点。 总之,加密算法是信息安全领域的基石,合理选择和使用加密算法...
非对称加密算法流程图,使用visio绘制。
非对称加密算法和数字签名是信息技术中两个关键的安全概念,尤其在网络安全和数据保护方面起着至关重要的作用。在Java编程环境中,这些技术被广泛应用于实现安全通信、身份验证和数据完整性保护。 非对称加密算法,...
### 对称加密算法与非对称加密算法 #### 对称加密算法 ##### 概述 对称加密算法是一种历史悠久且广泛使用的加密技术。在这种加密方式中,加密和解密使用相同的密钥。也就是说,发送方使用一个密钥来加密信息,接收...
ECC非对称加密算法, 最快,最安全的加密算法
### 非对称加密算法的关键知识点 #### 1. 非对称加密算法概述 非对称加密算法是一种重要的加密技术,它基于一对密钥(公钥和私钥)来进行加密和解密操作。这种加密方式的核心优势在于提高了数据的安全性,因为它...
在IT领域,对称加密算法是一种广泛用于数据保护的技术,特别是在C#编程环境中。这种算法基于一个密钥,用于加密和解密数据,因此被称为“对称”,因为用于加密和解密的密钥是相同的。下面我们将深入探讨C#中的对称...
这是本人总结的Java 非对称 加密 算法,有疑问可以找我1038546502@qq.com
对称加密算法是一种广泛应用于信息安全领域的技术,它的主要特点是加密和解密使用相同的密钥。在OpenSSL库中,对称加密算法的实现主要通过EVP(Encrypt, Verify, and Parse)接口,尤其是EVP_Encrypt*...*和EVP_...
易语言自创对称加密算法
RSA非对称加密算法是密码学中的一个重要概念,由Ron Rivest、Adi Shamir和Leonard Adleman在1977年提出,因此得名RSA。它是一种基于大素数分解困难性的公钥加密算法,对于网络安全、数据保护以及数字签名等领域具有...
"Java实现的对称加密算法AES定义与用法详解" 对称加密算法AES是当前使用最多的加密算法之一,其主要特点是高级的、安全的、快速的和灵活的。下面我们将详细介绍Java实现的对称加密算法AES的定义、特点、用法及使用...
OpenSSL 是一个开源的加密算法库,它提供了对称加密算法、非对称加密算法、哈希算法等多种加密算法。OpenSSL 的对称加密算法中可以添加新算法,以满足不同的加密需求。下面我们将介绍如何在 OpenSSL 对称加密算法中...
SM4对称加密算法源码 SM4对称加密算法是一种block Cipher 加密算法,用于保护数据的安全性和完整性。SM4算法是中国国家商用密码算法,广泛应用于 Wireless networks、Cloud Computing、Big Data 等领域。 SM4算法...