Scrigroup - Documente si articole

     

HomeDocumenteUploadResurseAlte limbi doc
AccessAdobe photoshopAlgoritmiAutocadBaze de dateCC sharp
CalculatoareCorel drawDot netExcelFox proFrontpageHardware
HtmlInternetJavaLinuxMatlabMs dosPascal
PhpPower pointRetele calculatoareSqlTutorialsWebdesignWindows
WordXml


Algoritmi semnatura digitala

algoritmi



+ Font mai mare | - Font mai mic



Algoritmi semnatura digitala

majoritatea schemelor cu recuperarea mesajului sunt aplicate mesajelor de lungime fixa, in timp ce schemele cu anexa se aplica mesajelor de lungimi variabile

  • scheme cu anexa

algoritmul de verificare primeste ca intrare mesajul



    • algoritmi generali

generarea cheii

fiecare entitate creeaza o cheie privata pentru semnarea mesajelor si o cheie publica pentru verificare

o entitatea A selecteaza o cheie privata ce defineste o multime a transformarilor de semnare SA = unde fiecare SA,k este o functie injectiva de la Ps la S

SA defineste o transformare de verificare VA :Psx S → ai

adevarat

daca SA,k(p) = s*

VA(p, s*) =

fals

altfel

pPh, s*S, p = h(p) cu p ∈ P
VA poate fi calculata fara a cunoaste semnatura privata a emitentului

cheia publica a lui A este VA si cheia privata este multimea SA

semnarea/verificarea

o entitatea A produce o semnatura s ∈ S pentru un mesaj p ∈ P ce mai tarziu poate fi verificata de o alta entitate B

semnarea

entitatea A executa

a.               selecteaza un element k ∈ I

b.              calculeaza p = h(p) si s* = SA,k(p)

c.               semnatura lui A pentru p este s*; atat p cat si s* sunt puse la dispozitia entitatilor care doresc sa verifice semnatura

verificarea

entitatea B executa

a.               obtine cheia publica autentica, VA a lui A

b.              calculeaza p = h(p) si v = VA(p, s*)

c.               accepta semnatura daca si numai daca v = adevarat

    • ElGamal
    • DSA

este o varianta a semnaturii ElGamal

generarea cheilor

selecteaza un numar prim q ai 2159 < q < 2160

alege t ai 0 ≦ t ≦ 8 si un numar prim p, 2511+64t < p < 2511+64t cu proprietatea q|(p-1)

selecteaza un generator α al grupului ciclic de ord q din Zp*

selecteaza un element g ∈ Zp* si calculeaza α = g(p-1)/q mod p

daca α = 1 at reia de la pasul anterior

selecteaza aleator un intreg a ai 1 ≦ a ≦ q-1

calculeaza y = αa mod p

cheia publica a lui A este (p, q, α, y) si cheia privata este a

semnarea/verificarea

semnarea

entitatea A semneaza un mesaj, p, de lungime arbitrara

selecteaza aleator un intreg k, 0 < k < q, k va ramane secret

calculeaza r = (αk mod p) mod q

calculeaza k-1 mod q

calculeaza s = (k-1(h(p)+ar)) mod q

semnatura lui A este (r, s)

in standardul DSS functia h este SHA-1

verificarea

entitatea B verifica semnatura lui A, (r, s) pentru mesajul p

obtine cheia publica autentica a lui A, (p, q, α, y)

verifica ca 0 < r < q si 0 < s < q, altfel respinge semnatura

calculeaza w = s-1 mod q si h(p)

calculeaza u1 = (wh(m)) mod q si u2 = (rw) mod q

calculeaza v = ( (au1 yu2) ) mod q

accepta semnatura daca v = r

    • PKCS#1

aceasta schema nu utilizeaza caracteristica de recuperare a mesajului a schemei RSA si foloseste o functie de dispersie (MD-2 sau MD-5)

    • Schnorr
    • Feige-Fiat-Shamir
  • scheme cu recuperarea mesajului

algoritmul de verificare nu necesita mesajul

    • algoritmi generali

generarea cheii

fiecare entitate creeaza o cheie privata pentru semnarea mesajelor si o cheie publica pentru verificare

o entitatea A selecteaza o cheie privata ce defineste o multime a transformarilor de semnare SA = unde fiecare SA,k este o functie injectiva de la Ps la S

SA defineste o transformare de verificare VA :SPs ai ∀ pPs, ∀ k ∈ I, VA s SA,k = 1Ps
VA poate fi calculata fara a cunoaste semnatura privata a emitentului

cheia publica a lui A este VA si cheia privata este multimea SA

semnarea/verificarea

o entitatea A produce o semnatura s ∈ S pentru un mesaj p ∈ P ce mai tarziu poate fi verificata de o alta entitate B; mesajul p este recuperat din s

semnarea

entitatea A executa

. selecteaza un element k ∈ I

a.       calculeaza p = r(p) si s* = SA,k(p)

b.      semnatura lui A este s*; s* este pus la dispozitia entitatilor care doresc sa verifice semnatura

verificarea

entitatea B executa

. obtine cheia publica autentica, VA a lui A

a.       calculeaza p = VA(s*)

b.      verifica ca pPr si in acest caz accepta semnatura

c.       recupereaza mesajul p din p calculand r-1(p)

functia redundanta r si inversa sa sunt cunoscute public; selectia lui r este critica pentru securitatea sistemului

    • RSA

atat spatiul de semnare Ps cat si spatiul semnaturilor S sunt reprezentate de Zn

generarea cheilor

fiecare entitate creeaza o cheie publica RSA si o cheie privata corespondenta; o entitate A executa

genereaza doua numere prime distincte, p si q, de acceasi marime

calculeaza n = pq si φ = (p-1)(q-1)

selecteaza aleator in intreg e, 1 < e < φ ai cmmdc(e, φ) = 1

calculeaza intregul (Euclid extins) d, 1 < d < φ ai ed ≡ 1 mod φ

cheia publica a lui A este (n, e) si cheia privata este d

semnarea/verificarea

entitatea A semneaza un mesaj p ∈ P si oricare alta entitate B poate verifica smenatura lui A si recupera mesajul p din semnatura

semnarea

o entitate A executa

calculeaza p = r(p) ca un intreg in intervalul [0, n-1]

calculeaza s = pd mod n

semnatura lui A pentru p este s

verificarea

o alta entitate B executa

obtine cheia publica autentica a lui A, (n, e)

calculeaza p = se mod n

verifica ca p ∈ Pr si daca nu rejecteaza semnatura

recupereaza mesajul p = r-1(p)

    • Rabin
    • Nyberg-Rueppel


Politica de confidentialitate | Termeni si conditii de utilizare



DISTRIBUIE DOCUMENTUL

Comentarii


Vizualizari: 1707
Importanta: rank

Comenteaza documentul:

Te rugam sa te autentifici sau sa iti faci cont pentru a putea comenta

Creaza cont nou

Termeni si conditii de utilizare | Contact
© SCRIGROUP 2024 . All rights reserved