首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >在Ed448城堡中推荐的签名消息填充是什么?

在Ed448城堡中推荐的签名消息填充是什么?
EN

Cryptography用户
提问于 2023-02-05 18:12:28
回答 1查看 106关注 0票数 1

弹跳城堡为填充消息提供了6种不同的垫子。

不过,我不太清楚该选哪一个。

ISO10126d2,ISO7816d4,PKCS7,TBC,X923,ZeroByte。

考虑到本机要求消息大于114个字节。

  • 建议使用什么填充来填充消息?
  • 每种填充物的优缺点是什么?
  • 我想选择带有RNG或ISO10126d2的X923,但我不太确定。
EN

回答 1

Cryptography用户

回答已采纳

发布于 2023-02-06 11:07:45

您已经为块密码指定了填充模式。对于块密码来说,填充完全取决于操作模式,当然也取决于块大小。您提到的垫子主要用于欧洲央行和CBC的操作模式。然而,签名依赖于哈希函数,而不是块密码。散列函数通常在内部执行某种填充,但这种填充是不可配置的。

签名也可以填充散列本身,但该函数并不是签名方案的固有功能;没有填充的方案很可能存在。对于RSA,我们经常使用PKCS#1 v1.5或PSS签名方案,其中包括一个同名的填充方法(在PKCS#1标准中提到了确切的名称,但在讨论方案时没有人使用该方法)。

但是,如果我们查看Ed448签名方案的定义,就会发现以下算法描述

5.2.6.签名过程的输入是私钥、57个八进制字符串、标志F (对于Ed448为0、Ed448ph为1、上下文C最多为255个八进制)以及任意大小的消息M。

  1. 使用SHAKE256(x,114)散列私钥,57个八进制。让h表示结果摘要。从摘要的前半部分构造出秘密标量S,并给出相应的公钥A,如前一节所述。让前缀表示哈希摘要的下半部分,h57,. h113。
  2. 计算SHAKE256(dom4(F,C)、dom4(F,C)),其中M是要签名的消息,F是Ed448ph的1,Ed448是0,C是要使用的上下文。将114-八进制摘要解释为一个小的端点整数r.
  3. 计算点RB,为了提高效率,首先降低r模L,B的群阶,让字符串R作为这一点的编码。
  4. 计算SHAKE256(dom4(F,C),dom4(F,C)),将其解释为一个小整数k。
  5. 计算S= (r +k* s) mod L.
  6. 形成R的级联签名(57个八位)和S的小端编码(57个八位;最后十进制中最重要的位总是零)。

在这里,PH是对消息使用的散列函数,这是一个配置选项。

请注意,有两部分可以被认为是填充:dom4(F, C) || prefix || PH(M)dom4(F, C) || prefix填充哈希,dom4(F, C) || R || A || PH(M)dom4(F, C) || R || A填充哈希。但是,这两种计算都是可配置的(dom4是ASCII字符串,前缀是散列输出的一部分,R是从A计算的随机点,而A是公钥(也是点)。

总之,不应该为Ed448指定填充模式;您只需配置PH,即消息哈希。

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

https://crypto.stackexchange.com/questions/104081

复制
相关文章

相似问题

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