Fer que els codis secrets siguin irrompibles és un vell somni dels professionals de la seguretat. Des de l'antiguitat, els humans han inventat sistemes manuals i després mecànics abans de la revolució electrònica. Descobriu en aquest dossier la criptologia i els seus usos, des de l'encriptació tradicional fins a l'encriptació RSA i l'ús de la informàtica.
Les activitats humanes depenen en gran mesura de la confiança en els compromisos dels diferents actors entre ells. Aquesta confiança es materialitza mitjançant una signatura col·locada en un document. Calia trobar un equivalent digital de la signatura, produïda per una persona determinada i verificable per tots: la signatura digital.
Clic a la imatge per engrandir. Signatura digital: validació en format digital. Crèdit: Luckystep, Adobe Stock
Un mecanisme de clau pública com la RSA autoritza la producció d'aquesta signatura digital. Per comprometre's, simplement aixequeu el document que voleu signar a la potència de l'exponent privat mòdul n. El resultat constituirà la signatura del document. Qualsevol pot verificar la signatura elevant-la a la potència de l'exponent públic mòdul n, però ningú pot produir la signatura sense conèixer l'exponent privat.
Clic a la imatge per engrandir. Signatura de clau pública: la producció de la signatura requereix una clau privada i canvis per a cada document. La seva verificació només requereix una clau pública accessible per a tothom. Crèdit: P. Guillot
Una signatura numèrica
Aquest exemple de la signatura RSA que consta de xifratge amb clau privada va portar als investigadors a preguntar-se si aquesta propietat era consubstancial a la noció de signatura. La signatura és doble al xifratge de clau pública? La resposta és no. No és necessari tenir una funció unidireccional amb trapa per aconseguir aquest mecanisme. Una simple funció unidireccional sense trapa és suficient. Es diu que una funció és "unidireccional" si és fàcilment calculable, però donat un valor, és pràcticament impossible trobar un paràmetre que doni aquest resultat.
Una signatura numèrica
Aquest exemple de la signatura RSA que consta de xifratge amb clau privada va portar als investigadors a preguntar-se si aquesta propietat era consubstancial a la noció de signatura. La signatura és doble al xifratge de clau pública? La resposta és no. No és necessari tenir una funció unidireccional amb trapa per aconseguir aquest mecanisme. Una simple funció unidireccional sense trapa és suficient. Es diu que una funció és "unidireccional" si és fàcilment calculable, però donat un valor, és pràcticament impossible trobar un paràmetre que doni aquest resultat.
Per exemple, per a un nombre primer p, és fàcil elevar qualsevol nombre a la potència n mòdul p amb una successió de multiplicacions i elevacions al quadrat. Tanmateix, trobar l'exponent n a partir del resultat és un problema que avui dia no sabem resoldre de manera eficient. Aquest és el problema del logaritme discret.
Per signar un document amb una funció unidireccional, només cal tenir una clau secreta formada per dos parells de valors x1,... x n i y1,... yn. La clau pública corresponent està formada per les imatges ai = f (xi) i bi = f (yi) per una funció unidireccional f. Signar un missatge m = m1 ,... mn on cada mi és una informació binaria sent 0 o 1, poso al missatge la revelació de les dades xi si mi és 0 i yi si mi és 1. El destinatari pot comprovar fàcilment, utilitzant la clau pública, que f (xi) = ai si mi és 0 i f (yj) = bj si mi és 1. Com que la funció és unidireccional, serà difícil que un adversari conegui el valor de l'absència del coneixement dels paràmetre x1 i y1.
Aquesta signatura només té interès teòric per la seva total ineficàcia. Signar un document és molt més "pesat" que el propi document i la clau privada no es pot reutilitzar per a un altre document. Tanmateix, l'interès teòric és fonamental: la signatura digital es pot construir a partir d'una funció unidireccional. No cal una trapa per signar un document.
Ho he vist aquí.