GeoGebra Model of Discrete Logarithm (One-Way Function)

GeoGebra Model of Discrete Logarithm (One-Way Function)
Loading the math board and drawing, please wait…
2017-07-19 19:23
① This GeoGebra example dynamically visualizes the discrete logarithm as a one-way function, illustrating the computational difficulty of finding the exponent given a base and result in a finite cyclic group. ② Core mathematical concepts include discrete logarithm, one-way functions, modular arithmetic, exponential and logarithmic relationships, and random point rotations within a cyclic structure. ③ Construction highlights: using commands such as Intersect, Point, Rotate, Circle, Random, Ray, Vector, and Polygon, the model creates multiple labeled points (e.g., B'_0 through B'_14) and random rays/vectors, with sliders n and rez controlling parameters, and text objects displaying numerical outputs for interactive exploration. ④ Suitable for high school to university students studying cryptography, number theory, or abstract algebra, and for instructors demonstrating the essence of one-way functions and the discrete logarithm problem, which underpins public-key cryptography.

GeoGebra Commands & Parameters

  1. Intersect(xAxis, yAxis) → A
  2. Point(yAxis) → B
  3. Rotate(B, 21.18°, A) → B'_0
  4. Rotate(B'_0, 21.18°, A) → B'_1
  5. Rotate(B'_1, 21.18°, A) → B'_2
  6. Rotate(B'_2, 21.18°, A) → B'_3
  7. Rotate(B'_3, 21.18°, A) → B'_4
  8. Rotate(B'_4, 21.18°, A) → B'_5
  9. Circle(A, B) → c
  10. Random(0, 100) → number
  11. Random(0, 100) → number_1
  12. Circle(A, D) → d
  13. Ray(A, B) → a
  14. Vector(A, D) → u
  15. Rotate(B'_5, 21.18°, A) → B'_6
  16. Rotate(B'_6, 21.18°, A) → B'_7
  17. Rotate(B'_7, 21.18°, A) → B'_8
  18. Rotate(B'_8, 21.18°, A) → B'_9
  19. Rotate(B'_9, 21.18°, A) → B'_{10}
  20. Rotate(B'_{10}, 21.18°, A) → B'_{11}
  21. Rotate(B'_{11}, 21.18°, A) → B'_{12}
  22. Rotate(B'_{12}, 21.18°, A) → B'_{13}
  23. Rotate(B'_{13}, 21.18°, A) → B'_{14}
  24. Rotate(B'_{14}, 21.18°, A) → B'_{15}
  25. Point(d) → C
  26. Rotate(u, (-(((rez * 21.18))°)), A) → v
  27. Vector(E, F) → w
  28. Vector(G, H) → b
  29. Polygon(I, J, K, L) → многокутник1, i, j, k, l
  30. Polygon(M, N, O, P) → многокутник2, m, n_1, o, p

AI Drawing Prompt Reference

Draw a circle centered at the origin with multiple marked points evenly spaced along its circumference, each successive point rotated by about 21 degrees from the previous one, forming a discrete rotation sequence. Add a smaller concentric circle with a random point on it, and draw a ray and a vector from the center to that point. Include two polygonal regions, each defined by four vertices, with random vectors attached. The overall layout illustrates the discrete logarithm relationship between exponent and result, with a slider controlling the rotation step and numerical values displayed.
The prompt above was compiled from the original drawing commands and is for reference only.