Вопрос или проблема
MIRACL (Библиотека многоточечных целых и рациональных арифметических операций на C/C++) – это известная библиотека, которая чаще всего используется для реализации методов криптографии, основанных на числовой теории. Я не умею программировать на C и C++, поэтому мне интересно, есть ли другие библиотеки, похожие на MIRACL, но для Python?
Я не знаком с MIRACL и не знаю, какие функции вы ищете, тем не менее, в Python есть целочисленные значения произвольной длины (int
) и рациональные числа (fractions.Fraction
) изначально.
Для Python вы можете использовать Charm: https://jhuisi.github.io/charm/install_source.html
В Charm вы найдете широкий спектр реализованных схем, которые можно легко использовать, пожалуйста, посмотрите этот пример для шифрования открытым ключом RSA https://jhuisi.github.io/charm/charm/schemes/pkenc/pkenc_rsa.html
Вот список всех реализованных криптографических протоколов: https://jhuisi.github.io/charm/schemes.html
Я также не знаком с MIRACL, но очень хорошей криптографической библиотекой для Python будет PyCryptoDome. Вы можете найти её документацию здесь.
Надеюсь, это поможет 🙂
MIRACL – это основная криптографическая библиотека, реализованная в Python следующим образом.
- Статья «MIRACL Cryptographic SDK: Библиотека криптографии с многоточечной целой и рациональной арифметикой.» [Онлайн]. Доступно: https://github.com/miracl/MIRACL (Дата обращения: дек. 2021).
- Коды GitHub——>https://github.com/miracl/core/tree/master/python
Ответ или решение
Да, в Python существуют несколько криптографических библиотек, аналогичных библиотеке MIRACL, которая используется для реализации методов криптографии на основе теории чисел. Ниже приведены некоторые из наиболее популярных библиотек с их описанием:
-
Charm:
- Charm — это библиотека для компонентного проектирования, которая поддерживает различные криптографические схемы и протоколы. Она позволяет пользователям реализовывать протоколы с использованием удобного интерфейса и включает в себя широкий спектр внедренных схем, таких как RSA, ElGamal и другие.
- Пример использования RSA для публичного ключевого шифрования можно найти здесь.
- Полный список всех внедренных криптографических протоколов доступен по этой ссылке.
-
PyCryptodome:
- PyCryptodome — это библиотека, которая предоставляет множество возможностей для работы с криптографией, включая шифрование симметричными и асимметричными ключами, хеширование и создание цифровых подписей.
- Документацию к библиотеке можно найти здесь.
-
MIRACL Python:
- MIRACL также предоставляет Python интерфейс, который позволяет использовать функции библиотеки MIRACL непосредственно в Python. Пользователи могут воспользоваться инструментами для работы с многоточными числами и рациональной арифметикой, что делает библиотеку подходящей для криптографического применения.
- Оригинальная статья о MIRACL доступна здесь.
-
gmpy2:
- gmpy2 — это библиотека для выполнения высокопроизводительных операций с большими числами, используя интерфейсы GMP (GNU Multiple Precision Arithmetic Library). Это может быть полезно для приложений, связанных с криптографией.
Каждая из этих библиотек имеет свои особенности и преимущества, в зависимости от ваших требований к производительности, удобству использования и поддерживаемым криптографическим протоколам. Вы можете выбрать подходящий вариант в зависимости от ваших потребностей и уровня знаний.