Skip to content

Commit 9dfd24d

Browse files
authored
Merge pull request #5 from script3r/feat/deterministic-encryption
Add Deterministic AEAD Encryption and EncryptedBinaryField
2 parents 67fa6ef + 59bf11b commit 9dfd24d

File tree

6 files changed

+644
-47
lines changed

6 files changed

+644
-47
lines changed

tink_fields/__init__.py

Lines changed: 28 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -5,10 +5,27 @@
55
for cryptographic operations, ensuring data confidentiality and integrity.
66
"""
77

8-
# Register Tink AEAD primitives
8+
# Register Tink primitives
99
from tink import aead
1010

11+
# Try to import deterministic AEAD, fall back gracefully if not available
12+
try:
13+
from tink import daead
14+
15+
DAEAD_AVAILABLE = True
16+
except ImportError:
17+
DAEAD_AVAILABLE = False
18+
daead = None
19+
1120
from .fields import (
21+
DeterministicEncryptedCharField,
22+
DeterministicEncryptedDateField,
23+
DeterministicEncryptedDateTimeField,
24+
DeterministicEncryptedEmailField,
25+
DeterministicEncryptedField,
26+
DeterministicEncryptedIntegerField,
27+
DeterministicEncryptedTextField,
28+
EncryptedBinaryField,
1229
EncryptedCharField,
1330
EncryptedDateField,
1431
EncryptedDateTimeField,
@@ -19,6 +36,8 @@
1936
)
2037

2138
aead.register()
39+
if DAEAD_AVAILABLE:
40+
daead.register()
2241

2342
__version__ = "0.3.0"
2443
__all__ = [
@@ -29,4 +48,12 @@
2948
"EncryptedIntegerField",
3049
"EncryptedDateField",
3150
"EncryptedDateTimeField",
51+
"EncryptedBinaryField",
52+
"DeterministicEncryptedField",
53+
"DeterministicEncryptedTextField",
54+
"DeterministicEncryptedCharField",
55+
"DeterministicEncryptedEmailField",
56+
"DeterministicEncryptedIntegerField",
57+
"DeterministicEncryptedDateField",
58+
"DeterministicEncryptedDateTimeField",
3259
]

0 commit comments

Comments
 (0)