diff options
author | nsayer <nsayer@FreeBSD.org> | 1999-08-16 11:24:29 +0000 |
---|---|---|
committer | nsayer <nsayer@FreeBSD.org> | 1999-08-16 11:24:29 +0000 |
commit | 189690bcceec94a2b595d9e6d6beca23cd68b5cd (patch) | |
tree | 131b7d42306f643dcbd0094169238875d98500cf /crypto/telnet/libtelnet/encrypt.h | |
parent | 07419aec715eccc813e53ff53f4dd3dfe4c1298a (diff) | |
download | FreeBSD-src-189690bcceec94a2b595d9e6d6beca23cd68b5cd.zip FreeBSD-src-189690bcceec94a2b595d9e6d6beca23cd68b5cd.tar.gz |
Add SRA authentication to src/crypto/telnet.
SRA does a Diffie-Hellmen exchange and then DES-encrypts the
authentication data. If the authentication is successful, it also
sets up a session key for DES encryption.
SRA was originally developed at Texas A&M University.
This code is probably export restricted (despite the fact that I
originally found it at a University in Germany).
SRA is not perfect. It is vulnerable to monkey-in-the-middle attacks
and does not use tremendously large DH constants (and thus an individual
exchange probably could be factored in a few days on modern CPU
horsepower). It does not, however, require any changes in user or
administrative behavior and foils session hijacking and sniffing.
The goal of this commit is that telnet and telnetd end up in the DES
distribution and that therefore an encrypted session telnet becomes
standard issue for FreeBSD.
Diffstat (limited to 'crypto/telnet/libtelnet/encrypt.h')
-rw-r--r-- | crypto/telnet/libtelnet/encrypt.h | 5 |
1 files changed, 5 insertions, 0 deletions
diff --git a/crypto/telnet/libtelnet/encrypt.h b/crypto/telnet/libtelnet/encrypt.h index 1c942dc..14be826 100644 --- a/crypto/telnet/libtelnet/encrypt.h +++ b/crypto/telnet/libtelnet/encrypt.h @@ -60,9 +60,14 @@ #define DIR_DECRYPT 1 #define DIR_ENCRYPT 2 +#include <des.h> typedef unsigned char Block[8]; typedef unsigned char *BlockT; +#if 0 typedef struct { Block __; } Schedule[16]; +#else +#define Schedule des_key_schedule +#endif #define VALIDKEY(key) ( key[0] | key[1] | key[2] | key[3] | \ key[4] | key[5] | key[6] | key[7]) |