【问题标题】:Division in modular arithmetic模算术中的除法
【发布时间】:2020-11-01 02:36:19
【问题描述】:

如果 X = (a*b)mod(c),并且我们知道“b”和“c”的值,但不知道“a”的值,我们如何找到 (a)mod(c)?

我们可以用 X 除以 (b)mod(c) 或类似的方法吗?

【问题讨论】:

    标签: math modular modular-arithmetic


    【解决方案1】:

    您的建议无效。

    例如

    (3 * 4 ) mod 7 = 5
    but 3 mod 5 != 5 / (4 mod 7) = 5/4
    

    在这种情况下,我们可以注意到

    (4*2 ) mod 7 = 1
    

    然后

    (2 * ((3 * 4) mod 7) mod 7
    = 24 mod 7 = 3 = 3 mod 7
    

    一般来说,如果 b 和 c 没有公约数,那么有一个 b' 有

    (b'*b ) mod c = 1
    

    然后

    (b' * ((a*b) mod c) ) mod c
    = (a* ((b'*b) mod c)) mod c
    = (a*1) mod c
    = a mod c
    

    给定没有公约数的 b 和 c,您可以通过 extended Euclid algorithm 找到 b'

    【讨论】:

      猜你喜欢
      • 2019-07-29
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2022-08-19
      • 2016-03-27
      • 1970-01-01
      相关资源
      最近更新 更多