Documenti di Didattica
Documenti di Professioni
Documenti di Cultura
Fuente: http://www.cryptoforge.com.ar/encriptacion.htm
Qu es la criptografa?
La criptografa es la ciencia de usar las matemticas para encriptar y desencriptar datos. Una
vez que la informacin ha sido encriptada, puede ser almacenada en un medio inseguro o
enviada a travs de una red insegura (como Internet) y an as permanecer secreta. Luego, los
datos pueden desencriptarse a su formato original.
Qu es el proceso de encriptacin (cifrado) y desencriptacin (descifrado)?
La encriptacin o cifrado es el proceso en el cual los datos a proteger son traducidos a algo que
parece aleatorio y que no tiene ningn significado (los datos encriptados o cifrados). La
desencriptacin es el proceso en el cual los datos encriptados son convertidos nuevamente a su
forma original.
Qu es un algoritmo criptogrfico?
Un algoritmo criptogrfico, o cifrador, es una funcin matemtica usada en los procesos de
encriptacin y desencriptacin. Un algoritmo criptogrfico trabaja en combinacin con una llave
(un nmero, palabra, frase, o contrasea) para encriptar y desencriptar datos. Para encriptar, el
algoritmo combina matemticamente la informacin a proteger con una llave provista. El
resultado de este clculo son los datos encriptados. Para desencriptar, el algoritmo hace un
clculo combinando los datos encriptados con una llave provista, siendo el resultado de esta
combinacin los datos desencriptados (exactamente igual a como estaban antes de ser
encriptados si se us la misma llave). Si la llave o los datos son modificados el algoritmo produce
un resultado diferente. El objetivo de un algoritmo criptogrfico es hacer tan difcil como sea
posible desencriptar los datos sin utilizar la llave. Si se usa un algoritmo de encriptacin
realmente bueno, entonces no hay ninguna tcnica significativamente mejor que intentar
metdicamente con cada llave posible. Incluso para una llave de slo 40 bits, esto significa 240
(poco ms de 1 trilln) de llaves posibles.
Qu son las funciones hash?
Los hash o funciones de resumen son algoritmos que consiguen crear a partir de una entrada
(ya sea un texto, una contrasea o un archivo, por ejemplo) una salida alfanumrica de longitud
normalmente fija que representa un resumen de toda la informacin que se le ha dado (es decir,
a partir de los datos de la entrada crea una cadena que solo puede volverse a crear con esos
mismos datos).
Ejemplos y formas de uso
Las funciones hash son muy usadas, una de las utilidades que tiene es proteger la
confidencialidad de una contrasea, ya que podra estar en texto plano y ser accesible por
cualquiera y an as no poder ser capaces de deducirla. En este caso, para saber si una
contrasea que est guardada, por ejemplo, en una base de datos es igual a la que hemos
introducido no se descifra el hash (ya que debera de ser imposible hacerlo) sino que se aplicar
la misma funcin de resumen a la contrasea que especificamos y se comparar el resultado con
el que tenemos guardado (como se hace con las contraseas de los sistemas Linux).
Qu diferencias hay entre los algoritmos simtricos y los asimtricos?
Los algoritmos simtricos encriptan y desencriptan con la misma llave. Las principales ventajas
de los algoritmos simtricos son su seguridad y su velocidad. Los algoritmos asimtricos
encriptan y desencriptan con diferentes llaves. Los datos se encriptan con una llave pblica y se
desencriptan con una privada, siendo sta su principal ventaja. Los algoritmos asimtricos,
tambin conocidos como algoritmos de llave pblica, necesitan al menos una llave de 3.000 bits
para alcanzar un nivel de seguridad similar al de uno simtrico de 128 bits. Y son increblemente
lentos, tanto que no pueden ser utilizados para encriptar grandes cantidades de informacin. Los
algoritmos simtricos son aproximadamente 1.000 veces ms rpidos que los asimtricos.
Qu tan seguro es CryptoForge? Descargable de: http://www.cryptoforge.com.ar/descargar
CryptoForge le proporciona cuatro robustos algoritmos de encriptacin para proteger sus datos:
* Blowfish (llave de 448 bits) es un algoritmo de encriptacin rpido y fuerte. Su creador es
Bruce Schneier, uno de los ms prestigiosos criptgrafos en el mundo.
* Rijndael (llave de 256 bits) es un algoritmo seguro y eficiente. Sus creadores son Joan
Daemen y Vincent Rijmen (Blgica). Ha sido elegido como el nuevo Estndar Avanzado de
Encriptacin (AES) por el Instituto Nacional de Estndares y Tecnologa (NIST) de los EEUU.
Triple DES (llave de 168 bits) es un algoritmo desarrollado por el gobierno de EEUU y ha sido
2
Fuente: http://betaroot.blogspot.com/2014/06/oracle-db-11g-dbmscryptoencriptamiento.html
Introduccin.
En esta ocasin aprenderemos a encriptar y desencriptar datos usando Oracle 11 G (en mi caso la versin XE).
Anteriormente se utilizaba el paquete DBMS_OBFUSCATION_TOOLKIT a partir de Oracle8i, que soporta encriptacin
DES y triple DES (Data Encription Standard), y con ciertas limitaciones (por ejemplo, los datos a encriptar han de ser un
mltiplo de 8 bytes).
En la actualidad se utiliza DBMS_CRYPTO. Soporta ms formas de encriptacin, como la AES (Advanced Encription
Standard), que sustituye el anterior DES y no hay limitacin con el nmero de carcteres.
Entre las caractersticas de DBMS_CRYPTO es que puede ser utilizado en un bloque PLSQL tal como un store
procedure.
En la sintaxis, de la encriptacin como de la desencripcin se utilizan 4 parmetros:
src --> Indica datos de tipo RAW para desencriptar.
typ --> Tipo de cifrado.
key --> Llave de encriptacin y desncriptacin utilizada.
iv --> Es un vector opcional para bloque de cifrado. Por defecto se usa NULL.
Prctica.
NOT NULL,
NOT NULL,
NOT NULL
3. Paso muy importante, para Oracle 11 XE hay que habilitar permisos de EXECUTE sobre el paquete
DBMS_CRYPTO, de lo contrario no correr:
Entramos a la base como SYS as SYSDBA.
Ejecutamos el comando: