Idea para cifrado de datos alfanuméricos

Iniciado por zikotik, 13 Febrero 2014, 17:35 PM

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

zikotik

Hola gente, quería compartir con uds un método de cifrado que estoy armando junto con un amigo, basado en Arrays, para utilizar en bases de datos SQL con PHP y lectura/escritura de archivos con C++.

Quisieramos saber qué opinan de éste método de cifrado y qué podría mejorarse.

Por el momento sirve sólo para datos alfanuméricos, lo cual hace que sea básico (es sólo para tener una base). Los caracteres están identificados con un número de 2 dígitos en una tabla de 12 x 3 (36 caracteres) tomando por igual a las mayúsculas y a las minúsculas.

Código (bash) [Seleccionar]
10 11 12 13 14 15 16 17 18 19 20 21
A  B  C  D  E  F  G  H  I  J  K  L

22 23 24 25 26 27 28 29 30 31 32 33
M  N  O  P  Q  R  S  T  U  V  W  X

34 35 36 37 38 39 40 41 42 43 44 45
Y  Z  0  1  2  3  4  5  6  7  8  9


Al encriptarlo, se debe pasar cada caracter de cada palabra a los siguiente valores teniendo en cuenta la tabla anterior:

Código (bash) [Seleccionar]
0 1 2 3 4 5 6 7 8 9
Z B P K G Q V H C A


Nota: A partir de ahora, tomaremos la palabra "ASD" como ejemplo.

Para pasar un caracter a valor cifrado, se debe separar un dígito del otro, como por ejemplo:

Código (bash) [Seleccionar]
ASDS = ?
A = B + Z
S = P + C
D = B + K
? = B + Z + P + C + B + K


Cuando se hayan pasado todos los caracteres, se deben eliminar sólo los caracteres repetidos, pero obteniendo la distancia del siguiente valor repetido a partir del primero, y luego se escribe el número de la distancia delante del primer valor cifrado, es decir...

Código (bash) [Seleccionar]
ASD = ?
? = B + Z + P + C + B + K
? = B + Z + P + C + 4 + K
? = 4B + Z + P + C + K


Por último la palabra cifrada quedaría de la siguiente manera:

Código (bash) [Seleccionar]
ASD = 4BZPCK

Les dejo un par de ejemplos para que vean...

Código (bash) [Seleccionar]
root = PHPGPGPA = 2PH2G2PA
linux = PBBCPKKZKK = 4P1BC1KZ1K
bunker = BBKZPKPZBGPH = 1B3K4Z2PBGPH
flug = BQPZKZBV = 6BQP2ZKV
produkt = PQPHPGBKKZPZPA = 2PQH6PGB1K2ZPA
trinken = PAPHBCPKPZBGPK = 2PAH6BC2P6KZGP
schnee = PCBPBHPKBGBG = 3PC2BHPK2B2G

engel lex

depende de la seguridad que quieres, es bonito como proyecto, pero no seguro... fijate como funciona la maquina enigma, posiblemente pueda ayudarte :P

http://www.enigmaco.de/enigma/enigma.swf

recuerda, la primera maquina aceptada como computadora fue diseñada para resolver esto :P
El problema con la sociedad actualmente radica en que todos creen que tienen el derecho de tener una opinión, y que esa opinión sea validada por todos, cuando lo correcto es que todos tengan derecho a una opinión, siempre y cuando esa opinión pueda ser ignorada, cuestionada, e incluso ser sujeta a burla, particularmente cuando no tiene sentido alguno.