সসীম ফিল্ডের সাধারণ সংখ্যার বদলে উপবৃত্তাকার বক্ররেখার (Elliptic Curves) বিন্দুর গ্রুপ ব্যবহারের মাধ্যমে ক্রিপ্টোগ্রাফিতে এক বৈপ্লবিক বিপ্লব ঘটেছিল: RSA-এর ৩০৭২-বিটের নিরাপত্তার সমতুল্য নিরাপত্তা অর্জন করা সম্ভব হয় মাত্র ২৫৬-বিটের চাবি দিয়ে। কারণ উপবৃত্তাকার বক্ররেখায় কোনো ফ্যাক্টর বেস বা সংখ্যার ক্রমিক উৎপাদকের ধারণা নেই, ফলে সাব-এক্সপোনেনশিয়াল ইনডেক্স ক্যালকুলাস আক্রমণ এখানে সম্পূর্ণ অকেজো। আক্রমণকারীকে বাধ্য হয়ে সম্পূর্ণ সূচকীয় (mathcal{O}(sqrt{p})) জটিলতায় নির্ভর করতে হয়।
১. ওয়্যারস্ট্রাস সমীকরণ ও কর্ড-অ্যান্ড-ট্যানজেন্ট গ্রুপ ল
একটি প্রাইম ফিল্ড (mathbb{F}_p)-এর ওপর উপবৃত্তাকার বক্ররেখা (E) সংজ্ঞায়িত হয় বিখ্যাত শর্ট ওয়্যারস্ট্রাস সমীকরণ (Short Weierstrass Equation) দ্বারা:
[
y^2 = x^3 + ax + b, quad ext{যেখানে ডিসক্রিমিন্যান্ট } Delta = -16(4a^3 + 27b^2)
otquiv 0 pmod p
]
এর সাথে যুক্ত থাকে অসীমে অবস্থিত একটি কাল্পনিক বিন্দু (mathcal{O}), যা গ্রুপের আইডেন্টিটি বা নিরপেক্ষ উপাদান। কর্ড-অ্যান্ড-ট্যানজেন্ট গ্রুপ ল (Chord-and-Tangent Group Law) অনুযায়ী, যেকোনো সরলরেখা একটি কিউবিক বক্ররেখাকে ঠিক তিনটি বিন্দুতে ছেদ করে। যদি রেখাটি (P, Q, R) বিন্দুতে ছেদ করে, তবে সংজ্ঞায়িত করা হয়:
[
P + Q + R = mathcal{O} implies P + Q = -R
]
(P = (x_1, y_1)) বিন্দুর বিপরীত বিন্দু হলো তার x-অক্ষের প্রতিবিম্ব: (-P = (x_1, -y_1))। দুটি ভিন্ন বিন্দু (P
eq Q)-এর জন্য ছেদক রেখার ঢাল হলো (lambda = (y_2 – y_1) / (x_2 – x_1))। তাদের যোগফল (P + Q = (x_3, y_3)) বীজগাণিতিকভাবে নির্ণয় করা হয়:
[
x_3 = lambda^2 – x_1 – x_2, quad y_3 = lambda(x_1 – x_3) – y_1
]
হাসের উপপাদ্য (Hasse’s Theorem) অনুযায়ী বক্ররেখার মোট বিন্দুর সংখ্যা ফিল্ডের আকারের কাছাকাছি সীমাবদ্ধ থাকে: (|#E(mathbb{F}_p) – (p+1)| le 2sqrt{p})।
২. মন্টগোমারি ও টুইস্টেড এডওয়ার্ডস কার্ভ: Curve25519
প্রচলিত ওয়্যারস্ট্রাস সূত্রে (P = Q) বা (P = -Q)-এর জন্য আলাদা আলাদা গাণিতিক শাখা (if-else branch) চালাতে হয়। প্রসেসরে এই শাখাগুলো চলার সময় মাইক্রোসেকেন্ড সময়ের তারতম্য ঘটে, যাকে কাজে লাগিয়ে সাইড-চ্যানেল টাইমিং আক্রমণে প্রাইভেট কি বের করে ফেলা সম্ভব।
২০০৬ সালে ড্যানিয়েল জে. বার্নস্টেইন উদ্ভাবন করেন Curve25519, যা ছদ্ম-মার্সেন প্রাইম ফিল্ড (mathbb{F}_{2^{255}-19})-এ পরিচালিত হয়। এটি ব্যবহার করে মন্টগোমারি রূপ (Montgomery Form):
[
B y^2 = x^3 + A x^2 + x, quad ext{যেখানে } A = 486662, B = 1
]
মন্টগোমারি ল্যাডার অ্যালগরিদমে y-স্থানাঙ্ক বাদ দিয়ে কেবল x-স্থানাঙ্ক দিয়েই স্কেলার গুণন ([k]P) করা যায়। কি-এর বিট ০ বা ১ যাই হোক না কেন, প্রসেসর প্রতি ধাপে হুবহু একই সংখ্যক গুণ ও বর্গ সম্পাদন করে, যা যেকোনো টাইমিং আক্রমণকে শতভাগ প্রতিহত করে।
একই বক্ররেখাকে দ্বিমুখী সমতুল্যতায় রূপান্তরিত করা যায় টুইস্টেড এডওয়ার্ডস কার্ভে (Twisted Edwards Curves):
[
a x^2 + y^2 = 1 + d x^2 y^2
]
এডওয়ার্ডস কার্ভে (যেমন Ed25519) যোগের সূত্রটি সম্পূর্ণ (complete): এতে কোনো বিশেষ ব্যতিক্রমী কেস নেই, কোনো ভাগ করার প্রয়োজন হয় না এবং প্রোজেক্টিভ স্থানাঙ্কে এটি অবিশ্বাস্য গতিতে ডিজিটাল স্বাক্ষর তৈরি করে।
৩. স্কেলার গুণন ও এন্ডোমর্ফিজম ত্বরণ
ক্রিপ্টোগ্রাফির মূল অপারেশন হলো স্কেলার গুণন: (Q = [k]P = P + P + dots + P) ((k) বার)। সাধারণ ডাবল-অ্যান্ড-অ্যাড পদ্ধতিতে (mathcal{O}(log k)) ধাপ লাগে। বিটকয়েন ও ইথেরিয়ামে ব্যবহৃত secp256k1 কার্ভে GLV এন্ডোমর্ফিজম (phi(x, y) = (beta x, y)) ব্যবহার করে একটি ২৫৬-বিটের গুণনকে দুটি ১২৮-বিটের সমান্তরাল গুণে ভাগ করে ভেরিফিকেশনের গতি দ্বিগুণ করা হয়।