什么是数字签名?什么是数字证书?密码学知识?

什么是数字签名?什么是数字证书?密码学知识?阮一峰老师 2011 年的这篇文章很好 原文如下 作者 阮一峰日期 2011 年 8 月 9 日来源 http www ruanyifeng com blog 2011 08 what is a digital signature html 今天 我读到一篇好文章 它用图片通俗易懂地解释了 数字签名 digitalsigna 和 数字证书 digitalc

阮一峰老师2011年的这篇文章很好,原文如下:

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

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

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

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

PS:笔记如下

密码学笔记

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数字证书。




















数字签名是什么?

作者:David Youd

翻译:阮一峰

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

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

(完)


更多相关资料,可以看看下面的:

  • 什么是数字签名和证书?
  • 知乎问答:数字签名、数字证书、SSL、https是什么关系?
  • 数字签名和哈希函数
版权声明:本文内容由互联网用户自发贡献,该文观点仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请联系我们举报,一经查实,本站将立刻删除。

发布者:全栈程序员-站长,转载请注明出处:https://javaforall.net/220111.html原文链接:https://javaforall.net

(0)
上一篇 2026年3月17日 下午9:13
下一篇 2026年3月17日 下午9:13


相关推荐

  • win10 1分钟自动重启_windows7一分钟后自动重启

    win10 1分钟自动重启_windows7一分钟后自动重启前言Charles是收费软件,可以免费试用30天。试用期过后,未付费的用户仍然可以继续使用,但是每次使用时间不能超过30分钟,并且启动时将会有10秒种的延时。此时,我们只需网上找一个注册码即可解

    2022年7月31日
    8
  • navicat for mysql 15 激活码【2021.8最新】

    (navicat for mysql 15 激活码)这是一篇idea技术相关文章,由全栈君为大家提供,主要知识点是关于2021JetBrains全家桶永久激活码的内容IntelliJ2021最新激活注册码,破解教程可免费永久激活,亲测有效,下面是详细链接哦~https://javaforall.net/100143.htmlS32PGH0SQB-eyJsa…

    2022年3月26日
    187
  • node环境变量配置,npm环境变量配置

    node环境变量配置,npm环境变量配置引言:很久没有在windows上配过node,记得以前node环境变量是要加NODE_PATH到用户变量,再在系统变量引入NODE_PATH的,而npminstall的全局包目录会存放在C:/Users[用户]/administrator[你的计算机名字]/AppData/Roaming/npm目录下,而现在貌似有更高级的做法!传统方法总结:npm包全局目录:C:/Use…

    2022年4月27日
    31
  • k8s pod同步时区

    k8s pod同步时区

    2021年5月15日
    169
  • Graphics2D绘制多图片水印方法

    /***@paramsrcPath需要添加水印的完整地址*@paramids需要添加的水印的id集合,结果以”,”分隔*@return返回包含水印图片的输入流*@throwsException*/publicInputStreamaddWatermark(StringsrcPath,Str…

    2022年4月13日
    50
  • 轨迹跟踪求解Fmincon函数(2)「建议收藏」

    轨迹跟踪求解Fmincon函数(2)「建议收藏」1.Fmincon函数介绍在matlab中,fmincon函数可以求解带约束的非线性多变量函数(Constrainednonlinearmultivariablefunction)的最小值,即可以用来求解非线性规划问题matlab中,非线性规划模型的写法如下2.基本语法[x,fval]=fmincon(fun,x0,A,b,Aeq,beq,lb,ub,nonlcon,options)x的返回值是决策向量x的取值,fval的返回值是目标函数在x处的f(x)的取值。fun是用.

    2022年5月3日
    34

发表回复

您的邮箱地址不会被公开。 必填项已用 * 标注

关注全栈程序员社区公众号