PDA

Ver la versión completa : Propongo un criptosistema en C basado en calculos matriciales...



.Yok3R.
28-12-2002, 00:50
Si kieren entrarle para hacerlo ponganse en contacto con un servidor (yok3r@hotmail.com) para ke les dé la info. pertinente y si ud. gustan comenzar a programar, será un sistema muy básico pero efectivo de eso se darán cuenta y pues depende de uds. si hechamos a andar este proyecto y posteriores versiones... :cool: mientras lo estructuro mejor...
Estamos en contac...

Clase
28-12-2002, 15:26
Nas..

-Parece interesante, pero eso de cálculos matriciales echa un poco para atrás, si necesito tener la carrera de exactas, me da que va a ser un poco dificil xD, pero si con calculos matriciales te refieres a los utilizados por el algortimo DES por ejemplo, entonces lo veo "un poco" mejor.

Byes!

.Yok3R.
30-12-2002, 23:08
Cabe mensionar ke no precisamente utilizaremos algoritmo alguno, tal vez no me supe explicar... pero lo ke se trata y lo + parecido a un algotritmo ke utilizaremos aki, se asemejaria al Algoritmo de Sustitución con una pekeña modificación claro, ya ke como sabras este Algoritmo consiste básicamente en sustituir los caracteres del mensaje inicial por otros; los nuevos caracteres pueden ser de cualquier tipo: letras, símbolos, dígitos, etc...(aki utilizaremos sólo dígitos para los calculos respectivos) Los caracteres iniciales siguen estando en el mismo orden pero amenos que se conozca la equivalencia entre los nuevos caracteres y los antiguos, el mensaje es ilegible... :D bueno nosotros ocultaremos aún + estas correspondencias a la vista de los usuarios comunes, gracias a los calculos matriciales.... "nada complicado en teoria" pero la cuestión cambia al programarlo... ya ke me he echo pelotas...
Bueno... enviame un correo para ke te explike con + detalle esto, claro si gustas...de todas formas estamos en contack...

sscreamm2005
07-01-2003, 21:53
Propongo un criptosistema en C basado en calculos matriciales...

ESO COMO SE COME? CUXARA O TENEDOR :confused:

.Yok3R.
08-01-2003, 00:27
a ke te refieres?
Estamos en contack

jocanor
11-01-2003, 13:56
para postear eso no postees joder...

Giskard
11-01-2003, 19:00
Pues yo sé programar pequeñas aplicaciones en C pero apenas tengo conocimientos básicos de cálculos matriciales, y de criptosistemas no se diga :confused:

No sé como se hace, si nos lo explicaras un poco en qué consiste o cuál es tu idea podría ayudarte.

saludos

.Yok3R.
12-01-2003, 03:20
Ke tal colegas?... estoy un poco molesto :mad: por el comentario de jocanor por su comentario al = ke de sscreamm2005 (ESO COMO SE COME? CUXARA O TENEDOR )ke me pareció el de este último en tono de burla... cosa ke si me molesta ya ke le kita seriedad al tema y lo peor atenta la seriedad de la comunidad...con respecto al comentario de jocanor... mi contestación a sscreamm2005 fué echa por ese motivo...


Pero bueno... iré a lo serio y al ke parecer le interezó de vdd el tema
Giskard: :cool:

Trataré de ser lo + breve y concreto posible...aunke no tenga gran ciencia.

Los cálculos matriciales serían los siguientes:

DATOS REKERIDOS:

- Matriz [2x2] cuyo determinante sea = +1 ó -1 *
- Valores asignados a los caracteres del alfabeto. *
Ejemplo: Para el caracter: A = 1
B = 2 ...
- Variables de control... (Contadores, y alguna otra fuera del analisis)

* Datos introducidos por el usuario.

Aki el chiste u objetivo es como le dije a clase en el post anterior,
en sustituir los caracteres por numeros y hacer operaciones para
convertirlos a cifras dificiles de comprender para persona ke no conosca
la clave de descodificación en este caso (la matriz y los valores asignados
a cada caracter)...

EJ:
x1= 2 X2= 1 Determinante
Introduce: [x1 x2] x3= 1 x4= 1 detA = 1
A Matriz =[x3 x4]

Alfabeto: .ABCDEFGHI J K L M N Ñ O P Q R S T U V W X Y Z
Valor 0123456789 10 ... 29

Mensaje: "HACK" HISPANO

* Sólo codificaré y decodificaré la palabra HACK para ahorrar trabajo.
Usando los valores el mensaje kedaria de la sig. forma:

H A C K H I S P A N O
8 1 3 11 8 9 20 17 1 14 16


[8] [3] [8] [20] [1] [16]
1 11 9 17 14 0

Teniendo esto... CODIFICAMOS

[x1 x2][8]=8x1+x2 aki tendriamos los nuevos valores del mensaje
[x3 x4][1]=8x3+x4

tomando encuenta la matriz anterior los valores serian:

16+1 [17] para los valores originales [8]
8+1 [9] 1

Matriz
[2 1] [3] = 3x1+11x2= 6+11 =[17] serian los nuevos valores de: [3]
[1 1] [11]= 3x3+11x4= 3+11 = 14 11

Con esto tendriamos la palabra HACK con los sigs valores:
H C
A K
17 17
9 14
hasta este momento hemos codificado...
pues bien, Descodificar?

preparad... ;)

Para esto tenemos ke obtener la inversa de la matriz antes introducida
para ello el usuario con el mensaje... debe introducir la matriz normal
y de nueva cuenta los valores asignados a cada caracter...hay ke señalar ke el mensaje codificado debe ser guardado en un archivo txt para mejor manejabilidad ya sea para envio de mails, etc...

La inversa de la matriz kedaria de la siguiente forma...
*Esto lo logramos con la adjunta... evito explicarlo para ahorrar tiempo.

Matriz inversa
[1 -1]
[-1 2]

Se introduce el codigo del mensaje codificado... en este caso: 17 9 17 14


H[x4 -x2][17] = 17-9 = 8
A[-x3 x1] [9] = -17+18 = 1

C[x4 -x2][17] = 17-14 = 3
K[-x3 x1][14] = -17+28 = 11


Como ven obtenemos los valores originales ke le asignamos al alfabeto. Ahora resta, convertir esos dígitos a caracteres con ayuda de los valores
ke asignamos, comparandolos y sustituirlos por los caracteres ke le corresonde y guardarlo en un archivo txt para ke el user lo abra y lea el mensaje ke le fué enviado.

Eh aki lo ke debe hacer el programa...espero sea del todo claro...
Es muy sencillo pero eficaz... ya ke para descodificar un mensaje de estos, debemos conocer la matriz y los valores del alfabeto,
cosa ke veo + ke dificil, porke imaginense la tremenda cantidad de convinaciones ke podemos hacer con la matriz sin mencionar
la convinación de valores ke podemos hacer con el alfabeto...:rolleyes:

Espero y se heche andar esto... porke como verán es "sencillo" y eficaz.

En fin...un proyecto + ¿se llevará a cabo? esa es la cuestión...:D
Si te intereza ayudarme me puedes encontrar en el MSN yok3r@hotmail.com
Estamos en contack...:0=
-Saludos-

Giskard
12-01-2003, 05:34
A ver si entendí:
Tenemos la matriz, tenemos el texto para encriptar.
entonces la matriz se va multiplicando por el valor de cada dos letras.
Si es así, la multiplicacion nos dará cuatro resultados y no dos.
a menos que los cuatro numeros y las dos letras sean una matriz y las dos letras sea la columna de términos independientes, En ese caso la operacion inversa sería complicada
En fin, se vé interesante, sólamente termino los exámenes finales y extraordianarios y haré un código a ver si es más o menos a lo que te refieres. Mientras tanto he fijado el tema para que alguien más aporte algo.

saludos.

.Yok3R.
13-01-2003, 01:06
Estas en lo correcto Giskard, solo ke obtendriamos 1 valor nuevo a cada caracter... no cuatro de dos, como tu dices... o no entendí... pero cambiaremos el valor original con ayuda de la matriz y el valor ke le asignamos al caracter... si logras ver en el ejemplo sobre la palabra HACK ke codifiké en el post anterior, obtuvé el mismo valor para las letras "H" y "C" (17), cosa ke hará la codificación + ke dificil sino conocemos los valores correctos... digamos ke entre mi amigo y yo tendriamos la clave de nuestros mensajes, siendo esta confidencial para así hacer virtualmente imposible ke sepan descodificarlo y saber ke dice el mensaje ... pero bueno te espero en el MSN para una mejor explicación y te agradesco... ke hayas fijado el post para futuros comentarios y aportaciones de los colegas de la comunidad, espero y les interece al = ke a tí...
Estamos en contack y suerte con los exámenes... :0=
-Saludos-