Eliptik Eğri Nokta Toplama Hesaplayıcı

P+Q'yu hesaplamak için a katsayısını ve P ile Q noktalarını girin.

Nasıl hesaplanır?

Eğri, gerçek sayılar üzerinde y² = x³ + ax + b denklemidir. a değerini ve iki noktayı girersiniz; araç b'yi P noktasından b = y₁² − x₁³ − a·x₁ ile türetir, ardından Q'nun aynı eğri üzerinde olup olmadığını denetler. Değilse sonuç çıkmaz. x değerleri farklı iki nokta için kiriş eğimi m = (y₂ − y₁) ÷ (x₂ − x₁) olur. P ve Q aynı noktaysa onun yerine teğet eğimi m = (3x₁² + a) ÷ (2y₁) kullanılır (ikizleme). Sonra x₃ = m² − x₁ − x₂ ve y₃ = m(x₁ − x₃) − y₁ bulunur; bu, üçüncü kesişim noktasının x eksenine göre yansımasıdır. Sonuçlar dört ondalıkla gösterilir. P ve Q'nun x değeri aynı, y değeri zıtsa (P + (−P)) ya da teğet dikeyse (y = 0) toplam sonsuzdaki noktadır ve araç hiçbir şey göstermez.

Örnek hesaplama

y² = x³ − x + 1 eğrisini alın (a = −1, dolayısıyla b = 1² − 0 − 0 = 1). P = (0, 1) eğriyi belirler; Q = (3, 5) de üzerindedir, çünkü 27 − 3 + 1 = 25 = 5². Eğim m = (5 − 1) ÷ (3 − 0) = 1,3333. Sonra x₃ = 1,3333² − 0 − 3 = 1,7778 − 3 = −1,2222 ve y₃ = 1,3333 × (0 − (−1,2222)) − 1 = 1,6296 − 1 = 0,6296 çıkar. Araç R = P + Q noktasını (-1,2222, 0,6296) olarak gösterir. Kontrol: (−1,2222)³ + 1,2222 + 1 = 0,3964 ve 0,6296² = 0,3964; yani R eğri üzerindedir.

Bu örneği dene →

Sık yapılan hatalar

  • a ve P ile belirlenen eğrinin üzerinde olmayan bir Q girmek. Araç bunu reddeder ve sonuç göstermez; P = (0, 1) ve a = −1 için Q = (3, 9) olmaz, çünkü 81, 25'e eşit değildir. Önce Q'yu y² = x³ + ax + b denkleminde deneyin.
  • Noktaların alındığı eğriden farklı bir a girmek. b değeri P ve a'dan hesaplanır; yanlış a eğriyi kaydırır ve Q çoğu zaman eğri denetimini geçemez.
  • x'i aynı, y'si zıt olan P ve −P'yi girip sayı beklemek. Toplamları sonsuzdaki noktadır ve (x, y) koordinatı yoktur; araç sonuç vermez. P = Q ve y = 0 iken de aynısı olur.
  • Eşit noktaları hata sanmak. Aynı noktayı iki kez girmek serbesttir ve teğet eğimiyle ikizlenmiş 2P noktasını verir.
  • Çıktıyı kriptografik ECC hesabı sanmak. Gerçek kriptografi aynı işlemleri bir asal sayı modülünde tam sayılarla yapar; burada ise gerçek sayılar ve dört basamağa yuvarlanmış ondalık değerler vardır.

Bu hesaplama hakkında

y² = x³ + ax + b ile tanımlanan bir eliptik eğri, üzerindeki noktaları "toplamak" için geometrik bir kuralla birlikte, modern açık anahtarlı kriptografinin altında yatan matematiksel yapı olan cebirsel bir grup oluşturur. Farklı iki P ve Q noktasını toplamak için, aralarından geçen doğru çizilir, bu doğrunun eğriyi üçüncü kez kestiği nokta bulunur ve bu nokta x eksenine göre yansıtılarak R = P + Q elde edilir; bu hesaplayıcı bu işlemi gerçekleştirir ve elde edilen noktayı kiriş eğimiyle birlikte bildirir. b değerini P'den bulur, Q aynı eğri üzerinde değilse sonuç göstermez; P = Q olduğunda ise teğet eğimini (3x² + a)/2y kullanır.

Bu nokta toplama kuralı (ve bir noktayı kendisine eklemek için kullanılan ilgili nokta ikizleme kuralı), ECDSA dijital imzalarında, TLS/HTTPS anahtar değişiminde ve Bitcoin ile diğer kripto para cüzdanlarında kullanılan eliptik eğri kriptografisinin (ECC) temelidir — burada aynı grup yasası gerçek sayılar yerine sonlu bir cisim üzerinde uygulanır ve tekrarlanan nokta toplamayı tersine çevirmenin zorluğu (eliptik eğri ayrık logaritma problemi), kriptografiyi güvenli kılan şeydir. Bu hesaplayıcının yaptığı gibi gerçek sayılar üzerinde işlemek, kriptografi ve kodlama teorisi derslerinin sonlu cisimlere geçmeden önce geometriyi tanıtma biçiminin ta kendisidir.

Bu faydalı oldu mu?

En fazla 3 tepki seçebilirsiniz.

Yorumlar (1)

  • Editör ekibi

    P ile Q'yu değiştirmeyi deneyin: toplam aynı çıkmalıdır, çünkü eğri üzerindeki nokta toplama işleminde sıra önemli değildir (P artı Q, Q artı P'ye eşittir) ve bu, bir yazım hatasını yakalamanın hızlı yoludur. Sonra aynı noktayı iki kez girerek teğet kuralının onu nasıl ikiye katladığını görün. Bunlar gerçek sayı noktalarıdır; kriptografi aynı adımları bir asal sayı modunda yapar. Asal cisim üzerinde bir sürüm yararlı olur muydu? İstediğiniz asal büyüklüklerini yazın.

Popüler hesaplayıcılar

Tüm Hesaplayıcılar