summaryrefslogtreecommitdiffstats
path: root/crypto/telnet/libtelnet/pk.h
diff options
context:
space:
mode:
Diffstat (limited to 'crypto/telnet/libtelnet/pk.h')
-rw-r--r--crypto/telnet/libtelnet/pk.h41
1 files changed, 41 insertions, 0 deletions
diff --git a/crypto/telnet/libtelnet/pk.h b/crypto/telnet/libtelnet/pk.h
new file mode 100644
index 0000000..b41bba5
--- /dev/null
+++ b/crypto/telnet/libtelnet/pk.h
@@ -0,0 +1,41 @@
+/* header for the des routines that we will use */
+
+typedef unsigned char byte, DesData[ 8], IdeaData[16];
+#if 0
+typedef unsigned long word, DesKeys[32];
+#else
+#define DesKeys des_key_schedule
+#endif
+
+#define DES_DECRYPT 0
+#define DES_ENCRYPT 1
+
+#if 0
+extern void des_fixup_key_parity(); /* (DesData *key) */
+extern int des_key_sched(); /* (DesData *key, DesKeys *m) */
+extern int des_ecb_encrypt(); /* (DesData *src, *dst, DesKeys *m, int mode) */
+extern int des_cbc_encrypt(); /* (char *src, *dst, int length,
+ DesKeys *m, DesData *init, int mode) */
+#endif
+
+/* public key routines */
+/* functions:
+ genkeys(char *public, char *secret)
+ common_key(char *secret, char *public, desData *deskey)
+ where
+ char public[HEXKEYBYTES + 1];
+ char secret[HEXKEYBYTES + 1];
+ */
+
+#define HEXMODULUS "d4a0ba0250b6fd2ec626e7efd637df76c716e22d0944b88b"
+#define HEXKEYBYTES 48
+#define KEYSIZE 192
+#define KEYBYTES 24
+#define PROOT 3
+
+extern void genkeys(char *public, char *secret);
+extern void common_key(char *secret, char *public, IdeaData *common,
+ DesData *deskey);
+extern void pk_encode(char *in, char *out, DesData *deskey);
+extern void pk_decode(char *in, char *out, DesData *deskey);
+
OpenPOWER on IntegriCloud