“Mi estilo, es el arte de luchar sin luchar”

¿Criptografia? [1]

2008-02-14 15:25:59-06

Criptografia

A través de esta pequeña serie de entradas mostrare los principios basicos (los que conozco, claro esta), lo primero será definir criptografia.

Criptografia:(del griego kryptos, «ocultar», y grafos, «escribir», literalmente «escritura oculta») es el arte o ciencia de cifrar y descifrar información utilizando técnicas matemáticas que hagan posible el intercambio de mensajes de manera que sólo puedan ser leídos por las personas a quienes van dirigidos.

Con más precisión, cuando se habla de esta área de conocimiento como ciencia se debería hablar de criptología, que engloba tanto las técnicas de cifrado, la criptografía propiamente dicha, como sus técnicas complementarias: el criptoanálisis, que estudia los métodos que se utilizan para romper textos cifrados con objeto de recuperar la información original en ausencia de la clave.

Como lo explica la definición el la parte que dice "Técnicas matemáticas" es lo que trataremos en esta primera parte.

Conjuntos:
Aunque su definición de diccionario es algo "redundante" por el hecho de que colección es sinónimo de conjunto, pero pensemos como una forma axiomática irreducible de la siguiente forma:

Un conjunto es una colección de objetos bien definidos por medio de alguna o algunas propiedades en común. [1] Por objeto entenderemos no sólo cosas físicas, como discos, computadores, etc., si no también abstractos, como son números, letras, etc. A los objetos se les llama elementos del conjunto. La relación de pertenencia entre los elementos y los conjuntos siempre es perfectamente dicernible, en otras palabras, si un objeto pertenece a un conjunto o no siempre puede calificarse de falso o bien verdadero.

Un conjunto puede expresarse siguiente con la notación:

A={a1,a2,a3....}

Donde A es el "nombre" del conjunto, los elementos entre las llaves "{" y "}" son los elementos que conforman el conjunto, los puntos indican que el conjunto es infinito, la ausencia de ellos indica que no lo son.

Existen conjuntos abstractos como el conjunto Nulo (sin elementos), el conjunto universal (en cualquier caso incluye la totalidad de los elementos de estudio), definiremos algunos mas que son de especial interés para la ciencia criptografica:

Los Numeros Naturales se definen como el conjunto de los números enteros positivos, entendiéndose por entero todo número no decimal, ni fraccionario y como positivo todo número que se ubica a la derecha del cero en la recta real.

N={0,1,2,3,4....}

Nota: Me obligo a no usar la definicion formal planteada en los postulados de Peano, pues estos no consideran al cero como numero natural y es necesario que sea así en la teoría de conjuntos.

Los Números Enteros con las operaciones de suma y multiplicación, (Z,+,·) constituye un anillo conmutativo y unitario. Por otro lado, es un conjunto completamente ordenado sin cota superior o inferior: los enteros no tienen principio ni fin. El conjunto de los números enteros se representa mediante Z alemán Zahlen 'números').

  Z={....-3,-2,-1,0.1.2.3....}

El Conjunto de los números modulo k

Para definir este conjunto (muy importante, claro) comenzamos con alguna abstracion matematica:
Sea k un entero positivo (es decir k ∈ N) , dado el conjunto:

k Z={...-k3,-k2,-k,0,k.2k,3k...} operamos kZ sobre Z, entonces tenemos un conjunto de numeros:

[m] = { m+ kx| x ∈ Z}, entonces la "clase" de m ("[m]") son todos los elementos que tienen el mismo "resto" que m cuando se dividen entre k.

Para terminar la construcion tenemos que definir un conjunto cociente dado por:

Z/kZ ={ [m] | m ∈ Z} este es el conjunto que llamaremos enteros modulo k.

Es posible demostrar que el total de elementos que hay en Z/kZ es igual a k

Funciones:

Desde un punto de vista formal, se dice que f es una función o aplicación de A en B y se denota

fcolonAtoB,

y satisface:

  1. forallainAquadrm{existsb}inBmid(a,b)inf
  2. Si(a,b_1)infand(a,b_2)infRightarrowb_1
Las funciones tienen lo que se llama dominio y contradominio, es decir, los conjuntos "A" y "B" donde una funcion escribe (mapea mejor dicho) una relacion entre un elemento del conjunto A y al conjunto B.

En criptografia intersa conocer que tipo de relaciones enxisten entre estos conjuntos, esto obliga auna clasificacion dels funciones de la siguiente manera (via wikipedia):
  • Función inyectiva: Si cada elemento del conjunto es imagen de un único elemento del dominio. f:ArightarrowB, es inyectiva harrforallx,yinA:f(x) ; o lo que es lo mismo: harrforallx,yinA:xneqyrarrf(x)neqf(y)
  • Función sobreyectiva: f:ArightarrowB, es sobreyectiva si el conjunto imagen coincide con el conjunto B (conjunto de llegada o codominio). f:ArightarrowB, es sobreyectiva harrforallyinB:existsxinA:f(x)
  • Función biyectiva: f:ArightarrowB es biyectiva si f, es inyectiva y sobreyectiva.


Imagen:Surjection.svg
Sobreyectiva, no inyectiva
Imagen:Injection.svg
Inyectiva, no sobreyectiva
Imagen:Bijection.svg
Biyectiva
Imagen:Totalfunction.svg
No sobreyectiva, no inyectiva

Para los intereses criptograficos las funciones biyectivas son las mas inportantes, pues identifican cada elemento de un conjunto con su dominio (el otro conjunto).

Composicion de Funciones y funcion inversa.

Manejaremos algunas consideraciones de funciones como la Funcion de funciones, mejor dicho Composicion de funciones:

Dadas dos funciones fcolonAtoB,; y gcolonBtoC,; tales que la imagen de f, está contenida en el dominio de g,, se define la función composición ;;gcircfcolonAtoC, donde describe una trayectoria Ato,,B;;to;;,C y se forma de la siguiente manera xmapstof(x)mapstog(f(x)).

Dada una función fcolonAtoB,;, se denomina función inversa o función recíproca de f;, f^{-1}colonBtoA, a la función que cumple la siguiente condición: ;f^{-1}circf y ;fcircf^{-1}

Si existe una función que cumpla esas dos condiciones, ser inversa por la izquierda y ser inversa por la derecha, se demuestra que esa función es única. Eso justifica la notación f^{-1};, que sería ambigua si pudiera haber dos inversas de la misma función.

Sólo algunas funciones tienen inversa. De hecho, la condición necesaria y suficiente para la existencia de f^{-1}; es que f; sea biyectiva. Por tanto, las afirmaciones

  • Existe función inversa de f; y
  • f; es biyectiva

son lógicamente equivalentes.

Funciones de Interes para la criptografia

Claros estos conceptos, definiremos algunas funciones.

Translacion: Es un corrimeinto de la grafica de f(x) en una proporcion k
ej. g(x)=f(x)+k.

Permutacion: Es una operacion que ocurre sobre las posiciones de un conjunto Xn={1,2,3,....,n}, es una biyección, y es el conjunto de todas las permutaciones posibles en el conjunto y a este grupo se le denomina S(Xn).
ej. X2={1,2}
f1(1)=1, f1(2)=2, f2(1)=2, f2(2)=1.

Factorial: Lo definimos de la Siguiente manera recursiva: el factorial de un numero natural n se denota por n! y dado que 0! = 1 (se lee cero factorial igual a 1), n! = n(n-1) para toda n > 0.

Continuara....

Tratare de continuar vertiendo lo que se en estas entradas, la bibliografia que sigo es la siguiente:
Handbook of Applied Cryptography by A.Menezez, P. Van Oorschot and S. Vanstone, CRC press,1996

Introduccion a la criptografia por Johannes A. Buchmann -Editorial Berkeley- 2002

Applied Crytography by (The Master)Bruce Schneier - John Wiley & Sons- 1996

Nociones Sobre la Encriptacion RSA (www.geometer.org/mathcircles/RSA.pdf)

Permalink: http://www.mononeurona.org/users/entry/vendaval/1134


Comments Comentblogs:
1.- asarch asarch wrote:

¿Copias y pegas o todo esto es el resultado de tu deducción (despues de haberlo entendido tratas de explicárselo a un niño de 5 años)?

2008-02-14 21:14:06-06
2.- vendaval vendaval wrote:

pues son cosas que ya sabia y he tomado de mi viejo blog abandonado, (genocidemode.blogspot.com) es mi trabajo asarch, admito que tambien tengo contenido de la wikipedia, pero sobre, imágenes y símbolos (por aquellos días no conocía LaTeX), este sin duda es un trabajo que merece la pena que termine, ademas me gusta la parte matemática de esto por que es muy entretenida.

entonces?? te pareció que lo explico bien.

2008-02-15 09:48:04-06
3.- asarch asarch wrote:

Como dice el título de aquéella película:

"Mejor, imposible".

Suerte y felicidades por haber recobrado el entusiasmo.

:-)

2008-02-15 12:23:07-06
4.- tonathiu tonathiu wrote:

Se ve "Gueno" lo voy a estudiar con calma

Saludos fraternos............

2008-02-15 17:58:55-06
5.- mini mini wrote:

                  2
si f:IR→IR esta dada por f(x)=x -2x entonces:

a f(0)
b f(1/3)
c f(-1)
d f(2-)

2008-10-08 16:41:16-05
6.- mini mini wrote:

                  2
si f:IR→IR esta dada por f(x)=x -2x entonces:

a f(0)
b f(1/3)
c f(-1)
d f(2-)

2008-10-08 16:41:26-05

New Comentblog

Captcha



Login



Remember me:
vendaval
Alberto Rodriguez Sanchez Estudiante de Ingenieria en Computacion en la UAM-A, programo en C, C#, Python y Haskell. Uso Debian GNU/Linux, Mac-OS X, OpenSolaris, NetBSD y Win2. Pienso especializarme en computo cientifico y criptografia que son mis grandes pasiones.

Tambien pienso que la programacion computacional es un Arte y que un programa de computadora puede llegar a ser realmente bello si cumple con algunas caracteristicas, prefiero la Sintaxis Avanzada en los programas por que muestra un dominio del lenguaje y un buen grado de abstraccion.

NetBSD, C, Enlightenment y VI(M) son mis SO, Lenguaje de programación, manejador de ventanas y editor favoritos.

Practico Limalama y JKD (soy seguidor de la filosofía de Bruce Lee) y tambien escribo con cierta regularidad en este blog.

"Se como el agua, pero piensa como el fuego"
alchemy corn pop cryptography dark side education hacking humor ladies mathematics music my life nanoblogging no more triviality programming martial arts
Powered by:
Despabilando la MonoNeurona.org
Livechat

<-Nombre
vendaval wrote:
Con una mentira suele irse muy lejos, pero sin esperanzas de volver
on 24/7/08

asarch wrote:
Simon. De preferencia ponle una nalga pa' que llame la atencion
on 25/6/08

vendaval wrote:
hola roberto, lo mejor seria poner lo que quieres comunicarnos como una noticia en portada
on 28/3/08

roberto wrote:
como envio un email a todos los miembros de mononeurona
on 26/3/08

vendaval wrote:
pienso que debria crear una version viva para ms necesidades
on 28/1/08

asarch wrote:
O tambien en: http://www.openbsd.org/ en la forma más pura que puedas encontrar en la red
on 26/1/08

Qu estuve haciendo?
he visto algunos muy buenos con javascript...
21 hours, 1 minute ago
=( Se em barrio y estoy en un curso de GNU/linux para usuarios Noveles
4 days, 18 hours ago
Tambien escribo recetas de cocina y chistes =P
5 days, 8 hours ago
@Tuanis: En tu Blog pones sobre lo que te interesa, yo hablo de computacion, aunque
5 days, 8 hours ago
Manda mas o menos la receta Saidjose, asi pruebo a ver si sale
1 week ago
cuando se haga la monochelada estaria chido para acompañar.
1 week ago
yo estoy probando cocinar costillas a la BBQ en Carbon, si me salen bien
1 week ago
Estudio a fondo un asunto sobre la nueva red de la uam
1 week, 1 day ago
@asarch: hablales bonito de mi. que voy a oaxaca en enero.
1 week, 5 days ago
Pero en la biblioteca Central no estaban, aunque tienen sus tesoros =)
2 weeks, 1 day ago
Galerias
FirefoxjEdit.orgGimpOpenOffice.orgHacker
Top
Colectivo MonoNeurona.org © 2002-2008.