aboutsummaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authorHarald Welte <laforge@osmocom.org>2023-05-31 20:47:55 +0200
committerHarald Welte <laforge@osmocom.org>2023-06-05 20:58:11 +0200
commitd75fa3f7c90541db51127ddff97ccf6c3f03734e (patch)
treeb56154aeb7fb5dcb4a58faf1e119805d3a41de90
parent219a5f369c82c5ba266e1e828bd0116fca6f714b (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.md3
-rw-r--r--pySim/ota.py4
-rw-r--r--pySim/utils.py4
-rw-r--r--requirements.txt2
-rw-r--r--setup.py2
5 files changed, 8 insertions, 7 deletions
diff --git a/README.md b/README.md
index 025b518..db13a52 100644
--- a/README.md
+++ b/README.md
@@ -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
diff --git a/setup.py b/setup.py
index d14ebc6..d4fb15f 100644
--- a/setup.py
+++ b/setup.py
@@ -20,7 +20,7 @@ setup(
"pyyaml >= 5.1",
"termcolor",
"colorlog",
- "pycryptodome",
+ "pycryptodomex",
"packaging",
],
scripts=[