Dijital İmza Nedir ? RSA ve DSA nedir?

Muhammed Karalar
Sep 7, 2018 · 2 min read

Bu yazının amacı bir sonraki yazıda işlenecek olan ECDSA ( Elliptic Curve Digital Signature Algorithm) konusu öncesinde , e-imza konularına giriş yapmaktır. Bildiğiniz üzere günlük hayatta pek çok belgeye imzamızı atarız.Bazen bankada hesap açtırmak için , bazen bir bedel karşılığında hizmet almak bu işlemi tekrarlarız. Belgede imzamızın bulunması, ilgili işlemin bizim tarafımızdan yapıldığını kanıtlar. Elektronik ortamda ise bunun yerine dijital imza kullanılır.

Dijital imzanın , ıslak imzadan farkı belgenin içeriğine göre değişmesidir. Bir başka deyişle ,e-imza sabit bir imza değildir .İmzalanan mesaja göre benzersiz bir şekilde değişir.Ülkemizde dijital imza 5070 sayılı kanun ile Başka bir elektronik veriye eklenen veya elektronik veriyle mantıksal bağlantısı bulunan ve kimlik doğrulama amacıyla kullanılan elektronik verişeklinde tanımlanmıştır.

Yukarıdaki görselde imzalama ve doğrulama işlemleri basitçe resmedilmiştir.

RSA Algoritması

Dijital imzanın oluşturulmasına temel hazırlayan RSA algoritması olmuştur. RSA, bir asimetrik şifreleme algoritmasıdır. Asimetrik şifreleme yönteminde genel anahtar ve özel anahtar olmak üzere iki anahtar bulunur. Adında anlaşılabileceği gibi genel anahtar herkese açıktır.Özel anahtar ise kişiye özeldir ve sadece sahibi tarafından bilinir.Genel anahtar ile özel anahtar arasında matematiksel bağ bulunur ancak herhangi bir genel anahtardan özel anahtara ulaşmak imkansızdır.Asimetrik şifreleme hakkında daha fazla bilgi edinmek için şu yazıma göz atabilirsiniz. RSA algoritması , Ron Rives, Adi Shamir ve Leonard Aldeman tarafından bulunmuştur ve adını geliştiricilerinin soy isimlerinin baş harflerinden almıştır. Algoritmanın matematiksel temelini , Dr.Şadi Evrenşeker tarafından yazılan bilgisayarkavramlari sayfasında bulabilirsiniz.

Dijital İmza Algoritması

DSA (Digital Signature Algorithm) Ağustos 1991’de National Institute of Standards and Technology (NIST) tarafından sayısal imza standardı olarak tasarlanmıştır. DSA algoritması da, RSA gibi açık anahtarlı bir kriptografik algoritmadır.

Not 1 : Firuze Taytaş tarafından hazırlanmış olan şu sayfada Dijital İmza Algoritmasının İncelenmesi isimli makaleyi okuyarak algoritmanın matematiksel temelini inceleyebilirsiniz.

Not 2 : Aşağıda wikipedia üzerinden alınmış bilgiler paylaşılmış olup,sayfa sonunda ilgili link eklenmiştir.

İmzalama

  • 0 < k < q olacak şekilde her bir mesaj için rassal bir k değeri üret.
  • r = (g üzeri k mod p) mod q değerini hesapla.
  • r = 0, ise farklı rassal bir k değeri ile tekrar baştan başla
  • s = (k üzeri -1 (H(m) + xr)) mod q değerini hesapla
  • Eğer s = 0, ise farklı rassal bir k değeri ile tekrar baştan başla.
  • İmza (r, s)

Doğrulama

  • Eğer 0 < r < q ya da 0 < s < q sağlanmazsa imzayı reddet.
  • w = s üzeri -1 mod q değerini hesapla.
  • u1 = H(m)•w mod q değerini hesapla.
  • u2 = rw mod q değerini hesapla.
  • v = ((g üzeri u1•y üzeri u2) mod p) mod q değerini hesapla
  • Eğer v = r ise imza kabul edilir.

    Muhammed Karalar

    Written by

    Welcome to a place where words matter. On Medium, smart voices and original ideas take center stage - with no ads in sight. Watch
    Follow all the topics you care about, and we’ll deliver the best stories for you to your homepage and inbox. Explore
    Get unlimited access to the best stories on Medium — and support writers while you’re at it. Just $5/month. Upgrade