Cryptography นั้นเกิดขึ้นมาตั้งแต่สมัยโบราณ ที่รู้จักกันอย่างแพร่หลายก็คือการเข้ารหัสของ caesar
ซึ่งเป็นการเข้ารหัสแบบง่ายๆที่ปัจจุบันเรียกว่า substitution cipher โดยเป็นการสลับแทนที่อักษร
เช่นคำว่า "WELCOME TO CITEC" เมื่อถูกเข้ารหัสจะกลายเป็น "ZHOFRPH WR FLWHF"
การเข้ารหัสข้อความนั้นถูกใช้เพื่อรักษาความลับเรื่อยๆมาแม้กระทั่งในสงครามเองก็ยังต้องมีการใช้การเข้ารหัสต่างๆ
ตัวอย่างเช่นในสงครามโลกครั้งที่ 2 เครื่อง Enigma ซึ่งเป็นที่โด่งดังของนาซีในการเข้ารหัสเพื่อติดต่อสื่อสาร
แต่ในปัจจุบันนั้นจุดประสงค์สำคัญในการเข้ารหัสนั้นมีดังนี้
1. การทำให้ข้อมูลเป็นความลับ (Confidentiality) เพื่อป้องกันไม่ให้ผู้ที่ไม่มีสิทธิ์ในการเข้าถึงข้อมูลสามารถเข้าถึงข้อมูลได้
2. การทำให้ข้อมูลสามารถตรวจสอบความสมบูรณ์ได้ (Integrity) เพื่อป้องกันข้อมูลให้อยู่ในสภาพเดิมอย่างสมบูรณ์ กล่าวคือ ในกระบวนการสื่อสารนั้นผู้รับ (Receiver) ได้รับข้อมูลที่ถูกต้องตามที่ผู้ส่ง (Sender) ส่งมาให้โดยข้อมูลจะต้องไม่มีการสูญหายหรือถูกเปลี่ยนแปลงแก้ไขใดๆ
3. การทำให้สามารถพิสูจน์ตัวตนของผู้ส่งข้อมูลได้ (Authentication/Nonrepudiation) เพื่อให้สามารถตรวจสอบได้ว่าใครคือผู้ส่งข้อมูล หรือในทางตรงกันข้าม ก็คือเพื่อป้องกันการแอบอ้างได้[1]

เมื่อเราศึกษาเกี่ยวกับระบบใดๆและเข้าใจอย่างละเอียดแล้ว
จะทำให้เราสามารถหาจุดบกพร่อง และวิธีการแก้ไขได้อย่างมีประสิทธิภาพ
รวมไปถึงการเขียน tool ขึ้นมาช่วยในการแก้ปัญหาต่างๆ เช่นการลืม password เป็นต้น

การศึกษา cryptography นั้นก็เหมือนกับการศึกษาในศาสตร์แขนงอื่นๆ
Hacker นั้นควรจะมีความรู้ในหลายๆแขนงเพื่อเป็นฐานความรู้ในการใช้งาน

[1] http://www.thaicert.org/paper/encryp...ntro_crypt.php