Documentation

Cryptlib.Primitives.Hash.Sha512

SHA-512 (FIPS 180-4) #

64-bit words, 80 rounds, 128-byte blocks, 64-byte digest. Tested against testdata/sha512.json.

The eight-word chaining state.

Instances For

    Initial hash values: fractional parts of the square roots of the first eight primes.

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

      Round constants: fractional parts of the cube roots of the first eighty primes.

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

          The digest as 64 big-endian bytes.

          Equations
          Instances For

            Big-endian 128-bit encoding of the message length in bits.

            Equations
            Instances For

              FIPS 180-4 padding: 0x80, then zeros, then the 128-bit big-endian bit length, to a multiple of 128 bytes.

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

                Big-endian 64-bit words of a padded message.

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

                  The message schedule: sixteen words from the block, extended to eighty.

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

                    One application of the compression function.

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

                      SHA-512.

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

                          The Hash instance #

                          State is the accumulated message, so update_append and hash_spec follow from ByteArray append lemmas.

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