Semnături digitale
Semnăturile digitale asigură autenticitatea mesajelor, verificarea semnăturilor oferind garanțiile:
- Autentificare - mesajul provine de la sursă pretinsă și nu a fost falsificat de altcineva\
- Integritate - mesajul nu a fost alterat de altcineva, ci este așa cum a fost scris de sursă\
- Non-repudiere - entitatea care a semnat mesajul nu poate nega ulterior semnarea acestuia
Pentru un sistem foarte simplu de semnătură digitală, să considerăm exemplul în care Alice dorește să-i trimitaa lui Bob un mesaj M, folosindu-se de un sistem de criptare asimetrică și o funcție de hashing.
- Alice calculează rezumatul mesajului R = H(M)\
- Alice criptează acest rezumat cu cheia secretă obținând un cifru C = E(R, SA)\
- Alice trimite perechea (M, C) către Bob\
- Bob obține cheia publică PA a lui Alice\
- Bob primește perechea (M, C)\
- Bob calculează propriul rezumat R = H(M)\
- Bob decripteaza C folosind cheia publică R0 = D(C, PA)\
- Dacă R = R0, Bob are garanția că mesajul a fost semnat de Alice și nimeni nu l-a modificat
