algorithm - 这个密文和明文之间有什么关系?

标签 algorithm security encryption plaintext

我有一个面试问题,我已经解决了一点,但我无法得出结论,你能帮我吗?

问题:考虑以下密文和明文关系。对于每个明文字母,替换 密文字母:
C = E([a, b], p) = (ap + b) mod 26
C:密文
P:明文
a 和 b:整数

任何加密算法的基本要求是它是一对一的。也就是说,如果 p !=q ,那么 E(k,p) != E(k,q) 。否则,解密是不可能的,因为不止一个纯文本字符 映射到相同的密文字符。上述密码对于 a 的所有值并不是一对一的。 例如,对于 a=2 且 b =3 ,则 E([a,b],0) = E([a,b],13) = 3 。 a) b 的值有限制吗?解释为什么能或者为什么不能。 b) 确定哪些 a 值是不允许的。 c) 提供一个一般性的声明,说明哪些 a 值是允许的,哪些是不允许的。证明你的合理性 声明。

最佳答案

这个问题应该属于数学,或者加密,但无论如何我都会回答,但要注意,由于它不支持数学,所以很难看到答案。
假设我们有 p 和 q。条件是找到 a 和 b 使得 E([a,b], p) != E([a,b],q)
数学方程:ap + b != aq + b (mod 26)。
基于同余算术,我们可以减去 b: ap != aq (mod 26),因为 b = b (mod n)。
基于消去律:p = q (mod n) 当且仅当 gcd (a,n) = 1 且 ap = aq (mod n) 其中所有变量均为正整数。因此,让 p != q (mod 26) 则 gcd(a, 26) = 1,或者 a 和 26 互质。由于 26 = 2x13,因此 a 是不包括 13 的奇数正整数。
希望能帮助到你。

关于algorithm - 这个密文和明文之间有什么关系?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/59007729/

相关文章:

ios - 验证来自 iOS transactionReceipt 的签名

algorithm - 这个素数搜索算法的复杂性

c# - .net 的 SASL 库

c# - ASP.NET MVC : Requested registry access denied when creating performance counters

c# - 有没有 "single line"方式生成加密字符串?

amazon-web-services - 静态加密 : AWS Elasticsearch

java - 线程 "main"javax.crypto.BadPaddingException : Decryption error 中的异常

algorithm - 图像中数字的识别(Matlab)

java - 迭代前缀和的结果

algorithm - SELECT算法分析中的复现