Computer >> คอมพิวเตอร์ >  >> การเขียนโปรแกรม >> การเขียนโปรแกรม

ฟังก์ชั่น Cryptographic Hash ในความปลอดภัยของข้อมูลคืออะไร?


ฟังก์ชันแฮชเข้ารหัสเป็นฟังก์ชันตัวเลขที่ใช้ในการเข้ารหัส ฟังก์ชันแฮชแบบเข้ารหัสจะรวมความสามารถในการส่งข้อความของฟังก์ชันแฮชเข้ากับคุณลักษณะด้านความปลอดภัย

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

ฟังก์ชัน Cryptographic Hash เป็นเครื่องมือที่สำคัญที่สุดในด้านการเข้ารหัสและใช้เพื่อจัดการวัตถุประสงค์ด้านความปลอดภัยจำนวนหนึ่ง เช่น ความถูกต้อง ลายเซ็นดิจิทัล การสร้างหมายเลขเทียม steganography ดิจิทัล การประทับเวลาดิจิทัล ฯลฯ

ฟังก์ชันแฮชคือฟังก์ชันที่รับข้อความที่มีความยาวเท่าใดก็ได้เป็นอินพุต และเปลี่ยนเป็นเอาต์พุตความยาวคงที่ที่เรียกว่าค่าแฮช ไดเจสต์ข้อความ เช็คซัม หรือลายนิ้วมือดิจิทัล

ฟังก์ชันแฮชเป็นฟังก์ชัน f:D -> R โดยที่โดเมน D ={0, 1}* ซึ่งกำหนดว่าองค์ประกอบของโดเมนมีสตริงไบนารีที่มีความยาวผันแปรได้ และช่วง R ={0, 1} n สำหรับบาง n>=1 ซึ่งกำหนดว่าองค์ประกอบของช่วงเป็นสตริงไบนารีที่มีความยาวคงที่ ดังนั้น f เป็นฟังก์ชันที่สร้างเป็นข้อความอินพุต M ขนาดใดก็ได้ และสร้างผลลัพธ์แฮชที่มีความยาวคงที่ h ขนาด n

ฟังก์ชันแฮช f ถูกกำหนดเป็นฟังก์ชันบีบอัดเมื่อโดเมน D ของมันถูกจำกัด เช่น ถ้าฟังก์ชัน f รับข้อความความยาวคงที่เป็นอินพุตและสร้างเอาต์พุตความยาวคงที่ที่สั้นลง

คุณสมบัติของฟังก์ชันแฮชการเข้ารหัส

มีคุณสมบัติต่างๆ ของ hash function ดังนี้ -

  • การคำนวณแฮชสำหรับข้อมูลที่กำหนดนั้นทำได้ง่ายอย่างยิ่ง

  • ควรยอมรับกลุ่มข้อมูลขนาดใดก็ได้เป็นข้อมูลป้อนเข้า

  • ควรทำเอาต์พุตความยาวคงที่

  • มันควรจะทำตัวเหมือนฟังก์ชั่นสุ่มในขณะที่ถูกกำหนดและทำซ้ำได้อย่างมีประสิทธิภาพ

  • ควรรับอินพุตที่มีความยาวเท่าใดก็ได้ และเอาต์พุตสตริงแบบสุ่มที่มีความยาวคงที่

  • สำหรับอินพุตที่คล้ายกัน H ควรทำเอาต์พุตเดียวกันอย่างต่อเนื่อง

  • หากได้รับข้อความ M ก็สามารถคำนวณไดเจสต์ที่เกี่ยวข้องได้ง่ายๆ โดยที่ h สามารถคำนวณได้ในเวลาพหุนาม O(n) โดยที่ n คือความยาวของข้อความอินพุต

  • จากข้อความที่สรุป h มันซับซ้อนในการคำนวณที่จะค้นพบ M โดยที่ H (M) =h สิ่งนี้เรียกว่าคุณสมบัติต้านทานทางเดียวหรือก่อนภาพเช่น ไม่สามารถใช้กับการค้นหาข้อความจากค่าแฮชที่กำหนด

  • จากข้อความ M1 การคำนวณเป็นไปไม่ได้ที่จะค้นพบข้อความอื่น M2 ≠ M1 ที่มี H (M1) =H (M2) สิ่งนี้เรียกว่าการต้านทานการชนที่ต่ำหรือคุณสมบัติการต้านทานภาพก่อนภาพที่สอง

  • เป็นไปไม่ได้ในการคำนวณที่จะค้นหาชุดข้อความที่แตกต่างกัน (M1, M2) ที่ H (M1) =H (M2) สิ่งนี้ถูกกำหนดให้เป็นคุณสมบัติต้านทานการชนที่แข็งแกร่ง