Pregunta

Puede alguien sugerir un algoritmo de cifrado 2 forma rápida para enteros largos?

Mis candidatos son:

  • AES:. El Advanced Encryption Standard especificado por NIST FIPS-197
  • Blowfish:. El algoritmo Blowfish definido por Bruce Schneier
  • DES: el algoritmo de cifrado de datos estándar definido por el NIST FIPS-46-3
  • .
  • Desede: la "Triple DES" algoritmo definido por NIST FIPS-46-3.

Editar -

La velocidad es un factor más que la seguridad. La solicitud real era la de "ocultar" identificadores de haber sido pasado por los servicios web internos por lo que en el caso de que un identificador está siempre expuesto no se podía adivinar otras ID añadiendo 1. (un argumento para llaves UUID más largos de incremento automático ??)

¿Fue útil?

Solución

El uso de AES. La velocidad era una consideración importante en la selección para reemplazar Desede. En el hardware de PC moderna, tiende a ser más rápido que Blowfish, y como norma, es más probable que tenga soporte de hardware especializado.

Por cierto, todos los sistemas de cifrado cifran enteros largos-cada flujo de bytes es un número entero, representada en la base-256.

Otros consejos

  

No necesito una clave pública. El requisito es encriptar los identificadores en una base de datos a medida que pasan entre las máquinas. Ambas máquinas tendrán la sal

A continuación, XOR?

¿Cuál es su criterio principal para la selección? Velocidad o seguridad? Esa es la disyuntiva fundamental en el negocio de la criptografía. Aquí hay un conjunto de resultados de referencia para Crypto ++ . Ellos no le dicen todo, pero usted será capaz de decir qué algoritmos son generalmente más rápido que otros. He aquí un libro blanco discutir las fuerzas relativas de algunos algoritmos populares . La determinación de la fuerza es una cosa muy difícil de hacer en el caso general, aunque algunos algoritmos se han prestado suficiente atención que sus puntos fuertes y débiles son bastante bien conocidos (DES, RSA, etc.). Una regla convencional de oro es que las claves más largas implican mayores fortalezas, pero tienes que tener mucho cuidado con eso. Sospecho que, en su caso, ya sea AES o Blowfish va a estar bien. AES probablemente será algo más amplio apoyo, pero en realidad - ya sea probablemente haría. Manténgase alejado de DES menos que la velocidad es un factor crítico.

Si la seguridad es su principal preocupación, me gustaría ir con AES.

Sin embargo, el texto cifrado puede ser demasiado grande para su base de datos. Si se agrega IV, relleno, que es 64 caracteres en hexadecimal por lo menos. Se puede utilizar el algoritmo que he publicado aquí si ejecutó en ese límite,

cifrado simétrico sencillo de largo a String (ida y vuelta) en java

Licenciado bajo: CC-BY-SA con atribución
No afiliado a StackOverflow
scroll top