`

我理解的对称加密和非对称加密(红色字体)

 
阅读更多

网上这样说:

与对称加密算法不同,非对称加密算法需要两个密钥:公开密钥(publickey)和私有密钥(privatekey)。公开密钥与私有密钥是一对,如果用公开密钥对数据进行加密,只有用对应的私有密钥才能解密;如果用私有密钥对数据进行加密,那么只有用对应的公开密钥才能解密。因为加密和解密使用的是两个不同的密钥,所以这种算法叫作非对称加密算法。

  贸易方利用该非对称加密算法实现机密信息交换的基本过程是:贸易方甲生成一对密钥并将其中的一把作为公用密钥向其他贸易方公开;得到该公用密钥的贸易方乙使用该密钥对机密信息进行加密后再发送给贸易方甲;贸易方甲再用自己保存的另一把专用密钥对加密后的信息进行解密。贸易方甲只能用其专用密钥解密由其公用密钥加密后的任何信息。

  非对称加密算法的保密性比较好,它消除了最终用户交换密钥的需要,但加密和解密花费时间长、速度慢,它不适合于对文件加密而只适用于对少量数据进行加密。

 

我的理解是:甲生成一对密钥,把密钥2公开出去给乙;甲把加密信息发给乙,乙用密钥2解密得到明文;乙在用密钥2加密,甲收到后用自己保留的密钥1解密出来得到明文。如此对换继续传输。

 

在微软的Window NT的安全性体系结构中,公开密钥系统主要用于对私有密钥的加密过程。每个用户如果想要对数据进行加密,都需要生成一对自己的密钥对(keypair)。密钥对中的公开密钥和非对称加密解密算法是公开的,但私有密钥则应该由密钥的主人妥善保管。

  使用公开密钥对文件进行加密传输的实际过程包括四步:

  (1)发送方生成一个自己的私有密钥并用接收方的公开密钥对自己的私有密钥进行加密,然后通过网络传输到接收方;

  (2)发送方对需要传输的文件用自己的私有密钥进行加密,然后通过网络把加密后的文件传输到接收方;

  (3)接收方用自己的公开密钥进行解密后得到发送方的私有密钥;

  (4)接受方用发送方的私有密钥对文件进行解密得到文件的明文形式。

  因为只有接收方才拥有自己的公开密钥,所以即使其他人得到了经过加密的发送方的私有密钥,也因为无法进行解密而保证了私有密钥的安全性,从而也保证了传输文件的安全性。实际上,上述在文件传输过程中实现了两个加密解密过程:文件本身的加密和解密与私有密钥的加密解密,这分别通过私有密钥和公开密钥来实现。

 

那么这里我有个问题:因为只有接收方才拥有自己的公开密钥,但发送方也有接收方的公开密钥(1),他们事前在互相传送这个密钥的时候被盗了怎么办,其他人就可以伪造了啊!

 

 

 

下面是对称加密,其实对称加密只有一个密钥,非对称有两个密钥

 

A.对称加密技术

a. 描述

对称算法(symmetric algorithm),有时又叫传统密码算法,就是加密密钥能够从解密密钥中推算出来,同时解密密钥也可以从加密密钥中推算出来。而在大多数的对称算法中,加密密钥和解密密钥是相同的。所以也称这种加密算法为秘密密钥算法或单密钥算法。它要求发送方和接收方在安全通信之前,商定一个密钥。对称算法的安全性依赖于密钥,泄漏密钥就意味着任何人都可以对他们发送或接收的消息解密,所以密钥的保密性对通信性至关重要。

b.特点分析

对称加密的优点在于算法实现后的效率高、速度快。

对称加密的缺点在于密钥的管理过于复杂。如果任何一对发送方和接收方都有他们各自商议的密钥的话,那么很明显,假设有N个用户进行对称加密通信,如果按照上述方法,则他们要产生N(N-1)把密钥,每一个用户要记住或保留N-1把密钥,当N很大时,记住是不可能的,而保留起来又会引起密钥泄漏可能性的增加。常用的对称加密算法有DES,DEA等。

 

B.非对称加密技术

a.描述

非对称加密(dissymmetrical encryption),有时又叫公开密钥算法(public key algorithm)。这种加密算法是这样设计的:用作加密的密钥不同于用作解密的密钥,而且解密密钥不能根据加密密钥计算出来(至少在合理假定的长时间内)。之所以又叫做公开密钥算法是由于加密密钥可以公开,即陌生人可以得到它并用来加密信息,但只有用相应的解密密钥才能解密信息。在这种加密算法中,加密密钥被叫做公开密钥(public key),而解密密钥被叫做私有密钥(private key)。

 

b.特点分析

非对称加密的缺点在于算法实现后的效率低、速度慢。

非对称加密的优点在于用户不必记忆大量的提前商定好的密钥,因为发送方和接收方事先根本不必商定密钥,发放方只要可以得到可靠的接收方的公开密钥就可以给他发送信息了,而且即使双方根本互不相识。但为了保证可靠性,非对称加密算法需要一种与之相配合使用的公开密钥管理机制,这种公开密钥管理机制还要解决其他一些公开密钥所带来的问题。常用的非对称加密算法有RSA等。

 

 

1
1
分享到:
评论

相关推荐

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

    非对称加密算法,又称公钥加密算法,其特点是加密和解密过程使用不同的密钥。通常,每个用户会拥有一对密钥:公钥和私钥。公钥可以公开分享给任何人,而私钥则需要保密。这种机制简化了密钥的分发问题,并且能够实现...

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

    ### 对称加密与非对称加密的介绍及区别 #### 一、对称加密技术概述 **对称加密**采用了对称密码编码技术,它的核心...综上所述,对称加密和非对称加密各有优劣,选择合适的加密算法需根据具体应用场景的需求来决定。

    非对称加密和对称加密混合应用

    5.用对称密钥对(原文和签名)进行加密 6.用对方的公钥对称密钥进行加密(加密密钥) 7.将密文(5)和加密密钥(6)一起发给对方 接收方: 1.用自己的私钥对加密密钥进行解密,得到对称密钥--也只有自己才能...

    对称加密 非对称加密 需要的jar包

    加密主要分为两种类型:对称加密和非对称加密。这两种加密方式各有其特点,适用于不同的场景。 **对称加密** 是一种历史悠久的加密方法,它依赖于一个相同的密钥进行数据的加密和解密。这种加密方式速度快,效率高...

    十二张图:从0开始理解对称-非对称加密、CA认证、以及K8S各组件颁发证书原由.doc

    对称加密和非对称加密结合的方式是客户端先获取到服务端的公钥,然后自己生成一个唯一的随机密钥 A,使用公钥加密随机密钥 A,这时只有服务端的私钥才能解密出随机密钥 A。服务端拿到随机密钥 A 之后,服务端和...

    java编写的加密解密工具,有对称加密和非对称加密

    本工具包就是针对这一需求而设计的,它提供了对称加密和非对称加密两种常见的加密算法,为数据的安全传输和存储提供了保障。 对称加密是最早、最简单的一种加密方式,它的特点是加密和解密使用同一个密钥。在Java中...

    对称加密非对称加密

    其中,对称加密和非对称加密是两种主要的加密方式,它们各自有着独特的特点和应用场景。本文将深入探讨这两种加密算法及其工作原理。 首先,对称加密是最基础且历史悠久的加密方法。它基于一个秘密的密钥,即加密和...

    C#对称加密和非对称加密的Demo

    在C#编程环境中,我们可以利用内置的类库实现对称加密和非对称加密。本篇将详细介绍这两种加密方式,并结合提供的"RsaEncryptExample"和"TdesEncryptExample"代码示例进行解析。 **1. 对称加密** 对称加密是最常见...

    Go-go语言封装的各种对称加密和非对称加密

    本项目"Go-go语言封装的各种对称加密和非对称加密"正是针对这一需求,提供了便捷的Go语言实现,包括3重DES、AES的CBC和CTR模式以及RSA非对称加密。下面将详细介绍这些加密算法及其在Go中的应用。 1. 对称加密: - ...

    RSA非对称加密算法

    总而言之,RSA非对称加密算法通过其独特的加密和解密机制,为信息安全提供了强大的保障。它的出现改变了数据安全领域的面貌,使得远程通信和数字交互变得更加安全可信。RSA的安全性建立在数学难题之上,虽然它不是...

    密码学实验_对称加密算法DES_非对称加密算法RSA.pdf

    综上所述,本实验涵盖了密码学中的核心概念,通过实践使学生掌握了对称加密和非对称加密的实现细节。这种实践性的学习方法有助于巩固理论知识,增强实际问题解决能力,对于网络安全领域的研究和工作具有重要意义。

    非对称加密算法流程图

    非对称加密算法流程图,使用visio绘制。

    java加密算法:Base64加密\数字签名\对称加密算法\非对称加密算法\消息摘要算法

    java关于加密的算法demo代码(Base64加密\数字签名\对称加密算法\非对称加密算法\消息摘要算法) JAVA安全实现三种方式: 1.JDK 2.Commons Codec 3.Bouncy Castle 一。非对称加密算法: 1.DH 2.RSA 3.ELGamal 二。...

    对称与非对称加密

    对称加密和非对称加密各有优势,在实际应用中可以根据不同的场景需求来选择合适的加密方式。对称加密适用于数据量大、实时性强的应用场景;而非对称加密则更适合于密钥分发和身份验证等场景。随着技术的发展,加密...

    前后端RSA非对称加密解密(代码示例).rar

    登录时,用户的密码用明文传输,太不安全,应该加密传输,怎么做呢,对称加密一旦秘钥丢失则形同虚设,最好使用非对称加密的方式,由后端事先生成公钥和私钥,公钥发给前端页面,私钥后端自己保留,前端进行认证时,...

    光学非对称加密技术研究

    该技术利用光学系统的特点,如光的干涉、衍射等,结合非对称加密算法的数学理论,为数据的加密和解密提供了一种物理层面的安全保障。 在密码学的发展历程中,非对称加密技术是继对称加密技术之后的重要里程碑。对称...

    非对称加密JAVA实现

    非对称加密JAVA实现,实现对超长内容进行加密

    AES对称和RSA非对称加密解密

    本篇文章将详细探讨AES对称加密和RSA非对称加密的Java实现。 AES对称加密是一种广泛应用的块加密算法,它使用相同的密钥进行加密和解密,速度快,效率高。在Java中,我们可以使用Java Cryptography Extension (JCE)...

    C# 非对称加密

    非对称加密是一种重要的网络安全技术,它在C#编程中被广泛应用,特别是在文件的安全传输和存储方面。非对称加密的核心在于使用一对密钥:公钥和私钥,这两个密钥是数学上关联的,但不能互相推导。这种机制为数据提供...

    非对称加密技术详解

    非对称加密技术是一种在现代信息安全领域中占据核心地位的加密方式,相较于传统的对称加密算法,它引入了一种全新的密钥管理机制,即使用一对密钥——公钥和私钥来进行加密和解密操作。这一技术的诞生,解决了信息...

Global site tag (gtag.js) - Google Analytics