Почему PyCrypto требует компилятор C?

Есть ли скриптовая библиотека python, которая не полагается ни на что кроме python? Или предустановленные пакеты PyCrypto для Linux?

One Solution collect form web for “Почему PyCrypto требует компилятор C?”

Криптография включает в себя интенсивные численные вычисления, которые значительно быстрее реализуются на языке низкого уровня, таком как C и скомпилированы для машинного кода, чем при реализации на языке высокого уровня, таком как Python, и исполняются как интерпретируемый байт-код. Вот почему вы должны ожидать, что любая библиотека, которая предоставляет базовые криптографические примитивы, должна быть хотя бы частично записана на C (или даже на ассемблере).

Однако Python включает некоторые криптографические примитивы: модули hashlib и hmac предоставляют наиболее общие алгоритмы дайджеста (MD5, SHA-1, SHA-2) и соответствующие алгоритмы HMAC.

Кроме того, Python имеет встроенную арифметику с произвольной точностью, которая позволяет эффективно реализовывать некоторые асимметричные алгоритмы в чистом Python (по крайней мере, подписание и верификация, не обязательно генерация ключей). Python-RSA ( rsa ) – это чистая реализация Python RSA PKCS # 1 1.5.

Python не поставляется с любыми алгоритмами шифрования (в частности, AES), поскольку распространение кода шифрования юридически ограничено во многих частях мира. Официально рекомендуемая внешняя библиотека – PyCrypto .

Вы должны установить PyCrypto. Это было бы в стандартной библиотеке, если бы не юридические ограничения. Большинство дистрибутивов включает пакет Pycrypto. Если у вас нет (я не знаком с Levinux), вам нужно будет установить gcc. Если в вашем дистрибутиве отсутствует gcc (или система кросс-компиляции, чтобы легко компилировать пакеты в более полной системе), это не подходит для серьезной работы.

Interesting Posts

Веб-сервер Debian недоступен после перемещения VM

NTP не включен в соответствии с TimeDateCTL – CentOS 7

Как создать / dev / null?

Связь между портом, номером порта и протоколом?

Что происходит, когда я запускаю `su` как root?

При объединении каталогов с одинаково названными файлами, как вы гарантируете замену только меньших + более ранних файлов?

Как переустановить конфигурационный файл

Почему команда «hwclock» применяет положительное смещение для местного времени, тогда как команда «date» применяет отрицательное смещение?

Archlinux: modprobe: неверный параметр – 'l'

Перенаправление трафика вторичного сетевого интерфейса вместе с переадресацией портов на tun0 (OpenVPN) с использованием iptables

Туннелирование трафика IPv6 из SLIP в Linux

Эмпатия – Монетный двор Linux 17.1 Корица

mount: / не установлен или плохой вариант

Есть ли у традиционных vi (not vim) поддержка больших файлов?

Системный раздел EFI необходим?

Linux и Unix - лучшая ОС в мире.