La principal diferencia es que TrueCrypt crea contenedores y 7-Zip encripta el archivo, por lo que se puede adivinar el tamaño del archivo. Ahora hablemos sobre la fortaleza y la capacidad de interrupción del cifrado.
Actualización: enlace
Si se implementa correctamente, AES es AES; la salida entre dos implementaciones diferentes es idéntica y, por lo tanto, no es posible hacer distinciones en la comparación posterior: si se hace correctamente, la una es exactamente la misma que la otra.
Pero hay algunos puntos donde las diferencias pueden recortar:
Modo de operación
Truecrypt implementa un modo de contador modificado llamado XTS. Está bastante bien revisado y ha soportado algunos abusos graves por parte de algunos atacantes poderosos (como el Gobierno de los Estados Unidos).
Al examinar el código fuente de p7zip, parece que la codificación AES para el formato 7-zip funciona en modo CBC. Esto ciertamente no es necesariamente inseguro; es el modo más utilizado en protocolos como TLS, pero es potencialmente vulnerable a los ataques de Oracle Oracle. Consulte esta discusión sobre los modos de operación para obtener más información.
Derivación de claves
Truecrypt usa PBKDF2 para convertir su contraseña en una clave de cifrado. Es difícil encontrar una mejor alternativa que esa. p7zip utiliza un hash SHA256 con sal repetido en un número configurable de iteraciones. PBKDF2 es un poco más configurable, pero la alternativa de 7-zip es funcionalmente similar y podría decirse que alcanza los mismos objetivos.
Implementación revisada
Esta es probablemente la mayor diferencia: el código de TrueCrypt ha sido volcado por criptógrafos y examinado cuidadosamente para detectar errores de implementación. 7-zip no tiene (al menos no en el mismo grado). Esto significa que hay una mayor probabilidad de que el código de 7-zip contiene algún tipo de error que podría permitir algún tipo de ataque aún desconocido. Eso no quiere decir que exista tal error, y no significa que tal error no se pueda encontrar en TrueCrypt en su lugar. Pero esto es una cuestión de probabilidad, no de certeza.
En general, las diferencias son menores, y para la mayoría de los casos de uso, no debe esperar ninguna diferencia desde el punto de vista de la seguridad. Si es una cuestión de vida o muerte, probablemente elegiría TrueCrypt. Pero por cuestiones de mero secreto, recomiendo ir con la solución que mejor se adapte a su problema.
La seguridad de un cifrado depende de su implementación específica en una utilidad de software. Que yo sepa, no hay problemas conocidos de implementación de AES en 7-Zip o TrueCrypt.
AES es un cifrado rápido , y las características de aceleración de hardware como AES-NI lo hacen mucho más rápido. Por lo tanto, la protección contra la fuerza bruta requiere el fortalecimiento de la clave a través de los mecanismos de ampliación de clave .
Existen herramientas de fuerza bruta para 7-Zip y TrueCrypt y admiten la aceleración de hardware.
7-Zip usa la extensión clave para aumentar el tiempo de la fuerza bruta. La contraseña del usuario tiene un hash 130,000 a 524,288 veces (dependiendo de la versión) usando SHA256.
TrueCrypt también usa PBKDF2 para la extensión de clave con 1000 iteraciones que son 2 órdenes de magnitud inferiores a 7-Zip. Un problema es que TrueCrypt utiliza el número mínimo de iteraciones recomendadas hace 10 años.
Cuando el estándar PBKDF2 se escribió en 2000, el mínimo recomendado el número de iteraciones fue 1000, pero el parámetro está destinado a ser aumenta con el tiempo a medida que aumenta la velocidad de la CPU.
También usa salado de 512 bits que reduce las vulnerabilidades de los ataques de tablas de arco iris y diccionarios.
Entonces, desde una perspectiva de fuerza bruta, 7-Zip es un poco mejor que TrueCrypt, pero ambos se consideran bastante resistentes a los ataques de fuerza bruta.
Hay una historia donde el FBI intentó descifrar un volumen de TrueCrypt durante 12 meses y falló.
Salvo errores de implementación, el cifrado de 7-Zip es más robusto que el de TrueCrypt, porque TrueCrypt tiene un trabajo mucho más difícil.
El cifrado de disco completo a nivel de sector es difícil :
En comparación, el trabajo de 7-Zip es fácil. Escribe el archivo una vez y se hace. Si necesita cambiar algo, puede volver a cifrar todo el archivo utilizando un IV diferente (incluso si la clave es la misma), y el nuevo archivo cifrado se ve completamente diferente al anterior.
Lo que esto significa es que 7-Zip puede permitirse el uso de los modos de cifrado de bloque CTR o CBC bien entendidos. Mientras tanto, TrueCrypt tiene que usar XTS, que hace una serie de compromisos para satisfacer las restricciones adicionales del cifrado de disco completo.
Para obtener más detalles, consulte este artículo sobre las limitaciones del cifrado de disco completo .
Me diferiría de la respuesta de Tylerl en que, al momento de escribir la pregunta y la respuesta, el código fuente de TrueCrypt NO había sido auditado por los criptógrafos. De hecho, a partir de ahora, solo una auditoría parcial realizada por criptógrafos respetados .
Por lo tanto, actualmente las rutinas criptográficas principales de ambos proyectos tienen el mismo nivel de revisión por criptógrafos expertos: ninguno. Esperamos que eso cambie pronto para ambas bases de código, pero no hay ningún esfuerzo en marcha para auditar el código de 7zip, AFAICT.
Actualización de marzo de 2016:
Parece que TrueCrypt ya no está desarrollado, lo que hará que no se solucionen futuros errores de seguridad.
Esto aparece al abrir el sitio web de TrueCrypt: "ADVERTENCIA: el uso de TrueCrypt no es seguro ya que puede contener problemas de seguridad no solucionados. Esta página solo existe para ayudar a migrar los datos existentes encriptados por TrueCrypt. El desarrollo de TrueCrypt se terminó en 5/2014 después de que Microsoft finalizó el soporte de Windows XP". p>
Lea otras preguntas en las etiquetas encryption truecrypt