我正在搜索一个快速(特别是 p^n mod g 操作,应该用蒙哥马利实现)大整数库。我知道有 GMP,但 GMP 是 LGPL,它不符合我的要求。

我尝试了 http://www.acme.com/software/bigint/ 并尝试优化那里的 modpow。但是对于数据以 2^32 为基数存储的事实,在 modpow 中进行一些优化并不容易。

我也尝试过 http://www.perfsci.com/free-software.asp 中的 Giantint,但是这个库的内存管理有些困惑。它经常因一些 malloc/free 问题而崩溃。
也许来自 OpenSSL 的 bignum 会做我正在寻找的东西?但我不想将整个 OpenSSL 库添加到我的项目中。也许可以从 OpenSSL 中提取 bignum 部分?

有人有什么建议吗?

附言该库应该在 iPhone/iPad 上运行。

最佳答案

尝试查看 libtomcrypt。它必须有一些大的整数实现,这可能是小而高效的。似乎不再有官方的上游了,但是 dropbear ssh 实现使用了它,您可以使用 dropbear 找到源。

关于iphone - 具有快速 modpow 的 BSD 许可大整数 C 库,我们在Stack Overflow上找到一个类似的问题:https://stackoverflow.com/questions/3184441/

10-09 22:34