SlideShare une entreprise Scribd logo
1  sur  15
DİJİTAL İMZA ALGORİTMASI(DSA)
KRİPTOLOJİ VE GÜVENLİK PROTOKOLLERİ DERSİ
EKREM GÖKÇE
GIRIŞ
Günümüzün gelişen ve rekabetçi iş dünyasında, kamu kurumları ,bankalar ve diğer kurumlar, müşterilerine hizmet
vermek için İnternet'i kullanmaktadır. Belgelerin değiş tokuşu, bilgileri yetkisiz erişime karşı korumak için özel güvenlik
önlemleri gerektirir. Dijital imza, bir mesajı gönderenin veya bir belgeyi imzalayanın kimliğini doğrulamak ve muhtemelen
gönderilen mesaj veya belgenin orijinal içeriğinin değiştirilmediğinden emin olmak için kullanılabilen bir elektronik
imzadır. Dijital imzalar kolaylıkla taşınabilir, başkası tarafından taklit edilemez ve otomatik olarak zaman damgası alınabilir
(mesaja tarih ve saat eklenir ve ardından bu mesaj imzalanır). Orijinal imzalı mesajın ulaştığından emin olma yeteneği,
gönderenin daha sonra onu kolayca reddedemeyeceği anlamına gelir. Dijital imza, şifrelenmiş olsun ya da olmasın her tür
mesajla kullanılabilir, böylece alıcı, gönderenin kimliğinden ve mesajın sağlam geldiğinden emin olabilir.
DİJİTAL İMZA ALGORİTMASI(DSA)
DSA, veri aktarımı için dijital imzalar oluşturmak için kullanılan birçok algoritmadan biridir. DSA'da, bir çift
numara oluşturulur ve dijital imza olarak kullanılır . DSA dijital imzası bir çift büyük sayıdır bir bilgisayarda ikili
rakam dizileri olarak gösterilir. Dijital imza, bir dizi kural (yani DSA) ve imzalayanın kimliği ve verilerin
bütünlüğünün doğrulanabileceği bir dizi parametre kullanılarak hesaplanır. Bunlar bazı özel algoritmalar
kullanılarak oluşturulur. Alıcının mesajın kaynağını doğrulamasına izin verir. DSA kullanılarak oluşturulan
dijital imza, veri aktarımının başlangıç noktasında özeldir ve kamuya açık olarak sona erer. Bunun anlamı,
mesaja eklenecek olan imzayı yalnızca verileri ileten kişi yapabilir, ancak diğer uçta imzayı herkes
doğrulayabilir.. Bir dijital imza yöntemi genellikle iki tamamlayıcı algoritmayı tanımlar; biri imzalama, diğeri
doğrulama için, imzalama işleminin çıktısına dijital imza denir. Bu, dijital imzalar için Amerika Birleşik
Devletleri Federal Hükümeti standardıdır. Ulusal Standartlar ve Teknoloji Enstitüsü (NIST) tarafından 1993
yılında kabul edilen FIPS 186 'de belirtilen Dijital İmza Standardında (DSS) kullanılmak üzere Ağustos 1991'de
önerilmiştir. DSA, 26 Temmuz 1991'de dosyalanan ve şimdi süresi dolan 5,231,668 ABD Patenti
kapsamındadır ve eski bir NSA çalışanı olan David W. Kravitz'e atfedilir . Bu patent " Washington, DC Ticaret
Bakanlığı tarafından temsil edildiği şekliyle Amerika Birleşik Devletleri" ne verilmiştir ve NIST bu patenti
dünya çapında telifsiz olarak kullanıma sunmuştur. FIPS 186 4 dört kez revizyona uğramış ve en güncel hali
Temmuz 2013'te FIPS 186-4'tür.
DSA PARAMETRELERI
Bir DSA dijital imzası, bir dizi etki alanı parametresi, bir özel anahtar x , bir izin gizli numarası k , imzalanacak veri ve bir karma
işlev kullanılarak hesaplanır . Bir dijital imza, aynı alan parametreleri, sayısal imzayı oluşturmak için kullanılan özel anahtar x ile
matematiksel olarak ilişkili bir açık anahtar y , doğrulanacak veriler ve imza oluşturma sırasında kullanılan aynı karma işlevi
kullanılarak doğrulanır. Bu parametreler şu şekilde tanımlanır:
p bir asal modül, burada 2 L –1 <p < 2 L ve L , p'nin bit uzunluğudur . L değerleri Bölüm 2.2'de verilmektedir.
q ( p - 1) ' in bir asal bölen , burada 2 N - 1 <q < 2 N ve N , q'nun bit uzunluğudur . N İçin değerler Bölüm 2.2'de verilmektedir.
g 1 <g <p olacak şekilde GF (p) ' nin çarpımsal grubunda q mertebesinde bir alt grubun bir oluşturucusu .
x gizli kalması gereken özel anahtar; x , 0 <x <q , yani x [1, q –1] aralığında olacak şekilde rastgele oluşturulmuş bir tamsayıdır .
y genel anahtar, burada y = gx mod p .
k her mesaja özgü gizli bir numara ; k , 0 <k <q , yani k [1, q –1] aralığında olacak şekilde rastgele üretilmiş bir tamsayıdır .
2.2 DSA için Parametre Boyutlarının ve Hash Fonksiyonlarının Seçimi
Bu Standart, L ve N çifti için aşağıdaki seçenekleri belirtir ( sırasıyla p ve q bit uzunlukları ):
L = 1024, N = 160
L = 2048, N = 224
L = 2048, N = 256
L = 3072, N = 256
Federal Hükümet kuruluşları , bu seçeneklerden birini veya birkaçını kullanarak dijital imza oluşturacaktır.
FIPS 186 belirtildiği gibi onaylı bir hash fonksiyonu, edecektir dijital imzaların oluşturma sırasında kullanılacak. DSA dijital imza süreciyle
ilişkili güvenlik gücü, ( L , N ) sayfanın minimum güvenlik gücünden ve kullanılan karma işlevin güvenlik gücünden daha büyük değildir. Hem
kullanılan karma işlev güvenlik kuvveti ve güvenlik kuvveti ( L , N ) çift eder karşılamak veya dijital imza süreci için gerekli güvenlik gücünü
aşmaktadır. Her bir (güvenlik kuvveti L , K ) çifti ve hash fonksiyonu SP 800-57 sağlanır.
SP 800-57, dijital imzaların üretilmesi için belirli bir süre için istenen bir güvenlik gücüne göre uygun ( L , N ) çiftinin seçimi hakkında bilgi
sağlar . Bir ( L , N ) çift eder bu bilgilerin bütün beklenen ömrü boyunca imza bilgi korur seçilmelidir. Bir dijital imza bilgisi için 2009 yılında
oluşturulan eğer fi için Örneğin, ihtiyaçlar korunacak bu yıl ettik ve belirli bir ( L , N ) çifti 2010 yılından sonra, o zaman daha büyük (geçersiz
L , N ) çifti edecektir olduğunu kullanılacak bilgilerin korunması gereken tüm süre boyunca geçerli kalır.
( L , N ) p air'in güvenlik gücünün ve dijital imzaların oluşturulması için kullanılan karma işlevin güvenlik gücünün, katılımcı varlıklar arasında
daha güçlü bir karma işlevi kullanmak için bir anlaşma yapılmadıkça aynı olması önerilir. Karma functio çıkışının uzunluğu zaman , n
büyüktür N (yani, bit uzunluğu q ), daha sonra en soldaki N hash fonksiyonu çıkışı bloğunun bit eder üretimi sırasında hızlı arama fonksiyonu
çıkışı kullanarak herhangi bir hesaplamada kullanılır veya bir dijital imzanın doğrulanması. P O Bir hızlı arama fonksiyonu rovides daha düşük
bir güvenlik kuvveti ( L , N ) çift genellikle gerekir , bu seviyeye hızlı arama fonksiyonu tarafından sağlanan daha büyük bir dijital imza
işleminin güvenlik gücünü azaltacak, çünkü kullanılabilir.
Federal Hükümetin işletme bir Sertifikalandırma Yetkilisi (CA) dışında gereken sadece ilk üç (kullanmak L , K ) çiftleri (yani, (1024, 160),
(2048, 224) ve (2048, 256) çifti). Bir CA , aboneleri tarafından kullanılan ( L , N ) çiftlerine eşit veya onlardan daha büyük bir ( L , N ) çifti
kullanacaktır . İçin aboneler (2048, 224) çifti kullanılarak Örneğin eğer, daha sonra, CA eder , ya (2048, 224), (2048, 256) ya da (3072, 256)
çift kullanın. Bu kuralın olası istisnaları arasında CA'lar arasında çapraz sertifika, dijital imzalar dışındaki amaçlar için anahtarların
onaylanması ve bir anahtar boyutundan veya algoritmadan diğerine geçiş yer alır.
DSA Etki Alanı Parametreleri
DSA, dijital imza üretimi ve doğrulaması için kullanılan özel / genel anahtar çiftlerinin belirli bir alan parametreleri
kümesine göre üretilmesini gerektirir. Bu alan parametreleri bir grup kullanıcı için ortak olabilir ve halka açık olabilir. Bir dizi
alan parametresinin kullanıcısı (yani hem imzalayan hem de doğrulayan), bunları kullanmadan önce geçerliliklerine dair
güvenceye sahip olacaktır. Alan parametreleri kamuya açık bilgiler olabilse de, anahtar çiftini kullanan tüm taraflar için
belirli bir anahtar çifti ile onun alan parametreleri seti arasındaki doğru yazışmanın korunacağı şekilde yönetilecektir. Bir
dizi etki alanı parametresi, uzun bir süre sabit kalabilir. DSA için alan parametreleri, p, q ve g tam sayılarıdır ve isteğe bağlı
olarak, p ve q oluşturmak için kullanılan domain_parameter_seed ve counter (yani, tam alan parametreleri kümesi (p, q, g {
{, alan_parametresi, tohum , sayaç })). Etki alanı parametreleri, güvenilir bir üçüncü taraf (Sertifikalandırma Yetkilisi gibi bir
TTP) veya TTP dışındaki bir varlık tarafından oluşturulabilir. Alan parametresi geçerliliği güvencesi, anahtar çifti üretimi,
dijital imza üretimi veya dijital imza doğrulamasından önce alınacaktır. P ve q tam sayıları üretilecektir. Üretim sürecinin
girdisi, L ve N'nin seçilen değerleridir ( Bölüm 2.2); üretme işleminin çıktısı, p ve q için değerler ve isteğe bağlı olarak,
domain_parameter_seed ve counter değerleridir..
Alan parametrelerinin oluşturulması sırasında kullanılan bir sağlama fonksiyonunun güvenlik gücü, (L, N) çifti ile ilişkili
güvenlik gücünü karşılamalı veya aşmalıdır. Bunun dijital imza işlemi için kullanılabilen karma işlevden daha kısıtlayıcı
olduğuna dikkat edin ( Bölüm 2.2). Her dijital imza anahtar çifti, belirli bir alan parametreleri setiyle doğru bir şekilde
ilişkilendirilecektir (örneğin, genel anahtar ile ilişkili alan parametrelerini tanımlayan bir genel anahtar sertifikası ile). Alan
parametreleri, set devre dışı bırakılıncaya kadar (set artık gerekli olmadığında) yetkisiz değişikliklere karşı korunacaktır.
Aynı alan parametreleri, birden fazla amaç için kullanılabilir (örneğin, aynı alan parametreleri hem dijital imzalar hem de
anahtar kurulumu için kullanılabilir). Bununla birlikte, jeneratör g için farklı değerler kullanmak, bir amaç için oluşturulan
anahtar çiftlerinin başka bir amaç için yanlışlıkla (başarılı bir şekilde) kullanılma riskini azaltır.
Anahtar Çiftleri
Her imzalayanın bir anahtar çifti vardır: bir özel anahtar x ve matematiksel olarak birbiriyle ilişkili bir açık anahtar y .
Özel anahtar , dijital imzaların üretilebileceği yalnızca sabit bir süre (yani özel anahtar kripto periyodu) için
kullanılacaktır; ilgili özel anahtar kullanılarak üretilen dijital imzaların doğrulanması gerektiği sürece genel anahtar
kullanılmaya devam edebilir (yani, genel anahtar, ilişkili özel anahtarın kripto döneminin ötesinde kullanılmaya
devam edebilir). Bir dizi alan adı parametresi ( p , q , g {, alan_parametresi, tohum , sayaç }) için bir dijital imza
anahtar çifti x ve y üretilir. Alan parametrelerinin geçerliliği , anahtar çiftinin oluşturulmasından veya bir dijital
imzanın doğrulanmasından ve onaylanmasından önce garanti edilmelidir. Her bir anahtar çifti , altında anahtar
çiftinin oluşturulduğu alan parametreleri ile ilişkilendirilecektir.
İlk olarak, bunda asal bölen olarak adlandırılan bir asal sayı q seçinlir. Ardından, p-1 mod q = 0 olacak şekilde başka
bir p primer numarası seçilir. P, burda asal modül olarak adlandırılır. Ardından, 1 <g <p, g ** q mod p = 1 ve g = h **
((p – 1) / q) mod p olacak şekilde bir g tamsayısı seçin. Bu algoritmada q aynı zamanda g'nin çarpımsal modulu p
olarak da adlandırılır. Ardından, bunun için 0 <x <q olacak şekilde bir tamsayı seçlir. Sonra, y'yi g ** x mod p olarak
hesaplanır.Bu nedenle, genel anahtarı {p, q, g, y} olarak paketlenir. Özel anahtar {p, q, g, x} olarak paketlenir.
İmza Oluşturma ve Doğrulama
N, q'nun bit uzunluğu olsun. Min (N, outlen) pozitif tamsayıların minimumunu ve outlen'i göstersin, burada outlen,
hash fonksiyonu çıktı bloğunun bit uzunluğudur. Bir M mesajının imzası, aşağıdaki denklemlere göre hesaplanan r ve
s sayı çiftlerinden oluşur:
r== (gk mod p) mod q. z = Hash (M) 'nin en soldaki min (N, outlen) bitleri. s= (k−1(z + xr)) mod q.
s hesaplanırken, Hash (M) 'den elde edilen z dizisi bir tam sayıya dönüştürülecektir.
Örneğin, p, q ve g alan parametreleri bilindiğinde ve k önceden hesaplandığında, imzalanacak mesajın bilgisi
hesaplama için gerekli olmadığından, r de önceden hesaplanabilir. r. Önceden hesaplanmış k, k-1 ve r değerleri
korunmalıdır.r hesaplanana kadar k, p, q ve g özel anahtar x ile aynı şekilde mevcut olduğunda hesaplanabilir .
r ve s değerleri, r = 0 veya s = 0 olup olmadığını belirlemek için kontrol edilmelidir. r = 0 veya s = 0 ise, yeni bir k
değeri üretilecek ve imza yeniden hesaplanacaktır. İmzalar düzgün bir şekilde oluşturulursa, r = 0 veya s = 0 olasılığı
son derece düşüktür.İmza (r, s) mesajla birlikte doğrulayıcıya iletilebilir.
İmza doğrulaması, imzalayanın genel anahtarı kullanılarak herhangi bir taraf (yani imza sahibi, hedeflenen alıcı veya başka bir taraf)
tarafından gerçekleştirilebilir. İmza sahibi, hesaplanan imzanın doğru olduğunu, belki imzalı mesajı hedeflenen alıcıya göndermeden önce
doğrulamak isteyebilir. Hedeflenen alıcı (veya başka herhangi bir taraf) orijinalliğini belirlemek için imzayı doğrular. İmzalı bir mesajın
imzasını doğrulamadan önce, alan parametreleri ve iddia edilen imza sahibinin açık anahtarı ve kimliği doğrulanmış bir şekilde
doğrulayıcıya sağlanacaktır. Genel anahtar, örneğin, güvenilen bir varlık (örneğin, bir CA) tarafından imzalanan bir sertifika şeklinde veya
genel anahtar sahibiyle yüz yüze bir görüşmede elde edilebilir.
M ′, r ′ ve s ′ sırasıyla M, r ve s'nin alınan sürümleri olsun; iddia edilen imza sahibinin açık anahtarı olalım; ve N, q'nun bit uzunluğu olsun.
Ayrıca, min (N, outlen) pozitif tamsayıların minimumunu ve outlen'i göstersin, burada outlen, hash fonksiyonu çıktı bloğunun bit
uzunluğudur.
İmza doğrulama süreci aşağıdaki gibidir:
1. Doğrulayıcı, 0 <r ′ <q ve 0 <s ′ <q; her iki koşulun da ihlal edilmesi halinde imza geçersiz olduğu için reddedilecektir.
2. Adım 1'deki iki koşul karşılanırsa, doğrulayıcı aşağıdakileri hesaplar:
w = (s ′) - 1 mod q. z = Hash'in en soldaki min (N, outlen) bitleri (M ′). u1 = (zw) mod q. u2 = ((r ′) w) mod q.
v = (((g) u1 (y) u2) mod p) mod q.
(S ′) –1'i türetmek için (yani, s mod q'nun çarpımsal tersi).
Hash'ten (M ′) elde edilen z dizisi bir tam sayıya dönüştürülecektir.
3. Eğer v = r ′ ise imza doğrulanır. M ′ = M, r ′ = r ve s ′ = s olduğunda v = r ′ olduğunun bir kanıtı için Ek E'ye bakınız.
4. Eğer v, r ′ değerine eşit değilse, mesaj veya imza değiştirilmiş olabilir, imza sahibinin oluşturma sürecinde bir hata olabilir veya bir
sahtekar (açık anahtarla ilişkili özel anahtarı bilmeyen iddia edilen imza sahibi) imzayı taklit etmeye teşebbüs etmiş olabilir. İmza geçersiz
sayılacaktır. Verinin geçerli olup olmadığı konusunda hiçbir çıkarımda bulunulamaz, yalnızca imzayı doğrulamak için açık anahtar
kullanıldığında, bu veriler için imzanın yanlış olduğu sonucuna varılır.
5. İmzanın geçerli olduğunu kabul etmeden önce, doğrulayıcı, belirtilen teminatlara sahip olacaktır.
Ters Değerin Hesaplanması
Eşdeğer bir sonuç üretir Bu algoritma ya da bir algoritma eder çarpımsal ters
hesaplamak için kullanılabilir z - 1 mod a , burada 0 <z <a , 0 <z - 1 <a ve bir asal sayıdır.
Bu Standartta z , k veya s'dir ve a , q veya n'dir .
Giriş:
1. z Tersine çevrilecek değer mod a (yani, k veya s).
2. a Alan parametresi ve (asal) modülü (yani, q veya n ). Çıktı:
1. durum , bu işlev, dönen durum durum ya olup BAŞARILI veya HATA .
2. z -1 Multiplica nelerinde ters z mod bir varsa. Süreç:
1. emin olun bir ve z pozitif tamsayılardır, öyle ki z < a ; değilse, bir HATA göstergesi
döndürün.
2. Ayar i = , J = z , y 2 = 0, ve y 1 = 1.
3. bölüm = i / j .
4. kalan = i - ( j * bölüm ) .
5. y = y 2 - ( y 1 * bölüm ).
6. Takım i j = , J = kalan , y 2 y = 1 , ve y 1 = y .
7. Eğer (j> 0) ise 3. adıma gidin.
8. Eğer ( i ≠ 1) ise, bir HATA göstergesi döndürün.
9. BAŞARI ve y 2 mod a dönün .
DSA için gerekli güvenlik koşulları
1. g (sırasıyla G) tarafından yayılan alt gruptaki ayrık logaritma zordur.
2. SHA-1, tek yönlü bir karma işlevdir.
3. SHA-1, çarpışmaya dirençli bir hash fonksiyonudur.
4. k için jeneratör tahmin edilemez.
Bu koşullar bazı belirli modellerde "az çok" yeterlidir.
Koşul 1 oldukça açıktır: Eğer koşul geçerli değilse, açık anahtarın ayrık logaritmasını hesaplayabilir ve gizli anahtarı elde
edebiliriz. (Genel anahtarın standart beyazlatma teknikleriyle rastgele hale getirilmesi gerekir.) Bununla birlikte, ayrık
logaritma sorununun gizli anahtarı hesaplamakla eşdeğer olmadığına dikkat edilmelidir. Meşru imzalayan, gerçekten de onu
nasıl hesaplayacağını bilir, ancak ayrık logaritma problemini nasıl çözeceğini bilmek zorunda değildir.
Koşul 2, h'nin SHA-1 (M) rolünü oynadığı üçlü (h, r, s) üçlülerinin taklit edilmesini sağlayan varoluşsal sahtecilik saldırısından
gelir: DSA için rastgele için r = (gαyβ mod p) mod q seçilebilir α ve β, , sonra h = sα mod q. (Üçlü ile, SHA-1'i h'de ters
çevirmeyi deneyebilir ve geçerli bir imzalı mesaj alabilir.
Durum 3 önemsizdir: Eğer biri bir çarpışma SHA-1(M1) = SHA-1(M2) elde edebiliyorsa, M1 imzası (seçilen bir mesaj
saldırısında) istenebilir, ardından M2 imzası taklit edilebilir.
Koşul 4 tutmuyorsa, k'yi tahmin edebilir, sonra gizli anahtarı s ve r'den çıkartabilirsiniz.
Kaba kuvvet saldırılarının iş yükünü ölçebiliriz: Shanks algoritması, (√q) (sırasıyla Ω (Ωn)) karmaşıklığı içinde Koşul 1'i
bozabilir. Rastgele arama, 2160 hesaplama içinde Koşul 2'yi bozabilir. Doğum günü saldırısı, 280 hesaplama içinde Koşul 3'ü
bozar. Ayrıca 2160 denemede Koşul 4 kırılabilir.
GÜVENLİK VE KRİPTOANALİZ
Pointcheval-Vaudenay Modeli
Pointcheval-Vaudenay sonucu, ISO / IEC 14888 standardına dahil edilen bir DSA varyantı için daha gerçekçi varsayımlarla
geçerlidir . Bu varyantta SHA-1 ( M ), Schnorr imzasında olduğu gibi SHA-1 ( r | M ) ile değiştirilir. Pointcheval-Vaudenay
sonucunda, SHA-1'in hala rastgele bir kahin gibi davranması gerekiyor. Mod q (örneğin. (x1, y1) → x1 mod n) ) Fonksiyonu ile
ilgili hipotez, bir O (log q ) - çarpışma özgürlüğü (sırasıyla O (log n ) - çarpışma özgürlüğü) ile değiştirilir.Bu araçlarının tüm
öngörüntü boyutları bağlı olduğu göre ed O (log k ) (sırasıyla. O (log n )). Bu hipotez oldukça gerçekçidir (aslında aynı
aralıktaki rastgele fonksiyonlar için geçerlidir). Bu nedenle, tüm varsayımlar gerçekçidir, ancak rastgele oracle modelindeki
tartışma içindir.
SHA-1 ( M ) ' nin SHA-1 ( r | M ) ile değiştirildiği DSA'nın PointchevalVaudenay varyantını ele alıyoruz . Bu şemada, SHA-1'in
tekdüze dağıtılmış rastgele oracle H ile değiştirildiğini varsayıyoruz. K'yi f ( k ) = ( g k mod p )
mod q'ya eşleyen ffonksiyonunun Z q üzerinden O (log q ) olduğu varsayılır. ) - çarpışmasız. Ayrıca, k için sözde rasgele
üretecinin, tekdüze olarak dağıtılmış bir rastgele oluşturucudan ayırt edilemez olduğunu varsayıyoruz. Açık anahtar
y'nin O ( T ) zamanında geçerli bir ( M, h, r, s ) dörtlü ,'dan büyük olasılık ve O ( N ) oracle erişimleri taklit ettiği bir algoritma
göz önüne alındığında, y'yi veren bir algoritma yapabiliriz. x'i verilen algoritmanın O ( N log q loglog q / ε ) tekrarları içinde
hesaplar .
Kanıt ana fikir çatal yapan Çatallanan lemma bir iyileşme olduğunu ile Q (log k ) iki yerine dalları.
DSA ile rastgele imza değerinin entropisi, gizliliği ve benzersizliği kritik öneme sahiptir. Bu üç gereksinimden herhangi birinin
ihlal edilmesi, özel anahtarın tamamını bir saldırgana ifşa edebilmesi çok önemlidir. Aynı değeri iki kez kullanmak ( gizli
tutarken bile ), öngörülebilir bir değer kullanmak veya birkaç imzanın her birinde birkaç bit sızdırmak bile özel anahtarı
ortaya çıkarmak için yeterlidir.
SONUÇ
DSA’yı her tür mesaj için dijital imza oluşturmak için kullanabiliriz. Bu algoritmanın güvenli olduğu kanıtlanmıştır,
çünkü çözülmesi çok zor olan ayrık logaritma problemine bağlıdır. Lakin zayıflıklarıda vardır ve Standart FIPS
186–5'in taslak bir sürümü, standardın bir belge olarak uygulama tarihinden önce oluşturulan imzaların
doğrulanmasına izin verirken, DSA ile imzalamayı yasaklar. EdDSA gibi daha yeni imza şemaları ile
değiştirilecektir . Dijital İmza Algoritması Dijital imza, elektronik kayıt için en iyi kimlik doğrulama araçlarından
biridir.
TEŞEKKÜRLER …
EKREM GÖKÇE

Contenu connexe

En vedette

2024 State of Marketing Report – by Hubspot
2024 State of Marketing Report – by Hubspot2024 State of Marketing Report – by Hubspot
2024 State of Marketing Report – by HubspotMarius Sescu
 
Everything You Need To Know About ChatGPT
Everything You Need To Know About ChatGPTEverything You Need To Know About ChatGPT
Everything You Need To Know About ChatGPTExpeed Software
 
Product Design Trends in 2024 | Teenage Engineerings
Product Design Trends in 2024 | Teenage EngineeringsProduct Design Trends in 2024 | Teenage Engineerings
Product Design Trends in 2024 | Teenage EngineeringsPixeldarts
 
How Race, Age and Gender Shape Attitudes Towards Mental Health
How Race, Age and Gender Shape Attitudes Towards Mental HealthHow Race, Age and Gender Shape Attitudes Towards Mental Health
How Race, Age and Gender Shape Attitudes Towards Mental HealthThinkNow
 
AI Trends in Creative Operations 2024 by Artwork Flow.pdf
AI Trends in Creative Operations 2024 by Artwork Flow.pdfAI Trends in Creative Operations 2024 by Artwork Flow.pdf
AI Trends in Creative Operations 2024 by Artwork Flow.pdfmarketingartwork
 
PEPSICO Presentation to CAGNY Conference Feb 2024
PEPSICO Presentation to CAGNY Conference Feb 2024PEPSICO Presentation to CAGNY Conference Feb 2024
PEPSICO Presentation to CAGNY Conference Feb 2024Neil Kimberley
 
Content Methodology: A Best Practices Report (Webinar)
Content Methodology: A Best Practices Report (Webinar)Content Methodology: A Best Practices Report (Webinar)
Content Methodology: A Best Practices Report (Webinar)contently
 
How to Prepare For a Successful Job Search for 2024
How to Prepare For a Successful Job Search for 2024How to Prepare For a Successful Job Search for 2024
How to Prepare For a Successful Job Search for 2024Albert Qian
 
Social Media Marketing Trends 2024 // The Global Indie Insights
Social Media Marketing Trends 2024 // The Global Indie InsightsSocial Media Marketing Trends 2024 // The Global Indie Insights
Social Media Marketing Trends 2024 // The Global Indie InsightsKurio // The Social Media Age(ncy)
 
Trends In Paid Search: Navigating The Digital Landscape In 2024
Trends In Paid Search: Navigating The Digital Landscape In 2024Trends In Paid Search: Navigating The Digital Landscape In 2024
Trends In Paid Search: Navigating The Digital Landscape In 2024Search Engine Journal
 
5 Public speaking tips from TED - Visualized summary
5 Public speaking tips from TED - Visualized summary5 Public speaking tips from TED - Visualized summary
5 Public speaking tips from TED - Visualized summarySpeakerHub
 
ChatGPT and the Future of Work - Clark Boyd
ChatGPT and the Future of Work - Clark Boyd ChatGPT and the Future of Work - Clark Boyd
ChatGPT and the Future of Work - Clark Boyd Clark Boyd
 
Getting into the tech field. what next
Getting into the tech field. what next Getting into the tech field. what next
Getting into the tech field. what next Tessa Mero
 
Google's Just Not That Into You: Understanding Core Updates & Search Intent
Google's Just Not That Into You: Understanding Core Updates & Search IntentGoogle's Just Not That Into You: Understanding Core Updates & Search Intent
Google's Just Not That Into You: Understanding Core Updates & Search IntentLily Ray
 
Time Management & Productivity - Best Practices
Time Management & Productivity -  Best PracticesTime Management & Productivity -  Best Practices
Time Management & Productivity - Best PracticesVit Horky
 
The six step guide to practical project management
The six step guide to practical project managementThe six step guide to practical project management
The six step guide to practical project managementMindGenius
 
Beginners Guide to TikTok for Search - Rachel Pearson - We are Tilt __ Bright...
Beginners Guide to TikTok for Search - Rachel Pearson - We are Tilt __ Bright...Beginners Guide to TikTok for Search - Rachel Pearson - We are Tilt __ Bright...
Beginners Guide to TikTok for Search - Rachel Pearson - We are Tilt __ Bright...RachelPearson36
 

En vedette (20)

2024 State of Marketing Report – by Hubspot
2024 State of Marketing Report – by Hubspot2024 State of Marketing Report – by Hubspot
2024 State of Marketing Report – by Hubspot
 
Everything You Need To Know About ChatGPT
Everything You Need To Know About ChatGPTEverything You Need To Know About ChatGPT
Everything You Need To Know About ChatGPT
 
Product Design Trends in 2024 | Teenage Engineerings
Product Design Trends in 2024 | Teenage EngineeringsProduct Design Trends in 2024 | Teenage Engineerings
Product Design Trends in 2024 | Teenage Engineerings
 
How Race, Age and Gender Shape Attitudes Towards Mental Health
How Race, Age and Gender Shape Attitudes Towards Mental HealthHow Race, Age and Gender Shape Attitudes Towards Mental Health
How Race, Age and Gender Shape Attitudes Towards Mental Health
 
AI Trends in Creative Operations 2024 by Artwork Flow.pdf
AI Trends in Creative Operations 2024 by Artwork Flow.pdfAI Trends in Creative Operations 2024 by Artwork Flow.pdf
AI Trends in Creative Operations 2024 by Artwork Flow.pdf
 
Skeleton Culture Code
Skeleton Culture CodeSkeleton Culture Code
Skeleton Culture Code
 
PEPSICO Presentation to CAGNY Conference Feb 2024
PEPSICO Presentation to CAGNY Conference Feb 2024PEPSICO Presentation to CAGNY Conference Feb 2024
PEPSICO Presentation to CAGNY Conference Feb 2024
 
Content Methodology: A Best Practices Report (Webinar)
Content Methodology: A Best Practices Report (Webinar)Content Methodology: A Best Practices Report (Webinar)
Content Methodology: A Best Practices Report (Webinar)
 
How to Prepare For a Successful Job Search for 2024
How to Prepare For a Successful Job Search for 2024How to Prepare For a Successful Job Search for 2024
How to Prepare For a Successful Job Search for 2024
 
Social Media Marketing Trends 2024 // The Global Indie Insights
Social Media Marketing Trends 2024 // The Global Indie InsightsSocial Media Marketing Trends 2024 // The Global Indie Insights
Social Media Marketing Trends 2024 // The Global Indie Insights
 
Trends In Paid Search: Navigating The Digital Landscape In 2024
Trends In Paid Search: Navigating The Digital Landscape In 2024Trends In Paid Search: Navigating The Digital Landscape In 2024
Trends In Paid Search: Navigating The Digital Landscape In 2024
 
5 Public speaking tips from TED - Visualized summary
5 Public speaking tips from TED - Visualized summary5 Public speaking tips from TED - Visualized summary
5 Public speaking tips from TED - Visualized summary
 
ChatGPT and the Future of Work - Clark Boyd
ChatGPT and the Future of Work - Clark Boyd ChatGPT and the Future of Work - Clark Boyd
ChatGPT and the Future of Work - Clark Boyd
 
Getting into the tech field. what next
Getting into the tech field. what next Getting into the tech field. what next
Getting into the tech field. what next
 
Google's Just Not That Into You: Understanding Core Updates & Search Intent
Google's Just Not That Into You: Understanding Core Updates & Search IntentGoogle's Just Not That Into You: Understanding Core Updates & Search Intent
Google's Just Not That Into You: Understanding Core Updates & Search Intent
 
How to have difficult conversations
How to have difficult conversations How to have difficult conversations
How to have difficult conversations
 
Introduction to Data Science
Introduction to Data ScienceIntroduction to Data Science
Introduction to Data Science
 
Time Management & Productivity - Best Practices
Time Management & Productivity -  Best PracticesTime Management & Productivity -  Best Practices
Time Management & Productivity - Best Practices
 
The six step guide to practical project management
The six step guide to practical project managementThe six step guide to practical project management
The six step guide to practical project management
 
Beginners Guide to TikTok for Search - Rachel Pearson - We are Tilt __ Bright...
Beginners Guide to TikTok for Search - Rachel Pearson - We are Tilt __ Bright...Beginners Guide to TikTok for Search - Rachel Pearson - We are Tilt __ Bright...
Beginners Guide to TikTok for Search - Rachel Pearson - We are Tilt __ Bright...
 

DİJİTAL İMZA ALGORİTMASI (DSA)

  • 1. DİJİTAL İMZA ALGORİTMASI(DSA) KRİPTOLOJİ VE GÜVENLİK PROTOKOLLERİ DERSİ EKREM GÖKÇE
  • 2. GIRIŞ Günümüzün gelişen ve rekabetçi iş dünyasında, kamu kurumları ,bankalar ve diğer kurumlar, müşterilerine hizmet vermek için İnternet'i kullanmaktadır. Belgelerin değiş tokuşu, bilgileri yetkisiz erişime karşı korumak için özel güvenlik önlemleri gerektirir. Dijital imza, bir mesajı gönderenin veya bir belgeyi imzalayanın kimliğini doğrulamak ve muhtemelen gönderilen mesaj veya belgenin orijinal içeriğinin değiştirilmediğinden emin olmak için kullanılabilen bir elektronik imzadır. Dijital imzalar kolaylıkla taşınabilir, başkası tarafından taklit edilemez ve otomatik olarak zaman damgası alınabilir (mesaja tarih ve saat eklenir ve ardından bu mesaj imzalanır). Orijinal imzalı mesajın ulaştığından emin olma yeteneği, gönderenin daha sonra onu kolayca reddedemeyeceği anlamına gelir. Dijital imza, şifrelenmiş olsun ya da olmasın her tür mesajla kullanılabilir, böylece alıcı, gönderenin kimliğinden ve mesajın sağlam geldiğinden emin olabilir.
  • 3. DİJİTAL İMZA ALGORİTMASI(DSA) DSA, veri aktarımı için dijital imzalar oluşturmak için kullanılan birçok algoritmadan biridir. DSA'da, bir çift numara oluşturulur ve dijital imza olarak kullanılır . DSA dijital imzası bir çift büyük sayıdır bir bilgisayarda ikili rakam dizileri olarak gösterilir. Dijital imza, bir dizi kural (yani DSA) ve imzalayanın kimliği ve verilerin bütünlüğünün doğrulanabileceği bir dizi parametre kullanılarak hesaplanır. Bunlar bazı özel algoritmalar kullanılarak oluşturulur. Alıcının mesajın kaynağını doğrulamasına izin verir. DSA kullanılarak oluşturulan dijital imza, veri aktarımının başlangıç noktasında özeldir ve kamuya açık olarak sona erer. Bunun anlamı, mesaja eklenecek olan imzayı yalnızca verileri ileten kişi yapabilir, ancak diğer uçta imzayı herkes doğrulayabilir.. Bir dijital imza yöntemi genellikle iki tamamlayıcı algoritmayı tanımlar; biri imzalama, diğeri doğrulama için, imzalama işleminin çıktısına dijital imza denir. Bu, dijital imzalar için Amerika Birleşik Devletleri Federal Hükümeti standardıdır. Ulusal Standartlar ve Teknoloji Enstitüsü (NIST) tarafından 1993 yılında kabul edilen FIPS 186 'de belirtilen Dijital İmza Standardında (DSS) kullanılmak üzere Ağustos 1991'de önerilmiştir. DSA, 26 Temmuz 1991'de dosyalanan ve şimdi süresi dolan 5,231,668 ABD Patenti kapsamındadır ve eski bir NSA çalışanı olan David W. Kravitz'e atfedilir . Bu patent " Washington, DC Ticaret Bakanlığı tarafından temsil edildiği şekliyle Amerika Birleşik Devletleri" ne verilmiştir ve NIST bu patenti dünya çapında telifsiz olarak kullanıma sunmuştur. FIPS 186 4 dört kez revizyona uğramış ve en güncel hali Temmuz 2013'te FIPS 186-4'tür.
  • 4. DSA PARAMETRELERI Bir DSA dijital imzası, bir dizi etki alanı parametresi, bir özel anahtar x , bir izin gizli numarası k , imzalanacak veri ve bir karma işlev kullanılarak hesaplanır . Bir dijital imza, aynı alan parametreleri, sayısal imzayı oluşturmak için kullanılan özel anahtar x ile matematiksel olarak ilişkili bir açık anahtar y , doğrulanacak veriler ve imza oluşturma sırasında kullanılan aynı karma işlevi kullanılarak doğrulanır. Bu parametreler şu şekilde tanımlanır: p bir asal modül, burada 2 L –1 <p < 2 L ve L , p'nin bit uzunluğudur . L değerleri Bölüm 2.2'de verilmektedir. q ( p - 1) ' in bir asal bölen , burada 2 N - 1 <q < 2 N ve N , q'nun bit uzunluğudur . N İçin değerler Bölüm 2.2'de verilmektedir. g 1 <g <p olacak şekilde GF (p) ' nin çarpımsal grubunda q mertebesinde bir alt grubun bir oluşturucusu . x gizli kalması gereken özel anahtar; x , 0 <x <q , yani x [1, q –1] aralığında olacak şekilde rastgele oluşturulmuş bir tamsayıdır . y genel anahtar, burada y = gx mod p . k her mesaja özgü gizli bir numara ; k , 0 <k <q , yani k [1, q –1] aralığında olacak şekilde rastgele üretilmiş bir tamsayıdır . 2.2 DSA için Parametre Boyutlarının ve Hash Fonksiyonlarının Seçimi Bu Standart, L ve N çifti için aşağıdaki seçenekleri belirtir ( sırasıyla p ve q bit uzunlukları ): L = 1024, N = 160 L = 2048, N = 224 L = 2048, N = 256 L = 3072, N = 256
  • 5. Federal Hükümet kuruluşları , bu seçeneklerden birini veya birkaçını kullanarak dijital imza oluşturacaktır. FIPS 186 belirtildiği gibi onaylı bir hash fonksiyonu, edecektir dijital imzaların oluşturma sırasında kullanılacak. DSA dijital imza süreciyle ilişkili güvenlik gücü, ( L , N ) sayfanın minimum güvenlik gücünden ve kullanılan karma işlevin güvenlik gücünden daha büyük değildir. Hem kullanılan karma işlev güvenlik kuvveti ve güvenlik kuvveti ( L , N ) çift eder karşılamak veya dijital imza süreci için gerekli güvenlik gücünü aşmaktadır. Her bir (güvenlik kuvveti L , K ) çifti ve hash fonksiyonu SP 800-57 sağlanır. SP 800-57, dijital imzaların üretilmesi için belirli bir süre için istenen bir güvenlik gücüne göre uygun ( L , N ) çiftinin seçimi hakkında bilgi sağlar . Bir ( L , N ) çift eder bu bilgilerin bütün beklenen ömrü boyunca imza bilgi korur seçilmelidir. Bir dijital imza bilgisi için 2009 yılında oluşturulan eğer fi için Örneğin, ihtiyaçlar korunacak bu yıl ettik ve belirli bir ( L , N ) çifti 2010 yılından sonra, o zaman daha büyük (geçersiz L , N ) çifti edecektir olduğunu kullanılacak bilgilerin korunması gereken tüm süre boyunca geçerli kalır. ( L , N ) p air'in güvenlik gücünün ve dijital imzaların oluşturulması için kullanılan karma işlevin güvenlik gücünün, katılımcı varlıklar arasında daha güçlü bir karma işlevi kullanmak için bir anlaşma yapılmadıkça aynı olması önerilir. Karma functio çıkışının uzunluğu zaman , n büyüktür N (yani, bit uzunluğu q ), daha sonra en soldaki N hash fonksiyonu çıkışı bloğunun bit eder üretimi sırasında hızlı arama fonksiyonu çıkışı kullanarak herhangi bir hesaplamada kullanılır veya bir dijital imzanın doğrulanması. P O Bir hızlı arama fonksiyonu rovides daha düşük bir güvenlik kuvveti ( L , N ) çift genellikle gerekir , bu seviyeye hızlı arama fonksiyonu tarafından sağlanan daha büyük bir dijital imza işleminin güvenlik gücünü azaltacak, çünkü kullanılabilir. Federal Hükümetin işletme bir Sertifikalandırma Yetkilisi (CA) dışında gereken sadece ilk üç (kullanmak L , K ) çiftleri (yani, (1024, 160), (2048, 224) ve (2048, 256) çifti). Bir CA , aboneleri tarafından kullanılan ( L , N ) çiftlerine eşit veya onlardan daha büyük bir ( L , N ) çifti kullanacaktır . İçin aboneler (2048, 224) çifti kullanılarak Örneğin eğer, daha sonra, CA eder , ya (2048, 224), (2048, 256) ya da (3072, 256) çift kullanın. Bu kuralın olası istisnaları arasında CA'lar arasında çapraz sertifika, dijital imzalar dışındaki amaçlar için anahtarların onaylanması ve bir anahtar boyutundan veya algoritmadan diğerine geçiş yer alır.
  • 6. DSA Etki Alanı Parametreleri DSA, dijital imza üretimi ve doğrulaması için kullanılan özel / genel anahtar çiftlerinin belirli bir alan parametreleri kümesine göre üretilmesini gerektirir. Bu alan parametreleri bir grup kullanıcı için ortak olabilir ve halka açık olabilir. Bir dizi alan parametresinin kullanıcısı (yani hem imzalayan hem de doğrulayan), bunları kullanmadan önce geçerliliklerine dair güvenceye sahip olacaktır. Alan parametreleri kamuya açık bilgiler olabilse de, anahtar çiftini kullanan tüm taraflar için belirli bir anahtar çifti ile onun alan parametreleri seti arasındaki doğru yazışmanın korunacağı şekilde yönetilecektir. Bir dizi etki alanı parametresi, uzun bir süre sabit kalabilir. DSA için alan parametreleri, p, q ve g tam sayılarıdır ve isteğe bağlı olarak, p ve q oluşturmak için kullanılan domain_parameter_seed ve counter (yani, tam alan parametreleri kümesi (p, q, g { {, alan_parametresi, tohum , sayaç })). Etki alanı parametreleri, güvenilir bir üçüncü taraf (Sertifikalandırma Yetkilisi gibi bir TTP) veya TTP dışındaki bir varlık tarafından oluşturulabilir. Alan parametresi geçerliliği güvencesi, anahtar çifti üretimi, dijital imza üretimi veya dijital imza doğrulamasından önce alınacaktır. P ve q tam sayıları üretilecektir. Üretim sürecinin girdisi, L ve N'nin seçilen değerleridir ( Bölüm 2.2); üretme işleminin çıktısı, p ve q için değerler ve isteğe bağlı olarak, domain_parameter_seed ve counter değerleridir.. Alan parametrelerinin oluşturulması sırasında kullanılan bir sağlama fonksiyonunun güvenlik gücü, (L, N) çifti ile ilişkili güvenlik gücünü karşılamalı veya aşmalıdır. Bunun dijital imza işlemi için kullanılabilen karma işlevden daha kısıtlayıcı olduğuna dikkat edin ( Bölüm 2.2). Her dijital imza anahtar çifti, belirli bir alan parametreleri setiyle doğru bir şekilde ilişkilendirilecektir (örneğin, genel anahtar ile ilişkili alan parametrelerini tanımlayan bir genel anahtar sertifikası ile). Alan parametreleri, set devre dışı bırakılıncaya kadar (set artık gerekli olmadığında) yetkisiz değişikliklere karşı korunacaktır. Aynı alan parametreleri, birden fazla amaç için kullanılabilir (örneğin, aynı alan parametreleri hem dijital imzalar hem de anahtar kurulumu için kullanılabilir). Bununla birlikte, jeneratör g için farklı değerler kullanmak, bir amaç için oluşturulan anahtar çiftlerinin başka bir amaç için yanlışlıkla (başarılı bir şekilde) kullanılma riskini azaltır.
  • 7. Anahtar Çiftleri Her imzalayanın bir anahtar çifti vardır: bir özel anahtar x ve matematiksel olarak birbiriyle ilişkili bir açık anahtar y . Özel anahtar , dijital imzaların üretilebileceği yalnızca sabit bir süre (yani özel anahtar kripto periyodu) için kullanılacaktır; ilgili özel anahtar kullanılarak üretilen dijital imzaların doğrulanması gerektiği sürece genel anahtar kullanılmaya devam edebilir (yani, genel anahtar, ilişkili özel anahtarın kripto döneminin ötesinde kullanılmaya devam edebilir). Bir dizi alan adı parametresi ( p , q , g {, alan_parametresi, tohum , sayaç }) için bir dijital imza anahtar çifti x ve y üretilir. Alan parametrelerinin geçerliliği , anahtar çiftinin oluşturulmasından veya bir dijital imzanın doğrulanmasından ve onaylanmasından önce garanti edilmelidir. Her bir anahtar çifti , altında anahtar çiftinin oluşturulduğu alan parametreleri ile ilişkilendirilecektir. İlk olarak, bunda asal bölen olarak adlandırılan bir asal sayı q seçinlir. Ardından, p-1 mod q = 0 olacak şekilde başka bir p primer numarası seçilir. P, burda asal modül olarak adlandırılır. Ardından, 1 <g <p, g ** q mod p = 1 ve g = h ** ((p – 1) / q) mod p olacak şekilde bir g tamsayısı seçin. Bu algoritmada q aynı zamanda g'nin çarpımsal modulu p olarak da adlandırılır. Ardından, bunun için 0 <x <q olacak şekilde bir tamsayı seçlir. Sonra, y'yi g ** x mod p olarak hesaplanır.Bu nedenle, genel anahtarı {p, q, g, y} olarak paketlenir. Özel anahtar {p, q, g, x} olarak paketlenir.
  • 8. İmza Oluşturma ve Doğrulama N, q'nun bit uzunluğu olsun. Min (N, outlen) pozitif tamsayıların minimumunu ve outlen'i göstersin, burada outlen, hash fonksiyonu çıktı bloğunun bit uzunluğudur. Bir M mesajının imzası, aşağıdaki denklemlere göre hesaplanan r ve s sayı çiftlerinden oluşur: r== (gk mod p) mod q. z = Hash (M) 'nin en soldaki min (N, outlen) bitleri. s= (k−1(z + xr)) mod q. s hesaplanırken, Hash (M) 'den elde edilen z dizisi bir tam sayıya dönüştürülecektir. Örneğin, p, q ve g alan parametreleri bilindiğinde ve k önceden hesaplandığında, imzalanacak mesajın bilgisi hesaplama için gerekli olmadığından, r de önceden hesaplanabilir. r. Önceden hesaplanmış k, k-1 ve r değerleri korunmalıdır.r hesaplanana kadar k, p, q ve g özel anahtar x ile aynı şekilde mevcut olduğunda hesaplanabilir . r ve s değerleri, r = 0 veya s = 0 olup olmadığını belirlemek için kontrol edilmelidir. r = 0 veya s = 0 ise, yeni bir k değeri üretilecek ve imza yeniden hesaplanacaktır. İmzalar düzgün bir şekilde oluşturulursa, r = 0 veya s = 0 olasılığı son derece düşüktür.İmza (r, s) mesajla birlikte doğrulayıcıya iletilebilir.
  • 9.
  • 10. İmza doğrulaması, imzalayanın genel anahtarı kullanılarak herhangi bir taraf (yani imza sahibi, hedeflenen alıcı veya başka bir taraf) tarafından gerçekleştirilebilir. İmza sahibi, hesaplanan imzanın doğru olduğunu, belki imzalı mesajı hedeflenen alıcıya göndermeden önce doğrulamak isteyebilir. Hedeflenen alıcı (veya başka herhangi bir taraf) orijinalliğini belirlemek için imzayı doğrular. İmzalı bir mesajın imzasını doğrulamadan önce, alan parametreleri ve iddia edilen imza sahibinin açık anahtarı ve kimliği doğrulanmış bir şekilde doğrulayıcıya sağlanacaktır. Genel anahtar, örneğin, güvenilen bir varlık (örneğin, bir CA) tarafından imzalanan bir sertifika şeklinde veya genel anahtar sahibiyle yüz yüze bir görüşmede elde edilebilir. M ′, r ′ ve s ′ sırasıyla M, r ve s'nin alınan sürümleri olsun; iddia edilen imza sahibinin açık anahtarı olalım; ve N, q'nun bit uzunluğu olsun. Ayrıca, min (N, outlen) pozitif tamsayıların minimumunu ve outlen'i göstersin, burada outlen, hash fonksiyonu çıktı bloğunun bit uzunluğudur. İmza doğrulama süreci aşağıdaki gibidir: 1. Doğrulayıcı, 0 <r ′ <q ve 0 <s ′ <q; her iki koşulun da ihlal edilmesi halinde imza geçersiz olduğu için reddedilecektir. 2. Adım 1'deki iki koşul karşılanırsa, doğrulayıcı aşağıdakileri hesaplar: w = (s ′) - 1 mod q. z = Hash'in en soldaki min (N, outlen) bitleri (M ′). u1 = (zw) mod q. u2 = ((r ′) w) mod q. v = (((g) u1 (y) u2) mod p) mod q. (S ′) –1'i türetmek için (yani, s mod q'nun çarpımsal tersi). Hash'ten (M ′) elde edilen z dizisi bir tam sayıya dönüştürülecektir. 3. Eğer v = r ′ ise imza doğrulanır. M ′ = M, r ′ = r ve s ′ = s olduğunda v = r ′ olduğunun bir kanıtı için Ek E'ye bakınız. 4. Eğer v, r ′ değerine eşit değilse, mesaj veya imza değiştirilmiş olabilir, imza sahibinin oluşturma sürecinde bir hata olabilir veya bir sahtekar (açık anahtarla ilişkili özel anahtarı bilmeyen iddia edilen imza sahibi) imzayı taklit etmeye teşebbüs etmiş olabilir. İmza geçersiz sayılacaktır. Verinin geçerli olup olmadığı konusunda hiçbir çıkarımda bulunulamaz, yalnızca imzayı doğrulamak için açık anahtar kullanıldığında, bu veriler için imzanın yanlış olduğu sonucuna varılır. 5. İmzanın geçerli olduğunu kabul etmeden önce, doğrulayıcı, belirtilen teminatlara sahip olacaktır.
  • 11. Ters Değerin Hesaplanması Eşdeğer bir sonuç üretir Bu algoritma ya da bir algoritma eder çarpımsal ters hesaplamak için kullanılabilir z - 1 mod a , burada 0 <z <a , 0 <z - 1 <a ve bir asal sayıdır. Bu Standartta z , k veya s'dir ve a , q veya n'dir . Giriş: 1. z Tersine çevrilecek değer mod a (yani, k veya s). 2. a Alan parametresi ve (asal) modülü (yani, q veya n ). Çıktı: 1. durum , bu işlev, dönen durum durum ya olup BAŞARILI veya HATA . 2. z -1 Multiplica nelerinde ters z mod bir varsa. Süreç: 1. emin olun bir ve z pozitif tamsayılardır, öyle ki z < a ; değilse, bir HATA göstergesi döndürün. 2. Ayar i = , J = z , y 2 = 0, ve y 1 = 1. 3. bölüm = i / j . 4. kalan = i - ( j * bölüm ) . 5. y = y 2 - ( y 1 * bölüm ). 6. Takım i j = , J = kalan , y 2 y = 1 , ve y 1 = y . 7. Eğer (j> 0) ise 3. adıma gidin. 8. Eğer ( i ≠ 1) ise, bir HATA göstergesi döndürün. 9. BAŞARI ve y 2 mod a dönün .
  • 12. DSA için gerekli güvenlik koşulları 1. g (sırasıyla G) tarafından yayılan alt gruptaki ayrık logaritma zordur. 2. SHA-1, tek yönlü bir karma işlevdir. 3. SHA-1, çarpışmaya dirençli bir hash fonksiyonudur. 4. k için jeneratör tahmin edilemez. Bu koşullar bazı belirli modellerde "az çok" yeterlidir. Koşul 1 oldukça açıktır: Eğer koşul geçerli değilse, açık anahtarın ayrık logaritmasını hesaplayabilir ve gizli anahtarı elde edebiliriz. (Genel anahtarın standart beyazlatma teknikleriyle rastgele hale getirilmesi gerekir.) Bununla birlikte, ayrık logaritma sorununun gizli anahtarı hesaplamakla eşdeğer olmadığına dikkat edilmelidir. Meşru imzalayan, gerçekten de onu nasıl hesaplayacağını bilir, ancak ayrık logaritma problemini nasıl çözeceğini bilmek zorunda değildir. Koşul 2, h'nin SHA-1 (M) rolünü oynadığı üçlü (h, r, s) üçlülerinin taklit edilmesini sağlayan varoluşsal sahtecilik saldırısından gelir: DSA için rastgele için r = (gαyβ mod p) mod q seçilebilir α ve β, , sonra h = sα mod q. (Üçlü ile, SHA-1'i h'de ters çevirmeyi deneyebilir ve geçerli bir imzalı mesaj alabilir. Durum 3 önemsizdir: Eğer biri bir çarpışma SHA-1(M1) = SHA-1(M2) elde edebiliyorsa, M1 imzası (seçilen bir mesaj saldırısında) istenebilir, ardından M2 imzası taklit edilebilir. Koşul 4 tutmuyorsa, k'yi tahmin edebilir, sonra gizli anahtarı s ve r'den çıkartabilirsiniz. Kaba kuvvet saldırılarının iş yükünü ölçebiliriz: Shanks algoritması, (√q) (sırasıyla Ω (Ωn)) karmaşıklığı içinde Koşul 1'i bozabilir. Rastgele arama, 2160 hesaplama içinde Koşul 2'yi bozabilir. Doğum günü saldırısı, 280 hesaplama içinde Koşul 3'ü bozar. Ayrıca 2160 denemede Koşul 4 kırılabilir. GÜVENLİK VE KRİPTOANALİZ
  • 13. Pointcheval-Vaudenay Modeli Pointcheval-Vaudenay sonucu, ISO / IEC 14888 standardına dahil edilen bir DSA varyantı için daha gerçekçi varsayımlarla geçerlidir . Bu varyantta SHA-1 ( M ), Schnorr imzasında olduğu gibi SHA-1 ( r | M ) ile değiştirilir. Pointcheval-Vaudenay sonucunda, SHA-1'in hala rastgele bir kahin gibi davranması gerekiyor. Mod q (örneğin. (x1, y1) → x1 mod n) ) Fonksiyonu ile ilgili hipotez, bir O (log q ) - çarpışma özgürlüğü (sırasıyla O (log n ) - çarpışma özgürlüğü) ile değiştirilir.Bu araçlarının tüm öngörüntü boyutları bağlı olduğu göre ed O (log k ) (sırasıyla. O (log n )). Bu hipotez oldukça gerçekçidir (aslında aynı aralıktaki rastgele fonksiyonlar için geçerlidir). Bu nedenle, tüm varsayımlar gerçekçidir, ancak rastgele oracle modelindeki tartışma içindir. SHA-1 ( M ) ' nin SHA-1 ( r | M ) ile değiştirildiği DSA'nın PointchevalVaudenay varyantını ele alıyoruz . Bu şemada, SHA-1'in tekdüze dağıtılmış rastgele oracle H ile değiştirildiğini varsayıyoruz. K'yi f ( k ) = ( g k mod p ) mod q'ya eşleyen ffonksiyonunun Z q üzerinden O (log q ) olduğu varsayılır. ) - çarpışmasız. Ayrıca, k için sözde rasgele üretecinin, tekdüze olarak dağıtılmış bir rastgele oluşturucudan ayırt edilemez olduğunu varsayıyoruz. Açık anahtar y'nin O ( T ) zamanında geçerli bir ( M, h, r, s ) dörtlü ,'dan büyük olasılık ve O ( N ) oracle erişimleri taklit ettiği bir algoritma göz önüne alındığında, y'yi veren bir algoritma yapabiliriz. x'i verilen algoritmanın O ( N log q loglog q / ε ) tekrarları içinde hesaplar . Kanıt ana fikir çatal yapan Çatallanan lemma bir iyileşme olduğunu ile Q (log k ) iki yerine dalları. DSA ile rastgele imza değerinin entropisi, gizliliği ve benzersizliği kritik öneme sahiptir. Bu üç gereksinimden herhangi birinin ihlal edilmesi, özel anahtarın tamamını bir saldırgana ifşa edebilmesi çok önemlidir. Aynı değeri iki kez kullanmak ( gizli tutarken bile ), öngörülebilir bir değer kullanmak veya birkaç imzanın her birinde birkaç bit sızdırmak bile özel anahtarı ortaya çıkarmak için yeterlidir.
  • 14. SONUÇ DSA’yı her tür mesaj için dijital imza oluşturmak için kullanabiliriz. Bu algoritmanın güvenli olduğu kanıtlanmıştır, çünkü çözülmesi çok zor olan ayrık logaritma problemine bağlıdır. Lakin zayıflıklarıda vardır ve Standart FIPS 186–5'in taslak bir sürümü, standardın bir belge olarak uygulama tarihinden önce oluşturulan imzaların doğrulanmasına izin verirken, DSA ile imzalamayı yasaklar. EdDSA gibi daha yeni imza şemaları ile değiştirilecektir . Dijital İmza Algoritması Dijital imza, elektronik kayıt için en iyi kimlik doğrulama araçlarından biridir.