1. Hele beskeden køres gennem en hash-funktion. Den har 2 egenskaber: a) uanset længde på beskeden, har hash-værdien altid en fast længde. b) den er envejs: man kan ikke dekryptere denne.
2. hash-værdien krypteres med afsenderes private nøgle. Resultatet er signaturen.
Ved modtagelse:
Modtageren kører beskeden igennem samme hashfunktion. Signaturen dekrypteres med afsenderens offentlige nøgle, og de to hash-værdier sammenlignes.
1) Man skal have afsenderens offentlige nøgle, så man ved det er ham. Enten ved at møde ham personligt og udveksle den, eller fra et troværdig nøglecenter
2) En digital signatur sikrer ikke fortrolighed, så den kan kombineres med kryptering, så andre heller ikke kan læse den.
Jeg kan se at de fleste algoritmer ikke bare hasher beskeden, men en sammensætning af beskeden og et "id". Er det fordi det er muligt at få beskeden frem ved kun at hashe den alene? Hvis jeg skal bruge det til signatur, skal jeg så havde det id med?
Man kan principielt lave et "chosen plaintext attack", ved at bede om at få signeret en bestemt besked. Ved at sætte et ID - eller blot et tidspunkt på - undgår man det problem. Jeg ved ikke om det er det som du snakker om.
Jo. Det var lige det. Hmmm.. Dette er godt for forståelsen, men jeg har fundet ud af at java har en Signature class og det hjælper jo en del med det praktiske. ;o) I skal have tusind tak for hjælpen. Du vil vel ikke have point erik? Gammelhat smid et svar.
Tilladte BB-code-tags: [b]fed[/b] [i]kursiv[/i] [u]understreget[/u] Web- og emailadresser omdannes automatisk til links. Der sættes "nofollow" på alle links.