首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >数字证书:加密和签名有什么区别?

数字证书:加密和签名有什么区别?
EN

Stack Overflow用户
提问于 2014-02-17 08:01:53
回答 5查看 29.9K关注 0票数 21

我对PKI、证书和所有相关的东西都比较陌生。

据我所知,在公钥密码学中,一种是用公钥加密,另一种是用私钥解密。只有一个私钥可以对应于任何公钥,但相反的情况并非如此。这是正确的吗?还是一对一的映射?

因此,数字签名的工作方式是对证书的内容进行散列,然后使用私钥进行“签名”。然后使用相应的公钥对签名进行验证。

所以,这就是我困惑的地方。用公钥加密消息和用私钥签名消息摘要有什么区别?

EN

回答 5

Stack Overflow用户

回答已采纳

发布于 2014-02-17 10:23:55

消息加密与签名的区别

我认为信息安全目标对于实现消息加密和签名之间的区别是至关重要的。为确定以下几个目标:

  1. Confidentiality:对未经授权的当事人保密。
  2. 数据完整性:确保信息没有被未经授权的方法更改。
  3. 消息身份验证(数据源身份验证):验证信息源。
  4. Non-repudiation:防止拒绝以前的操作。

消息加密提供机密性。

消息签名将消息源的标识绑定到此邮件。它确保了数据完整性、消息身份验证和完全不可否认性.

我发现第四个目标是不可否认的,我觉得它是有区别的,所以请允许我详细说明一下。爱丽丝可能会在某个时候否认签署了一条消息,或者鲍勃可能会错误地声称一个消息签名是由爱丽丝产生的。数字签名允许不偏不倚的可信第三方(事先商定)解决争端,而不需要访问签字人的秘密信息(私钥)。

您在问题中提到的数字签名系统称为可逆性公钥加密的数字签名。总而言之,任何数字签名方案都应具有以下特性:

  1. 签名者计算起来很容易。
  2. 任何人都很容易核实。
  3. 它是安全的伪造,直到它不再需要(签名寿命)。

至于加密系统,Kerckhoff定义了一组需求,这些需求在很大程度上至今仍然是有用的。请在维基上读读。

密码学中使用的函数类型

关于用于密钥生成和加密/解密的函数类型,让我们再次给出一些定义:

  1. 一对1函数:如果Y中的每个元素都是X中最多一个元素的映像,则函数f: X -> Y是一对一的。
  2. 到函数:如果Y中的每个元素都是X中至少一个元素的映像,那么函数f: X -> Y就在X上。
  3. 双射函数:双射既是一对一的,又是对的.
  4. 单向函数:一个函数f: X -> Y是单向的,如果f(x)很容易计算X中的所有元素,但是对于Y中的所有元素y,在计算上是不可行的。
  5. 陷阱门单向函数:它是一个单向函数f: X -> Y,其中额外信息(陷阱门信息)的知识使得在Y中查找任何y都是可行的,在X中是x,因此f(x) = y是可行的。

使用双射作为加密消息的工具,用逆双射解密消息。

在公钥密码体制和数字签名方案中,采用陷门单向函数生成密钥对.

--一个门窗混凝土实例

在RSA中,公钥是(e,n),其中n =pqpq是两个大的、不同的素数。e是随机选择在范围内的1 < e < (p - 1)(q - 1)。在(p - 1)(q - 1)知识的基础上,通过扩展欧氏算法的应用,得到了唯一的私钥d。它是一个单向的陷门函数,使我们能够从d获得(e,n).

如果您不了解(p - 1)(q - 1),并且仍然希望发现d,那么您需要考虑n。如果pq是大的和精心选择的,那么保理n应该是很难处理的。这是RSA问题(RSAP)。

但是陷井门在哪里?正如您可能已经注意到的,陷阱是n的因素。如果您知道这些因素,您可以很容易地反转单向函数,并揭示d

票数 31
EN

Stack Overflow用户

发布于 2017-09-04 16:57:39

公钥加密,私钥解密进行加密,数字签名则相反。 提示:假设公钥为挂锁,私钥为打开挂锁的密钥。

公钥密码或非对称密码的两个最著名的用途是数字签名公钥加密。在非对称密钥加密方案中,任何人都可以使用公钥加密消息,但只有配对私钥的持有者才能解密。安全取决于私钥的保密性。

要使用数字签名公钥加密,必须具有数字id或数字证书或公钥证书或身份证书。这是一种电子文件,用来证明公用钥匙的所有权。

  • 数字签名,其中一条消息使用发件人的私钥签名,并且可以由访问发件人的公钥的任何人进行验证。此验证证明发送方有权访问私钥,因此很可能是与公钥关联的人。这还确保消息没有被篡改,因为签名从数学上被绑定到它最初使用的消息,而且无论与原始消息有多么相似,几乎任何其他消息的验证都将失败。用于数字签名的类推是用个人蜡封封信封。消息可以由任何人打开,但唯一印章的存在可以验证发送者的身份。
  • 公钥加密,其中使用收件人的公钥对邮件进行加密。不拥有匹配的私钥的任何人不能解密该消息,因此假定该密钥的所有者和与该公钥相关联的人。这是为了确保保密而使用的。公开密钥加密的类推是一个带有邮件插槽的锁定邮箱。邮件插槽公开并向公众开放--其位置(街道地址)本质上是公钥。任何知道街道地址的人都可以走到门口,从插槽里扔出一条书面信息。但是,只有拥有密钥的人才能打开邮箱并读取消息。

img src

  • Infrastructure (PKI)是一组创建、管理、分发、使用、存储和撤销数字证书以及管理公钥加密所需的角色、策略和过程。

img src

当局

  • Registration Authority (RA)、CE268 Authority (CAE 262)和E 163VE 264A<代码>E 165AE 266uthority(E 167VAE 268)

算法

  • DES ( AES(Advanced DataEn ncryption Standard)和三重DES (DES的较强变体)是对称的密钥密码体制。它使用相同的密钥进行加密和解密。
  • 数字减影密码(Digital Signature A Adi )和公钥密码体制(Ron Rivest,AdiSE 2100hamir和Leonard E 1101AE 2102dleman)是广泛用于安全数据传输的公钥密码体制。DSA只提供数字签名,RSA提供数字签名和加密。
票数 14
EN

Stack Overflow用户

发布于 2014-02-17 08:07:31

消息加密使除相应私钥所有者以外的任何人都无法读取整个消息。

当您对消息签名时,它会创建类似于消息内容的校验和与来自密钥的数据相结合的内容,这些数据可以根据公钥进行验证。这不会使任何人无法读到消息,但可以验证消息确实来自发件人,并且没有被更改。

当然,这需要您信任公钥,但这是另一回事。

对于您的第一个问题: AFAIK理论上可以创建公钥冲突,但极不可能。

票数 6
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/21823679

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档