diff --git a/include/olm/pk.h b/include/olm/pk.h
index 8748506accbdc0c29ac6c2284da06dfa4ce8b3d2..4278fca9f77c4cb3542234522fb85f00c2b3985a 100644
--- a/include/olm/pk.h
+++ b/include/olm/pk.h
@@ -116,6 +116,10 @@ size_t olm_clear_pk_decryption(
  */
 size_t olm_pk_private_key_length();
 
+/** DEPRECATED: Use olm_pk_private_key_length()
+ */
+size_t olm_pk_generate_key_random_length(void);
+
 /** Initialise the key from the private part of a key as returned by
  * olm_pk_get_private_key(). The associated public key will be written to the
  * pubkey buffer. Returns olm_error() on failure. If the pubkey buffer is too
@@ -132,6 +136,14 @@ size_t olm_pk_key_from_private(
     void * privkey, size_t privkey_length
 );
 
+/** DEPRECATED: Use olm_pk_key_from_private
+ */
+size_t olm_pk_generate_key(
+    OlmPkDecryption * decryption,
+    void * pubkey, size_t pubkey_length,
+    void * privkey, size_t privkey_length
+);
+
 /** Returns the number of bytes needed to store a decryption object. */
 size_t olm_pickle_pk_decryption_length(
     OlmPkDecryption * decryption
diff --git a/src/pk.cpp b/src/pk.cpp
index 5ee35d90da3c5425da536c528444ad88d4893163..5cfcea283f34be037b0ee0e4891631ea845d5485 100644
--- a/src/pk.cpp
+++ b/src/pk.cpp
@@ -191,6 +191,10 @@ size_t olm_pk_private_key_length(void) {
     return CURVE25519_KEY_LENGTH;
 }
 
+size_t olm_pk_generate_key_random_length(void) {
+    return olm_pk_private_key_length();
+}
+
 size_t olm_pk_key_length(void) {
     return olm::encode_base64_length(CURVE25519_KEY_LENGTH);
 }
@@ -220,6 +224,14 @@ size_t olm_pk_key_from_private(
     return 0;
 }
 
+size_t olm_pk_generate_key(
+    OlmPkDecryption * decryption,
+    void * pubkey, size_t pubkey_length,
+    void * privkey, size_t privkey_length
+) {
+    return olm_pk_key_from_private(decryption, pubkey, pubkey_length, privkey, privkey_length);
+}
+
 namespace {
     static const std::uint32_t PK_DECRYPTION_PICKLE_VERSION = 1;