Czy przesyłanie losowego strumienia MT19937 do SHA512 powoduje, że stan MT jest w praktyce niemożliwy do odzyskania?

Dec 05 2020

Powszechnie wiadomo, że stan twistera Mersenne jest dość łatwy do odzyskania po zaobserwowaniu wystarczającej liczby próbek. Ale co się stanie, jeśli potokujemy bloki wychodzące z MT do SHA512 i damy to jako wyjście.

Ponieważ nie ma matematycznego dowodu, że SHA512 nie jest odwracalny, prawdopodobnie nie byłoby sposobu na udowodnienie, że odzyskanie stanu MT w tym scenariuszu jest niemożliwe.

  1. Czy istnieje praktyczny sposób na uzyskanie stanu MT w tej konfiguracji, a tym samym na przewidywanie kolejnych bloków?
  2. A może przewidywanie jest w jakiś sposób możliwe bez przywrócenia stanu?
  3. Czytałem, że istnieją projekty CSPRNG, które używają wewnętrznie generatora MT. Czy działają w ten sposób, po prostu weź strumień MT i zaciemnij go w jakiś sposób, czy też są zupełnie inne?

Dziękuję Ci!

Odpowiedzi

4 MaartenBodewes Dec 05 2020 at 20:09

Głównym problemem byłby rozmiar nasion MT. MT ma dostatecznie duży stan, ale zarodek to zazwyczaj tylko słowo 32-bitowe$w$. Więcej informacji znajdziesz tutaj .

SHA na wyjściu nie ochroni cię przed brutalnym atakiem na nasiona; atakujący może po prostu spróbować wygenerować strumień, wykonać obliczenia SHA i porównać.

Musisz więc w jakiś sposób zwiększyć rozmiar ziarna i zainicjować stan. Stan jest dość duży, a MT ma duży okres, więc kanalizacja już tam jest. Jeśli możesz, po prostu nazwij to MT, to oczywiste następne pytanie.


  1. Czy istnieje praktyczny sposób na uzyskanie stanu MT w tej konfiguracji, a tym samym na przewidywanie kolejnych bloków?

Tak, ponieważ stan początkowy pochodzi z ogólnie małego ziarna.

  1. A może przewidywanie jest w jakiś sposób możliwe bez przywrócenia stanu?

Nie sądzę, żeby tak się działo, ale jeśli możesz odzyskać stan początkowy, nie musisz tam iść.

  1. Czytałem, że istnieją projekty CSPRNG, które używają wewnętrznie generatora MT. Czy działają w ten sposób, po prostu weź strumień MT i zaciemnij go w jakiś sposób, czy też są zupełnie inne?

Nie słyszałem o nich, ale jeśli nie pozwalają na użycie dużego ziarna jako wkładu, to mają kłopoty.


Ostatnim pytaniem jest rzeczywiście, czy coś zyskałeś po skończeniu. Istnieje wiele DRBG opartych na funkcjach skrótu, a dodanie szybkiego PRNG na zapleczu może nie mieć większego sensu. Duże państwo nie byłoby też dobrze przystosowane do wielu kryptologów i twórców oprogramowania / sprzętu.