【问题标题】:What does mod 2^64 addition actually means in cryptography?mod 2^64 加法在密码学中实际上意味着什么?
【发布时间】:2019-04-08 19:11:38
【问题描述】:

我正在尝试在 python 中开发 SHA-512 算法。但在算法中,有一个术语“+”描述了 mod 2^64 加法。但是我对 mod 2^64 加法和 XOR 操作感到非常困惑。任何人都可以帮助我了解 mod 2^64 加法和 XOR 操作之间的区别吗? 我有 2 个二进制数如下:

a = "0110110111011101110100110101111000001101100010111100010010010010"
and 
b = "1110101000101001100100101001001000001010010000111011110111101000"

那么,以下语句的输出是什么?

c = a + b (here "+" mod 2^64 addition)

【问题讨论】:

    标签: binary


    【解决方案1】:

    谁能帮助我了解 mod 2^64 加法和 XOR 运算之间的区别?

    它们非常不同。最简单的例子:1 + 1 mod 2^64 是 2(二进制为 10); 1 xor 1 为 0。

    我们不再添加这些大数字,而是简化以查看发生了什么并添加例如1110 + 1100 模 2^4。没有你得到的模组

     1110 + 
     1100 =
    11010
    

    (你明白为什么吗?)。 mod 2^4 表示你只需要取正确的 4 位数字就可以得到 1010。

    【讨论】:

    • 答案是 1110 还是 1010?我不清楚答案。
    • @Fahim.csedu 对不起,我最初有一个错字,只在一个地方修复了它。现在是 1010。
    猜你喜欢
    • 1970-01-01
    • 2017-06-03
    • 1970-01-01
    • 2012-01-26
    • 2020-02-15
    • 2020-11-30
    • 1970-01-01
    • 2021-09-24
    • 2019-06-02
    相关资源
    最近更新 更多