비밀번호가 대칭적으로 암호화된 파일을 해독할 수 있는지 확인하세요.

비밀번호가 대칭적으로 암호화된 파일을 해독할 수 있는지 확인하세요.

CAST5를 사용하여 대칭적으로 암호화된 약 20개의 파일이 있습니다. 내 모든 파일에 적용되는 비밀번호가 있고 실제로 작동하는지 확인하고 싶습니다. 각 파일을 검사하는 스크립트를 작성했습니다.

read pass
for file in *.gpg ; do
   if ! gpg --batch --passphrase "$pass" -d "$file" &>/dev/null ; then
      echo "Passphrase invalid for '$file'."
   fi
done

각 파일에 대한 암호가 유효한지 확인하는 방법은 전체 파일을 해독해야 하는데 이는 매우 느립니다. 내가 하고 싶은 일을 더 빨리 성취할 수 있는 방법이 있나요?

답변1

gpg-agent안타깝게도 키가 비밀번호로 보호되어 있는지 물어볼 방법이 없습니다 . 하지만 파일을 확인하는 대신 각 키를 한 번만 확인하면 됩니다. 따라서 먼저 어떤 키가 관련되어 있는지 확인해야 합니다. 동일한 키를 두 번 확인할 필요가 없습니다(두 파일을 모두 해독하는 데 사용하면 됨).

나는 나 자신을 GnuPG 전문가라고 생각하지만 이 작업을 우아한 방식으로 수행하지 않았기 때문에 방금 GnuPG 메일링 리스트에 요청했다는 것을 인정해야 합니다. 거기에서 정보를 얻으면 이 답변을 편집하겠습니다.

편집 1

마스터에게는 몇 분밖에 걸리지 않았습니다... 해결책은 다음과 같습니다.--list-only

gpg --status-fd 1 --list-only --list-packets file.gpg | 
  awk '$2 == "ENC_TO" {print "0x" $3; }'

키 ID를 알려줍니다. 파일의 암호를 해독하기 전에 수신자 키 중 하나가 확인된 키 목록에 있는지 확인하세요.

느린 것은 비대칭 암호 해독입니다. 그럼에도 불구하고 가장 작은 것부터 시작하여 크기별로 파일을 정렬해야 합니다.

위 명령은 하위 키에 대해 암호화된 경우 하위 키를 제공합니다. 정말 좋은 결과를 얻으려면 하위 키를 비교하지 않고 해당 기본 키를 비교하십시오. 모든 일반 설치에서 마스터 키와 하위 키는 동일한 비밀번호를 갖습니다(GnuPG를 사용하면 서로 다른 비밀번호를 제공해야 하는 수고를 해야 합니다).

관련 정보