해시/암호화

PGP/GPG Encrypt/Decrypt

PGP 키를 생성하고, openpgp.js 라이브러리를 통해 메시지를 암호화 및 복호화합니다(OpenPGP, RFC 4880).


                        

                        

PGP/OpenPGP (RFC 4880) uses a key pair — public and private — for end-to-end message encryption and digital signatures. This tool generates keys and encrypts/decrypts messages using the openpgp.js library, right in your browser.

How to use it

Common uses

Things to keep in mind

A public key can be shared freely — it's exactly what others need to encrypt a message for you; a private key must never be shared with anyone.

Losing a private key with no backup means old messages can never be decrypted again — that's why creating a revocation certificate right after generating a key is worth doing immediately.

이 도구에 대한 아티클: PGP: 공개 키와 개인 키 암호화는 어떻게 작동하는가

자주 묻는 질문

PGP에서 암호화와 서명의 차이는 무엇인가요?

암호화는 의도된 수신자의 개인 키만 읽을 수 있도록 그들의 공개 키를 사용해 메시지를 뒤섞습니다. 서명은 그 반대로, 당신의 개인 키를 사용해 메시지가 당신에게서 왔고 변경되지 않았음을 증명하며, 당신의 공개 키를 가진 누구나 검증할 수 있습니다.

이 도구에 제 개인 키를 맡겨도 되나요?

모든 키 생성, 암호화, 복호화, 서명은 브라우저 내에서 완전히 이루어집니다 — 개인 키가 서버로 전송되는 일은 없습니다. 그래도 여기에 붙여넣는 개인 키는 다른 곳과 마찬가지로 신중하게 다루세요.

여기서 RSA와 ECC 키의 차이는 무엇인가요?

RSA는 더 오래되고 더 널리 지원되는 옵션으로, 동등한 보안을 위해 보통 더 긴 키(2048비트 이상)가 필요합니다. ECC(타원 곡선)는 훨씬 짧은 키로 비슷한 보안을 달성해 더 빠르지만, 오래된 소프트웨어에서는 지원이 다소 덜 보편적입니다.

Web of Trust란 무엇이고 X.509와 어떻게 다른가요?

중앙화된 인증 기관이 신뢰를 보증하는 X.509와 달리, PGP는 "신뢰의 거미줄(Web of Trust)"에 의존합니다. 사용자들은 키의 소유자를 직접 확인한 후 서로의 공개 키에 서명합니다. 낯선 키에 대한 신뢰는 이미 신뢰하는 사람들의 서명 체인을 통해 형성됩니다.

개인 키를 분실하면 어떻게 되나요?

개인 키가 없으면 자신에게 암호화된 메시지를 복호화하거나 자신의 이름으로 서명할 수 없습니다 — 백업이 없다면 키를 복구할 방법이 없습니다. 그래서 키를 생성한 직후 철회 인증서(revocation certificate)를 만들어두는 것이 중요한 습관입니다.

아티클: 해시/암호화

Hash Generator: MD5, SHA-1, SHA-256은 서로 어떻게 다른가

MD5가 아직도 파일 무결성 검증에는 쓰이지만 비밀번호에는 쓰이지 않는 이유.

Checksum Verifier: 파일이 손상되지 않았는지 확인하는 방법

일치하는 체크섬이 파일의 무결성은 확인해주지만 누가 만들었는지는 확인해주지 않는 이유.

HMAC: 키가 있는 해시는 일반 해시와 어떻게 다른가

일반 SHA-256이 메시지 위변조를 막지 못하지만 HMAC은 막을 수 있는 이유.

Bcrypt: 비밀번호를 빠르게가 아니라 느리게 해시하는 이유

빠른 SHA-256이 비밀번호에는 나쁜 선택이고, 느린 bcrypt가 올바른 선택인 이유.

UUID: 거의 절대 중복되지 않는 식별자는 어떻게 만들어지는가

UUID v4를 수백만 대의 기계에서 충돌 위험 없이 독립적으로 생성할 수 있는 이유.

비밀번호 생성기: 비밀번호를 진짜로 강하게 만드는 것

사전 단어로 만든 긴 비밀번호가 기호와 숫자가 든 짧은 비밀번호보다 강한 이유.

AES: 대칭 암호화는 어떻게 동작하는가

AES에서 같은 키가 데이터를 암호화하고 복호화하는 이유, 그리고 이것이 비대칭 암호화와 다른 점.

Argon2: 이 알고리즘이 비밀번호 해싱 경진대회에서 우승한 이유

Argon2가 오래된 비밀번호 해싱 알고리즘보다 GPU를 이용한 공격을 더 잘 방어하는 방법.

Scrypt: 이 알고리즘이 왜 그렇게 많은 메모리를 필요로 하는가

scrypt가 ASIC 장치에서의 크래킹을 어렵게 만들기 위해 일부러 많은 메모리를 요구하는 이유.

TOTP: 인증 앱의 일회용 코드는 어떻게 작동하는가

Google Authenticator의 코드가 인터넷 없이 작동하고 시간만으로 서버와 동기화되는 이유.

PBKDF2: 가장 오래된 키 스트레칭 표준

PBKDF2의 권장 반복 횟수가 매년 늘어나는 이유.

X.509: SSL 인증서 안에는 무엇이 들어있는가

초록색 자물쇠를 보여주기 전에 브라우저가 사이트 인증서에서 정확히 무엇을 확인하는지.