Pisze funkcje ktora musi jak najszybciej obliczyc modulo potegi. Myslalem nad sposobami optymalizacji algorytmu, i mam jeden pomysl, tylko nie jestem pewien czy dobry. Otoz generujac modulus openssl'em (genrsa) najstarszy bit zawsze jest ustawiony. Moge z tego wnioskowac ze jest tak zawsze i stanowi to pewna regule. Ale chcialbym sie upewnic.
Pozwoli mi to zaoszczedzic na okreslaniu wielkosci dzielnika i pozycji msb w nim. Uprosci to moj kod o ponad polowe.
NIE pisze klasycznej funkcji modulo czy dziel, tylko rsa_crypt(), wiec modulus NIE bedzie dowolny, tylko zawsze MSB = 1.
Czy jestem w bledzie? Czy wg standardu rsa modulus moze miec MSB = 0? Czy jesli bedzie 0 to moge uznac to za blad i nie liczyc nic?
Jak wyglada sprawa z Diffie-Hellman? Czy tutaj modulus tez musi miec msb = 1?