92 lines
2.6 KiB
TypeScript
92 lines
2.6 KiB
TypeScript
/**
|
|
* `@suaveplan/bitpacker-crypto` — bit-packer-aware crypto primitives.
|
|
*
|
|
* Public surface (consumer-driven design — see SUPERSEDED.md and the
|
|
* `bitpacker-crypto-rewrite` openspec change):
|
|
*
|
|
* - **Checksums** (existing, kept verbatim): crc32, adler32, xxhash32
|
|
* - **HashAlgorithmRegistry** (pluggable extension point — sha256/xxhash32/crc32 default)
|
|
* - **EnvelopeSchema** (typed `[magic][formatVersion][body]` envelope)
|
|
* - **SignedBitSchema** (Authority+DomainTag-bound single-signer)
|
|
* - **MultiSignedBitSchema** (N-of-N co-signed)
|
|
* - **HashChainSchema** (append-only signed chain)
|
|
* - **EncryptedBitSchema** (niche AEAD-only — small payloads, NOT chunked-file)
|
|
* - **SchemaFingerprint** (canonical-hash schema agreement)
|
|
*
|
|
* The upstream `bitpacker/src/crypto/` provider/registry abstraction is
|
|
* intentionally *not* ported; see `SUPERSEDED.md` for the per-symbol map.
|
|
*/
|
|
|
|
// Checksums
|
|
export {
|
|
adler32,
|
|
appendAdler32,
|
|
appendCrc32,
|
|
crc32,
|
|
verifyAndStripAdler32,
|
|
verifyAndStripCrc32,
|
|
} from "./crc32.js";
|
|
// Encrypted (niche AEAD)
|
|
export {
|
|
defineEncryptedBitSchema,
|
|
ENCRYPTED_ALG_TAGS,
|
|
ENCRYPTED_VERSION_V1,
|
|
type EncryptedAlgorithmTag,
|
|
type EncryptedBitSchema,
|
|
type EncryptedBitSchemaOptions,
|
|
} from "./encrypted/encrypted-bitschema.js";
|
|
// Envelope
|
|
export {
|
|
type BodyCodec,
|
|
defineEnvelopeSchema,
|
|
type EnvelopeSchema,
|
|
type EnvelopeSchemaOptions,
|
|
type ParsedEnvelope,
|
|
rawBytesCodec,
|
|
} from "./envelope/envelope-schema.js";
|
|
// Schema fingerprint
|
|
export {
|
|
assertSchemaFingerprint,
|
|
canonicalize as canonicalizeSchema,
|
|
schemaFingerprint,
|
|
} from "./fingerprint/schema-fingerprint.js";
|
|
// Pluggable hash registry
|
|
export {
|
|
createHashRegistry,
|
|
defaultHashRegistry,
|
|
type HashAlgorithm,
|
|
type HashAlgorithmRegistry,
|
|
} from "./hash-registry/hash-registry.js";
|
|
// Hashchain
|
|
export {
|
|
type ChainVerifyResult,
|
|
defineHashChainSchema,
|
|
type HashChainEntry,
|
|
type HashChainSchema,
|
|
type HashChainSchemaOptions,
|
|
} from "./hashchain/hashchain-schema.js";
|
|
|
|
// Multi-signed
|
|
export {
|
|
defineMultiSignedBitSchema,
|
|
type MultiSignedBitSchema,
|
|
type MultiSignedBitSchemaOptions,
|
|
type MultiVerifyResult,
|
|
} from "./multisigned/multisigned-bitschema.js";
|
|
// Signed
|
|
export {
|
|
DEFAULT_SIGN_SLOT,
|
|
DEFAULT_SIGNATURE_LENGTH,
|
|
defineSignedBitSchema,
|
|
type SignedBitSchema,
|
|
type SignedBitSchemaOptions,
|
|
} from "./signed/signed-bitschema.js";
|
|
export {
|
|
appendXxhash32,
|
|
calculateXxhash32,
|
|
packXxhash32,
|
|
unpackXxhash32,
|
|
verifyAndStripXxhash32,
|
|
verifyXxhash32,
|
|
} from "./xxhash32.js";
|