1#![warn(clippy::all)]
25#![allow(clippy::disallowed_methods)]
29
30mod aead;
31mod blob_types;
32mod cid_types;
33pub mod ecies;
34mod envelope;
35pub mod identity;
36mod kdf;
37mod keys;
38pub mod pin;
39pub mod reader;
40mod scoped_keyring;
41pub mod seed;
42pub mod vault;
43
44pub use error::{CryptoError, CryptoResult};
46mod error;
47
48pub use aead::{
50 decrypt, decrypt_and_parse, decrypt_to_vec, encrypt, unwrap_shard_key, wrap_shard_key,
51 AAD_COMMIT, AAD_INDEX, AAD_MANIFEST, AAD_METADATA, AAD_REPO_MANIFEST, AAD_SHARD,
52 AAD_SHARD_KEY, AAD_STAGED, AAD_STASH,
53};
54
55pub use envelope::{decrypt_envelope, encrypt_with_envelope, generate_key_nonce, MAGIC_V1};
57
58pub use kdf::{
60 derive_key, derive_key_for_purpose, derive_scoped_key, generate_key, AeadNonce, ContentKey,
61 IdentitySeed, KeyNonce, KeyPurpose, KeyRing, Nonce, NostrSecretKey, RecipientSecretKey,
62 RepoSecret, SecretKey, ShareKey, SigningSecretKey,
63};
64
65pub use reader::{
67 decrypt_object, decrypt_object_parse, decrypt_object_raw, decrypt_shard_data, CommitReader,
68};
69
70pub use blob_types::{
72 EncryptedBlob, EncryptedCommit, EncryptedIndex, EncryptedManifest, EncryptedMetadata,
73 EncryptedRepoManifest, EncryptedShard, EncryptedStaged, EncryptedStash,
74};
75
76pub use cid_types::{CommitCid, ManifestCid, MetadataCid, RepoManifestCid, ShardCid};
78
79pub use keys::{
81 CommitSignature, ContributorId, NostrPubKey, ParseError, RecipientPubKey, RepoKey,
82 SigningPubKey, WrappedKey,
83};
84
85pub use identity::{
87 derive_repo_owner_signing_key, ecies_unwrap_key, ecies_wrap_key, Identity, IdentityError,
88 ParsedIdentity,
89};
90
91pub use ecies::EciesError;
93
94pub use seed::{
96 derive_nostr_key, derive_recipient_key, derive_repo_owner_key, derive_signing_key,
97 generate_mnemonic, mnemonic_to_seed, SeedError,
98};
99
100pub use pin::{decrypt_identity_keys, encrypt_identity_keys, PinError};
102
103pub use scoped_keyring::{ScopedAccessToken, ScopedKeyRing};
105
106pub use vault::KeyVault;