Encriptador de archivos

El encriptador de archivos (Java File Encoder) nace del deseo de derecho a la privacidad siempre que no haya mala intención.

Lo malo es que la intención no puede calibrarla la aplicación ...

Descripción

Con la aplicación podrás:

  • Encriptar y desencriptar archivos binarios.
  • Modelar la fortaleza de la encriptación a partir de la configuración.
  • Usar múltiples hilos para encriptar.
  • Guardar el archivo encriptado en múltiples volúmenes, divididos con un criterio de tamaño.

Características generales:

  • Multi-idioma
  • Multi-resolución (zoom configurable)
  • Opción de modo oscuro
  • Notificación de nueva versión
  • Manual de usuario


Con la versión v1.7 se hace más robusta la encriptación, hito conseguido aumentando substancialmente el tiempo de computación necesario para romper la encriptación por fuerza bruta.

Descripción del código

Para el desarrollo de esta aplicación, se implementó un método de encriptación propio:

  • Basado en encriptación de flujo XOR.
  • Generador pseudoaletoario caótico.
  • Claves para el generador pseudoaleatorio de hasta 16K bits.
  • El límite de combinaciones lo pone la fortaleza de la contraseña, de la que se usa una hash de 32 bytes.
  • Se puede configurar para que se haga una reordenación de bytes durante la encriptación (cosa que hace el ataque por fuerza bruta penosamente lento).
  • El usuario tiene la opción de cancelar la encriptación / desencriptación en cualquier momento.

Está implementada sobre la librería de plataforma v1.4 que incluye mucha funcionalidad común a todas las aplicaciones


Con la versión v1.7, se aumenta mucho el tiempo de computación necesario para romper la encriptación por fuerza bruta, sin incrementar el tiempo de desencriptación que experimenta el usuario.

El tipo de encriptación que se utiliza en esta aplicación, se basa en el uso de un flujo de bits pseudoaleatorios que se utiliza para la reordenación de caracteres y luego para la encriptación / desencriptación con el método de la máscara XOR. Esto se hace por rodajas.

El incremento del tiempo necesario para romper la encriptación por fuerza bruta, se consigue haciendo absolutamente necesario que la primera rodaja se reordene totalmente antes de proceder con la desencriptación de los caracteres con la XOR

Y eso se consigue, haciendo que la encriptación / desencriptación XOR, haga uso del mismo generador pseudoaleatorio usado en el proceso de reordenación, empezando la fase de XOR desde el estado del generador justo después de la reordenación

De esta forma, no hay posibles atajos para intentar desencriptar por fuerza bruta.

Pantallas

Encriptador de arhivos (jfe v1.0) (2014-2015)

Descargar

Encriptador de arhivos (jfe v1.1) (2016)

Descargar

Encriptador de arhivos (jfe v1.2) (2017)

Descargar

Encriptador de arhivos (jfe v1.3) (2018-2019)

Descargar

Encriptador de arhivos (jfe v1.4) (2019)

Descargar

Encriptador de arhivos (jfe v1.5) (2021-2024)

Descargar

Encriptador de arhivos (jfe v1.6) (2025)

Descargar

Versiones

image

Esta aplicación surgió como necesidad de encriptar archivos con un método propio.

Permite encriptar archivos de una manera muy configurable, permiendo obtener métodos realmente costosos en tiempo de encriptación/desencriptación (cosa que dificulta los ataques por fuerza bruta), que pueden ser utilizados para encriptar archivos pequeños.

Existe un manual de usuario bastante extenso, en el que se explican todos los detalles del funcionamiento, tanto de cara al usuario, como interno de la aplicación.

image

Esta versión de la aplicación surgió debido a que la nueva versión de JRE de aquellas fechas afectó al aspecto visual de la aplicación v1.0, por lo que apareció esta versión 1.1 para solventar esos problemas.

El manual de usuario no cambió con esta versión, y se mantuvo el mismo que para la versión anterior.

image

En esta versión se hicieron un par de cambios:

  • Corrección de un error en el generador pseudoaleatorio propio utilizado en las versiones anteriores.
  • Se crearon nuevos métodos de encriptación especialmente diseñados para ser utilizados con archivos grandes que aumentan la rapidez y la robustez de la encriptación.

Existe un manual de usuario específico de esta versión, en el que se explican todos los detalles.

image

En esta versión se han realizado varios cambios:

  • Nuevo tipo de encriptación especialmente pensado para archivos grandes que mejora substancialmente la rapidez de encriptación ya que permite utilizar múltiples hilos.
  • Nuevo tipo de encriptación que permite dividir el archivo encriptado en volúmenes, por si existe alguna limitación en el tamaño de archivo.
  • Factor de ampliación sobre las ventanas de la aplicación, para mejorar la visualización en dispositivos con distinta densidad de píxeles.

Existe un manual de usuario específico de esta versión, en el que se explican todos los detalles.

image

Esta versión ha aparecido para intentar evitar un error que aparecía por la interacción con una nueva funcionalidad de Java-9 que trata con pantallas de alta densidad de píxeles.

También se incluye soporte para Maven.

Existe un manual de usuario específico de esta versión, en el que se explican todos los detalles.

image

El objetivo de esta versión es añadir la consulta de nueva versión para tener una estadística de cuanta gente usa la aplicación.

También se añade la opción de modo oscuro

Existe un manual de usuario específico de esta versión, en el que se explican todos los detalles.

image

Esta versión aparece para hacer uso del nuevo fileEncoderType que se añadió con la necesidad de tener una encriptación más robusta frente a los intentos de ruptura por fuerza bruta para búfferes pequeños.

Esa necesidad aparece con el nuevo desarrollo para compartir el portapapeles entre el ordenador de escritorio y un móvil Android, que publicaré próximamente (hoy: 21/04/2025)

Con el nuevo método de encriptación se hace más costoso computacionalmente el intento de ruptura por fuerza bruta para este tipo de encriptación

En ese nuevo tipo de encriptación se encripta con un flujo de XOR con reordenación de caracteres por rodajas

La novedad es que ahora se hace absolutamente necesario realizar la reordenación de la primera rodaja completa antes de empezar a desencriptar ningún caracter

Por ejemplo, si el archivo tiene 2 KB, se hace necesario reordenar esos 2 KB antes de proceder con la desencriptación de los caracteres.

El tiempo que lleva esa tarea (con 2 KB), es de alrededor de medio segundo en una CPU potente del mercado de hoy día (2025)

Descargas