Estaba viendo las bibliotecas de criptografía WebCrypto que vienen del W3C. Parece que solo se admiten algunos sistemas criptográficos, incluidos AES-CBC, AES-CTR, AES-GCM y RSA-OAEP.
Primero, es importante comprender por qué tenemos el estándar de la API de criptografía web. No está diseñado para ser una biblioteca de cifrado que abarque todo lo posible para ningún propósito posible, sino específicamente para crear una API de cifrado segura e interoperable para manejar un conjunto específico de casos de uso, de modo que los desarrolladores de aplicaciones puedan estar razonablemente seguros de que las implementaciones seguras de Las API especificadas estarán disponibles en varios agentes de usuario.
¿Eso significa que no tenemos suerte si queremos un sistema de cifrado diferente?
La Web Crypto API todavía está en desarrollo, por lo que hasta que no se finalice, no hay garantía. Sin embargo, diría que en este punto es más probable que los sistemas y los casos de uso se eliminen debido a la falta de implementaciones interoperables, en lugar de agregarse.
Una pregunta relacionada es ¿por qué la nueva API de criptografía web es mejor que usar una API de criptografía existente como la Biblioteca de criptografía de Stanford?
Es mejor porque está integrado en el agente de usuario. Esto significa que no puede ser manipulado por un MitM, una aplicación no puede entregar diferentes versiones a diferentes usuarios, etc. Esto significa que es mucho más difícil de subvertir, y que solo necesita garantías de seguridad del agente del usuario, no tanto del agente del usuario como de la biblioteca criptográfica. Dicho esto, si no hace lo que necesitas, entonces no hace lo que necesitas y tu única opción es buscar otras opciones.