Encriptación

Revisión del 12:19 25 mar 2011 de Gisellejccmg (discusión | contribuciones) (Página creada con '{{Definición}}'''Encriptación informática.''' Como sabemos, en un Sistema de Comunicación de Datos, es de vital importancia asegurar que la información viaje segura...')
(dif) ← Revisión anterior | Revisión actual (dif) | Revisión siguiente → (dif)
Encriptación
Información sobre la plantilla

Encriptación informática. Como sabemos, 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. Es resultado de esto es un único número que se utilizara 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 carácter 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:
1. Option Explicit
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