Wpis z mikrobloga

Pytanie o rsa mam.

Algorytm uwierzytelniania wygląda w przybliżeniu tak, że serwer generuje liczbę losową, szyfruje ją moim kluczem publicznym, ja sobie ją odszyfrowuje kluczem prywatnym, liczę z niej hash, odsyłam do serwera, on też sobie liczy hash i te dwa hashe porównuje.

Pytanie jest takie, po co jest ten etap z hashem. Dlaczego nie jest odsyłana po prostu wygenerowana liczba i serwer nie sprawdza czy dostał tę, którą wysłał?
#informatyka #kryptografia #rsa #ssh
  • 6
  • Odpowiedz
@CamelCase: a czy hash przypadkiem nie jest solony? generalnie chodzi o to, żeby nie dało się powtórzyć czyjejś odpowiedzi. W przypadku mnóstwa zapytań, z wielu serwerów i tą samą technologią jest szansa (patrz atak urodzinowy), że zostanie ci zadane gdzieś drugi raz to samo pytanie - a wtedy ktoś mógłby się pod ciebie podszyć
Jeżeli hash byłby solony, np. timestampem, to wtedy to samo zapytanie zaszyfrowane publicznie zwraca za każdym razem
  • Odpowiedz