Comenzando
Primero, antes de sumergirse en el mundo de las bibliotecas criptográficas, debe comprender las capacidades de su equipo de desarrollo. ¿Tiene desarrolladores o tiene usuarios avanzados con conocimientos de desarrollo de sudo?
Esto es importante porque probablemente determina la capacidad de una persona para entender el propósito de una API, en lugar de implementarla y cruzar los dedos.
Crypto-Modules
Si desea la Respuesta más corta, busque una que sea compatible con FIPS PUB 140-2 . Si no está familiarizado, es básicamente el estándar del gobierno para los módulos criptográficos. Como mínimo, sugiero consultar la Wiki y obtener una comprensión general de la norma.
La mayoría de las bibliotecas criptográficas que valen la pena de implementación tienen al menos el nivel 1 certificado. Puede encontrar una lista de ellos aquí .
Interfaces de nivel alto frente a nivel bajo
Cuando la gente dice que no desempeñe su propia Criptografía, tienden a querer decir, no reinventar la rueda proverbial. I.E No construya sus propias bibliotecas basadas en lo que cree que deberían ser los algoritmos. (Siga con FIPS) Ya que establecimos que no va a hacer esto (¿verdad?), Entonces la pregunta es cómo utilizar mejor estas herramientas.
Algunas bibliotecas le ofrecen una interfaz para las funciones de bajo nivel, como las Extensiones de criptografía de Java ( JCE ). Estas bibliotecas tienen todos los algoritmos y objetos necesarios para la criptografía, pero probablemente requerirán que un desarrollador abstraiga esas funciones en la mayoría de los casos.
Algunas bibliotecas ofrecen una interfaz de alto nivel, como OpenSSL , que retira mucho trabajo de bajo nivel y usted acaba de hacer las llamadas. Muchos pueden argumentar que deberías usar esto, sin embargo, como muchos desarrolladores experimentaron al usar las bibliotecas OpenSSL de la mejor manera, si no sabes lo que estás usando en el nivel más alto, puedes terminar investigando para descubrir si eres vulnerable.
También existe la criptografía como servicio. Personalmente, no tengo mucho conocimiento sobre ellos. Por lo general, ofrecen una API (como REST) para que usted también envíe sus necesidades criptográficas.