Encriptación

Encriptación
Información sobre la plantilla
Encriptación.JPG
Concepto:Proceso por el que la información es cifrada para que resulte ilegible a menos que conozcamos los medios para su interpretación.

Encriptación. En un Sistema de Comunicación de Datos, es de vital importancia asegurar que la Información viaje segura, manteniendo su autenticidad, integridad, confidencialidad, entre otros aspectos. Estas características solo se pueden asegurar utilizando las Técnicas de Firma Digital Encriptada y la Encriptación de Datos.

¿Qué es la encriptación informática?

Para saber qué es la encriptación Informática, primero definiremos lo que es la encriptación. El término encriptar no existe en español, es una traducción literal del inglés. Lo correcto sería utilizar la palabra cifrar. Por ello, encriptar cualquier tipo de información o documento consiste en codificarlo para que resulte indescifrable a cualquier persona que no conozca la clave para poder descifrarlo. Por ello la encriptación es aquel proceso por el que la información es cifrada para que resulte ilegible a menos que conozcamos los medios para su interpretación.

Por lo tanto, la encriptación informática sería la codificación de la información de archivos o de un [correo electrónico] para que no pueda ser descifrado en caso de ser interceptado por alguien mientras esta información viaja por la red. Esta codificación se lleva a cabo gracias al uso de diversas fórmulas matemáticas con el objetivo de transformar un texto o imágenes en un criptograma. Que es un conjunto de caracteres que a simple vista no tiene ningún sentido para el navegante. En la mayoría de los casos se utiliza una palabra clave para poder descifrar el mensaje que hemos cifrado con anterioridad.

Metodologías de encriptación

Transposición

La transposición es simplemente alternar de lugar las letras de un mensaje. Generalmente no se utiliza por si sola, sino acompañada de algún método de sustitución. La transposición se puede utilizar en cualquier parte de la encriptación para dificultar aún más la posible lectura del mensaje o texto plano. Para realizar esto es necesaria de una clave privada, de tal manera que pueda volverse al mensaje original usando la clave de manera inversa.

Sustitución directa

Este método es el más simple de sustitución y se basa en un principio de que cada letra tiene una correspondencia con otra. En el momento de encriptar el mensaje se sustituye la letra original por su correspondencia. Estas correspondencias se encuentran en la Clave privada y si esta clave cae en diferentes manos, el mensaje puede ser leído aplicando el mismo método.

Encriptación por número de palabra

En este método asignamos a cada carácter del alfabeto un valor numérico único. Estos números deben ser consecutivos. Esta asignación de números a cada letra, conformará la clave que debemos ocultar. Este algoritmo lo que hace es tomar una palabra ingresada por el usuario y sumar sus caracteres de acuerdo a sus correspondientes valores en la clave. El resultado de esto es un único número que se utilizará como semilla en cualquier algoritmo para obtener números pseudoaleatorios. La cantidad de números pseudoaleatorios que deben obtenerse debe ser igual al número de caracteres del mensaje a transmitir.

Encriptación por palabra

Este tipo de encriptación se basa en una palabra secreta, conocida únicamente por los extremos de la comunicación. Al igual que en el anterior método también cada caracter del alfabeto se hace corresponder con un número. Deben ser consecutivos también. La palabra clave se concatena a si misma tantas veces como la longitud del mensaje a encriptar, luego se suma letra a letra con los valores de su correspondencia, obteniéndose nuevos caracteres que serán los que se transmitirán.

Ejemplo

Este es un algoritmo que permite encriptar y desencriptar cadenas de caracteres. La función se llama EncryptString y tiene tres parámetros:

Public Function EncryptString UserKey As String, Text As String, Action As Single As String. El parámetro UserKey es la clave. El parámetro Text es el texto a encriptar o desencriptar. El parámetro Action indica QUE hacer, ..es decir Encriptar o desencriptar. (El valor ENCRYPT es para encriptar y el valor DECRYPT para desencriptar)

Código fuente de la función:

2. 3. '//For Action parameter in EncryptString 4. Const ENCRYPT = 1 5. Const DECRYPT = 2 6. 7. 8. Public Function EncryptString ( 9. UserKey As String, Text As String, Action As Single 10. ) As String 11. Dim UserKeyX As String 12. Dim Temp As Integer 13. Dim Times As Integer 14. Dim i As Integer 15. Dim j As Integer 16. Dim n As Integer 17. Dim rtn As String 18. 19. '//Get UserKey characters 20. n = Len(UserKey)21. ReDim UserKeyASCIIS(1 To n) 22. For i = 1 To n 23. UserKeyASCIIS(i) = Asc(Mid$(UserKey, i, 1)) 24. Next 25. | 26. '//Get Text characters 27. ReDim TextASCIIS(Len(Text)) As Integer 28. For i = 1 To Len(Text) 29. TextASCIIS(i) = Asc(Mid$(Text, i, 1) 30. Next 31. 32. '//Encryption/Decryption 33. If Action = ENCRYPT Then 34. For i = 1 To Len(Text) 35. j = IIf(j + 1 >= n, 1, j + 1) 36. Temp = TextASCIIS(i) + UserKeyASCIIS(j)37. If Temp > 255 Then 38. Temp = Temp - 255 39. End If 40. rtn = rtn + Chr$(Temp) 41. Next 42. ElseIf Action = DECRYPT Then 43. For i = 1 To Len(Text)44. j = IIf(j + 1 >= n, 1, j + 1) 45. Temp = TextASCIIS(i) - UserKeyASCIIS(j)46. If Temp < 0 Then 47. Temp = Temp + 255 48. End If 49. rtn = rtn + Chr$(Temp)50. Next 51. End If 52. 53. '//Return 54. EncryptString = rtn 55. End Function |}

Anotaciones

La encriptación de la informática se hace cada vez más necesaria debido al aumento de los robos de claves de tarjetas de crédito, número de cuentas corrientes, y en general toda la información que viaja por la red, etc. Estos métodos mencionados se pueden implementar en infinidad de aplicaciones, desde un simple chat, a programas avanzados que mandan un mayor caudal de información por la red, como aplicaciones de bases de datos distribuidas. Mientras más intrincados sean los métodos, o las combinaciones entre ellos más se le dificultará la tarea a los que tratan de leerlo.

Fuentes

Extraído de las páginas Web:

  • La Revista Informática
  • Textos Científicos
  • Cargnelutti, Pablo Rubén. “Métodos simples de encriptación para conexiones con Socket”

Enlaces externos