Python 외에는 아무것도 의존하지 않는 Python 암호화 라이브러리가 있습니까? 아니면 미리 컴파일된 Linux용 PyCrypto 번들인가요?
답변1
암호화에는 Python과 같은 고급 언어로 구현하고 해석된 바이트코드로 실행할 때보다 C와 같은 저급 언어로 구현하고 기계어 코드로 컴파일할 때 훨씬 더 빠른 집중적인 수치 계산이 포함됩니다. 이것이 기본 암호화 기본 요소를 제공하는 모든 라이브러리가 적어도 부분적으로 C(또는 어셈블러)로 작성될 것으로 예상해야 하는 이유입니다.
그러나 Python에는 몇 가지 암호화 기본 요소가 포함되어 있습니다.hashlib
그리고hmac
이 모듈은 가장 일반적인 다이제스트 알고리즘(MD5, SHA-1, SHA-2)과 해당 HMAC 알고리즘을 제공합니다.
또한 Python에는 임의 정밀도 정수 연산이 내장되어 있어 일부 비대칭 알고리즘(적어도 서명 및 확인, 반드시 키 생성은 아님)을 순수 Python에서 효율적으로 구현할 수 있습니다.Python-RSA( rsa
)는 RSA PKCS#1 1.5의 순수 Python 구현입니다.
Python에는 암호화 알고리즘(특히 AES)이 포함되어 있지 않습니다. 암호화 코드 배포가 전 세계 여러 지역에서 법적으로 제한되어 있기 때문입니다. 이것공식 추천외부 도서관은파이크립토.
PyCrypto를 설치해야 합니다. 법적 제한이 없다면 표준 라이브러리에 있을 것입니다. 대부분의 배포판에는 Pycrypto 패키지가 포함되어 있습니다. 그렇지 않은 경우(저는 Levinux에 익숙하지 않습니다) gcc를 설치해야 합니다. 배포판에 gcc(또는 보다 완전한 시스템에서 패키지를 쉽게 컴파일하는 크로스 컴파일 시스템)가 없으면 심각한 작업에 적합하지 않습니다.