公钥与私钥、加密与签名、SSL 工作原理。

本贴最后更新于 2133 天前,其中的信息可能已经渤澥桑田

公钥与私钥、加密与签名

  • 使用 公钥私钥 进行安全传输的目的:
  • 发送给你的 数据 必须 加密,在数据的 传输过程中 不能被别人看到。
  • 必须保证是 发送的 数据,不是别人冒充我的。
数据 私钥 传输 公钥
010011 ---> 签章 ---> 传输---> 验章
010011 <--- 解密 <---传输 <--- 加密
  • 使用 公钥私钥 进行安全传输的作用:
  • 公钥 加密的内容只能用 私钥 解密
  • 私钥 签章的内容只能用 公钥 验章

假设 A 需要向 B 发送一份数据

  • 公私钥对生成
    • A 生成公私钥对,rsa_public_arsa_private_a
    • B 生成公私钥对,rsa_public_brsa_private_b
  • 公钥分发或者获取
    • A 获取 B 的公钥 rsa_public_b
    • B 获取 A 的公钥 rsa_public_a
  • 数据发送
    • A 准备把一份数据加密传给 B
    • A 使用 B 的公钥 rsa_public_b数据 进行加密,保证数据只能 B 解密
    • A 使用 A 的私钥 rsa_private_a加密的数据 进行签章,保证数据是 A 发送的
    • A 把签章后的数据通过特定传输协议发送到 B
  • 数据接收
    • B 收到一份来自 A 的报文数据
    • B 使用 A 的公钥 rsa_public_a 对数据进行验章,确认数据是 A 发送的
    • B 使用 B 的私钥 rsa_private_b 对数据进行解密
    • B 获得了解密后的 A 发送的原始数据

/*      ----   参考文件  ---- 
        http://blog.csdn.net/it_man/article/details/24698093
 */
使用公钥与私钥的目的就是实现安全的电子邮件,必须实现如下目的:      
    1\. 我发送给你的内容必须加密,在邮件的传输过程中不能被别人看到。       
    2\. 必须保证是我发送的邮件,不是别人冒充我的。       
要达到这样的目标必须发送邮件的两人都有公钥和私钥。       
	公钥,就是给大家用的,你可以通过电子邮件发布,可以通过网站让别人下载,公钥其实是用来加密/验章用的。
	私钥,就是自己的,必须非常小心保存,最好加上 密码,私钥是用来解密/签章.首先就Key的所有权来说,私钥只有个人拥有。
公钥与私钥的作用是:
	用公钥加密的内容只能用私钥解密,用私钥加密的内容只能 用公钥解密。       
比如说,我要给你发送一个加密的邮件。
	首先,我必须拥有你的公钥,你也必须拥有我的公钥。       
	然后,我用你的公钥给这个邮件加密,这样就保证这个邮件不被别人看到,而且保证这个邮件在传送过程中没有被修改。
	你收到邮件后,用你的私钥就可以解密,就能看到内容。       
	其次我用我的私钥给这个邮件加密,发送到你手里后,你可以用我的公钥解密。因为私钥只有我手里有,这样就保证了这个邮件是我发送的。       
	当A->B资料时,A会使用B的公钥加密,这样才能确保只有B能解开,否则普罗大众都能解开加密的讯息,就是去了资料的保密性。
	验证方面则是使用签 验章的机制,A传资料给大家时,会以自己的私钥做签章,如此所有收到讯息的人都可以用A的公钥进行验章,便可确认讯息是由 A 发出来的了。


缩略语

缩略语 英文全名 中文解释
AES Advanced Encryption Standard 高级加密标准
CA Certificate Authority 证书机构
DES Data Encryption Standard 数据加密标准
HTTPS Hypertext Transfer Protocol Secure 安全超文本传输协议
MAC Message Authentication Code 消息验证码
MD5 Message Digest 5 消息摘要算法 5
PKI Public Key Infrastructure 公钥基础设施
RSA Rivest Shamir and Adleman 非对称密钥算法的一种
SHA Secure Hash Algorithm 安全散列算法
SSL Secure Sockets Layer 安全套接层
VPN Virtual Private Network 虚拟专有网络

  • SSL

    SSL(Secure Sockets Layer 安全套接层),及其继任者传输层安全(Transport Layer Security,TLS)是为网络通信提供安全及数据完整性的一种安全协议。TLS 与 SSL 在传输层对网络连接进行加密。

    70 引用 • 193 回帖 • 431 关注
  • 公钥
    4 引用 • 15 回帖
  • 私钥
    3 引用 • 2 回帖

相关帖子

欢迎来到这里!

我们正在构建一个小众社区,大家在这里相互信任,以平等 • 自由 • 奔放的价值观进行分享交流。最终,希望大家能够找到与自己志同道合的伙伴,共同成长。

注册 关于
请输入回帖内容 ...