首页
学习
活动
专区
圈层
工具
发布
首页
学习
活动
专区
圈层
工具
MCP广场
社区首页 >问答首页 >证明单字母密码是有效的对称密码

证明单字母密码是有效的对称密码
EN

Cryptography用户
提问于 2020-02-28 14:36:50
回答 1查看 299关注 0票数 0

我应该从数学上证明:

D_k(E_k(p))=p

我知道呀

E_k(p)=c=(p+k)\bmod26

D_k(c)=p=(c-k)\bmod26

将这两个公式替换为我具有的初始断言

((p+k)\bmod26-k)\bmod26=p

并两次应用\bmod属性

((p \bmod26+k \bmod26)\bmod26)-k)\bmod26=p ((p\bmod26+k\bmod26)\bmod26)\bmod26-k\bmod26)\bmod26=p

但从这里开始?我怎样才能摆脱所有的\bmod来拥有p呢?

EN

回答 1

Cryptography用户

发布于 2020-03-02 16:23:49

我试着用更多的细节来解释它。假设我们有下面的模方程。

a \equiv b \mod(c)

对于一个整数k

a=b+k \cdot c

例如,在\mod(26)中,对28的提醒等于2,对于包括\{2,28,44,80,...\}在内的所有2+k \cdot 26也是相同的提醒。在这一点上,我们需要弄清楚什么是加法和乘法。所以我声称,

a_1 \mod(c)+ a_2 \mod(c)\equiv (a_1+a_2) \mod(c)
a_1 \mod(c)\cdot a_2 \mod(c)\equiv (a_1 \cdot a_2) \mod(c)

证明:让我们从左边进去,

a_1 \equiv b_1 \mod(c) , \: a_2 \equiv b_2 \mod(c)

我们可以写,

a_1+a_2=b_1+b_2+(k_1+k_2)\cdot c

假设k_3=k_1+k_2是一个新整数,

a_1+a_2=b_1+b_2+k_3\cdot c \to a_1+a_2\equiv b_1+b_2 \mod(c)

在哪里,

a_1 \mod(c)+ a_2 \mod(c)\equiv (a_1+a_2) \mod(c)

更简单地说,整数标量是可加的,您可以执行一次模算法。我们对乘法也有同样的证明方法。你可以取c的新标量,它是多个标量的乘法。

让我们按照简单的例子来做。28\equiv 2 \mod(26)32 \equiv 6 \mod(26)。然后我们得到了28+32=60 \equiv 8 \mod(26),当您首先计算模块并将它们相加时,它的结果是相同的。

我声明28 \cdot 32 \equiv (2\cdot 6=12) \mod(26),而您可以通过预先乘以它们来检查它,然后找到剩余部分。因为28\cdot 32= 896=34\cdot 26+12

总之,您不需要关心多个mods,只需先做手术,然后接受结果的模块。

此外,要了解更多细节,请查看此链接,https://brilliant.org/wiki/modular-arithmetic/

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

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

复制
相关文章

相似问题

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