C 中有可靠的大整数实现吗?

发布于 2024-09-08 07:00:18 字数 1539 浏览 3 评论 0原文

如果你对这篇内容有疑问,欢迎到本站社区发帖提问 参与讨论,获取更多帮助,或者扫码二维码加入 Web 技术交流群。

扫码二维码加入Web技术交流群

发布评论

需要 登录 才能够评论, 你可以免费 注册 一个本站的账号。

评论(7

香橙ぽ 2024-09-15 07:00:18

有几个人已经提到了 GMP。我只想补充一点,至少在我上次查看时,它很大程度上仅限于与 gcc 一起使用。

如果您想使用其他编译器,您可能会考虑 NTLMIRACL。我已经测试了 MIRACL 一点,它似乎工作得相当好。我使用 NTL 的次数相当多,虽然大整数更多地是它的副业,但它仍然做得很好。它并不声称与 GMP 一样快(事实上,可以使用 GMP 进行基本操作),但是当我在两者之间进行一些最小的基准测试时,我没有发现很多显着差异(尽管那是很久以前的事了,我怀疑它是否还有效)。

A couple of people have already mentioned GMP. I would only add that at least the last time I looked, it was pretty well restricted to working with gcc.

If you want to use other compilers, are couple you might consider are NTL and MIRACL. I've tested MIRACL a bit, and it seems to work reasonably well. I've used NTL quite a bit more, and while large integers are more of a sideline for it, it still does them quite nicely. It doesn't claim to be as fast as GMP (and, in fact, can use GMP to do basic operations), but when I've done some minimal benchmarking between the two I haven't found a lot of significant differences (though that was long enough ago that I doubt it's valid anymore either).

欢烬 2024-09-15 07:00:18

Gnu MP 提供了一个bignum 库。

Gnu MP provides a bignum library.

眼泪都笑了 2024-09-15 07:00:18

OpenSSL 库还提供了可靠的 BigNum 实现 ()。

The OpenSSL library also provides a solid BigNum implementation (<openssl/bn.h>).

め七分饶幸 2024-09-15 07:00:18

我使用 MAPM 这是一个可移植的任意精度(整数和浮点数)点)库。

I use MAPM which is a portable arbitrary precision (integer and floating point) library.

多像笑话 2024-09-15 07:00:18

来自 libtomcrypt 的 libtommath 可能是最小、最简单且最快的。 (有趣的是,这 3 个最高级几乎总是在一起......)如果你找不到上游,你可以从 dropbear ssh 源树中获取源代码。

libtommath, from libtomcrypt, is probably the smallest, simplest, and fastest. (Funny how those 3 superlatives almost always come together...) If you can't find an upstream you can get the source from the dropbear ssh source tree.

開玄 2024-09-15 07:00:18

如果您需要 ANSI 标准 C,请在 Dave Hanson 的 C 接口和实现 中获取代码。非常清晰且设计精良。

如果 gcc 和 gcc 扩展没问题,那么正如其他人指出的那样,Gnu 多精度库 (GMP) 得到了很好的考虑并被广泛使用。

If you want ANSI Standard C, get the code in Dave Hanson's C Interfaces and Implementations. Very clear and well designed.

If gcc and gcc extensions are OK, then as others have pointed out the Gnu Multiprecision Library (GMP) is well thought of and widely used.

和我恋爱吧 2024-09-15 07:00:18

Mbed 有一个 bignum 实现,用作加密函数的基础。

它大量用于微控制器。

Mbed has a bignum implementation that serves as basis for the crypto functions.

It is heavily used on microcontrollers.

~没有更多了~
我们使用 Cookies 和其他技术来定制您的体验包括您的登录状态等。通过阅读我们的 隐私政策 了解更多相关信息。 单击 接受 或继续使用网站,即表示您同意使用 Cookies 和您的相关数据。
原文