• Viernes 29 de Marzo de 2024, 14:43

Autor Tema:  Algoritmos Criptográficos  (Leído 1305 veces)

maikmr

  • Miembro MUY activo
  • ***
  • Mensajes: 112
    • Ver Perfil
Algoritmos Criptográficos
« en: Lunes 18 de Octubre de 2004, 18:14 »
0
Hola compañeros de foro!
¿Quiero Saber si alguien a escuchado, visto u trabajado con el (XTEA)  The Tiny Encrytion Algorithm, Desarrollado por David Wheeler y Roger Needham en los laboratorios de la Universidad de Cambridge.

Este es uno (supuestamente) de los algoritmos mas rápidos y eficientes que existen para codificar u encriptar cadenas de caracteres.  
Si alguin lo tiene para C u C++, les agradeseré que me lo sedan.
Grasias!!
You are in the Matrix!!!! :comp:

NRM

  • Miembro MUY activo
  • ***
  • Mensajes: 279
  • Nacionalidad: ar
    • Ver Perfil
    • http://www.narrowmind.com.ar
Re: Algoritmos Criptográficos
« Respuesta #1 en: Lunes 18 de Octubre de 2004, 20:13 »
0
Aca tenes una implementacion en C.

Código: Text
  1. /* 128-bit key in k[0] .. k[3].   64-bit data in v[0] .. v[1]. */
  2. main (int artgc, char **argv, char **env) {
  3.    unsigned long v[2], k[4];
  4.  
  5.    v[0] = 0x12345678; v[1] = 0x9abcdef0;
  6.    k[0] = 0x61626364; k[1] = 0x62636465;
  7.    k[2] = 0x63646566; k[3] = 0x64656667;
  8.  
  9.    printf ("c_tea:\n");
  10.    printf ("    key = 0x%x %x %x %x\n\n", k[0], k[1], k[2], k[3]);
  11.    printf ("      v = 0x%x %x\n", v[0], v[1]);
  12.  
  13.    tea_code (v, k);
  14.    printf ("  coded = 0x%x %x\n", v[0], v[1]);
  15.  
  16.    tea_decode (v, k);
  17.    printf ("decoded = 0x%x %x\n", v[0], v[1]);
  18. }
  19.  
  20. encrypt () {
  21. }
  22.  
  23. decrypt () {
  24. }
  25.  
  26. tea_code(long* v, long* k)  {   /* long is 4 bytes. */
  27.    unsigned long v0=v[0], v1=v[1], k0=k[0], k1=k[1], k2=k[2], k3=k[3],
  28.                 sum=0, delta=0x9e3779b9, n=32&#59;
  29.    while (n-- > 0) {
  30.       sum += delta&#59;
  31.       v0 += (v1<<4)+k0 ^ v1+sum ^ (v1>>5)+k1&#59;
  32.       v1 += (v0<<4)+k2 ^ v0+sum ^ (v0>>5)+k3&#59;
  33.    }
  34.    v[0]=v0&#59; v[1]=v1&#59;
  35. }
  36. tea_decode(long* v, long* k)  {
  37.    unsigned long v0=v[0], v1=v[1], k0=k[0], k1=k[1], k2=k[2], k3=k[3],
  38.    n=32, sum, delta=0x9e3779b9&#59;
  39.    sum=delta<<5&#59;
  40.    while (n-- > 0) {
  41.       v1 -= (v0<<4)+k2 ^ v0+sum ^ (v0>>5)+k3&#59;
  42.       v0 -= (v1<<4)+k0 ^ v1+sum ^ (v1>>5)+k1&#59;
  43.       sum -= delta&#59;
  44.    }
  45.    v[0]=v0&#59; v[1]=v1&#59;
  46. }
  47.  
  48.  

Para mas info: http://www.ftp.cl.cam.ac.uk/ftp/papers/djw...jw-rmn-tea.html

maikmr

  • Miembro MUY activo
  • ***
  • Mensajes: 112
    • Ver Perfil
Re: Algoritmos Criptográficos
« Respuesta #2 en: Lunes 18 de Octubre de 2004, 20:30 »
0
Muchas Grasias! en verdad que se lo agradesco!! :D   B)   :rolleyes: