1.\" $OpenBSD: crypto.4,v 1.4 2002/09/12 07:15:03 deraadt Exp $ 2.\" $FreeBSD$ 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 October 3, 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 39The 40.Nm 41driver provides userland applications access to hardware crypto support 42via the kernel. 43The 44.Pa /dev/crypto 45device node primarily operates in an 46.Xr ioctl 2 47based model, permitting a variety of applications to query device capabilities, 48submit transactions, and get results. 49.Pp 50If 51.Ar count 52given in the specification, and is greater than 0, a maximum of one 53.Nm crypto 54device is created. 55.Pp 56The following 57.Xr ioctl 2 58calls apply only to the 59.Nm crypto 60devices: 61.Bl -tag -width CIOCGSESSION 62.It Dv CIOCGSESSION 63Setup a new crypto session for a new type of operation. 64.It Dv CIOCFSESSION 65Free a previously established session. 66.It Dv CIOCCRYPT 67Perform a crypto operation against a previously setup session. 68.El 69.Pp 70.Sh FEATURES 71Depending on hardware being present, the following symmetric and 72assymetric 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 100crypto access device 101.El 102.Sh SEE ALSO 103.Xr hifn 4 , 104.Xr ubsec 4 , 105.Xr crypto 9 106.Sh HISTORY 107The 108.Nm 109driver first appeared in 110OpenBSD 3.0. 111The 112.Nm 113driver was imported to FreeBSD in 5.0. 114