【发布时间】:2011-12-24 10:01:22
【问题描述】:
我怎样才能在这个python(使用sage)代码中做同样的事情:
def elGamalDecrypt(c1, c2, p, x):
return Mod(c2*c1^(-x),p)
使用标准 Java 7 库?所有号码都是BigInteger。
我尝试了很多都没有成功。在 Python 中,它非常简单且快速。
【问题讨论】:
-
?
^在 Python 中是按位异或,而不是求幂;并且取模不需要任何函数,%运算符就足够了。 -
el gamal 中的按位异或肯定是错误的。除非编译器对求幂+取模进行了一些特殊的优化,否则将其编写为单独的操作将非常缓慢且占用大量内存。
-
当然,如果 Java 中缺少任何加密功能,您可能应该首先尝试 Bouncy Castle 库,它们当然会执行 El-Gamal 加密/解密。
标签: java python algorithm security encryption