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 machine_token;
39pub mod pin;
40pub mod reader;
41mod scoped_keyring;
42pub mod seed;
43pub mod vault;
44
45pub use error::{CryptoError, CryptoResult};
47mod error;
48
49pub use aead::{
51 decrypt, decrypt_and_parse, decrypt_to_vec, encrypt, unwrap_shard_key, wrap_shard_key,
52 AAD_COMMIT, AAD_INDEX, AAD_MANIFEST, AAD_METADATA, AAD_REPO_MANIFEST, AAD_SHARD,
53 AAD_SHARD_KEY, AAD_STAGED, AAD_STASH,
54};
55
56pub use envelope::{decrypt_envelope, encrypt_with_envelope, generate_key_nonce, MAGIC_V1};
58
59pub use kdf::{
61 derive_key, derive_key_for_purpose, derive_scoped_key, generate_key, AeadNonce, ContentKey,
62 IdentitySeed, KeyNonce, KeyPurpose, KeyRing, Nonce, NostrSecretKey, RecipientSecretKey,
63 RepoSecret, SecretKey, ShareKey, SigningSecretKey,
64};
65
66pub use reader::{
68 decrypt_object, decrypt_object_parse, decrypt_object_raw, decrypt_shard_data, CommitReader,
69};
70
71pub use blob_types::{
73 EncryptedBlob, EncryptedCommit, EncryptedIndex, EncryptedManifest, EncryptedMetadata,
74 EncryptedRepoManifest, EncryptedShard, EncryptedStaged, EncryptedStash,
75};
76
77pub use cid_types::{CommitCid, ManifestCid, MetadataCid, RepoManifestCid, ShardCid};
79
80pub use keys::{
82 CommitSignature, ContributorId, NostrPubKey, ParseError, RecipientPubKey, RepoKey,
83 SigningPubKey, WrappedKey,
84};
85
86pub use identity::{
88 derive_repo_owner_signing_key, ecies_unwrap_key, ecies_wrap_key, Identity, IdentityError,
89 ParsedIdentity,
90};
91
92pub use ecies::EciesError;
94
95pub use seed::{
97 derive_nostr_key, derive_recipient_key, derive_repo_owner_key, derive_signing_key,
98 generate_mnemonic, mnemonic_to_seed, SeedError,
99};
100
101pub use pin::{decrypt_identity_keys, encrypt_identity_keys, PinError};
103
104pub use scoped_keyring::{ScopedAccessToken, ScopedKeyRing};
106
107pub use vault::KeyVault;