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 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
@@ -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"]
@@ -0,0 +1,4 @@
1
+ [egg_info]
2
+ tag_build =
3
+ tag_date = 0
4
+
@@ -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
+ ]
@@ -0,0 +1,3 @@
1
+ from .cli import main
2
+
3
+ raise SystemExit(main())