这是我在布朗大学2016年春季数论课上写的一篇文章。它是由Jupyter笔记本编写并最初呈现的,并在此网站上进行了更改。
github 上有一个版本的笔记。
Cryptography
回想一下加密的基本设置。我们有两个人,Anabel和Bartolo。 Anabel希望向Bartolo发送安全信息。我们的意思是什么?“安全?”我们的意思是,即使那个卑鄙的夏娃可以拦截和阅读传输的信息,夏娃也不会了解安娜贝尔想要发送给巴托洛的实际信息。
2018年11月9日大约 17 分钟
这是我在布朗大学2016年春季数论课上写的一篇文章。它是由Jupyter笔记本编写并最初呈现的,并在此网站上进行了更改。
github 上有一个版本的笔记。
回想一下加密的基本设置。我们有两个人,Anabel和Bartolo。 Anabel希望向Bartolo发送安全信息。我们的意思是什么?“安全?”我们的意思是,即使那个卑鄙的夏娃可以拦截和阅读传输的信息,夏娃也不会了解安娜贝尔想要发送给巴托洛的实际信息。
数字签名、信息加密是前后端开发都经常需要使用到的技术,应用场景包括了用户登入、交易、信息通讯、oauth 等等,不同的应用场景也会需要使用到不同的签名加密算法,或者需要搭配不一样的签名加密算法来达到业务目标。
这里简单的给大家介绍几种常见的签名加密算法和一些典型场景下的应用。
数字签名,简单来说就是通过提供可鉴别的数字信息验证自身身份的一种方式。
一套数字签名通常定义两种互补的运算,一个用于签名,另一个用于验证。
分别由发送者持有能够代表自己身份的私钥 (私钥不可泄露),由接受者持有与私钥对应的公钥,能够在接受到来自发送者信息时用于验证其身份。