Acabo de aprender la firma digital y trato de asegurarme de que tengo mi comprensión de la firma digital en el camino correcto.
Supongamos que Alice desea enviar un mensaje (M) a Bob, donde el mensaje es confidencial, sin repudio, con integridad.
Alicia tiene la clave pública (Apub)
Alice tiene la clave privada (Apri)
Bob tiene la clave pública (Bpub)
Bob tiene la clave privada (Bpri)
El algoritmo de hash utilizado es SHA-1
1) Alice utilizará la clave pública de Bob (Bpub) para cifrar el Mensaje (M) para obtener CipherMessage (CM)
2) Alicia firmará en el Mensaje (M) al escribir el Mensaje (M) y encriptarlo con su clave privada (Apri) para obtener la Firma (s)
3) Alice enviará CipherMessage (CM) & Firma (s) de Bob
4) Bob utilizará su clave privada (Bpub) para descifrar el CipherMessage (CM) para recuperar el Mensaje (M)
5) Bob utilizará la clave pública de Alice (Apub) para descifrar la firma para obtener el mensaje de hash (HM)
6) Bob hará un hash del Mensaje (M) para obtener el Mensaje de Hash (HM)
7) Bob comparará los dos valores de HM, si son idénticos, Bob puede estar seguro de la confidencialidad, la integridad del mensaje y el no repudio.
Me pregunto si es así como funcionan las firmas digitales en general.