แฮช/การเข้ารหัส

PGP/GPG Encrypt/Decrypt

สร้างคีย์ PGP เข้ารหัสและถอดรหัสข้อความ (OpenPGP, RFC 4880) ผ่านไลบรารี openpgp.js


                        

                        

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 อาศัย "ใยแห่งความเชื่อถือ": ผู้ใช้ลงนามในคีย์สาธารณะของกันและกันเองหลังจากตรวจสอบตัวตนด้วยตนเองแล้ว ความน่าเชื่อถือต่อคีย์ที่ไม่รู้จักเกิดขึ้นผ่านห่วงโซ่ลายเซ็นของผู้คนที่คุณเชื่อถืออยู่แล้ว

จะเกิดอะไรขึ้นหากทำคีย์ส่วนตัวหาย?

หากไม่มีคีย์ส่วนตัว จะไม่สามารถถอดรหัสข้อความที่เข้ารหัสสำหรับคุณ หรือลงลายเซ็นในนามของคุณได้ — ไม่สามารถกู้คืนคีย์ได้หากไม่มีสำเนาสำรอง ด้วยเหตุนี้การสร้างใบรับรองเพิกถอน (revocation certificate) ทันทีหลังสร้างคีย์จึงเป็นแนวปฏิบัติที่สำคัญ

บทความ: แฮช/การเข้ารหัส

Hash Generator: MD5, SHA-1 และ SHA-256 ต่างกันอย่างไร

เหตุใด MD5 จึงยังใช้ตรวจสอบความถูกต้องของไฟล์ แต่ไม่ใช้กับรหัสผ่าน

Checksum Verifier: วิธีตรวจสอบว่าไฟล์ไม่เสียหาย

เหตุใด checksum ที่ตรงกันจึงยืนยันความถูกต้องของไฟล์ แต่ไม่ยืนยันว่าใครเป็นผู้สร้าง

HMAC: แฮชที่มีคีย์ต่างจากแฮชธรรมดาอย่างไร

เหตุใด SHA-256 ธรรมดาจึงไม่ป้องกันการปลอมแปลงข้อความ แต่ HMAC ป้องกันได้

Bcrypt: เหตุใดรหัสผ่านจึงถูกแฮชอย่างช้า ๆ ไม่ใช่เร็ว

เหตุใด SHA-256 ที่เร็วจึงเป็นตัวเลือกที่แย่สำหรับรหัสผ่าน และ bcrypt ที่ช้าจึงเป็นตัวเลือกที่ถูกต้อง

UUID: ตัวระบุที่แทบไม่เคยซ้ำกันถูกสร้างขึ้นอย่างไร

เหตุใด UUID v4 จึงสามารถสร้างแยกกันได้บนเครื่องนับล้านเครื่องโดยไม่มีความเสี่ยงชนกัน

Password Generator: อะไรที่ทำให้รหัสผ่านแข็งแกร่งจริง ๆ

เหตุใดรหัสผ่านยาวที่ประกอบจากคำในพจนานุกรมจึงแข็งแกร่งกว่ารหัสผ่านสั้นที่มีสัญลักษณ์และตัวเลข

AES: การเข้ารหัสแบบสมมาตรทำงานอย่างไร

เหตุใดคีย์เดียวกันจึงเข้ารหัสและถอดรหัสข้อมูลใน AES และสิ่งนี้ต่างจากการเข้ารหัสแบบอสมมาตรอย่างไร

Argon2: เหตุใดอัลกอริทึมนี้จึงชนะการแข่งขันแฮชรหัสผ่าน

Argon2 ป้องกันการโจมตีด้วย GPU ได้ดีกว่าอัลกอริทึมแฮชรหัสผ่านรุ่นเก่าอย่างไร

Scrypt: เหตุใดอัลกอริทึมนี้จึงต้องการหน่วยความจำมากขนาดนั้น

เหตุใด scrypt จึงต้องการหน่วยความจำมากโดยตั้งใจเพื่อให้การเดารหัสบนอุปกรณ์ ASIC ยากขึ้น

TOTP: รหัสใช้ครั้งเดียวในแอปยืนยันตัวตนทำงานอย่างไร

เหตุใดรหัสใน Google Authenticator จึงทำงานได้โดยไม่มีอินเทอร์เน็ตและซิงค์กับเซิร์ฟเวอร์ผ่านเวลาเท่านั้น

PBKDF2: มาตรฐานการยืดคีย์ที่เก่าแก่ที่สุด

เหตุใดจำนวนรอบการวนซ้ำที่แนะนำสำหรับ PBKDF2 จึงเพิ่มขึ้นทุกปี

X.509: ภายในใบรับรอง SSL มีอะไรบ้าง

เบราว์เซอร์ตรวจสอบอะไรในใบรับรองของเว็บไซต์ก่อนแสดงกุญแจสีเขียว