Non c'è niente di più sicuro di "sicuro". Un aggressore che può romperlo in anticipo, perché ha "solo" sicurezza a 128 bit, è un attaccante che ha molto più potere di calcolo disponibile di tutti i computer sulla Terra messi insieme (inclusi anche smartphone e macchine da caffè). Non è plausibile che un tale attaccante piombasse così in basso da infastidire il tasto tuo ; conosce già tutti i tuoi pensieri, dirige tutte le tue azioni e probabilmente possiede anche la tua anima.
I livelli di sicurezza oltre i 128 bit non sono intesi a fornire "maggiore sicurezza", ma a calmare auditor, manager, clienti e potenziali compagni (non necessariamente in questo ordine) da una potente visualizzazione di bit extra. Questo è come birds of paradise : utilizzando una chiave sovradimensionata, si invia il segnale che sei così grande che puoi permettersi sprecare CPU e larghezza di banda della rete in crittografia ridicolmente ingrandita.
Realisticamente, se (quando) la tua chiave è rotta, allora non sarà attraverso la sua dimensione; ciò avverrà attraverso un bug del software, una perdita di hardware o un uso improprio dei tasti in un protocollo mal progettato. In questo senso , possiamo parlare di sicurezza effettiva:
-
Il designer di Curve25519 e autore della sua usuale implementazione è Daniel J. Bernstein, che è noto a "conosci il suo mestiere". Il suo codice probabilmente contiene molti meno bug di quello che farebbe la maggior parte degli sviluppatori. Usare il suo codice è, a parità di altre condizioni, una buona idea.
-
D'altro canto, i protocolli sono un problema importante, ed è molto più facile imbucare un protocollo rispetto all'implementazione di un algoritmo crittografico. Cercando una curva, stai cercando la cosa sbagliata. Dovresti pensare "quale protocollo dovrei usare?" e poi (solo allora) preoccuparsi della curva specifica, nel caso in cui il protocollo scelto avvenga per consentire l'uso di più curve. Curve25519 non ha (ancora) percolato in tutti o addirittura i protocolli più consolidati. Ad esempio, non c'è supporto per Curve25519 in SSL / TLS (ce n'è uno in SSH, però).