🔐 Калькулятор еліптичних кривих

Операції з еліптичними кривими над скінченними полями для криптографії (ECC)

📈 Визначення еліптичної кривої

Еліптична крива: y² = x³ + ax + b (mod p)

Еліптична крива (дійсні числа)

Точки на кривій (mod p)

➕ Операції над точками

Скалярне множення

Візуалізація операцій

🔑 Генерація ключів ECC

Перевірка точки на кривій

🤝 ECDH (Diffie-Hellman)

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

👤 Аліса

-

👤 Боб

-

Схема ECDH

✍️ ECDSA (Цифровий підпис)

Підписування

Верифікація

📚 Теорія еліптичних кривих

1. Визначення еліптичної кривої

Еліптична крива — це крива, задана рівнянням Вейєрштраса:

y² = x³ + ax + b

Дискримінант: Δ = -16(4a³ + 27b²) ≠ 0

j-інваріант: j = -1728 × (4a)³ / Δ

Умова Δ ≠ 0 гарантує, що крива не має особливих точок (сингулярностей).

2. Групова структура

Точки еліптичної кривої разом з "точкою на нескінченності" O утворюють абелеву групу.

2.1 Додавання точок (P + Q)

Для P = (x₁, y₁), Q = (x₂, y₂), P ≠ ±Q:

λ = (y₂ - y₁) / (x₂ - x₁)
x₃ = λ² - x₁ - x₂
y₃ = λ(x₁ - x₃) - y₁

R = P + Q = (x₃, y₃)

2.2 Подвоєння точки (2P)

Для P = (x₁, y₁):

λ = (3x₁² + a) / (2y₁)
x₃ = λ² - 2x₁
y₃ = λ(x₁ - x₃) - y₁

2P = (x₃, y₃)

2.3 Інверсія точки (-P)

Для P = (x, y):
-P = (x, -y)

P + (-P) = O (точка на нескінченності)

3. Криві над скінченними полями

Для криптографії використовуються криві над полем F_p (p — просте число):

y² ≡ x³ + ax + b (mod p)

Всі операції виконуються по модулю p:
- Додавання: (a + b) mod p
- Віднімання: (a - b + p) mod p
- Множення: (a × b) mod p
- Ділення: a × b⁻¹ mod p (через розширений алгоритм Евкліда)

4. Скалярне множення

Ключова операція для криптографії — множення точки на скаляр:

k × P = P + P + ... + P (k разів)

Ефективний алгоритм (подвоєння і додавання):
1. Записати k у двійковій формі: k = (k_{n-1}...k₁k₀)₂
2. Результат = O (точка на нескінченності)
3. Для i від n-1 до 0:
- Результат = 2 × Результат
- Якщо k_i = 1: Результат = Результат + P

5. Проблема дискретного логарифма (ECDLP)

Безпека ECC базується на складності задачі:

Дано: точки P та Q = k × P
Знайти: k

Найкращі відомі алгоритми: O(√n) операцій
(наприклад, алгоритм Полларда ρ)

6. Стандартні криві

secp256k1 (Bitcoin)

y² = x³ + 7
p = 2²⁵⁶ - 2³² - 977
n = FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFEBAAEDCE6AF48A03BBFD25E8CD0364141
G = (79BE667EF9DCBBAC55A06295CE870B07029BFCDB2DCE28D959F2815B16F81798,
483ADA7726A3C4655DA4FBFC0E1108A8FD17B448A68554199C47D08FFB10D4B8)

P-256 (NIST)

y² = x³ - 3x + b
p = 2²⁵⁶ - 2²²⁴ + 2¹⁹² + 2⁹⁶ - 1
b = 5AC635D8AA3A93E7B3EBBD55769886BC651D06B0CC53B0F63BCE3C3E27D2604B

7. ECDH (Обмін ключами)

1. Аліса: вибирає a, обчислює A = a × G
2. Боб: вибирає b, обчислює B = b × G
3. Обмін: Аліса → Боб: A, Боб → Аліса: B
4. Аліса: S = a × B = a × b × G
5. Боб: S = b × A = b × a × G

Спільний секрет S = ab × G

8. ECDSA (Цифровий підпис)

Підписування:

1. z = hash(message)
2. Вибрати випадкове k ∈ [1, n-1]
3. (x, y) = k × G
4. r = x mod n
5. s = k⁻¹ × (z + r × d) mod n

Підпис: (r, s)

Верифікація:

1. z = hash(message)
2. w = s⁻¹ mod n
3. u₁ = z × w mod n
4. u₂ = r × w mod n
5. (x, y) = u₁ × G + u₂ × Q
6. Підпис валідний, якщо r ≡ x (mod n)

9. Рівні безпеки

Крива Біти Рівень безпеки RSA еквівалент
P-192 192 96 біт ~1536 біт
P-256, secp256k1 256 128 біт ~3072 біт
P-384 384 192 біт ~7680 біт
P-521 521 256 біт ~15360 біт

10. Застосування

  • Bitcoin, Ethereum: secp256k1 для підписів транзакцій
  • TLS/SSL: ECDHE для обміну ключами
  • SSH: Ed25519, ECDSA
  • Смарт-карти: Компактні криптографічні операції
  • IoT: Легкі криптографічні протоколи
  • Цифрові сертифікати: X.509 з ECC

Практичне значення та контекст

Де застосовується

Інструменти даного типу широко застосовуються у навчальній та дослідницькій діяльності. Вони дозволяють швидко отримувати точні числові результати, перевіряти аналітичні розрахунки та моделювати різноманітні сценарії. Використання онлайн-калькуляторів значно прискорює роботу науковців, інженерів, студентів та спеціалістів-практиків, які щодня стикаються з відповідними обчислювальними задачами.

Часті запитання (FAQ)

Що таке хімічна рівновага?
Хімічна рівновага — стан системи, при якому швидкості прямої та зворотної реакцій рівні, і склад системи не змінюється з часом (в умовах незмінних зовнішніх умов). Рівновага описується константою рівноваги Kc або Kp. За принципом Ле-Шательє, зміна умов (температура, тиск, концентрація) зміщує рівновагу в бік, що компенсує цю зміну.
Як відрізнити кислоту від основи?
За теорією Бренстеда-Лоурі: кислота — донор протона (H⁺), основа — акцептор протона. За Арреніусом: кислота дисоціює з утворенням H⁺, основа — OH⁻. Кількісно кислотність оцінюється показником pH: pH < 7 — кисле середовище, pH = 7 — нейтральне, pH > 7 — лужне. Визначають за допомогою індикаторів або pH-метра.
Як користуватися цим калькулятором?
Введіть необхідні значення у відповідні поля та натисніть кнопку обчислення. Результат відобразиться одразу. Калькулятор підтримує десяткові числа та від'ємні значення — для введення від'ємного числа використовуйте знак мінус. Усі розрахунки виконуються онлайн без встановлення додаткового програмного забезпечення.
Чи можна використовувати калькулятор безкоштовно?
Так, усі калькулятори на сайті calculator.party повністю безкоштовні. Жодна реєстрація не потрібна — просто відкрийте сторінку та починайте обчислення. Калькулятори доступні 24/7 і працюють у будь-якому сучасному браузері на комп'ютері, планшеті або смартфоні.
Яка точність обчислень калькулятора?
Калькулятор використовує 64-бітну арифметику з плаваючою точкою (стандарт IEEE 754), що забезпечує точність до 15–16 значущих цифр. Для більшості практичних задач цього більш ніж достатньо. Результати округлюються до 4–6 значущих цифр для зручності читання.