diff --git a/src/dewif/read.rs b/src/dewif/read.rs
index aa671d3a6aebbb286f3733d027f4c3b451658852..8f5fdd052e915342cbbb23339a84396db2d3f2f1 100644
--- a/src/dewif/read.rs
+++ b/src/dewif/read.rs
@@ -17,7 +17,7 @@
 
 use super::{Currency, ExpectedCurrency};
 use crate::keys::ed25519::{KeyPairFromSeed32Generator, PublicKey, PUBKEY_SIZE_IN_BYTES};
-use crate::keys::KeyPairEnum;
+use crate::keys::{KeyPair, KeyPairEnum};
 use crate::seeds::Seed32;
 use arrayvec::ArrayVec;
 use byteorder::ByteOrder;
@@ -145,7 +145,7 @@ fn bytes_to_checked_keypair(bytes: &[u8]) -> Result<KeyPairEnum, DewifReadError>
     let keypair = KeyPairFromSeed32Generator::generate(seed);
 
     // Check pubkey
-    if keypair.pubkey() != expected_pubkey {
+    if keypair.public_key() != expected_pubkey {
         Err(DewifReadError::CorruptedContent)
     } else {
         Ok(KeyPairEnum::Ed25519(keypair))
diff --git a/src/dewif/write.rs b/src/dewif/write.rs
index 1e6161a9ccb0ff453ed8a681bddf3e61f2f7976c..2b21f12795ff60874a19ddb7847991f2c2ebdfad 100644
--- a/src/dewif/write.rs
+++ b/src/dewif/write.rs
@@ -17,6 +17,7 @@
 
 use super::Currency;
 use crate::keys::ed25519::Ed25519KeyPair;
+use crate::keys::KeyPair;
 use arrayvec::ArrayVec;
 use unwrap::unwrap;
 
@@ -31,7 +32,7 @@ pub fn write_dewif_v1_content(
     let currency_code: u32 = currency.into();
     unwrap!(bytes.try_extend_from_slice(&currency_code.to_be_bytes()));
     unwrap!(bytes.try_extend_from_slice(keypair.seed().as_ref()));
-    unwrap!(bytes.try_extend_from_slice(keypair.pubkey().as_ref()));
+    unwrap!(bytes.try_extend_from_slice(keypair.public_key().as_ref()));
 
     let cipher = crate::aes256::new_cipher(super::gen_aes_seed(passphrase));
     crate::aes256::encrypt::encrypt_n_blocks(
@@ -55,9 +56,9 @@ pub fn write_dewif_v2_content(
     let currency_code: u32 = currency.into();
     unwrap!(bytes.try_extend_from_slice(&currency_code.to_be_bytes()));
     unwrap!(bytes.try_extend_from_slice(keypair1.seed().as_ref()));
-    unwrap!(bytes.try_extend_from_slice(keypair1.pubkey().as_ref()));
+    unwrap!(bytes.try_extend_from_slice(keypair1.public_key().as_ref()));
     unwrap!(bytes.try_extend_from_slice(keypair2.seed().as_ref()));
-    unwrap!(bytes.try_extend_from_slice(keypair2.pubkey().as_ref()));
+    unwrap!(bytes.try_extend_from_slice(keypair2.public_key().as_ref()));
 
     let cipher = crate::aes256::new_cipher(super::gen_aes_seed(passphrase));
     crate::aes256::encrypt::encrypt_8_blocks(&cipher, &mut bytes[super::UNENCRYPTED_BYTES_LEN..]);
diff --git a/src/keys/bin_signable.rs b/src/keys/bin_signable.rs
index 85b1cd35c61b6d2d1a2eb91d0e0d32819bd03c96..b43c9f9e2e5479e45aeaa640405f375d6dc84dca 100644
--- a/src/keys/bin_signable.rs
+++ b/src/keys/bin_signable.rs
@@ -130,7 +130,7 @@ mod tests {
 
         let mut bin_signable_datas = BinSignableTestImpl {
             datas: vec![0, 1, 2, 3],
-            issuer: PubKey::Ed25519(key_pair.pubkey()),
+            issuer: PubKey::Ed25519(key_pair.public_key()),
             sig: None,
         };
 
diff --git a/src/keys/ed25519.rs b/src/keys/ed25519.rs
index c8ee4a35fe7e8886c7a4f0d8dfbf9da3cd96b44d..d3b4a452bb3afa3282ed156eef75c765c53e18a6 100644
--- a/src/keys/ed25519.rs
+++ b/src/keys/ed25519.rs
@@ -282,10 +282,6 @@ impl Ed25519KeyPair {
     pub fn generate_random() -> Result<Self, UnspecifiedRandError> {
         Ok(KeyPairFromSeed32Generator::generate(Seed32::random()?))
     }
-    /// Get public key
-    pub fn pubkey(&self) -> PublicKey {
-        self.pubkey
-    }
     pub(crate) fn seed(&self) -> &Seed32 {
         &self.seed
     }
diff --git a/src/keys/mod.rs b/src/keys/mod.rs
index 53ece26b3a49aa1598926954cc031617b0b30048..5ed87046c7fd4a9dcb432928ef4cdee2ff19de90 100644
--- a/src/keys/mod.rs
+++ b/src/keys/mod.rs
@@ -37,7 +37,7 @@
 //!
 //! let signature = signator.sign(&message.as_bytes());
 //!
-//! assert!(keypair.pubkey().verify(&message.as_bytes(), &signature).is_ok());
+//! assert!(keypair.public_key().verify(&message.as_bytes(), &signature).is_ok());
 //! ```
 //!
 //! # Format
@@ -391,7 +391,7 @@ impl Display for KeyPairEnum {
     fn fmt(&self, f: &mut Formatter) -> Result<(), Error> {
         match self {
             KeyPairEnum::Ed25519(ref ed25519_keypair) => {
-                write!(f, "({}, hidden)", ed25519_keypair.pubkey().to_base58())
+                write!(f, "({}, hidden)", ed25519_keypair.public_key().to_base58())
             }
             KeyPairEnum::Schnorr() => panic!("Schnorr algo not yet supported !"),
         }
@@ -582,7 +582,7 @@ mod tests {
             format!("{}", false_key_pair)
         );
         assert_eq!(
-            PubKey::Ed25519(false_key_pair_ed25519.pubkey()),
+            PubKey::Ed25519(false_key_pair_ed25519.public_key()),
             false_key_pair.public_key()
         );
         assert_eq!(