4

We are new to using GPG and we have a very strange issue with decryption speed when using RSA keypairs, which are generated by using different tools (GPG for Windows, DidiSoft OpenPGP Library for .NET and SecureBlackbox).

So we have 3 RSA public/private key pairs that have the same properties (hash/compression algo, ciphers) and key size of 2048 bits and we got the following results:

100 decryption operations for each private/public keys:

  1. RSA keys generated by GPG for Windows:

    DidiSoft: 90 ms/1 decryption
    SecureBlackbox: ~420 ms/1 decryption

  2. RSA keys generated by DidiSoft lib:

    DidiSoft: 38 ms/1 decryption
    SecureBlackbox: 40 ms/1 decryption

  3. RSA keys generated by SecureBlackbox lib:

    DidiSoft: 39 ms/1 decryption
    SecureBlackbox: 39 ms/1 decryption

All the tests are using the same C# code with just the file name changed to switch public/private keys. Why is there so big difference in the execution time and what might be the cause?

Passphrase: qwerty

-----BEGIN PGP PUBLIC KEY BLOCK----- Version: GnuPG v2 mQENBFYP1skBCAC3CoaV+MiROdkvH6Ilcq/eXXV8ckteyp+urhKqCyyPRuKVcdb9 nIuC79b7xqrfx+SNWFiD2WVPtoD2NelPHe15mQjImKyYhBN9z79PiijtXHHB6hH6 Z6wkXyWUzLXAsySUKdFQc2lr+7vcVD/Oc4rUUuIYqpyTlZxiLlT3h73ta9S1wwJn Q+6iPPd88Mc7cEUysghGmFDLmAIXSjwTxPSG234QDKyNFK4X8fP7BQ2Yp9v3yG81 zWeKFG0fOQgVa4ReWjq/OwC+WoirDFuwY610nrxjEO5HwSaniHEjSRcTbSGN8AmS dOv9mjakQ1a0U/wFIUBOT9/DRQVgI8T56UW5ABEBAAG0KWdwZ3dpbmRvd3N0ZXN0 IDxncGd3aW5kb3dzdGVzdEBlbWFpbC5jb20+iQE5BBMBAgAjBQJWD9bJAhsDBwsJ CAcDAgEGFQgCCQoLBBYCAwECHgECF4AACgkQT+WOTX/34l3ZzAf+LsiTeFHxdHDj p+rokuitS6HL98gVAiLwx7wj901MGbvOJL6aUtt1KGffpqZuRisPB6ATK5qT+YUU I2uu5az6ISDxLYbKGpoiWdLPK+39R6KOgGJ45OmgKLNKX/biHzzJplaoK75pQBmK 0+bBZPabQOO9xY7Xi9OZONYvjrnpeX6haIZrg1j6wnj9M13M/D/BmCGMm3UJAKhw rHYLjDlc0gOUY8kDBqqIz5uczEJp6iyc6RmUgKLgS0fIOGMf0vFwznxV43DMoUWL kmZkpm0RfvgfU0dv/VLmAlUtwXGIQy626jiTo0F6oKdfxpUwZzZ7jCId9ViyAtiM DKDqfSEl37kBDQRWD9bJAQgAoUnwPIU/Js8u4PsFr0BBd1tTDU5u+MdtHbFCeUJV iHtaOe01/PEgZFehKtPU2oDwAlaRs71AaK8NK6hTrqP11wO3eOYXzt2n0195q1Ud 3LYQCCi6jnIXkJ3PO+Ur8P0gE5jAjAqnf/C3V42sbV8XvZIFdCsDO/xvqW1tDSUJ Fg7qQz4YQKhFTjYNM9ME0l5DGz/+i8lCeKy7fWjV0oUuKkAu2e/V6g4c//sf3n+o UFvLHn+N5SMxAkol3US7F0qi8I6Z+PU6EkApLIblogI2lJ7AY1gGE+hXR9USzqJS dBaQFA94xP7T1j7rOBsJn8n+WiDtTZ1H1Lwt7uEG9tR30QARAQABiQEfBBgBAgAJ BQJWD9bJAhsMAAoJEE/ljk1/9+JdaEoIAIzSTLV0Bk9D8gI1YqO62g8Cajyr1JjJ IsZk9A1KHn7fHK9YpnoT3ivL1ktB4xaAN64jEbxTWuhVUnZ92JJ+mw+0i0zRjUf0 BGtGOIPizBerYKBS5rlYXe/eWNHkIr0Qt2uwxSNp0x9MF0bYTSOS+SlSsVwEHUKI t4FJq61zdvZdgzCmXXNkUymSjJkFgDl3znzlLzIcG2vQP8T6pdy99SxxcKPnCOZq wn/h5jKOLemYsoyN+5tuok0KaTUa1juKnzbASXGrDOuQCXM05h5mQ0rsw8GVWKbC l1cncYyDfXHHrXo1KrN4w0V2UGD9TK+Lo5XXDKrNg18jqRt+P9OQoYw= =Ofoe -----END PGP PUBLIC KEY BLOCK----- 

-----BEGIN PGP PRIVATE KEY BLOCK----- Version: GnuPG v2 lQO+BFYP1skBCAC3CoaV+MiROdkvH6Ilcq/eXXV8ckteyp+urhKqCyyPRuKVcdb9 nIuC79b7xqrfx+SNWFiD2WVPtoD2NelPHe15mQjImKyYhBN9z79PiijtXHHB6hH6 Z6wkXyWUzLXAsySUKdFQc2lr+7vcVD/Oc4rUUuIYqpyTlZxiLlT3h73ta9S1wwJn Q+6iPPd88Mc7cEUysghGmFDLmAIXSjwTxPSG234QDKyNFK4X8fP7BQ2Yp9v3yG81 zWeKFG0fOQgVa4ReWjq/OwC+WoirDFuwY610nrxjEO5HwSaniHEjSRcTbSGN8AmS dOv9mjakQ1a0U/wFIUBOT9/DRQVgI8T56UW5ABEBAAH+AwMCeugZ5cGb/hnHv7KW vJiuyWitARpF5YQt1qdLeUA1ilHGCrnwz/nDEBtbjm6u8/w+r40US/rvW7/m6Fuz AQcbtU13OSEwqQcjl406SBML2L68u8JK06YdUaHm5HCUBf6HFbEdrlt+khLqZhGk Pj0axtCnOLIT+tVk/C0DrX2R+cmATEpzhc8h31jg4CqBSagr2qIvvmw8Sca9fh/8 0u8oHcWck1kaqJ8zymwLPmLwR2mSOKZhFtYyQr3lwQNURw4eBGvp0h4Ba6pvtekt 9HHKC/KCe7kSNhX+9rRPA1zBBYki2GrvI97Up0drLya1i2+yHS7W8tiI8xxBmyXY ij7fIfrjwYQOO6VAv5+Bxn6pY3//uzLuYv6aRBs/InN5m2ltw1rD0xSaMAIyJCcd T754PLte/NduOPL1EdoiQbULUWubSx090UlfZz5yn6NdRmByq8zw5Q0/4l38erwg OV3fdHHw8n3b0oFONXg+nyMgrL73pXqgnE5RGdgGtZJ8tqRqiGMCQ1/XxnlQhdMy tJXbvAMFTsSYnb/3iMWIOozw+uY1+xCJ7wppwpdd7cy5J5Ijng0UF3VLkhuOyjum o49+LRSKYo9/PiVpjA2FNrGwzmmX3zMpiklqRCdIxcGzvzGBwO2+sg4Kg5uUuJBI coGZEx2XxIZnPzmkBYFJCXjerSccK1cuC/Y7HkbmmbdIDKr57q2jWQX42dTUkYR4 1aLI5eLTP2SfeIcONxOTctCZIDMBDzjKSDFIq3AOJS5mL7ikmKVlkR3yf2+HEvIX FwlAPBDweV6EsJ5mFt+5nyFU+ONABivll6+md8Ko83D4jUD+mqBmL4KFHf6u+Ge5 bYlh5F0Y0880GlqT9HlNIM6/4okz0pUtW6V/6WFlpEJX3iv5lX6CrxusjWb0MpZV RLQpZ3Bnd2luZG93c3Rlc3QgPGdwZ3dpbmRvd3N0ZXN0QGVtYWlsLmNvbT6JATkE EwECACMFAlYP1skCGwMHCwkIBwMCAQYVCAIJCgsEFgIDAQIeAQIXgAAKCRBP5Y5N f/fiXdnMB/4uyJN4UfF0cOOn6uiS6K1Locv3yBUCIvDHvCP3TUwZu84kvppS23Uo Z9+mpm5GKw8HoBMrmpP5hRQja67lrPohIPEthsoamiJZ0s8r7f1Hoo6AYnjk6aAo s0pf9uIfPMmmVqgrvmlAGYrT5sFk9ptA473FjteL05k41i+Ouel5fqFohmuDWPrC eP0zXcz8P8GYIYybdQkAqHCsdguMOVzSA5RjyQMGqojPm5zMQmnqLJzpGZSAouBL R8g4Yx/S8XDOfFXjcMyhRYuSZmSmbRF++B9TR2/9UuYCVS3BcYhDLrbqOJOjQXqg p1/GlTBnNnuMIh31WLIC2IwMoOp9ISXfnQO+BFYP1skBCAChSfA8hT8mzy7g+wWv QEF3W1MNTm74x20dsUJ5QlWIe1o57TX88SBkV6Eq09TagPACVpGzvUBorw0rqFOu o/XXA7d45hfO3afTX3mrVR3cthAIKLqOcheQnc875Svw/SATmMCMCqd/8LdXjaxt Xxe9kgV0KwM7/G+pbW0NJQkWDupDPhhAqEVONg0z0wTSXkMbP/6LyUJ4rLt9aNXS hS4qQC7Z79XqDhz/+x/ef6hQW8sef43lIzECSiXdRLsXSqLwjpn49ToSQCkshuWi AjaUnsBjWAYT6FdH1RLOolJ0FpAUD3jE/tPWPus4Gwmfyf5aIO1NnUfUvC3u4Qb2 1HfRABEBAAH+AwMCeugZ5cGb/hnHHwZjlQmuJaRqwYw3sfipiQptXjyQ9omPBo7t yEqo/a/FtvRBTxlo2Dc+BpXBNuLmq3i7jSugrsVkVZ5lmz/R6wGFP1Mjc13VzFDV psQXE3Zuaxjy0umfSaSb3AD0XVAmD2WIb/sP+DhyS5Cfx6sPrl9mXKsFtezplytt ZVlUQImKeTDZy2MUkK/qGkXUCqM/lmW4pJsPVdE9ZicZoib9mub7LNh+n/9+p+Tq Y/pe8XJ0K4PD5QI7EaM4uUDDnxBGNoU7wcnWpcu0LmPKLn7+muuxfkhE9xTgeHyW I4OIhtaUjWgtm/qbHme4v4qB9AeBY1N8Aklmqmhxbd2epqmj3bA+/QH92kTatub2 v3sWAV8WVL40U9hLzbcnuXxa0/S8NRotcTRCSD7TZhxIlL+WqTxn6NsFdbqabUGX hlDClJv02H7BPWbQTVP4+yxY4W+fVPFiajs5fAbA/9o5B5Re0MJZU1FXmKuMXInL FCFu/dAPghkOs7ShYEKQu1EDVNmgQbI56jaCKnS/oyS/iYjMKHxgZUt/svGah91p UFh07npfqYpIqcnQCmuiGqS5xbTbDB7LauOeXxWJV2x9Xgljk4YOXg6XLS94d7Jl EYLurBgdKWE2kyCuCS8bpMfOCSV3s4NGckdO2XWWBAlv/t6Fm531Lz3COBZEa0a0 Wyc9DL1Ha4gJI0Sffbklnsw10OiJEPVHz8WT3bW55mLaS8TxlyVV3h85IhkRnrXD zGqgsJOS1lzw19myDLIvTt6TTZ5AhB/2LPGzo8rOFh5K7eEPQf0EQBT0o45CEHU7 5Yz0Qz2xq8J0GmKIo5ZYGmGL0IF4Pq0FpTTI00RMzYpXPyHWkcX51hLMoE1w44qM TT2SbrZiXhMaP1a7hc0RW6Rvn1+7wTlbb4kBHwQYAQIACQUCVg/WyQIbDAAKCRBP 5Y5Nf/fiXWhKCACM0ky1dAZPQ/ICNWKjutoPAmo8q9SYySLGZPQNSh5+3xyvWKZ6 E94ry9ZLQeMWgDeuIxG8U1roVVJ2fdiSfpsPtItM0Y1H9ARrRjiD4swXq2CgUua5 WF3v3ljR5CK9ELdrsMUjadMfTBdG2E0jkvkpUrFcBB1CiLeBSautc3b2XYMwpl1z ZFMpkoyZBYA5d8585S8yHBtr0D/E+qXcvfUscXCj5wjmasJ/4eYyji3pmLKMjfub bqJNCmk1GtY7ip82wElxqwzrkAlzNOYeZkNK7MPBlVimwpdXJ3GMg31xx616NSqz eMNFdlBg/Uyvi6OV1wyqzYNfI6kbfj/TkKGM =1WOu -----END PGP PRIVATE KEY BLOCK----- 
9
  • What was the data you tried to decrypt ? Was it constant or random ? Did you try generating other pairs of keys ? Commented Sep 30, 2015 at 18:39
  • For getting an idea what's going on, would you be fine with posting the private keys and an encrypted message for each of those? It seems you generated testing keys anyway. Commented Sep 30, 2015 at 19:40
  • @FrancoisRenaud-Philippon the data was random 2048 bytes. Yes I tried different pairs of keys Commented Sep 30, 2015 at 20:12
  • @FrancoisRenaud-Philippon I generated 100 random arrays of bytes, encrypted them and then tried decrypting the data by using those two C# libs and each pair of keys Commented Sep 30, 2015 at 20:20
  • 1
    I suggest you contact Eldos support and ask them directly. In my experience, they are quite responsive. Commented Oct 1, 2015 at 8:35

1 Answer 1

4

For those who are not familiar with OpenPGP, I have to first clarify that the RSA key (and algorithm) has a limited time performance impact over decryption speed, because the OpenPGP archive format looks like this:

session key-RSA encrypted || data encrypted with a symmetric algorithm (e.g. AES) by the session key

So, basically the speed depends (especially over large amounts of data) on which symmetric algorithm was used for encrypting the input data. Interesting part of OpenPGP is that the keys may contain symmetric algorithm preferences inside, and the encryption process may take them into account when the data was packed.

Having in mind the above paragraph, the data encrypted with the GPG RSA key may have been encrypted with different symmetric algorithm, than the key from DidiSoft OpenPGP Library for .NET and Eldos. In order to test keys equally, you will have to specify explicitly the symmetric encryption algorithm, or make sure that all keys have only one and the same preferred symmetric cipher key preference.

1
  • By the way, the key pair from your post has AES-256 as the default symmetric cipher. Commented Oct 31, 2015 at 20:35

You must log in to answer this question.

Start asking to get answers

Find the answer to your question by asking.

Ask question

Explore related questions

See similar questions with these tags.