GPG를 사용하여 개인 키로 파일을 암호화합니다.

GPG를 사용하여 개인 키로 파일을 암호화합니다.

장치의 소프트웨어를 업데이트하기 위한 시스템을 설정 중이며, 내가 생성한 개인 키를 사용하여 업데이트 파일을 암호화한 다음 공개 키를 사용하여 해독하려고 합니다. 내가 찾은 모든 예는 암호화에 수신자의 공개 키를 사용합니다. 암호화에 내 개인 키를 사용하고 싶습니다. 개인 키를 사용하고 수신자의 공개 키를 사용하여 파일을 암호화하는 Bob과 Alice의 예를 보았지만 개인 키 암호화를 수행하는 방법을 모르겠습니다.

답변1

이것은 GPG가 작동하는 방식이 아닙니다.

공개 키(아마도 귀하의 키)를 사용하여 파일을 암호화하고 개인 키를 사용하여 해독합니다.

따라서 인터넷에서 공개 키를 공유하면 누구나 공개 키를 사용하여 파일을 암호화할 수 있지만 파일을 해독할 수 있는 사람은 본인뿐입니다.

바라보다:http://www.dwinter.com/gnupg_howto/english/GPGMiniHowto-1.html

답변2

오래된 질문인데... 다른 걸 찾다가 발견했어요.

당신이 정말로 원하는 것은 파일을 암호화하는 것이 아니라 당신이 파일의 소스라는 확인을 만드는 것입니다. 이것이 파일 서명의 목적입니다.

공개 키 암호화 작동 방식에 대한 간단한 기본 아이디어: 개인 키로 암호화된 내용은 공개 키로만 해독할 수 있습니다. 공개 키로 암호화된 항목은 개인 키로만 해독할 수 있습니다. (왜 그런 것인지는 이 답변의 범위를 벗어납니다.)

일반적인 작업에서는 누군가가 귀하에게 메시지를 보내려고 하면 귀하의 개인 키만이 메시지를 해독할 수 있으므로 귀하의 공개 키를 사용하여 메시지를 암호화합니다.

서명은 파일/데이터의 단방향 해시를 생성하고 공개 키와 개인 키의 역할을 바꿉니다. 공개 키를 가진 사람은 누구나 해시를 해독할 수 있으며 암호화된 해시를 생성한 사람은 자신뿐이라는 것을 확신할 수 있습니다. 개인 키 키를 사용하여 먼저 암호화할 수 있습니다.

해시 값은 파일에 서명한 이후 파일이 변조되지 않았는지 확인하는 데 사용됩니다. 파일이 변경되면 해시가 변경되고 변경되었음을 명확하게 나타냅니다. 개인 키가 없기 때문에 공개 키를 사용하여 암호를 해독하기 위해 새 해시로 새 서명을 생성할 수 없습니다.

많은 시스템에서는 이 방법을 사용하여 다른 파일의 체크섬/해시로 파일에 서명하여 해당 체크섬/해시가 있는 파일이 진짜인지 확인합니다.

또한 데이터/파일 암호화와 서명을 결합하여 암호화된 데이터를 의도된 수신자 이외의 다른 사람이 해독할 수 없도록 하고 암호화된 데이터가 변조되지 않도록 할 수도 있습니다.

"비하인드 스토리", GPG 및 관련 프로그램이 작동하는 방식입니다. 키 데이터를 사용하여 데이터를 암호화하는 것은 계산 비용이 너무 많이 듭니다. 대신, 더 빠른 암호화 방법을 사용하여 암호화하기 위해 임의의 "일회용 비밀번호"(OTP)를 생성합니다. 그런 다음 암호는 의도된 수신자의 키를 사용하여 암호화되고 암호화된 데이터와 함께 전송됩니다. 개인 키만이 데이터 암호화에 사용된 비밀번호를 해독할 수 있으므로 다른 사람이 이를 해독할 수 없다는 것을 매우 합리적으로 보장할 수 있습니다.

마지막 참고 사항: 암호화는 항상 끊임없이 변화하는 상태에 있습니다. 내가 이 글을 쓰는 동안, 누군가가 사용된 알고리즘 중 하나에서 약점을 발견했기 때문에 "합리적"이거나 "보장된" 것이 내일 무효화될 수도 있습니다.

관련 정보