Página 1 de 1

Cómo funciona la encriptación, y cómo encriptar con Perl

NotaPublicado: 2006-03-25 16:32 @730
por creating021
Hola ha todos.
he visto una series de prgoramas en perlmoks.org de encriptacio, pero no he podido comprender la logica para poder hacer uno.
Como es para algo simple les agradeceria si me explicaran como funciona un simple encriptador como Solitare.
Gracias.

NotaPublicado: 2006-03-25 21:13 @926
por kidd
Hola:

¿Qué es la encriptación?

WikiPedia escribiste:Encriptación es el proceso mediante el cual cierta información o "texto plano" es cifrado de forma que el resultado sea ilegible a menos que se conozcan los datos necesarios para su interpretación. Es una medida de seguridad utilizada para que al momento de almacenar o transmitir información sensible ésta no pueda ser obtenida con facilidad por terceros.


De forma sencilla, la encriptación es el intercambio de carácteres por medio de fórmulas para esconder algún texto.

Por ejemplo, hagamos una encriptación muy sencilla (qué no deberías de usar en el mundo real :wink: ):

Código: Seleccionar todo
sub encriptar{
    my $text = shift;

    $text =~ s/a/01/g;
    $text =~ s/b/02/g;
    $text =~ s/c/03/g;
    $text =~ s/d/04/g;
    $text =~ s/e/05/g;

    return($text);
}


Entonces, si usas la función lo que haces es sustuir las letras por valores númericos.

Ahora, los decriptadores lo que hacen es usar la clave que tienes en la inversa, en este caso convertir los valores númericos a letras.

Como es lógico hay diferentes grados de encriptación, hay unos que usan fórmulas matemáticas muy avanzadas con sustituciones realmente complejas, lo que hace que sea prácticamente imposible decodificarlo sin la clave correcta.

En Perl hay varios módulos que puedes usar para realizar encriptación, aunque te aviso que debes de checar las leyes de tu país en cuanto a encriptación, pues hay unos países donde está prohíbido el uso de encriptadores de cierta complejidad, sin embargo hay unos más simples que puedes usar sin problemas.

Módulos de encriptación en Perl


Saludos

NotaPublicado: 2006-03-26 09:54 @454
por creating021
Gracias por la info :wink:
Creo que me compraré este libro:
http://www.cacr.math.uwaterloo.ca/hac/
aunque te aviso que debes de checar las leyes de tu país en cuanto a encriptación, pues hay unos países donde está prohibido el uso de encriptadores de cierta complejidad

Hmm, me pongo a buscar esto, realmente no lo sabía.
Nuevamente gracias

Encriptación en Perl

NotaPublicado: 2008-10-25 22:25 @976
por The VenoM
Estuve tratando de hacer un encriptador en Perl, pero no me funciona... me dice: Panic: utf16_to_utf8: odd byte len 25.

Sintáxis: [ Descargar ] [ Ocultar ]
Using perl Syntax Highlighting
#!/usr/bon/perl/

print "texto a encriptar: $text \n";
$text = <STDIN> ;

print "Se encriptara $text\n";

$_=$text;

s/a/01/g;
s/b/02/g;
s/c/03/g;
s/d/04/g;
s/e/05/g;


print $text;
Coloreado en 0.004 segundos, usando GeSHi 1.0.8.4


Y también hice este para que cuando termine de encriptar, guarde el hash en un archivo.txt:

Sintáxis: [ Descargar ] [ Ocultar ]
Using perl Syntax Highlighting
#!/usr/bon/perl/

print "texto a encriptar: $text \n";
$text = <STDIN> ;

print "Se encriptara $text\n";

$_=$text;

s/a/01/g;
s/b/02/g;
s/c/03/g;
s/d/04/g;
s/e/05/g;


print $_;
print "Se guardara en esta misma carpeta\n";
open(FILE,">codigo encriptado.txt");
print FILE "$_";
close(FILE);
print "Guardado\n";
exit(0)
Coloreado en 0.002 segundos, usando GeSHi 1.0.8.4


Gracias.

NotaPublicado: 2008-10-26 17:52 @786
por explorer
Bienvenido a los foros de Perl en Español, The VenoM.

Creo que hay un error en las primeras líneas de los programas. Donde dice 'bon' debería ser 'bin'. Aunque si estás en Windows, no será importante.

En cuanto al error, es muy posible que sea culpa del editor de textos que estás usando para escribir el código. Quizás ha insertado un BOM al comienzo del texto.

NotaPublicado: 2008-10-29 18:22 @807
por The VenoM
Sí, muchas gracias, explorer, ya lo pude reparar =)
así funcionaría el código:
Sintáxis: [ Descargar ] [ Ocultar ]
Using perl Syntax Highlighting
#!/usr/bin/perl/

print "texto a encriptar: $text \n";
$text = <STDIN> ;

print "Se encriptara $text\n";

$_=$text;

s/a/01/g;
s/b/02/g;
s/c/03/g;
s/d/04/g;
s/e/05/g;


print $_;
Coloreado en 0.001 segundos, usando GeSHi 1.0.8.4


Imagen

El problema no era el 'bon' aunque fue un error mío al codearlo, estoy en Windows... sino que cuando lo probé solo probé el primer código... el segundo supuse que no funcionaría pero en el segundo había puesto print $_; lo cuál en el 1º no puse. Muchas Gracias, igual, explorer ;)