Proyecto De Cifrador

 

 

PreData: Se lee mejor el ejemplo visto en formato NotePad (courierNew) ya que queda todo alineado como en una tabla pero bueno... Dadle a leer la versión completa del post para leer todo.

Buenas! Soy nuevo en el foro; me pareció interesante ingresar aquí, xq de aquí recogí bastantes ideas. Estoy desarrollando un programa con la intención de que sea algo muy muy gordo :D

Mi programa está escrito en ANSI C; con la idea de que sea multiplataforma. Y a parte porque es el lenguage que mejor controlo. De momento he aprendido a cifrar archivos bajo una clave de entre 6'5 y 1666 BITs (longitud de 1 a 256 caracteres de entre un alfabeto de 91).

Actualmente cifra así: (esto es solo una analogía)

Alfabeto 0: abcdefghijklmnñopqrstuvwxyz_
CLAVE ----> hola

Alfabeto 1_: hijklmnñopqrstuvwxyz_abcdefg
Alfabeto 2_: opqrstuvwxyz_abcdefghijklmnñ
Alfabeto 3_: lmnñopqrstuvwxyz_abcdefghijk
Alfabeto 4_: abcdefghijklmnñopqrstuvwxyz_

MENSAJE CLARO: mi nick es strapping
CLAVE--------: holaholaholaholahola
ALFABETO-----: 12341234123412341234
MENSJ CIFRADO: swknoqu lgks flpwwvg

Está clara la técnica verdad? Pues la idea es aplicar el concepto en vez de para alfabeto de "a" a "_", haciendolo en valores de byte, de 0 a 256.

Mi programa simplemente hace una sustitución polialfabetica en función de la clave... pero tiene el gran fallo en archivos que no contengan textos; ya que, según he podido observar gracias a un programita que he creado para leer los primeros 100 bytes de cada archivo en valores de byte; me fijado, que son permanentes; es decir; que todos los archivos .DOC de determinada versión empiezan igual; y a parte muchos ejecutables, tienen largas cadenas de byte 0, donde se puede ver a primera vista la clave. Ya que para una secuencia "00000000000" se puede leer en la misma posición en el cifrado "aholaholahol"... lo cual tira por el suelo todo el sistema...

Por otra parte se me ocurrió aplicar la tecnica de difusión; también de manera dinámica (dependiente de la llave); para así al cambiar de sitio todo, todo vaya cambiando... y tras investigar y leer mucho; he leido algo sobre S-Box...

De momento mi programa trabaja con bloques de 65535 bytes; y en mi ordenador lo he conseguido depurar alcanzando los 34 MB/s para cifrar y descifrar archivos...

Me podríais ayudar? Alguna idea para el asunto de andar aplicando la técnida de difusión (alteración del orden de la secuencia del bloque).

Visitaré frecuentemente el Foro; pero de todas formas si alguien quiere ponerse en contacto directo conmigo aquí tenéis mi e-mail: strapping_83@hotmail.com

UN FUERTE ABRAZO! GRACIAS A TODOS!

Comentarios

Selecciona arriba tu forma preferida de visualizar los comentarios y pulsa el botón para guardar tu elección para próximas visitas (sólo si eres usuario registrado).
nk2701's picture

Mejoras


I si codificas dos veces el mismo texto? así cuando haya muchos ceros seguidos tampoco se notarà!

El problema es q si los *.doc empiezan todos por los mismos caracteres la cifra pierde toda la gracia, pues todos los mensajes tendran el principio del texto llano igual y deducir a partir de eso la clave dicen q es muy fácil.

Quizá la solucion seria sólo codificar las partes del documento donde haya texto y el resto no se codificara, pues será igual para todos los documentos.

No se si te he ayudado mucho, pero no se me ocurre nada más!
Suerte con tu programa!
NK

NK

Envite's picture

Varias opciones


a) comprime el archivo antes de cifrarlo
b) usa una clave más larga, mayor que cualquier posible ristra de ceros
c) cifra varias veces, con claves de distinta longitud

No estoy de acuerdo con lo que dices, pero defenderé con mi vida tu derecho a decirlo.
- Voltaire -

No estoy de acuerdo con lo que dices, pero defendería con mi vida tu derecho a decirlo.
- Voltaire -

InMemoriam's picture

Vigenere


En vez de utilizar la misma clave repetidamente, empieza a utilizar el texto del mensaje a continuacion de la clave como una nueva clave.

Ejemplo:
Mensaje: estoescoserycantarparaloscriptografos
clave: holaestoescoserycantarparaloscriptogr

Quizas te asocie algo si buscas "autokey vigenere" en Google...
-

Dios estaba sobrio aquella noche...

-

Dios estaba sobrio aquella noche...

Strapping's picture

Nuevo Cifrador


Y me pregunto yo, ¿por qué reinventar la rueda?. Después de todo el trabajo que te estás dando con el programa, no sería mejor utilizar algún módulo GPL de cifrado simétrico que te diera esa seguridad a la hora de cifrar datos. No soy ningún experto en criptología, soy administrador de sistemas, pero todo esto me ha recordado bastante a la filosofía de UNIX o GNU/Linux -> "Un programa es un conjunto de instrucciones que cumplen una función pero que la cumplen bien", frente a la filosofía de Windows -> "un programa que lo hace todo". Y en tu caso, como quieres hacerlo multiplataforma, yo apostaría por eso. :D

Un saludo, JP Molina (Granada) / ::.. Si vales, bene est, ego valeo

Holas:

Tras hablar con más expertos en el tema del cifrado, he llegao ha ciertas conclusiones, y a parte, he cubierto las necesidades.

1º -> Sabemos que hay programas que realizan hasta 32 vueltas de cifrado al mixmo documento plano. Pero me parece que esto es una técnica que simplemente come tiempo, pero que no garantiza mucho. Yo pretendo dar como muchísimo 4 vueltas, es decir, aplicar dos veces cada capa de cifrado.

2º -> Contar con una única capa de cifrado siendo esta de sustitución es insuficiente, debido a las cabeceras de los archivos, y a las secuencias de igual valor de byte. Por esto, hay que compensar este fallo de mi sistema de seguridad.

Ideas:
-> A) Comprimir el archivo original, tal y como propuso "Envite". De este modo consigo matar dos pajaros de un tiro: Consigo reducir el tamaño de las cabeceras de archivo a solo 20 bytes (tamaño de la cabecera del compresor q tengo elegido), y Consigo también, eliminar todas las secuencias de igual valor de Byte. Por contra, aunque el proceso de cifrado es más corto por ser el archivo a cifrar (el comprimido) menor que el original, se debe esperar a que se genere el comprimido (y en caso inverso la descompresión). Pero me fijado que la inmensa mayoria de cifradores utilizan una compresión de modo opcional. Así que no me preocupo.
-> B) CAPA DIFUSORA; como ya habréis leido los forofos de esta web, las tecnicas fundamentales de cifrado son Sustitución y Difusión/Transposición. Pues bien, ya he diseñado por fin un sistema de difusión, que permite perder totalmente la cabecera del archivo.

Una Vez Terminada La Creación Del Programa, Este Es El Pronóstico Para La Versión 2.0

A) Cifra hasta a 34 MBytes/s
[Trabaja En Segundo Plano, por lo que la
velocidad es variable]
B) Cifra de 6.5 BITs a 1666 BITs
C) Trabaja Con Bloques De Tamaño Variable
[de 1 a 65535 Bytes (524.280 bits)]
D) Trabaja Con Claves De Longitud Variable
[de 1 a 256 Bytes -> Alfabeto de 91 chars]

PARA LA VERSION 3:
-> Tengo pensado usar también el contenido de archivos como clave, de modo que logramos incrementar la potencia de cifrado llegando a trabajar a [ 8 x (Tamaño En Bytes De Archivo Clave) ]; Ejemplo: Usando como clave un archivo típico fondo de escritorio JPG de 1024 x 768, tamaño: 125 KB, llegamos a cifrar a 1 MegaBIT de potencia.

¿Qué Os Parece Esta Salvajada? ¿Creéis que sería comercializable?

==============================================================
Esquema del Algoritmo:

1) Peticion de datos de entrada
(clave, archivo origen, archivo destino)

Si Operación Cifrado:
2) Comprimir archivo origen
3) Capa de Sustitución al Comprimido
4) Capa de Difusión al Comprimido
5) reaplicación de pasos 3 y 4.

Si Operación Descifrado:
2) Invertir Capa de Difusión
3) Invertir Capa de Sustitución
4) Repetir pasos 2 y 3
5) Descomprimir archivo

OPINIONES? SUGERENCIAS? CONSEJOS? CORRECCIONES?

No soy más que un jodio novato, así que no creo que halla creado el futuro AES, pero si es posible jejejeje, hay q ser optimistas. Espero Vuestros Comentarios :)

PD: Gracias Por Vuestra Colaboración :-)

-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-
Trata A La Gente Como Quieras Que Te Traten
Exale Un Vistacillo A Mi Web Y Disfruta
www.dtodo1poco.com/~strapping/

DamyMr's picture

Como experimento está bien,


Como experimento está bien, pero dudo mucho de que sea comercializable. En primer lugar aclararte que existen algoritmos que hacen muchas rondas, pero creo que era el IDEA en el que se ha conseguido ya criptoanalizar hasta una ronda menos. Algunos de esos algoritmos como el DES o el Blowfish utilizan redes de Feistel en las que en cada ronda sólo cifran la mitad de un bloque, un par de rondas son completamente inservibles para ellos.
El sistema que tu propones creo que no sería demasiado complicado criptoanalizar para los expertos disponiendo de parejas de mensajes en texto plano y su correspondiente cifrado, no das detalles de cómo funciona la capa de difusión pero creo que un criptoanálisis diferencial le puede dar muy duro (supongo que la capa de difusión sea una trasposición y cada letra en una posición dada irá inexorablemente a otra posición).
No pretendo desanimarte, ni mucho menos, sólo decirte que cuantas más vueltas más seguro. Si pusieras una descripción más detallada del funcionamiento quizás pudiese decirte algo más.

Strapping's picture

E un egperimento zi! :-)


Hola maestro... es un experimentillo con el que pretendía crear algo way. No tengo ninguna intención de comercializarlo. En todo caso liberarlo bajo GNU, para que todo el mundo pueda usarlo sin tener que pagar un céntimo!.

Yo creía que el sistema que proponía, una transposición de 65.000 elementos, y una sustitución de 1666 bits, sería algo bastante resistente.

Intentaré darte una descripción más detallada del funcionamiento para que me dieses tu opinión.

El algoritmo tenia decidido hacer SUSTITUCION-TRANSPOSICION-SUSTITUCION. (3 fases...)

La sustitución, sería algo parecido al Vigenere, es decir, una sustitución polialfabética de 1.7 KBits. Y la tranposición, pues veamos, te explico.

La cantidad posibles de reordenamientos de N elementos es N!; usease factorial de N (pa los que no ten mu puestos en temas matematicos). Puesto q mi bloque maaximo (variable) es de 65535 elementos, hay 65535! transposiciones posibles. De esas 7.8 x 10^287188 reordenaciones posibles aplico 1, ¿cual? pues facil, aplico la ekivalente a la llave decidida por el usuario. Es decir, la caja de transposición se genera a partir de la clave. Y puesto que hay 3.2 x 10^501 claves posibles, pues hay bastante juego creo yo.

Recalco: NO PIENSO TRATAR DE COMERCIALIZARLO => 1º Eso exige patentes, las cuales son MUY caritas; 2º Hay miles de alternativas gratuitas; 3º Estoy en contra de las patentes en ciertos ámbitos, pues entorpecen el desarrollo/evolución; 4º La comunidad gratuita me ha aportado muxo, y quiero colaborar con mi granito de arena :-).

Me gustaría que este proyecto personal diese fruto a algo way :-) Agradecería ayuditas jejejeje...

PD: Perdon por la longitud del post, muchas gracias por vuestro tiempo :)

-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-
Trata A La Gente Como Quieras Que Te Traten
Exale Un Vistacillo A Mi Web Y Disfruta
www.dtodo1poco.com/~strapping/

DamyMr's picture

Me gusta la idea de que la tr


Me gusta la idea de que la trasposición sea dependiente de la clave pero ¿cómo narices lo consigues? estoy un poco intrigado... Para que el sistema sea resistente tienes que asegurarte que las trasposiciones obtenidas a partir de la clave sean todas diferentes, es decir, que no haya colisiones pues eso haría el sistema muchísimo mas débil. Decirte también que tengas en cuenta el hecho de que pueden atacarlo mediante parejas de texto plano y texto cifrado como te puse en el otro post, y el gran problema de esto es que se pueda obtener la clave. Un sistema un poco más seguro no permitiría obtener la clave (salvo por fuerza bruta) conociendo parejas de textos planos/cifrados. Actualmente estoy diseñando un método que pretende ser mucho más resistente a los ataques conocidos, incluso a la fuerza bruta (no sonriais, que es posible) y pretendo tenerlo terminado en un par de meses.
Acerca de la idea de que utilices un archivo como clave, me parece muy buena, sería muy dicífil poder romper un sistema no trivial como el que propones con claves de varios miles de bits, pero también tiene algunas pegas: la clave se debe transmitir (normalmente se utiliza criptografía de clave pública para ello, que es lenta), la clave se debe almacenar (en un ordenador personal no hay problemas, pero en una máquina pequeña quizás sí, además de que posiblemente no se almacene una clave sino varias, una para cada interlocutor) y la clave se debe manejar (cargarla en memoria, y 120Kb de memoria es mucha memoria para pequeños dispositivos).
La mejor de diseñar un nuevo algoritmo es aprovechar la clave al máximo: 128 bits dan para un sistema bastante seguro pero hay que estrujarse el cerebro para aprovechar al máximo la información contenida en la clave (si no usas toda la información contenida en la clave se puede diseñar un sistema equivalente con una clave menor). Por cierto, ¿usarias la cabecera del archivo como principio de la clave? Pienso que es mejor desechar esa información pues en archivos conocidos la cabecera es o suele ser casi invariable.

PD: No te tomes a mal todo esto, intento ayudarte para que no caigas en errores de bulto y consigas hacer algo mejor.

PPD: ¿Cómo consigues hacer la trasposición a partir de la clave? Mira que me tiene intrigado... (y si lo haces bien como te dije, aquí radicará la fuerza de tu sistema)

PPD: También pido perdón por la longitud del post y agradezco vuestro tiempo.

PPPD: (lo siento, última hora) Trabajas con un bloque de 64Kb pero descifras el bloque completo o lo haces por flujo (es decir empiezas a descifrar desde el principio y lo que queda ya esta descifrado)???.

Strapping's picture

Transposition powar! jeje


Gracias por valorar mi algoritmo, como para hacerle estos análisis :)

Dado que tu también estás trabajando en el desarrollo de un método wapo de cifrado, pues me gustaría realizar un intercambio simbiótico, si es posible, jeje... mi e-mail: strapping@gmail.com, mi messenger strapping_83@hotmail.com pa xateá! :D Yevo estudiando por libre criptografía desde hace bastantes meses...

Como has comentado, la gran potencia del cifrado, residirá en la sección de transposición. La verdad, esque ese atake que has mencionado, de descubrir la clave a partir de un archivo y el correspondiente cifrado... la verdad esque creo que es extraordinariamente jodido. Dados dos bloques de 64 KiloBytes, A y A' descubrir cual es la clave que se ha utilizado... me parece intratable (aunque es la opinión de sólo un aficionao), pues lo único q se me ocurre es probar clave a clave, y comparar... y aún coincidiendo los primeros bytes, no significa nada, xq es más posible que sea casualidad, a que realmente hayas descubierto la clave, xq la tecnica hace que todo sea 100% dinámico e interdependiente.

Las sustituciones, como son polialfabeticas las realizo en "flujo", pero, para la transposición genero una Super S-Box para 65535 elementos. Esta SSB se define a partir de la clave; por tanto a cada clave le corresponde una SSB. Y dada la cantidad de SSB para esa cantidad... me parece sinceramente intratable.

A parte, el exo de trabajar de esta manera, me permite agilizar el sistema de modo muy eficiente. E incluso me permite una modificación radical rapidisima de un bloque al siguiente. (sumando 1 modulo 65535). Y puesto que el programa hace una sustitución posterior a la trasposición, esto hace que sea terriblemente dificil crear una función inversa.

Creo que mi algoritmo puede ser muy bueno. Puede que con este proyecto aporte algo sustancioso a la comunidad forofa de los ordenatas y la seguridad informática como yo.

Gracias Por TU Tiempo gran DamyMr :-) Agradezco mucho que dedikes tiempo a este hilo. A ver si más gente se anima.

PD: Para la transposición mejor te lo voy preparando unos eskemas, los cuales podras ver más alante, esque aún solo están en mi cabeza :). Seguro que no te defraudarán. Y Creo que este sistema reforzaría tontamente muchos algoritmos...

PPD: Te gustaría que formasemos un ekipo en el desarrollo de un nuevo software que obviamente sería distribuido bajo licencia GNU de esa, gratuito y código abierto :-) [a ver si creamos un nuevo AES (Advanced Encription Standard) jejeje! seriamos famosetes jajaja].

PPPD: A lo de desechar secciones de cabeceras de archivo, obviamente es mejor, pero por otro lado, dado el potencial en BITs de cifrado que se logra con un archivo, me parece un trabajo innecesario (andar informando de q bytes son desechables en cada formato de archivo). Con mi algoritmo, con un archivo de 110 KB (tipico fondo de escritorio JPG), consigo un cifrado de 1 MegaBit, con bastantes garantias de seguridad ;-).

PPPPD: Mi programa en variables, se come aproximadamente unos 130 Kilobytes. Es bastante (64*2 + unos pocos bytes mas), pero a la vez, he estrujado al máximo mi mente para no rekerir más... para que sea eficiente. Está en ANSI C (portable a todas las mákinas).

GRACIAS POR VUESTRO TIEMPO!!!! ME VOY A DORMIR!!!! 3:40 AM!!!
Y no me tomo a mal nada, es más, me alegro de recibir comentarios, ideas de ayuda, y demás :)

-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-
Trata A La Gente Como Quieras Que Te Traten
Exale Un Vistacillo A Mi Web Y Disfruta
www.dtodo1poco.com/~strapping/

DamyMr's picture

Yo en principio tengo intenci


Yo en principio tengo intención de crear el prototipo en Java, más que nada porque lo controlo mejor que otros lenguajes, pero si veo que la idea marcha adelante me atrevería a hacerlo en ensamblador (aunque sea sólo la rutina de codificación) para demostrar la velocidad que se puede alcanzar.
Estoy impaciente por ver cómo construyes una SSB (me gusta el nombre, jejej) a partir de una cadena de caracteres, y que estés seguro de que ésta contiene exactamente la misma información que la clave (o sea a clave diferente SSB diferente).
Sobre la forma de atacar el sistema necesito esos esquemas, pero te pongo sobre la pista: contando con archivos en texto plano y sus correspondientes cifrados, se buscan dos bloques que sean muy parecidos, por lo menos en el principio (cabecera incluida) como puede ser una carta dirigida a varios destinatarios donde solo cambia el nombre, aunque con menos parecido también sería válido. Como los bloques han sido codificados con la misma clave, esos bits de información pasarán a ocupar exactamente el mismo lugar y la misma codificación, es decir, se podrá conocer parte de la SBB y de ahí con el la sustitución polialfabética es muy posible llegar a conocer bits de la clave. Conocer varias de las trasposiciones y de las sustituciones polialfabéticas harán que varios bits se puedan descifrar ya de entrada en cualquier mensaje. Para seguir decodificando la clave se me ocurre buscar más coincidencias (ya no importa que los primero caracteres coincidan, sino que coincidan otros caracteres no emparejados) y estadísticamente avanzar poco a poco.
Si el archivo clave mantiene su cabecera, detectando los primeros bytes se puede llegar a conocer muchos otros bytes del principio, lo cual consigue que al menos el cifrado polialfabetico de los bytes que se pretenden enmascarar desaparezca. No hace falta detectar el tipo de archivo, desechando 200 bytes no creo que quede ni rastro de la cabecera.
No tengo problemas en intercambiar ideas, es beneficioso para todos. Te lanzo una idea en un hilo diferente, porque creo que puede tener su atractivo.

Lo de hacer un programa y liberarlo aun tengo mis dudas. Hay que proporcionar a la comunidad antes toda la información y una implementación de prueba para que sea analizado y que se detecten de ese modo errores que se puedan haber pasado por alto. Conseguir que un algoritmo sea aceptado es un proceso largo y tedioso (salvo que ganes un concurso) pero no imposible. Cuenta conmigo para todo en lo que te pueda ayudar.

Strapping's picture

PROYECTO DE CIFRADOR - LA AMPLIACION


PROYECTO DE CIFRADOR - AMPLIACION
=====================================

ANTES DE NADA, AVISO, ESTO ES LA EXPLICACION DEL ALGORITMO QUE USARA MI PROYECTO DE CIFRADOR, EL ALGORITMO ESTA DISEÑADO POR MI, Y ESTO QUE TENEIS AKI SON ESKEMITAS QUE AYUDAN A PODER ANALIZAR EL SISTEMA DE SEGURIDAD. NO ESTA COMPLETO AL DETALLE PERO SI FACIL DE ENTENDER CON ALGO DE PACIENCIA. PERDONAD LA LONGITUD,... ESPERO QUE OS GUSTE :)

======================================

Buenas DamyMr, bueno, te informo de los eskemas. Pero para dar una explicación miniaturizada, necesitaremos empekeñecer el entorno, para que sea así más facil coger el enfoke global.

Valores Posibles De Byte: 1,2,3,4,5,6,7,8,9

Secuencia ORIGINAL: 3,2,4,5,9,6,8,1,7
CLAVE: 2,6,9

Aplicando Capa Sustitución:

A) Creación de Mapa Polialfabetico:
1 2,3,4,5,6,7,8,9,1
2 6,7,8,9,1,2,3,4,5
3 9,1,2,3,4,5,6,7,8

B) Paso ORIGINAL - INTERMEDIO1:
Original: 3,2,4,5,9,6,8,1,7
Alfabeto: 1,2,3,1,2,3,1,2,3
Interm_1: 4,7,3,6,5,5,9,6,6

* Se lo que pensais, habría sido más simple, hacer la operación de ORIGINAL + CLAVE (mod ELEMENTOS) = CIFRADO. Pero pese a que para un humano es más fácil este camino, la realidad es que para una computadora, es muchisimo más rapido facilitarle un MAPABIN y usar un algoritmo ekivalente. (LO HE COMPROBAO).

C) INTERMEDIO1 - INTERMEDIO2.

Bien, este es el gran cachondeo del colega DamyMr :). Veamos, supongamos que para la transposición usasemos una matriz cuadrada en la cual entrasen TODOS los elementos. En este caso requeriríamos una 3x3, ya que hay 9 elementos:

1 2 3
4 5 6
7 8 9

Ahora trabajaremos sobre la matriz que indica las posiciones originales del bloque, y generaremos la SSB. Recordando que la clave es: 2,6,9

Explico, divido el proceso en 2 fases. 1º sacar ekivalente de la clave modulo rango de la matriz cuadrada => 2 mod 3 = 2, 6 mod 3 = 0, 9 mod 3 = 0. 2ª Aplicar un avance de X posiciones sobre los elementos de esa fila o columna.

------2 6 9
------2 0 0

9 0 - 1 2 3 - 2 2
6 0 - 4 5 6 - 0 6
2 2 - 7 8 9 - 0 9

------0 0 2
------9 6 2

Esto hare una demostracion (A) Superior, B) Derecha, C) Abajo, D) Izquda)

A) 7 2 3 B) 3 7 2 C) 3 7 9 D) 3 7 9
___4 5 6 ___ 4 5 6 ___ 4 5 2 ___ 4 5 2
___1 8 9 ___ 1 8 9 ___ 1 8 6 ___ 6 1 8

La SSB a pasado de 123456789 a 379452618 tras aplicar la clave. NOTA: Usando una SSB de rango N, siendo N la longitud del alfabeto, nos olvidamos de todo esto de tener que modular... supongamos q la matriz fuese de 256x256, tendriamos 65536 elementos, perdon, posiciones diferentes!. SSB posibles: 65536! Una animalada... yo resto un elemento a la caja, por motivos de contadores, y de economizar código :). Y aún así admitiria ficheros como clave, pudiendo usarse los 256 valores posibles de cada byte... dando una potencia de 7 KiloBits aprox, solo para cada bloque de 64 KB, ya que para el siguiente bloque se generaria una nueva SSB a partir del 2º Kilobyte del archivo clave, y así sucesivamente... QUE SALVAJADA NO? :P

Ahora simplemente cogemos la secuencia INTERMEDIA anterior, y aplicamos este reorden, dando lugar a la secuencia INTERMEDIA_2

123456789 379452618
473655966 = 396657546

Ahora el paso final, reaplicamos el primer paso, la sustitución a esta nueva secuencia de datos...

D) Paso INTERMEDIO2 - FINAL:
Interm_2: 3,9,6,6,5,7,5,4,6
Alfabeto: 1 2 3 1 2 3 1 2 3
Final...: 4 5 5 7 9 6 6 9 5

RESULTADO FINAL: "324596817" + CLAVE 269 en mi algoritmo "455796695"

=============================================
Conclusiones De Este Novato:

Creo que este sistema de cifrado, consigue una alta seguridad, pues sinceramente, dado el diseño de la SSB, no hay manera de

recuperar hayar la clave a partir de parejas de archivos... ya que aun con mi mente retorcida no se me ocurren posibilidades,

pues probando una clave, que nos diese una ekivalencia parcial con el original, sería más por pura casualidad que por

descubrir parte de la clave; ya que pese a no dar este algoritmo 1000 vueltas, con el duro diseño de la SSB, con 1 vuelta me

parece más que suficiente.

Creo que mi algoritmo, es bastante eficiente. Y logra una bestial velocidad, lo tengo ya testeadito en mi ekipo, y consigue

una velocidad de vértigo (consigo unos 36 MB/s de cifrado, contra los 7 que logro con AES...) y eso que solo está

implementado en ANSI C; si supiera ensamblador, podria aplicar todo esto a nivel de BIT, pero puesto que no se operar bits,

trabajo a nivel de BYTE, que la verdad, estando formalizado en grupos de 8 bits, toy trankilo manejando mis bytes :P

NOTAS DE LA SSB: Esta se genera dependiendo de la cantidad de elementos procesables; es decir, si el archivo mide 70 KB, pues

se genera una SSB para los primeros 64, y luego otra para los 6 restantes. Dado el diseño de la SSB, no necesito crear

relleno, pues es flexible, pudiendo adaptarse a por ejemplo, una matriz de 2 bytes. Aunque inicialmente trabaje

predeterminadamente cajas de 64 KB. (sería más apropiado una SSB de 10 KB, pero llamemos capricho a mi deseo de usar numeros

multiplos informaticos... 16,32,64,128... por amor al arte :)

===================================
Esto es una pekeña exposición pa coger una idea general de como se genera la SSB; pero tiene bastante más currillo, para

garantizar su flexibilidad y estabilidad. Hay más operaciones para definirla... pero esto era una especie de DEMO de lo que

me estoy currando.

Me gustaría recibir opiniones de todos los veteranos, aficionados y maestros de estas artes. Toy creando de enfocar mis

habilidades mentales a crear seguridad gratuita para el mundo... Otros lokillos del ordenador como yo se dedican a crear

virus, que aunque también tiene su gran curro de diseño, odio los resultados, prefiero aportar cosas positivas, y no dolores

de cabeza a la gente normal...

BUENISIMAS NOCHES! SON LAS 2:20 AM, ME KEDAN 7 HORAS DE SUEÑO!! Y MAÑANA CURRO! QUE DOLOR!!!!

PD: El proyecto de ANSI C que estoy desarrollando es 100% compatible con todos los sistemas operativos de MS, aceptando

Drag&Drop, función por linea de comando, trabajo por menu (textual), liberando carga al micro al trabajar en segundo plano

siempre (así no molesta :D).

PPD: UN FUERTE ABRAZO A TODA LA GENTE! GRACIAS ENTRE TODOS POR ANIMARME A DESARROLLAR ESTE TRABAJO!!! Gracias DamyMr, JM Lucena, Jorge Ramió Aguirre, Inmemoriam, Envite, nk2701,... y MUCHISIMAS GRACIAS a mis amiguetes de www.dtodo1poco.com que me animaron desde el principio :) (como comento DamyMr, la Fuerza de mi algoritmo reside en la SSB).

Para Comunicación Privada: Strapping @ gmail . com :P

-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-
Trata A La Gente Como Quieras Que Te Traten
Exale Un Vistacillo A Mi Web Y Disfruta
www.dtodo1poco.com/~strapping/