Documentation

Cryptlib.Protocols.BACAP.Types

BACAP types: MessageBoxIndex, ReadCap, WriteCap (Echomix §4) #

Binary layouts:

Ratchet state: message counter, blinding factor K_i, encryption key E_i, HKDF state H_i.

Instances For
    Equations
    • One or more equations did not get rendered due to their size.
    Instances For
      Instances For

        Deserialize pubkey ++ index; none if the root public key is not an edwards25519 point (an unreduced y is accepted).

        Equations
        • One or more equations did not get rendered due to their size.
        Instances For

          A write capability: the root Ed25519 seed plus the earliest reachable index. The seed is kept because the expanded scalar clamp(SHA-512(seed)) cannot be inverted for serialization.

          Instances For

            The read capability at the same index: derives and decrypts the same boxes, cannot sign.

            Equations
            Instances For

              Re-base the cap to idx. The holder of the result learns nothing about earlier indices.

              Equations
              Instances For

                Re-base the cap to idx. The holder of the result learns nothing about earlier indices.

                Equations
                Instances For

                  Deserialize seed ++ pubkey ++ index; none if the stored public key is not the one the seed derives.

                  Equations
                  • One or more equations did not get rendered due to their size.
                  Instances For

                    unmarshal ∘ marshal is the identity #

                    marshal ∘ unmarshal is the identity on blobs that parse: encodings are canonical #

                    A read cap that parses re-serializes to the bytes it came from.

                    A write cap that parses re-serializes to the bytes it came from.