diff --git a/briar-core/src/org/briarproject/crypto/SignatureImpl.java b/briar-core/src/org/briarproject/crypto/SignatureImpl.java
index 0c2a02eb4a7ee2aa397d90fb002ccd7b3f28dc55..78501b18b2db667bed81cd70cc8ff9e224d693b4 100644
--- a/briar-core/src/org/briarproject/crypto/SignatureImpl.java
+++ b/briar-core/src/org/briarproject/crypto/SignatureImpl.java
@@ -1,7 +1,10 @@
 package org.briarproject.crypto;
 
+import static java.util.logging.Level.INFO;
+
 import java.security.GeneralSecurityException;
 import java.security.SecureRandom;
+import java.util.logging.Logger;
 
 import org.briarproject.api.crypto.PrivateKey;
 import org.briarproject.api.crypto.PublicKey;
@@ -18,6 +21,9 @@ import org.spongycastle.crypto.signers.HMacDSAKCalculator;
 
 class SignatureImpl implements Signature {
 
+	private static final Logger LOG =
+			Logger.getLogger(SignatureImpl.class.getName());
+
 	private final SecureRandom secureRandom;
 	private final DSADigestSigner signer;
 
@@ -53,10 +59,20 @@ class SignatureImpl implements Signature {
 	}
 
 	public byte[] sign() {
-		return signer.generateSignature();
+		long now = System.currentTimeMillis();
+		byte[] signature = signer.generateSignature();
+		long duration = System.currentTimeMillis() - now;
+		if(LOG.isLoggable(INFO))
+			LOG.info("Generating signature took " + duration + " ms");
+		return signature;
 	}
 
 	public boolean verify(byte[] signature) {
-		return signer.verifySignature(signature);
+		long now = System.currentTimeMillis();
+		boolean valid = signer.verifySignature(signature);
+		long duration = System.currentTimeMillis() - now;
+		if(LOG.isLoggable(INFO))
+			LOG.info("Verifying signature took " + duration + " ms");
+		return valid;
 	}
 }