Pregunta

Después de leer este post relacionada con el ECC uso para implementar el uso de hash aa clave privada que se dedicó a tratar de encontrar una implementación de ECDH y se encontró con BoucyCastle .

Desafortunadamente la documentación es mínima (como en zerow!) Y estoy seguro de lo que Estoy a punto lograr es completamente correcto / válido.

Queremos simplemente hash de 4 cuerdas que serán la información de registro de usuarios (nombre, ubicación, su ID de empresa y su ID de cuenta que son ambos de 12 caracteres de longitud) que luego calcular una serie que pueden utilizar para activar el software.

He generado un par de claves utilizando puttygen.exe pero no puedo entrenamiento de cómo aplicar esto con BouncyCastle, que clase puedo usar para empezar? ¿Hay ejemplos por ahí?

Hasta ahora he concatenado la información y se calcula un hash MD5 de ella (usando las clases .NET) no puedo usar las nuevas funciones de la API mejorada VISTA como apuntamos XP todavía -. NET 3.5

Alguien tiene alguna idea?

¿Fue útil?

Solución

Creo .NET tiene la clase RSACryptoServiceProvider que es una implementación completa de RSA.

Hay código de ejemplo para su aplicación en particular aquí:

http://www.codeproject.com/KB/security/xmldsiglic.aspx

En este ejemplo se utilizan herramientas de MS sn.exe para crear la clave.

Otros consejos

Hasta ahora he concatenado la información y se calcula un hash MD5 de ella (usando las clases .NET) .....
Esta afirmación en sí me preocupa. MD5 es serio crackable - no sólo en teoría, pero en la práctica. Por favor, por favor, no use MD5 para hash seguro. Utilizar SHA-256 o SHA-512 y aquí está qué

También se ha vinculado el puesto no es del todo cierto - sí algoritmos simétricos utilizan la misma clave para cifrar / descifrar, pero la clave pública / privada no es una bala mágica.

1) de clave pública / privada es lento
2) La mayoría de los algoritmos / privadas publicc acaba de cifrar la clave simétrica y luego usar el cifrado simétrico de los datos, porque es mucho más rápido

El punto es que un buen algoritmo de hash no es reversible y por lo tanto muy difícil de descifrar por lo que está perfectamente bien para sus propósitos. Sin embargo, me gustaría sugerir el uso de una sal, que es un número aleatorio criptográficamente para agregar a sus datos de usuario a continuación, hash que los datos, ya que hace que sus datos mucho más seguro contra ataques de diccionario (donde los hackers utilizan bien saben los términos y variantes para descifrar contraseñas)

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