Skip to content

artemtsvik/Miller-Algorithm

Repository files navigation

Miller-Algorithm

modular_arithmetic

  • uint_fast64_t bsqrt(uint_fast64_t a) Π·Π½Π°Ρ…ΠΎΠ΄ΠΈΡ‚ΡŒ Ρ†Ρ–Π»Ρƒ частину Π²Ρ–Π΄ корСня Ρ†Ρ–Π»ΠΎΠ³ΠΎ числа
  • bool isprime(uint_fast64_t a) пСрСвіряє Ρ‡ΠΈ Ρ” Π΄Π°Π½Π΅ Π½Π°Ρ‚ΡƒΡ€Π°Π»ΡŒΠ½Π΅ число a простим
  • class Galois - ΠΊΡ–Π»ΡŒΡ†Π΅ Π»ΠΈΡˆΠΊΡ–Π² Π·Π° ΠΌΠΎΠ΄ΡƒΠ»Π΅ΠΌ mod

poly_and_ratio

  • class Poly - Клас ΠΏΠΎΠ»Ρ–Π½ΠΎΠΌ, Π² якому data - Ρ…Π΅Ρˆ-таблиця ΠΊΠΎΠ΅Ρ„Ρ–Ρ†Ρ–Ρ”Π½Ρ‚Ρ–Π² Galois, Π² якій ΠΊΠ»ΡŽΡ‡ ΠΌΠ°Ρ” ΠΌΠ°Ρ‚ΠΈ вигляд "m, k", Ρ‰ΠΎ Π²Ρ–Π΄ΠΏΠΎΠ²Ρ–Π΄Π°Ρ” ΠΌΠΎΠ½ΠΎΠΌΡƒ x^m * y^k, Π΄Π΅ k, m Ρ” Π½Π΅Π²Ρ–Π΄'Ρ”ΠΌΠ½ΠΈΠΌΠΈ Ρ†Ρ–Π»ΠΈΠΌΠΈ числами. ΠŸΠ°Ρ€Π°ΠΌΠ΅Ρ‚Ρ€ mod Π²ΠΈΠ·Π½Π°Ρ‡Π°Ρ” якому ΠΊΡ–Π»ΡŒΡ†ΡŽ Π»ΠΈΡˆΠΊΡ–Π² ΠΌΠ°ΡŽΡ‚ΡŒ Π½Π°Π»Π΅ΠΆΠ°Ρ‚ΠΈ ΠΊΠΎΠ΅Ρ„Ρ–Ρ†Ρ–Ρ”Π½Ρ‚ΠΈ.
  • class Ratio - Клас Ρ€Π°Ρ†Ρ–ΠΎΠ½Π°Π»ΡŒΠ½Π° функція. numerator, denominator - ΠΏΠΎΠ»Ρ–Π½ΠΎΠΌΠΈ, які ΠΌΠ°ΡŽΡ‚ΡŒ ΠΊΠΎΠ΅Ρ„Ρ–Ρ†Ρ–Ρ”Π½Ρ‚ΠΈ Π· ΠΎΠ΄Π½ΠΎΠ³ΠΎ ΠΊΡ–Π»ΡŒΡ†Ρ Π»ΠΈΡˆΠΊΡ–Π²

elliptic_curve

  • class Point Π’ΠΎΡ‡ΠΊΠ°, ΠΊΠΎΠΎΡ€Π΄ΠΈΠ½Π°Ρ‚ΠΈ якої x Ρ‚Π° y Π½Π°Π»Π΅ΠΆΠ°Ρ‚ΡŒ дСякому ΠΊΡ–Π»ΡŒΡ†ΡŽ Π»ΠΈΡˆΠΊΡ–Π². Π―ΠΊΡ‰ΠΎ Π±ΡƒΠ»Π΅Π²Π° Π·ΠΌΡ–Π½Π½Π° is_infinity = true, Ρ‚ΠΎ Ρ†Π΅ нСскінчСнно Π²Ρ–Π΄Π΄Π°Π»Π΅Π½Π° Ρ‚ΠΎΡ‡ΠΊΠ°
  • class EllipticCurve Π•Π»Ρ–ΠΏΡ‚ΠΈΡ‡Π½Π° ΠΊΡ€ΠΈΠ²Π°, яка ΠΌΠ°Ρ” вигляд y^2 = x^3 + a*x + b. Для ΠΊΠΎΡ€Π΅ΠΊΡ‚Π½ΠΎΡ— Ρ€ΠΎΠ±ΠΎΡ‚ΠΈ ΠΌΠ΅Ρ‚ΠΎΠ΄Ρ–Π² double_point, add_points, sub_points ΠΏΠ°Ρ€Π°ΠΌΠ΅Ρ‚Ρ€ q, який Π²ΠΈΠ·Π½Π°Ρ‡Π°Ρ” якому ΠΊΡ–Π»ΡŒΡ†ΡŽ Π»ΠΈΡˆΠΊΡ–Π² ΠΌΠ°ΡŽΡ‚ΡŒ Π½Π°Π»Π΅ΠΆΠ°Ρ‚ΠΈ ΠΊΠΎΠΎΡ€Π΄ΠΈΠ½Π°Ρ‚ΠΈ Ρ‚ΠΎΡ‡ΠΎΠΊ ΠΊΡ€ΠΈΠ²ΠΎΡ—, ΠΌΠ°Ρ” Π±ΡƒΡ‚ΠΈ простим

calc_lines

  • Poly calc_line(Point& P, Point& Q, EllipticCurve& E) ΠΎΠ±Ρ‡ΠΈΡΠ»ΡŽΡ” січну, яка ΠΏΡ€ΠΎΡ…ΠΎΠ΄ΠΈΡ‚ΡŒ Ρ‡Π΅Ρ€Π΅Π· Ρ‚ΠΎΡ‡ΠΊΠΈ P Ρ‚Π° Q, які Π½Π°Π»Π΅ΠΆΠ°Ρ‚ΡŒ Π΅Π»Ρ–ΠΏΡ‚ΠΈΡ‡Π½Ρ–ΠΉ ΠΊΡ€ΠΈΠ²Ρ–ΠΉ E
  • Poly calc_tangent(Point& P, EllipticCurve& E) ΠžΠ±Ρ‡ΠΈΡΠ»ΡŽΡ” Π΄ΠΎΡ‚ΠΈΡ‡Π½Ρƒ Π΄ΠΎ Π΅Π»Ρ–ΠΏΡ‚ΠΈΡ‡Π½ΠΎΡ— ΠΊΡ€ΠΈΠ²ΠΎΡ— E Π² Ρ‚ΠΎΡ‡Ρ†Ρ– P

main

  • Ratio miller_algorithm(EllipticCurve& E, Point& P, uint_fast32_t r) - Π°Π»Π³ΠΎΡ€ΠΈΡ‚ΠΌ ΠœΡ–Π»Π»Π΅Ρ€Π° Π· Ρ€ΠΎΠ·Π΄Ρ–Π»Ρƒ 4.3

About

Miller algorithm implementation.

Topics

Resources

Stars

Watchers

Forks

Releases

No releases published

Packages

No packages published

Languages