IV054 Solution of HW 8 1 Hashing and ElGamal signature See the file signature.xls. 2 Hasse theorem for bounds of EC order; EC with the same order an different group structure By Vincent Mihalkovic: SageMath helps me a lot: maxx, minn = 0, Integer.MAX_VALUE for a in range(7): for b in range(7): # We need to check non-singularity (-16(4a**3 + 27b**2) '/, 7 1= 0) E = EllipticCurve(GF(7), [a,b]) number_of_points = len( E.pointsO ) if number_of_points < minn: minn = number_of^points min_curve - E if number_of.points > maxx: maxx = number_of_points max_curve = E if number_of_points == 9: print( E.abelian_group() ) (b) Additive Abelian group isomorphic to Z3 x Z3 embedded in Abelian group of points on Elliptic Curve defined by y1 = x3 + 2 over f7 If we look at the points ([00, {0, 3), {0, 4), {3,1), (3, 6), (5,1), (5, 6), (6,1), (6,6)]) All of them has order 3 (except 00) there is no generator element with order 9. But additive Abelian group isomorphic to Zg embedded in Abelian group of points on Elliptic Curve defined by y2 = x3 + 3x + 2 over F7, has oo, (0, 3), (0,4), (2,3), (2,4), (4,1), (4, 6), (5, 3), (5, 4)] points, in which six of them (2,3), (2,4), (4,1),... ] has order 9, thus they are generators of this Abelian group! printC min_curve, min_ctrrve. points () print( max_curve, max_curve.points 0 (a) First, look at the HasseV theorem on elliptic curves: |JV-p-l|<2^ |JV-8|<2\/8 S-2v/8 p — + 1, \E\ > 113- 2v/Il3+ 1 = 92,7 \E\ < 113 + 2v/113+ 1 = 135,3 '] UiirJwH' \\v Jj.ivr '.hi: Ltiu^rr buiiuds i)3 '. Let's denote the points on the curve from the assignment as P = (74. 3) and Q = (28,11). Eacli point of the curve generates a cyclic subgroup. For example point P generates a subgroup of order 3 and point Q generates a subgroup of order 14 (the order is the number of points in the subgroup, so that is is the smallest positive integer k st kP — 0). Lagrange's theorem says that if H is a subgroup of a finite group C\ then the order of H divides the order of G. We can use this theorem to find number of point of the curve E. We know that {E.+) has subgroup generated by P with order 3 and another subgroup generated by Q with order 14. It must hold (hiii 'A utdvr of ^iou]> formed by E ami J L | ■: ■ I ■■ -j ui '^toup f'oitm'd by Í:'. Sbicr onlt-i ul ^ruiip \-. thr number of elements in the group we can write 3 | \E\ and 14 | (3 and 14 divide |E|). Hence we can say that \E\ — k ■ 3 for some integer k and also \E\ — I • 14 for some integer Í. Together we can say that \E\ = m - 3 - 14 = m - 42 for some integer m. The only m for which also the condition 93 < \E\ = m > 42 < 135 holds is m = 3, which gives us \E\ = 42 - 3 = 126. The number of points of E is therefore 12f>. 3 6 Discovering vulnerability of the established key By Ales Paroulek: n4P = (55,0) liy definition uf pfjim ;i