GPG (PGP) problema di decrittografia

5

Siamo nuovi nell'usare GPG e abbiamo un problema molto strano con la velocità di decrittazione quando utilizziamo i keypair RSA, che vengono generati utilizzando diversi strumenti (GPG per Windows, DidiSoft OpenPGP Library per .NET e SecureBlackbox).

Quindi abbiamo 3 coppie di chiavi pubbliche / private RSA che hanno le stesse proprietà (hash / compressione algo, cifrari) e la dimensione della chiave di 2048 bit e abbiamo ottenuto i seguenti risultati:

100 operazioni di decrittografia per ogni chiave privata / pubblica:

  1. Tasti RSA generati da GPG per Windows:

    DidiSoft: 90 ms / 1 decrittografia
    SecureBlackbox: ~ 420 ms / 1 decrittazione

  2. Tasti RSA generati da DidiSoft lib:

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

  3. Chiavi RSA generate da SecureBlackbox lib:

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

Tutti i test utilizzano lo stesso codice C # con il solo nome file modificato per passare le chiavi pubbliche / private. Perché c'è una così grande differenza nel tempo di esecuzione e quale potrebbe essere la causa?

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-----
    
posta Nikola Tesla 30.09.2015 - 19:51
fonte

1 risposta

3

Per coloro che non hanno familiarità con OpenPGP, devo prima chiarire che la chiave RSA (e l'algoritmo) ha un impatto sulle prestazioni a tempo limitato rispetto alla velocità di decrittazione, perché il formato di archivio di OpenPGP assomiglia a questo:

chiave di sessione-RSA crittografato || dati crittografati con un algoritmo simmetrico (ad esempio AES) dalla chiave di sessione

Quindi, fondamentalmente la velocità dipende (specialmente da grandi quantità di dati) su quale algoritmo simmetrico è stato usato per crittografare i dati di input. Una parte interessante di OpenPGP è che le chiavi possono contenere preferenze di algoritmi simmetrici all'interno e il processo di crittografia può tenerne conto quando i dati sono stati compressi.

Tenendo presente il paragrafo precedente, i dati crittografati con la chiave GPG RSA potrebbero essere stati crittografati con un algoritmo simmetrico diverso dalla chiave di DidiSoft OpenPGP Library per .NET ed Eldos. Per testare le chiavi in modo equo, dovrai specificare esplicitamente l'algoritmo di crittografia simmetrica o assicurarti che tutte le chiavi abbiano solo una stessa preferenza di chiave simmetrica preferita.

    
risposta data 31.10.2015 - 21:19
fonte

Leggi altre domande sui tag