SHA-512 interface.
SHA-512 is specified in the FIPS PUB 180-4 standard.
According to FIPS PUB 180-4,
the input of SHA-512 is a sequence of less than
According to FIPS PUB 180-4, the output of SHA-512 is a sequence of exactly 512 bits, or 64 bytes.
See also:
Theorem:
(defthm bit-list-of-sha-512-bits (bit-listp (sha-512-bits bits)))
Theorem:
(defthm byte-list-of-sha-512-bytes (byte-listp (sha-512-bytes bytes)))
Theorem:
(defthm len-of-sha-512-bits (equal (len (sha-512-bits bits)) 512))
Theorem:
(defthm len-of-sha-512-bytes (equal (len (sha-512-bytes bytes)) 64))
Theorem:
(defthm sha-512-bits-of-bit-list-fix-bits (equal (sha-512-bits (acl2::bit-list-fix bits)) (sha-512-bits bits)))
Theorem:
(defthm sha-512-bits-bit-list-equiv-congruence-on-bits (implies (acl2::bit-list-equiv bits bits-equiv) (equal (sha-512-bits bits) (sha-512-bits bits-equiv))) :rule-classes :congruence)
Theorem:
(defthm sha-512-bytes-of-byte-list-fix-bytes (equal (sha-512-bytes (byte-list-fix bytes)) (sha-512-bytes bytes)))
Theorem:
(defthm sha-512-bytes-byte-list-equiv-congruence-on-bytes (implies (byte-list-equiv bytes bytes-equiv) (equal (sha-512-bytes bytes) (sha-512-bytes bytes-equiv))) :rule-classes :congruence)
Theorem:
(defthm true-listp-of-sha-512-bits (true-listp (sha-512-bits bits)) :rule-classes :type-prescription)
Theorem:
(defthm true-listp-of-sha-512-bytes (true-listp (sha-512-bytes bytes)) :rule-classes :type-prescription)
Theorem:
(defthm consp-of-sha-512-bits (consp (sha-512-bits bits)) :rule-classes :type-prescription)
Theorem:
(defthm consp-of-sha-512-bytes (consp (sha-512-bytes bytes)) :rule-classes :type-prescription)
Theorem:
(defthm byte-list64p-of-sha-512-bytes (byte-list64p (sha-512-bytes bytes)))