shep32 2.60.4__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.
- shep32-2.60.4/LICENSE +21 -0
- shep32-2.60.4/MANIFEST.in +1 -0
- shep32-2.60.4/PKG-INFO +154 -0
- shep32-2.60.4/README.md +131 -0
- shep32-2.60.4/pyproject.toml +49 -0
- shep32-2.60.4/setup.cfg +4 -0
- shep32-2.60.4/src/shep32/__init__.py +30 -0
- shep32-2.60.4/src/shep32/__main__.py +3 -0
- shep32-2.60.4/src/shep32/cli.py +1162 -0
- shep32-2.60.4/src/shep32/core.py +1948 -0
- shep32-2.60.4/src/shep32.egg-info/PKG-INFO +154 -0
- shep32-2.60.4/src/shep32.egg-info/SOURCES.txt +14 -0
- shep32-2.60.4/src/shep32.egg-info/dependency_links.txt +1 -0
- shep32-2.60.4/src/shep32.egg-info/entry_points.txt +3 -0
- shep32-2.60.4/src/shep32.egg-info/requires.txt +1 -0
- shep32-2.60.4/src/shep32.egg-info/top_level.txt +1 -0
shep32-2.60.4/LICENSE
ADDED
|
@@ -0,0 +1,21 @@
|
|
|
1
|
+
MIT License
|
|
2
|
+
|
|
3
|
+
Copyright (c) 2024-2026 Andrew Lehti
|
|
4
|
+
|
|
5
|
+
Permission is hereby granted, free of charge, to any person obtaining a copy
|
|
6
|
+
of this software and associated documentation files (the "Software"), to deal
|
|
7
|
+
in the Software without restriction, including without limitation the rights
|
|
8
|
+
to use, copy, modify, merge, publish, distribute, sublicense, and/or sell
|
|
9
|
+
copies of the Software, and to permit persons to whom the Software is
|
|
10
|
+
furnished to do so, subject to the following conditions:
|
|
11
|
+
|
|
12
|
+
The above copyright notice and this permission notice shall be included in all
|
|
13
|
+
copies or substantial portions of the Software.
|
|
14
|
+
|
|
15
|
+
THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR
|
|
16
|
+
IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,
|
|
17
|
+
FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE
|
|
18
|
+
AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER
|
|
19
|
+
LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM,
|
|
20
|
+
OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE
|
|
21
|
+
SOFTWARE.
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
include README.md
|
shep32-2.60.4/PKG-INFO
ADDED
|
@@ -0,0 +1,154 @@
|
|
|
1
|
+
Metadata-Version: 2.4
|
|
2
|
+
Name: shep32
|
|
3
|
+
Version: 2.60.4
|
|
4
|
+
Summary: SHEP64 and SHEP72 key generation, encryption, signing, and CLI tooling
|
|
5
|
+
Author: Andrew Lehti
|
|
6
|
+
License-Expression: MIT
|
|
7
|
+
Project-URL: Homepage, https://pypi.org/project/shep32/
|
|
8
|
+
Keywords: shep32,shep64,shep72,crypto,cli,encryption,signing,hashing
|
|
9
|
+
Classifier: Programming Language :: Python :: 3
|
|
10
|
+
Classifier: Programming Language :: Python :: 3 :: Only
|
|
11
|
+
Classifier: Programming Language :: Python :: 3.10
|
|
12
|
+
Classifier: Programming Language :: Python :: 3.11
|
|
13
|
+
Classifier: Programming Language :: Python :: 3.12
|
|
14
|
+
Classifier: Operating System :: OS Independent
|
|
15
|
+
Classifier: Intended Audience :: Developers
|
|
16
|
+
Classifier: Environment :: Console
|
|
17
|
+
Classifier: Topic :: Security :: Cryptography
|
|
18
|
+
Requires-Python: >=3.10
|
|
19
|
+
Description-Content-Type: text/markdown
|
|
20
|
+
License-File: LICENSE
|
|
21
|
+
Requires-Dist: cryptography>=42.0.0
|
|
22
|
+
Dynamic: license-file
|
|
23
|
+
|
|
24
|
+
# shep32
|
|
25
|
+
|
|
26
|
+
`shep32` packages the SHEP64 and SHEP72 tooling into a PyPI-friendly layout with both a Python API and a console CLI.
|
|
27
|
+
|
|
28
|
+
## What it includes
|
|
29
|
+
|
|
30
|
+
- SHEP64 primary key generation
|
|
31
|
+
- SHEP72 extended key generation
|
|
32
|
+
- Text and file encryption/decryption to `.sh32`
|
|
33
|
+
- Detached body/meta encryption mode
|
|
34
|
+
- Ed25519 public key derivation, signing, and verification
|
|
35
|
+
- Range generation and benchmark commands
|
|
36
|
+
- Interactive CLI mode
|
|
37
|
+
|
|
38
|
+
## Install
|
|
39
|
+
|
|
40
|
+
```bash
|
|
41
|
+
pip install shep32
|
|
42
|
+
```
|
|
43
|
+
|
|
44
|
+
For local development:
|
|
45
|
+
|
|
46
|
+
```bash
|
|
47
|
+
pip install -e .
|
|
48
|
+
```
|
|
49
|
+
|
|
50
|
+
## CLI entry points
|
|
51
|
+
|
|
52
|
+
After installation, both of these commands work:
|
|
53
|
+
|
|
54
|
+
```bash
|
|
55
|
+
shep32 --help
|
|
56
|
+
shep --help
|
|
57
|
+
```
|
|
58
|
+
|
|
59
|
+
Open the interactive menu:
|
|
60
|
+
|
|
61
|
+
```bash
|
|
62
|
+
shep32 start
|
|
63
|
+
```
|
|
64
|
+
|
|
65
|
+
## Common commands
|
|
66
|
+
|
|
67
|
+
Generate a fresh random key:
|
|
68
|
+
|
|
69
|
+
```bash
|
|
70
|
+
shep32 key
|
|
71
|
+
```
|
|
72
|
+
|
|
73
|
+
Generate a deterministic key from text:
|
|
74
|
+
|
|
75
|
+
```bash
|
|
76
|
+
shep32 hash --text "hello"
|
|
77
|
+
```
|
|
78
|
+
|
|
79
|
+
Generate a deterministic key from an integer:
|
|
80
|
+
|
|
81
|
+
```bash
|
|
82
|
+
shep32 hash --value 12345
|
|
83
|
+
```
|
|
84
|
+
|
|
85
|
+
Generate an extended SHEP72 key:
|
|
86
|
+
|
|
87
|
+
```bash
|
|
88
|
+
shep32 hash --mode 1 --text "hello"
|
|
89
|
+
```
|
|
90
|
+
|
|
91
|
+
Generate a range:
|
|
92
|
+
|
|
93
|
+
```bash
|
|
94
|
+
shep32 range --start 0 --hashes 10
|
|
95
|
+
```
|
|
96
|
+
|
|
97
|
+
Encrypt text:
|
|
98
|
+
|
|
99
|
+
```bash
|
|
100
|
+
shep32 enc --text "secret" --out secret.sh32
|
|
101
|
+
```
|
|
102
|
+
|
|
103
|
+
Encrypt a file:
|
|
104
|
+
|
|
105
|
+
```bash
|
|
106
|
+
shep32 enc --file ./notes.txt
|
|
107
|
+
```
|
|
108
|
+
|
|
109
|
+
Decrypt a token file with a key file:
|
|
110
|
+
|
|
111
|
+
```bash
|
|
112
|
+
shep32 dec --file ./notes.sh32 --keyfile ./notes.pkey
|
|
113
|
+
```
|
|
114
|
+
|
|
115
|
+
Derive a public key:
|
|
116
|
+
|
|
117
|
+
```bash
|
|
118
|
+
shep32 pubkey --keyfile ./notes.pkey
|
|
119
|
+
```
|
|
120
|
+
|
|
121
|
+
Sign text:
|
|
122
|
+
|
|
123
|
+
```bash
|
|
124
|
+
shep32 sign --text "message" --keyfile ./notes.pkey
|
|
125
|
+
```
|
|
126
|
+
|
|
127
|
+
Verify a signature:
|
|
128
|
+
|
|
129
|
+
```bash
|
|
130
|
+
shep32 verify --text "message" --signature <signature> --public-key <publicKey>
|
|
131
|
+
```
|
|
132
|
+
|
|
133
|
+
Run a benchmark:
|
|
134
|
+
|
|
135
|
+
```bash
|
|
136
|
+
shep32 bench --hashes 1000 --compare
|
|
137
|
+
```
|
|
138
|
+
|
|
139
|
+
## Python API
|
|
140
|
+
|
|
141
|
+
```python
|
|
142
|
+
from shep32 import generateKey, encryptData, decryptData, signData, verifySignature
|
|
143
|
+
|
|
144
|
+
key = generateKey("hello", mode = 0)
|
|
145
|
+
cipher, usedKey = encryptData("secret", key)
|
|
146
|
+
plain = decryptData(cipher, usedKey)
|
|
147
|
+
|
|
148
|
+
sig = signData("message", usedKey)
|
|
149
|
+
ok = verifySignature("message", sig["signature"], sig["publicKey"])
|
|
150
|
+
```
|
|
151
|
+
|
|
152
|
+
## License
|
|
153
|
+
|
|
154
|
+
MIT License: https://github.com/andylehti/SHEP32/blob/main/LICENSE
|
shep32-2.60.4/README.md
ADDED
|
@@ -0,0 +1,131 @@
|
|
|
1
|
+
# shep32
|
|
2
|
+
|
|
3
|
+
`shep32` packages the SHEP64 and SHEP72 tooling into a PyPI-friendly layout with both a Python API and a console CLI.
|
|
4
|
+
|
|
5
|
+
## What it includes
|
|
6
|
+
|
|
7
|
+
- SHEP64 primary key generation
|
|
8
|
+
- SHEP72 extended key generation
|
|
9
|
+
- Text and file encryption/decryption to `.sh32`
|
|
10
|
+
- Detached body/meta encryption mode
|
|
11
|
+
- Ed25519 public key derivation, signing, and verification
|
|
12
|
+
- Range generation and benchmark commands
|
|
13
|
+
- Interactive CLI mode
|
|
14
|
+
|
|
15
|
+
## Install
|
|
16
|
+
|
|
17
|
+
```bash
|
|
18
|
+
pip install shep32
|
|
19
|
+
```
|
|
20
|
+
|
|
21
|
+
For local development:
|
|
22
|
+
|
|
23
|
+
```bash
|
|
24
|
+
pip install -e .
|
|
25
|
+
```
|
|
26
|
+
|
|
27
|
+
## CLI entry points
|
|
28
|
+
|
|
29
|
+
After installation, both of these commands work:
|
|
30
|
+
|
|
31
|
+
```bash
|
|
32
|
+
shep32 --help
|
|
33
|
+
shep --help
|
|
34
|
+
```
|
|
35
|
+
|
|
36
|
+
Open the interactive menu:
|
|
37
|
+
|
|
38
|
+
```bash
|
|
39
|
+
shep32 start
|
|
40
|
+
```
|
|
41
|
+
|
|
42
|
+
## Common commands
|
|
43
|
+
|
|
44
|
+
Generate a fresh random key:
|
|
45
|
+
|
|
46
|
+
```bash
|
|
47
|
+
shep32 key
|
|
48
|
+
```
|
|
49
|
+
|
|
50
|
+
Generate a deterministic key from text:
|
|
51
|
+
|
|
52
|
+
```bash
|
|
53
|
+
shep32 hash --text "hello"
|
|
54
|
+
```
|
|
55
|
+
|
|
56
|
+
Generate a deterministic key from an integer:
|
|
57
|
+
|
|
58
|
+
```bash
|
|
59
|
+
shep32 hash --value 12345
|
|
60
|
+
```
|
|
61
|
+
|
|
62
|
+
Generate an extended SHEP72 key:
|
|
63
|
+
|
|
64
|
+
```bash
|
|
65
|
+
shep32 hash --mode 1 --text "hello"
|
|
66
|
+
```
|
|
67
|
+
|
|
68
|
+
Generate a range:
|
|
69
|
+
|
|
70
|
+
```bash
|
|
71
|
+
shep32 range --start 0 --hashes 10
|
|
72
|
+
```
|
|
73
|
+
|
|
74
|
+
Encrypt text:
|
|
75
|
+
|
|
76
|
+
```bash
|
|
77
|
+
shep32 enc --text "secret" --out secret.sh32
|
|
78
|
+
```
|
|
79
|
+
|
|
80
|
+
Encrypt a file:
|
|
81
|
+
|
|
82
|
+
```bash
|
|
83
|
+
shep32 enc --file ./notes.txt
|
|
84
|
+
```
|
|
85
|
+
|
|
86
|
+
Decrypt a token file with a key file:
|
|
87
|
+
|
|
88
|
+
```bash
|
|
89
|
+
shep32 dec --file ./notes.sh32 --keyfile ./notes.pkey
|
|
90
|
+
```
|
|
91
|
+
|
|
92
|
+
Derive a public key:
|
|
93
|
+
|
|
94
|
+
```bash
|
|
95
|
+
shep32 pubkey --keyfile ./notes.pkey
|
|
96
|
+
```
|
|
97
|
+
|
|
98
|
+
Sign text:
|
|
99
|
+
|
|
100
|
+
```bash
|
|
101
|
+
shep32 sign --text "message" --keyfile ./notes.pkey
|
|
102
|
+
```
|
|
103
|
+
|
|
104
|
+
Verify a signature:
|
|
105
|
+
|
|
106
|
+
```bash
|
|
107
|
+
shep32 verify --text "message" --signature <signature> --public-key <publicKey>
|
|
108
|
+
```
|
|
109
|
+
|
|
110
|
+
Run a benchmark:
|
|
111
|
+
|
|
112
|
+
```bash
|
|
113
|
+
shep32 bench --hashes 1000 --compare
|
|
114
|
+
```
|
|
115
|
+
|
|
116
|
+
## Python API
|
|
117
|
+
|
|
118
|
+
```python
|
|
119
|
+
from shep32 import generateKey, encryptData, decryptData, signData, verifySignature
|
|
120
|
+
|
|
121
|
+
key = generateKey("hello", mode = 0)
|
|
122
|
+
cipher, usedKey = encryptData("secret", key)
|
|
123
|
+
plain = decryptData(cipher, usedKey)
|
|
124
|
+
|
|
125
|
+
sig = signData("message", usedKey)
|
|
126
|
+
ok = verifySignature("message", sig["signature"], sig["publicKey"])
|
|
127
|
+
```
|
|
128
|
+
|
|
129
|
+
## License
|
|
130
|
+
|
|
131
|
+
MIT License: https://github.com/andylehti/SHEP32/blob/main/LICENSE
|
|
@@ -0,0 +1,49 @@
|
|
|
1
|
+
[build-system]
|
|
2
|
+
requires = ["setuptools>=68", "wheel"]
|
|
3
|
+
build-backend = "setuptools.build_meta"
|
|
4
|
+
|
|
5
|
+
[project]
|
|
6
|
+
name = "shep32"
|
|
7
|
+
version = "2.60.4"
|
|
8
|
+
description = "SHEP64 and SHEP72 key generation, encryption, signing, and CLI tooling"
|
|
9
|
+
readme = "README.md"
|
|
10
|
+
requires-python = ">=3.10"
|
|
11
|
+
|
|
12
|
+
license = "MIT"
|
|
13
|
+
license-files = ["LICENSE"]
|
|
14
|
+
|
|
15
|
+
authors = [
|
|
16
|
+
{ name = "Andrew Lehti" }
|
|
17
|
+
]
|
|
18
|
+
|
|
19
|
+
keywords = ["shep32", "shep64", "shep72", "crypto", "cli", "encryption", "signing", "hashing"]
|
|
20
|
+
|
|
21
|
+
classifiers = [
|
|
22
|
+
"Programming Language :: Python :: 3",
|
|
23
|
+
"Programming Language :: Python :: 3 :: Only",
|
|
24
|
+
"Programming Language :: Python :: 3.10",
|
|
25
|
+
"Programming Language :: Python :: 3.11",
|
|
26
|
+
"Programming Language :: Python :: 3.12",
|
|
27
|
+
"Operating System :: OS Independent",
|
|
28
|
+
"Intended Audience :: Developers",
|
|
29
|
+
"Environment :: Console",
|
|
30
|
+
"Topic :: Security :: Cryptography",
|
|
31
|
+
]
|
|
32
|
+
|
|
33
|
+
dependencies = [
|
|
34
|
+
"cryptography>=42.0.0"
|
|
35
|
+
]
|
|
36
|
+
|
|
37
|
+
[project.urls]
|
|
38
|
+
Homepage = "https://pypi.org/project/shep32/"
|
|
39
|
+
|
|
40
|
+
[project.scripts]
|
|
41
|
+
shep32 = "shep32.cli:main"
|
|
42
|
+
shep = "shep32.cli:main"
|
|
43
|
+
|
|
44
|
+
[tool.setuptools]
|
|
45
|
+
package-dir = { "" = "src" }
|
|
46
|
+
include-package-data = false
|
|
47
|
+
|
|
48
|
+
[tool.setuptools.packages.find]
|
|
49
|
+
where = ["src"]
|
shep32-2.60.4/setup.cfg
ADDED
|
@@ -0,0 +1,30 @@
|
|
|
1
|
+
__version__ = "2.0.0"
|
|
2
|
+
|
|
3
|
+
from .core import (
|
|
4
|
+
DeterministicRng32,
|
|
5
|
+
computeKeyPair,
|
|
6
|
+
decryptData,
|
|
7
|
+
encryptData,
|
|
8
|
+
generateExtendedKey,
|
|
9
|
+
generateKey,
|
|
10
|
+
generateKeyFile,
|
|
11
|
+
generatePrimaryKey,
|
|
12
|
+
generatePublicKey,
|
|
13
|
+
signData,
|
|
14
|
+
verifySignature,
|
|
15
|
+
)
|
|
16
|
+
|
|
17
|
+
__all__ = [
|
|
18
|
+
"__version__",
|
|
19
|
+
"DeterministicRng32",
|
|
20
|
+
"computeKeyPair",
|
|
21
|
+
"decryptData",
|
|
22
|
+
"encryptData",
|
|
23
|
+
"generateExtendedKey",
|
|
24
|
+
"generateKey",
|
|
25
|
+
"generateKeyFile",
|
|
26
|
+
"generatePrimaryKey",
|
|
27
|
+
"generatePublicKey",
|
|
28
|
+
"signData",
|
|
29
|
+
"verifySignature",
|
|
30
|
+
]
|