나는 강화된 PGP 암호화 메시지를 보냈지만 그 이후로 원본 메시지가 손실되었습니다. 동일한 시스템에서 메시지를 암호화하는 데 사용되는 알고리즘과 키도 메시지를 해독할 수 있도록 되돌릴 수 있어야 합니다. 그렇죠? 이것을 시도했지만 gpg --decrypt pgpmessage.txt
여전히 gpg --decrypt --recipient recipient pgpmessage.txt
오류가 발생합니다. 가능합니까?
답변1
gpg --encrypt
비대칭 암호화 사용: 하나 이상의 공개 키로 암호화하면 해당 개인 키를 사용해서만 결과를 해독할 수 있습니다. 메시지를 해독하려면 수신자 중 한 사람의 개인 키가 필요합니다. 직접 암호화하지 않으면 이 키를 갖지 못할 수도 있습니다.
답변2
직접 암호화된 메시지를 작성하지 않은 경우 해당 메시지를 해독할 수 없습니다. 앞으로는 --encrypt-to
또는 를 사용할 수 있습니다 --hidden-encrypt-to
. 이러한 옵션은 자신의 키 ID와 함께 사용하도록 설계되어 자신에게 전송되는 메시지를 추가로 암호화할 수 있습니다.
--encrypt-to name
Same as --recipient but this one is intended for use in the op‐
tions file and may be used with your own user-id as an "encrypt-
to-self". These keys are only used when there are other recipi‐
ents given either by use of --recipient or by the asked user id.
No trust checking is performed for these user ids and even dis‐
abled keys can be used.
--hidden-encrypt-to name
Same as --hidden-recipient but this one is intended for use in
the options file and may be used with your own user-id as a hid‐
den "encrypt-to-self". These keys are only used when there are
other recipients given either by use of --recipient or by the
asked user id. No trust checking is performed for these user
ids and even disabled keys can be used.
이러한 옵션 중 하나를 사용하여 암호화해야 하는 이유는 공개 키 암호화가 작동하는 방식 때문입니다. 주어진 공개 키를 사용하여 메시지를 암호화하기 위해 GnuPG는 무작위 대칭 암호화 키를 생성하고 이를 사용하여 메시지를 암호화합니다(보통 AES-CFB). 그런 다음 AES 키가 공개 키로 채워지고 암호화됩니다. 여러 명의 수신자를 갖고 싶다면 동일한 키를 다른 공개 키로 다시 암호화하여 메시지에 추가하세요. 따라서 수신자가 여러 명인 암호화된 메시지에는 AES로 암호화된 메시지의 단일 복사본과 AES 키의 여러 복사본이 있으며 각 복사본은 한 명의 수신자만 해독할 수 있습니다.
귀하가 이러한 수신자 중 하나가 아니면 AES 키를 해독할 수 없습니다. 즉, 메시지를 해독할 수 없습니다. GnuPG는 생성된 대칭 키의 복사본을 어디에도 저장하지 않습니다. 따라서 일단 메시지를 암호화하는 데 사용되고 각 수신자에 대해 자체적으로 암호화되면 해당 복사본은 파기됩니다. 수신자의 개인 키에 접근하지 않으면 돌려받을 수 없습니다.