domingo, 2 de septiembre de 2012

Criptografia - Análisis

 

Hola a todos, les saluda su amigo Th0r (espero que me consideren su amigo xD).
Y bueno en esta ocasion vengo con un tema muy interesante ( mi tema favorito), un tema altamente estudiado en esta epoca donde cada dia vemos que hay filtraciones de informacion por distintos equipos hacktivistas =) . Pues sin mas, comenzemos a ver este hermoso tema...*-* .

                       
Primero tenemos que tener presente algunos conceptos basicos acerca de criptografía =)

CRIPTOGRAFÍA

Hay que entender que la criptografia proviene de la criptologia , y se ocupa de las técnicas para alterar las representaciones linguisticas de los mensajes entre dos entes , por medio de tecnicas de cifrado y/o codificado , el objetivo es hacer inintelegible para los intrusos o personas no autorizadas  que interceptan los mensajes enviados de un ente a otro (Confidencialidad). Lo que la criptografia busca es conseguir la Integridad de la informacion transmitida en los mensajes. Para ello se diseñaban sistemas de cifrado y códigos.

OJO...cifrar es igual a codificar ..?

  •   Cifrar     :  El nombre lo dice, es el metodo para descubrir la verdadera identidad del mensaje mismo.
  •  Codificar :  Es el proceso por el cual la información de una fuente es convertida en símbolos para ser comunicada.

Ahora hoy en dia con la aparicion de las Tecnologias de Informacion y comunicacion y el masivo envio de mensajes digitales , tambien se ha producido problemas en el nivel de la seguridad de la informacion.Existe el miedo a la interceptacion de la informacion transmitida.Ahora con estos problemas surgidos emergio la criptografia con sus algoritmos, protocolos( se les llama protocolos criptograficos) y sistemas que se utlizan para proteger la integridad de la informacion y de dotar los medios de comunicacion y la identidad de los entes que se comunican.

Se tendria que agradecer a los avances que se ha producido en el campo de las matemáticas y las ciencias de la computación.  \o/...\o/...\o/

Espero que este claro lo mencionado...=)....Continuemos.. o/...o/

                                    
                                                                          ENCRIPTACIÓN


Hay que entender que toda encriptación se encuentra basada en un Algoritmo, la función de este Algoritmo es básicamente codificar la información para que sea indescifrable a simple vista , de manera que una letra "A" pueda equivaler a :"5x5mBwE" o bien a "xQE9fq", el trabajo del algoritmo es precisamente determinar como será transformada la información de su estado original a otro que sea muy difícil de descifrar.

Una vez que la información arrive a su destino final, se aplica el algoritmo al contenido codificado "5x5mBwE" o bien a "xQE9fq" y resulta en la letra "A" o según sea el caso, en otra letra. Hoy en día los algoritmos de encriptación son ampliamente conocidos,es por esto que para prevenir a otro usuario "no autorizado" descifrar información encriptada, el algoritmo utiliza lo que es denominado Llave ("Key") para controlar la encriptación y decriptación de información.

Ejemplo :

Supongamos que Alice esta en conversacion con Blas, pero Eva esta ahi de entrometida.
Examen de matematica , ultima pregunta : Alice le dice a Blas x=4 , Juan que escucho la respuesta la escribio, Para esto Alice y Blas ya habian acordado acerca de los valores que se iban a enviar.
Pedro escribio x=2 en el examen. Alicie y Blas aprobaron y Eva desaprobo.

Alice x=2-->algoritmo hash(encrip)--> x=4 -->Eva x=4 --->algoritmo hash(desencrip)-->Blas x=2

Se puede entender a simple vista que el algoritmo hash era f(x) = (x)^(1/2).




Un algoritmo de hash hace que los cambios que se produzcan en los datos de entrada provoquen cambios en los bits del hash. Es una funcion no olviden eso..=)

 Ejemplo en otro medio de comunicacion.


Bueno espero que este claro como va esto de la encriptacion...=)  Ahora vamos a embarcarnos a su clacificacion.

Básicamente, existen dos métodos de encriptación (Encriptacion simetrica y asimetrica) que usan claves - simétricas (con una clave secreta) y asimétricas (con una clave abierta). Cada método emplea procedimientos propios, modos de distribución de claves, tipos de claves y algoritmos de encriptación/descifrado.

                                                               ENCRIPTACIÓN SIMÉTRICA



  • Clave secreta (simétrica)
  • Utiliza una clave para la encriptación y desencriptación del mensaje. Esta clave se debe intercambiar entre los equipos por medio de un canal seguro. Ambos extremos debentener la misma clave para cumplir con le proceso.



Para que un algoritmo de este tipo sea considerado fiable debe cumplir algunos
requisitos básicos:

Conocido el criptograma (texto cifrado) no se pueden obtener de él ni el texto
en claro ni la clave.

 Conocidos el texto en claro y el texto cifrado debe resultar más caro en tiempo
o dinero descifrar la clave que el valor posible de la información obtenida por
terceros.

Todos los sistemas criptográficos clásicos se pueden considerar simétricos, y los
principales algoritmos simétricos actuales son:



Algoritmo de encriptación (código) - función matemática que encripta y descifra datos. Para encriptar datos, se debe proporcionar una clave hecha de símbolos. 

Códigos bloque - los algoritmos más generalizados; encriptan datos por bloques de ciertos tamaños y transforman esos datos con claves en bloques del mismo tamaño.

DES - estándar de encriptación obsoleto usado en los EE.UU. Debido a los compromisos de seguridad (descifrado en dos días por cualquier ordenador moderno) fue reemplazado por AES. Desarrollado por el Instituto Nacional de Estándar y Tecnología (NIST).

Twofish - algoritmo que reemplazó a Blowfish, creado por Bruce Schneier, al igual que su predecesor. Considerado a prueba de piratas (no se han conocido incidentes de descifrado de códigos).

Serpent - desarrollado por Lars Ramkilde Knudsen, un famoso criptógrafo y analista de criptografía, conocido por sus exitosos ataques criptográficos a varios códigos populares, quien trabajó y enseñó en universidades noruegas, suecas y belgas. Actualmente, Lars es profesor de matemáticas en la Universidad Técnica de Dinamarca.




Estos son algunos de los algoritmos de encriptacion simetrica. Pero quiero hablar de uno en particular....=) .

Advanced Encryption Standard (AES) - también conocido como Rijndael, es un esquema de cifrado por bloques.. El AES es uno de los algoritmos más populares usados en criptografía simétrica.

El cifrado fue desarrollado por dos criptólogos belgas, Joan Daemen y Vincent Rijmen y durante un proceso de selección AES tomo el nombre "Rijndael".

 Para su debido analisis lo que hay que tener bien presente  que AES (Rijndael) es una RED DE SUSTICIÓN - PERMUTACIÓN y opera en una matriz de 4×4 bytes, llamada state (algunas version hay modificado esta caracteristica ).

 Su proceso de encriptacion se divide en iteraciones o rondas de 4 etapas....=)

- Etapa SubBytes- Substitución de bit.

 Se puede observar que ocurre una sustitucion b(2,2) <------ a(2.2)

 - Etapa ShiftRows-Desplazar filas.

  Aqui ocurre un desplazamiento(des) o salto (jump).

 - Etapa MixColumns- Mezclar columnas.

 En esta estapa ocurre una multiplicacion de columnas por un factor externo.   a(0,1)*c(0,1) = b(0,1)

- Etapa AddRoundKey- Cálculo de las subclaves.




Aqui no se que ocurre...xD...bueno en esta etapa final vemos que la  subclave se combina con el state. En cada iteracion o ronda se obtiene una subclave de la Clave Principal.

Bueno espero que haya sido de utilidad o al menos para que observen como ocurre una encriptacion..=)
  

                                                             ENCRIPTACIÓN ASIMÉTRICA


Clave pública (asimétrica)


  • También llamada asimétrica, se basa en el uso de dos claves diferentes, claves que poseen una propiedad fundamental: una clave puede desencriptar lo que la otra ha encriptado.
  • Una de las claves de la pareja, llamada clave privada, es usada por el propietario para encriptar los mensajes, mientras que la otra, llamada clave pública, es usada para desencriptar el mensaje.



Las claves pública y privada tienen características matemáticas especiales, de tal forma
que se generan siempre a la vez, por parejas, estando cada una de ellas ligada
intrínsecamente a la otra.

Mientras que la clave privada debe mantenerla en secreto su propietario, ya que es la
base de la seguridad del sistema, la clave pública es difundida, para que esté al
alcance del mayor número posible de personas, existiendo servidores que guardan,
administran y difunden dichas claves.



A continuacion nombraremos algunos de este tipo de algoritmos.

 RSA (Rivest, Shamir, Adleman) : Creado en 1978, hoy es el algoritmo de mayor uso en encriptación asimétrica. Tiene dificultades en encriptar grandes volúmenes de información, por lo que es usado por lo general en conjunto con algoritmos simétricos.
 
ECC (Elliptical Curve Cryptography): Es un algoritmo que se utiliza poco, pero tiene importancia cuando es necesario encriptar grandes volúmenes de información.

Como pueden darse cuenta estos algoritmos de encriptacion estan mas familiarizados con la matemática (Curva criptografica eliptica ) .




Bueno creo que esto es todo por ahora.....espero que haya sido de ayuda o al menos les halla servido para despejar algunas dudas. Bueno este amigo suyo se despide hasta la proxima....=)










No hay comentarios:

Publicar un comentario