- OpenBSD CVS update
   - [auth-krb4.c]
     -Wall
   - [auth-rh-rsa.c auth-rsa.c hostfile.c hostfile.h key.c key.h match.c]
     [match.h ssh.c ssh.h sshconnect.c sshd.c]
     initial support for DSA keys. ok deraadt@, niels@
   - [cipher.c cipher.h]
     remove unused cipher_attack_detected code
   - [scp.1 ssh-add.1 ssh-agent.1 ssh-keygen.1 ssh.1 sshd.8]
     Fix some formatting problems I missed before.
   - [ssh.1 sshd.8]
     fix spelling errors, From: FreeBSD
   - [ssh.c]
     switch to raw mode only if he _get_ a pty (not if we _want_ a pty).
diff --git a/key.h b/key.h
new file mode 100644
index 0000000..70f0c51
--- /dev/null
+++ b/key.h
@@ -0,0 +1,23 @@
+#ifndef KEY_H
+#define KEY_H
+
+typedef struct Key Key;
+enum types {
+	KEY_RSA,
+	KEY_DSA,
+	KEY_EMPTY
+};
+struct Key {
+	int	type;
+	RSA	*rsa;
+	DSA	*dsa;
+};
+
+Key	*key_new(int type);
+void	key_free(Key *k);
+int	key_equal(Key *a, Key *b);
+char	*key_fingerprint(Key *k);
+int	key_write(Key *key, FILE *f);
+int	key_read(Key *key, unsigned int bits, char **cpp);
+
+#endif