Próbuję zrozumieć, w jaki sposób generator haseł GRC może uzyskać 512 bitów tajnych danych podczas szyfrowania 128-bitowych danych.

Adres generatora znajduje się tutaj: https://www.grc.com/passwords.htm Zobacz sekcję „Szczegóły techniczne” na końcu strony.

Napisali:

W wyniku kombinacji 256-bitowego tajnego klucza Rijndael / AES, niepoznawalny (a zatem tajny ) aktualna wartość 128-bitowego monotonicznie rosnącego licznika, a 128-bitowy tajny wektor inicjalizacyjny (IV) to 512-bitowe tajne dane zapewniające wyjątkowo wysokie bezpieczeństwo generowania „doskonałych haseł” tej strony. Nikt nie dowie się, jakie hasła właśnie otrzymałeś.

Diagram, który zapewniają: Schemat procesu szyfrowania

Próbowałem

Stworzyłem nowy IV (128-bitowy):

Buffer([00, 00, 00, 00, 00, 00, 00, 00, 00, 00, 00, 00, 00, 00, 00, 00]) 

Licznik monolityczny – co jest faktycznie zaszyfrowane (128-bitowe):

Buffer([00, 00, 00, 00, 00, 00, 00, 00, 00, 00, 00, 00, 00, 00, 00, 01]) 

Klucz szyfrowania (256-bitowy): 32 bajty)

Buffer([00, 00, 00, 00, 00, 00, 00, 00, 00, 00, 00, 00, 00, 00, 00, 00, 00, 00, 00, 00, 00, 00, 00, 00, 00, 00, 00, 00, 00, 00, 00, 00]) 

XOR IV z licznikiem monolitycznym (lub ostatnim wynikiem szyfrowania z monolitycznym licznik, jeśli jest ostatni wynik).

Mówią, że daje im 512-bitowe tajne dane. Ale kiedy szyfruję wszystko, otrzymuję 16 bajtów (128-bitów) danych:

<Buffer ad 86 de 83 23 1c 32 03 a8 6a e3 3b 72 1e aa 9f> 

W jaki sposób uzyskują 512-bitowe „tajne” dane? A jak XOR 512-bitowe dane z 128-bitowym licznikiem monolitycznym?

Odpowiedź

A jak XOR 512-bitowe dane z 128-bitowym z licznika monolitycznego?

Nie robi tego. Przyjrzyj się dokładnie algorytmowi wysłałeś. Wszystkie operacje XOR są wykonywane na wartościach 128-bitowych. 256-bitowy wpis jest kluczem do 256-bitowej implementacji AES. Przełącznik SPDT zaczyna się przy użyciu tajnego IV, a następnie przełącza się na działanie z 128-bitowym licznikiem. od 512 = | IV | + | licznik | + | klucz |. To wszystko jest trochę bezsensowne, ponieważ wprowadza 512 bitów (rzekomej) entropii i generuje tylko hasło o długości 128 bitów. Właśnie to sobie udowodniłeś. Zwykle algorytm AES-CTR-PRNG jest taki jak poniżej (bez żadnych przełączników), a metoda Stevea jest charakterystycznie nietypowa.

aes ctr prng

W jaki sposób uzyskują 512 bitów „tajne” dane?

Kto wie? Prawdopodobnie jest to wywołanie CryptGenRandom (Steve jest człowiekiem z Windowsa), ale być może jest gdzieś na stałe zakodowane. I bez wątpienia tylko w montażu. Lub może pochodzić z jego Generator liczb pseudolosowych o ultrawysokiej entropii oparty na kwadratach łacińskich. Kolejny doozy.

Nikt nie będzie w stanie dowiedzieć się, jakie hasła właśnie otrzymałem.

Sięgnij po sól. To jest ewidentnie fałszywe. Każdy router przechwytujący SSL wzdłuż linii może odszyfrować i odczytać ruch sieciowy (na fly). Steve też wie. Być może morał tego pytania jest taki – nie używaj usługi internetowej do uzyskania hasła lub klucza z. Jeśli naprawdę tkwisz w kluczu / haśle, użyj kostki lub po prostu losowo uderzaj klawisze na klawiaturze. To było wystarczająco dobre dla jednorazowych bloków ściśle tajnych podczas drugiej wojny światowej, więc powinno wystarczyć.

Właściwie zadałeś złe pytanie. Powinieneś był zapytać, kim jest Steve Gibson? Wygoogluj go i dowiedz się. Jest mnóstwo artykułów. Nie mogę już pisać bez poświęcania mojego opanowania i profesjonalizmu.

Komentarze

  • Wow hahaha dziękuję bardzo. Bardzo interesująca odpowiedź. nie powinienem ' ufać tej witrynie, ponieważ jest ona ' witryną internetową, ale także i właśnie to mi się wydarzyło, ponieważ witryna postaraj się zachować przejrzystość, wyjaśniając, w jaki sposób generują klucze, ale nie udało się i udowodnili, że są w błędzie. Jeszcze raz dziękuję za poświęcony czas
  • @JeremyDicaire. Może zechcesz rzucić okiem na to i zapamiętaj je następnym razem, gdy zobaczysz cokolwiek związanego z GRC …

Dodaj komentarz

Twój adres email nie zostanie opublikowany. Pola, których wypełnienie jest wymagane, są oznaczone symbolem *