PyCryptoにCコンパイラが必要なのはなぜですか?

PyCryptoにCコンパイラが必要なのはなぜですか?

Python以外には何も依存しないPython暗号化ライブラリはありますか?それともプリコンパイルされたLinux用PyCryptoバンドルですか?

答え1

暗号化には、Pythonなどの高度な言語で実装し、解釈されたバイトコードで実行する場合よりもCなどの低級言語で実装し、機械語コードでコンパイルするときにはるかに高速な集中的な数値計算が含まれます。これが、基本暗号化基本要素を提供するすべてのライブラリが少なくとも部分的にC(またはアセンブラ)で書かれると予想する必要がある理由です。

しかし、Pythonにはいくつかの暗号化の基本要素が含まれています。hashlibそしてhmacこのモジュールは、最も一般的なダイジェストアルゴリズム(MD5、SHA-1、SHA-2)と対応するHMACアルゴリズムを提供します。

また、Pythonには任意の精度整数演算が組み込まれており、一部の非対称アルゴリズム(少なくとも署名と確認、必ずしもキー生成ではない)を純粋なPythonで効率的に実装できます。Python-RSArsa)はRSA PKCS#1 1.5の純粋なPython実装です。

Pythonには暗号化アルゴリズム(特にAES)は含まれていません。これは、暗号コードの配布が世界中の多くの地域で法的に制限されているためです。これ公式おすすめ外部図書館はパイクリプト

PyCryptoをインストールする必要があります。法的制限がない場合は、標準ライブラリにあります。ほとんどのディストリビューションにはPycryptoパッケージが含まれています。それ以外の場合(私はLevinuxに精通していない)、gccをインストールする必要があります。ディストリビューションにgcc(またはより完全なシステムでパッケージを簡単にコンパイルするクロスコンパイルシステム)がない場合、深刻な作業には適していません。

関連情報