Sei sulla pagina 1di 6

Por:

García Alfaro Nancy Karla

Mendoza Soria Guadalupe

Velázquez Cordero Ana Rosa

ABSTRACT

According to the Dictionary of the “Real Academia”, Cryptography comes from the Greek word “kryptos”, meaning
hidden, and “gráphein”, which means writing, and its definition is: "Art to write secret key or a puzzling way."
Using these techniques encryption has a specific purpose: To prevent attacks, rape, and security intrusions into
computer systems.
Since ancient times one of the biggest desires of human beings has been hiding its secrets exist in turn counterpart,
trying to decipher those of someone else.
This evolved from the code that Cesar wore a simple alphabetical displacement, through the Middle Ages where he
began to acquire a great significance this science.

In 1466 Leon Batista Alberti devised the system based on poly alphabetical rotation of rollers. A century later, Giovan
Battista Belaso invented the cryptographic key based on a word or text to be transliterated point to point on the original
message.

But what gave the evolving pattern of cryptography was the Second World War and the years between 30 and 40 where
the machine was "enigma" is a wonderful example of what is the power of cryptography and the desire of human beings
to decipher and discover the secrets of someone else as the enemy of the Germans in the year 1942 made it impossible
to break the encryption "enigma" that the Germans believed inviolable.

So with developments in technology and computer cryptography has been a key factor in developing them.

RESUMEN

Según el Diccionario de la Real Academia, la palabra Criptografía proviene del griego kryptos, que significa oculto, y
gráphein, que significa escritura, y su definición es: “Arte de escribir con clave secreta o de un modo enigmático".

El uso de estas técnicas de encriptación tiene un propósito específico: Prevenir ataques, violaciones, e intrusiones de
seguridad en sistemas computarizados.

Desde tiempos muy remotos uno de los anhelos mas grandes del ser humano ha sido esconder sus secretos,
existiendo a su vez la contraparte, el tratar de descifrar los de alguien mas.

Esto evoluciono desde el código Cesar que usaba un simple desplazamiento alfabético, pasando por la edad media
donde comenzó a adquirir una gran importancia esta ciencia.

En 1466 León Batista Alberti ideó el sistema poli alfabético basado en la rotación de unos rodillos. Un siglo más tarde,
Giovan Battista Belaso inventó la clave criptográfica basada en una palabra o texto que se transcribía letra a letra sobre
el mensaje original.

Pero lo que dio la pauta ala evolución de la criptografía fue la segunda guerra mundial, y entre los años 30 y 40 donde
surgió la maquina “enigma” (maquina de cifrado alemana) , aquí una magnifico ejemplo de lo que es el poder de la
criptografía y el afán del ser humano de descifrar los secretos de alguien mas ya que los enemigos de los alemanes en
el año de 1942 hicieron lo imposible, romper el cifrado de “enigma” que los alemanes creían inviolable.

Así con la evolución de la tecnología y la informática la criptografía ha sido un factor fundamental en el desarrollo de las
mismas.
Cuando alguien quiere enviar una información que es confidencial hace uso de las técnicas criptográficas para poder
así esconder el mensaje eso es denominado “cifrar o encriptar” en un medio que considera inseguro para que
después solo un receptor autorizado pueda leer el mensaje escondido esto es llamado “descifrar o descencriptar”.

LA CRIPTOGRAFIA SE DIVIDE LA CRIPTOGRAFÍA DE CLAVE PRIVADA O SIMÉTRICA “DES”

EN DOS RAMAS PRINCIPALES CRIPTOGRAFÍA DE CLAVE PÚBLICA O ASIMÉTRICA “RSA”

Estos son los criptosistemas más sencillos y permiten tener una comunicación segura entre las partes siempre y
cuando anteriormente se hayan intercambiado la clave correspondiente se llamara clave simétrica. La simetría se
refiere a que las partes tienen la misma llave tanto para cifrar como para descifrar.

Dentro de este tipo de criptografía existen 3 familias:

• Criptografía simétrica de bloques (block cipher)

• Criptografía simétrica de lluvia (stream cipher)

• Criptografía simétrica de resumen (hash functions).


RSA (RIVEST, SHAMIR AND ADLMAN)

Es el más popular y utilizado de los algoritmos asimétricos. Fue inventado en 1978 por Rivest, Shamir y Adlman
que dan nombre al algoritmo.

El algoritmo utiliza las siguientes claves:

· Como públicas dos números grandes elegidos por un programa: e y n.

· Como privada un número grande d, consecuencia de los anteriores.

El cálculo de estas claves se realiza en secreto en la máquina depositaria de la privada.

Este proceso tiene mucha importancia para la posterior seguridad del sistema. El proceso es el siguiente:

1. Se buscan dos número grandes (entre 100 y 300 dígitos) y primos: p y q.

2. Se calcula f = (p-1) * (q-1) y n = p * q.

3. Se busca e como un número sin múltiplos comunes a f.

4. Se calcula d = e-1 mod f. (mod = resto de la división de enteros).

5. Se hace públicas las claves n y e, se guarda d como clave privada y se destruyen p, q y f.

DSS (DIGITAL SIGNATURE STANDARD)

El DSS (Digital Signature Standard) es un sistema de firma digital adoptado como estándar por el NIST. Utiliza la
función Hash SHA y el algoritmo asimétrico DSA

(Digital Signature Algorithm).

El DSA es un algoritmo asimétrico que únicamente se puede utilizar con firma digital.

Utiliza más parámetros que el RSA y así se consigue un grado mayor de seguridad. Los parámetros son:

· KG claves públicas de grupo. Son comunes y públicas para un grupo de usuarios.

· KU clave pública. Se genera una por usuario a partir de las KG y es pública

· KP clave privada. Es privada de cada usuario, se genera a partir de las anteriores.

· k número aleatorio. Se genera uno para cada firma.

· s y r. Son dos palabras de 160 que forman la firma de un texto.


Algoritmo de Diffie-Hellman

El algoritmo Diffie-Hellman fue el primer algoritmo asimétrico. Se describía en el famoso articulo "New directions in
Cryptography" publicado en noviembre de 1976, se utilizaba para ilustrar un ejemplo de la criptografía que Diffie y
Hellman acababan de descubrir, la criptografía de clave pública.

Solamente se puede utilizar para intercambiar claves simétricas, pero ésta es una de las principales funciones de
los algoritmos asimétricos, así está muy extendido en sistemas de Internet con confidencialidad de clave simétrica
(VPNs, SSL, etc...).

La seguridad del algoritmo depende de la dificultad del cálculo de un logaritmo discreto. Esta función es la inversa de
la potencia discreta, o sea, de calcular una potencia y aplicar una función mod.

Potencia discreta: Y = Xa mod q

Logaritmo discreto: X = Inda,q(Y)

La generación de claves públicas es el siguiente:

· Se busca un número grande y primo llamado q.

· Se busca a raiz primitiva de q. Para ser raiz primitiva debe cumplir que:

a mod q, a2 mod q, a3 mod q, ......, aq-1 mod q son números diferentes.

· a i q son claves públicas.

IDEA

(International Data Encryption Algorithm): Más conocido como un componente de PGP (encriptación de mails), trabaja
con llaves de 128 bits. Realiza procesos de shift y copiado y pegado de los 128 bits, dejando un total de 52 sub llaves
de 16 bits cada una. Es un algoritmo más rápido que DES, pero al ser nuevo, aun no es aceptado como un estándar,
aunque no se le han encontrado debilidades aún.

AES

(Advanced Encryption Standard): Éste fue el ganador del primer concurso de algoritmos de encriptación realizado por la
NIST (National Institute of Standards and Technology) en 1997. Después de 3 años de estudio y habiendo descartado a
14 candidatos, este algoritmo, también conocido como Rijndael por Vincent Rijmen y Joan Daemen, fue elegido como
ganador. Aun no es un estándar, pero es de amplia aceptación a nivel mundial.
import java.security.*;
import javax.crypto.*;
import javax.crypto.spec.*;
import java.io.*;

/**
* This program generates a AES key, retrieves its raw bytes, and
* then reinstantiates a AES key from the key bytes.
* The reinstantiated key is used to initialize a AES cipher for
* encryption and decryption.
*/

public class AES {

/**
* Turns array of bytes into string
*
* @param buf Array of bytes to convert to hex string
* @return Generated hex string
*/
public static String asHex (byte buf[]) {
StringBuffer strbuf = new StringBuffer(buf.length * 2);
int i;

for (i = 0; i < buf.length; i++) {


if (((int) buf[i] & 0xff) < 0x10)
strbuf.append("0");

strbuf.append(Long.toString((int) buf[i] & 0xff, 16));


}

return strbuf.toString();
}

public static void main(String[] args) throws Exception {

String message="This is just an example";

// Get the KeyGenerator

KeyGenerator kgen = KeyGenerator.getInstance("AES");


kgen.init(128); // 192 and 256 bits may not be available

// Generate the secret key specs.


SecretKey skey = kgen.generateKey();
byte[] raw = skey.getEncoded();

SecretKeySpec skeySpec = new SecretKeySpec(raw, "AES");

// Instantiate the cipher

Cipher cipher = Cipher.getInstance("AES");

cipher.init(Cipher.ENCRYPT_MODE, skeySpec);

byte[] encrypted =
cipher.doFinal((args.length == 0 ?
"This is just an example" : args[0]).getBytes());
System.out.println("encrypted string: " + asHex(encrypted));

cipher.init(Cipher.DECRYPT_MODE, skeySpec);
byte[] original =
cipher.doFinal(encrypted);
String originalString = new String(original);
System.out.println("Original string: " +
originalString + " " + asHex(original));
}
}
BIBLIOGRAFIA

• Criptosistemas Informáticos #hackxcrack @ irc.irc-chatpolis.com

• CRIPTOLOGÍA Manuel Pons Martorell Escola Universitària Politècnica de Mataró Departament de


Telecomunicacions

• Criptografía Para Principiantes www.softdownload.com.ar

• Criptografía y Seguridad en Computadores Segunda Edici_on. Septiembre de 1999 Manuel José Lucena
López

• CURSO DE SEGURIDAD INFORMÁTICA Y CRIPTOGRAFÍA

Potrebbero piacerti anche