- หน้าแรก
- เข้ารหัสลับ
- เข้ารหัส / ถอดรหัส
- Triple DES (3DES)
เข้ารหัสและถอดรหัส Triple DES (3DES)
เข้ารหัสและถอดรหัสข้อความด้วย Triple DES (DES-EDE3) สำหรับระบบรุ่นเก่า
Triple DES ถือว่าอ่อนแอตามมาตรฐานปัจจุบัน ใช้เพื่ออ่านข้อมูลเก่า ส่วนข้อมูลใหม่ให้ใช้ AES หรือ ChaCha20 ไปที่ AES
ต้องใช้รหัสผ่านนี้อีกครั้งเพื่อถอดรหัส สิ่งที่คุณพิมพ์จะไม่ออกจากหน้านี้
ค่าเริ่มต้นของ OpenSSL คือ 10,000 ใช้ตัวเลขใดก็ได้ ยิ่งมากยิ่งทำให้เดารหัสผ่านได้ช้าลง และการถอดรหัสต้องใช้จำนวนเดียวกัน
ตัวเลือกปกติเมื่อใช้กับ OpenSSL ต้องใช้ IV และเติม padding ให้เต็มบล็อก
openssl enc -des-ede3-cbc -pbkdf2 -iter 10000 -a -AOpenSSL จะถามรหัสผ่าน ให้วางข้อความลงไป หรือเพิ่มไฟล์ -in และ -out
Triple DES (3DES, TDES, TDEA) คือการใช้ DES สามครั้ง ได้แก่ เข้ารหัส ถอดรหัส แล้วเข้ารหัส ด้วยคีย์ 192 บิตที่ประกอบจากคีย์ DES สามตัว ระบบชำระเงิน ฐานข้อมูลรุ่นเก่า และระบบเชื่อมต่อแบบเดิมยังใช้อยู่ หน้านี้จึงมีไว้เพื่ออ่านข้อมูลจากระบบเหล่านั้นหรือสร้างข้อมูลให้เป็นหลัก เครื่องมือนี้เข้ารหัสและถอดรหัสข้อความด้วย Triple DES แบบ 3 คีย์ (des-ede3 ของ OpenSSL) โดยใช้โหมด CBC เป็นค่าเริ่มต้น หรือ ECB, CFB, OFB หรือ CTR ด้วยรหัสผ่านในรูปแบบ openssl enc -pbkdf2 หรือคีย์ hex 48 หลักกับ IV ของคุณเอง สำหรับข้อมูลใหม่ให้ใช้ AES ทุกอย่างเกิดขึ้นในเบราว์เซอร์ ข้อมูลและคีย์จึงไม่ออกจากอุปกรณ์ของคุณ ใช้ฟรีและไม่ต้องสมัครสมาชิก
วิธีถอดรหัสหรือเข้ารหัสข้อความ Triple DES
- เลือก “ถอดรหัส” แล้ววางข้อความ Base64 หรือ hex ซึ่งระบบจะตรวจรูปแบบให้อัตโนมัติ หรือเลือก “เข้ารหัส” แล้วพิมพ์ข้อความ
- ใส่รหัสผ่าน หรือสลับไปที่ “คีย์และ IV (hex)” แล้วใส่คีย์ 48 หลักและ IV 16 หลัก (ECB ไม่มี IV)
- เลือกโหมดที่ใช้สร้างข้อมูล ซึ่งส่วนใหญ่คือ CBC เปิด “ไม่ใช้ padding” เฉพาะเมื่อข้อมูลถูกเข้ารหัสโดยไม่มี padding แบบ PKCS#7
- คัดลอกหรือดาวน์โหลดผลลัพธ์ ผลลัพธ์ที่ไม่ใช่ข้อความจะแสดงเป็น hex และดาวน์โหลดเป็นไบต์
ความสามารถ
- Triple DES แบบ 3 คีย์ (DES-EDE3, คีย์ 192 บิต) และใช้คีย์แบบ 2 คีย์ได้เมื่อใส่เป็น K1 K2 K1
- โหมด CBC, ECB, CFB, OFB และ CTR พร้อม padding แบบ PKCS#7 หรือไม่ใช้ padding
- โหมดรหัสผ่านที่ openssl enc -des-ede3-cbc -pbkdf2 อ่านได้ โดยไม่ต้องใช้ legacy provider ของ OpenSSL
- โหมดคีย์และ IV: คีย์ hex 48 หลักและ IV 16 หลัก
- ตั้งจำนวนรอบ PBKDF2 ให้ตรงกับข้อมูลได้: 10,000, 100,000, 600,000 หรือจำนวนอื่นใดก็ได้
- อินพุตและผลลัพธ์เป็น Base64 หรือ hex ผลลัพธ์ที่ไม่ใช่ข้อความแสดงเป็น hex และบันทึกเป็นไบต์
- คำสั่ง openssl ที่ตรงกัน แสดงโดยไม่มีรหัสผ่านหรือคีย์ของคุณ
เป็นส่วนตัวหรือไม่
ใช่ Triple DES ทำงานด้วย WebAssembly ในเบราว์เซอร์ของคุณ ข้อมูลที่คุณถอดรหัส รวมถึงคีย์หรือรหัสผ่าน ไม่เคยถูกอัปโหลดหรือบันทึก ข้อมูลจากระบบชำระเงินหรือระบบธนาคารจึงอยู่ในคอมพิวเตอร์ของคุณเท่านั้น
คำถามที่พบบ่อย
Triple DES ยังปลอดภัยอยู่ไหม
ไม่ปลอดภัยสำหรับข้อมูลใหม่ บล็อกขนาด 8 ไบต์ทำให้ข้อมูลปริมาณมากภายใต้คีย์เดียวเสี่ยงต่อการโจมตี (Sweet32) และ NIST ไม่อนุญาตให้ใช้ Triple DES เข้ารหัสแล้วหลังปี 2023 แบบ 3 คีย์ยังให้ความปลอดภัยราว 112 บิต ข้อมูลเดิมจึงไม่ได้ถูกเจาะในชั่วข้ามคืน แต่ข้อมูลใหม่ควรเข้ารหัสด้วย AES หรือ ChaCha20
ถอดรหัสด้วย OpenSSL ได้ไหม
ได้ และ Triple DES ไม่ต้องใช้ legacy provider: echo 'U2FsdGVkX1…' | openssl enc -d -des-ede3-cbc -pbkdf2 -iter 10000 -a -A (จากนั้น OpenSSL จะถามรหัสผ่าน) ใช้ -des-ede3 สำหรับ ECB และ -des-ede3-cfb หรือ -des-ede3-ofb สำหรับโหมดเหล่านั้น OpenSSL ไม่มี Triple DES โหมด CTR ส่วนในโหมดคีย์และ IV ให้ใช้ -K <hex 48 หลัก> -iv <hex 16 หลัก> แทน -pbkdf2 -iter
คีย์ของฉันยาวแค่ 16 ไบต์ เป็น Triple DES แบบ 2 คีย์หรือเปล่า
ใช่ หน้านี้ใช้ Triple DES แบบ 3 คีย์ และคีย์แบบ 2 คีย์ K1 K2 มีค่าเท่ากับคีย์แบบ 3 คีย์ K1 K2 K1 ในโหมดคีย์และ IV ให้ใส่ hex 32 หลักของคุณ แล้วต่อท้ายด้วย 16 หลักแรกอีกครั้ง
จะย้ายข้อมูล Triple DES ไปเป็น AES ได้อย่างไร
ถอดรหัสที่นี่ด้วยคีย์หรือรหัสผ่านของข้อมูล คัดลอกข้อความ แล้วเข้ารหัสใหม่ในหน้า AES โดยใช้โหมด GCM หากฝั่งที่อ่านรองรับ หรือ CBC หากใช้ openssl enc ทั้งสองขั้นตอนทำงานในเบราว์เซอร์ ข้อความต้นฉบับจึงไม่ถูกส่งไปที่ใดระหว่างทาง
ทำไมถอดรหัสไม่สำเร็จหรือได้ข้อความที่อ่านไม่ออก
เพราะมีค่าหนึ่งไม่ตรงกับตอนเข้ารหัส ได้แก่ รหัสผ่านหรือคีย์ จำนวนรอบ โหมด หรือ padding ข้อความเข้ารหัสเก็บไว้เพียง salt จึงตรวจค่าอื่นไม่ได้ ใน CBC และ ECB ค่าที่ไม่ตรงมักจบด้วยข้อผิดพลาด แต่ CFB, OFB และ CTR แยกไม่ออก คุณจึงได้ไบต์สุ่มที่แสดงเป็น hex ข้อมูลที่เข้ารหัสด้วยคีย์ดิบแทนรหัสผ่านต้องใช้โหมดคีย์และ IV