517344-Computer Security-Hash Function

11/02/2013 9:27 PM Study 1,351 views

 

Hash Function

Encryption Hash Function
  • การเข้ารหัสเป็นวิธีการที่นิยมใช้กันมากที่สุดเพื่อรักษาความปลอดภัยและความสมบูรณ์ถูกต้องของเนื้อหา
  • การเข้ารหัสข้อมูลบางอย่างเพื่อป้องกันให้ผู้ที่ไม่มีสิทธิดูข้อมูลเว้นแต่การได้รับอนุญาต
  • บางครั้งความสมบูรณ์ถูกต้อง (Integrity) มีความสำคัญมากกว่าการรักษาความปลอดภัย (secrecy)
  • เมื่อมีการเปลี่ยนแปลงหรือแก้ไขข้อมูลอาจทำให้ข้อมูลขาดคุณสมบัติ Integrity
How encryption provides integrity?
  • seal คือการประทับตราหรือปิดผนึก ตัวอย่างให้เห็นภาพและเข้าใจง่ายๆ เช่น การ seal ซองจดหมาย
  • เราจะปิดผนึก(seal) รอบๆ ซองจดหมายเพื่อป้องกันการถูกเปิดอ่าน ถ้าซองถูกเปิดผนึกที่ seal ไว้ถูกทำลายแสดงว่าข้อมูลอาจถูกอ่านหรือแก้ไข
  • เทคนิคหนึ่งของ seal ข้อมูลทางคอมพิวเตอร์ได้แก่ การเข้ารหัสข้อมูล การแฮช หรือการทำ message digest ข้อมูล
Hash Function
  • แฮชฟังก์ชั่นเป็นขั้นตอนหรือฟังก์ชั่นทางคณิตศาสตร์ที่ทำการแปลงข้อมูลที่มีความยาวของตัวอักษรจำนวนมากให้เป็นข้อความทีจำกัดหรือขนาดสั้นที่เรียกว่า Digest หรือข้อมูลขนาดย่อย ก่อนที่จะมีการเข้ารหัส
  • ค่าที่ได้จากการทำ แฮชฟังก์ชั่น เรียกว่า  ผลบวกแฮช (hash sum) ค่าแฮช (hash value) รหัสแฮช (hash code) หรือเรียกว่า แฮช(hash) เฉยๆ ก็ได้
  • Hashes เป็นการย่อยข้อมูล(digest) ไม่ใช่การเข้ารหัส

  • คุณสมบัติของ Hash Function
    • ควรมีความจำเพาะแต่ละข้อมูล เพราะข้อมูลแต่ละตัวควรผ่านฟังก์ชันแฮชแล้วมีค่าไม่เท่ากัน
    • เป็นฟังก์ชั่นที่ไม่สามารถทำย้อนกลับได้
    • ข้อมูลที่ได้ต้องไม่มีการซ้่ำกัน
  • ตัวอย่างของข้อมูลที่ได้หลังจากทำ Hash Function ซึ่งจะเป็นข้อมูลที่มีขนาดเท่ากัน

300px-Hash_function.svg 740px-Cryptographic_Hash_Function.svg

  • ความแตกต่างระหว่าง Encryption กับ Hashing
    • Encryption เป็นการแปลงข้อมูลจาก plaintext เป็น ciphertext และสามารถแปลงข้อมูลกลับไปเป็นข้อมูลต้นฉบับ (plain text) ซึ่งมีข้อมูลที่เหมือนเดิม
    • ข้อความที่ทำการ Encryption แล้วได้ ciphertext จะมีขนาดเท่ากับข้อความต้นฉบับ (cleartext)
    • Hashing เป็นกระบวนการทำงานทางเดียวที่เปลี่ยนข้อมูลปกติไปเป็นข้อมูลย่อย (Message digest) ซึ่งไม่สามารถแปลงข้อมูลกลับไปเป็นข้อมูลต้นฉบับได้
    • ข้อความที่ทำผ่าน Hash function จะมีขนาดน้อยลงและแต่ละบล๊อกของข้อความจะมีขนาดเท่ากัน

Encryption crypto-hash-1

Hashing crypto-hash-2

 

ขอบคุณข้อมูลจาก

  • Slide วิชา Computer Security
  • http://www.unixwiz.net/techtips/iguide-crypto-hashes.html
  • http://th.wikipedia.org/wiki/แฮชฟังก์ชั่น
  • http://en.wikipedia.org/wiki/Cryptographic_hash_function

, , , , , ,