elhacker.net cabecera Bienvenido(a), Visitante. Por favor Ingresar o Registrarse
¿Perdiste tu email de activación?.

 

 


Tema destacado: Sigue las noticias más importantes de seguridad informática en el Twitter! de elhacker.NET


+  Foro de elhacker.net
|-+  Programación
| |-+  Programación General
| | |-+  Como implementar una función que haga esto?
0 Usuarios y 1 Visitante están viendo este tema.
Páginas: 1 2 [3] Ir Abajo Respuesta Imprimir
Autor Tema: Como implementar una función que haga esto?  (Leído 11,033 veces)
@XSStringManolo
Hacker/Programador
Colaborador
***
Desconectado Desconectado

Mensajes: 2.399


Turn off the red ligth


Ver Perfil WWW
Re: Como implementar una función que haga esto?
« Respuesta #20 en: 28 Noviembre 2019, 18:47 pm »

Leyendo parece que se esta hablando de un Verman (o algo asi porque deriva en este tema la barca hacia lados curiosos :) ). No se si se ha dicho ya, pero lo de usar claves igual de largas que el mensaje esta muy bien a nivel teórico pero no funciona a nivel práctico.
Verman ya mola y cualquier equivalencia usando ordenación o cualquier otra cosa similar esta bien pero ninguna de las opciones (verman original o derivados) mola tanto a nivel práctico. Como le tienes que pasar al receptor la secuencia de caracteres por una via segura, y es del mismo tamaño, Joder simplemente pásale el mensaje por esa vía segura. :)
Para que el cifrado sea util, el intringulis del asunto siempre está en lo mismo, conseguir pasar la pass simétrica, que debería ser pequeña, por un medio seguro dentro de un canal inseguro y que el mensaje que sale tenga suficiente entropia. Y ahi el poder de cómputo tiene al voz cantante.
Tal cual está ahora mismo es exactamente un Vernan. En Github tengo una implementación en PHP en la que explico exactamente esto. Que diseñando mi cifrado llegué a la misma conclusión y un diseño similar al de Vernan. En el PHP utilizo bloques de 7 bytes con diccionario de 127 caracteres. Coincido con todo lo que dices.

El tema está en el uso que se de al cifrado. Por ejemplo puedo mejorar la seguridad de una base de datos aplicándole el cifrado y por tanto la contraseña no necesita ser intercambiada. El problema que quiero solventar es el de la correlación para hacer el cifrado irrompible. Esto me permitiría operar con bases de datos alojados en servidores externos.

Uso práctico:
-Creo base de datos con datos de mi empresa.
-La cifro para poder hostearla en servicios externos y que no me suponga coste extra.
-Para operar descargo el archivo que desee. Lo descifro de forma local. Utilizo la información.
-Cifro con nueva contraseña al estilo One-Time-Pad y vuelvo a almacenar el contenido que utilicé en la base de datos.


En línea

Mi perfil de patrocinadores de GitHub está activo! Puedes patrocinarme para apoyar mi trabajo de código abierto 💖

animanegra

Desconectado Desconectado

Mensajes: 287



Ver Perfil
Re: Como implementar una función que haga esto?
« Respuesta #21 en: 28 Noviembre 2019, 20:58 pm »

Pero el tema es que la longitud de la clave es la misma que los datos almacenados. Lo que almacenas en otros sitios no vale para nada, ose me refiero la longitud de los datos que almacenas de forma remota y de forma local son de la misma longitud. Entonces no veo muy bien la utilidad de tener esos datos que solo tienen sentido con tu password local almacenados de forma remota.
Osea, si la idéa es que no puedan coger los datos si no estás tu delante, bajo mi punto de vista, me parece casi mejor idea llevarte un USB/CD del mismo tamaño de los datos almacenados lleno de números aleatorios y descifras con eso cada vez que desees utilizar la base de datos. El USB por lo menos verás cuando te lo roban. :) Y no pueden cogerte las credenciales 365/24. La posibilidad de copia, la tendras igual, pero al menos no dependerás de como lo guarda un tercero y dependerá sólo de ti.
No obstante a nivel práctico, yo personalmente tiraria de cualquier cifrado simétrico con clave suficientemente larga.
Pero es sólo mi punto de vista. :) puedes no estar de acuerdo.


En línea


42
No contesto mensajes por privado, si tienes alguna pregunta, consulta o petición plantéala en el foro para que se aproveche toda la comunidad.
@XSStringManolo
Hacker/Programador
Colaborador
***
Desconectado Desconectado

Mensajes: 2.399


Turn off the red ligth


Ver Perfil WWW
Re: Como implementar una función que haga esto?
« Respuesta #22 en: 28 Noviembre 2019, 23:16 pm »

Cual es el problema de que tengan el mismo tamaño? Qué indicas al atacante cual es el tamaño de la cadena original y el tamaño de la clave que tiene que probar? O cual? Yo creo que da igual una vez se rompa la correlación entre plaintext y ciphertext ya que pruebes lo que pruebes nunca sabes cual es el resultado correcto debido a que todas las combinaciones posibles. Es decir, un texto cifrado de 4 caracteres a descifrar te dará todas las palabras posibles de 4 caracteres, ya sea en español, inglés, etc.

PD: Pensando sobre la correlación podría usar 3 capas de cifrado al estilo tripleDes, pero sin necesidad de cambiar la clave por cada capa, ya que lo que importa es que no exista correlación para análisis estadístico. Se pueden hacer mucha cosas.
En línea

Mi perfil de patrocinadores de GitHub está activo! Puedes patrocinarme para apoyar mi trabajo de código abierto 💖

engel lex
Moderador Global
***
Desconectado Desconectado

Mensajes: 15.514



Ver Perfil
Re: Como implementar una función que haga esto?
« Respuesta #23 en: 29 Noviembre 2019, 01:56 am »

Cual es el problema de que tengan el mismo tamaño? Qué indicas al atacante cual es el tamaño de la cadena original y el tamaño de la clave que tiene que probar? O cual? Yo creo que da igual una vez se rompa la correlación entre plaintext y ciphertext ya que pruebes lo que pruebes nunca sabes cual es el resultado correcto debido a que todas las combinaciones posibles. Es decir, un texto cifrado de 4 caracteres a descifrar te dará todas las palabras posibles de 4 caracteres, ya sea en español, inglés, etc.

PD: Pensando sobre la correlación podría usar 3 capas de cifrado al estilo tripleDes, pero sin necesidad de cambiar la clave por cada capa, ya que lo que importa es que no exista correlación para análisis estadístico. Se pueden hacer mucha cosas.

si haces 3des con una misma contraseña la fuerza es la de 1 des, ya que solo tienes que repetir 3 veces en 1 solo bloque que hoy dia con la fuerza de des es perfectamente viable
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.
Páginas: 1 2 [3] Ir Arriba Respuesta Imprimir 

Ir a:  

Mensajes similares
Asunto Iniciado por Respuestas Vistas Último mensaje
¿Como me aconsejais que haga esto en PHP?
PHP
vicmarcal 6 3,074 Último mensaje 19 Julio 2007, 20:48 pm
por vicmarcal
Como creo un botón que haga la función de imprimir?
Programación General
1adria1 1 2,103 Último mensaje 11 Febrero 2013, 16:30 pm
por 1adria1
Como creo un botón que haga la función de imprimir?
Java
1adria1 4 5,890 Último mensaje 11 Febrero 2013, 22:30 pm
por sapito169
Como implementar función Ajax - Autocomplete
PHP
Jarcx9 9 3,630 Último mensaje 30 Septiembre 2014, 17:04 pm
por Jarcx9
duda acerca de como implementar un función en este codigo.
Programación C/C++
tayzuke 1 1,897 Último mensaje 5 Julio 2016, 16:48 pm
por AlbertoBSD
WAP2 - Aviso Legal - Powered by SMF 1.1.21 | SMF © 2006-2008, Simple Machines