From 03247aedd61277c28ffea00a53a6d6772b4bc04d Mon Sep 17 00:00:00 2001
From: akwizgran <akwizgran@users.sourceforge.net>
Date: Wed, 14 Jan 2015 19:09:17 +0000
Subject: [PATCH] Log how long it takes to generate and verify signatures.

---
 .../briarproject/crypto/SignatureImpl.java    | 20 +++++++++++++++++--
 1 file changed, 18 insertions(+), 2 deletions(-)

diff --git a/briar-core/src/org/briarproject/crypto/SignatureImpl.java b/briar-core/src/org/briarproject/crypto/SignatureImpl.java
index 0c2a02eb4a..78501b18b2 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;
 	}
 }
-- 
GitLab