对于作为数字签名加密的内容,是否有标准格式?

问题描述 投票:0回答:2

当发送用非对称加密加密的消息时,例如,

这里有很长很长的留言。 // encrypted with recipents public key

由John Doe // encrypted with own private key签名

是否希望与自己的数字签名保持一致?签名部分是否有标准格式或广泛使用的约定?或者甚至,是否有任何约定或者每个人想要放在那里的是完全随机的?

编辑:

我想我的问题并不是关于标准本身。例如,如果要在即时消息程序或电子邮件中发送示例格式消息,请参阅约定。

encryption cryptography digital-signature public-key-encryption encryption-asymmetric
2个回答
1
投票

你在comment中提到:

首先 - 用户使用私钥进行签名,而不是加密..是的,但签名意味着不会使用您的私钥加密签名(以便任何人都可以使用您的公钥进行检查),就像在我的示例中一样?

虽然这个评论的答案通常是:不。

密码签名可以以很多不同的方式构建。在RSA中,签名操作类似于加密的一些元素,但这是巧合。

例如,为椭圆曲线采用一些Schnorr签名方案:

(In this example, G is a base point for some secure elliptic curve E.
 All variables between brackets are scalars modulo the order of E.)


Setup:
  Alice has a private key x (random).
  Bob has Alice's public key P_A = [x]G.

Alice signs a message m:
  k := random()
  Q := [k]G
  c := H(Q||P_A||m)
  r := k + c*x
  Alice outputs s := (Q, r)

Bob verifies s over m:
  c := H(Q||P_A||m)
  Check if [r]G == Q + [c]P_A

如您所见,这里没有真正的“加密”概念。这只是一个协议。


2
投票

首先 - 用户使用私钥签名,而不是加密..

现在来谈话题目:

有几种协议可以传递加密和签名数据。

如果您正在使用(Web)服务,您可以查看WS-Security或XML signature

如果您正在寻找更通用的标准,您可以搜索“CMS加密消息语法”或PKCS#7

还有工具特定的协议,例如使用openssl,文档内签名(pdf,word,..)......这些协议本身不是标准,但是常用。

© www.soinside.com 2019 - 2024. All rights reserved.