首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >纸基OTP和MAC

纸基OTP和MAC
EN

Cryptography用户
提问于 2023-03-14 17:21:57
回答 1查看 101关注 0票数 2

考虑以下基于OTP的论文

  1. 明文有11个可能的符号0-10。
  2. C_i = M_i + K_i\ mod\ 11
  3. K_i来自一个预先共享的密钥材料,从来没有重用过。

如何在其中引入数据完整性/ MAC,可以用笔纸来计算。

EN

回答 1

Cryptography用户

回答已采纳

发布于 2023-03-15 18:12:22

使用SHA3-224 HMAC.

定义一个安全参数\kappa,并且双方都会消耗大量的K_i键控材料。基于纸张的OTP可能会比基于TCP的协议选择更小的参数。

计算并将HMAC结果的\kappa前缀附加到消息中,编码为基本11位数字。

如上面所示发送C_i消息。

接收器计算HMAC并验证前缀是否匹配。

编辑

...which可以用笔和纸来计算。

哦哦。有个新的皱纹。

定义一个新的安全参数D,要发送的检查位数。

定义一个基本B。最自然的情况是11,但为了人类的方便,我们可以选择10。一些抛出九程序可能会激发使用9。

查找各种M_i数字( \mod B )的运行总数,并在每个M_i下面写下数字。

将最终的D这样的数字附加到消息中。

如OP所描述的那样,传输此增广消息。请注意,每个检查数字都受其自己的K_i保护。

接收者执行相同的步骤进行验证。

观察:在这个“for”下,Mallet有更好的机会不被察觉地破坏原始消息的最终D字符之一,特别是如果他想破坏它的最终字符。

补救措施:在“consume”中,使用D键控材料的K_i字符,并在过程开始时将这些字符附加到原始消息中,因此,我们将发送一个字符的校验和,这些字符既不为收件人所知,也为收件人所知。

假设“键控材料很便宜”,例如,我们愿意使用200个字符的K_i发送长度为100的消息。我们能用它来提高健壮性吗?假设"D是小的“,即D < \sqrt{ |M| },其中|M|是消息的长度。

第二个观察:人类是容易犯错误的。有时我们把算术错误记下来。我们能救出爱丽丝不小心弄错的信息的一部分吗?

补救措施:从消息的末尾开始,释放D消息块。大多数将具有同等的大小;前几个可能短于一个。独立计算和传输每块校验和。

此时我还想发送“不止一封”(多少封?)组合校验和数字,用于总结单个发送的校验和。也许是为了赔率,一个是为了平分?或者一棵树传送八个校验和,然后四个对和,然后两个校验和,最后是主校验和?

基于“易错性”方面,我们的校验和预算中可能会有一部分用于计算/传输反向消息字符的校验和?

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

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

复制
相关文章

相似问题

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