simetrico simetrica hibrida ejemplos criptografia cifrado asimetrico asimetrica algoritmos licensing cryptography key private public

licensing - simetrica - criptografia hibrida



Algoritmo de criptografĂ­a (5)

Estoy haciendo un sistema de licencia simple para mis aplicaciones.

No sé sobre criptografía, pero sé que necesito un algoritmo que consta de 2 claves: privada y pública.

Necesito encriptar algunos datos (fecha de vencimiento y correo electrónico del cliente) usando mi clave privada, y luego mi aplicación descifrará los datos usando la clave pública para comparar la fecha de vencimiento.

¿Hay algún algoritmo conocido que haga lo que necesito?

EDITAR: Problema resuelto. Clase de ayuda para usar la dsa disponible aquí


¡Parece que necesitas una biblioteca!

Recomiendo ver LibTomCrypt


Echa un vistazo a RSA . La mayoría de las plataformas modernas tendrán implementaciones de RSA en su biblioteca estándar.


Esta no es la forma en que se supone que el cifrado de clave privada funciona en absoluto. Cifras los datos usando la clave pública, solo se puede descifrar usando la clave privada.

editar: por favor ignora esto, estaba completamente equivocado. Lo dejaré para que otras personas que quieran aprender de mí


Lo que quieres hacer se llama realmente "firmar" en el mundo de la criptografía. Cifras algo con tu clave privada, pero como la clave pública es pública, cualquiera puede descifrarla. Los algoritmos que hacen esto se llaman "cifras asimétricas" (dado que la clave de cifrado es diferente de la clave de descifrado).

Normalmente, se calcula un hash (criptográficamente seguro) de los datos y solo se firma el hash. Esto ahorra el esfuerzo computacional de cifrar todo el mensaje, y hace que el mensaje siga siendo legible en texto claro que podría ser útil.

Para ser concreto, el algoritmo RSA hará lo que quiera de forma segura.

Hágase un favor y no intente implementarlo usted mismo; más bien, tome una implementación existente como la de la biblioteca OpenSSL. Tiene una licencia de estilo Apache, por lo que probablemente pueda usarla en su aplicación.

(Sin embargo, tenga en cuenta que dicho sistema de licencias nunca es completamente seguro: alguien aún puede modificar su ejecutable y eliminar el cheque. Pero claramente eso es más esfuerzo que, por ejemplo, simplemente modificar un valor de registro).


Hay tanto algoritmo criptográfico, por ejemplo, RSA, AES, WEP, ... pero si hay computadoras cuánticas, todos estos sistemas criptográficos están inactivos. Por lo tanto, si desea aprender o estar interesado en la criptografía, debe aprender la criptografía cuántica posterior. por ejemplo, criptografía multivariada, criptografía basada en hash, criptografía basada en celosía ...

Además, puede buscar firma digital. Hay tantos usando nuestra vida. por ejemplo, sistema de seguridad bancaria. Por ejemplo, para la firma digital: esquemas de firma RSA, HFE-v, esquema de firma QUARTZ

En realidad, si desea aprender esos tipos de algoritmo, debe interesarle el álgebra avanzada.