'Giải mã' về lỗ hổng bảo mật của hàm băm SHA
时间:2025-04-19 18:48:28 出处:Công nghệ阅读(143)
Mới đây ngày 23/2 lần đầu tiên hàm băm (hash fuction) SHA-1 được Google tính ra các xung đột. Các hệ thống an ninh dựa trên hàm này từ các giao dịch nhà băng,ảimãvềlỗhổngbảomậtcủahàmbăgiá vàng nhân 9999 hôm nay các website thương mại điện tử, chữ ký số, kiểm tra tính toàn vẹn đều có nguy cơ cao bị tổn thương.
Hàm băm là gì?
Hàm băm là một cách mã hóa trong kỹ thuật mật mã nhằm sinh ra các giá trị băm (hash) tương ứng với mỗi khối dữ liệu (có thể là một chuỗi kí tự, một đối tượng trong lập trình hướng đối tượng, v.v...). Hàm băm là hàm "một cửa', hay “cửa sập” (trapdoor), nghĩa là hàm mà có thể tính toán dễ dàng một chiều và rất khó khăn theo chiều ngược lại.
![]() |
Ví dụ cho một biến số x và một hàm f(x). Việc từ x tính ra f(x) là dễ nhưng từ f(x) để tính ra x khó vô cùng. Trong hàm cửa sập tồn tại một thông tin bí mật k mà từ f(x) có thể tính ra x dễ dàng. Một ví dụ đơn giản, giả sử cho bạn một số 28 chữ số là 4951760154835678088235319297 và là tích của hai số nguyên tố (số mà chỉ chia hết cho 1 và chính nó). Tìm hai số đó? Cách làm là thử các số nguyên tố 2, 3,5,7,11,… xem số kia có chia hết không cho đến khi tìm ra. Việc này là rất tốn thời gian và công sức về mặt tính toán. Nhưng nếu được gợi ý một thừa số nguyên tố là 2147483647 (số nguyên tố Mersene thứ 8 do Euler tìm ra), thì bạn có thể dễ dàng tìm số nguyên tố còn lại là 2305843009213693951, cũng là một số nguyên tố Mersene thứ 9 có 19 chữ số.
Với các hàm băm cũng thế, giá trị băm của một dữ liệu bất kỳ dễ dàng tính toán được. Nhưng từ mã băm ấy, để khôi phục hay tìm được một dữ liệu có cùng một mã băm là rất khó khăn, tốn nhiều công sức tính toán và thời gian lâu dài.
Một hàm băm tốt phải thỏa mãn các điều kiện sau:
+ Tính toán nhanh.
+ Các khoá được phân bố đều trong bảng.
+ Ít xảy ra đụng độ.
+ Xử lý được các loại khóa có kiểu dữ liệu khác nhau.
Lưu ý rằng hàm băm ít xảy ra đụng độ chứ không phải không có đụng độ. Hàm băm thực tế không phải là một hàm đơn ánh (ánh xạ 1:1), như vậy tồn tại nhiều giá trị x có cùng một giá trị băm f(x), nghĩa là tồn tại những đụng độ.
上一篇: Nhận định, soi kèo HNK Sibenik vs Dinamo Zagreb, 23h00 ngày 17/4: Chiến thắng thứ 5
下一篇: Nhận định, soi kèo U21 Charlton vs U21 Birmingham, 20h00 ngày 15/4: Khách ‘ghi điểm’
猜你喜欢
- Nhận định, soi kèo Farense vs Boavista, 21h30 ngày 18/4: Ám ảnh xa nhà
- Soi kèo phạt góc Hammarby vs Norrkoping, 20h ngày 30/7
- Thương ngày nắng về tập 9: Trang bắt quả tang nhân viên nói xấu chuyện tế nhị
- Thương ngày nắng về tập 10: Đức xin tiền Khánh, ông Hùng mắng vợ vì bắt nạt con dâu
- Nhận định, soi kèo Gol Gohar Sirjan vs Esteghlal, 21h30 ngày 16/4: Tin vào khách
- Thực hư tin Hari Won bỏ dẫn do bức xúc với Trường Giang
- Vẻ ngoài gợi cảm của BTV luôn theo sát HLV Park tại AFF Cup 2018
- Nhận định, soi kèo Newroz vs Al Najaf, 18h45 ngày 25/10: Không có khác biệt
- Soi kèo góc Adelaide United vs Wellington Phoenix, 16h35 ngày 18/4: Đôi công hấp dẫn