gpg używać sha1 nawet z --digest-algo SHA512?

3

Po użyciu tego kodu do szyfrowania gpg.txt

$ gpg -c --cipher-algo AES256 --digest-algo SHA512 "GPG.txt"

Sprawdziłem wynik, aby sprawdzić, czy został zaszyfrowany za pomocą AES256 i zaszyfrowany za pomocą SHA512

$ gpg --list-packets GPG.txt.gpg
symkey enc packet: version 4, cipher 9, s2k 3, ***hash 2***
gpg: AES256 encrypted data

Znalazłem Cipher = 9, czyli AES256, jak prosiłem, ale Hash = 2, co oznacza SHA1, a nie 10 = SHA512, jak chciałem!

Dlaczego się to stało? Czy ktoś wie, jak zmusić gpg do używania SHA512 zamiast SHA1?

użytkownik195971
źródło
1
Wygląda na to, że patrzysz na pakiet kluczy . To część zaszyfrowanego pliku, która zawiera rzeczywisty klucz szyfrowania. Wygląda na to, że same dane w ogóle nie są zaszyfrowane (co ma sens, prosisz o szyfrowanie symetryczne). Czy próbowałeś zamiast tego zastosować szyfrowanie asymetryczne i sprawdzić, czy to coś zmienia?
CVn
Wygląda na to, że same dane wcale nie są zaszyfrowane (co ma sens, prosisz o szyfrowanie symetryczne), co masz na myśli?
user195971,
Czy skrót nie ma znaczenia tylko dla podpisów?
vonbrand,

Odpowiedzi:

8

Nienawidzę tego mówić, ale przeczytałem stronę podręcznika gpg.

--digest-algoOpcja wybiera się komunikat strawienia algorytm ... do wiadomości ... czyli jeśli utworzyć podpis.

Ta --s2k-digest-algoopcja określa, jakie algo jest używane do mieszania haseł. Jeśli ustawisz TO na sha512, zobaczysz hash 10na tej linii pakietu klucza szyfrowania.

W odpowiedzi na twoje pytania w komentarzu poniżej:

  • Służy --cipher-algodo określania algorytmu szyfrowania symetrycznego używanego do faktycznego szyfrowania wiadomości.
  • Służy --digest-algodo określania algorytmu skrótu używanego do mieszania wiadomości podczas podpisywania.
  • Służy --s2k-digest-algodo określania algorytmu skrótu używanego do haszowania haseł w różnych operacjach (np. Hasło symetryczne określone podczas używania -c).
rsaw
źródło