A számítógép elkészíti az aláírással ellátandó dokumentum "kivonatát" (digest), amely egy néhány tucat karakterből álló hosszú jelsorozat. Ez a folyamat egy bonyolult matematikai folyamaton alapul, amely ugyanahhoz a dokumentumhoz mindig ugyanazt a kivonatot rendeli, viszont két különböző adathoz gyakorlatilag sosem rendel már korábban felhasznált karaktersorozatot. A feldolgozás során használt program (pl. ha egy e-mail titkosításáról van szó, akkor az e-mail program) ezután a kivonatot titkosítja a saját titkos kulcsunkkal.
A kulcspár kulcsai felcserélhetők, tehát ha az egyik kulccsal kódolunk, a másikat csak dekódolásra használhatjuk. Ez a folyamat elsőre talán kuszának és érthetetlennek tűnik, éppen ezért ez XY-ra leegyszerűsítve a következőképpen néz ki. Ha az információ X titkos kulcsával van kódolva, akkor azt X nyilvános kódjával lehet dekódolni. Ezután a beérkezett üzenet kivonatát összehasonlítjuk a csatolt kivonattal, az egyezés csak akkor lehetséges, ha az üzenet ugyanaz, mint amit X küldött, s amelynek a kódolt kivonatát csatolta. Amennyiben tehát a két kivonat egyezik, úgy az üzenetet X küldte.