Dijital İmza Algoritması
Dijital İmza Algoritması daha iyi bilinen, kısaltması DSA bir olan algoritma ait sayısal imza standardize tarafından NIST içinde ABD'de zaman, RSA bile oldu patentli . Bu algoritma, 1993'te kabul edilen Dijital İmza Standardı (en) için DSS belirtiminin bir parçasıdır (FIPS 186). 1996'da küçük bir revizyon yayınlandı (FIPS 186-1) ve standart 2002'de FIPS 186-2'de geliştirildi. Eski bir NSA çalışanı olan David Kravitz'e verilen ABD Patenti No. 5,231,668 (26 Haziran 1991) kapsamındadır ve ücretsiz olarak kullanılabilir .
genel bakış
DSA, 1989'da Claus-Peter Schnorr (en) tarafından geliştirilen başka bir imza türüne benzer . Ayrıca ElGamal imzasıyla ortak noktaları vardır . İşlem üç adımda gerçekleştirilir:
- anahtar üretimi;
- belgenin imzası;
- imzalanan belgenin doğrulanması.
Anahtar Nesil
Güvenlikleri, sonlu bir grupta ayrık logaritma probleminin zorluğuna dayanmaktadır.
- Uzunlukları seçin ve ile 64 ile bölünebilir Bu uzunluklar ile doğrudan anahtarının güvenlik seviyesini tanımlar. NIST 800-57 seçerek önerir ve 128 için eşdeğer güvenlik ısırdı.L{\ görüntü stili L}DEĞİL{\ görüntü stili N}L{\ görüntü stili L}L=3072{\ görüntü stili L = 3072}DEĞİL=256{\ görüntü stili N = 256}
- Bir asal uzunluk sayısı seçin .p{\ görüntü stili p}L{\ görüntü stili L}
- Asal sayı seçin uzunlukta olacak şekilde, birlikte, bir tamsayı.q{\ görüntü stili q}DEĞİL{\ görüntü stili N}p-1=qz{\ görüntü stili p-1 = qz}z{\ görüntü stili z}
- Seç ile, böylece .h{\ görüntü stili h}1<h<p-1{\ görüntü stili 1 <h <p-1}g=hzmodp>1{\ displaystyle g = h ^ {z} {\ bmod {p}}> 1}
- Rastgele birini oluşturabilir ile .x{\ görüntü stili x}0<x<q{\ görüntü stili 0 <x <q}
- Hesapla .y=gxmodp{\ displaystyle y = g ^ {x} {\ bmod {p}}}
- Genel anahtar ise . Özel anahtar ise .(p,q,g,y){\ görüntü stili (p, q, g, y)}x{\ görüntü stili x}
İmza
- gibi rastgele bir sayı seçin .s{\ görüntü stili s}1<s<q{\ görüntü stili 1 <s <q}
- Hesaplamak s1=(gsmodp)modq{\ displaystyle s_ {1} = (g ^ {s} \ mod p) \ mod q}
- Başka biriyle yeniden başlarsas1=0{\ görüntü stili s1 = 0}s{\ görüntü stili s}
- Hesaplama , örneğin, bir şifreleme karma sonucudur SHA-256 mesajı,s2=(H(m)+s1x)s-1modq{\ displaystyle s_ {2} = (H (m) + s_ {1} x) s ^ {- 1} \ mod q}H(m){\ görüntü stili H (m)}m{\ görüntü stili m}
- Başka biriyle yeniden başlarsas2=0{\ görüntü stili s2 = 0}s{\ görüntü stili s}
- imza (s1,s2){\ görüntü stili (s_ {1}, s_ {2})}
Doğrulama
- Doğrulanmışsa veya doğrulanmamışsa imzayı reddet0<s1<q{\ görüntü stili 0 <s_ {1} <q}0<s2<q{\ görüntü stili 0 <s_ {2} <q}
- Hesaplamak w=s2-1modq{\ displaystyle w = s_ {2} ^ {- 1} {\ bmod {q}}}
- Hesaplamak sen1=H(m)⋅wmodq{\ displaystyle u_ {1} = H (m) \ cdot w {\ bmod {q}}}
- Hesaplamak sen2=s1⋅wmodq{\ displaystyle u_ {2} = s_ {1} \ cdot w {\ bmod {q}}}
- Hesaplamak (v=gsen1⋅ysen2modp)modq{\ displaystyle (v = g ^ {u_ {1}} \ cdot y ^ {u_ {2}} {\ bmod {p}}) {\ bmod {q}}}
- İmza geçerliyse v=s1{\ görüntü stili v = s_ {1}}
algoritma geçerliliği
Bu imza ilkesi, doğrulayıcının her zaman gerçek imzaları kabul edeceği anlamında doğrudur. Bu, pratik bir örnekle aşağıdaki şekilde gösterilebilir:
Gönderen ve takip eden:
p-1=qz{\ görüntü stili p-1 = qz}g=hzmodp{\ displaystyle g = h ^ {z} {\ bmod {p}}}
gq≡hqz≡hp-1≡1modp{\ displaystyle g ^ {q} \ eşdeğer h ^ {qz} \ eşdeğer h ^ {p-1} \ eşdeğer 1 {\ bmod {p}}}göre Fermat'ın küçük teoremi . Yana ve asal olduğunu, izler için eşit bir emir vardır .
g>1{\ displaystyle g> 1}q{\ görüntü stili q}g{\ görüntü stili g}q{\ görüntü stili q}
İmzayı gerçekleştiren kişi şunları elde eder:
s2=s-1(H(m)+xs1)modq.{\ displaystyle s_ {2} = s ^ {- 1} (H (m) + xs_ {1}) \ mod {q}.}Yani
s≡H(m)s2-1+xs1s2-1≡H(m)w+xs1w(modq).{\ displaystyle {\ start {matrix} s & \ equiv & H (m) s_ {2} ^ {- 1} + xs_ {1} s_ {2} ^ {- 1} \\ & \ equiv & H (m) ) w + xs_ {1} w {\ pmod {q}}. \\\ end {matris}}}Yana g sırası ait q , sahip:
gs≡gH(m)wgxs1w≡gH(m)wys1w≡gsen1ysen2(modp).{\ displaystyle {\ başlangıç {matris} g ^ {s} & \ eşdeğer & g ^ {{\ rm {H}} (m) w} g ^ {xs_ {1} w} \\ & \ eşdeğer & g ^ {{ \ rm {H}} (m) w} y ^ {s_ {1} w} \\ & \ eşdeğer & g ^ {u1} y ^ {u2} {\ pmod {p}}. \\\ end {matris} }}Son olarak, DSA'nın geçerliliğini elde ederiz:
s1=(gsmodp)modq=(gsen1ysen2modp)modq=v.{\ displaystyle s_ {1} = (g ^ {s} \ mod p) \ mod q = (g ^ {u1} y ^ {u2} \ mod p) \ mod q = v.}
Notlar ve referanslar
(fr) Bu makale kısmen veya tamamen alınır
İngilizce Vikipedi başlıklı makalesinde
" Dijital İmza Algoritması " ( yazarların listesini görmek ) .
-
Guillot, Philippe. , Kriptoloji: Gizli Kodların Sanatı , EDP Bilimleri,2013, 196 s. ( ISBN 978-2-7598-0995-0 ve 2759809951 , OCLC 854569776 , çevrimiçi okuyun ) , s. 60
Ekler
İlgili Makaleler
<img src="https://fr.wikipedia.org/wiki/Special:CentralAutoLogin/start?type=1x1" alt="" title="" width="1" height="1" style="border: none; position: absolute;">