You can not select more than 25 topics Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.
dateKeys-dart/lib/datekeys.dart

109 lines
4.7 KiB

/// The DateKeys protocol in pure Dart: DateKey, DateKeyCap (`.dkc`) and the
/// DateKeys Access Key (`.dkk`), as `datekeys-go` and `datekeys-ts` implement
/// them, checked against the same test data.
///
/// Stages 0 to 5 of docs/PLAN_dart.md: the package and its test data, the
/// normative errors of spec §69, byte helpers and the CBOR profile of spec
/// §58, the primitives and the reading of age files, then BLS12-381 and
/// tlock: the check of a compressed point and the verification of releases,
/// with the sources that deliver them. Then the key of words of spec §38.1,
/// and the formats: the frames of the .dkc and the .dkk, PUBLIC_HEADER,
/// CONTROL_CBOR of the three formats, the .dkk, the extensions with their
/// registries, the Provider Profile with the pinned Quicknet, the DateKey
/// with its rounds and times, the padding, the head of format 3 and the
/// public note. And the reading of a capsule: its inspection, steps 1 to 8
/// of spec §63, and its opening, steps 9 to 18, in memory or from a source
/// read by ranges, to a sink of bytes or of files.
/// And the security area of format 3: what an author signs and a seal seals,
/// SECURITY_CBOR, the signature of alg 1, the signature of alg 2 with
/// certificates and the seal of seal_type 2 with the reader of CMS, and the
/// verdicts with their texts and lines, which the opening evaluates as Go.
/// And part 6a of stage 6: the writing of age files, with the injectable
/// source of the random values of the writers and the X25519, scrypt and
/// tlock recipients, for the writer of a capsule and the files of author
/// keys.
///
/// And part 7a of stage 7: the extension datekeys.capsule of a .dkk, its
/// data, which [StandardExtensions] checks by default as locator.Standard of
/// Go, and what it points to, the locator sealed for the date and the
/// envelope of the .dkc: reading and opening a locator, the rules of its
/// addresses and of the IP that a name resolves to, and the rest of the
/// envelope. And part 7b: sealing a locator and making an envelope, and the
/// author keys of alg 1, dkauthor1… and DKAUTHOR-SECRET-KEY-1…, with their
/// Ed25519 signature and their key file encrypted with scrypt.
///
/// And part 6b of stage 6: the writer of capsules of format 3,
/// [encryptFiles], with its options, its sources read in streaming, its
/// result and the hooks of the signature and the seal, [AuthorSigner],
/// [CmsSigner] and [Sealer]; and what its options take: the X25519
/// recipients and the source of the random values.
///
/// DER, the primitives, the reading and the writing of age, the recipients
/// and the random sources, agewrap, the curve arithmetic, the IBE of tlock
/// and its stanza, the rules of paths and texts on the Unicode tables, the
/// frame of BODY, the digest of a capsule, the steps of the opening, the
/// reader of CMS with its ECDSA and RSA, the parser of IP addresses, the
/// Ed25519 signing and the Unicode sets of Go are internal, as in the Go
/// reference and datekeys-ts.
library;
export 'src/accesskey.dart';
export 'src/author.dart';
export 'src/authorkey.dart' hide parseAuthorPublicUtf8, parseAuthorSecretUtf8;
export 'src/bls12381_curve.dart'
show BlsGroup, PointVerdict, checkCompressedPoint;
export 'src/bytes.dart'
show compareBytes, concatBytes, decodeUtf8, equalBytes, fromHex, toHex;
export 'src/cbor.dart';
export 'src/control.dart';
export 'src/datekey.dart';
export 'src/encrypt3.dart';
export 'src/errors.dart';
export 'src/extension.dart';
export 'src/framing.dart';
export 'src/head.dart' hide decodeWrittenHead;
export 'src/header.dart';
export 'src/inspect.dart'
show
CheckResult,
Inspection,
StanzaInfo,
inspectCapsule,
inspectCapsuleSource,
inspectJson,
inspectView,
inspectedLength,
maxAccessKeyRead;
export 'src/locator.dart';
export 'src/locator_seal.dart';
export 'src/note.dart';
export 'src/open.dart' show OpenOptions, Opened, openCapsule, openCapsuleSource;
export 'src/padding.dart';
export 'src/profile.dart';
export 'src/random.dart' show RandomSource, secureRandom;
export 'src/recipient.dart' show X25519Recipient, checkX25519Recipient;
export 'src/release.dart'
show
PinnedProfile,
Release,
ReleaseSource,
fetchRelease,
quicknetScheme,
suppliedRelease,
verifyRelease;
export 'src/security.dart';
export 'src/securitycms.dart';
export 'src/sink.dart';
export 'src/source.dart' show ByteSource, BytesSource;
export 'src/verdicts.dart';
export 'src/version.dart';
export 'src/wordkey.dart'
show
WordKeyException,
checkWords,
minLetters,
minWords,
normalizeWords,
wordKey,
wordKeyRounds;

Powered by TurnKey Linux.