File: peks-internal.h

package info (click to toggle)
nessus-libraries 1.0.10-2
  • links: PTS
  • area: main
  • in suites: woody
  • size: 9,536 kB
  • ctags: 12,585
  • sloc: ansic: 72,626; asm: 25,921; sh: 19,570; makefile: 1,974; cpp: 560; pascal: 536; yacc: 234; lex: 203; lisp: 186; perl: 76; fortran: 24
file content (71 lines) | stat: -rw-r--r-- 2,257 bytes parent folder | download
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
/*
 *          Copyright (c) mjh-EDV Beratung, 1996-1999
 *     mjh-EDV Beratung - 63263 Neu-Isenburg - Rosenstrasse 12
 *          Tel +49 6102 328279 - Fax +49 6102 328278
 *                Email info@mjh.teddy-net.com
 *
 *   Author: Jordan Hrycaj <jordan@mjh.teddy-net.com>
 *
 *   $Id: peks-internal.h,v 1.4 2000/10/19 15:19:45 jordan Exp $
 *
 *   This library is free software; you can redistribute it and/or
 *   modify it under the terms of the GNU Library General Public
 *   License as published by the Free Software Foundation; either
 *   version 2 of the License, or (at your option) any later version.
 *
 *   This library is distributed in the hope that it will be useful,
 *   but WITHOUT ANY WARRANTY; without even the implied warranty of
 *   MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the GNU
 *   Library General Public License for more details.
 *
 *   You should have received a copy of the GNU Library General Public
 *   License along with this library; if not, write to the Free
 *   Software Foundation, Inc., 675 Mass Ave, Cambridge, MA 02139, USA.
 *
 *   PEKS - private exponent key stuff for Diffie Hellman and El Gamal
 */

#ifndef __PEKS_INTERNAL_H__
#define __PEKS_INTERNAL_H__

#include "gmp.h"

typedef struct _peks_key {

  /* base values */
  mpz_t    modulus ;	 /* prime p */
  unsigned generator ;	 /* g (mod p) */
  mpz_t    private ;	 /* private key a or public key g^a */
  
  /* base64 i/o values */
  char *crypt_str;   /* symmetrically encrypted string */
  char *pubkey_str;  /* public key */
  char *challg_str;  /* challenge, for signature handshake */
  char *import_str;  /* client response text */

  /* misc */
  char *host_str ;
  int   socket ;

} peks_key ;

/* allow the server to understand the non-Diffie Hellman version */
/* #define OLD_PROTOCOL_COMPAT_MODE 1 */

#ifndef XPUB
#define XPUB /* extract public interface */
#endif

#if 0 /* for extraction, only */
XPUB #ifndef __PEKS_INTERNAL_H__
XPUB typedef struct { char opaq [1] ; } peks_key ;
XPUB #endif /* __PEKS_INTERNAL_H__ */
#endif

XPUB
XPUB /* public functions in messages.c */
XPUB extern char *   peks_strerr (unsigned n);
XPUB extern unsigned peks_errnum (const char *message);
XPUB

#endif /* __PEKS_INTERNAL_H__ */