Montgomery Eğrisi Peter L. Montgomery tarafından 1987'de tanımlanmış, klasik Weierstrass formundan farklı bir eliptik eğri formudur.[1] Belirli hesaplamalar için ve özellikle farklı kriptografi uygulamalarında kullanılır.
K cismi üzerinde Montgomery egrisi, belirli A, B ∈ K değerleri için ve B(A2 − 4) ≠ 0 eşitsizliği sağlanıyorken, aşağıdaki eşitsizlikle tanımlanır:
Bu eğri genellikle bir Ksonlu cismi üzerinde tanımlı olur. (örnek olarak q elemanın oluşturduğu bir sonlu cisim, K = Fq) Bu sonlu cismin karakteristiği 2'den farklı ve A ∈ K ∖ {−2, 2},B ∈ K ∖ {0}, olması gerektiğine dikkat edelim. Aynı zamanda A ve B için aynı kısıtlamalara sahip rasyoneller üzerinde de düşünülür.
Bir eliptik eğri üzerinde noktaları arasında, nokta toplama ve nokta ikileme işlemleri gerçekleştirilebilmektedir. Nokta Toplama; eliptik eğrisi üzerinde tanımlı iki nokta olmak üzere ; olacak şekilde noktası bulmak işlemidir. Nokta İkileme ise işlemidir. (Kullanılan işlemler hakkında detaylı bilgi için bkz; elliptic eğri grup kuralları (eng: the group law))
noktası Montgomery formundaki eliptik eğrisi üzerinde bir nokta olmak üzere, bu noktanın Montgomery koordinatları Burada projektif koordinatlardır. ( ve ).
Bir nokta için bu tür bir temsilin(dönüşümün) bilgi kaybettiğine dikkat edin: gerçekten ve (afin noktalarının kullanımında bir ayrım gözetilmez çünkü her iki noktanın kullanımı da bize sonucunu verecektir. Ancak, bu gösterim(dönüşüm) ile bir noktanın n sayısı ile çarpılmasını elde etmek mümkündür;
Şimdi, iki nokta dikkate alalım;
ve :
Bu iki noktanın toplamları aşağıdaki şekilde ifade edilir;
Eğer ise bu işlem "nokta ikileme" işlemine dönüşür; Koordinatları ise aşağıdaki eşitsizliklerle belirlenir;
Yukarıdaki ilk işlemin(toplama işleminin) maliyeti: (3M+2S) (Burada M, tanımlı eliptik eğrideki herhangi iki elemanın çarpımını, S ise tanımlı cisimdeki bir elemanın karesini ifade ediyor)
İkinci işlemin(ikileme) maliyeti : 2M + 2S + 1D, (Burada D herhangi bir elemanın bir değeri seçilebilir.
Montgomery formunda bir eliptik eğrininin bir noktasının nokta ikilemesi, aşağıdaki algoritma ile gösterilebilir;
varsayıldığı durumda bu implementasyonun maliyeti; 1 + 2 + *1 + 3add + 1*4. (Burada M gerekli çarpma işlemlerini, S ise kare alma işelemlerini, a ise A ile çarpma işlemlerini belirtir.)
afin koordinatlarda Montgomery eğrisi üzerinde iki nokta olmak üzere,
şeklinde belirlenen nokta geometrik olarak ile ve noktalarını birleştiren doğrunun kesimini ifade eden üçüncü bir noktadır. Bu noktanın koordinatları aşağıdaki şekilde belirlenir:
1) 2 boyutlu afin uzayda, doğrusunun ve noktalarından geçtiğini varsayalım.(bu varsayımdan yararlanarak),
ve ;
elde edilir.
2) Doğru ile , eğri denklemindeki değişkeni ile değiştirilirse aşağıdaki 3. dereceden denklem elde edilir:
Daha önce gözlemlenebildiği gibi, bu denklem , ve noktalarının x koordinatlarına göre üç köke sahiptir. Öyleyse denklem;
şeklinde yazılır.
3) Yukarıda verilen iki özdeş denklemin katsayılarının, özellikle de ikinci mertebeden olanın terimlerinin katsayılarının karşılaştırılmasıyla aşağıdaki denklem elde edilir:
.
Böylelikle, terimi , , , terimleri cinsinden aşağıdaki biçimde yazılabilir:
4) noktasının koordinatını bulabilmek için, değerini doğrusunda yerine koymak yeterlidir. Bunun doğrudan noktasını vermeyeceğine dikkat edin. Gerçekten, bu yöntemle, , sağlayan noktasının koordinatları bulunur. Eğer ve nokta ekleme işleminin sonuç noktasına ihtiyaç duyulursa, ancak ve ancak olması durumunu göz önüne almak gereklidir. Bu yüzden, verilen noktası için noktasını bulmak gereklidir. Bu işlem verilen nin y koordinatının işaretini değiştirerek kolaylıkla yapılabilir. Başka bir deyişle, doğru denkleminde ün yerine konulmasıyla elde edilen koordinatının işaretini değiştirmek yeterli olacaktır.
Montgomery Eğrisi üzerinde verilen bir noktası için, ; Geometrik olarak eğri ile 'eğet olan doğru arasındaki kesişimi ifade eden üçüncü noktasını temsil eder; sağlayan noktasının koordinatlarını bulabilmek için, 'nokta toplama' metodundakine benzer bir yol izlenir; ancak, bu durumda,
y = lx + m doğrusu eğrisine teğet olmalıdır. Bu yüzden, eğer ile
Doğrunun eğimini temsil eden l değeri aşağıdaki gibi verilir: