RSA Özel Üs Hesaplama

Özel üs d'yi hesaplamak için açık üs e'yi ve totient φ(n)'yi girin.

Nasıl hesaplanır?

Araç, genişletilmiş Öklid algoritmasıyla e × d ≡ 1 (mod φ) koşulunu sağlayan d değerini bulur; algoritma gcd(e, φ) = 1 eşitliğini s·e + t·φ biçiminde yazar, s katsayısı 0 ile φ−1 aralığına indirilince d elde edilir. "Kontrol" satırı e ile d'yi φ moduna göre çarpar ve her zaman 1 göstermelidir. İki girdi de tam sayı olmalıdır: e en az 1, φ en az 2 olmalı, ikisi de 253 (9007199254740992) değerini aşmamalıdır, çünkü daha büyük değerler tam olarak tutulamaz. e ile φ ortak bir çarpana sahipse ters yoktur ve sonuç üretilmez. φ'den büyük bir e kabul edilir ve e mod φ gibi davranır. Bu, küçük sayılarla çalışan bir öğretim aracıdır; φ(n) değerini hazır alır, n'yi çarpanlarına ayırmaz ve anahtar üretmez.

Örnek hesaplama

Ders kitaplarındaki p = 61 ve q = 53 anahtarını alalım. Bu durumda φ = (61 − 1)(53 − 1) = 3120 olur; e = 17 seçelim. Öklid algoritması 3120 = 183·17 + 9, 17 = 1·9 + 8, 9 = 1·8 + 1 adımlarını verir. Geriye doğru çözünce 1 = 2·3120 − 367·17 bulunur; yani e⁻¹ ≡ −367 ve bu da 3120 − 367 = 2753 eder. Araç d = 2.753 gösterir. Kontrol: 17 × 2753 = 46.801 = 15 × 3120 + 1, kalan 1'dir.

Bu örneği dene →

Sık yapılan hatalar

  • φ(n) yerine n girmek. p = 61 ve q = 53 için n 3233, φ ise 3120'dir; n ile bulunan d hiçbir şifreyi çözmez.
  • φ ile ortak çarpanı olan bir e seçmek. φ çift olduğundan çift bir e asla çalışmaz; φ = 3120 için 2, 3, 5 ya da 13'e bölünen her e sonuç vermez.
  • φ'yi p × q − 1 ya da (p − 1) + (q − 1) olarak hesaplamak. İki asal için doğrusu (p − 1)(q − 1) yani burada 60 × 52'dir.
  • Gösterilen d'yi binlik ayırıcısıyla (2.753 ya da bazı yerel ayarlarda 2,753) koda kopyalamak. Sayıyı kullanmadan önce ayırıcıyı silin.
  • Gerçek 2048 bitlik anahtar değerlerini girmeyi beklemek. 253 üzerindeki girdiler reddedilir; gerçek anahtarlar için bir kütüphane kullanın, bu araç küçük asallarla öğrenme içindir.

Bu hesaplama hakkında

RSA anahtar üretimi bir açık üs e seçer ve özel üs d'yi, modülün Euler totient değerine göre modüler tersi olarak hesaplar: d ≡ e⁻¹ (mod φ(n)); yani d, e·d ≡ 1 (mod φ(n)) koşulunu sağlayan tek değerdir. Bu değer basit bölme yerine genişletilmiş Öklid algoritmasıyla bulunur.

Kriptografi öğrencileri ve eğitmenleri, RSA anahtar üretimini elle adım adım çözüp hesaplarını doğrulamak için bu aracı kullanır; güvenlik mühendisleri ise elle oluşturulmuş bir anahtar çiftini kontrol etmek veya RSA'yı kodda uygulamadan önce e, φ(n) ve d arasındaki ilişkiyi tam olarak anlamak için yararlanır.

Bu faydalı oldu mu?

En fazla 3 tepki seçebilirsiniz.

Yorumlar (1)

  • Editör ekibi

    d değerini bulduktan sonra, bu aracın yapmadığı bir gidiş dönüş testiyle çifti doğrulayın. n = 3233, e = 17 ve d = 2753 iken 65 mesajı, 65'in 17. kuvvetinin mod 3233 değeri olan 2790'a şifrelenir; 2790'ın 2753. kuvveti mod 3233 ise yeniden 65'i verir. Mesaj geri gelmezse n değil phi kullandığınızı tekrar kontrol edin. Bir ders kitabı alıştırması mı çözüyorsunuz, yoksa kendi küçük örneğiniz mi var?

Popüler hesaplayıcılar

Tüm Hesaplayıcılar