186d7f5d3SJohn Marino 286d7f5d3SJohn Marino /* 386d7f5d3SJohn Marino * rc4.h 486d7f5d3SJohn Marino * 586d7f5d3SJohn Marino * Copyright (c) 1996-2000 Whistle Communications, Inc. 686d7f5d3SJohn Marino * All rights reserved. 786d7f5d3SJohn Marino * 886d7f5d3SJohn Marino * Subject to the following obligations and disclaimer of warranty, use and 986d7f5d3SJohn Marino * redistribution of this software, in source or object code forms, with or 1086d7f5d3SJohn Marino * without modifications are expressly permitted by Whistle Communications; 1186d7f5d3SJohn Marino * provided, however, that: 1286d7f5d3SJohn Marino * 1. Any and all reproductions of the source or object code must include the 1386d7f5d3SJohn Marino * copyright notice above and the following disclaimer of warranties; and 1486d7f5d3SJohn Marino * 2. No rights are granted, in any manner or form, to use Whistle 1586d7f5d3SJohn Marino * Communications, Inc. trademarks, including the mark "WHISTLE 1686d7f5d3SJohn Marino * COMMUNICATIONS" on advertising, endorsements, or otherwise except as 1786d7f5d3SJohn Marino * such appears in the above copyright notice or in the software. 1886d7f5d3SJohn Marino * 1986d7f5d3SJohn Marino * THIS SOFTWARE IS BEING PROVIDED BY WHISTLE COMMUNICATIONS "AS IS", AND 2086d7f5d3SJohn Marino * TO THE MAXIMUM EXTENT PERMITTED BY LAW, WHISTLE COMMUNICATIONS MAKES NO 2186d7f5d3SJohn Marino * REPRESENTATIONS OR WARRANTIES, EXPRESS OR IMPLIED, REGARDING THIS SOFTWARE, 2286d7f5d3SJohn Marino * INCLUDING WITHOUT LIMITATION, ANY AND ALL IMPLIED WARRANTIES OF 2386d7f5d3SJohn Marino * MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE, OR NON-INFRINGEMENT. 2486d7f5d3SJohn Marino * WHISTLE COMMUNICATIONS DOES NOT WARRANT, GUARANTEE, OR MAKE ANY 2586d7f5d3SJohn Marino * REPRESENTATIONS REGARDING THE USE OF, OR THE RESULTS OF THE USE OF THIS 2686d7f5d3SJohn Marino * SOFTWARE IN TERMS OF ITS CORRECTNESS, ACCURACY, RELIABILITY OR OTHERWISE. 2786d7f5d3SJohn Marino * IN NO EVENT SHALL WHISTLE COMMUNICATIONS BE LIABLE FOR ANY DAMAGES 2886d7f5d3SJohn Marino * RESULTING FROM OR ARISING OUT OF ANY USE OF THIS SOFTWARE, INCLUDING 2986d7f5d3SJohn Marino * WITHOUT LIMITATION, ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, 3086d7f5d3SJohn Marino * PUNITIVE, OR CONSEQUENTIAL DAMAGES, PROCUREMENT OF SUBSTITUTE GOODS OR 3186d7f5d3SJohn Marino * SERVICES, LOSS OF USE, DATA OR PROFITS, HOWEVER CAUSED AND UNDER ANY 3286d7f5d3SJohn Marino * THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT 3386d7f5d3SJohn Marino * (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF 3486d7f5d3SJohn Marino * THIS SOFTWARE, EVEN IF WHISTLE COMMUNICATIONS IS ADVISED OF THE POSSIBILITY 3586d7f5d3SJohn Marino * OF SUCH DAMAGE. 3686d7f5d3SJohn Marino * 3786d7f5d3SJohn Marino * $FreeBSD: src/sys/crypto/rc4/rc4.h,v 1.3 2000/07/16 05:53:14 peter Exp $ 3886d7f5d3SJohn Marino */ 3986d7f5d3SJohn Marino 4086d7f5d3SJohn Marino #ifndef _SYS_CRYPTO_RC4_RC4_H_ 4186d7f5d3SJohn Marino #define _SYS_CRYPTO_RC4_RC4_H_ 4286d7f5d3SJohn Marino 4386d7f5d3SJohn Marino struct rc4_state { 4486d7f5d3SJohn Marino u_char perm[256]; 4586d7f5d3SJohn Marino u_char index1; 4686d7f5d3SJohn Marino u_char index2; 4786d7f5d3SJohn Marino }; 4886d7f5d3SJohn Marino 4986d7f5d3SJohn Marino extern void rc4_init(struct rc4_state *state, const u_char *key, int keylen); 5086d7f5d3SJohn Marino extern void rc4_crypt(struct rc4_state *state, 5186d7f5d3SJohn Marino const u_char *inbuf, u_char *outbuf, int buflen); 5286d7f5d3SJohn Marino 5386d7f5d3SJohn Marino #endif 5486d7f5d3SJohn Marino 55