📈 Еліптична крива

Клацніть для P 🇬🇧 EN ← Назад
Додавання точок: P+Q — проведіть хорду через P і Q, знайдіть перетин з кривою, відобразіть відносно осі x. Подвоєння: P+P — дотична в P. Скаляр k·P: повторне додавання. Клацніть на полотно для розміщення точок.

📈 Еліптична крива (ECC) — додавання точок

Візуалізація додавання точок та скалярного множення на еліптичній кривій y² = x³ + ax + b. Подивіться, як множення точки-генератора створює ключову пару і чому зворотна операція обчислювально нездійсненна.

🔬 Що демонструє

Додавання точок: лінія через P та Q перетинає криву в третій точці, яка відображається, даючи P+Q. Скалярне множення k·P повторює операцію k разів. Задача дискретного логарифма на еліптичних кривих вважається експоненційно складною.

🎮 Як використовувати

Натисніть дві точки на кривій для додавання. Використовуйте скалярний режим для множення генератора на зростаюче k. Спостерігайте, як точка непередбачувано стрибає по кривій.

💡 Чи знали ви?

ECC досягає такої ж безпеки, як RSA-3072, із 256-бітними ключами — зменшення розміру в 12 разів. Крива secp256k1 Bitcoin обробляє мільйони транзакцій щодня за допомогою цієї математики.

Про еліптичну криптографію (ECC)

Ця симуляція візуалізує груповий закон на еліптичній кривій вигляду y² = x³ + ax + b над полем дійсних чисел. Коли ви додаєте дві точки P і Q, крізь них проводиться пряма хорда; вона перетинає криву в третій точці, яка потім відображається відносно осі x, даючи P+Q. Подвоєння точки (P+P) використовує замість цього дотичну лінію. Скалярне множення k·P повторює цю операцію k разів, і ви бачите, як результуюча точка непередбачувано стрибає по кривій.

Ця непередбачуваність — серце еліптичної криптографії. Хоча обчислити k·P за k і P швидко, відновити k за P і k·P — задача дискретного логарифма на еліптичній кривій — вважається такою, що потребує експоненційного часу, роблячи це односторонньою «пасткою». ECC лежить в основі TLS/HTTPS, SSH, Signal та кривої secp256k1, що захищає Bitcoin і Ethereum, забезпечуючи безпеку рівня RSA зі значно меншими ключами.

Поширені запитання

Що таке додавання точок на еліптичній кривій?

Маючи дві точки P і Q на кривій, ви проводите крізь них пряму, знаходите третю точку, де ця пряма перетинає криву, і відображаєте її відносно осі x. Відображена точка визначається як P+Q. Це геометричне правило перетворює точки кривої на математичну групу.

Що таке скалярне множення k·P і чому воно важливе?

Скалярне множення додає точку P саму до себе k разів. Це основна операція ECC: приватний ключ — це скаляр k, а публічний ключ — точка k·P. Обчислити це вперед легко, але надзвичайно важко обернути.

Чому еліптична криптографія вважається безпечною?

Її безпека спирається на задачу дискретного логарифма на еліптичній кривій: відновлення скаляра k за точками P і k·P. Ефективний класичний алгоритм для цього невідомий, тож для добре обраних кривих найкращі атаки вимагають часу, що зростає експоненційно з розміром ключа.

Що означає подвоєння точки?

Подвоєння — це додавання точки самої до себе, P+P. Оскільки провести хорду крізь одну точку неможливо, використовується дотична до кривої в точці P: знаходиться точка її повторного перетину з кривою, яка потім відображається відносно осі x.

Що таке «точка на нескінченності»?

Це елемент-одиниця групи кривої, що діє як нуль у звичайному додаванні. Коли ви додаєте точку P до її дзеркального відображення −P, хорда стає вертикальною і перетинає криву «на нескінченності», даючи елемент-одиницю. Симуляція показує це як «Точка на нескінченності».

Чому крива має бути невиродженою?

Груповий закон працює лише якщо крива не має точок звороту чи самоперетинів. Це вимагає, щоб дискримінант −16(4a³ + 27b²) не дорівнював нулю, гарантуючи гладкі, чітко визначені дотичні й хорди всюди на кривій.

Чим ECC відрізняється від RSA?

Обидві системи є криптографією з відкритим ключем, але ECC досягає еквівалентної безпеки з набагато меншими ключами. 256-бітний ключ еліптичної кривої дає приблизно таку саму стійкість, як 3072-бітний ключ RSA, забезпечуючи швидші операції та меншу пропускну здатність.

Яку криву використовує Bitcoin?

Bitcoin і Ethereum використовують secp256k1, визначену як y² = x³ + 7 над 256-бітним простим полем. Кожна адреса гаманця походить від публічного ключа, що є скалярним кратним фіксованої точки-генератора цієї кривої.

Чому симуляція використовує дійсні числа замість скінченного поля?

Дійсні числа дозволяють намалювати криву як гладку, наочну картинку, щоб ви бачили геометрію хорд і дотичних. Прикладна криптографія використовує ту саму алгебру над великим скінченним полем, де точки утворюють дискретну множину, яку неможливо зобразити як неперервну криву.

Чи можуть квантові комп'ютери зламати ECC?

У принципі так — алгоритм Шора міг би розв'язати задачу дискретного логарифма на еліптичній кривій на достатньо великому відмовостійкому квантовому комп'ютері. Цей ризик стимулює розробку постквантових криптографічних схем, хоча такої машини поки не існує.