next up previous contents
Siguiente: Encriptamiento Un nivel arriba: Método de llave pública Anterior: Método de llave pública

Algoritmos básicos

Un resultado clásico de Teoría de Números es el:

Teorema Pequeño de Fermat. Si p es primo y $a\in I\!\!N$ no es divisible entre p, entonces $a^{p-1}\mbox{\rm mod }p=1$.


Sean p,q dos números primos, y sea $n=p\cdot q$ su producto. Por el teorema de Fermat, se tiene que para cualquier $x\not=0$,

\begin{displaymath}x^{p-1}\mbox{\rm mod }p=1 \hspace{3em}\mbox{\rm y }\hspace{3em} x^{q-1}\mbox{\rm mod }q=1,\end{displaymath}

consecuentemente

\begin{displaymath}x^{(p-1)(q-1)}\mbox{\rm mod }p=1 \hspace{3em}\mbox{\rm y }\hspace{3em} x^{(p-1)(q-1)}\mbox{\rm mod }q=1.\end{displaymath}

Es decir

\begin{displaymath}p\left\vert (x^{(p-1)(q-1)}-1)\right. \hspace{3em}\mbox{\rm y }\hspace{3em} q\left\vert (x^{(p-1)(q-1)}-1)\right..\end{displaymath}

Así pues, $n\left\vert (x^{(p-1)(q-1)}-1)\right.$. Es decir, \fbox{$x^{(p-1)(q-1)}\mbox{\rm mod }n=1$ }.

El teorema de Fermat puede plantearse de manera más general. Se dice que dos números enteros n y m son primos relativos si no tienen factores comunes, es decir, si $\mbox{\rm m.c.d.}(n,m)=1$.

La función de Euler es

\begin{displaymath}\phi:n\mapsto \mbox{\rm card}\{m\leq n\vert m\mbox{\rm es primo relativo con }n\}.\end{displaymath}

Entre las propiedades más importantes de esta función están:


Teorema Pequeño de Fermat (bis). Si n es un entero no-nulo y $a\in I\!\!N$ es primo relativo con n, entonces $a^{\phi(n)}\mbox{\rm mod }n=1$.


Además, dado que la función ``módulo'' es un homomorfismo, se tiene

\begin{displaymath}r\mbox{\rm mod }\phi(n)=s\ \Rightarrow\ a^r\mbox{\rm mod }n=a^s.\end{displaymath}

Consecuentemente, si e,d son enteros tales que $e\cdot d\mbox{\rm mod }(p-1)(q-1)=1$ se tiene que: $a^{ed}\mbox{\rm mod }n = a$.

Esta es la base del algoritmo de encriptamiento: Si a es el mensaje, se hace c=ac su cifrado. Entonces, cd=m.

 

La pareja (n,e) es la llave, que puede hacerse pública.

La llave secreta es (n,d).

Para calcular d sabiendo e, es necesario conocer la factorización de n como producto de los dos primos p y q.


 
next up previous contents
Siguiente: Encriptamiento Un nivel arriba: Método de llave pública Anterior: Método de llave pública
Guillermo Morales-Luna
2000-10-29