diff --git a/NEWS b/NEWS
index 254b0c90ffde8fded4a33477dcde10e2b2956cd8..7f03e7038f236cf0aed9da2779bdaaefaebeba7a 100644
--- a/NEWS
+++ b/NEWS
@@ -1,3 +1,8 @@
+NEWS for the 1.7 release
+
+	Renamed rsa functions for consistency. Now it's
+	rsa_public_key_init, not rsa_init_public_key, etc.
+	
 NEWS for the 1.6 release
 
 	Optimized assembler implementations of aes, for sparc and x86.
diff --git a/rsa-sign.c b/rsa-sign.c
index 6a50685feaaf0ebafd278461a6e6921ecb159c00..7eb46280dbdf507c834c55dd942513d48f5e514b 100644
--- a/rsa-sign.c
+++ b/rsa-sign.c
@@ -34,7 +34,7 @@
 #include "bignum.h"
 
 void
-rsa_init_private_key(struct rsa_private_key *key)
+rsa_private_key_init(struct rsa_private_key *key)
 {
   mpz_init(key->d);
   mpz_init(key->p);
@@ -49,7 +49,7 @@ rsa_init_private_key(struct rsa_private_key *key)
 }
 
 void
-rsa_clear_private_key(struct rsa_private_key *key)
+rsa_private_key_clear(struct rsa_private_key *key)
 {
   mpz_clear(key->d);
   mpz_clear(key->p);
@@ -60,7 +60,7 @@ rsa_clear_private_key(struct rsa_private_key *key)
 }
 
 int
-rsa_prepare_private_key(struct rsa_private_key *key)
+rsa_private_key_prepare(struct rsa_private_key *key)
 {
   /* FIXME: Add further sanity checks. */
 
diff --git a/rsa.c b/rsa.c
index 35841789a43c3745463c206f49df44df19f7b64e..1e1ffb8c73ec285c315086a7d4a77434e5200f55 100644
--- a/rsa.c
+++ b/rsa.c
@@ -38,7 +38,7 @@
  * verify functions. */
 
 void
-rsa_init_public_key(struct rsa_public_key *key)
+rsa_public_key_init(struct rsa_public_key *key)
 {
   mpz_init(key->n);
   mpz_init(key->e);
@@ -49,7 +49,7 @@ rsa_init_public_key(struct rsa_public_key *key)
 }
 
 void
-rsa_clear_public_key(struct rsa_public_key *key)
+rsa_public_key_clear(struct rsa_public_key *key)
 {
   mpz_clear(key->n);
   mpz_clear(key->e);
@@ -71,7 +71,7 @@ _rsa_check_size(mpz_t n)
 }
 
 int
-rsa_prepare_public_key(struct rsa_public_key *key)
+rsa_public_key_prepare(struct rsa_public_key *key)
 {
   /* FIXME: Add further sanity checks, like 0 < e < n. */
 #if 0
diff --git a/rsa.h b/rsa.h
index 450893810c1deed6dfe4a4b925368f3f5d220ffe..b553a4cf4a9f03fffe9361948e5cee5115367ae6 100644
--- a/rsa.h
+++ b/rsa.h
@@ -110,25 +110,25 @@ struct rsa_private_key
  
 /* Calls mpz_init to initialize bignum storage. */
 void
-rsa_init_public_key(struct rsa_public_key *key);
+rsa_public_key_init(struct rsa_public_key *key);
 
 /* Calls mpz_clear to deallocate bignum storage. */
 void
-rsa_clear_public_key(struct rsa_public_key *key);
+rsa_public_key_clear(struct rsa_public_key *key);
 
 int
-rsa_prepare_public_key(struct rsa_public_key *key);
+rsa_public_key_prepare(struct rsa_public_key *key);
 
 /* Calls mpz_init to initialize bignum storage. */
 void
-rsa_init_private_key(struct rsa_private_key *key);
+rsa_private_key_init(struct rsa_private_key *key);
 
 /* Calls mpz_clear to deallocate bignum storage. */
 void
-rsa_clear_private_key(struct rsa_private_key *key);
+rsa_private_key_clear(struct rsa_private_key *key);
 
 int
-rsa_prepare_private_key(struct rsa_private_key *key);
+rsa_private_key_prepare(struct rsa_private_key *key);
 
 
 /* PKCS#1 style signatures */