elhacker.net cabecera Bienvenido(a), Visitante. Por favor Ingresar o Registrarse
¿Perdiste tu email de activación?.
 
Inicio Ayuda Buscar Ingresar Registrarse
26 Mayo 2012, 10:41  


Tema destacado: Grupo de Facebook de elhacker.net

+  Foro de elhacker.net
|-+  Seguridad Informática
| |-+  Seguridad
| | |-+  Criptografía (Moderador: APOKLIPTICO)
| | | |-+  Metodo criptografico
0 Usuarios y 1 Visitante están viendo este tema.
Páginas: [1] Ir Abajo Respuesta Imprimir
Autor Tema: Metodo criptografico  (Leído 2,497 veces)
Ferсhu


Desconectado Desconectado

Mensajes: 1.213

Menos palabras y Mas codigos.


Ver Perfil WWW
Metodo criptografico
« en: 11 Abril 2008, 21:16 »

Ayer sin poder dormir empeze a pensar cosas locas, no me pregunten por q pero se me ocurrio un metodo de criografia algo extraño, pero con mucho sentido, x lo cual puede q ya exista, pero yo no tengo idea de su existencia, ni de como se llama.

Y para que no kede en el olvido decidi ponerlo aca para q lo vean y opinen q les parece, solo para entendidos jeje.


El metodo se parece mucho a cuando se teje al corchet q se va entrelazando todo sobre si mismo, y para destejer se "tira" del hilo y se desahace lo entrelazado, capaz para algunos le parece una analogia mui extraña y sin sentido pero cuando se lo mira en profundidad se ve que tiene mucho que ver.

Bueno  para q tengan una idea de lo q hace el codigo, primero lo voy a mostrar en una especie de pseudo-codigo, asi se entiende mas claro:

se recorre la frase a cifrar avanzando sobre ella y se efectua la siguiente operacion (sobre un caracter) :

Código:
"cifrado anterior" - ("descifrado actual" ^ "descifrado siguiente) = caracter cifrado

El metodo se repite hasta llegar al anteultimo caracter, y ahi termina.
Logicamente para el primer caracter no existe uno anterior cifrado asi q se elige un valor al azar.

Para descifrar la frase se recorre del final hacia el inicio, comenzando desde el anteultimo caracter y se realiza la operacion:

Código:
("cifrado siguiente" - "cifrado actual") ^ "descifrado anterior" = caracter descifrado

Hasta llegar a la segunda letra, y para decodificar esta, es necesario conocer el valor elejido al azar anterior mente al cifrar.

Y asi obtenemos la frase descifrada.

Ahora voy a poner un codigo q hace eso mismo, y para solucionar el tema de elegir un valor al azar para empezar se me ocurrio usar el ultimo de la frase ya q permanece igual en las 2 etapas.

Antes de seguir, tengo q aclar q no se me ocurrio todo como lo estoy exponiendo en el hilo ahora jaja, sino q solo se me ocurrio la operacion q cifra, basada en operaciones con un caracter anterior y uno posterior, y luego ya haciendo el codigo, resolvi los  detalles q ivan apareciendo.

Ahora si el codigo:

Código
int main(int argc, char *argv[])
{
   unsigned char frase[]="Hola esta es la frase magica.";
   unsigned char antencrypt,antedesencrypt;
   int tam,i;
 
   printf("Frase Original: %s\n\n",frase);
 
   tam=strlen((char*)frase);
 
   /* lo siguiente seria como una key que simula ser el caracter anterior cifrado, para poder empezar a encryptar.
    pero como soy pillo, para no poner un valor aleatorio le pongo el ultimo caracter de la frase. */

 
   antencrypt = frase[tam-1];  
 
   for(i=0;i<tam-1;i++){
   frase[i]=  antencrypt - (frase[i] ^ frase[i+1]);
   antencrypt=frase[i];
   }
 
   printf("Frase Encryptada: %s\n\n",frase);
 
   antedesencrypt=frase[tam-1];
   for(i=tam-2;i;i--){    
   frase[i]= ( frase[i-1] -  frase[i] ) ^ antedesencrypt ;
   antedesencrypt=frase[i];                          
   }
   frase[i]= ( frase[tam-1] -  frase[i] ) ^ antedesencrypt ;
 
   printf("Frase Desencryptada: %s\n\n",frase);    
 
   return 0;
}


Bueno eso es todo, espero a alguien lo sepa valorar, y q no pregunte q es lo q hace jaja.

Saludos!!


« Última modificación: 11 Abril 2008, 21:29 por Ferсhu » En línea

ghastlyX
Colaborador
***
Desconectado Desconectado

Mensajes: 1.894



Ver Perfil
Re: Metodo criptografico
« Respuesta #1 en: 11 Abril 2008, 22:48 »

No es buen método criptográfico, de hecho, no es ni un criptosistema, le falta el conjunto más significativo a mi parecer: K, el conjunto de claves que se pueden utilizar.

Tu sistema no tiene clave, por lo que no es seguro, como bien dice el principio de Kerckhoffs (1883): “la seguridad de un método criptográfico no tiene que depender del hecho de mantener en secreto el protocolo, sino sólo de mantener secreta la clave”.

Por lo del XOR, me recuerda al cifrado de Vernam, que utiliza claves (pseudo)aleatorias. La salida de ese es simplemente el XOR carácter a carácter entre clave y texto en claro. Es uno de los considerados criptosistemas clásicos de sustitución polialfabética. Utilizado como one-time pad es muy seguro, de hecho Shannon publicó en el 48 un trabajo de cinco años en el que demuestra que la libreta de un solo uso es irrompible y dicha demostración no la tiene ningún otro cifrado.

Las desventajas del de Vernam radican en que la clave ha de ser tan larga como el texto a cifrar y ademas aleatoria o pseudoaleatoria, por lo que no son claves prácticas para manejar por los usuarios.

Un saludo de ghastlyX ;)


En línea
Ferсhu


Desconectado Desconectado

Mensajes: 1.213

Menos palabras y Mas codigos.


Ver Perfil WWW
Re: Metodo criptografico
« Respuesta #2 en: 11 Abril 2008, 23:11 »

Antes q nada Gracias por tu critica ghastlyX.

Que no tenga clave, era la idea, solo basarse en un metodo sin constantes definidas, de alguna forma tmb las letras serian una especie de clave, pero mui diferente a lo q acostumbra ser la clave de un criptograma.

Lo q me gusta es q no es del tipico de sustitucion polialfabetica lineal, no es "esta" letra la cambio x esta, repito y listo, ni tampoco sustucion polialfabetica incremental (osea, referido a la posicion), sino q el "valor" q toma el texto cifrado esta mui conectado con el texto original, nose como explicarlo pero es como si el texto original seria su propia clave.

Otra caracteristica q tiene, q corre como ventaja y como desventaja, es q si un caracter del texto cifrado esta mal ( o falta), lo q sigue descifrando keda totalmente corrupto, obviamente una parte keda descifrada y por fuerza bruta se podria arreglar eso, ya q son pocas combinaciones posibles. Tambien se podria hacer encriptacion de ida y vuelta para q no revele nada en caso de tenerun caracter corrupto.

Ya se q es mui simple, pero a comparacion de cifrados similares, a simple vista, y probando sustituciones de letras no se puede descifrar.

Demas esta decir, q si se conoce el metodo, se obtiene de una pasada el texto original, eso es obvio.
En línea

Páginas: [1] Ir Arriba Respuesta Imprimir 

Ir a:  
Powered by SMF 1.1.16 | SMF © 2006-2008, Simple Machines