Commit graph

111 commits

Author SHA1 Message Date
Rodolphe Bréard
b8539602f0 Move the context objects to a dedicated module 2024-03-17 14:31:01 +01:00
Rodolphe Bréard
749dc03f71 Replace the encrypt and decrypt function by the CipherBox struct 2024-03-17 14:23:03 +01:00
Rodolphe Bréard
47557fe350 Fix the features 2024-03-16 11:22:08 +01:00
Rodolphe Bréard
94b1809ffa Do not use expired IKMs 2024-03-16 10:29:06 +01:00
Rodolphe Bréard
66271877dc Return an error if the IKM list ID is invalid 2024-03-16 10:28:25 +01:00
Rodolphe Bréard
230f867502 Add tests for the IKM list 2024-03-16 10:27:03 +01:00
Rodolphe Bréard
bc3cfe71dc Add the IKM id and the nonce to the AAD 2024-03-11 14:55:08 +01:00
Rodolphe Bréard
bf98245b04 Improve the tests on ciphertext parsing 2024-03-11 10:52:15 +01:00
Rodolphe Bréard
232fdb6fb2 Add decryption tests 2024-03-11 10:44:08 +01:00
Rodolphe Bréard
ac5adcc4ed Add some ciphertext parsing test 2024-03-11 10:25:40 +01:00
Rodolphe Bréard
d922297e91 Use the DataContext type 2024-03-09 17:29:55 +01:00
Rodolphe Bréard
165b197a3a Add tests to the KDF 2024-03-09 16:27:23 +01:00
Rodolphe Bréard
cac466f5ed Use a NonZeroU64 since the periodicity cannot be zero 2024-03-09 16:26:21 +01:00
Rodolphe Bréard
61d38fb6d9 Rename the get_value method to get_ctx_elems 2024-03-09 16:09:34 +01:00
Rodolphe Bréard
35400b7278 Set a default key periodicity of 1 year 2024-03-09 12:40:28 +01:00
Rodolphe Bréard
e735198f6a Allow to set the key context periodicity 2024-03-09 11:50:27 +01:00
Rodolphe Bréard
9e3cfc2fd6 Use the time period instead of the timestamp 2024-03-09 11:49:40 +01:00
Rodolphe Bréard
4e40314c67 Reduce the default IKM duration to 10 years and document it 2024-03-02 14:55:57 +01:00
Rodolphe Bréard
bdfaf8adff Fix the features 2024-03-02 14:55:14 +01:00
Rodolphe Bréard
a13411f122 Remove the use in the error module 2024-03-02 14:54:24 +01:00
Rodolphe Bréard
5da1e3f5b6 Add a dedicated type for the key context 2024-03-02 14:53:38 +01:00
Rodolphe Bréard
a0bbd6bf00 Improve error display in tests 2024-03-02 11:05:56 +01:00
Rodolphe Bréard
423476c987 Refactor the IKM storage format 2024-03-02 11:00:59 +01:00
Rodolphe Bréard
349ed79b4c Update the readme 2024-02-25 23:05:22 +01:00
Rodolphe Bréard
15198f5286 Implement deref on the IKM list, mainly to allow iteration over IKMs 2024-02-25 18:14:13 +01:00
Rodolphe Bréard
395703dae4 Expose the IKM 2024-02-25 18:08:00 +01:00
Rodolphe Bréard
6ceb598c04 Allow to delete an IKM 2024-02-25 15:28:08 +01:00
Rodolphe Bréard
c6a3855847 Allow to revoke an IKM 2024-02-25 15:23:04 +01:00
Rodolphe Bréard
a1bf9e0bcc Move the scheme related primitives to dedicated modules 2024-02-25 14:19:56 +01:00
Rodolphe Bréard
382492e915 Remove comments that went too obvious after refactoring the parts they were commenting 2024-02-25 14:06:43 +01:00
Rodolphe Bréard
85d0ee7e31 Implement decryption 2024-02-25 13:40:19 +01:00
Rodolphe Bréard
9a60461266 Fix the test 2024-02-25 13:36:58 +01:00
Rodolphe Bréard
58df7fb221 Add a type alias for the scheme serialize type 2024-02-25 12:03:06 +01:00
Rodolphe Bréard
929d089e56 Add a type for the counter id 2024-02-25 11:57:04 +01:00
Rodolphe Bréard
524b2993de Add a type for the IKM id 2024-02-25 11:53:52 +01:00
Rodolphe Bréard
59c36b0ebe Rename the parsing errors using the module name 2024-02-25 11:46:08 +01:00
Rodolphe Bréard
16d4e19617 Parse the stored encrypted data 2024-02-25 11:41:30 +01:00
Rodolphe Bréard
9df9fa6bf5 Use a custom result type 2024-02-17 20:47:07 +01:00
Rodolphe Bréard
4ddc0413ec Add cargo deny 2024-02-17 20:27:05 +01:00
Rodolphe Bréard
14e2fc2ac6 Implement encryption 2024-02-17 20:26:45 +01:00
Rodolphe Bréard
cfdfcec03e Add some tests 2024-02-17 17:58:42 +01:00
Rodolphe Bréard
f3c6dee007 Move the canonicalize function to a dedicated module 2024-02-17 17:12:16 +01:00
Rodolphe Bréard
a553821ed8 Remove an useless mut 2024-02-17 16:49:50 +01:00
Rodolphe Bréard
65796a2c91 Refactor the context canonicalization 2024-02-17 16:29:54 +01:00
Rodolphe Bréard
d679546331 Derive the key 2024-02-15 23:45:21 +01:00
Rodolphe Bréard
3b91abb1c1 Test get_latest_ikm_empty on an empty IKM list 2024-02-15 19:02:39 +01:00
Rodolphe Bréard
5cd3969b5b Set the default IKM duration to 20 years 2024-02-15 18:56:52 +01:00
Rodolphe Bréard
d8d867bb1e Expose the encryption and decryption interfaces 2024-02-15 18:47:36 +01:00
Rodolphe Bréard
f662e47690 Add the get_ikm_by_id method to the IKM 2024-02-15 18:38:24 +01:00
Rodolphe Bréard
ba08aa44f9 Add the get_latest_ikm method to the IKM 2024-02-15 18:37:59 +01:00