บทช่วยสอนการเข้ารหัส
บทช่วยสอนการเข้ารหัสและความปลอดภัยเครือข่าย
ข้อมูลมีบทบาทสำคัญในการดำเนินธุรกิจ องค์กร ปฏิบัติการทางทหาร เป็นต้น ข้อมูลที่ตกไปอยู่ในมือของผู้ที่ไม่เหมาะสมอาจนำไปสู่การสูญเสียทางธุรกิจหรือผลลัพธ์ที่เลวร้ายได้ เพื่อความปลอดภัยในการสื่อสาร ธุรกิจสามารถใช้การเข้ารหัสข้อมูลได้ การเข้ารหัสเกี่ยวข้องกับการแปลงข้อมูลให้เป็นรูปแบบที่มนุษย์ไม่สามารถอ่านได้และในทางกลับกัน
ในบทช่วยสอนการเข้ารหัสและความปลอดภัยเครือข่ายนี้ เราจะแนะนำให้คุณรู้จักกับโลกแห่งการเข้ารหัสและวิธีที่คุณสามารถรักษาความปลอดภัยข้อมูลไม่ให้ตกไปอยู่ในมือของคนผิด
Cryptography คืออะไร?
การเข้ารหัสคือการศึกษาและการประยุกต์ใช้เทคนิคต่างๆ ที่ซ่อนความหมายที่แท้จริงของข้อมูลด้วยการแปลงข้อมูลให้อยู่ในรูปแบบที่มนุษย์ไม่สามารถอ่านได้และในทางกลับกัน
เรามาอธิบายสิ่งนี้ด้วยความช่วยเหลือของตัวอย่าง สมมติว่าคุณต้องการส่งข้อความ “ฉันรักแอปเปิ้ล”คุณสามารถแทนที่ตัวอักษรทุกตัวในวลีด้วยตัวอักษรตัวที่สามต่อเนื่องกันในตัวอักษรได้ ข้อความที่เข้ารหัสจะเป็น “K NQXG CRRNGU”- เพื่อถอดรหัสข้อความของเรา เราจะต้องย้อนกลับไปสามตัวอักษรในตัวอักษรโดยใช้ตัวอักษรที่เราต้องการถอดรหัส ภาพด้านล่างแสดงวิธีการแปลงเสร็จสิ้น

กระบวนการแปลงข้อมูลให้อยู่ในรูปแบบที่ไม่สามารถอ่านได้โดยมนุษย์เรียกว่าการเข้ารหัส
กระบวนการย้อนกลับการเข้ารหัสเรียกว่า ถอดรหัส.
การถอดรหัสทำได้โดยใช้ รหัสลับ ซึ่งเฉพาะผู้รับข้อมูลที่ถูกต้องเท่านั้นที่ทราบ กุญแจถูกใช้เพื่อถอดรหัสข้อความที่ซ่อนอยู่ สิ่งนี้ทำให้การสื่อสารมีความปลอดภัย เพราะแม้ว่าผู้โจมตีจะจัดการเพื่อรับข้อมูล แต่ก็จะไม่สมเหตุสมผลสำหรับพวกเขา
ข้อมูลที่เข้ารหัสเรียกว่าก ตัวเลข- ต่อไปในบทช่วยสอนการเข้ารหัสนี้ เราจะเรียนรู้ว่าการเข้ารหัสคืออะไร
คุณสมบัติของการเข้ารหัส
รายการคุณสมบัติของการเข้ารหัสมีดังต่อไปนี้:
- ขั้นตอนวิธี
- ความลับ
- Integrity
- การปรับตัวและเข้าถึงได้
- การทำงานร่วมกัน
- การยืนยันตัวตน
- scalability
- การจัดการคีย์
การประยุกต์ใช้การเข้ารหัส
การใช้งานการเข้ารหัสมีดังนี้:
- การเข้ารหัส SSL/TLS
- การจัดเก็บรหัสผ่าน
- ธนาคารออนไลน์ที่ปลอดภัย
- Crypto- สกุลเงิน
- อีเมลที่เข้ารหัส
- Digiลายเซ็นต์
- การสื่อสารที่ปลอดภัย
- อีคอมเมิร์ซและธุรกรรมออนไลน์
การเข้ารหัสคืออะไร?
การเข้ารหัส คือศิลปะในการพยายามถอดรหัสข้อความที่เข้ารหัสโดยไม่ใช้คีย์ที่ใช้ในการเข้ารหัสข้อความ การวิเคราะห์การเข้ารหัสใช้การวิเคราะห์ทางคณิตศาสตร์และอัลกอริทึมในการถอดรหัสรหัส ใช้เพื่อเจาะระบบความปลอดภัยเพื่อเข้าถึงเนื้อหาและข้อความที่เข้ารหัส แม้ว่าคีย์การเข้ารหัสจะยังไม่เป็นที่รู้จักก็ตาม
ความสำเร็จของการโจมตีด้วยการเข้ารหัสนั้นขึ้นอยู่กับ
- ระยะเวลาที่มีอยู่
- มีกำลังคอมพิวเตอร์
- ความจุที่มีอยู่
ต่อไปนี้คือรายการการโจมตี Cryptonalysis ที่ใช้กันทั่วไป
- การโจมตีด้วยกำลังดุร้าย– การโจมตีประเภทนี้ใช้อัลกอริทึมที่พยายามคาดเดาการรวมกันเชิงตรรกะที่เป็นไปได้ทั้งหมดของข้อความธรรมดา ซึ่งจากนั้นจะถูกเข้ารหัสและเปรียบเทียบกับรหัสต้นฉบับ
- การโจมตีพจนานุกรม– การโจมตีประเภทนี้ใช้รายการคำเพื่อค้นหาการจับคู่ของข้อความธรรมดาหรือคีย์ ส่วนใหญ่จะใช้ในการพยายาม ถอดรหัสรหัสผ่านที่เข้ารหัส.
- การโจมตีโต๊ะสายรุ้ง– การโจมตีประเภทนี้จะเปรียบเทียบข้อความเข้ารหัสกับแฮชที่คำนวณไว้ล่วงหน้าเพื่อค้นหาการจับคู่
วิทยาการเข้ารหัสลับคืออะไร?
วิทยาการเข้ารหัสลับผสมผสานเทคนิคการเข้ารหัสและการวิเคราะห์การเข้ารหัสเข้าด้วยกัน
การเข้ารหัสลับ Algorithms
MD5– นี่คือตัวย่อสำหรับ Message-Digest 5 ใช้เพื่อสร้างค่าแฮช 128 บิต ตามทฤษฎีแล้ว แฮชไม่สามารถกลับเป็นข้อความธรรมดาต้นฉบับได้ MD5 ใช้เพื่อเข้ารหัสรหัสผ่านรวมถึงตรวจสอบความสมบูรณ์ของข้อมูล MD5 ไม่ทนทานต่อการชน การต้านทานการชนกันคือความยากในการค้นหาค่าสองค่าที่สร้างค่าแฮชเดียวกัน
- SHA– นี่คือคำย่อของ Secure Hash Algorithm อัลกอริทึม SHA ใช้เพื่อสร้างการแสดงข้อความแบบย่อ (message digest) อัลกอริทึมนี้มีหลายเวอร์ชัน เช่น
- SHA-0: สร้างค่าแฮช 120 บิต มันถูกถอนออกจากการใช้งานเนื่องจากมีข้อบกพร่องที่สำคัญและแทนที่ด้วย SHA-1
- SHA-1: สร้างค่าแฮช 160 บิต มันคล้ายกับ MD5 เวอร์ชันก่อนหน้า มีจุดอ่อนในการเข้ารหัสและไม่แนะนำให้ใช้ตั้งแต่ปี 2010
- SHA-2: มีฟังก์ชันแฮชสองฟังก์ชันคือ SHA-256 และ SHA-512 SHA-256 ใช้คำแบบ 32 บิต ในขณะที่ SHA-512 ใช้คำแบบ 64 บิต
- SHA-3: อัลกอริธึมนี้มีชื่ออย่างเป็นทางการว่า Keccak
- RC4– อัลกอริธึม Brute Force RC4 ใช้เพื่อสร้างรหัสสตรีม ส่วนใหญ่จะใช้ในโปรโตคอลเช่น Secure Socket Layer (SSL) เพื่อเข้ารหัสการสื่อสารทางอินเทอร์เน็ตและ ความเป็นส่วนตัวเทียบเท่าสาย (WEP) เพื่อรักษาความปลอดภัยเครือข่ายไร้สาย
- ปักเป้า– อัลกอริธึมนี้ใช้เพื่อสร้างรหัสที่ถูกบล็อกแบบสมมาตรและสามารถใช้เข้ารหัสรหัสผ่านและข้อมูลอื่นๆ ได้
ในซีรีส์บทช่วยสอนเกี่ยวกับการเข้ารหัส เราจะเรียนรู้วิธีถอดรหัส RC4 และสร้างรหัสโดยใช้ CrypTool
กิจกรรมการแฮ็ก: วิธีสร้าง Cipher โดยใช้ CrypTool
ในบทช่วยสอน Cryptool ที่ใช้งานได้จริงนี้ เราจะสร้างการเข้ารหัสอย่างง่ายโดยใช้เครื่องมือ RC4 bruteforce จากนั้นเราจะพยายามถอดรหัสโดยใช้การโจมตีแบบเดรัจฉาน สำหรับแบบฝึกหัดนี้ ให้เราถือว่าเรารู้ การเข้ารหัสลับ รหัสลับคือ 24 บิต เราจะใช้ข้อมูลนี้เพื่อทำลายรหัส
การสร้างรหัสสตรีม RC4
ขั้นตอนที่ 1) ดาวน์โหลดและติดตั้ง CryptTool
เราจะใช้ CrypTool 1 เป็นเครื่องมือในการเข้ารหัสของเรา CrypTool 1 เป็นเครื่องมือการศึกษาแบบโอเพ่นซอร์สสำหรับการศึกษาเชิงตรรกะของการเข้ารหัสลับ คุณสามารถดาวน์โหลดได้จาก https://www.cryptool.org/en/ct1/
ขั้นตอนที่ 2) เปิด CryptTool และแทนที่ข้อความ
เราจะเข้ารหัสวลีต่อไปนี้
อย่าดูถูกความมุ่งมั่นของเด็กที่มีเวลามากและขาดแคลนเงิน
เราจะใช้ 00 00 00 เป็นคีย์เข้ารหัส
- เปิด CrypTool 1
- แทนที่ข้อความด้วยอย่าประมาทความมุ่งมั่นของเด็กที่รวยเวลาและขาดแคลนเงิน
ขั้นตอนที่ 3) เข้ารหัสข้อความ
- คลิกที่เมนูเข้ารหัส/ถอดรหัส
- ชี้ไปที่สมมาตร (สมัยใหม่) จากนั้นเลือก RC4 ตามที่แสดงด้านบน
- จะปรากฏหน้าต่างต่อไปนี้
ขั้นตอนที่ 4) เลือกคีย์เข้ารหัส
- เลือก 24 บิตเป็นคีย์เข้ารหัส
- ตั้งค่าเป็น 00 00 00
- คลิกที่ปุ่มเข้ารหัส
- คุณจะได้รับรหัสสตรีมต่อไปนี้
โจมตี Stream Cipher
ขั้นตอนที่ 5) เริ่มการวิเคราะห์
- คลิกที่เมนูการวิเคราะห์
- ชี้ไปที่ Symmetric Encryption (สมัยใหม่) จากนั้นเลือก RC4 ตามที่แสดงด้านบน
- คุณจะได้รับหน้าต่างต่อไปนี้
- โปรดจำไว้ว่าสมมติฐานที่ทำไว้คือรหัสลับคือ 24 บิต ดังนั้นตรวจสอบให้แน่ใจว่าคุณเลือก 24 บิตเป็นความยาวของคีย์
- คลิกปุ่ม Start คุณจะเห็นหน้าต่างต่อไปนี้
- หมายเหตุ: เวลาที่ใช้ในการโจมตี Brute-Force Analysis ขึ้นอยู่กับความสามารถในการประมวลผลของเครื่องที่ใช้งานและความยาวของคีย์ ยิ่งความยาวของคีย์ยาวเท่าไร การโจมตีก็จะยิ่งนานขึ้นเท่านั้น
ขั้นตอนที่ 6) วิเคราะห์ผลลัพธ์
- เมื่อการวิเคราะห์เสร็จสมบูรณ์คุณจะได้รับผลลัพธ์ต่อไปนี้
- หมายเหตุ: ค่าเอนโทรปีที่ต่ำกว่าหมายความว่าน่าจะเป็นผลลัพธ์ที่ถูกต้องที่สุด เป็นไปได้ว่าค่าเอนโทรปีที่สูงกว่าค่าต่ำสุดที่พบอาจเป็นผลลัพธ์ที่ถูกต้อง
- เลือกบรรทัดที่เหมาะสมที่สุด จากนั้นคลิกปุ่มยอมรับการเลือกเมื่อเสร็จแล้ว
สรุป
- การเข้ารหัสเป็นศาสตร์แห่งการเข้ารหัสและถอดรหัสข้อความ
- รหัสคือข้อความที่ถูกแปลงเป็นรูปแบบที่ไม่สามารถอ่านได้โดยมนุษย์
- การถอดรหัสคือการกลับรหัสไปเป็นข้อความต้นฉบับ
- การเข้ารหัสลับเป็นศิลปะของการถอดรหัสการเข้ารหัสโดยไม่ต้องมีความรู้เกี่ยวกับกุญแจที่ใช้ในการเข้ารหัส
- วิทยาการเข้ารหัสลับผสมผสานเทคนิคของทั้งการเข้ารหัสและนักวิเคราะห์การเข้ารหัส
- อัลกอริทึมออนไลน์ RC4 bruteforce ใช้เพื่อสร้างรหัสสตรีม ส่วนใหญ่จะใช้ในโปรโตคอล เช่น Secure Socket Layer (SSL) เพื่อเข้ารหัสการสื่อสารทางอินเทอร์เน็ต และ Wired Equivalent Privacy (WEP) เพื่อรักษาความปลอดภัยเครือข่ายไร้สาย