diff --git a/rsa-compat.h b/rsa-compat.h
new file mode 100644
index 0000000000000000000000000000000000000000..6d3897f3dc9349bc44d084d4637dcd48bfe399ec
--- /dev/null
+++ b/rsa-compat.h
@@ -0,0 +1,38 @@
+/* rsa-compat.h
+ *
+ * The RSA publickey algorithm, RSAREF compatible interface.
+ */
+
+/* nettle, low-level cryptographics library
+ *
+ * Copyright (C) 2001 Niels M�ller
+ *  
+ * The nettle library is free software; you can redistribute it and/or modify
+ * it under the terms of the GNU Lesser General Public License as published by
+ * the Free Software Foundation; either version 2.1 of the License, or (at your
+ * option) any later version.
+ * 
+ * The nettle 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 Lesser General Public
+ * License for more details.
+ * 
+ * You should have received a copy of the GNU Lesser General Public License
+ * along with the nettle library; see the file COPYING.LIB.  If not, write to
+ * the Free Software Foundation, Inc., 59 Temple Place - Suite 330, Boston,
+ * MA 02111-1307, USA.
+ */
+ 
+#ifndef NETTLE_RSA_COMPAT_H_INCLUDED
+#define NETTLE_RSA_COMPAT_H_INCLUDED
+
+         R_SignInit,     computes a digital signature on data of
+       R_SignUpdate,       arbitrary length, processing in parts
+     and R_SignFinal
+
+       R_VerifyInit,     verifies a digital signature, processing in
+     R_VerifyUpdate,       parts
+   and R_VerifyFinal
+
+#endif /* NETTLE_RSA_COMPAT_H_INCLUDED */
+
diff --git a/rsa.h b/rsa.h
new file mode 100644
index 0000000000000000000000000000000000000000..105970efdd477b087041beba8785f0deef8aa3b4
--- /dev/null
+++ b/rsa.h
@@ -0,0 +1,45 @@
+/* rsa.h
+ *
+ * The RSA publickey algorithm.
+ */
+
+/* nettle, low-level cryptographics library
+ *
+ * Copyright (C) 2001 Niels M�ller
+ *  
+ * The nettle library is free software; you can redistribute it and/or modify
+ * it under the terms of the GNU Lesser General Public License as published by
+ * the Free Software Foundation; either version 2.1 of the License, or (at your
+ * option) any later version.
+ * 
+ * The nettle 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 Lesser General Public
+ * License for more details.
+ * 
+ * You should have received a copy of the GNU Lesser General Public License
+ * along with the nettle library; see the file COPYING.LIB.  If not, write to
+ * the Free Software Foundation, Inc., 59 Temple Place - Suite 330, Boston,
+ * MA 02111-1307, USA.
+ */
+ 
+#ifndef NETTLE_RSA_H_INCLUDED
+#define NETTLE_RSA_H_INCLUDED
+
+#include <inttypes.h>
+
+#include <gmp.h>
+
+struct rsa_public_key
+{
+  mpz_t n;
+  mpz_t e;
+};
+
+struct rsa_private_key
+{
+  
+};
+
+
+#endif NETTLE_RSA_H_INCLUDED
diff --git a/yarrow.h b/yarrow.h
new file mode 100644
index 0000000000000000000000000000000000000000..0b691e8a609042ac1a3af604afa4ad55db034d5b
--- /dev/null
+++ b/yarrow.h
@@ -0,0 +1,45 @@
+/* yarrow.h
+ *
+ * The yarrow pseudo-randomness generator.
+ */
+
+/* nettle, low-level cryptographics library
+ *
+ * Copyright (C) 2001 Niels M�ller
+ *  
+ * The nettle library is free software; you can redistribute it and/or modify
+ * it under the terms of the GNU Lesser General Public License as published by
+ * the Free Software Foundation; either version 2.1 of the License, or (at your
+ * option) any later version.
+ * 
+ * The nettle 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 Lesser General Public
+ * License for more details.
+ * 
+ * You should have received a copy of the GNU Lesser General Public License
+ * along with the nettle library; see the file COPYING.LIB.  If not, write to
+ * the Free Software Foundation, Inc., 59 Temple Place - Suite 330, Boston,
+ * MA 02111-1307, USA.
+ */
+ 
+#ifndef NETTLE_YARROW_COMPAT_H_INCLUDED
+#define NETTLE_YARROW_COMPAT_H_INCLUDED
+
+struct yarrow160_ctx
+{
+};
+
+void
+yarrow160_init(struct *yarrow160_ctx);
+
+void
+yarrow160_update(struct *yarrow160_ctx, unsigned length, const uint8_t *data);
+
+void
+yarrow160_random(struct *yarrow160_ctx, unsigned length, uint8_t dst);
+
+unsigned 
+yarrow160_needed(struct *yarrow160_ctx);
+
+#endif /* NETTLE_YARROW_COMPAT_H_INCLUDED */