Encriptación<br />La encriptación es el proceso para volver ilegible información considera importante. La información una vez encriptada sólo puede leerse aplicándole una clave.Se trata de una medida de seguridad que es usada para almacenar o transferir información delicada que no debería ser accesible a terceros. Pueden ser contraseñas, números de tarjetas de crédito, conversaciones privadas, etc.Para encriptar información se utilizan complejas fórmulas matemáticas y para desencriptar, se debe usar una clave como parámetro para esas fórmulas.El texto plano que está encriptado o cifrado se llama criptograma.<br />Dos Procedimientos de Encriptación<br />La Encriptación tiene dos elementos: Un mensaje, y una clave privada de acceso entre el emisor y el receptor, con la cual se puede descifrar el mensaje. El procedimiento de encriptación produce un mensaje o archivo cifrado. Presento dos procedimientos escritos en Visual Basic, catalogados como verdaderas maneras de encriptación. <br />Modelo EncryptionString<br />EncryptionString, es un clásico sistema el cual toma el mensaje y una clave del usuario, y a través de una combinación de estos dos parámetros se produce una cadena codificada. Mantengo la explicación original del método:<br />Texto a codificar:         ENCRYPTION<br />Caracteres del Texto:      E   N   C   R   Y   P   T   I   O   N<br />Códigos ASCII:             69  78  67  82  89  80  84  73  79  78<br />Contraseña KEY:            K   E   Y   K   E   Y   K   E   Y   K<br />Caracteres de KEY:         75  69  89  75  69  89  75  69  89  75<br />Suma de Códigos ASCII:     144 147 156 157 158 169 159 142 168 153<br />En caracteres:                “   œ      ?   ©   Ÿ   ?   ¨   ™<br />Texto codificado:          “œ?©Ÿ?¨™ <br />El modo para usar la función EncryptionString es el siguiente:<br />'//Codifica<br />Texto Codificado = EncryptString (Texto Original, Contraseña, ENCRYPT)<br />'//Decodifica<br />Texto Original = EncryptString (Texto Codificado, Contraseña, DECRYPT)<br />La ventaja de esta técnica es que es muy flexible de usar e intuitiva. Sin tener la máxima seguridad, es muy segura. Escribir un programa para encriptar archivos resulta bastante simple por aquello de la contraseña. No ocurre lo mismo con el siguiente procedimiento: ChrTran. <br />El código de EncryptionString es el siguiente:<br />DefInt A-Z<br />Option Explicit<br />'//For Action parameter in EncryptString<br />Public Const ENCRYPT = 1, DECRYPT = 2<br />'---------------------------------------------------------------------<br />‘EncryptString<br />‘Modificado por Harvey T.<br />'---------------------------------------------------------------------<br />Public Function EncryptString( _<br />    UserKey As String, Text As String, Action As Single _<br />    ) As String<br />    Dim UserKeyX As String<br />    Dim Temp     As Integer<br />    Dim Times    As Integer<br />    Dim i        As Integer<br />    Dim j        As Integer<br />    Dim n        As Integer<br />    Dim rtn      As String<br />    <br />    '//Get UserKey characters<br />    n = Len(UserKey)<br />    ReDim UserKeyASCIIS(1 To n)<br />    For i = 1 To n<br />        UserKeyASCIIS(i) = Asc(Mid$(UserKey, i, 1))<br />    Next<br />        <br />    '//Get Text characters<br />    ReDim TextASCIIS(Len(Text)) As Integer<br />    For i = 1 To Len(Text)<br />        TextASCIIS(i) = Asc(Mid$(Text, i, 1))<br />    Next<br />    <br />    '//Encryption/Decryption<br />    If Action = ENCRYPT Then<br />       For i = 1 To Len(Text)<br />           j = IIf(j + 1 >= n, 1, j + 1)<br />           Temp = TextASCIIS(i) + UserKeyASCIIS(j)<br />           If Temp > 255 Then<br />              Temp = Temp - 255<br />           End If<br />           rtn = rtn + Chr$(Temp)<br />       Next<br />    ElseIf Action = DECRYPT Then<br />       For i = 1 To Len(Text)<br />           j = IIf(j + 1 >= n, 1, j + 1)<br />           Temp = TextASCIIS(i) - UserKeyASCIIS(j)<br />           If Temp < 0 Then<br />              Temp = Temp + 255<br />           End If<br />           rtn = rtn + Chr$(Temp)<br />       Next<br />    End If<br />    <br />    '//Return<br />    EncryptString = rtn<br />End Function<br />IMÁGENES<br />
Encriptación
Encriptación
Encriptación

Encriptación

  • 1.
    Encriptación<br />La encriptaciónes el proceso para volver ilegible información considera importante. La información una vez encriptada sólo puede leerse aplicándole una clave.Se trata de una medida de seguridad que es usada para almacenar o transferir información delicada que no debería ser accesible a terceros. Pueden ser contraseñas, números de tarjetas de crédito, conversaciones privadas, etc.Para encriptar información se utilizan complejas fórmulas matemáticas y para desencriptar, se debe usar una clave como parámetro para esas fórmulas.El texto plano que está encriptado o cifrado se llama criptograma.<br />Dos Procedimientos de Encriptación<br />La Encriptación tiene dos elementos: Un mensaje, y una clave privada de acceso entre el emisor y el receptor, con la cual se puede descifrar el mensaje. El procedimiento de encriptación produce un mensaje o archivo cifrado. Presento dos procedimientos escritos en Visual Basic, catalogados como verdaderas maneras de encriptación. <br />Modelo EncryptionString<br />EncryptionString, es un clásico sistema el cual toma el mensaje y una clave del usuario, y a través de una combinación de estos dos parámetros se produce una cadena codificada. Mantengo la explicación original del método:<br />Texto a codificar: ENCRYPTION<br />Caracteres del Texto: E N C R Y P T I O N<br />Códigos ASCII: 69 78 67 82 89 80 84 73 79 78<br />Contraseña KEY: K E Y K E Y K E Y K<br />Caracteres de KEY: 75 69 89 75 69 89 75 69 89 75<br />Suma de Códigos ASCII: 144 147 156 157 158 169 159 142 168 153<br />En caracteres:  “ œ  ? © Ÿ ? ¨ ™<br />Texto codificado: “œ?©Ÿ?¨™ <br />El modo para usar la función EncryptionString es el siguiente:<br />'//Codifica<br />Texto Codificado = EncryptString (Texto Original, Contraseña, ENCRYPT)<br />'//Decodifica<br />Texto Original = EncryptString (Texto Codificado, Contraseña, DECRYPT)<br />La ventaja de esta técnica es que es muy flexible de usar e intuitiva. Sin tener la máxima seguridad, es muy segura. Escribir un programa para encriptar archivos resulta bastante simple por aquello de la contraseña. No ocurre lo mismo con el siguiente procedimiento: ChrTran. <br />El código de EncryptionString es el siguiente:<br />DefInt A-Z<br />Option Explicit<br />'//For Action parameter in EncryptString<br />Public Const ENCRYPT = 1, DECRYPT = 2<br />'---------------------------------------------------------------------<br />‘EncryptString<br />‘Modificado por Harvey T.<br />'---------------------------------------------------------------------<br />Public Function EncryptString( _<br /> UserKey As String, Text As String, Action As Single _<br /> ) As String<br /> Dim UserKeyX As String<br /> Dim Temp As Integer<br /> Dim Times As Integer<br /> Dim i As Integer<br /> Dim j As Integer<br /> Dim n As Integer<br /> Dim rtn As String<br /> <br /> '//Get UserKey characters<br /> n = Len(UserKey)<br /> ReDim UserKeyASCIIS(1 To n)<br /> For i = 1 To n<br /> UserKeyASCIIS(i) = Asc(Mid$(UserKey, i, 1))<br /> Next<br /> <br /> '//Get Text characters<br /> ReDim TextASCIIS(Len(Text)) As Integer<br /> For i = 1 To Len(Text)<br /> TextASCIIS(i) = Asc(Mid$(Text, i, 1))<br /> Next<br /> <br /> '//Encryption/Decryption<br /> If Action = ENCRYPT Then<br /> For i = 1 To Len(Text)<br /> j = IIf(j + 1 >= n, 1, j + 1)<br /> Temp = TextASCIIS(i) + UserKeyASCIIS(j)<br /> If Temp > 255 Then<br /> Temp = Temp - 255<br /> End If<br /> rtn = rtn + Chr$(Temp)<br /> Next<br /> ElseIf Action = DECRYPT Then<br /> For i = 1 To Len(Text)<br /> j = IIf(j + 1 >= n, 1, j + 1)<br /> Temp = TextASCIIS(i) - UserKeyASCIIS(j)<br /> If Temp < 0 Then<br /> Temp = Temp + 255<br /> End If<br /> rtn = rtn + Chr$(Temp)<br /> Next<br /> End If<br /> <br /> '//Return<br /> EncryptString = rtn<br />End Function<br />IMÁGENES<br />