WebCrypto algoritmos y diferencias con otras bibliotecas criptográficas

3

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.

enlace

¿Eso significa que no tenemos suerte si queremos un sistema de cifrado diferente? Estoy trabajando en el cifrado homomórfico y quiero utilizar Pallier y el cifrado para preservar los pedidos.

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? La biblioteca Crypto de Stanford expone primitivas más útiles que hacen posible implementar sistemas criptográficos arbitrarios como esta implementación Pallier enlace

    
pregunta leontp587 16.12.2015 - 16:51
fuente

2 respuestas

3
  

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.

    
respondido por el Xander 15.02.2016 - 15:13
fuente
1

Parece que quieres trabajar en un nivel diferente de abstracción. Un uso habitual del desarrollador es de muy alto nivel. Piensa en "hacer que sea imposible leer para otra persona que no sea Bob". O "verifica si esto viene de Alice". Si una biblioteca proporciona una API de nivel demasiado bajo, la gente cometerá errores (como en "¿qué es IV? OK, lo establecerá en todos los ceros").

Sin embargo, en su caso, en realidad está desarrollando esta funcionalidad de alto nivel y necesita tener un control mucho más preciso sobre lo que está haciendo. Por lo tanto, no me sorprendería que la API que enfrenta el usuario final no te dé todas las perillas y manejadores (como, por ejemplo, algoritmos más exóticos) que necesitas.

Respondiendo a la segunda pregunta, no creo que sea mejor, es diferente y puede tener diferentes propósitos.

    
respondido por el Krystian 17.12.2015 - 12:23
fuente

Lea otras preguntas en las etiquetas