Crittografia su curve ellittiche

Questo articolo è una bozza riguardante la crittografia .

Puoi condividere la tua conoscenza migliorandola ( come? ) secondo le raccomandazioni dei progetti corrispondenti .

La crittografia a curve ellittiche (in inglese, elliptic curve cryptography , o ECC ) è un insieme di tecniche crittografiche che utilizzano una o più proprietà delle curve ellittiche , o più in generale di una varietà abeliana . L'uso delle curve ellittiche in crittografia è stato suggerito indipendentemente da Neal Koblitz e Victor S. Miller nel 1985 . L'utilizzo di queste proprietà consente di migliorare le primitive crittografiche esistenti, ad esempio riducendo la dimensione delle chiavi crittografiche , oppure di costruire nuove primitive crittografiche non note in precedenza.

Nel 2005, la NSA ha annunciato ufficialmente la Suite B delle sue raccomandazioni crittografiche, che utilizza esclusivamente la crittografia a curva ellittica per lo scambio di chiavi e le firme digitali .

Storia e motivazione

Koblitz e Miller

La motivazione iniziale per l'introduzione delle curve ellittiche è che esistono algoritmi sub-esponenziali per risolvere il problema del logaritmo discreto sui campi numerici , in particolare il crivello dei campi numerici generalizzato . Tuttavia, è sulla difficoltà del logaritmo discreto che si basano alcune delle primitive crittografiche utilizzate per lo scambio di chiavi o la firma . Per garantire un livello di sicurezza sufficiente, è quindi necessario lavorare in campi di numeri abbastanza grandi, il che implica un corrispondente aumento dei costi di implementazione, trasmissione e tempo di calcolo.

Nel 1985, Koblitz e Miller notano che tali algoritmi non sono noti per risolvere il logaritmo discreto nel gruppo di punti razionali di una curva ellittica , che è una varietà algebrica , cioè un insieme di punti che soddisfano un'equazione del tipo con appartenenza a una campo finito . Sorprendentemente, le soluzioni di questa equazione possono essere dotate di una legge di gruppo . Completate da un fittizio "punto all'infinito", che svolge il ruolo di elemento neutro , queste soluzioni formano un gruppo abeliano finito. Inoltre, queste operazioni hanno un'interpretazione geometrica. Possiamo quindi calcolare “addizioni” di punti sulla curva.

Se il gruppo è di ordine primo, è ciclico , cioè esiste un punto che genera il gruppo per successive addizioni. Questo è abbastanza analogo alla situazione nei campi finiti, dove un elemento genera il sottogruppo . Pertanto, tutte le costruzioni che si basano su un gruppo del tipo possono utilizzare immediatamente invece il gruppo di punti razionali di una curva ellittica.

Ad esempio, la chiave di scambio di Diffie-Hellman viene trasportata direttamente in un algoritmo su curve ellittiche .

Al momento della loro introduzione in crittografia da parte di Koblitz e Miller, solo algoritmi generici, come l' algoritmo di Shanks , potevano risolvere il logaritmo discreto nel gruppo di punti di una curva ellittica. Ciò ha reso l'attacco molto più difficile su una curva ellittica che su un corpo numerico. Di conseguenza, è stato possibile mantenere un livello di sicurezza soddisfacente, riducendo al contempo le dimensioni dei dati trattati, con conseguente aumento della velocità e riduzione dei costi di implementazione e trasmissione.

Incorporamenti e attacco MOV

Tuttavia, è diventato subito evidente che alcune curve ellittiche non sono adatte a questo uso. Questo è in particolare il caso delle curve supersingolari, per le quali è possibile ridurre il problema del logaritmo discreto in un campo finito (dove si può usare un algoritmo più efficiente per attaccare). In generale, qualsiasi curva ellittica su ha un grado di immersione , tale che il problema del logaritmo discreto sulla curva diventa immerso in un problema del logaritmo discreto su . Tale immersione è data dall'accoppiamento di Weil , un elemento efficientemente calcolabile che soddisfa in particolare . Questo è il principio dell'attacco MOV, descritto nel 1993 da Menezes, Okamoto e Vanstone.

Altri giunti sono stati utilizzati per montare attacchi simili, in particolare il giunto Tate e le sue varianti (Ate, Eta ecc.).

La contromisura consiste nello scegliere, o costruire quando possibile, curve aventi un grado di immersione abbastanza elevato.

Crittografia basata sull'accoppiamento

Nel 2002, Joux mostra come utilizzare l' accoppiamento Weil per eseguire un efficiente scambio di chiavi a tre parti. Questo è il punto di partenza della crittografia basata sull'accoppiamento , che offre un nuovo modo di costruire primitive crittografiche, sotto un'ipotesi diversa da quella della difficoltà di calcolare il logaritmo discreto, e permette di progettare primitive per le quali non si conosce altra implementazione.

Un altro interesse di questo approccio è la realizzazione di schemi di firma digitale brevi, come lo schema Boneh-Lynn-Shacham nel 2001.

Endomorfismi efficienti: GLV e GLS

Su alcune curve, oltre all'operazione di addizione tra punti, c'è un endomorfismo come per un certo . Se è efficientemente calcolabile, ad esempio una semplice operazione aritmetica sulle coordinate, allora permette una "scorciatoia": invece di calcolare per una successione di addizioni, si ottiene in una volta sola applicando . Infatti è possibile velocizzare il calcolo di un multiplo arbitrario scomponendo e calcolando in modo da distribuire lo sforzo di calcolo tra le due parti. Questa è l'idea del metodo GLV dovuta a Gallant, Lambert e Vanstone nel 2001. Nel 2009, Galbraith, Lin e Scott descrivono un modo di costruire curve con endomorfismi efficienti, chiamate curve GLS.

Crittografia basata sull'isogenesi

Un isogeny è un morfismo di gruppi tra i punti di due curve ellittiche, cioè una funzione che conserva la legge gruppo e l'elemento neutro. Le isogenie delle curve ellittiche hanno una struttura ricca, chiamata vulcano di isogenia . Per le curve supersingolari, questa struttura è un grafico Ramanujan e diventa possibile costruire protocolli crittografici basati sulle proprietà di questo grafico. Uno degli interessi di questo punto di vista è che è completamente indipendente dalla questione del logaritmo discreto. Quindi la crittografia basata sull'isogenesi costituisce una delle vie di ricerca nella crittografia post-quantistica .

Crittografia su curve iperellittiche

Per ragioni di efficienza è possibile lavorare su varietà abeliane di genere più ampio (generalmente di genere 2). Esistono su curve di genere metodi di indice troppo grandi che consentono di risolvere il logaritmo discreto in modo efficiente, il che diminuisce l'interesse di tali curve. La teoria delle curve iperellittiche è però meno conosciuta di quella delle curve ellittiche.

Curve di Montgomery

Una particolarità dell'espressione è che esistono in generale, per un valore di dati, due possibili valori , simmetrici rispetto all'asse x. Quindi, in linea di principio, è possibile calcolare su una curva ellittica solo dalla coordinata , se non ci interessa il segno di . Questa idea è resa concreta dall'uso delle curve di Montgomery (dette anche superfici di Kummer, soprattutto per le curve di genere più grande) che vengono definite come il quoziente della curva dall'involuzione . Il vantaggio di lavorare solo con una coordinata è una riduzione della quantità di dati gestiti o trasmessi e, per curve ben scelte, una riduzione del numero di operazioni eseguite.

Curve di Edwards

Il calcolo di un multiplo viene solitamente effettuato per addizione e raddoppio . In generale, quindi, c'è differenza tra l'operazione di addizione e quella di raddoppio; e un'ulteriore differenza, in ogni caso, tra un'operazione che coinvolge il punto all'infinito e un'operazione che non lo coinvolge. Quindi chiunque voglia implementare tali algoritmi deve stare attento, altrimenti si espongono potenzialmente ad un attacco da canali ausiliari . Sulle curve di Edwards , scoperte da Harold Edwards nel 2007 e introdotte in crittografia da Bernstein e Lange, è possibile utilizzare la stessa operazione di addizione, raddoppio, con o senza punti all'infinito, che elimina strutturalmente questi canali ausiliari e ne facilita l'implementazione.

Attacco al punto iniziale e colpi di scena

In alcuni casi, ad esempio su una curva Montgomery, o durante un attacco di guasto , è possibile che un utente manipoli inconsapevolmente un punto che non appartiene alla curva ellittica. Se tuttavia applica le operazioni di addizione e raddoppio, e rivela il risultato, può infatti informare l'avversario di dati segreti. Ciò è particolarmente vero durante un'operazione di firma, in cui il firmatario calcola un punto del modulo con segreto. In condizioni normali, la ricerca richiede la risoluzione di un problema di logaritmo discreto, difficile sulla curva utilizzata per la segnatura; ma se l'avversario riesce a manipolare allora può appartenere ad una curva molto più debole, sulla quale l'avversario sa calcolare il logaritmo discreto.

Nel caso di una curva di Montgomery, l'avversario può facilmente modificare un singolo bit della coordinata , il che costringe il suo bersaglio a lavorare su una torsione quadratica della curva ellittica, cioè una curva di equazione dove non è un residuo quadratico . Se una curva non viene scelta con cura, è possibile attaccare tramite le sue torsioni.

Fattorizzazione per curve ellittiche

La fattorizzazione di Lenstra per curve ellittiche è un algoritmo probabilistico veloce per la scomposizione del prodotto di fattori primi che utilizza curve ellittiche .

Criptosistemi basati su curve ellittiche

Molti sistemi basati sul problema del logaritmo discreto sono stati naturalmente adattati per il gruppo di curve ellittiche.

Curve utilizzate in crittografia

Sicurezza e scelta delle curve

La scelta di una curva ellittica dipende molto dall'applicazione prevista. Qui discutiamo alcuni dei parametri importanti riguardanti le curve destinate a fornire un gruppo in cui il calcolo del logaritmo discreto è difficile.

Note e riferimenti

  1. (in) Neal Koblitz, Crittosistemi a curva ellittica  " , Mathematics of Computation , n o  48,1987, pag.  203-209 ( DOI  10.1090 / S0025-5718-1987-0866109-5 ).
  2. (in) Victor S. Miller, "  Uso delle curve ellittiche in crittografia  " , Crypto , vol.  218,1985, pag.  417-426 ( DOI  10.1007 / 3-540-39799-X_31 ).
  3. (in) AJ Menezes , T. Okamoto e SA Vanstone , "  Ridurre i logaritmi della curva ellittica a logaritmi in un campo finito  " , IEEE Transactions on Information Theory , vol.  39, n .  5,settembre 1993, pag.  1639–1646 ( ISSN  0018-9448 , DOI  10.1109 / 18.259647 , lettura online , accesso 19 marzo 2018 )
  4. (in) Dan Boneh , "  Crittografia basata sull'abbinamento: passato, presente e futuro  " , Advances in Cryptology - ASIACRYPT 2012 , Springer, Berlino, Heidelberg, leggere Notes in Computer Science,2 dicembre 2012, pag.  1-1 ( ISBN  9783642349607 , DOI  10.1007 / 978-3-642-34961-4_1 , lettura online , accesso 19 marzo 2018 )
  5. (in) Dan Boneh , Ben Lynn e Hovav Shacham , "  Brevi firme dal Weil Pairing  " , Journal of Cryptology , vol.  17, n .  4,1 ° settembre 2004, pag.  297–319 ( ISSN  0933-2790 e 1432-1378 , DOI  10.1007 / s00145-004-0314-9 , lettura online , accesso 19 marzo 2018 )
  6. (in) Robert P. Gallant , Robert J. Lambert e Scott A. Vanstone , "  La moltiplicazione dei punti più rapida è curve ellittiche con endomorfismi efficienti  " , Advances in Cryptology - CRYPTO 2001 , Springer, Berlin, Heidelberg, leggere Notes in Computer Science, Oltre a questo, devi saperne di più.19 agosto 2001, pag.  190-200 ( ISBN  3540446478 , DOI  10.1007 / 3-540-44647-8_11 , lettura online , accesso 19 marzo 2018 )
  7. (in) Steven D. Galbraith , Xibin Lin e Michael Scott , "  endomorphisms for Faster Elliptic Curve Cryptography was Large Class of Curves  " , Advances in Cryptology - EUROCRYPT 2009 , Springer, Berlino, Heidelberg, leggere Notes in Computer Science,26 aprile 2009, pag.  518-535 ( ISBN  9783642010002 , DOI  10.1007 / 978-3-642-01001-9_30 , lettura online , accesso 19 marzo 2018 )
  8. (in) Pierrick Gaudry , "  An Algorithm for Solving the Discrete Log Problem on hyperelliptic Curves  " , Advances in Cryptology - EUROCRYPT 2000 , Springer, Berlino, Heidelberg, leggere Notes in Computer Science,14 maggio 2000, pag.  19-34 ( ISBN  3540455396 , DOI  10.1007 / 3-540-45539-6_2 , lettura online , accesso 21 marzo 2018 )
  9. (en-US) Harold Edwards , “  Una forma normale per le curve ellittiche  ” , Bulletin of the American Mathematical Society , vol.  44, n .  3,2007, pag.  393-422 ( ISSN  0273-0979 e 1088-9485 , DOI  10.1090 / s0273-0979-07-01153-6 , lettura online , accesso 19 marzo 2018 )
  10. (in) Daniel J. Bernstein e Tanja Lange , "  Addizione più veloce e raddoppiamento delle curve ellittiche  " , Advances in Cryptology - ASIACRYPT 2007 , Springer, Berlino, Heidelberg, leggere Notes in Computer Science,2 dicembre 2007, pag.  29-50 ( ISBN  9783540768999 , DOI  10.1007 / 978-3-540-76900-2_3 , lettura online , accesso 19 marzo 2018 )
  11. (in) Ingrid Biehl , Bernd Meyer e Volker Müller , "  Differential Fault Attacks on Elliptic Curve Cryptosystems  " , Advances in Cryptology - CRYPTO 2000 , Springer, Berlino, Heidelberg, leggere Notes in Computer Science,20 agosto 2000, pag.  131-146 ( ISBN  3540445986 , DOI  10.1007 / 3-540-44598-6_8 , lettura online , accesso 21 marzo 2018 )
  12. (in) PA Fouque , R. Lercier , D. Réal e F. Valletta , "  Fault Attack on Elliptic Curve Montgomery Ladder Implementation  " , 2008 5th Workshop sulla diagnosi dei guasti e la tolleranza nella crittografia ,agosto 2008, pag.  92–98 ( DOI  10.1109/fdtc.2008.15 , letto online , consultato il 21 marzo 2018 )
  13. (in) David Freeman , Michael Scott e Edlyn Teske , "  A Taxonomy of Pairing-Friendly Elliptic Curves  " , Journal of Cryptology , vol.  23, n .  21 ° aprile 2010, pag.  224-280 ( ISSN  0933-2790 e 1432-1378 , DOI  10.1007 / s00145-009-9048-z , lettura online , accesso 19 marzo 2018 )
  14. (in) Luca De Feo David Jao e Jerome Want , "  Verso la curva ellittica resistente ai crittosistemi quantistici da isogenie supersingolari  " , Journal of Mathematical Cryptology , vol.  8, n .  3,1 ° settembre 2014( ISSN  1862-2984 , DOI  10.1515 / jmc-2012-0015 , lettura online , accesso 21 marzo 2018 )
  15. (in) Erich Wenger e Paul Wolfger , "  Risolvere il logaritmo discreto di una curva di Koblitz a 113 bit con un cluster FPGA  " , Aree selezionate in crittografia - SAC 2014 , Springer, Ham, Note di lettura in informatica,14 agosto 2014, pag.  363–379 ( ISBN  9783319130507 , DOI  10.1007 / 978-3-319-13051-4_22 , letto online , consultato il 21 marzo 2018 )
  16. (in) Erich Wenger e Paul Wolfger , "  Più difficile, migliore, più veloce, più forte: calcoli logaritmici discreti della curva ellittica noi FPGA  " , Journal of Cryptographic Engineering , vol.  6, n °  4,1 ° novembre 2016, pag.  287–297 ( ISSN  2190-8508 e 2190-8516 , DOI  10.1007 / s13389-015-0108-z , lettura online , accesso 21 marzo 2018 )
  17. (in) Antoine Joux e Vanessa Vitse , "  Problema del logaritmo discreto della curva ellittica su campi di estensione di piccoli gradi  " , Journal of Cryptology , vol.  26, n °  1,1 ° gennaio 2013, pag.  119-143 ( ISSN  0933-2790 e 1432-1378 , DOI  10.1007 / s00145-011-9116-z , lettura online , accesso 21 marzo 2018 )
  18. (in) Antoine Joux e Vanessa Vitse , "  Indice di copertura e scomposizione Calculus is Elliptic Curves Made Practical  " , Advances in Cryptology - EUROCRYPT 2012 , Springer, Berlino, Heidelberg, leggere Notes in Computer Science,15 aprile 2012, pag.  9-26 ( ISBN  9783642290107 , DOI  10.1007 / 978-3-642-29011-4_3 , lettura online , accesso 21 marzo 2018 )
  19. (in) Daniel J. Bernstein , Tanja Lange e Peter Schwabe , "  On the Correct Use of the Negation Map in the Pollard rho Method  " , Public Key Cryptography - PKC 2011 , Springer, Berlino, Heidelberg, leggere Notes in Computer Science, Oltre a questo, devi saperne di più.6 marzo 2011, pag.  128-146 ( ISBN  9783642193781) , DOI  10.1007 / 978-3-642-19379-8_8 , lettura online , accesso 21 marzo 2018 )
  20. (in) Gerhard Frey e Hans-Georg Rück , "  Un'osservazione sulla m-divisibilità e il logaritmo discreto nel gruppo di curve di classi divisore  " , Mathematics of Computation , vol.  62, n °  206,1994, pag.  865–874 ( DOI  10.2307/2153546 , letto online , consultato il 21 marzo 2018 )
  21. (ru) IA Semaev, “  вычислении логарифмов на эллиптических кривых  ” , Дискретная математика , vol.  8, n °  1,1996, pag.  65-71 ( DOI  10.4213 / dm516 , lettura online , accesso 21 marzo 2018 )
  22. (en-US) I. Semaev , “  Valutazione di logaritmi discreti in un gruppo di punti -torsione di una curva ellittica nella caratteristica ?  ” , Mathematics of Computation of the American Mathematical Society , vol.  67, n .  221,1998, pag.  353-356 ( ISSN  0025-5718 e 1088-6842 , DOI  10.1090 / s0025-5718-98-00887-4 , lettura online , accesso 21 marzo 2018 )
  23. (in) Satoh, Takakazu e Kiyomichi Araki, "  Quozienti di Fermat e algoritmo del tempo polinomiale per curve ellittiche anomale logaritmiche discrete  " , Rikkyo Daigaku Sugaku zasshi 47, n. 1 ,1998, pag.  81-92
  24. (in) NP Smart , "  Il problema del logaritmo discreto sulle curve ellittiche di Trace One  " , Journal of Cryptology , vol.  12, n .  3,1 ° giugno 1999, pag.  193–196 ( ISSN  0933-2790 e 1432-1378 , DOI  10.1007 / s001459900052 , lettura online , accesso 21 marzo 2018 )
  25. (in) Chae Hoon Lim e Pil Joong Lee , "  Un attacco di ripristino delle chiavi è costituito da schemi basati su log discreti che utilizzano un sottogruppo di ordine primo  " , Advances in Cryptology - CRYPTO '97 , Springer, Berlino, Heidelberg, leggere Notes in Computer Science, Oltre a questo, devi saperne di più.17 agosto 1997, pag.  249-263 ( ISBN  9783540633846 , DOI  10.1007 / bfb0052240 , letto online , consultato il 21 marzo 2018 )

Vedi anche

Bibliografia

Articoli Correlati

link esterno

<img src="https://fr.wikipedia.org/wiki/Special:CentralAutoLogin/start?type=1x1" alt="" title="" width="1" height="1" style="border: none; position: absolute;">