1 /*- 2 * Copyright (c) 1991 The Regents of the University of California. 3 * All rights reserved. 4 * 5 * Redistribution and use in source and binary forms, with or without 6 * modification, are permitted provided that the following conditions 7 * are met: 8 * 1. Redistributions of source code must retain the above copyright 9 * notice, this list of conditions and the following disclaimer. 10 * 2. Redistributions in binary form must reproduce the above copyright 11 * notice, this list of conditions and the following disclaimer in the 12 * documentation and/or other materials provided with the distribution. 13 * 3. All advertising materials mentioning features or use of this software 14 * must display the following acknowledgement: 15 * This product includes software developed by the University of 16 * California, Berkeley and its contributors. 17 * 4. Neither the name of the University nor the names of its contributors 18 * may be used to endorse or promote products derived from this software 19 * without specific prior written permission. 20 * 21 * THIS SOFTWARE IS PROVIDED BY THE REGENTS AND CONTRIBUTORS ``AS IS'' AND 22 * ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE 23 * IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE 24 * ARE DISCLAIMED. IN NO EVENT SHALL THE REGENTS OR CONTRIBUTORS BE LIABLE 25 * FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL 26 * DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS 27 * OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) 28 * HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT 29 * LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY 30 * OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF 31 * SUCH DAMAGE. 32 * 33 * @(#)enc-proto.h 5.2 (Berkeley) 3/22/91 34 */ 35 36 /* 37 * Copyright (C) 1990 by the Massachusetts Institute of Technology 38 * 39 * Export of this software from the United States of America is assumed 40 * to require a specific license from the United States Government. 41 * It is the responsibility of any person or organization contemplating 42 * export to obtain such a license before exporting. 43 * 44 * WITHIN THAT CONSTRAINT, permission to use, copy, modify, and 45 * distribute this software and its documentation for any purpose and 46 * without fee is hereby granted, provided that the above copyright 47 * notice appear in all copies and that both that copyright notice and 48 * this permission notice appear in supporting documentation, and that 49 * the name of M.I.T. not be used in advertising or publicity pertaining 50 * to distribution of the software without specific, written prior 51 * permission. M.I.T. makes no representations about the suitability of 52 * this software for any purpose. It is provided "as is" without express 53 * or implied warranty. 54 */ 55 #if !defined(P) 56 #ifdef __STDC__ 57 #define P(x) x 58 #else 59 #define P(x) () 60 #endif 61 #endif 62 63 #if defined(ENCRYPT) 64 void encrypt_init P((char *, int)); 65 Encryptions *findencryption P((int)); 66 void encrypt_send_supprt P((void)); 67 void encrypt_auto P((int)); 68 void decrypt_auto P((int)); 69 void encrypt_is P((unsigned char *, int)); 70 void encrypt_reply P((unsigned char *, int)); 71 void encrypt_start_input P((int)); 72 void encrypt_session_key P((Session_Key *, int)); 73 void encrypt_end_input P((void)); 74 void encrypt_start_output P((int)); 75 void encrypt_end_output P((void)); 76 void encrypt_send_request_start P((void)); 77 void encrypt_send_request_end P((void)); 78 void encrypt_send_end P((void)); 79 void encrypt_wait P((void)); 80 void encrypt_send_support P((void)); 81 void encrypt_send_keyid P((int, unsigned char *, int, int)); 82 int net_write P((unsigned char *, int)); 83 84 #ifdef TELENTD 85 void encrypt_wait P((void)); 86 #else 87 int encrypt_cmd P((int, char **)); 88 void encrypt_display P((void)); 89 #endif 90 91 void cfb64_encrypt P((unsigned char *, int)); 92 int cfb64_decrypt P((int)); 93 void cfb64_init P((int)); 94 int cfb64_start P((int, int)); 95 int cfb64_is P((unsigned char *, int)); 96 int cfb64_reply P((unsigned char *, int)); 97 void cfb64_session P((Session_Key *, int)); 98 int cfb64_keyid P((int, unsigned char *, int *)); 99 void cfb64_printsub P((unsigned char *, int, unsigned char *, int)); 100 101 void ofb64_encrypt P((unsigned char *, int)); 102 int ofb64_decrypt P((int)); 103 void ofb64_init P((int)); 104 int ofb64_start P((int, int)); 105 int ofb64_is P((unsigned char *, int)); 106 int ofb64_reply P((unsigned char *, int)); 107 void ofb64_session P((Session_Key *, int)); 108 int ofb64_keyid P((int, unsigned char *, int *)); 109 void ofb64_printsub P((unsigned char *, int, unsigned char *, int)); 110 111 int des_new_random_key P((Block)); 112 void des_set_random_generator_seed P((Block)); 113 void des_key_sched P((Block, Schedule)); 114 void des_ecb_encrypt P((Block, Block, Schedule, int)); 115 int des_string_to_key P((char *, Block)); 116 #endif 117