การทดสอบความปลอดภัย - การเข้ารหัส
Cryptography คืออะไร?
การเข้ารหัสเป็นศาสตร์ในการเข้ารหัสและถอดรหัสข้อมูลที่ช่วยให้ผู้ใช้สามารถจัดเก็บข้อมูลที่ละเอียดอ่อนหรือส่งผ่านเครือข่ายที่ไม่ปลอดภัยเพื่อให้ผู้รับสามารถอ่านได้เท่านั้น
ข้อมูลที่สามารถอ่านและเข้าใจได้โดยไม่ต้องมีมาตรการพิเศษใด ๆ เรียกว่า plaintextในขณะที่วิธีการปลอมแปลงข้อความธรรมดาเพื่อซ่อนสสารนั้นเรียกว่า encryption.
ข้อความธรรมดาที่เข้ารหัสเรียกว่าข้อความเข้ารหัสและกระบวนการเปลี่ยนข้อมูลที่เข้ารหัสกลับเป็นข้อความธรรมดาเรียกว่า decryption.
ศาสตร์แห่งการวิเคราะห์และทำลายการสื่อสารที่ปลอดภัยเรียกว่า cryptanalysis คนที่ดำเนินการเช่นเดียวกันหรือที่เรียกว่าผู้โจมตี
การเข้ารหัสอาจมีความแข็งแกร่งหรืออ่อนแอและความแข็งแกร่งจะวัดได้จากเวลาและทรัพยากรที่ต้องใช้ในการกู้คืนข้อความธรรมดาที่แท้จริง
ดังนั้นจึงต้องใช้เครื่องมือถอดรหัสที่เหมาะสมในการถอดรหัสข้อความเข้ารหัสที่แข็งแกร่ง
มีเทคนิคการเข้ารหัสบางอย่างที่สามารถใช้งานได้ซึ่งแม้แต่คอมพิวเตอร์กว่าพันล้านเครื่องที่ทำการตรวจสอบหนึ่งพันล้านครั้งต่อวินาทีก็ไม่สามารถถอดรหัสข้อความได้
เนื่องจากพลังในการประมวลผลเพิ่มขึ้นทุกวันเราจึงต้องทำให้อัลกอริทึมการเข้ารหัสมีความแข็งแกร่งมากเพื่อปกป้องข้อมูลและข้อมูลสำคัญจากผู้โจมตี
การเข้ารหัสทำงานอย่างไร
อัลกอริธึมการเข้ารหัสจะทำงานร่วมกับคีย์ (อาจเป็นคำตัวเลขหรือวลี) เพื่อเข้ารหัสข้อความธรรมดาและข้อความธรรมดาเดียวกันจะเข้ารหัสไปยังข้อความการเข้ารหัสที่แตกต่างกันโดยใช้คีย์ที่แตกต่างกัน
ดังนั้นข้อมูลที่เข้ารหัสจึงขึ้นอยู่กับพารามิเตอร์สองตัวอย่างสมบูรณ์เช่นความแข็งแกร่งของอัลกอริทึมการเข้ารหัสและความลับของคีย์
เทคนิคการเข้ารหัส
Symmetric Encryption- การเข้ารหัสแบบเดิมหรือที่เรียกว่าการเข้ารหัสแบบเดิมเป็นเทคนิคที่ใช้เพียงคีย์เดียวสำหรับทั้งการเข้ารหัสและการถอดรหัส ตัวอย่างเช่น DES, อัลกอริทึม Triple DES, MARS โดย IBM, RC2, RC4, RC5, RC6
Asymmetric Encryption- เป็นการเข้ารหัสคีย์สาธารณะที่ใช้คู่ของคีย์ในการเข้ารหัส: คีย์สาธารณะสำหรับเข้ารหัสข้อมูลและคีย์ส่วนตัวสำหรับการถอดรหัส มีการเผยแพร่คีย์สาธารณะให้กับผู้คนในขณะที่เก็บคีย์ส่วนตัวไว้เป็นความลับ ตัวอย่างเช่น RSA, Digital Signature Algorithm (DSA), Elgamal
Hashing- การแฮชเป็นการเข้ารหัสทางเดียวซึ่งสร้างเอาต์พุตที่มีสัญญาณรบกวนที่ไม่สามารถย้อนกลับได้หรืออย่างน้อยก็ไม่สามารถย้อนกลับได้อย่างง่ายดาย ตัวอย่างเช่นอัลกอริทึม MD5 ใช้ในการสร้างใบรับรองดิจิทัลลายเซ็นดิจิทัลการจัดเก็บรหัสผ่านการตรวจสอบการสื่อสาร ฯลฯ