1*7348b5c5SDavid van Moolenbroek /* $NetBSD: enc-proto.h,v 1.9 2012/01/09 15:25:33 christos Exp $ */ 2*7348b5c5SDavid van Moolenbroek 3*7348b5c5SDavid van Moolenbroek /*- 4*7348b5c5SDavid van Moolenbroek * Copyright (c) 1991, 1993 5*7348b5c5SDavid van Moolenbroek * The Regents of the University of California. All rights reserved. 6*7348b5c5SDavid van Moolenbroek * 7*7348b5c5SDavid van Moolenbroek * Redistribution and use in source and binary forms, with or without 8*7348b5c5SDavid van Moolenbroek * modification, are permitted provided that the following conditions 9*7348b5c5SDavid van Moolenbroek * are met: 10*7348b5c5SDavid van Moolenbroek * 1. Redistributions of source code must retain the above copyright 11*7348b5c5SDavid van Moolenbroek * notice, this list of conditions and the following disclaimer. 12*7348b5c5SDavid van Moolenbroek * 2. Redistributions in binary form must reproduce the above copyright 13*7348b5c5SDavid van Moolenbroek * notice, this list of conditions and the following disclaimer in the 14*7348b5c5SDavid van Moolenbroek * documentation and/or other materials provided with the distribution. 15*7348b5c5SDavid van Moolenbroek * 3. Neither the name of the University nor the names of its contributors 16*7348b5c5SDavid van Moolenbroek * may be used to endorse or promote products derived from this software 17*7348b5c5SDavid van Moolenbroek * without specific prior written permission. 18*7348b5c5SDavid van Moolenbroek * 19*7348b5c5SDavid van Moolenbroek * THIS SOFTWARE IS PROVIDED BY THE REGENTS AND CONTRIBUTORS ``AS IS'' AND 20*7348b5c5SDavid van Moolenbroek * ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE 21*7348b5c5SDavid van Moolenbroek * IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE 22*7348b5c5SDavid van Moolenbroek * ARE DISCLAIMED. IN NO EVENT SHALL THE REGENTS OR CONTRIBUTORS BE LIABLE 23*7348b5c5SDavid van Moolenbroek * FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL 24*7348b5c5SDavid van Moolenbroek * DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS 25*7348b5c5SDavid van Moolenbroek * OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) 26*7348b5c5SDavid van Moolenbroek * HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT 27*7348b5c5SDavid van Moolenbroek * LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY 28*7348b5c5SDavid van Moolenbroek * OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF 29*7348b5c5SDavid van Moolenbroek * SUCH DAMAGE. 30*7348b5c5SDavid van Moolenbroek * 31*7348b5c5SDavid van Moolenbroek * from: @(#)enc-proto.h 8.1 (Berkeley) 6/4/93 32*7348b5c5SDavid van Moolenbroek */ 33*7348b5c5SDavid van Moolenbroek 34*7348b5c5SDavid van Moolenbroek /* 35*7348b5c5SDavid van Moolenbroek * Copyright (C) 1990 by the Massachusetts Institute of Technology 36*7348b5c5SDavid van Moolenbroek * 37*7348b5c5SDavid van Moolenbroek * Export of this software from the United States of America is assumed 38*7348b5c5SDavid van Moolenbroek * to require a specific license from the United States Government. 39*7348b5c5SDavid van Moolenbroek * It is the responsibility of any person or organization contemplating 40*7348b5c5SDavid van Moolenbroek * export to obtain such a license before exporting. 41*7348b5c5SDavid van Moolenbroek * 42*7348b5c5SDavid van Moolenbroek * WITHIN THAT CONSTRAINT, permission to use, copy, modify, and 43*7348b5c5SDavid van Moolenbroek * distribute this software and its documentation for any purpose and 44*7348b5c5SDavid van Moolenbroek * without fee is hereby granted, provided that the above copyright 45*7348b5c5SDavid van Moolenbroek * notice appear in all copies and that both that copyright notice and 46*7348b5c5SDavid van Moolenbroek * this permission notice appear in supporting documentation, and that 47*7348b5c5SDavid van Moolenbroek * the name of M.I.T. not be used in advertising or publicity pertaining 48*7348b5c5SDavid van Moolenbroek * to distribution of the software without specific, written prior 49*7348b5c5SDavid van Moolenbroek * permission. M.I.T. makes no representations about the suitability of 50*7348b5c5SDavid van Moolenbroek * this software for any purpose. It is provided "as is" without express 51*7348b5c5SDavid van Moolenbroek * or implied warranty. 52*7348b5c5SDavid van Moolenbroek */ 53*7348b5c5SDavid van Moolenbroek 54*7348b5c5SDavid van Moolenbroek #ifdef ENCRYPTION 55*7348b5c5SDavid van Moolenbroek #include <sys/cdefs.h> 56*7348b5c5SDavid van Moolenbroek 57*7348b5c5SDavid van Moolenbroek Encryptions *findencryption(int); 58*7348b5c5SDavid van Moolenbroek Encryptions *finddecryption(int); 59*7348b5c5SDavid van Moolenbroek void encrypt_init(const char *, int); 60*7348b5c5SDavid van Moolenbroek void encrypt_list_types(void); 61*7348b5c5SDavid van Moolenbroek int EncryptEnable(char *, char *); 62*7348b5c5SDavid van Moolenbroek int EncryptDisable(char *, char *); 63*7348b5c5SDavid van Moolenbroek int EncryptType(char *, char *); 64*7348b5c5SDavid van Moolenbroek int EncryptStart(char *); 65*7348b5c5SDavid van Moolenbroek int EncryptStartInput(void); 66*7348b5c5SDavid van Moolenbroek int EncryptStartOutput(void); 67*7348b5c5SDavid van Moolenbroek int EncryptStop(char *); 68*7348b5c5SDavid van Moolenbroek int EncryptStopInput(void); 69*7348b5c5SDavid van Moolenbroek int EncryptStopOutput(void); 70*7348b5c5SDavid van Moolenbroek int EncryptStatus(void); 71*7348b5c5SDavid van Moolenbroek void encrypt_send_support(void); 72*7348b5c5SDavid van Moolenbroek int EncryptDebug(int); 73*7348b5c5SDavid van Moolenbroek int EncryptVerbose(int); 74*7348b5c5SDavid van Moolenbroek int EncryptAutoEnc(int); 75*7348b5c5SDavid van Moolenbroek int EncryptAutoDec(int); 76*7348b5c5SDavid van Moolenbroek void encrypt_support(unsigned char *, int); 77*7348b5c5SDavid van Moolenbroek void encrypt_is(unsigned char *, int); 78*7348b5c5SDavid van Moolenbroek void encrypt_reply(unsigned char *, int); 79*7348b5c5SDavid van Moolenbroek void encrypt_start(unsigned char *, int); 80*7348b5c5SDavid van Moolenbroek void encrypt_session_key(Session_Key *, int); 81*7348b5c5SDavid van Moolenbroek void encrypt_end(void); 82*7348b5c5SDavid van Moolenbroek void encrypt_request_end(void); 83*7348b5c5SDavid van Moolenbroek void encrypt_request_start(unsigned char *, int); 84*7348b5c5SDavid van Moolenbroek void encrypt_enc_keyid(unsigned char *, int); 85*7348b5c5SDavid van Moolenbroek void encrypt_dec_keyid(unsigned char *, int); 86*7348b5c5SDavid van Moolenbroek struct key_info; 87*7348b5c5SDavid van Moolenbroek void encrypt_keyid(struct key_info *, unsigned char *, int); 88*7348b5c5SDavid van Moolenbroek void encrypt_send_keyid(int, const unsigned char *, int, int); 89*7348b5c5SDavid van Moolenbroek void encrypt_auto(int); 90*7348b5c5SDavid van Moolenbroek void decrypt_auto(int); 91*7348b5c5SDavid van Moolenbroek void encrypt_start_output(int); 92*7348b5c5SDavid van Moolenbroek void encrypt_send_end(void); 93*7348b5c5SDavid van Moolenbroek void encrypt_send_request_start(void); 94*7348b5c5SDavid van Moolenbroek void encrypt_send_request_end(void); 95*7348b5c5SDavid van Moolenbroek void encrypt_wait(void); 96*7348b5c5SDavid van Moolenbroek void encrypt_debug(int); 97*7348b5c5SDavid van Moolenbroek void encrypt_gen_printsub(unsigned char *, int, unsigned char *, int ); 98*7348b5c5SDavid van Moolenbroek void encrypt_printsub(unsigned char *, int, unsigned char *, int ); 99*7348b5c5SDavid van Moolenbroek 100*7348b5c5SDavid van Moolenbroek #ifdef TELENTD 101*7348b5c5SDavid van Moolenbroek void encrypt_wait(void); 102*7348b5c5SDavid van Moolenbroek #else 103*7348b5c5SDavid van Moolenbroek void printsub(int, unsigned char *, int); 104*7348b5c5SDavid van Moolenbroek int encrypt_cmd(int, char **); 105*7348b5c5SDavid van Moolenbroek void encrypt_display(void); 106*7348b5c5SDavid van Moolenbroek #endif 107*7348b5c5SDavid van Moolenbroek 108*7348b5c5SDavid van Moolenbroek void krbdes_encrypt(unsigned char *, int); 109*7348b5c5SDavid van Moolenbroek int krbdes_decrypt(int); 110*7348b5c5SDavid van Moolenbroek int krbdes_is(unsigned char *, int); 111*7348b5c5SDavid van Moolenbroek int krbdes_reply(unsigned char *, int); 112*7348b5c5SDavid van Moolenbroek void krbdes_init(int); 113*7348b5c5SDavid van Moolenbroek int krbdes_start(int, int); 114*7348b5c5SDavid van Moolenbroek void krbdes_session(Session_Key *, int); 115*7348b5c5SDavid van Moolenbroek void krbdes_printsub(unsigned char *, int, unsigned char *, int); 116*7348b5c5SDavid van Moolenbroek 117*7348b5c5SDavid van Moolenbroek void cfb64_encrypt(unsigned char *, int); 118*7348b5c5SDavid van Moolenbroek int cfb64_decrypt(int); 119*7348b5c5SDavid van Moolenbroek void cfb64_init(int); 120*7348b5c5SDavid van Moolenbroek int cfb64_start(int, int); 121*7348b5c5SDavid van Moolenbroek int cfb64_is(unsigned char *, int); 122*7348b5c5SDavid van Moolenbroek int cfb64_reply(unsigned char *, int); 123*7348b5c5SDavid van Moolenbroek void cfb64_session(Session_Key *, int); 124*7348b5c5SDavid van Moolenbroek int cfb64_keyid(int, unsigned char *, int *); 125*7348b5c5SDavid van Moolenbroek void cfb64_printsub(unsigned char *, int, unsigned char *, int); 126*7348b5c5SDavid van Moolenbroek 127*7348b5c5SDavid van Moolenbroek void ofb64_encrypt(unsigned char *, int); 128*7348b5c5SDavid van Moolenbroek int ofb64_decrypt(int); 129*7348b5c5SDavid van Moolenbroek void ofb64_init(int); 130*7348b5c5SDavid van Moolenbroek int ofb64_start(int, int); 131*7348b5c5SDavid van Moolenbroek int ofb64_is(unsigned char *, int); 132*7348b5c5SDavid van Moolenbroek int ofb64_reply(unsigned char *, int); 133*7348b5c5SDavid van Moolenbroek void ofb64_session(Session_Key *, int); 134*7348b5c5SDavid van Moolenbroek int ofb64_keyid(int, unsigned char *, int *); 135*7348b5c5SDavid van Moolenbroek void ofb64_printsub(unsigned char *, int, unsigned char *, int); 136*7348b5c5SDavid van Moolenbroek 137*7348b5c5SDavid van Moolenbroek void fb64_printsub(const unsigned char *, int, unsigned char *, int, 138*7348b5c5SDavid van Moolenbroek const unsigned char *); 139*7348b5c5SDavid van Moolenbroek 140*7348b5c5SDavid van Moolenbroek #endif /* ENCRYPTION */ 141