Algorytmy kryptograficzne | Laboratorium 12
- Wykorzystując reprezentację NAF (Non-Adjacent
Form),
zaimplementuj szybkie mnożenie punktów na krzywych eliptycznych.
- Zaimplementuj funkcje
naf(k), która zwraca reprezentacje NAF liczby naturalnej $k$. - Dla $k \in {31, 47, 73, 85}$ wypisz reprezentacje binarna i NAF.
- Zaimplementuj mnożenie skalarne
mul_naf(k, P)wykorzystujące NAF. - Porównaj liczbę dodawań i podwojeń dla
mul(k, P)imul_naf(k, P)dla różnych wartości $k$. - Dla krzywej $$ E: y^2 \equiv x^3 + 2x + 2 \pmod{17} $$ i punktu $G = (5,1)$ wykonaj mnożenie $kG$ dwiema metodami i sprawdź poprawność wyników.
- Zaimplementuj funkcje