Autor
|
Tema: ayuda estoy haciendo un encriptador (Leído 6,856 veces)
|
Arconte
Desconectado
Mensajes: 43
|
estoy haciendo un encriptador mas o menos es asi: cambia la "A" por la "Z", la "B" por la "W" y asi sucesivamente pero el problema es que no tengo forma de comprobar que un archivo este correctamente escrito, ejemplo: tengo el texto "HOLA MUNDO" y despues de cifrado resulta en "POWE IUTEG", al revertir el "POWE IUTEG" saldria el "HOLA MUNDO", pero si el archivo "POWE IUTEG" fuera modificado por ejemplo en "POWE IUTEE" el resultado seria "HOLA MUNDZ" distinto al original, entonces ¿como haria para comprobar que el archivo esta escrito correctamente?, lo que quiero hacer igual a lo que hace el winrar que si el archivo fue modificado el winrar te muestra un mensaje "el volumen esta dañado" y no descomprime nada porque el archivo fue modificado.
busco alguna idea de metodo.
|
|
« Última modificación: 16 Junio 2012, 05:56 am por Arconte »
|
En línea
|
|
|
|
engel lex
|
podrías hacer una suma de comprobación (un md5) del texto a cifrar y cifrarlo con el resto del archivo, cuando se descifre, haces un md5 al texto descifrado y lo comparas, si es igual, el texto no fue modificado
|
|
|
En línea
|
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.
|
|
|
Flamer
Desconectado
Mensajes: 1.052
crack, crack y mas crack...
|
hola Arconte un ejemplo podrias sumar todos los caracteres de "HOLA MUNDO" y encriptas ejemplo: H=72 O=79 L=76 A=65 =32 M=77 U=85 N=78 D=68 O=79 ---------------------- SUMA=711
y cuando desencriptes el resultado de la suma de lo descifrado te tiene que dar eso saludos flamer
|
|
|
En línea
|
|
|
|
HdM
Desconectado
Mensajes: 1.674
|
Buenas.
@Flamer, el problema de lo que comentas es que con un simple cambio en las posiciones de los caracteres, el texto es modificado, pero la suma sigue manteniendo el mismo valor que la del texto inicial. Incluso cambiando caracteres, se podría dar el caso que la suma siguiese siendo la misma.
La opción de hash de Engelx me parece buena.
Saludos.
|
|
|
En línea
|
- Nice to see you again -
|
|
|
Flamer
Desconectado
Mensajes: 1.052
crack, crack y mas crack...
|
hola Bulld0z3r aver si entendi lo que dise Engelx: quiere que el archivo a cifrar pase por una serie de operaciones matematicas de comprovacion e incriptacion me suena difisil algo mas sencillo seria que con una palabra clave(contraseña) lo desencripte estaria bien postear un codigo horita nose me ocurre nada saludos flamer
|
|
|
En línea
|
|
|
|
DarkMatrix
Desconectado
Mensajes: 150
Nuestro Limite es la Imaginacion
|
La solucion mas simple creo que es la que propone engelx, pero con CRC32 creo que es suficiente... Antes de cifrar primero genera el CRC32 del texto original, luego cifra la cadena y por ultimo une la cadena cifrada junto con el CRC32 (8 digitos), luego cuando decodifique la cadena solo tiene que decodificar toda la cadena menos los 8 digitos del CRC32, y generar otro CRC32 para la cadena decoficada, si coincide el CRC32 de la cadena decodificada con el CRC32 Original es porque no se modifico.
|
|
|
En línea
|
Todo aquello que no se puede hacer, es lo que no intentamos hacer. Projecto Ani-Dimension Digital Duel Masters (Juego de cartas masivo multijugador online hecho en Visual Basic 6.0) Desing by DarkMatrix
|
|
|
engel lex
|
para ser sincero elegí md5 es porque es muy usado XD y se consiguen por ahí librerías en internet que te hacen todo el proceso y listo... 5 el proceso del hash md5 es relativamente ligero, a demás... está en el foro de visual basic XD asi que asumo que el md5 no lo está haciendo a mano XD por otro lado DarkMatrix, creo que la suma de comprobación debería ir cifrada porque si u atacante comprende que esa es la suma de comprobación, podría jugar modificandola o usarla para tratar de sacar algo de info, pero ya quedaría a escogencia de Arconte por otro lado Arconte, por que estás escogiendo un método tan débil de encriptacion? estás haciendo algo como una maquina enigma por lo que veo, es solo por juego/trabajo? porque si es por real seguridad usate algoritmos pesados (increíblemente no me viene el nombre de ninguno a la mente XD pero hay muchos como el que usa https) que están hechos para que no sean resolvibles con ataques modernos ni demás...
|
|
|
En línea
|
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.
|
|
|
DarkMatrix
Desconectado
Mensajes: 150
Nuestro Limite es la Imaginacion
|
Fijate angels, los hash son irreversibles hasta donde yo se... de modo que de un hash no puedes sacar info que sea util... la unica forma seria generar cadenas hasta encontrar un hash determinado, cosa que puede llevar mucho tiempo... ademas si cifra el hash y por casualidad el usuario no modifica la cadena si no el hash cifrado caeriamos en lo mismo porque el programa no sabria si fue modificado o no.
En mi ejemplo propuse esto: Cadena de Ejemplo ( Hola Mundo )
Primero se genera el CRC32 de la cadena original = 22436ED2 Luego se codifica la cadena con el algoritmo que sea, en este ejemplo ROT13 = Ubyn Zhaqb Luego el resultado final sera la cadena cifrada + CRC32 de la cadena original = Ubyn Zhaqb22436ED2
Cuando se quiera descifrar y ver si se modifico el archivo simplemente hay que comprobar que el CRC32 de la cadena decifrada sea igual que el plasmado en el archivo, y en caso de que se modifique el CRC32 en si, esta condicion siempre sera false. Pongamos un ejemplo donde no se modifico el archivo:
Primero se decifra la cadena, sin tomar en cuenta los ultimos 8 digitos que son el hash de la cadena original : Ubyn Zhaqb = Hola Mundo Luego se genera el CRC32 de la cadena decifrada : Hola Mundo = 22436ED2 Ahora comparamos ambos hash y si son iguales el archivo no fue modificado : 22436ED2 = 22436ED2 = True
Ahora un ejemplo donde si fue modificado :
Supongamos que modifique el archivo de esta forma : Uwyn Zhjqb22436ED2 Primero se decifra la cadena, sin tomar en cuenta los ultimos 8 digitos que son el hash de la cadena original : Uwyn Zhjqb = Hjla Muwdo Luego se genera el CRC32 de la cadena decifrada : Hjla Muwdo = 7B23B362 Ahora comparamos ambos hash y si son iguales el archivo no fue modificado : 22436ED2 = 7B23B362 = False ( por lo tanto fue modificado )
Igualmente sucedera si modificamos el hash, al momento de comprarar dara false, a menos que de antemano sepamos el hash de la cadena (modificada) decodificada y lo plasmemos en el archivo cosa que veo dificil si se usa un buen cifrado.
|
|
|
En línea
|
Todo aquello que no se puede hacer, es lo que no intentamos hacer. Projecto Ani-Dimension Digital Duel Masters (Juego de cartas masivo multijugador online hecho en Visual Basic 6.0) Desing by DarkMatrix
|
|
|
Arconte
Desconectado
Mensajes: 43
|
hola, en realidad no estoy usando ese metodo debil, solo fue de ejemplo para explicar el problema, imaginen que tengo la cadena "BUENOS DIAS", que luego la cifro vamos a suponer que resulta "QWERTY JHGF", ahora un virus podria corromper (sobreescribir) parte del archivo y al desencriptarlo no diria "BUENOS DIAS" sino cosas sin sentido por ejemplo "MNSDGF ALKS" ahora imaginen que lo que se cifrar no es un texto sino un ejecutable , al intentar abrirlo podria ser peligroso porque ya esta corrompido a menos que el encriptador/desencriptador pueda detectar que el archivo esta corrompido y avisarle al usuario que no se puede descifrar porque el archivo fue dañado o corrompido , mencione al winrar porque eso es lo que hace te dice que el "volumen esta dañado y no se puede descomprimir/descifrar", estoy checando lo de md5 y CRC32, creo que CRC32 es el metodo que usa winrar, ahora me encargare de pasar el algoritmo a visual basic.
gracias por la ayuda.
|
|
|
En línea
|
|
|
|
|
|
Mensajes similares |
|
Asunto |
Iniciado por |
Respuestas |
Vistas |
Último mensaje |
|
|
Ayuda con una parte del KeyLogger que estoy haciendo
Programación Visual Basic
|
Shrick
|
5
|
2,196
|
1 Enero 2007, 20:30 pm
por Shrick
|
|
|
¿ Que estoy haciendo mal ?
« 1 2 »
Programación Visual Basic
|
Mr.Know
|
13
|
6,044
|
15 Junio 2010, 12:16 pm
por Psyke1
|
|
|
[?]Perl ¿Qué estoy haciendo mal?
Scripting
|
Fritos
|
3
|
3,142
|
15 Junio 2010, 19:32 pm
por xassiz_
|
|
|
Ayuda con un pequeño ejercicio que estoy haciendo en C# con windows form?
.NET (C#, VB.NET, ASP)
|
Ila26
|
1
|
1,877
|
3 Agosto 2014, 19:24 pm
por Eleкtro
|
|
|
Necesito ayuda. Estoy haciendo uso de matriz con struct y malloc pero el promedio no lee valores como debería.
Programación C/C++
|
wonted
|
6
|
7,039
|
25 Octubre 2022, 10:40 am
por K-YreX
|
|