Secured-Hash 2018 - Funciones para VFP6

Iniciado por eb4bgr, 29 Octubre 2019, 21:32 PM

0 Miembros y 2 Visitantes están viendo este tema.

eb4bgr

Secured-Hash 2018: Código fuente de las funciones incluídas en el archivo S-Hash.Prg convertido para poder funcionar en MicroSoft Visual Fox Pro 6.0 Professional. ¿Quiere más seguridad para su software desarrollado con Visual Fox Pro?

https://sites.google.com/site/psacrypt/proyectos/secured-hash

;-)

eb4bgr

El software original que has descargado lo hize con el compilador Harbour 3.0.  Es lento, creo que porque harbour tiene problemas de gestion de memoria con BigStrings.  Ya hize un programa para medir la velocidad.  Visual Fox Pro es un compilador que usa el mismo lenguaje de programación en versión más antigua, similar a dBase.  Mejora un poco la velocidad, pero no mucho.  Si dispongo del tiempo suficiente lo desarrollaré en compiladores más eficientes en velocidad.  Y si te parece spam me alegro que mi software no sea para ti.  :-)

eb4bgr

Es curioso, precisamente este proyecto es uno de los pocos que tengo en Open Source.   :-)

MCKSys Argentina

Hola!

Por lo que veo, el source está en el repo de github. Aunque no podamos comprobar que el source corresponde al binario (no dispongo del compilador), el usuario tiene cuenta desde hace varios años y no hay razones para desconfiar (más allá de que hizo el mismo post 4 veces).

Por otro lado, el README.md del repo dice que el programa es lento.

Para evitar cualquier inconveniente, ejecutar en una VM.

Analisis de VT: https://www.virustotal.com/gui/file/770999475e150216e48d82aa2857a9d6f7855017328ddc630802f9e25cbf4f81/detection

Saludos!
MCKSys Argentina

"Si piensas que algo está bien sólo porque todo el mundo lo cree, no estás pensando."


eb4bgr

Bueno, a ver cómo lo digo ... no me gusta GitHub.  Parece que nadie se ha molestado en leer el resto de la página, menos mal que hay pocas palabras.  :-p

kub0x

Cita de: eb4bgr en 30 Octubre 2019, 05:33 AM
Bueno, a ver cómo lo digo ... no me gusta GitHub.  Parece que nadie se ha molestado en leer el resto de la página, menos mal que hay pocas palabras.  :-p

Retiro lo dicho, mis disculpas. Visité tu github y no vi el código fuente. Estoy acostumbrado a que se incluya en la misma plataforma y no tenga que descargar nada. Vi un fichero .7z lo descomprimi y revisé ambos sources para Win y Linux, todo correcto.

Ahora, las funciones hash que utiliza tu aplicación supongo que acaban llamando a la API encargada de la criptografía en ambos sistemas operativos. Esto ya será cosa del lenguaje que utilices y las librerías que lo acompañen. Desde aquí te invito a que lo portes a C# o C/C++ para que gane en performance.

Saludos.
Viejos siempre viejos,
Ellos tienen el poder,
Y la juventud,
¡En el ataúd! Criaturas Al poder.

Visita mi perfil en ResearchGate


eb4bgr

C/C++ no se lleva bien conmigo.  Si le puedo dedicar tiempo tengo pensado sacarlo en Lazarus/FPC y FreeBasic.  Antes que dedicarme a convertir código tengo que terminar otros proyectos, este lo convertí a VFP6 por estar desarrollando otro proyecto en ese compilador.  Por otra parte, sigo sin poder enseñar a leer al foro.   :-p

p.d:  no usa API's.

kub0x

Cita de: eb4bgr en 31 Octubre 2019, 12:03 PMPor otra parte, sigo sin poder enseñar a leer al foro.   :-p

Bueno ya no es cuestión de leer sino veo el code en git saltan las alarmas, es verdad que viene incluido en un archivo comprimido por lo tanto aceptable.

Cita de: eb4bgr en 31 Octubre 2019, 12:03 PM
p.d:  no usa API's.

Entonces ¿has cogido la especificación de dichas funciones de resumen y las has implementado tú? Normalmente si yo quiero hacer el digest de un mensaje, llamo a la cryptoAPI de Win o bien openssl en Linux y le digo que me devuelva el hash correspondiente. Está bien como proyecto si verdaderamente implementaste tu desde 0 las funciones pertinentes, pero no lo recomiendo en entornos comerciales o empresariales ya que los errores pasan desapercibidos.

Ya si te pones con crypto simétrica o asimétrica (con claves vamos) tendrías que blindar el padding y los side channel attacks entre otros, pero está divertido como proyecto personal implementar todo desde 0 y me parece fantástico que haya usuarios de este foro dedicándole tiempo a esto.

Saludos.
Viejos siempre viejos,
Ellos tienen el poder,
Y la juventud,
¡En el ataúd! Criaturas Al poder.

Visita mi perfil en ResearchGate


eb4bgr

La version de github no es la más reciente (cuesta aprender a leer).  Este es un proyecto que desarrollé mara mostrar nuevas funcionalidades en funciones de Hash.  La seguridad del cifrado interno se ha reducido intencionadamente (entropía menor).  Las versiones profesionales, que no son Open Source, son las que ofrecen mayor seguridad.  En el mejor de los cifrados que he inventado sólo me queda por terminar el modo asimétrico.  :-)

kub0x

Cita de: eb4bgr en  5 Noviembre 2019, 13:43 PM
Las versiones profesionales, que no son Open Source, son las que ofrecen mayor seguridad
Quizá quisiste decir más métodos o funcionalidades. No se de donde sacas que las versiones profesionales ofrecen mayor seguridad que las de Open Source, es una afirmación completamente infundada. Define "Seguridad". La seguridad yace cuando hay pruebas matemáticas fehacientes que prueben que el esquema es vulnerable bajo cierta parametrización, vease criptoanálisis. Que yo sepa, bearssl, openssl, nss, nacl y demás cumplen con los estándares FIPS creados por el NIST. De hecho yo me negaría rotúndamente a utilizar soluciones "de pago" o propietarias que no incluyan el código, vease BSAFE RSA y el escándalo Dual_EC_DRBG.

CitarLa seguridad del cifrado interno se ha reducido intencionadamente (entropía menor).
Hombre tanto como cifrado no, que son funciones de resumen, pero se entiende tu punto desde el punto de vista de la PRF.

CitarEn el mejor de los cifrados que he inventado sólo me queda por terminar el modo asimétrico.
Estaría bien que una vez lo termines publiques un link aquí al PDF de tu investigación, me encanta analizar nuevos métodos y aportar sobre los mismos de forma objetiva. Ánimo con ello.

CitarLa version de github no es la más reciente (cuesta aprender a leer)
Hombre me paso todo el día leyendo y se me cansan los ojos jajaj Dejate de google sites y utiliza GitHub como es debido. Estás en un foro, si es código desactualizado dilo en el post, cuanta más info des mejor. Sube el code en git, haz releases estilo project y ahí es donde incluyes el comprimido con el src y el ejecutable.

Saludos.
Viejos siempre viejos,
Ellos tienen el poder,
Y la juventud,
¡En el ataúd! Criaturas Al poder.

Visita mi perfil en ResearchGate