Эксперт
   
Профиль
Группа: Завсегдатай
Сообщений: 5613
Регистрация: 21.8.2005
Где: Владимир
Репутация: 15 Всего: 118
|
валялось тут недавно... | Цитата | GMP (GNU Multiprecision Library). Текущая версия: 4.1.2. URL: http://www.swox.com/gmp/ Очень и очень приятная библиотека. Содержит функции для работы с целыми, рациональными и числами с плавающей точкой произвольной длины. Также содержит C++ - прослойку. Дистрибутив содержит множество оптимизированных под разные процессоры функций, при сборке библиотеки определяется оптимальный с точки зрения быстродействия набор оптимизаций. Библиотека содержит оптимизации под следующие процессоры: ARM, DEC Alpha 21064, 21164 и 21264, AMD 29000, AMD K6, K6-2 и Athlon, Hitachi SuperH и SH-2, HPPA 1.0, 1.1 и 2.0, Intel Pentium, Pentium Pro/II/III, Pentium 4, любой x86, Intel IA-64, i960, Motorola MC68000, MC68020, MC88100 и MC88110, Motorola/IBM PowerPC 32 и 64, National NS32000, IBM POWER, MIPS R3000, R4000, SPARCv7, SuperSPARC, любой SPARCv8, UltraSPARC, DEC VAX, Zilog Z8000, векторные Cray, Clipper, IBM ROMP (RT) и Pyramid AP/XP. API библиотеки достаточно понятный, а если и возникают вопросы, то прекрасная документация всегда поможет их решить. Кстати, помимо описания самой библиотеки, документация содержит описание реализованных алгоритмов, так что её можно использовать в качестве краткого справочника по арифметике многократной точности. Библиотека содержит неплохой генератор случайных чисел, но в этом она все-таки уступает OpenSSL. Имеется все необходимое для файлового и консольного ввода-вывода, можно сохранать/читать числа как в двоичном виде, так и в текстовом, в любой системе счисления. Пожалуй, наиболее серьезный недостаток этой библиотеки в том, что её очень непросто собрать под Windows. Дело в том что перед самой сборкой необходимо конфигурирование и настройка командой ./configure, аналога которой под Windows нет. Кроме того, для компиляции ассемблерных файлов их необходимо перевести из gcc-формата в формат, понятный MASM или NASM. Итог: безусловно, лучшая библиотека. Идеальна для приложение с большим объемом вычислений, однако требует некторого времени на обучение. Сборка под WIndows потребует времени.
FreeLIP (Long Integer Package). Текущая версия: 1.1. URL: ftp://ftp.ox.ac.uk/pub/math/freelip/ Версия 1.0 этой библиотеки использовалась в 1994 году для факторизации числа RSA-129. Одно только это обстоятельство не позволяет пройти мимо этой библиотеки. Библиотека очень небольшая и состоит всего из одного С-файла. Имеется неплохая документация, как в отдельном ps-файле, так и в виде подробных комментариев в lip.c и lip.h. "Прошлое" библиотеки дает о себе знать и сейчас: в ней присутствует огромное количество всевозможных функций из теории чисел, вплоть до разложения на множители. Также имеется средненький генератор случайных чисел. API у этой библиотеки один их самых простых и понятных. Библиотека целиком написана на C и это порождает некоторые проблемы с производительностью. Однако, существует способ значительно улучшить скорость работы — достаточно реализовать на ассемблере несколько наиболее интенсивно используемых макросов. Эти макросы и их назначение подробно описаны в документации. Итог: хорошая библиотека с простым API и непревзойденным набором фукнций из теории чисел, имеющая достаточно посредственное быстродействие. Идеальный выбор для приложений с не очень большим объемом вычислений.
OpenSSL. Текущая версия: 0.9.7b, URL: http://www.openssl.org В состав OpenSSL входит библиотека BIGNUM (BN) для работы с большими числами. Библиотека имеет все необходимое, однако особо хочется отметить прекрасный генератор случайных чисел. Библиотека частично реализована на ассемблере, поэтому с быстродействием не все так плохо. Большой плюс библиотеки — это то, что она одинаково хорошо собирается и под *nixами, и под Windows. Основной минус библиотеки — в не очень хорошей документации. Итог: вполне приличная библиотека, "заточенная" под криптографические нужды. Неплохое быстродействие, удобный API, и не очень удобная документация.
|
также есть еще MIRACL MINT LibTomMath найдете в гугле.
--------------------
Что-то не поняли? -> Напейтесь до зеленых человечков... эта сверхцивилизация Вам поможет...
|