Add SunRsaSign to RSA benchmark test

pull/95/head
Jack Tjaden 2025-01-31 15:02:09 -07:00
parent 8fd26746e1
commit 6f87879760
1 changed files with 20 additions and 20 deletions

View File

@ -85,10 +85,10 @@ public class CryptoBenchmark {
double deltaPercent; double deltaPercent;
System.out.println("\nPerformance Delta (compared to wolfJCE)"); System.out.println("\nPerformance Delta (compared to wolfJCE)");
System.out.println("-----------------------------------------------------------------------------"); System.out.println("--------------------------------------------------------------------------------");
System.out.println("| Operation | Provider | Delta | Delta |"); System.out.println("| Operation | Provider | Delta | Delta |");
System.out.println("| | | Value* | (%) |"); System.out.println("| | | Value* | (%) |");
System.out.println("|------------------------------------------|----------|----------|----------|"); System.out.println("|------------------------------------------|--------------|----------|----------|");
/* Group results by operation */ /* Group results by operation */
groupedResults = new HashMap<>(); groupedResults = new HashMap<>();
@ -126,16 +126,15 @@ public class CryptoBenchmark {
deltaValue = wolfSpeed - otherSpeed; deltaValue = wolfSpeed - otherSpeed;
deltaPercent = ((wolfSpeed / otherSpeed) - 1.0) * 100; deltaPercent = ((wolfSpeed / otherSpeed) - 1.0) * 100;
} }
System.out.printf("| %-40s | %-8s | %+8.2f | %+8.1f |%n", System.out.printf("| %-40s | %-12s | %+8.2f | %+8.1f |%n",
operation.replace("RSA", "RSA/ECB/PKCS1Padding RSA"), operation.replace("RSA", "RSA/ECB/PKCS1Padding RSA"),
provider, provider,
deltaValue, deltaValue,
deltaPercent); deltaPercent);
} }
} }
} }
System.out.println("--------------------------------------------------------------------------------");
System.out.println("-----------------------------------------------------------------------------");
System.out.println("* Delta Value: MiB/s for symmetric ciphers, operations/second for RSA"); System.out.println("* Delta Value: MiB/s for symmetric ciphers, operations/second for RSA");
} }
@ -289,8 +288,14 @@ public class CryptoBenchmark {
String cipherMode = "RSA/ECB/PKCS1Padding"; String cipherMode = "RSA/ECB/PKCS1Padding";
/* Initialize key generator and cipher */ /* Initialize key generator and cipher */
keyGen = KeyPairGenerator.getInstance("RSA", providerName); if (providerName.equals("SunJCE")) {
cipher = Cipher.getInstance(cipherMode, providerName); keyGen = KeyPairGenerator.getInstance("RSA", "SunRsaSign");
cipher = Cipher.getInstance(cipherMode, "SunJCE");
providerName = "SunRsaSign";
} else {
keyGen = KeyPairGenerator.getInstance("RSA", providerName);
cipher = Cipher.getInstance(cipherMode, providerName);
}
testData = generateTestData(SMALL_MESSAGE_SIZE); testData = generateTestData(SMALL_MESSAGE_SIZE);
/* Key Generation benchmark */ /* Key Generation benchmark */
@ -407,18 +412,13 @@ public class CryptoBenchmark {
System.out.println("-----------------------------------------------------------------------------"); System.out.println("-----------------------------------------------------------------------------");
for (Provider provider : providers) { for (Provider provider : providers) {
if (!provider.getName().equals("SunJCE")) { Security.insertProviderAt(provider, 1);
Security.insertProviderAt(provider, 1); System.out.println("\n" + (provider.getName().equals("SunJCE") ? "SunJCE / SunRsaSign" : provider.getName()) + ":");
System.out.println("\n" + provider.getName() + ":"); for (int keySize : RSA_KEY_SIZES) {
runRSABenchmark(provider.getName(), keySize);
for (int keySize : RSA_KEY_SIZES) {
runRSABenchmark(provider.getName(), keySize);
}
Security.removeProvider(provider.getName());
} }
Security.removeProvider(provider.getName());
} }
System.out.println("-----------------------------------------------------------------------------"); System.out.println("-----------------------------------------------------------------------------");
/* Print delta table */ /* Print delta table */