http://www.ruanyifeng.com/blog/2006/12/notes_on_cryptography.html

1.

加密方法可以分为两大类。一类是单钥加密(private key cryptography),还有一类叫做双钥加密(public key cryptography)。前者的加密和解密过程都用同一套密码,后者的加密和解密过程用的是两套密码。

历史上,人类传统的加密方法都是前一种,比如二战期间德军用的Enigma电报密码。莫尔斯电码也可以看作是一种私钥加密方法。

2.

在单钥加密的情况下,密钥只有一把,所以密钥的保存变得很重要。一旦密钥泄漏,密码也就被破解。

3.

在双钥加密的情况下,密钥有两把,一把是公开的公钥,还有一把是不公开的私钥。

双钥加密的原理如下:

a) 公钥和私钥是一一对应的关系,有一把公钥就必然有一把与之对应的、独一无二的私钥,反之亦成立。

b) 所有的(公钥, 私钥)对都是不同的。

c) 用公钥可以解开私钥加密的信息,反之亦成立。

d) 同时生成公钥和私钥应该相对比较容易,但是从公钥推算出私钥,应该是很困难或者是不可能的。

4.

目前,通用的单钥加密算法为DES(Data Encryption Standard),通用的双钥加密算法为RSA( Rivest-Shamir-Adleman),都产生于上个世纪70年代。

5.

在双钥体系中,公钥用来加密信息,私钥用来数字签名

6.

因为任何人都可以生成自己的(公钥,私钥)对,所以为了防止有人散布伪造的公钥骗取信任,就需要一个可靠的第三方机构来生成经过认证的(公钥,私钥)对。目前,世界上最主要的数字服务认证商是位于美国加州的Verisign公司,它的主要业务就是分发RSA数字证书。


http://www.ruanyifeng.com/blog/2011/08/what_is_a_digital_signature.html

数字签名 VS 数字证书

今天,我读到一篇好文章。

它用图片通俗易懂地解释了,"数字签名"(digital signature)和"数字证书"(digital certificate)到底是什么。

我对这些问题的理解,一直是模模糊糊的,很多细节搞不清楚。读完这篇文章后,发现思路一下子就理清了。为了加深记忆,我把文字和图片都翻译出来了。

文中涉及的密码学基本知识,可以参见我以前的笔记。

====================================================

数字签名是什么?

作者:David Youd

翻译:阮一峰

原文网址:http://www.youdzone.com/signature.html

1.

鲍勃有两把钥匙,一把是公钥,另一把是私钥。

2.

鲍勃把公钥送给他的朋友们----帕蒂、道格、苏珊----每人一把。

3.

苏珊要给鲍勃写一封保密的信。她写完后用鲍勃的公钥加密,就可以达到保密的效果。

4.

鲍勃收信后,用私钥解密,就看到了信件内容。这里要强调的是,只要鲍勃的私钥不泄露,这封信就是安全的,即使落在别人手里,也无法解密。

5.

鲍勃给苏珊回信,决定采用"数字签名"。他写完后先用Hash函数,生成信件的摘要(digest)。

6.

然后,鲍勃使用私钥,对这个摘要加密,生成"数字签名"(signature)。

7.

鲍勃将这个签名,附在信件下面,一起发给苏珊。

8.

苏珊收信后,取下数字签名,用鲍勃的公钥解密,得到信件的摘要。由此证明,这封信确实是鲍勃发出的。

9.

苏珊再对信件本身使用Hash函数,将得到的结果,与上一步得到的摘要进行对比。如果两者一致,就证明这封信未被修改过。

10.

复杂的情况出现了。道格想欺骗苏珊,他偷偷使用了苏珊的电脑,用自己的公钥换走了鲍勃的公钥。此时,苏珊实际拥有的是道格的公钥,但是还以为这是鲍勃的公钥。因此,道格就可以冒充鲍勃,用自己的私钥做成"数字签名",写信给苏珊,让苏珊用假的鲍勃公钥进行解密。

11.

后来,苏珊感觉不对劲,发现自己无法确定公钥是否真的属于鲍勃。她想到了一个办法,要求鲍勃去找"证书中心"(certificate authority,简称CA),为公钥做认证。证书中心用自己的私钥,对鲍勃的公钥和一些相关信息一起加密,生成"数字证书"(Digital Certificate)。

12.

鲍勃拿到数字证书以后,就可以放心了。以后再给苏珊写信,只要在签名的同时,再附上数字证书就行了。

13.

苏珊收信后,用CA的公钥解开数字证书,就可以拿到鲍勃真实的公钥了,然后就能证明"数字签名"是否真的是鲍勃签的。

14.

下面,我们看一个应用"数字证书"的实例:https协议。这个协议主要用于网页加密。

15.

首先,客户端向服务器发出加密请求。

16.

服务器用自己的私钥加密网页以后,连同本身的数字证书,一起发送给客户端。

17.

客户端(浏览器)的"证书管理器",有"受信任的根证书颁发机构"列表。客户端会根据这张列表,查看解开数字证书的公钥是否在列表之内。

18.

如果数字证书记载的网址,与你正在浏览的网址不一致,就说明这张证书可能被冒用,浏览器会发出警告。

19.

如果这张数字证书不是由受信任的机构颁发的,浏览器会发出另一种警告。

20.

如果数字证书是可靠的,客户端就可以使用证书中的服务器公钥,对信息进行加密,然后与服务器交换加密信息。

(完)

文档信息


SSH原理与运用(一):远程登录

加密算法之阮一峰大神博客摘抄相关推荐

  1. 后端技术流大神博客收藏

    团队技术博客 淘宝UED淘宝用户体验团队 淘宝核心系统淘宝核心系统团队博客 阿里巴巴数据库团队专注数据库管理开发运维 淘宝通用产品专注JAVA技术 淘宝QA致力于做测试的行业标准 淘宝搜索技术关注技术 ...

  2. 优秀Android博客大全,整理了国内外大神博客/Github地址,是学习Android进阶的首选[转]

    [转]国内外优秀Android博客大全,覆盖了国内外大神博客地址,Github地址,是学习Android进阶的首选 国内: 昵称 Github 博客 介绍 邓凡平   http://blog.csdn ...

  3. IOI APIO NOI NOIP 知名 选手 神犇 大牛 大神 博客

    IOI APIO NOI NOIP 知名 选手 神犇 大牛 大神 博客 福建    钟子谦 博客http://www.cnblogs.com/zzqsblog/ 现役选手,待更新. 广东    王之栋 ...

  4. 前端大神博客收集大全

    中文博客 名称 活跃度 原创度 维护者 其他 W3Cplus ★★★★★ ★★★★★ 携程 @大漠 国内最优秀的前端博客,原创居多 前端观察 ★★★★☆ ★★★★☆ 腾讯 ISUX @神飞 曾经最优秀 ...

  5. 程序员大神博客遭攻击,炸出华为云前员工吐槽自家业务

    点击上方"程序员大咖",选择"置顶公众号" 关键时刻,第一时间送达! 据云有料报道,近日知名博主.IT 程序员阮一峰(微博名ruanyf)的博客被DDoS攻击事 ...

  6. 吐血整理深度学习入门路线及导航【教学视频+大神博客+书籍整理】+【资源页】(2019年已经最后一个月了,你还不学深度学习吗???)

    声明: 1)该文章整理自网上的大牛和机器学习专家无私奉献的资料,具体引用的资料请看参考文献. 2)本文仅供学术交流,非商用.所以每一部分具体的参考资料并没有详细对应.如果某部分不小心侵犯了大家的利益, ...

  7. Android BLE开发 百度地图 大神博客简书传送门合集

    一.踩坑 踩坑1: 问题Q:方法报错.标红.Android Studio提示必须添加权限检查. 解决S:不用管,一样能够正常运行! 踩坑2: 问题Q:权限报错.标红.提示必须是系统应用才可以使用. 解 ...

  8. 看完阮一峰老师的博客后,感觉 OAuth2.0认证就这?

    OAuth 2.0是目前最流行的授权机制,用来授权第三方应用,获取用户数据. 这个标准比较抽象,使用了很多术语,初学者不容易理解.其实说起来并不复杂,下面我就通过一个简单的类比,帮助大家轻松理解,OA ...

  9. 【视频】视频方面大神博客总结

    1.雷霄骅博客 [总结]视音频编解码技术零基础学习方法:雷神对音视频技术的总结,包括:视频播放器原理.流媒体协议.封装格式.视频编码.音频编码.网络视音频平台对比.首先对雷神的顶礼膜拜,学完这篇博客, ...

最新文章

  1. 双十一来这儿,华为昇腾的秘密都给你!
  2. group by的查询
  3. Android开发之自定义控件的基本介绍(附源码)
  4. 20线程测试cpu性能软件,评测平台介绍、CPU多线程性能测试
  5. redis笔记——redis事务及锁应用
  6. C++ Qt学习笔记(4)绘图
  7. 操作系统——零碎概念
  8. 最大功率点跟踪测试软件,最大功率点追踪
  9. 明华RD-EB读写器-读写代码
  10. 如何将PDF每2页合并成横版的一页
  11. 虚幻引擎源码分析(3)
  12. 机票预订系统活动图_机票预订系统UML讲解
  13. 弘辽科技:复购率太低怎么办呢?
  14. 拼多多商品采集、商品数据解析详解
  15. Spring Cloud Gray 微服务灰度中间件
  16. 硬件设计——串联直流稳压电源
  17. 怎么用计算机打吃鸡,电脑上怎么玩吃鸡端游
  18. GSM、UMTS、LTE
  19. 2022-2028年中国数字示波器行业市场调查研究及投资策略研究报告
  20. 原生JS自定义6位数密码框

热门文章

  1. 丝印5352A 锂电池二合一保护芯片
  2. 史上最全 XMind 8 快捷键大全
  3. AVR JTAG仿真器制作资料
  4. 华为Matebook X 成功安装黑苹果
  5. Python_selenium_自动化_一蓑烟雨任平生
  6. 渐变过渡的相册(shader)
  7. 50行代码写的一个插件,破解一个H5小游戏
  8. 高频电路相关知识(五)
  9. PCB 720全景图嵌入登入界面应用实现
  10. 记一次线上Zip文件操作导致JVM奔溃