Merge from vendor branch NTPD:
[dragonfly.git] / share / man / man4 / crypto.4
1 .\"     $OpenBSD: crypto.4,v 1.4 2002/09/12 07:15:03 deraadt Exp $
2 .\"     $FreeBSD: src/share/man/man4/crypto.4,v 1.1.2.2 2002/12/29 16:35:38 schweikh Exp $
3 .\"     $DragonFly: src/share/man/man4/crypto.4,v 1.2 2003/06/17 04:36:58 dillon Exp $
4 .\"
5 .\" Copyright (c) 2001 Theo de Raadt
6 .\" All rights reserved.
7 .\"
8 .\" Redistribution and use in source and binary forms, with or without
9 .\" modification, are permitted provided that the following conditions
10 .\" are met:
11 .\" 1. Redistributions of source code must retain the above copyright
12 .\"    notice, this list of conditions and the following disclaimer.
13 .\" 2. Redistributions in binary form must reproduce the above copyright
14 .\"    notice, this list of conditions and the following disclaimer in the
15 .\"    documentation and/or other materials provided with the distribution.
16 .\" 3. The name of the author may not be used to endorse or promote products
17 .\"    derived from this software without specific prior written permission.
18 .\"
19 .\" THIS SOFTWARE IS PROVIDED BY THE AUTHOR ``AS IS'' AND ANY EXPRESS OR
20 .\" IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED
21 .\" WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE
22 .\" DISCLAIMED.  IN NO EVENT SHALL THE AUTHOR BE LIABLE FOR ANY DIRECT,
23 .\" INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES
24 .\" (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR
25 .\" SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION)
26 .\" HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT,
27 .\" STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN
28 .\" ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE
29 .\" POSSIBILITY OF SUCH DAMAGE.
30 .\"
31 .Dd November 21, 2002
32 .Dt CRYPTO 4
33 .Os
34 .Sh NAME
35 .Nm crypto
36 .Nd hardware crypto access driver
37 .Sh SYNOPSIS
38 .Nm device crypto
39 .Sh DESCRIPTION
40 The
41 .Nm
42 driver provides userland applications access to hardware crypto support
43 via the kernel.
44 The
45 .Pa /dev/crypto
46 device node primarily operates in an
47 .Xr ioctl 2
48 based model, permitting a variety of applications to query device capabilities,
49 submit transactions, and get results.
50 .Pp
51 If
52 .Ar count
53 given in the specification, and is greater than 0, a maximum of one
54 .Nm crypto
55 device is created.
56 .Pp
57 The following
58 .Xr ioctl 2
59 calls apply only to the
60 .Nm crypto
61 devices:
62 .Bl -tag -width CIOCGSESSION
63 .It Dv CIOCGSESSION
64 Setup a new crypto session for a new type of operation.
65 .It Dv CIOCFSESSION
66 Free a previously established session.
67 .It Dv CIOCCRYPT
68 Perform a crypto operation against a previously setup session.
69 .El
70 .Pp
71 .Sh FEATURES
72 Depending on hardware being present, the following symmetric and
73 asymmetric cryptographic features are potentially available from
74 .Pa /dev/crypto :
75 .Pp
76 .Bl -tag -compact -width CRYPTO_RIPEMD160_HMAC -offset indent
77 .It CRYPTO_DES_CBC
78 .It CRYPTO_3DES_CBC
79 .It CRYPTO_BLF_CBC
80 .It CRYPTO_CAST_CBC
81 .It CRYPTO_SKIPJACK_CBC
82 .It CRYPTO_MD5_HMAC
83 .It CRYPTO_SHA1_HMAC
84 .It CRYPTO_RIPEMD160_HMAC
85 .It CRYPTO_MD5_KPDK
86 .It CRYPTO_SHA1_KPDK
87 .It CRYPTO_AES_CBC
88 .It CRYPTO_ARC4
89 .It CRYPTO_MD5
90 .It CRYPTO_SHA1
91 .It CRK_MOD_EXP
92 .It CRK_MOD_EXP_CRT
93 .It CRK_DSA_SIGN
94 .It CRK_DSA_VERIFY
95 .It CRK_DH_COMPUTE_KEY
96 .El
97 .Pp
98 .Sh FILES
99 .Bl -tag -width /dev/crypto -compact
100 .It Pa /dev/crypto
101 crypto access device
102 .El
103 .Sh SEE ALSO
104 .Xr hifn 4 ,
105 .Xr ubsec 4 ,
106 .Xr crypto 9
107 .Sh HISTORY
108 The
109 .Nm
110 driver first appeared in
111 OpenBSD 3.0.
112 The
113 .Nm
114 driver was imported to FreeBSD in 5.0.