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