|
| Simpelt spg. ang public keys Fra : Anders Jacobsen |
Dato : 11-06-05 11:13 |
|
Her jeg forstået det rigtig hvis jeg antager at man altid kan;
Epk(message) = X => Dsk(X) = message
Esk(message) = Y => Dpk(X) = message
Altså at har man enkodet med pk kan man afkode med sk og omvendt?
(Antaget af pk = pulic key og sk = secret key og de er et gyldigt par)
Mvh
Anders
| |
Kasper Dupont (11-06-2005)
| Kommentar Fra : Kasper Dupont |
Dato : 11-06-05 21:05 |
|
Anders Jacobsen wrote:
>
> Her jeg forstået det rigtig hvis jeg antager at man altid kan;
>
> Epk(message) = X => Dsk(X) = message
> Esk(message) = Y => Dpk(X) = message
Nej, det er ikke altid rigtigt. Nogle algoritmer
som f.eks. RSA opfylder ovenstående, og så kan man
bruge samme algoritme til både kryptering og
signatur.
Andre public key krypteringer som f.eks. ElGamal
bruger randomiseret kryptering. Det vil sige, at
selvom man krypterer den samme besked flere gange,
så kommer der forskellige ciphertekst ud. Det
betyder naturligvis også, at cipherteksten må blive
større for at dekryptering stadigt kan lade sig
gøre.
Hvis du med ElGamal først anvender den hemlige
nøgle på et input af rigtig størrelse, kommer der
et mindre output ud. Hvis du derefter prøver at
anvende den offentlige nøgle vil du kun komme
tilbage til den oprindelige bitstreng, hvis du
bruger nøjagtigt det rigtige tilfældige input. Det
er naturligvis fuldstændig usandsynligt.
Derfor kan ElGamal krypteringen ikke umiddelbart
bruges til signaturer. Men der er nu alligevel
udviklet en signatur baseret på ElGamal, den er
bare ikke helt så oplagt. Den er i øvrigt
randomiseret ligesom krypteringen. Det vil sige,
at hvis du signerer samme besked mere end en gang,
så får du forskellig signatur.
--
Kasper Dupont -- der bruger for meget tid på usenet.
Note to self: Don't try to allocate 256000 pages
with GFP_KERNEL on x86.
| |
Anders Jacobsen (11-06-2005)
| Kommentar Fra : Anders Jacobsen |
Dato : 11-06-05 23:23 |
|
Jeg taker for det uddybende og "lige hvad jeg havde brug for" svar.
Jeg har kigget på RSA men har fået mixet andre algoritmer ind i mit verdens
billede uden at være klar over det.
Mvh
Anders
>> Her jeg forstået det rigtig hvis jeg antager at man altid kan;
>>
>> Epk(message) = X => Dsk(X) = message
>> Esk(message) = Y => Dpk(X) = message
>
> Nej, det er ikke altid rigtigt. Nogle algoritmer
> som f.eks. RSA opfylder ovenstående, og så kan man
> bruge samme algoritme til både kryptering og
> signatur.
>
> Andre public key krypteringer som f.eks. ElGamal
> bruger randomiseret kryptering. Det vil sige, at
> selvom man krypterer den samme besked flere gange,
> så kommer der forskellige ciphertekst ud. Det
> betyder naturligvis også, at cipherteksten må blive
> større for at dekryptering stadigt kan lade sig
> gøre.
>
> Hvis du med ElGamal først anvender den hemlige
> nøgle på et input af rigtig størrelse, kommer der
> et mindre output ud. Hvis du derefter prøver at
> anvende den offentlige nøgle vil du kun komme
> tilbage til den oprindelige bitstreng, hvis du
> bruger nøjagtigt det rigtige tilfældige input. Det
> er naturligvis fuldstændig usandsynligt.
>
> Derfor kan ElGamal krypteringen ikke umiddelbart
> bruges til signaturer. Men der er nu alligevel
> udviklet en signatur baseret på ElGamal, den er
> bare ikke helt så oplagt. Den er i øvrigt
> randomiseret ligesom krypteringen. Det vil sige,
> at hvis du signerer samme besked mere end en gang,
> så får du forskellig signatur.
>
> --
> Kasper Dupont -- der bruger for meget tid på usenet.
> Note to self: Don't try to allocate 256000 pages
> with GFP_KERNEL on x86.
| |
|
|