看了一下午数字证书的内容,总结一下。
1.数字证书是数字证书,数字签名是数字签名,两回事。
2.公钥加密,私钥解密;私钥加密,公钥解密;只有这两种情况
3.所谓签名,就是用一个签名算法,把需要签名的内容计算成你不认识的一段字符串,然后附在内容的后边。
4.只要内容改变,签名的字符串就会完全改变。不信的请自己测试“1”和“11”的sha1值。
5.(重点)个人认为整个加密流程的要点是两件事:
a.内容有没有被修改
b.是不是当事人发送的(不管是双方中的哪一方)
6.CA机构颁发证书的时候会用CA机构的私钥加密指纹和指纹算法。而当客户端拿到一个证书的时候,会在windows系统中找到这个CA机构的公钥,并用这个公钥来解密指纹和指纹算法。
最后,做个举例总结:
服务器为了跟别人安全通信,去CA认证机构申请了数字证书。数字证书包括服务器的公钥,认证机构,指纹,指纹算法等信息。客户端向服务器请求通信,服务器把数字证书给了客户端。客户端需要一个可以信任的证书机构,所以客户端在windows系统中查找所获证书的颁发机构,找到后使用系统自带的证书公钥解开指纹和指纹算法,客户端使用获得的指纹算法对证书内容本身进行了计算,使用计算后的指纹和证书中的指纹对比,如果一致则认为证书没有被修改。此时就可确定证书中的公钥确实是服务器的公钥。
客户端用服务器的公钥加密了一个随机字符串发送给服务器,服务器收到后用对应私钥加密,然后将加密的字符串发送给客户端。客户端如果使用证书中得到的公钥成功解密,则认为证书的发送方确实是服务器。此时既确定了证书(实际就是公钥内容)没有被修改,也确定了证书发送方确实是服务器。
此时客户端生成一个对称加密密钥(对称加密无所谓公钥私钥),客户端使用服务端的公钥将对称加密算法和密钥发送给服务端,之后客户端和服务端使用该对称加密密钥进行通讯,至此大功告成。
参考:
相关推荐
此外,非对称加密的计算复杂度比对称加密高,所以在大量数据加密时,通常会结合使用非对称加密来安全交换对称密钥,然后用对称密钥进行数据加密,这就是所谓的混合加密机制。 在编程实践中,开发者可以利用各种库和...
非对称TCP加密技术是一种网络安全通信的方法,它结合了非对称加密算法和TCP协议,以确保在互联网上传输的数据的机密性、完整性和身份验证。非对称加密技术的核心在于使用一对密钥,一个公开,称为公钥,另一个私有,...
此外,HTTPS客户端和服务器如curl和nginx也支持非对称加密,它们在底层使用TLS协议来保护数据的传输。 总结来说,非对称加密传输文件技术是一种强大的安全手段,它在网银U盾、SSL/TLS协议、源码实现和各种加密工具...
总之,RSA非对称加密技术为前端开发提供了安全传输数据的手段,而`security.js`、`jsencrypt.min.js`、`RSAjs`和`encrypt.js`这些JavaScript库则为开发者提供了实现这一技术的便捷工具。在实际开发中,需结合项目...
在Mina框架中,我们可以自定义消息处理器,将对称加密的过程集成到数据发送和接收的环节,确保在客户端(EncryptClient)和服务器端(EncryptServer)间的数据安全传输。 接下来,我们讨论非对称加密。非对称加密...
在给定的“非对称加密_分段加密解密.zip”文件中,我们可以推测内容可能涉及如何在前端(客户端)使用非对称加密算法进行数据加密,然后在后端(服务器端)进行解密,同时确保对中文字符的支持。这里我们将深入探讨...
### 非对称加密知识点解析 #### 一、非对称加密算法概述 非对称加密算法是一种基于密钥对的技术,它涉及到一对密钥:公开密钥(public key)和私有密钥(private key)。这两个密钥是数学上相关的,但彼此独立。...
非对称加密是一种重要的信息安全技术,它在网络安全中扮演着至关重要的角色。RSA算法是其中最著名和广泛使用的非对称加密算法,由Ron Rivest、Adi Shamir和Leonard Adleman在1977年提出,因此得名RSA。这个"RSA.rar_...
基于Python语言、RSA非对称加密的IRC聊天室客户端源码与应用程序 服务器与客户端之间通过IRC协议进行通信,在IRC协议中,用户可以加入到频道Channel中,在频道中发送消息,频道中的所有人都能接收到信息。 但大多数...
4. **服务器和客户端的加密解密流程**: - **服务器端加密**:服务器接收到需要加密的数据,使用AES算法和预设的16位密钥进行加密,然后将加密后的数据发送给客户端。 - **客户端解密**:客户端接收到加密数据后,...
非对称加密在Android应用开发中的实际应用还包括HTTPS通信,其中服务器提供公钥,客户端使用公钥加密请求,服务器使用私钥解密,反之亦然,以保障网络通信的安全性。此外,本地存储的数据也可以使用非对称加密来保护...
在IT领域,非对称加密是一种重要的数据保护技术,它基于数学难题,为网络通信提供了安全的数据加密和解密方式。C#编程语言提供了一系列的类库来支持非对称加密,如RSA算法。本示例主要探讨了如何在C#环境中使用RSA...
RSA是一种广泛应用于网络通信中的非对称加密算法,它的全称是Rivest-Shamir-Adleman,由三位美国科学家在1977年提出。非对称加密技术的核心在于它拥有两个密钥:公钥和私钥。与传统的对称加密不同,非对称加密的公钥...
DES是一种广泛使用的对称加密算法,以其高效性和安全性在很多应用场景中被采用。 首先,DES加密算法的基本原理是通过一个密钥对明文数据进行操作,将其转换为无法直接识别的密文。在Java中,我们可以利用`javax....
RSA非对称加密算法在IT领域中被广泛用于安全通信,特别是在登录系统中,它能够确保用户信息的安全传输。在给定的上下文中,我们看到一个C#和JavaScript结合的应用,用于实现登录过程中的密码加密和解密。下面将详细...
该压缩包包含的是一个使用Python编程语言,结合PyQt5图形界面库以及RSA非对称加密技术实现的基于IRC(Internet Relay Chat)协议的多人聊天系统。IRC是一种广泛用于实时通信和讨论的协议,常用于建立多用户聊天室。...
非对称加密作为其中的一种加密方式,提供了比对称加密更高级别的安全性,但同时也带来了更高的计算复杂度。非对称加密的核心在于使用一对密钥,即公钥和私钥,它们分别用于加密和解密数据。 1. **非对称加密的基本...
**RSA非对称加密技术详解** RSA是一种广泛使用的非对称加密算法,它基于数论中的大数因子分解难题,为数据提供了一种安全的加密和解密方式。在RSA中,存在两个密钥:公钥和私钥。公钥可以公开给任何人,用于加密...
在IT领域,尤其是在网络安全和数据保护方面,非对称加密技术扮演着至关重要的角色。Java作为广泛应用的编程语言,提供了支持非对称加密算法的API,其中包括著名的RSA算法。本篇将深入探讨Java中如何使用RSA进行非...