Firmas digitales
Mateo Sanabria Ardila
Introducción a la criptografía
Criptografía
Simétrica
ASimétrica
protocolos
-
DES
-
AES
-
3DES
-
IDEA
-
...
-
RSA
-
DH
-
ELGAMAL
-
ECC
Advertencia: Se podrida decir que la parte que vine del curso no es tan pesada. Sin embargo, si no se tienen los conceptos claros no se va a entender N A D A!
security service
Cuando se diseña un criptosistema (un compendio de algoritmo/protocolos criptograficos) se busca que satisfaga cierto objetivos, como lo pueden ser:
-
Confidencialidad:Partes no autorizadas NO tiene acceso a la información.
-
Autenticidad:Se sabe con certeza la identidad del la 'persona' que envia el mensaje.
-
Integridad: El mensaje no fue modificado durante la transmisión.
-
No repudio: Quien envia el mensaje no puede negar que envio el mensaje.
Por que se firma un documento?
Como se puede lograr el mismo comportamiento de una firma física, asegurando: Auntenticidad, Integridad y no repudio?
Firma digital: RSA
Firma Digital: RSA
\tiny K_{prA} = d
\tiny K_{pubA} = (n,e)
\tiny (n,e)
\tiny
S = Sig_{K_{prA}} \equiv x^d \ mod \ n
\tiny (x,s)
\tiny Ver_{K_{pubA}}(x,s)
\tiny
S^e \equiv x^* \ mod \ n
\tiny K_{pubA} = (n,e)
Por que es correcta la firma digital basada en RSA?
pues en el mundo real no lo es!
Firma Digital: RSA
\tiny K_{prA} = d
\tiny K_{pubA} = (n,e)
\tiny (n,e)
\tiny
S = Sig_{K_{prA}} \equiv x^d \ mod \ n
\color{red}\tiny (x',s')
\tiny Ver_{K_{pubA}}(x,s)
\tiny
S^e \equiv x^* \ mod \ n
\tiny K_{pubA} = (n,e)
\color{red} \tiny 1. \ Toma \ un \ s' \in \mathbb{Z}_n
\color{red} \tiny 2. \ x' \equiv s'^e \ mod \ n
existential forgery attack
Que pasa cuando Bob quiere verificar el mensaje?
x' \equiv s'^{e} \ mod \ n \ \textbf{El pinzas}
x \equiv s^{e} \ mod \ n \ \textbf{Alice}
Limitaciones: Es muy difícil que 'el pinzas' logre encontrar un mensaje x' que cumpla con la semántica necesaria
existential forgery attack
Contra ataque: Imponer una regla de formato para los mensajes que son enviados en el canal de comunicación.
Firma digital: ELGAMAL
Cifrado: ELGAMAL
\tiny d = K_{prB} \in \{2, \cdots ,p-2\}
\tiny K_{pubB} = \beta \equiv \alpha^{b} \ mod \ p
\tiny y \equiv x \times K_M \ \textbf{mod} p
Escoge un p primo y un generador alpha
\tiny (\beta,p,\alpha)
\tiny (y,K_E)
\tiny K_{E} \equiv \alpha^{i} \ mod \ p
\tiny i \in \{2, \cdot, p-2 \}
\tiny K_{M} \equiv \beta^{i} \ mod \ p
\tiny K_M \equiv K_{E}^{d} \ \textbf{mod} \ p
\tiny x \equiv y \times K_{M}^{-1}
Firma Digital: ELGAMAL
\color{green} \tiny s \equiv (x-d\cdot r) \cdot k_{E}^{-1} \ \textbf{mod} \ p-1
\tiny \textbf{gcd}(k_E,p-1) = 1
\tiny k_E \in \{2, \cdots, p-2 \}
\color{green} \tiny r \equiv \alpha^{k_E} \ \textbf{mod} \ p
\tiny (x,(r,s))
\tiny (\beta,p,\alpha)
\color{green}\tiny t \equiv \beta^r \cdot r^s \ \textbf{mod} \ p
\color{blue}\tiny t \equiv \alpha^x \ \textbf{mod} \ p
Firma Digital: ELGAMAL
\color{green} \tiny s \equiv (x-d\cdot r) \cdot k_{E}^{-1} \ \textbf{mod} \ p
\tiny \textbf{gcd}(k_E,p-1) = 1
\tiny k_E \in \{2, \cdots, p-2 \}
\color{green} \tiny r \equiv \alpha^{k_E} \ \textbf{mod} \ p
\tiny (x,(r,s))
\tiny (\beta,p,\alpha)
\color{green}\tiny t \equiv \beta^r \cdot r^s \ \textbf{mod} \ p
\color{red}\tiny t \not\equiv \alpha^x \ \textbf{mod} \ p
Por que es correcta la firma digital basada en ELGAMAL?
Se quiere probar que si Alice tiene la llave publica de Bob y el mensaje es correcto con respecto a la firma (r,s) Alice es capaz de comprobar la firma del mensaje
\beta^r \cdot r^s \equiv \alpha^x \ \textbf{mod} \ p
Por que se debe cambiar Ke en cada comunicación entre alice y bob ?
Por ejemplo: suponga que el pinzas tiene acceso a dos mensajes, con sus respectivas firmas, que puede hacer?
EFA: ELGAMAL
\tiny r \equiv \alpha^{i}\beta^j \ \textbf{mod} \ p
\color{red}\tiny (x,(r,s))
\tiny (\beta,p,\alpha)
\color{green}\tiny t \equiv \beta^r \cdot r^s \ \textbf{mod} \ p
\color{blue}\tiny t \equiv \alpha^x \ \textbf{mod} \ p
\tiny 1. \ \ Toma \ un \ i,j
\tiny 2. \ \ Calcula \ la \ firma
\tiny tal \ que \ \textbf{gcd}(j,p-1) = 1
\tiny s \equiv -rj^{-1} \ \textbf{mod} \ p-1
\tiny 3.\ \ x \equiv s \cdot i \ \textbf{mod} \ p-1
Por que el pinzas se puede hacer pasar como bob? que significa esto?
Que se puede hacer para detener al pinzas?
https://www.youtube.com/watch?v=AQXRX55hgHs&t=3204s
Min. 40
Firmas Digitales
By Mateo Sanabria Ardila
Firmas Digitales
Firmas Digitales
- 172