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