Método de cifrado [creación propia]

Iniciado por zikotik, 21 Febrero 2014, 02:33 AM

0 Miembros y 1 Visitante están viendo este tema.

zikotik

Hola gente, quería compartir con uds. un sistema de cifrado alfanumérico que terminé de crear hace más o menos una hora; lo llamo "Método SPK" (debido a la abreviación de mi segundo alias: Spaktlit). Me basé en el algoritmo de la máquina de Arthur Scherbius.

Espero que les guste; cualquier comentario será bien recibido.

Primero les dejo las tablas de valores y el algoritmo, luego les dejo un par de ejemplos para que vean como funciona.

TABLA DE VALORES

A  B  C  D  E  F    10 11 12 13 14 15
G  H  I  J  K  L    16 17 18 19 20 21
M  N  O  P  Q  R    22 23 24 25 26 27
S  T  U  V  W  X    28 29 30 31 32 33
Y  Z  0  1  2  3    34 35 36 37 38 39
4  5  6  7  8  9    40 41 42 43 44 45


BLOQUES DE DATOS

0  1  2  3      R  P  K  C
4  5  6  7      B  Q  D  N
8  9  A  B      X  Z  F  T

Nota:
Si la suma de los dígitos del valor numérico del caracter a cifrar
es equivalente a 10, entonces vale 0,
si da 11, es equivalente a A,
si da 12, es equivalente a B.


ALGORITMO DE CIFRADO

i = 0
data = (v[n1] + v[n2])
   ? = :v < 50 = (:i < 1 = 3, :i > 0 = -3, v = b),
       :v < 40 = (i+4, v = b),
       :v < 30 = (:i < 1 = 1, :i > 0 = -1, v = b),
       :v < 20 = (i+2, v = b)

Explicación de la suma de valores:
El valor del dato a cifrar es el resultado de la suma entre el primer y último dígito del valor numérico del caracter a cifrar.

Explicación de la variable i:
Si el valor numérico del caracter a crifrar
es menor a 50 (entre 40 y 49), i equivale a 3 si esta es 0, sino resta 3,
si es menor a 40 (entre 30 y 39), se suma 4 a i,
si es menor a 30 (entre 20 y 29), i equivale a 1 si esta es 0, sino resta 1,
si es menor a 20 (entre 10 y 19), se suma 2 a i.

Glosario:
i = variable para eludir repetición de valores
data = texto a cifrar
v = valor numérico del caracter a cifrar
n1 = primer dígito numérico del caracter a cifrar
n2 = segundo dígito numérico del caracter a cifrar
b = bloque de datos


EJEMPLOS

i = 0, 1, 0, 1
SPK = 28, 25, 20
  ? = (2 + 8), (2 + 5), (2 + 0)
  ? = 1(0), 0(7), 1(2)
  ? = 1R0N1K

i = 0, 2, 1, 0, 2, 1, 5, 4, 6, 5
HOLA MUNDO = 17, 24, 21, 10, 22, 30, 23, 13, 24
? = (1 + 7), (2+4), (2 + 1), (1 + 0), (2 + 2), (3 + 0), (2 + 3), (1 + 3), (2 + 4)
? = 2(8), 1(6), 0(3), 2(1), 1(4), 5(3), 4(5), 6(4), 5(6)
? = 2X1D0C2P1B5C4Q6B5D

a4s5d6

Me gusta, si por ejemplo añadieras números primos o algúna ecuación matemática de la cual por dichos cálculos sería imposible en tiempo modal repoducirlo o resolverlo tendrías tu propio algoritmo al estilo blowfish, md5.

Queremos ver tu algortimo en el futuro usado en la NSA o Gobiernos.

Carlis