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