diff options
author | Harald Welte <laforge@osmocom.org> | 2023-05-31 20:47:55 +0200 |
---|---|---|
committer | Harald Welte <laforge@osmocom.org> | 2023-06-05 20:58:11 +0200 |
commit | d75fa3f7c90541db51127ddff97ccf6c3f03734e (patch) | |
tree | b56154aeb7fb5dcb4a58faf1e119805d3a41de90 | |
parent | 219a5f369c82c5ba266e1e828bd0116fca6f714b (diff) |
Switch from pycryptodome to pycryptodomex
So for some weird historical reasons, the same python module is
available as pycryptodome (Crypto.* namespace) and pycryptodomex
(Cryptodome.* namespace). See the following information on the project
homepage: https://www.pycryptodome.org/src/installation
To make things extra-weird, Debian choose to package pycryptodomex as
python3-pycryptodome
(https://bugs.debian.org/cgi-bin/bugreport.cgi?bug=886291).
So in order to support both Debian-packaged and differently-installed
packages, let's switch to pycryotodomex on all platforms/installers.
Change-Id: I04daed01f51f9702595ef9f9e0d7fcdf1e4adb62
-rw-r--r-- | README.md | 3 | ||||
-rw-r--r-- | pySim/ota.py | 4 | ||||
-rw-r--r-- | pySim/utils.py | 4 | ||||
-rw-r--r-- | requirements.txt | 2 | ||||
-rw-r--r-- | setup.py | 2 |
5 files changed, 8 insertions, 7 deletions
@@ -46,7 +46,7 @@ Please install the following dependencies: - termcolor - colorlog - packaging - - pycryptodome + - pycryptodomex Example for Debian: ```sh @@ -54,6 +54,7 @@ sudo apt-get install --no-install-recommends \ pcscd libpcsclite-dev \ python3 \ python3-setuptools \ + python3-pycryptodome \ python3-pyscard \ python3-pip pip3 install --user -r requirements.txt diff --git a/pySim/ota.py b/pySim/ota.py index 83303a6..5955a08 100644 --- a/pySim/ota.py +++ b/pySim/ota.py @@ -150,8 +150,8 @@ class OtaDialect(abc.ABC): pass -from Crypto.Cipher import DES, DES3, AES -from Crypto.Hash import CMAC +from Cryptodome.Cipher import DES, DES3, AES +from Cryptodome.Hash import CMAC class OtaAlgo(abc.ABC): iv = property(lambda self: bytes([0] * self.blocksize)) diff --git a/pySim/utils.py b/pySim/utils.py index 6b8ee37..537014f 100644 --- a/pySim/utils.py +++ b/pySim/utils.py @@ -616,9 +616,9 @@ def derive_milenage_opc(ki_hex: Hexstr, op_hex: Hexstr) -> Hexstr: """ Run the milenage algorithm to calculate OPC from Ki and OP """ - from Crypto.Cipher import AES + from Cryptodome.Cipher import AES # pylint: disable=no-name-in-module - from Crypto.Util.strxor import strxor + from Cryptodome.Util.strxor import strxor from pySim.utils import b2h # We pass in hex string and now need to work on bytes diff --git a/requirements.txt b/requirements.txt index fb94472..b12cb4d 100644 --- a/requirements.txt +++ b/requirements.txt @@ -9,5 +9,5 @@ gsm0338 pyyaml>=5.1 termcolor colorlog -pycryptodome +pycryptodomex packaging @@ -20,7 +20,7 @@ setup( "pyyaml >= 5.1", "termcolor", "colorlog", - "pycryptodome", + "pycryptodomex", "packaging", ], scripts=[ |