diff --git a/silkaj/crypto_tools.py b/silkaj/crypto_tools.py
index 13e9b12608931d267a29aa76c83d3b503f635b05..88ce3fea20a009074ef3685e9eaa5dd4fc4590c8 100644
--- a/silkaj/crypto_tools.py
+++ b/silkaj/crypto_tools.py
@@ -17,6 +17,8 @@ along with Silkaj. If not, see <https://www.gnu.org/licenses/>.
 
 import re
 import hashlib
+
+import base58
 from nacl import encoding
 
 from silkaj.constants import PUBKEY_PATTERN
@@ -77,9 +79,9 @@ def gen_checksum(pubkey):
     """
     Returns the checksum of the input pubkey (encoded in b58)
     """
-    pubkey_byte = b58_decode(pubkey)
+    pubkey_byte = base58.b58decode(pubkey)
     hash = hashlib.sha256(hashlib.sha256(pubkey_byte).digest()).digest()
-    return b58_encode(hash)[:3]
+    return base58.b58encode(hash)[:3].decode("utf-8")
 
 
 b58_digits = "123456789ABCDEFGHJKLMNPQRSTUVWXYZabcdefghijkmnopqrstuvwxyz"