【转至】http://blog.csdn.net/turui/article/details/2048582
一直以来对公钥和私钥都理解得不是很透彻,感觉到模棱两可。今天在网上找了半天,通过查看对这个密钥对的理解,总算弄清楚了。
公钥和私钥就是俗称的不对称加密方式,是从以前的对称加密(使用用户名与密码)方式的提高。用电子邮件的方式说明一下原理。
使用公钥与私钥的目的就是实现安全的电子邮件,必须实现如下目的:
1. 我发送给你的内容必须加密,在邮件的传输过程中不能被别人看到。
2. 必须保证是我发送的邮件,不是别人冒充我的。
要达到这样的目标必须发送邮件的两人都有公钥和私钥。
公钥,就是给大家用的,你可以通过电子邮件发布,可以通过网站让别人下载,公钥其实是用来加密/验章用的。私钥,就是自己的,必须非常小心保存,最好加上
密码,私钥是用来解密/签章,首先就Key的所有权来说,私钥只有个人拥有。公钥与私钥的作用是:用公钥加密的内容只能用私钥解密,用私钥加密的内容只能
用公钥解密。
比如说,我要给你发送一个加密的邮件。首先,我必须拥有你的公钥,你也必须拥有我的公钥。
首先,我用你的公钥给这个邮件加密,这样就保证这个邮件不被别人看到,而且保证这个邮件在传送过程中没有被修改。你收到邮件后,用你的私钥就可以解密,就能看到内容。
其次我用我的私钥给这个邮件加密,发送到你手里后,你可以用我的公钥解密。因为私钥只有我手里有,这样就保证了这个邮件是我发送的。
当A->B资料时,A会使用B的公钥加密,这样才能确保只有B能解开,否则普罗大众都能解开加密的讯息,就是去了资料的保密性。验证方面则是使用签
验章的机制,A传资料给大家时,会以自己的私钥做签章,如此所有收到讯息的人都可以用A的公钥进行验章,便可确认讯息是由 A 发出来的了。
数字证书的原理
数字证书采用公钥体制,即利用一对互相匹配的密钥进行加密、解密。每个用户自己设定一把特定的仅为本人所知的私有密钥(私钥),用它进行解密和签名;同时
设定一把公共密钥(公钥)并由本人公开,为一组用户所共享,用于加密和验证签名。当发送一份保密文件时,发送方使用接收方的公钥对数据加密,而接收方则使
用自己的私钥解密,这样信息就可以安全无误地到达目的地了。通过数字的手段保证加密过程是一个不可逆过程,即只有用私有密钥才能解密.
在公开密钥密码体制中,常用的一种是RSA体制。
用户也可以采用自己的私钥对信息加以处理,由于密钥仅为本人所有,这样就产生了别人无法生成的文件,也就形成了数字签名。采用数字签名,能够确认以下两点:
(1)保证信息是由签名者自己签名发送的,签名者不能否认或难以否认;
(2)保证信息自签发后到收到为止未曾作过任何修改,签发的文件是真实文件。
我的解释:
每个用户都有一对私钥和公钥。
私钥用来进行解密和签名,是给自己用的。
公钥由本人公开,用于加密和验证签名,是给别人用的。
当该用户发送文件时,用私钥签名,别人用他给的公钥解密,可以保证该信息是由他发送的。即数字签名。
当该用户接受文件时,别人用他的公钥加密,他用私钥解密,可以保证该信息只能由他接收到。可以避免被其他人看到。
数字证书
是
数字形式的标识,与护照或驾驶员执照十分相似。数字证书是数字凭据,它提供有关实体标识的信息以及其他支持信息。数字证书是由成为证书颁发机构(CA)的
权威机构颁发的。由于数字证书有证书权威机构颁发,因此由该权威机构担保证书信息的有效性。此外,数字证书只在特定的时间段内有效。
数字证书包含证书中所标识的实体的公钥(就是说你的证书里有你的公钥),由于证书将公钥与特定的个人匹配,并且该证书的真实性由颁发机构保证(就是说可以让大家相信你的证书是真的),因此,数字证书为如何找到用户的公钥并知道它是否有效这一问题提供了解决方案。
我的解释:
数字证书用来使用户找到该授信机构的公钥。
分享到:
相关推荐
数字证书和公钥私钥加密是当今网络安全中的基础元素。它们在保护数据传输、验证身份、以及确保信息交流的完整性和机密性方面发挥着关键作用。以下是对数字证书原理和公钥私钥加密原理的详细解读。 数字证书是一种...
在探讨公钥私钥加密解密、数字证书以及数字签名之前,我们需要先理解几个核心概念。 **1. 密钥对:** - 在非对称加密技术中,存在两种密钥——私钥和公钥。私钥由密钥对的所有者持有且必须保密,而公钥则是由密钥...
本文将探讨数字证书的基本原理以及公钥私钥加密的概念,这些都是网络安全的基础。 **1. 公钥密码体制(Public-Key Cryptography)** 公钥密码体制,如标题所述,由三部分组成:公钥、私钥和加密解密算法。这种体制...
"密码学总结_公钥_私钥_数字签名_数字证书完全解析" ...这篇文章为读者提供了密码学的基础概念,包括单钥加密、私钥加密、公钥、私钥、数字签名和数字证书等,并且介绍了数字签名和数字证书的应用。
RSA算法是一种非对称加密算法,它在信息...综上所述,C++实现RSA公钥私钥加密算法涉及了大数运算、素数检测、欧拉函数、模逆运算等多个数学和密码学概念。理解并实现这一算法有助于深入理解信息安全基础和加密技术。
本文将详细讲解如何使用C++在Visual Studio 2017环境下生成证书和私钥,并探讨公钥和私钥的概念及其作用。 首先,我们需要理解证书和私钥的基本概念。在公钥基础设施(PKI)中,证书是一种数字文档,用于证明一个...
3. **数字证书**:数字证书通常包含公钥信息,并由可信的第三方机构(如CA)签发。这些证书用于验证网站或其他实体的身份,确保用户正在与预期的实体通信。 #### 六、总结 通过以上分析,我们可以看到公钥和私钥在...
通过上述介绍,我们可以看到**公钥私钥加密**及其配套的数字签名和数字证书技术,在现代网络安全领域发挥着至关重要的作用。它们不仅能够保护信息的机密性,还能确保信息的完整性和来源的可靠性,为用户提供了强大的...
CA是一个可信赖的第三方实体,负责验证用户或系统的身份,并签发包含公钥和身份信息的数字证书。这些证书在互联网上广泛用于验证网站的身份,确保用户与正确的服务器通信,防止中间人攻击。 认证授权是网络安全中的...
在IT领域,尤其是在网络安全和数据保护方面,公钥加密和私钥解密是核心概念,主要应用于SSL/TLS协议、SSH、PGP等。在C#编程中,我们可以使用.NET框架提供的System.Security.Cryptography命名空间来实现这些功能。...
公钥加密和私钥解密在实际应用中有着广泛的应用,例如HTTPS协议用于安全的网页浏览,SSH用于远程登录,PGP用于电子邮件加密,以及数字证书用于身份验证等。了解和掌握公钥加密私钥解密的原理及其在Java中的实现,...
"openssl工具(RSA网络通信加密,需要的,生成公钥私钥)" 这个标题提到了两个关键概念,一个是`openssl`工具,另一个是`RSA`加密算法,主要用于在网络通信中生成公钥和私钥对。 **`openssl`工具:** `openssl`是...
在本例中,“代码签名数字证书(含私钥).pfx”就是这样的文件,包含了用于签名的私钥和对应的证书信息。而“密码.txt”可能是用来解密和访问这个.pfx文件的密码,确保私钥的安全。 总的来说,代码签名是保证软件...
在IT行业中,尤其是在支付系统和安全通信领域,公钥和私钥是至关重要的概念。公钥和私钥机制是基于非对称加密算法,广泛应用于数据加密、数字签名以及身份验证等方面。支付宝作为国内领先的支付平台,也采用了这种...
数字证书是由受信任的第三方机构(如CA,Certificate Authority)签发的,它包含了公钥、私钥所有者的身份信息以及签发者的签名。在支付宝的场景下,你可能还需要申请并使用SSL/TLS证书来保护服务器与客户端之间的...
Java签名私钥加密和公钥解密是基于非对称加密算法的一种常见操作,主要用于确保数据的完整性和发送方身份的验证。在这个场景中,私钥用于加密数据,而...这在诸如网络通信、文件传输、数字证书等领域都有着广泛的应用。
在IT行业中,加密和安全通信是至关重要的环节,OpenSSL是一个强大的安全套接层(SSL)和传输层安全(TLS)协议实现工具包,同时也包含了用于创建数字证书、管理CA(证书颁发机构)以及处理公钥基础设施(PKI)的相关工具。...
5. **数字证书**:数字证书是公开密钥基础设施(PKI)的一部分,它包含公钥、证书持有者的身份信息以及颁发机构的签名。Java的`java.security.cert`包提供了解析和验证X.509证书的功能。对于国密算法,你需要确保...
Java代码生成数字证书涉及到几个关键概念和技术,包括Java的密钥和证书管理、RSA加密算法以及非交互式证书创建。在此,我们将深入探讨这些主题,以便理解如何在Java环境中生成和使用数字证书。 1. **数字证书**:...