transcrypto 1.7.0__tar.gz → 1.8.0__tar.gz
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- {transcrypto-1.7.0 → transcrypto-1.8.0}/PKG-INFO +12 -10
- {transcrypto-1.7.0 → transcrypto-1.8.0}/README.md +8 -8
- {transcrypto-1.7.0 → transcrypto-1.8.0}/pyproject.toml +16 -13
- {transcrypto-1.7.0 → transcrypto-1.8.0}/src/transcrypto/__init__.py +1 -1
- {transcrypto-1.7.0 → transcrypto-1.8.0}/src/transcrypto/base.py +58 -339
- transcrypto-1.8.0/src/transcrypto/cli/__init__.py +3 -0
- transcrypto-1.8.0/src/transcrypto/cli/aeshash.py +368 -0
- transcrypto-1.8.0/src/transcrypto/cli/bidsecret.py +334 -0
- transcrypto-1.8.0/src/transcrypto/cli/clibase.py +303 -0
- transcrypto-1.8.0/src/transcrypto/cli/intmath.py +427 -0
- transcrypto-1.8.0/src/transcrypto/cli/publicalgos.py +877 -0
- {transcrypto-1.7.0 → transcrypto-1.8.0}/src/transcrypto/profiler.py +10 -7
- transcrypto-1.8.0/src/transcrypto/transcrypto.py +461 -0
- transcrypto-1.7.0/src/transcrypto/transcrypto.py +0 -2407
- {transcrypto-1.7.0 → transcrypto-1.8.0}/LICENSE +0 -0
- {transcrypto-1.7.0 → transcrypto-1.8.0}/src/transcrypto/aes.py +0 -0
- {transcrypto-1.7.0 → transcrypto-1.8.0}/src/transcrypto/constants.py +0 -0
- {transcrypto-1.7.0 → transcrypto-1.8.0}/src/transcrypto/dsa.py +0 -0
- {transcrypto-1.7.0 → transcrypto-1.8.0}/src/transcrypto/elgamal.py +0 -0
- {transcrypto-1.7.0 → transcrypto-1.8.0}/src/transcrypto/modmath.py +0 -0
- {transcrypto-1.7.0 → transcrypto-1.8.0}/src/transcrypto/py.typed +0 -0
- {transcrypto-1.7.0 → transcrypto-1.8.0}/src/transcrypto/rsa.py +0 -0
- {transcrypto-1.7.0 → transcrypto-1.8.0}/src/transcrypto/sss.py +0 -0
|
@@ -1,15 +1,17 @@
|
|
|
1
1
|
Metadata-Version: 2.4
|
|
2
2
|
Name: transcrypto
|
|
3
|
-
Version: 1.
|
|
3
|
+
Version: 1.8.0
|
|
4
4
|
Summary: Basic crypto primitives, not intended for actual use, but as a companion to --Criptografia, Métodos e Algoritmos--
|
|
5
5
|
License-Expression: Apache-2.0
|
|
6
6
|
License-File: LICENSE
|
|
7
7
|
Keywords: cryptography,validation,encryption,signing,random-generation,prime-numbers,aes-encryption,decryption,rsa-cryptography,elgamal-encryption,dsa-algorithm,modular-mathematics,rsa,dsa,elgamal,aes,python,poetry,typer,rich,cli
|
|
8
8
|
Author: Daniel Balparda
|
|
9
9
|
Author-email: balparda@github.com
|
|
10
|
-
Requires-Python: >=3.
|
|
10
|
+
Requires-Python: >=3.12
|
|
11
11
|
Classifier: Programming Language :: Python :: 3
|
|
12
|
+
Classifier: Programming Language :: Python :: 3.12
|
|
12
13
|
Classifier: Programming Language :: Python :: 3.13
|
|
14
|
+
Classifier: Programming Language :: Python :: 3.14
|
|
13
15
|
Classifier: Operating System :: OS Independent
|
|
14
16
|
Classifier: Topic :: Utilities
|
|
15
17
|
Classifier: Topic :: Security :: Cryptography
|
|
@@ -932,7 +934,7 @@ print(priv.RawVerifyShare(secret, tampered)) # ▶ False
|
|
|
932
934
|
|
|
933
935
|
### Setup
|
|
934
936
|
|
|
935
|
-
If you want to develop for this project, first install python 3.
|
|
937
|
+
If you want to develop for this project, first install python 3.12 and [Poetry](https://python-poetry.org/docs/cli/), but to get the versions you will need, we suggest you do it like this (*Linux*):
|
|
936
938
|
|
|
937
939
|
```sh
|
|
938
940
|
sudo apt-get update
|
|
@@ -941,10 +943,10 @@ sudo apt-get install git python3 python3-pip pipx python3-dev python3-venv build
|
|
|
941
943
|
|
|
942
944
|
sudo add-apt-repository ppa:deadsnakes/ppa # install arbitrary python version
|
|
943
945
|
sudo apt-get update
|
|
944
|
-
sudo apt-get install python3.
|
|
946
|
+
sudo apt-get install python3.12
|
|
945
947
|
|
|
946
948
|
sudo apt-get remove python3-poetry
|
|
947
|
-
python3.
|
|
949
|
+
python3.12 -m pipx ensurepath
|
|
948
950
|
# re-open terminal
|
|
949
951
|
pipx install poetry
|
|
950
952
|
poetry --version # should be >=2.1
|
|
@@ -960,11 +962,11 @@ brew update
|
|
|
960
962
|
brew upgrade
|
|
961
963
|
brew cleanup -s
|
|
962
964
|
|
|
963
|
-
brew install git python@3.
|
|
965
|
+
brew install git python@3.12 # install arbitrary python version
|
|
964
966
|
|
|
965
967
|
brew uninstall poetry
|
|
966
|
-
python3.
|
|
967
|
-
python3.
|
|
968
|
+
python3.12 -m pip install --user pipx
|
|
969
|
+
python3.12 -m pipx ensurepath
|
|
968
970
|
# re-open terminal
|
|
969
971
|
pipx install poetry
|
|
970
972
|
poetry --version # should be >=2.1
|
|
@@ -979,7 +981,7 @@ Now install the project:
|
|
|
979
981
|
git clone https://github.com/balparda/transcrypto.git transcrypto
|
|
980
982
|
cd transcrypto
|
|
981
983
|
|
|
982
|
-
poetry env use python3.
|
|
984
|
+
poetry env use python3.12 # creates the venv
|
|
983
985
|
poetry sync # sync env to project's poetry.lock file
|
|
984
986
|
poetry env info # no-op: just to check
|
|
985
987
|
|
|
@@ -1017,7 +1019,7 @@ If you manually added a dependency to `pyproject.toml` you should ***very carefu
|
|
|
1017
1019
|
|
|
1018
1020
|
```sh
|
|
1019
1021
|
rm -rf .venv .poetry poetry.lock
|
|
1020
|
-
poetry env use python3.
|
|
1022
|
+
poetry env use python3.12
|
|
1021
1023
|
poetry install
|
|
1022
1024
|
```
|
|
1023
1025
|
|
|
@@ -903,7 +903,7 @@ print(priv.RawVerifyShare(secret, tampered)) # ▶ False
|
|
|
903
903
|
|
|
904
904
|
### Setup
|
|
905
905
|
|
|
906
|
-
If you want to develop for this project, first install python 3.
|
|
906
|
+
If you want to develop for this project, first install python 3.12 and [Poetry](https://python-poetry.org/docs/cli/), but to get the versions you will need, we suggest you do it like this (*Linux*):
|
|
907
907
|
|
|
908
908
|
```sh
|
|
909
909
|
sudo apt-get update
|
|
@@ -912,10 +912,10 @@ sudo apt-get install git python3 python3-pip pipx python3-dev python3-venv build
|
|
|
912
912
|
|
|
913
913
|
sudo add-apt-repository ppa:deadsnakes/ppa # install arbitrary python version
|
|
914
914
|
sudo apt-get update
|
|
915
|
-
sudo apt-get install python3.
|
|
915
|
+
sudo apt-get install python3.12
|
|
916
916
|
|
|
917
917
|
sudo apt-get remove python3-poetry
|
|
918
|
-
python3.
|
|
918
|
+
python3.12 -m pipx ensurepath
|
|
919
919
|
# re-open terminal
|
|
920
920
|
pipx install poetry
|
|
921
921
|
poetry --version # should be >=2.1
|
|
@@ -931,11 +931,11 @@ brew update
|
|
|
931
931
|
brew upgrade
|
|
932
932
|
brew cleanup -s
|
|
933
933
|
|
|
934
|
-
brew install git python@3.
|
|
934
|
+
brew install git python@3.12 # install arbitrary python version
|
|
935
935
|
|
|
936
936
|
brew uninstall poetry
|
|
937
|
-
python3.
|
|
938
|
-
python3.
|
|
937
|
+
python3.12 -m pip install --user pipx
|
|
938
|
+
python3.12 -m pipx ensurepath
|
|
939
939
|
# re-open terminal
|
|
940
940
|
pipx install poetry
|
|
941
941
|
poetry --version # should be >=2.1
|
|
@@ -950,7 +950,7 @@ Now install the project:
|
|
|
950
950
|
git clone https://github.com/balparda/transcrypto.git transcrypto
|
|
951
951
|
cd transcrypto
|
|
952
952
|
|
|
953
|
-
poetry env use python3.
|
|
953
|
+
poetry env use python3.12 # creates the venv
|
|
954
954
|
poetry sync # sync env to project's poetry.lock file
|
|
955
955
|
poetry env info # no-op: just to check
|
|
956
956
|
|
|
@@ -988,7 +988,7 @@ If you manually added a dependency to `pyproject.toml` you should ***very carefu
|
|
|
988
988
|
|
|
989
989
|
```sh
|
|
990
990
|
rm -rf .venv .poetry poetry.lock
|
|
991
|
-
poetry env use python3.
|
|
991
|
+
poetry env use python3.12
|
|
992
992
|
poetry install
|
|
993
993
|
```
|
|
994
994
|
|
|
@@ -12,7 +12,7 @@ build-backend = "poetry.core.masonry.api"
|
|
|
12
12
|
[project]
|
|
13
13
|
|
|
14
14
|
name = "transcrypto"
|
|
15
|
-
version = "1.
|
|
15
|
+
version = "1.8.0" # also update src/transcrypto/__init__.py
|
|
16
16
|
|
|
17
17
|
description = "Basic crypto primitives, not intended for actual use, but as a companion to --Criptografia, Métodos e Algoritmos--"
|
|
18
18
|
license = "Apache-2.0"
|
|
@@ -45,20 +45,22 @@ keywords = [
|
|
|
45
45
|
]
|
|
46
46
|
classifiers = [ # see: https://pypi.org/classifiers/
|
|
47
47
|
"Programming Language :: Python :: 3",
|
|
48
|
+
"Programming Language :: Python :: 3.12",
|
|
48
49
|
"Programming Language :: Python :: 3.13",
|
|
50
|
+
"Programming Language :: Python :: 3.14",
|
|
49
51
|
"Operating System :: OS Independent",
|
|
50
52
|
"Topic :: Utilities",
|
|
51
53
|
"Topic :: Security :: Cryptography"
|
|
52
54
|
]
|
|
53
55
|
|
|
54
|
-
requires-python = ">=3.
|
|
56
|
+
requires-python = ">=3.12"
|
|
55
57
|
readme = "README.md"
|
|
56
58
|
license-files = [ "LICENSE" ]
|
|
57
59
|
|
|
58
60
|
dependencies = [
|
|
59
61
|
|
|
60
|
-
"typer>=0.21", # if this changes, also change: [tool.poetry.dependencies]
|
|
61
|
-
"rich>=14.3",
|
|
62
|
+
"typer>=0.21", # if this changes, also change: [tool.poetry.dependencies]
|
|
63
|
+
"rich>=14.3",
|
|
62
64
|
"platformdirs>=4.5",
|
|
63
65
|
|
|
64
66
|
# best place for project dependencies, if possible
|
|
@@ -115,14 +117,14 @@ include = [
|
|
|
115
117
|
|
|
116
118
|
# prefer to add dependencies inside the [project.dependencies] section
|
|
117
119
|
|
|
118
|
-
python = "^3.
|
|
119
|
-
typer = { version = "^0.21", extras = ["all"] }
|
|
120
|
+
python = "^3.12" # if version changes, remember to change README.md
|
|
121
|
+
typer = { version = "^0.21", extras = ["all"] }
|
|
120
122
|
|
|
121
123
|
[tool.poetry.group.dev.dependencies]
|
|
122
124
|
|
|
123
|
-
ruff = "~0.14.14"
|
|
124
|
-
mypy = "~1.19.1"
|
|
125
|
-
pytest = "^9.0"
|
|
125
|
+
ruff = "~0.14.14"
|
|
126
|
+
mypy = "~1.19.1"
|
|
127
|
+
pytest = "^9.0"
|
|
126
128
|
pytest-cov = "^7.0"
|
|
127
129
|
pytest-flakefinder = "^1.1"
|
|
128
130
|
pyright = "^1.1"
|
|
@@ -139,7 +141,7 @@ poetry-plugin-export = "^1.10"
|
|
|
139
141
|
####################################################################################################
|
|
140
142
|
[tool.ruff]
|
|
141
143
|
|
|
142
|
-
target-version = "
|
|
144
|
+
target-version = "py312"
|
|
143
145
|
line-length = 100
|
|
144
146
|
indent-width = 2
|
|
145
147
|
|
|
@@ -213,7 +215,7 @@ ignore = [
|
|
|
213
215
|
|
|
214
216
|
"TD002", # allow TODOs without authors
|
|
215
217
|
"TD003", # allow TODOs without bugs
|
|
216
|
-
"FIX002", # fix the todos...
|
|
218
|
+
"FIX002", # fix the todos... if you want to still see them in VSCode: "Todo Tree" extension (Gruntfuggly)
|
|
217
219
|
"PGH003", # allow ignoring type issues without giving extra codes
|
|
218
220
|
|
|
219
221
|
"LOG015", # allows for calls into top-level logging methods
|
|
@@ -236,7 +238,7 @@ preview = true # if you want new features being previewed
|
|
|
236
238
|
####################################################################################################
|
|
237
239
|
[tool.mypy]
|
|
238
240
|
|
|
239
|
-
python_version = "3.
|
|
241
|
+
python_version = "3.12"
|
|
240
242
|
mypy_path = [ "src" ]
|
|
241
243
|
|
|
242
244
|
warn_return_any = true
|
|
@@ -256,11 +258,12 @@ strict = true
|
|
|
256
258
|
[tool.pyright]
|
|
257
259
|
|
|
258
260
|
typeCheckingMode = "strict"
|
|
259
|
-
pythonVersion = "3.
|
|
261
|
+
pythonVersion = "3.12"
|
|
260
262
|
venvPath = "."
|
|
261
263
|
venv = ".venv"
|
|
262
264
|
|
|
263
265
|
include = [ "src", "tests", "tests_integration" ]
|
|
266
|
+
extraPaths = [ ".", "src" ] # needed to find tests/ directory modules
|
|
264
267
|
exclude = [
|
|
265
268
|
"**/.venv",
|
|
266
269
|
"**/__pycache__",
|
|
@@ -3,5 +3,5 @@
|
|
|
3
3
|
"""Basic cryptography primitives implementation."""
|
|
4
4
|
|
|
5
5
|
__all__: list[str] = ['__author__', '__version__']
|
|
6
|
-
__version__ = '1.
|
|
6
|
+
__version__ = '1.8.0' # remember to also update pyproject.toml
|
|
7
7
|
__author__ = 'Daniel Balparda <balparda@github.com>'
|