ElGamal Şifreleme Hesaplama

Bir asal p, üreteç g, özel anahtar x, geçici anahtar k ve mesaj m girin.

Nasıl hesaplanır?

Tüm işlemler mod aritmetiğiyle ve hızlı üs alma yöntemiyle yapılır. Asal p, üreteç g, gizli anahtar x, geçici anahtar k ve mesaj m için: y = gx mod p, c1 = gk mod p, s = yk mod p, c2 = m × s mod p. (c1, c2) şifreli metindir, y açık anahtar, s ortak sırdır. Girdiler tam sayıya kırpılır. p en az 3, g en az 2, x ve k en az 1 olmalı, ayrıca 0 ≤ m < p koşulu aranır; p yaklaşık 3,03 milyara kadar çalışır. p'nin asal olduğu ve g'nin üreteç olduğu kontrol edilmez, bunu siz sağlamalısınız.

Örnek hesaplama

p = 23, g = 5, x = 6, k = 3, m = 10 alalım. Açık anahtar: 56 mod 23 = 8. Birinci parça: c1 = 53 mod 23 = 125 mod 23 = 10. Ortak sır: s = 83 mod 23 = 512 mod 23 = 6. İkinci parça: c2 = 10 × 6 mod 23 = 60 mod 23 = 14. Şifreli metin (10, 14), açık anahtar 8, ortak sır 6 olur.

Bu örneği dene →

Sık yapılan hatalar

  • Mesajı p'ye eşit ya da p'den büyük seçmek. Mesaj p'den küçük bir tam sayı olmalıdır, aksi halde sonuç çıkmaz; uzun veriyi bloklara bölün.
  • 4 ya da 24 gibi asal olmayan bir p kullanmak. Araç yine sayı verir ama bu güvenli ve doğru çözülebilir bir ElGamal kurulumu değildir.
  • x veya k değerini 0 girmek. İkisi de en az 1 olmalıdır, 0 için sonuç verilmez.
  • 10,7 gibi ondalıklı mesaj yazmak. Sessizce 10'a kırpılır ve şifrelediğiniz değer değişir.
  • İki mesaj için aynı k'yı kullanmak. Gerçek ElGamal'da her seferinde yeni k gerekir; bu araç yalnızca tek bir çalıştırmayı gösterir.

Kaynaklar

Bu hesaplama hakkında

ElGamal şifreleme sistemi, 1985 yılında Taher Elgamal tarafından yayımlanan ve güvenliğini sonlu bir devirli grupta ayrık logaritma probleminden alan açık anahtarlı bir şifreleme yöntemidir — bir asal p ve üreteç g verildiğinde, y = g^x mod p denkleminden x'i geri hesaplamak işlemsel olarak son derece zordur. Anahtar üretiminde bir özel anahtar x seçilir ve y = g^x mod p açık anahtar olarak yayımlanır; şifreleme aşamasında ise her mesaj için rastgele yeni bir geçici anahtar k kullanılır ve (c₁, c₂) = (g^k mod p, m·y^k mod p) şifre çifti üretilir, böylece aynı açık metin iki kez şifrelendiğinde asla aynı şifreli metni vermez.

Bu hesap makinesi bu matematiği adım adım gösterir: küçük bir asal p, üreteç g, özel anahtar x, geçici anahtar k ve tam sayı mesaj m girildiğinde, algoritmanın izleyeceği şekilde açık anahtarı ve sonuç şifre çiftini hesaplar. Kriptografi öğrencileri, bilgisayar bilimleri eğitmenleri ve güvenlik mühendisleri, asimetrik şifrelemeye ve Diffie-Hellman anahtar değişimi ile DSA imza şemasının da temelini oluşturan ayrık logaritma mantığına sezgi kazanmak için bu tür küçük ölçekli örnekleri kullanır — gerçek uygulamalarda kullanılan asallar yüzlerce basamaklı olup elle veya basit hesap makinesiyle işlenemeyecek büyüklüktedir.

Bu faydalı oldu mu?

En fazla 3 tepki seçebilirsiniz.

Yorumlar (1)

  • Editör ekibi

    Çıktıyı alıcı gibi elle doğrulamak için c1'i özel anahtar kadar kuvvete yükseltip mod p alın. Varsayılan değerlerle 10 üzeri 6 mod 23 sonucu 6 çıkar; bu, gösterilen paylaşılan gizli değerle uyuşur ve c2'yi 6'nın mod 23'e göre tersiyle çarpmak 10 mesajını geri verir. Bunların hepsini sınıf içi bir oyuncak sayın; gerçek veriyi asla küçük sayılarla şifrelemeyin. En çok hangi adımı zor buluyorsunuz?

Popüler hesaplayıcılar

Tüm Hesaplayıcılar