libmd / md5: Add SHA-512/224.
While there, remove .Tn from man pages. Also remove an obsolete comment about the 80386. MFC after: 1 week Sponsored by: Klara, Inc. Reviewed by: kevans, allanjude Differential Revision: https://reviews.freebsd.org/D38373
This commit is contained in:
parent
6680cfe8e0
commit
2768d70567
@ -13,7 +13,7 @@ SRCS= md4c.c md5c.c md4hl.c md5hl.c \
|
||||
sha0c.c sha0hl.c sha1c.c sha1hl.c \
|
||||
sha224hl.c sha256c.c sha256hl.c \
|
||||
sha384hl.c \
|
||||
sha512c.c sha512hl.c sha512thl.c \
|
||||
sha512c.c sha512hl.c sha512t224hl.c sha512t256hl.c \
|
||||
skein.c skein_block.c \
|
||||
skein256hl.c skein512hl.c skein1024hl.c
|
||||
INCS= md4.h md5.h ripemd.h sha.h sha224.h sha256.h sha384.h sha512.h \
|
||||
@ -54,6 +54,10 @@ MLINKS+=sha512.3 SHA512_Init.3 sha512.3 SHA512_Update.3
|
||||
MLINKS+=sha512.3 SHA512_Final.3 sha512.3 SHA512_End.3
|
||||
MLINKS+=sha512.3 SHA512_File.3 sha512.3 SHA512_FileChunk.3
|
||||
MLINKS+=sha512.3 SHA512_Data.3
|
||||
MLINKS+=sha512.3 SHA512_224_Init.3 sha512.3 SHA512_224_Update.3
|
||||
MLINKS+=sha512.3 SHA512_224_Final.3 sha512.3 SHA512_224_End.3
|
||||
MLINKS+=sha512.3 SHA512_224_File.3 sha512.3 SHA512_224_FileChunk.3
|
||||
MLINKS+=sha512.3 SHA512_224_Data.3
|
||||
MLINKS+=sha512.3 SHA512_256_Init.3 sha512.3 SHA512_256_Update.3
|
||||
MLINKS+=sha512.3 SHA512_256_Final.3 sha512.3 SHA512_256_End.3
|
||||
MLINKS+=sha512.3 SHA512_256_File.3 sha512.3 SHA512_256_FileChunk.3
|
||||
@ -76,7 +80,9 @@ CLEANFILES+= md[245]hl.c md[245].ref md[245].3 mddriver \
|
||||
sha0.ref sha0hl.c sha1.ref sha1hl.c shadriver \
|
||||
sha224.ref sha256.ref sha224hl.c sha256hl.c \
|
||||
sha384hl.c sha384.ref \
|
||||
sha512.ref sha512hl.c sha512t256.ref sha512thl.c \
|
||||
sha512.ref sha512hl.c \
|
||||
sha512t224.ref sha512t224hl.c \
|
||||
sha512t256.ref sha512t256hl.c \
|
||||
skein256hl.c skein512hl.c skein1024hl.c \
|
||||
skein256.ref skein512.ref skein1024.ref \
|
||||
skeindriver
|
||||
@ -184,7 +190,14 @@ sha512hl.c: mdXhl.c
|
||||
-e 's/SHA512__/SHA512_/g' \
|
||||
${.ALLSRC}) > ${.TARGET}
|
||||
|
||||
sha512thl.c: mdXhl.c
|
||||
sha512t224hl.c: mdXhl.c
|
||||
(echo '#define LENGTH 28'; \
|
||||
sed -e 's/mdX/sha512t/g' -e 's/MDX/SHA512_224_/g' \
|
||||
-e 's/SHA512_224__/SHA512_224_/g' \
|
||||
-e 's/SHA512_224_CTX/SHA512_CTX/g' \
|
||||
${.ALLSRC}) > ${.TARGET}
|
||||
|
||||
sha512t256hl.c: mdXhl.c
|
||||
(echo '#define LENGTH 32'; \
|
||||
sed -e 's/mdX/sha512t/g' -e 's/MDX/SHA512_256_/g' \
|
||||
-e 's/SHA512_256__/SHA512_256_/g' \
|
||||
@ -328,6 +341,21 @@ sha512.ref:
|
||||
@echo 'SHA-512 ("12345678901234567890123456789012345678901234567890123456789012345678901234567890") =' \
|
||||
'72ec1ef1124a45b047e8b7c75a932195135bb61de24ec0d1914042246e0aec3a2354e093d76f3048b456764346900cb130d2a4fd5dd16abb5e30bcb850dee843' >> ${.TARGET}
|
||||
|
||||
sha512t224.ref:
|
||||
echo 'SHA-512224 test suite:' > ${.TARGET}
|
||||
@echo 'SHA-512224 ("") =' \
|
||||
'6ed0dd02806fa89e25de060c19d3ac86cabb87d6a0ddd05c333b84f4' >> ${.TARGET}
|
||||
@echo 'SHA-512224 ("abc") =' \
|
||||
'4634270f707b6a54daae7530460842e20e37ed265ceee9a43e8924aa' >> ${.TARGET}
|
||||
@echo 'SHA-512224 ("message digest") =' \
|
||||
'ad1a4db188fe57064f4f24609d2a83cd0afb9b398eb2fcaeaae2c564' >> ${.TARGET}
|
||||
@echo 'SHA-512224 ("abcdefghijklmnopqrstuvwxyz") =' \
|
||||
'ff83148aa07ec30655c1b40aff86141c0215fe2a54f767d3f38743d8' >> ${.TARGET}
|
||||
@echo 'SHA-512224 ("ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz0123456789") =' \
|
||||
'a8b4b9174b99ffc67d6f49be9981587b96441051e16e6dd036b140d3' >> ${.TARGET}
|
||||
@echo 'SHA-512224 ("12345678901234567890123456789012345678901234567890123456789012345678901234567890") =' \
|
||||
'ae988faaa47e401a45f704d1272d99702458fea2ddc6582827556dd2' >> ${.TARGET}
|
||||
|
||||
sha512t256.ref:
|
||||
echo 'SHA-512256 test suite:' > ${.TARGET}
|
||||
@echo 'SHA-512256 ("") =' \
|
||||
@ -400,7 +428,7 @@ skein1024.ref:
|
||||
'cf21a613620e6c119eca31fdfaad449a8e02f95ca256c21d2a105f8e4157048f9fe1e897893ea18b64e0e37cb07d5ac947f27ba544caf7cbc1ad094e675aed77a366270f7eb7f46543bccfa61c526fd628408058ed00ed566ac35a9761d002e629c4fb0d430b2f4ad016fcc49c44d2981c4002da0eecc42144160e2eaea4855a' >> ${.TARGET}
|
||||
|
||||
test: md4.ref md5.ref sha0.ref rmd160.ref sha1.ref sha224.ref sha256.ref sha384.ref \
|
||||
sha512.ref sha512t256.ref skein256.ref skein512.ref skein1024.ref
|
||||
sha512.ref sha512t224.ref sha512t256.ref skein256.ref skein512.ref skein1024.ref
|
||||
@${ECHO} if any of these test fail, the code produces wrong results
|
||||
@${ECHO} and should NOT be used.
|
||||
${CC} ${CFLAGS} ${LDFLAGS} -DMD=4 -o mddriver ${.CURDIR}/mddriver.c libmd.a
|
||||
@ -432,6 +460,10 @@ test: md4.ref md5.ref sha0.ref rmd160.ref sha1.ref sha224.ref sha256.ref sha384.
|
||||
${CC} ${CFLAGS} ${LDFLAGS} -DSHA=512 -o shadriver ${.CURDIR}/shadriver.c libmd.a
|
||||
./shadriver | cmp sha512.ref -
|
||||
@${ECHO} SHA-512 passed test
|
||||
${CC} ${CFLAGS} ${LDFLAGS} -DSHA=512224 -o shadriver ${.CURDIR}/shadriver.c libmd.a
|
||||
./shadriver | cmp sha512t224.ref -
|
||||
@${ECHO} SHA-512t224 passed test
|
||||
-rm -f shadriver
|
||||
${CC} ${CFLAGS} ${LDFLAGS} -DSHA=512256 -o shadriver ${.CURDIR}/shadriver.c libmd.a
|
||||
./shadriver | cmp sha512t256.ref -
|
||||
@${ECHO} SHA-512t256 passed test
|
||||
|
@ -95,8 +95,7 @@ function is a wrapper for
|
||||
.Fn MDXFinal
|
||||
which converts the return value to a 33-character
|
||||
(including the terminating '\e0')
|
||||
.Tn ASCII
|
||||
string which represents the 128 bits in hexadecimal.
|
||||
ASCII string which represents the 128 bits in hexadecimal.
|
||||
.Pp
|
||||
The
|
||||
.Fn MDXFile
|
||||
@ -201,15 +200,12 @@ These functions appeared in
|
||||
.Fx 2.0 .
|
||||
.Sh AUTHORS
|
||||
The original MDX routines were developed by
|
||||
.Tn RSA
|
||||
Data Security, Inc., and published in the above references.
|
||||
RSA Data Security, Inc., and published in the above references.
|
||||
This code is derived directly from these implementations by
|
||||
.An Poul-Henning Kamp Aq Mt phk@FreeBSD.org .
|
||||
.Pp
|
||||
Phk ristede runen.
|
||||
.Sh BUGS
|
||||
The
|
||||
.Tn MD5
|
||||
algorithm has been proven to be vulnerable to practical collision
|
||||
The MD5 algorithm has been proven to be vulnerable to practical collision
|
||||
attacks and should not be relied upon to produce unique outputs,
|
||||
.Em nor should they be used as part of a cryptographic signature scheme.
|
||||
|
@ -75,8 +75,7 @@ function is a wrapper for
|
||||
.Fn RIPEMD160_Final
|
||||
which converts the return value to a 41-character
|
||||
(including the terminating '\e0')
|
||||
.Tn ASCII
|
||||
string which represents the 160 bits in hexadecimal.
|
||||
ASCII string which represents the 160 bits in hexadecimal.
|
||||
.Pp
|
||||
The
|
||||
.Fn RIPEMD160_File
|
||||
@ -156,9 +155,7 @@ These functions appeared in
|
||||
.Fx 4.0 .
|
||||
.Sh AUTHORS
|
||||
The core hash routines were implemented by Eric Young based on the
|
||||
published
|
||||
.Tn RIPEMD160
|
||||
specification.
|
||||
published RIPEMD160 specification.
|
||||
.Sh BUGS
|
||||
No method is known to exist which finds two files having the same hash value,
|
||||
nor to find a file with a specific hash value.
|
||||
|
@ -9,7 +9,7 @@
|
||||
.\" From: Id: mdX.3,v 1.14 1999/02/11 20:31:49 wollman Exp
|
||||
.\" $FreeBSD$
|
||||
.\"
|
||||
.Dd May 21, 2019
|
||||
.Dd February 6, 2023
|
||||
.Dt SHA 3
|
||||
.Os
|
||||
.Sh NAME
|
||||
@ -76,16 +76,9 @@ a
|
||||
.Dq fingerprint
|
||||
of the input-data, which does not disclose the actual input.
|
||||
.Pp
|
||||
.Tn SHA
|
||||
(or
|
||||
.Tn SHA-0 )
|
||||
is the original Secure Hash Algorithm specified in
|
||||
.Tn FIPS
|
||||
160.
|
||||
It was quickly proven insecure, and has been superseded by
|
||||
.Tn SHA-1 .
|
||||
.Tn SHA-0
|
||||
is included for compatibility purposes only.
|
||||
SHA (or SHA-0) is the original Secure Hash Algorithm specified in FIPS 160.
|
||||
It was quickly proven insecure, and has been superseded by SHA-1.
|
||||
SHA-0 is included for compatibility purposes only.
|
||||
.Pp
|
||||
The
|
||||
.Fn SHA1_Init ,
|
||||
@ -109,8 +102,7 @@ is a wrapper for
|
||||
.Fn SHA1_Final
|
||||
which converts the return value to a 41-character
|
||||
(including the terminating '\e0')
|
||||
.Tn ASCII
|
||||
string which represents the 160 bits in hexadecimal.
|
||||
ASCII string which represents the 160 bits in hexadecimal.
|
||||
.Pp
|
||||
.Fn SHA1_File
|
||||
calculates the digest of a file, and uses
|
||||
@ -188,23 +180,8 @@ These functions appeared in
|
||||
.Sh AUTHORS
|
||||
The core hash routines were implemented by Eric Young based on the
|
||||
published
|
||||
.Tn FIPS
|
||||
standards.
|
||||
FIPS standards.
|
||||
.Sh BUGS
|
||||
The
|
||||
.Tn SHA1
|
||||
algorithm has been proven to be vulnerable to practical collision
|
||||
The SHA1 algorithm has been proven to be vulnerable to practical collision
|
||||
attacks and should not be relied upon to produce unique outputs,
|
||||
.Em nor should it be used as part of a new cryptographic signature scheme.
|
||||
.Pp
|
||||
The
|
||||
.Tn IA32
|
||||
(Intel) implementation of
|
||||
.Tn SHA-1
|
||||
makes heavy use of the
|
||||
.Ql bswapl
|
||||
instruction, which is not present on the original 80386.
|
||||
Attempts to use
|
||||
.Tn SHA-1
|
||||
on those processors will cause an illegal instruction trap.
|
||||
(Arguably, the kernel should simply emulate this instruction.)
|
||||
|
@ -97,8 +97,7 @@ is a wrapper for
|
||||
.Fn SHA256_Final
|
||||
which converts the return value to a 65-character
|
||||
(including the terminating '\e0')
|
||||
.Tn ASCII
|
||||
string which represents the 256 bits in hexadecimal.
|
||||
ASCII string which represents the 256 bits in hexadecimal.
|
||||
.Pp
|
||||
.Fn SHA256_File
|
||||
calculates the digest of a file, and uses
|
||||
@ -178,9 +177,7 @@ These functions appeared in
|
||||
.Fx 6.0 .
|
||||
.Sh AUTHORS
|
||||
The core hash routines were implemented by Colin Percival based on
|
||||
the published
|
||||
.Tn FIPS 180-2
|
||||
standard.
|
||||
the published FIPS 180-2 standard.
|
||||
.Sh BUGS
|
||||
No method is known to exist which finds two files having the same hash value,
|
||||
nor to find a file with a specific hash value.
|
||||
|
@ -9,7 +9,7 @@
|
||||
.\" From: Id: mdX.3,v 1.14 1999/02/11 20:31:49 wollman Exp
|
||||
.\" $FreeBSD$
|
||||
.\"
|
||||
.Dd May 21, 2019
|
||||
.Dd February 3, 2023
|
||||
.Dt SHA512 3
|
||||
.Os
|
||||
.Sh NAME
|
||||
@ -27,6 +27,13 @@
|
||||
.Nm SHA384_File ,
|
||||
.Nm SHA384_FileChunk ,
|
||||
.Nm SHA384_Data ,
|
||||
.Nm SHA512_224_Init ,
|
||||
.Nm SHA512_224_Update ,
|
||||
.Nm SHA512_224_Final ,
|
||||
.Nm SHA512_224_End ,
|
||||
.Nm SHA512_224_File ,
|
||||
.Nm SHA512_224_FileChunk ,
|
||||
.Nm SHA512_224_Data
|
||||
.Nm SHA512_256_Init ,
|
||||
.Nm SHA512_256_Update ,
|
||||
.Nm SHA512_256_Final ,
|
||||
@ -71,6 +78,20 @@
|
||||
.Fn SHA384_Data "const unsigned char *data" "unsigned int len" "char *buf"
|
||||
.In sha512t.h
|
||||
.Ft void
|
||||
.Fn SHA512_224_Init "SHA512_CTX *context"
|
||||
.Ft void
|
||||
.Fn SHA512_224_Update "SHA512_CTX *context" "const unsigned char *data" "size_t len"
|
||||
.Ft void
|
||||
.Fn SHA512_224_Final "unsigned char digest[32]" "SHA512_CTX *context"
|
||||
.Ft "char *"
|
||||
.Fn SHA512_224_End "SHA512_CTX *context" "char *buf"
|
||||
.Ft "char *"
|
||||
.Fn SHA512_224_File "const char *filename" "char *buf"
|
||||
.Ft "char *"
|
||||
.Fn SHA512_224_FileChunk "const char *filename" "char *buf" "off_t offset" "off_t length"
|
||||
.Ft "char *"
|
||||
.Fn SHA512_224_Data "const unsigned char *data" "unsigned int len" "char *buf"
|
||||
.Ft void
|
||||
.Fn SHA512_256_Init "SHA512_CTX *context"
|
||||
.Ft void
|
||||
.Fn SHA512_256_Update "SHA512_CTX *context" "const unsigned char *data" "size_t len"
|
||||
@ -119,8 +140,7 @@ is a wrapper for
|
||||
.Fn SHA512_Final
|
||||
which converts the return value to a 129-character
|
||||
(including the terminating '\e0')
|
||||
.Tn ASCII
|
||||
string which represents the 512 bits in hexadecimal.
|
||||
ASCII string which represents the 512 bits in hexadecimal.
|
||||
.Pp
|
||||
.Fn SHA512_File
|
||||
calculates the digest of a file, and uses
|
||||
@ -167,29 +187,43 @@ If the
|
||||
argument is non-null it must point to at least 129 characters of buffer space.
|
||||
.Pp
|
||||
The
|
||||
.Li SHA384_
|
||||
.Li SHA384_ ,
|
||||
.Li SHA512_224 ,
|
||||
and
|
||||
.Li SHA512_256_
|
||||
functions are identical to the
|
||||
.Li SHA512_
|
||||
functions except they use a different initial hash value and the output is
|
||||
truncated to 384 bits and 256 bits respectively.
|
||||
truncated to 384, 224, and 256 bits respectively.
|
||||
.Pp
|
||||
.Fn SHA384_End
|
||||
is a wrapper for
|
||||
.Fn SHA384_Final
|
||||
which converts the return value to a 97-character
|
||||
(including the terminating '\e0')
|
||||
ASCII string which represents the 384 bits in hexadecimal.
|
||||
.Pp
|
||||
.Fn SHA512_224_End
|
||||
is a wrapper for
|
||||
.Fn SHA512_Final
|
||||
which converts the return value to a 57-character
|
||||
(including the terminating '\e0')
|
||||
ASCII string which represents the 224 bits in hexadecimal.
|
||||
.Pp
|
||||
.Fn SHA512_224_End
|
||||
is a wrapper for
|
||||
.Fn SHA512_Final
|
||||
which converts the return value to a 57-character
|
||||
(including the terminating '\e0')
|
||||
.Tn ASCII
|
||||
string which represents the 384 bits in hexadecimal.
|
||||
string which represents the 224 bits in hexadecimal.
|
||||
.Pp
|
||||
.Fn SHA512_256_End
|
||||
is a wrapper for
|
||||
.Fn SHA512_Final
|
||||
which converts the return value to a 65-character
|
||||
(including the terminating '\e0')
|
||||
.Tn ASCII
|
||||
string which represents the 256 bits in hexadecimal.
|
||||
ASCII string which represents the 256 bits in hexadecimal.
|
||||
.Sh ERRORS
|
||||
The
|
||||
.Fn SHA512_End
|
||||
@ -223,9 +257,7 @@ These functions appeared in
|
||||
.Fx 9.0 .
|
||||
.Sh AUTHORS
|
||||
The core hash routines were implemented by Colin Percival based on
|
||||
the published
|
||||
.Tn FIPS 180-2
|
||||
standard.
|
||||
the published FIPS 180-2 standard.
|
||||
.Sh BUGS
|
||||
No method is known to exist which finds two files having the same hash value,
|
||||
nor to find a file with a specific hash value.
|
||||
|
@ -51,6 +51,9 @@ __FBSDID("$FreeBSD$");
|
||||
#elif SHA == 512
|
||||
#undef SHA_Data
|
||||
#define SHA_Data SHA512_Data
|
||||
#elif SHA == 512224
|
||||
#undef SHA_Data
|
||||
#define SHA_Data SHA512_224_Data
|
||||
#elif SHA == 512256
|
||||
#undef SHA_Data
|
||||
#define SHA_Data SHA512_256_Data
|
||||
|
@ -133,8 +133,7 @@ is a wrapper for
|
||||
.Fn SKEIN256_Final
|
||||
which converts the return value to a 33-character
|
||||
(including the terminating '\e0')
|
||||
.Tn ASCII
|
||||
string which represents the 256 bits in hexadecimal.
|
||||
ASCII string which represents the 256 bits in hexadecimal.
|
||||
.Pp
|
||||
.Fn SKEIN256_File
|
||||
calculates the digest of a file, and uses
|
||||
|
@ -17,6 +17,8 @@ LINKS= ${BINDIR}/md5 ${BINDIR}/md5sum \
|
||||
${BINDIR}/md5 ${BINDIR}/sha384sum \
|
||||
${BINDIR}/md5 ${BINDIR}/sha512 \
|
||||
${BINDIR}/md5 ${BINDIR}/sha512sum \
|
||||
${BINDIR}/md5 ${BINDIR}/sha512t224 \
|
||||
${BINDIR}/md5 ${BINDIR}/sha512t224sum \
|
||||
${BINDIR}/md5 ${BINDIR}/sha512t256 \
|
||||
${BINDIR}/md5 ${BINDIR}/sha512t256sum \
|
||||
${BINDIR}/md5 ${BINDIR}/skein256 \
|
||||
@ -39,6 +41,8 @@ MLINKS= md5.1 md5sum.1 \
|
||||
md5.1 sha384sum.1 \
|
||||
md5.1 sha512.1 \
|
||||
md5.1 sha512sum.1 \
|
||||
md5.1 sha512t224.1 \
|
||||
md5.1 sha512t224sum.1 \
|
||||
md5.1 sha512t256.1 \
|
||||
md5.1 sha512t256sum.1 \
|
||||
md5.1 skein256.1 \
|
||||
|
@ -1,12 +1,14 @@
|
||||
.\" $FreeBSD$
|
||||
.Dd July 26, 2022
|
||||
.Dd February 6, 2023
|
||||
.Dt MD5 1
|
||||
.Os
|
||||
.Sh NAME
|
||||
.Nm md5 , sha1 , sha224 , sha256 , sha384 , sha512 , sha512t256 , rmd160 ,
|
||||
.Nm skein256 , skein512 , skein1024 ,
|
||||
.Nm md5sum , sha1sum , sha224sum , sha256sum , sha384sum , sha512sum ,
|
||||
.Nm sha512t256sum , rmd160sum , skein256sum , skein512sum , skein1024sum
|
||||
.Nm md5 , sha1 , sha224 , sha256 , sha384 ,
|
||||
.Nm sha512 , sha512t224 , sha512t256 ,
|
||||
.Nm rmd160 , skein256 , skein512 , skein1024 ,
|
||||
.Nm md5sum , sha1sum , sha224sum , sha256sum , sha384sum ,
|
||||
.Nm sha512sum , sha512t224sum , sha512t256sum ,
|
||||
.Nm rmd160sum , skein256sum , skein512sum , skein1024sum
|
||||
.Nd calculate a message-digest fingerprint (checksum) for a file
|
||||
.Sh SYNOPSIS
|
||||
.Nm
|
||||
@ -24,8 +26,8 @@
|
||||
(All other hashes have the same options and usage.)
|
||||
.Sh DESCRIPTION
|
||||
The
|
||||
.Nm md5 , sha1 , sha224 , sha256 , sha384 , sha512 , sha512t256 , rmd160 ,
|
||||
.Nm skein256 , skein512 ,
|
||||
.Nm md5 , sha1 , sha224 , sha256 , sha384 , sha512 , sha512t224 , sha512t256 ,
|
||||
.Nm rmd160 , skein256 , skein512 ,
|
||||
and
|
||||
.Nm skein1024
|
||||
utilities take as input a message of arbitrary length and produce as
|
||||
@ -36,7 +38,7 @@ or
|
||||
of the input.
|
||||
The
|
||||
.Nm md5sum , sha1sum , sha224sum , sha256sum , sha384sum , sha512sum ,
|
||||
.Nm sha512t256sum , rmd160sum , skein256sum , skein512sum ,
|
||||
.Nm sha512t224sum , sha512t256sum , rmd160sum , skein256sum , skein512sum ,
|
||||
and
|
||||
.Nm skein1024sum
|
||||
utilities do the same, but default to the reversed format of
|
||||
@ -68,6 +70,9 @@ On 64-bit hardware, this algorithm is approximately 50% faster than SHA-256 but
|
||||
with the same level of security.
|
||||
The hashes are not interchangeable.
|
||||
.Pp
|
||||
SHA-512t224 is identical to SHA-512t256, but with the digest truncated
|
||||
to 224 bits.
|
||||
.Pp
|
||||
It is recommended that all new applications use SHA-512 or SKEIN-512
|
||||
instead of one of the other hash functions.
|
||||
.Pp
|
||||
|
@ -20,10 +20,10 @@
|
||||
#include <sys/cdefs.h>
|
||||
__FBSDID("$FreeBSD$");
|
||||
|
||||
#include <sys/types.h>
|
||||
#include <sys/param.h>
|
||||
#include <sys/time.h>
|
||||
#include <sys/resource.h>
|
||||
|
||||
#include <err.h>
|
||||
#include <fcntl.h>
|
||||
#include <md5.h>
|
||||
@ -75,6 +75,7 @@ extern const char *SHA224_TestOutput[MDTESTCOUNT];
|
||||
extern const char *SHA256_TestOutput[MDTESTCOUNT];
|
||||
extern const char *SHA384_TestOutput[MDTESTCOUNT];
|
||||
extern const char *SHA512_TestOutput[MDTESTCOUNT];
|
||||
extern const char *SHA512t224_TestOutput[MDTESTCOUNT];
|
||||
extern const char *SHA512t256_TestOutput[MDTESTCOUNT];
|
||||
extern const char *RIPEMD160_TestOutput[MDTESTCOUNT];
|
||||
extern const char *SKEIN256_TestOutput[MDTESTCOUNT];
|
||||
@ -138,6 +139,9 @@ static const struct Algorithm_t Algorithm[] = {
|
||||
{ "sha512", "SHA512", &SHA512_TestOutput, (DIGEST_Init*)&SHA512_Init,
|
||||
(DIGEST_Update*)&SHA512_Update, (DIGEST_End*)&SHA512_End,
|
||||
&SHA512_Data, &SHA512_Fd },
|
||||
{ "sha512t224", "SHA512t224", &SHA512t224_TestOutput, (DIGEST_Init*)&SHA512_224_Init,
|
||||
(DIGEST_Update*)&SHA512_224_Update, (DIGEST_End*)&SHA512_224_End,
|
||||
&SHA512_224_Data, &SHA512_224_Fd },
|
||||
{ "sha512t256", "SHA512t256", &SHA512t256_TestOutput, (DIGEST_Init*)&SHA512_256_Init,
|
||||
(DIGEST_Update*)&SHA512_256_Update, (DIGEST_End*)&SHA512_256_End,
|
||||
&SHA512_256_Data, &SHA512_256_Fd },
|
||||
@ -585,6 +589,17 @@ const char *SHA512_TestOutput[MDTESTCOUNT] = {
|
||||
"e8a835195e039708b13d9131e025f4441dbdc521ce625f245a436dcd762f54bf5cb298d96235e6c6a304e087ec8189b9512cbdf6427737ea82793460c367b9c3"
|
||||
};
|
||||
|
||||
const char *SHA512t224_TestOutput[MDTESTCOUNT] = {
|
||||
"6ed0dd02806fa89e25de060c19d3ac86cabb87d6a0ddd05c333b84f4",
|
||||
"d5cdb9ccc769a5121d4175f2bfdd13d6310e0d3d361ea75d82108327",
|
||||
"4634270f707b6a54daae7530460842e20e37ed265ceee9a43e8924aa",
|
||||
"ad1a4db188fe57064f4f24609d2a83cd0afb9b398eb2fcaeaae2c564",
|
||||
"ff83148aa07ec30655c1b40aff86141c0215fe2a54f767d3f38743d8",
|
||||
"a8b4b9174b99ffc67d6f49be9981587b96441051e16e6dd036b140d3",
|
||||
"ae988faaa47e401a45f704d1272d99702458fea2ddc6582827556dd2",
|
||||
"b3c3b945249b0c8c94aba76ea887bcaad5401665a1fbeb384af4d06b"
|
||||
};
|
||||
|
||||
const char *SHA512t256_TestOutput[MDTESTCOUNT] = {
|
||||
"c672b8d1ef56ed28ab87c3622c5114069bdd3ad7b8f9737498d0c01ecef0967a",
|
||||
"455e518824bc0601f9fb858ff5c37d417d67c2f8e0df2babe4808858aea830f8",
|
||||
|
@ -5,6 +5,7 @@ sha224
|
||||
sha256
|
||||
sha384
|
||||
sha512
|
||||
sha512t224
|
||||
sha512t256
|
||||
skein1024
|
||||
skein256
|
||||
|
9
sbin/md5/tests/self-test.sha512t224.chk
Normal file
9
sbin/md5/tests/self-test.sha512t224.chk
Normal file
@ -0,0 +1,9 @@
|
||||
SHA512t224 test suite:
|
||||
SHA512t224 ("") = 6ed0dd02806fa89e25de060c19d3ac86cabb87d6a0ddd05c333b84f4 - verified correct
|
||||
SHA512t224 ("a") = d5cdb9ccc769a5121d4175f2bfdd13d6310e0d3d361ea75d82108327 - verified correct
|
||||
SHA512t224 ("abc") = 4634270f707b6a54daae7530460842e20e37ed265ceee9a43e8924aa - verified correct
|
||||
SHA512t224 ("message digest") = ad1a4db188fe57064f4f24609d2a83cd0afb9b398eb2fcaeaae2c564 - verified correct
|
||||
SHA512t224 ("abcdefghijklmnopqrstuvwxyz") = ff83148aa07ec30655c1b40aff86141c0215fe2a54f767d3f38743d8 - verified correct
|
||||
SHA512t224 ("ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz0123456789") = a8b4b9174b99ffc67d6f49be9981587b96441051e16e6dd036b140d3 - verified correct
|
||||
SHA512t224 ("12345678901234567890123456789012345678901234567890123456789012345678901234567890") = ae988faaa47e401a45f704d1272d99702458fea2ddc6582827556dd2 - verified correct
|
||||
SHA512t224 ("MD5 has not yet (2001-09-03) been broken, but sufficient attacks have been made that its security is in some doubt") = b3c3b945249b0c8c94aba76ea887bcaad5401665a1fbeb384af4d06b - verified correct
|
8
sbin/md5/tests/sha512t224.digest
Normal file
8
sbin/md5/tests/sha512t224.digest
Normal file
@ -0,0 +1,8 @@
|
||||
SHA512t224 (1.inp) = 6ed0dd02806fa89e25de060c19d3ac86cabb87d6a0ddd05c333b84f4
|
||||
SHA512t224 (2.inp) = d5cdb9ccc769a5121d4175f2bfdd13d6310e0d3d361ea75d82108327
|
||||
SHA512t224 (3.inp) = 4634270f707b6a54daae7530460842e20e37ed265ceee9a43e8924aa
|
||||
SHA512t224 (4.inp) = ad1a4db188fe57064f4f24609d2a83cd0afb9b398eb2fcaeaae2c564
|
||||
SHA512t224 (5.inp) = ff83148aa07ec30655c1b40aff86141c0215fe2a54f767d3f38743d8
|
||||
SHA512t224 (6.inp) = a8b4b9174b99ffc67d6f49be9981587b96441051e16e6dd036b140d3
|
||||
SHA512t224 (7.inp) = ae988faaa47e401a45f704d1272d99702458fea2ddc6582827556dd2
|
||||
SHA512t224 (8.inp) = b3c3b945249b0c8c94aba76ea887bcaad5401665a1fbeb384af4d06b
|
8
sbin/md5/tests/sha512t224sum.digest
Normal file
8
sbin/md5/tests/sha512t224sum.digest
Normal file
@ -0,0 +1,8 @@
|
||||
6ed0dd02806fa89e25de060c19d3ac86cabb87d6a0ddd05c333b84f4 1.inp
|
||||
d5cdb9ccc769a5121d4175f2bfdd13d6310e0d3d361ea75d82108327 2.inp
|
||||
4634270f707b6a54daae7530460842e20e37ed265ceee9a43e8924aa 3.inp
|
||||
ad1a4db188fe57064f4f24609d2a83cd0afb9b398eb2fcaeaae2c564 4.inp
|
||||
ff83148aa07ec30655c1b40aff86141c0215fe2a54f767d3f38743d8 5.inp
|
||||
a8b4b9174b99ffc67d6f49be9981587b96441051e16e6dd036b140d3 6.inp
|
||||
ae988faaa47e401a45f704d1272d99702458fea2ddc6582827556dd2 7.inp
|
||||
b3c3b945249b0c8c94aba76ea887bcaad5401665a1fbeb384af4d06b 8.inp
|
Loading…
Reference in New Issue
Block a user