대칭 암호화를 사용하여 두 개의 다른 키로 파일을 암호화 할 수 있습니까?


1

GPG / PGP 및 기타 공개 키 암호화는 공개 키를 사용하여 여러 수신자에게 암호화를 허용합니다.

대칭 암호화만으로도 동일한 작업을 수행 할 수 있습니까? 즉, 두 개의 다른 키를 사용하여 파일을 대칭 적으로 암호화 할 수 있습니까?

내 질문에 대한 이유는 비대칭 암호화 생산 거대한 파일을 생산하고있다. 공개 키 암호화 메시지를 스마트 폰에 보내면 너무 커질 것입니다. 특히 여러 수신자에게 암호화 된 경우. 하나의 "Hello"가 2 페이지의 텍스트를 가져갈 수 있습니다. 반면에 대칭 암호화는 매우 엄격합니다.

답변:


2

확실한. 임의의 키로 파일을 암호화 한 다음 두 개의 다른 대칭 키로 임의의 키를 암호화하면됩니다.


그것은 창조적 인 솔루션입니다. 그것에 대해 생각하지 않았습니다.
Vivarto

2
@Vivarto : 비대칭 암호화로 수행 한 것과 정확히 같습니다. 두 경우 모두 파일이 임의의 키로 대칭 적으로 암호화됩니다.
David Schwartz

@Vivarto David의 위의 설명은 정확합니다. PGP의 작동 방식에 대한 오해가있는 것 같습니다.
rsaw

0

현재 PGP 버전과 모든 GnuPG (GPG)는 OpenPGP 표준을 구현합니다. 아래에서 OpenPGP라는 용어 만 사용하겠다.

OpenPGP는 공개 키 암호화와 대칭 키 암호화를 모두 사용합니다. 문서를 암호화 할 때 공개 키를 사용하여 무작위 대칭 키가 생성되고 암호화됩니다. 수신자는 개인 키를 사용하여 대칭 암호화 (블록 암호) 키를 ​​암호화합니다. 대칭 키만 공개 키를 사용하여 암호화되기 때문에 오버 헤드는 작게 유지됩니다 (David Schwartz가 제안하고 이미 OpenPGP에서 구현 한 것입니다).

물론이 오버 헤드가 암호화 된 데이터와 비교하여 커질 수있는 두 가지 경우가 있습니다.

  • 아주 적은 양의 데이터. 이것이 문제가되는 경우 미리 공유 한 키 (대칭 키)를 사용하여 일부 암호화 방법을 선택해야합니다.
  • 수신자가 많습니다. 블록 암호는 각각에 대해 암호화되어야합니다. 이것이 문제가되면 모든 수신자간에 비밀 (개인 키)을 공유해야합니다.

대칭 암호화를 사용하여 모든 단일 수신자에게 비밀 정보를 넘겨 주거나 (개인 OpenPGP 키를 사용하여 동일하게 수행하지 않음) 모든 사람이 자신의 비밀을 지키기를 원한다면 아무도 자신의 데이터 버전을 해독 할 수 없습니다. 그래서 여러분은이 자료의 다른 버전을 모두 보내야 할 것입니다.


0

나는 실제로 같은 문제를 해결하려고했다. gpg의 문제는 키 저장소 등을 너무 많이 가지고 다닐 필요가 있다는 것입니다. 때로는 키 쌍을 만들고 암호화를 수행하는 컴퓨터에 공개 키를 올려 놓기를 원할 때도 있습니다.

나는 그것을하기위한 도구를 썼다. https://github.com/galets/AsymmetricCrypt . 당신은 리눅스에서 그것을 실행하는 모노가 필요합니다, 그렇지 않으면 그것은 잘 작동하고 별도의 파일에 암호화 된 키를 저장할 필요가 없습니다.

당사 사이트를 사용함과 동시에 당사의 쿠키 정책개인정보 보호정책을 읽고 이해하였음을 인정하는 것으로 간주합니다.
Licensed under cc by-sa 3.0 with attribution required.