ATENCIÓN: este contenido tiene más de 2 años de antigüedad y, debido a su temática, podría contener información desactualizada o inexacta en la actualidad.
Cualquier aplicación profesional que se precie necesita tomarse muy en serio la seguridad y la privacidad de sus usuarios. Y más aún si se trata de una aplicación conectada que se ejecuta dentro de un dispositivo móvil, puesto que los datos personales que maneje estarán al alcance de cualquiera con acceso al terminal, y además los tendrá que transmitir a través de Internet tarde o temprano.
Por ello es muy importante tener facilidades para realizar operaciones criptográficas seguras y probadas. Y además, tratándose de móviles, de la manera más eficiente posible teniendo en cuenta las restricciones de memoria y potencia de muchos de estos aparatos.
Si programas para Android, para facilitarte la vida en este sentido ha nacido Conceal. Es una biblioteca criptográfica de código abierto y gratuita que nos facilita una API extremadamente sencilla de utilizar para poder realizar las tareas criptográficas más comunes.
En realidad la biblioteca no implementa por sí misma ningún algoritmo criptográfico sino que delega esas tareas en OpenSSL, que es una biblioteca ampliamente utilizada y por lo tanto muy probada (a pesar de sus "pequeños problemas" del año pasado).
Entonces ¿en dónde reside su valor añadido? ¿Por qué deberíamos usarla?
Por dos razones principalmente:
- Por su sencillez: por ejemplo, con dos líneas de código podemos encriptar un archivo grande ubicado en una tarjeta microSD, mientras que con otras bibliotecas podría ser mucho más complicado. No da tantas opciones como otras pero cubre los supuestos más comunes y nos permite resolverlos sin esfuerzo.
- Su pequeño tamaño: gracias a haber elegido cuidadosamente los algoritmos soportados en Conceal, ésta ocupa tan solo 85KB, mientras que OpenSSL, si se incluye completa, es una biblioteca enorme.
- Rendimiento: Conceal ha sido pensada para trabajar en dispositivos antiguos con muchas restricciones de memoria y procesador, por lo que está optimizada al máximo para dar un rendimiento espectacular con hardware modesto. Por ejemplo, la siguiente gráfica muestra los espectaculares tiempos de Conceal (la barra más pequeña) comparados con los tiempos de la criptografía nativa de Java o la de la conocida biblioteca Bouncycastle:
Es espectacular.
La biblioteca está creada por Facebook que, por ejemplo, la utiliza para encriptar las imágenes de los usuarios en la tarjeta SD del teléfono de modo que estén protegidas y solo san accesibles desde su App.
Si haces aplicaciones para Android deberías echarle un vistazo:
Fecha de publicación: