Created: 2023-12-08 14:17
https://scz.617.cn/misc/202312081417.txt
A few days ago, I recommended Andrea Corbellini’s series on elliptic curve cryptography, which consists of four articles that are very exciting and easy to understand.
https://andrea.corbellini.name/2015/05/17/elliptic-curve-cryptography-a-gentle-introduction/
https://andrea.corbellini.name/2015/05/23/elliptic-curve-cryptography-finite-fields-and-discrete-logarithms/
https://andrea.corbellini.name/2015/05/30/elliptic-curve-cryptography-ecdh-and-ecdsa/
https://andrea.corbellini.name/2015/06/08/elliptic-curve-cryptography-breaking-security-and-a-comparison-with-rsa/
Many people have shared and saved these articles, but from my twenty years of experience, the vast majority are just “sharing to learn” without much reading, right? I believe some people have read them, so I will assign a few tasks to see who is not lazy.
Let the elliptic curve over the finite field Zp be as follows:
y^2 ≡ x^3 + a*x + b (mod p)
p = 10177777
a = 1
b = -1
Questions:
(1) What is the order N of this elliptic curve? (2) When this elliptic curve is used in cryptographic algorithms, what is n for the n-order cyclic subgroup? (3) Find a generator G of the n-order cyclic subgroup and state the coordinates of G in the real plane. (4) Assuming that a G has been found in step 3, and the private keys of two users are known as follows:
dA = 158903
dB = 17
Question: What are the public keys of these two users?
HA = ?
HB = ?
State the coordinates of HA and HB in the real plane.
This assignment can be modified; for example, by applying the ECDSA algorithm, it could serve as a CTF challenge. Even trivial fruit problems can be used as CTF challenges, so serious elliptic curve cryptography problems should definitely be applicable.