xref: /illumos-gate/usr/src/man/man3lib/libmd.3lib (revision e8b9fe7c)
1b51a7e20SRobert Mustacchi.\"
2c10c16deSRichard Lowe.\" Copyright (c) 2008, Sun Microsystems, Inc.  All Rights Reserved.
3b51a7e20SRobert Mustacchi.\" Copyright 2022 Oxide Computer Company
4b51a7e20SRobert Mustacchi.\"
5b51a7e20SRobert Mustacchi.\" The contents of this file are subject to the terms of the
6b51a7e20SRobert Mustacchi.\" Common Development and Distribution License (the "License").
7b51a7e20SRobert Mustacchi.\" You may not use this file except in compliance with the License.
8b51a7e20SRobert Mustacchi.\"
9b51a7e20SRobert Mustacchi.\" You can obtain a copy of the license at usr/src/OPENSOLARIS.LICENSE
10b51a7e20SRobert Mustacchi.\" or http://www.opensolaris.org/os/licensing.
11b51a7e20SRobert Mustacchi.\" See the License for the specific language governing permissions
12b51a7e20SRobert Mustacchi.\" and limitations under the License.
13b51a7e20SRobert Mustacchi.\"
14b51a7e20SRobert Mustacchi.\" When distributing Covered Code, include this CDDL HEADER in each
15b51a7e20SRobert Mustacchi.\" file and include the License file at usr/src/OPENSOLARIS.LICENSE.
16b51a7e20SRobert Mustacchi.\" If applicable, add the following below this CDDL HEADER, with the
17b51a7e20SRobert Mustacchi.\" fields enclosed by brackets "[]" replaced with your own identifying
18b51a7e20SRobert Mustacchi.\" information: Portions Copyright [yyyy] [name of copyright owner]
19b51a7e20SRobert Mustacchi.\"
20b51a7e20SRobert Mustacchi.Dd January 16, 2022
21b51a7e20SRobert Mustacchi.Dt LIBMD 3LIB
22b51a7e20SRobert Mustacchi.Os
23b51a7e20SRobert Mustacchi.Sh NAME
24b51a7e20SRobert Mustacchi.Nm libmd
25b51a7e20SRobert Mustacchi.Nd Message Digest library
26b51a7e20SRobert Mustacchi.Sh LIBRARY
27b51a7e20SRobert Mustacchi.Lb libmd
28b51a7e20SRobert Mustacchi.Sh SYNOPSIS
29b51a7e20SRobert Mustacchi.In md4.h
30b51a7e20SRobert Mustacchi.In md5.h
31b51a7e20SRobert Mustacchi.In sha1.h
32b51a7e20SRobert Mustacchi.In sha2.h
33*e8b9fe7cSRobert Mustacchi.In sys/edonr.h
34*e8b9fe7cSRobert Mustacchi.In sys/skein.h
35b51a7e20SRobert Mustacchi.Sh DESCRIPTION
36b51a7e20SRobert MustacchiThis library provides hashing routines for the following suites of hash
37b51a7e20SRobert Mustacchifunctions:
38b51a7e20SRobert Mustacchi.Bl -bullet -offset indent -compact
39b51a7e20SRobert Mustacchi.It
40b51a7e20SRobert MustacchiMD4
41b51a7e20SRobert Mustacchi.Pq RFC1320
42b51a7e20SRobert Mustacchi.It
43b51a7e20SRobert MustacchiMD5
44b51a7e20SRobert Mustacchi.Pq RFC1321
45b51a7e20SRobert Mustacchi.It
46b51a7e20SRobert MustacchiSHA1
47b51a7e20SRobert Mustacchi.Pq RFC3174
48b51a7e20SRobert Mustacchi.It
49b51a7e20SRobert MustacchiSHA256
50b51a7e20SRobert Mustacchi.Pq FIPS 180-2
51b51a7e20SRobert Mustacchi.It
52b51a7e20SRobert MustacchiSHA384
53b51a7e20SRobert Mustacchi.Pq FIPS 180-2
54b51a7e20SRobert Mustacchi.It
55b51a7e20SRobert MustacchiSHA512
56b51a7e20SRobert Mustacchi.Pq FIPS 180-2
57*e8b9fe7cSRobert Mustacchi.It
58*e8b9fe7cSRobert MustacchiEdon-R
59*e8b9fe7cSRobert Mustacchi.Po
60*e8b9fe7cSRobert Mustacchi.Rs
61*e8b9fe7cSRobert Mustacchi.%T Cryptographic hash function Edon-R
62*e8b9fe7cSRobert Mustacchi.Re
63*e8b9fe7cSRobert Mustacchi.Pc
64*e8b9fe7cSRobert Mustacchi.It
65*e8b9fe7cSRobert MustacchiSkein 256, 512, and 1024
66*e8b9fe7cSRobert Mustacchi.Po
67*e8b9fe7cSRobert Mustacchi.Rs
68*e8b9fe7cSRobert Mustacchi.%T The Skein Hash Function Family
69*e8b9fe7cSRobert Mustacchi.Re
70*e8b9fe7cSRobert Mustacchi.Pc
71b51a7e20SRobert Mustacchi.El
72b51a7e20SRobert Mustacchi.Sh INTERFACES
73b51a7e20SRobert MustacchiThe shared object
74b51a7e20SRobert Mustacchi.Sy libmd.so.1
75b51a7e20SRobert Mustacchiprovides the public interfaces defined below.
76b51a7e20SRobert MustacchiSee
77b51a7e20SRobert Mustacchi.Xr Intro 3
78b51a7e20SRobert Mustacchifor additional information on shared object interfaces.
79*e8b9fe7cSRobert Mustacchi.Bl -column -offset indent ".Sy Skein1024_Final_Pad" ".Sy Skein1024_Final_Pad"
80*e8b9fe7cSRobert Mustacchi.It Sy EdonRFinal Ta Sy EdonRHash
81*e8b9fe7cSRobert Mustacchi.It Sy EdonRInit Ta Sy EdonRUpdate
82b51a7e20SRobert Mustacchi.It Sy MD4Final Ta Sy MD4Init
83b51a7e20SRobert Mustacchi.It Sy MD4Update Ta Sy md5_calc
84b51a7e20SRobert Mustacchi.It Sy MD5Final Ta Sy MD5Init
85b51a7e20SRobert Mustacchi.It Sy MD5Update Ta Sy SHA1Final
86b51a7e20SRobert Mustacchi.It Sy SHA1Init Ta Sy SHA1Update
87b51a7e20SRobert Mustacchi.It Sy SHA2Final Ta Sy SHA2Init
88*e8b9fe7cSRobert Mustacchi.It Sy SHA2Update Ta Sy Skein_256_Final
89*e8b9fe7cSRobert Mustacchi.It Sy Skein_256_Final_Pad Ta Sy Skein_256_Init
90*e8b9fe7cSRobert Mustacchi.It Sy Skein_256_InitExt Ta Sy Skein_256_Output
91*e8b9fe7cSRobert Mustacchi.It Sy Skein_256_Update Ta Sy Skein_512_Final
92*e8b9fe7cSRobert Mustacchi.It Sy Skein_512_Final_Pad Ta Sy Skein_512_Init
93*e8b9fe7cSRobert Mustacchi.It Sy Skein_512_InitExt Ta Sy Skein_512_Output
94*e8b9fe7cSRobert Mustacchi.It Sy Skein_512_Update Ta Sy Skein1024_Final
95*e8b9fe7cSRobert Mustacchi.It Sy Skein1024_Final_Pad Ta Sy Skein1024_Init
96*e8b9fe7cSRobert Mustacchi.It Sy Skein1024_InitExt Ta Sy Skein1024_Output
97*e8b9fe7cSRobert Mustacchi.It Sy Skein1024_Update Ta ""
98b51a7e20SRobert Mustacchi.El
99b51a7e20SRobert Mustacchi.Sh SECURITY
100b51a7e20SRobert MustacchiThe MD4 and MD5 algorithms are currently considered weak for cryptographic use.
101b51a7e20SRobert MustacchiThe algorithms should be used only for compatibility with legacy systems or
102b51a7e20SRobert Mustacchiprotocols.
103b51a7e20SRobert Mustacchi.Pp
104b51a7e20SRobert MustacchiThe SHA1 algorithm is also believed to have some weaknesses.
105b51a7e20SRobert MustacchiMigration to one of the SHA2 algorithms \(em including SHA256, SHA386 or SHA512
106b51a7e20SRobert Mustacchi\(em is highly recommended when data formats and on wire protocols support the
107b51a7e20SRobert Mustacchiuse of SHA2.
108b51a7e20SRobert Mustacchi.Sh FILES
109b51a7e20SRobert Mustacchi.Bl -tag -width Ds
110b51a7e20SRobert Mustacchi.It Pa /lib/libmd.so.1
111b51a7e20SRobert Mustacchi32-bit shared object
112b51a7e20SRobert Mustacchi.It Pa /lib/64/libmd.so.1
113c10c16deSRichard Lowe64-bit shared object
114b51a7e20SRobert Mustacchi.El
115b51a7e20SRobert Mustacchi.Sh INTERFACE STABILITY
116b51a7e20SRobert Mustacchi.Sy Committed
117b51a7e20SRobert Mustacchi.Sh MT-LEVEL
118b51a7e20SRobert Mustacchi.Sy MT-Safe
119