SlideShare a Scribd company logo
1 of 12
Criptografía Jacobo Costas Y Brais Cedeira Criptografía asimétrica y simétrica Clave pública y clave privada
Criptografía simétrica Texto Algoritmo Clave y Vector de iniciación Texto encriptado Algoritmo Texto  Texto Encriptado Clave
Algoritmos simétricos DES   (Digital Encryption Standard) : Creado en 1975. En 1982 se convirtió en un estándar. Usa una clave de 56 bit. En 1999 logró ser quebrado (violado) en menos de 24 horas por un servidor dedicado a eso.  3DES   (Three DES) : Antes de ser quebrado DES, ya se trabajaba en un nuevo algoritmo basado en el anterior. Este funciona aplicando tres veces el proceso con tres claves diferentes de 56 bits. Para romper el código hace falta encontrar tres claves y utilizarlas en el orden adecuado. Es uno de los algoritmos simétricos más seguros. IDEA   (International Data Encryption Algorithm) : Trabaja con claves de 128 bits, que se dividen en 52 claves de 16 bits. Es un algoritmo más rápido que DES y no se le han encontrado debilidades aún. AES   (Advanced Encryption Standard) : También conocido como Rijndael. Aun no es un estándar, pero es de amplia aceptación a nivel mundial. Junto a 3DES es de los más seguros.
Algoritmo AES/Rijndael
lipublic class MiRijndael { public static byte[] Encriptar(string strEncriptar, string strPK) { System.Text.UTF8Encoding textConverter = new UTF8Encoding(); Rijndael miRijndael = Rijndael.Create(); byte[] encrypted = null; byte[] returnValue = null; try { miRijndael.Key = textConverter.GetBytes(strPK); byte[] toEncrypt = textConverter.GetBytes(strEncriptar); encrypted = (miRijndael.CreateEncryptor()).TransformFinalBlock(toEncrypt, 0, toEncrypt.Length); returnValue = new byte[miRijndael.IV.Length + encrypted.Length]; miRijndael.IV.CopyTo(returnValue, 0); encrypted.CopyTo(returnValue, miRijndael.IV.Length); } catch {  } return returnValue;
} public static string Desencriptar(byte[] bytDesEncriptar, string strPK) { System.Text.UTF8Encoding textConverter = new UTF8Encoding(); Rijndael miRijndael = Rijndael.Create(); byte[] tempArray = new byte[miRijndael.IV.Length]; byte[] encrypted = new byte[bytDesEncriptar.Length - miRijndael.IV.Length]; string returnValue = string.Empty; try { miRijndael.Key = textConverter.GetBytes(strPK); Array.Copy(bytDesEncriptar, tempArray, tempArray.Length); Array.Copy(bytDesEncriptar, tempArray.Length, encrypted, 0, encrypted.Length); miRijndael.IV = tempArray; returnValue = textConverter.GetString((miRijndael.CreateDecryptor()).TransformFinalBlock(encrypted, 0, encrypted.Length)); } catch { } return returnValue; } }
Criptografía asimétrica Algoritmo Texto  Texto  Clave pública Texto encriptado Algoritmo Clave privada
Algoritmos asimétricos 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. Diffie-Hellman   (Whitfield Diffie y Martin Hellman) : Fue el punto de partida para los sistema asimétricos, basados en claves pública y la privada. Su importancia se debe sobre todo al hecho de ser el inicio de los sistemas asimétricos, ya que en la práctica sólo es válido para el intercambio de claves simétricas, y con esta funcionalidad es muy usado en los diferentes sistemas seguros implementados en Internet, como SSL (Secure Socket Layer) y VPN (Virtual Private Network).
Algoritmo RSA
private miRSA _objKey  = new miRSA(); RSACryptoServiceProvider _objEncriptadorPublico = new RSACryptoServiceProvider(); _objEncriptadorPublico.FromXmlString(this._objKey.ObtenerLlavePublica()); _objEncriptadorPublico.Encrypt(System.Text.Encoding.UTF8.GetBytes(this.txtAsimAEncriptar.Text), false); Algoritmo RSA – Cliente público
Algoritmo RSA – Cliente privado public class miRSA { private RSACryptoServiceProvider _objKey = null; public miRSA() { this._objKey = new RSACryptoServiceProvider(1024); } public string ObtenerLlavePublica() { return this._objKey.ToXmlString(false); } private string DesEncriptar(byte[] bytEncriptado) { return System.Text.Encoding.UTF8.GetString(this._objKey.Decrypt(bytEncriptado, false)); } }
Bibliografía / Fuentes WIKIPEDIA  ( http://es.wikipedia.org/ ) : Historia de la criptografía, Criptografía TEXTOS CIENTÍFICOS   (http://www.textoscientificos.com) : Criptografía simétrica y asimétrica, clave pública y clave privada, en especial   http://www.textoscientificos.com/redes/redes-virtuales/tuneles/encriptacion MSVPS  (http://msmvps.com/) : Contraste de información sobre clave publica y clave privada. Código fuente de criptografía asimétrica y asimétrica. En especial ( http://msmvps.com/blogs/pmackay/archive/2004/11/27/easim1.aspx ) SOURCEFORGE   ( http://sourceforge.net/ ) :  Obtención del cliente de encriptación simétrica .  OPENOFFICE 3.1   ( http://openoffice.org/ ) :   Desarrollo de la presentación para MSOFFICE

More Related Content

What's hot

Algoritmos De Encriptacion
Algoritmos De EncriptacionAlgoritmos De Encriptacion
Algoritmos De Encriptacion
Peter Cabrera
 
EncriptacióN Para El Cifrado De Claves PúBlicas Y Privadas
EncriptacióN Para El Cifrado De Claves PúBlicas Y PrivadasEncriptacióN Para El Cifrado De Claves PúBlicas Y Privadas
EncriptacióN Para El Cifrado De Claves PúBlicas Y Privadas
Evy
 
Metodos de encriptacion
Metodos de encriptacionMetodos de encriptacion
Metodos de encriptacion
ESPE
 

What's hot (14)

Métodos de encriptacion en las redes privadas virtuales
Métodos de encriptacion en las redes privadas virtualesMétodos de encriptacion en las redes privadas virtuales
Métodos de encriptacion en las redes privadas virtuales
 
Métodos de encriptación en vpn s
Métodos de encriptación en vpn sMétodos de encriptación en vpn s
Métodos de encriptación en vpn s
 
Algoritmos De Encriptacion
Algoritmos De EncriptacionAlgoritmos De Encriptacion
Algoritmos De Encriptacion
 
Criptografia II
Criptografia IICriptografia II
Criptografia II
 
Chat con encriptación en java
Chat con encriptación  en javaChat con encriptación  en java
Chat con encriptación en java
 
Métodos de encriptación en las redes privadas virtuales
Métodos de encriptación en las redes privadas virtualesMétodos de encriptación en las redes privadas virtuales
Métodos de encriptación en las redes privadas virtuales
 
EncriptacióN Para El Cifrado De Claves PúBlicas Y Privadas
EncriptacióN Para El Cifrado De Claves PúBlicas Y PrivadasEncriptacióN Para El Cifrado De Claves PúBlicas Y Privadas
EncriptacióN Para El Cifrado De Claves PúBlicas Y Privadas
 
Métodos de encriptación de las vpns
Métodos de encriptación de las vpnsMétodos de encriptación de las vpns
Métodos de encriptación de las vpns
 
Criptografía
CriptografíaCriptografía
Criptografía
 
¿ Que es la Criptograma ?
¿ Que es la Criptograma ?¿ Que es la Criptograma ?
¿ Que es la Criptograma ?
 
Vpn
VpnVpn
Vpn
 
Ecriptació
EcriptacióEcriptació
Ecriptació
 
Metodos de encriptacion
Metodos de encriptacionMetodos de encriptacion
Metodos de encriptacion
 
Encriptado De Claves_ricardo_borja
Encriptado De Claves_ricardo_borjaEncriptado De Claves_ricardo_borja
Encriptado De Claves_ricardo_borja
 

Similar to Criptografía

Encriptacion De Claves Publicas Y Claves Privadas
Encriptacion De Claves Publicas Y Claves PrivadasEncriptacion De Claves Publicas Y Claves Privadas
Encriptacion De Claves Publicas Y Claves Privadas
christian
 
Algoritmos De Encriptacion
Algoritmos De EncriptacionAlgoritmos De Encriptacion
Algoritmos De Encriptacion
dnisse
 
Metodos de encriptacion en las redes privadas virtuales
Metodos de encriptacion en las redes privadas virtualesMetodos de encriptacion en las redes privadas virtuales
Metodos de encriptacion en las redes privadas virtuales
Anag93
 
Encriptacion De Claves Publicas Y Privadas
Encriptacion De Claves Publicas Y PrivadasEncriptacion De Claves Publicas Y Privadas
Encriptacion De Claves Publicas Y Privadas
Daniel Yánez
 
Cifrado De Clave PúBlica O AsiméTrico
Cifrado De Clave PúBlica O AsiméTricoCifrado De Clave PúBlica O AsiméTrico
Cifrado De Clave PúBlica O AsiméTrico
Jorge Flores
 
IntroduccióN A Los Algoritmos De EncriptacióN De Claves
IntroduccióN A Los Algoritmos De EncriptacióN De ClavesIntroduccióN A Los Algoritmos De EncriptacióN De Claves
IntroduccióN A Los Algoritmos De EncriptacióN De Claves
Jim
 
Metod de Encriptacion
Metod de EncriptacionMetod de Encriptacion
Metod de Encriptacion
tehagounhueco
 
Algoritmos de claves públicas y privadas
Algoritmos de claves públicas y privadasAlgoritmos de claves públicas y privadas
Algoritmos de claves públicas y privadas
Johanna
 

Similar to Criptografía (20)

Métodos de encriptación en las redes privadas virtuales
Métodos de encriptación en las redes privadas virtualesMétodos de encriptación en las redes privadas virtuales
Métodos de encriptación en las redes privadas virtuales
 
Métodos de encriptación en las redes privadas virtuales
Métodos de encriptación en las redes privadas virtualesMétodos de encriptación en las redes privadas virtuales
Métodos de encriptación en las redes privadas virtuales
 
Encriptacion De Claves Publicas Y Claves Privadas
Encriptacion De Claves Publicas Y Claves PrivadasEncriptacion De Claves Publicas Y Claves Privadas
Encriptacion De Claves Publicas Y Claves Privadas
 
MéTodos De EncriptacióN
MéTodos De EncriptacióNMéTodos De EncriptacióN
MéTodos De EncriptacióN
 
Algoritmos de clave secreta, privada o simetrica.
Algoritmos de clave secreta, privada o simetrica.Algoritmos de clave secreta, privada o simetrica.
Algoritmos de clave secreta, privada o simetrica.
 
Encriptacion simetrica.pptx
Encriptacion simetrica.pptxEncriptacion simetrica.pptx
Encriptacion simetrica.pptx
 
Encriptacion mark
Encriptacion markEncriptacion mark
Encriptacion mark
 
Introduccion a la criptografia
Introduccion a la criptografiaIntroduccion a la criptografia
Introduccion a la criptografia
 
Algoritmos De Encriptacion
Algoritmos De EncriptacionAlgoritmos De Encriptacion
Algoritmos De Encriptacion
 
Metodos de encriptacion en las redes privadas virtuales
Metodos de encriptacion en las redes privadas virtualesMetodos de encriptacion en las redes privadas virtuales
Metodos de encriptacion en las redes privadas virtuales
 
Encriptacion De Claves Publicas Y Privadas
Encriptacion De Claves Publicas Y PrivadasEncriptacion De Claves Publicas Y Privadas
Encriptacion De Claves Publicas Y Privadas
 
Encriptacion De Claves Publicas Y Privadas
Encriptacion De Claves Publicas Y PrivadasEncriptacion De Claves Publicas Y Privadas
Encriptacion De Claves Publicas Y Privadas
 
Cifrado De Clave PúBlica O AsiméTrico
Cifrado De Clave PúBlica O AsiméTricoCifrado De Clave PúBlica O AsiméTrico
Cifrado De Clave PúBlica O AsiméTrico
 
MéTodos De EncriptacióN Para Cifrado De Claves PúBlicas Y Privadas
MéTodos De EncriptacióN Para Cifrado De Claves PúBlicas Y PrivadasMéTodos De EncriptacióN Para Cifrado De Claves PúBlicas Y Privadas
MéTodos De EncriptacióN Para Cifrado De Claves PúBlicas Y Privadas
 
Criptografia y encriptacion II
Criptografia y encriptacion IICriptografia y encriptacion II
Criptografia y encriptacion II
 
MéTodos De EncriptacióN
MéTodos De EncriptacióNMéTodos De EncriptacióN
MéTodos De EncriptacióN
 
IntroduccióN A Los Algoritmos De EncriptacióN De Claves
IntroduccióN A Los Algoritmos De EncriptacióN De ClavesIntroduccióN A Los Algoritmos De EncriptacióN De Claves
IntroduccióN A Los Algoritmos De EncriptacióN De Claves
 
Metod de Encriptacion
Metod de EncriptacionMetod de Encriptacion
Metod de Encriptacion
 
Algoritmos de claves públicas y privadas
Algoritmos de claves públicas y privadasAlgoritmos de claves públicas y privadas
Algoritmos de claves públicas y privadas
 
Vpn
VpnVpn
Vpn
 

Criptografía

  • 1. Criptografía Jacobo Costas Y Brais Cedeira Criptografía asimétrica y simétrica Clave pública y clave privada
  • 2. Criptografía simétrica Texto Algoritmo Clave y Vector de iniciación Texto encriptado Algoritmo Texto Texto Encriptado Clave
  • 3. Algoritmos simétricos DES (Digital Encryption Standard) : Creado en 1975. En 1982 se convirtió en un estándar. Usa una clave de 56 bit. En 1999 logró ser quebrado (violado) en menos de 24 horas por un servidor dedicado a eso. 3DES (Three DES) : Antes de ser quebrado DES, ya se trabajaba en un nuevo algoritmo basado en el anterior. Este funciona aplicando tres veces el proceso con tres claves diferentes de 56 bits. Para romper el código hace falta encontrar tres claves y utilizarlas en el orden adecuado. Es uno de los algoritmos simétricos más seguros. IDEA (International Data Encryption Algorithm) : Trabaja con claves de 128 bits, que se dividen en 52 claves de 16 bits. Es un algoritmo más rápido que DES y no se le han encontrado debilidades aún. AES (Advanced Encryption Standard) : También conocido como Rijndael. Aun no es un estándar, pero es de amplia aceptación a nivel mundial. Junto a 3DES es de los más seguros.
  • 5. lipublic class MiRijndael { public static byte[] Encriptar(string strEncriptar, string strPK) { System.Text.UTF8Encoding textConverter = new UTF8Encoding(); Rijndael miRijndael = Rijndael.Create(); byte[] encrypted = null; byte[] returnValue = null; try { miRijndael.Key = textConverter.GetBytes(strPK); byte[] toEncrypt = textConverter.GetBytes(strEncriptar); encrypted = (miRijndael.CreateEncryptor()).TransformFinalBlock(toEncrypt, 0, toEncrypt.Length); returnValue = new byte[miRijndael.IV.Length + encrypted.Length]; miRijndael.IV.CopyTo(returnValue, 0); encrypted.CopyTo(returnValue, miRijndael.IV.Length); } catch { } return returnValue;
  • 6. } public static string Desencriptar(byte[] bytDesEncriptar, string strPK) { System.Text.UTF8Encoding textConverter = new UTF8Encoding(); Rijndael miRijndael = Rijndael.Create(); byte[] tempArray = new byte[miRijndael.IV.Length]; byte[] encrypted = new byte[bytDesEncriptar.Length - miRijndael.IV.Length]; string returnValue = string.Empty; try { miRijndael.Key = textConverter.GetBytes(strPK); Array.Copy(bytDesEncriptar, tempArray, tempArray.Length); Array.Copy(bytDesEncriptar, tempArray.Length, encrypted, 0, encrypted.Length); miRijndael.IV = tempArray; returnValue = textConverter.GetString((miRijndael.CreateDecryptor()).TransformFinalBlock(encrypted, 0, encrypted.Length)); } catch { } return returnValue; } }
  • 7. Criptografía asimétrica Algoritmo Texto Texto Clave pública Texto encriptado Algoritmo Clave privada
  • 8. Algoritmos asimétricos 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. Diffie-Hellman (Whitfield Diffie y Martin Hellman) : Fue el punto de partida para los sistema asimétricos, basados en claves pública y la privada. Su importancia se debe sobre todo al hecho de ser el inicio de los sistemas asimétricos, ya que en la práctica sólo es válido para el intercambio de claves simétricas, y con esta funcionalidad es muy usado en los diferentes sistemas seguros implementados en Internet, como SSL (Secure Socket Layer) y VPN (Virtual Private Network).
  • 10. private miRSA _objKey = new miRSA(); RSACryptoServiceProvider _objEncriptadorPublico = new RSACryptoServiceProvider(); _objEncriptadorPublico.FromXmlString(this._objKey.ObtenerLlavePublica()); _objEncriptadorPublico.Encrypt(System.Text.Encoding.UTF8.GetBytes(this.txtAsimAEncriptar.Text), false); Algoritmo RSA – Cliente público
  • 11. Algoritmo RSA – Cliente privado public class miRSA { private RSACryptoServiceProvider _objKey = null; public miRSA() { this._objKey = new RSACryptoServiceProvider(1024); } public string ObtenerLlavePublica() { return this._objKey.ToXmlString(false); } private string DesEncriptar(byte[] bytEncriptado) { return System.Text.Encoding.UTF8.GetString(this._objKey.Decrypt(bytEncriptado, false)); } }
  • 12. Bibliografía / Fuentes WIKIPEDIA ( http://es.wikipedia.org/ ) : Historia de la criptografía, Criptografía TEXTOS CIENTÍFICOS (http://www.textoscientificos.com) : Criptografía simétrica y asimétrica, clave pública y clave privada, en especial http://www.textoscientificos.com/redes/redes-virtuales/tuneles/encriptacion MSVPS (http://msmvps.com/) : Contraste de información sobre clave publica y clave privada. Código fuente de criptografía asimétrica y asimétrica. En especial ( http://msmvps.com/blogs/pmackay/archive/2004/11/27/easim1.aspx ) SOURCEFORGE ( http://sourceforge.net/ ) : Obtención del cliente de encriptación simétrica . OPENOFFICE 3.1 ( http://openoffice.org/ ) : Desarrollo de la presentación para MSOFFICE