Vào thời điểm viết bài này (có thể vài ngày sau mới được “lên sóng”), tôi đang tải về một file thông qua giao thức BitTorrent và trong khi chờ đợi 10% còn lại, hic, khá là gian nan đây vì tải từ 1 giờ 30 đến giờ (5h30 chiều) mới được 90% nên quyết định ngồi viết bài này.
Tôi sử dụng uTorrent để tải file và từ phần thông tin tải file, tôi có thấy mục Hash với một dãy số đại loại như “ANHHANGXOMONLINE304KSDHURI2874SGAJPQ” . Vậy dãy số này là…cái quái gì và nó có tác dụng gì ?
Hiện nay trên nhiều website cung cấp phần mềm, ngoài thông tin về phần mềm đó người ta còn cung cấp thêm thông tin về MD5 (một dãy số gồm 32 chữ số) hoặc SHA-1 (45 chữ số). Các tác giả phần mềm thường khuyến cáo bạn kiểm tra chuỗi MD5 của phần mềm bạn tải về (có thể bạn tải về từ website khác) xem có khớp với dãy số họ công bố hay không, nếu khớp thì chắc chắn đó là phần mềm gốc mà tác giả công bố, ngược lại phần mềm đó đã bị thay đổi nội dung (do người khác chỉnh sửa hoặc đã bị nhiễm các loại malware).
Trước tiên cần phải nói rằng tải file bằng giao thức BitTorrent là một con dao lớn hơn… 2 lưỡi, hehe. Nó mang lại nhiều lợi ích và cũng nhiều nguy cơ ẩn chứa. Lợi ích, chắc bạn cũng đã biết rồi, vd: một bộ phim mới ra và ngay lập tức nó có trên mạng Bittorent và có thể một thời gian sau (hoặc chẳng bao giờ) bạn mới tìm được trên web . Nguy cơ hả ? Dựa vào thông tin Hash mà tôi nghĩ tới một nguy cơ : có thể file bạn tải về không còn nguyên vẹn như lúc ban đầu. Vd: một người tốt bụng chia sẽ một file thông qua giao thức Bittorrent, một người khác tải về thành công và lại chia sẽ nó, lần này anh ta “tốt bụng” chèn thêm các đoạn mã độc hay vài “con” virus chết tiệt vào đó, dung lượng file tăng nhẹ, từ vài byte cho đến vài Kb thì làm sao bạn biết được ?
Đó chính là lý do mà người ta đặt mục Hash ở đây. Hash còn được gọi là “hàm băm” hay “bảng băm”. Hàm băm là một hàm toán học chuyển đổi một thông điệp đầu vào có độ dài bất kỳ thành một dãy bit có độ dài cố định (tuỳ thuộc vào thuật toán băm). Dãy bit này được gọi là thông điệp rút gọn (message digest) hay giá trị băm (hash value), đại diện cho thông điệp ban đầu. Hàm băm là hàm một chiều nên không thể tái tạo lại thông điệp ban đầu từ một chuỗi băm có sẵn. Mọi sự thay đổi dù là nhỏ nhất ở thông điệp đầu vào cũng cho ra kết quả là một dãy số hoàn toàn khác nhau nên đây là cách tốt nhất để kiểm tra tính toàn vẹn của một tập tin.
Ví dụ, tôi “băm” chuỗi “anhhangxomonline.comze.com” sử dụng thuật toán SHA-1, tôi sẽ có được chuỗi “173DCD4B 970A1E00 C1DE1EE6 5F6BF2C9 29512C71″ và chắc chắn là dù bạn có “băm” ở… Mỹ, Úc, Canada hay bất kỳ máy tính nào sử dụng bất kỳ phần mềm nào để “băm” thì vẫn ra kết quả như vậy. Nhưng nếu bạn “băm” chuỗi “Anhhangxomonline.comze.com” thì lại ra một kết quả khác bởi vì “A” và “a” là khác nhau.
Password Syskey (xem bài viết Syskey – Tính năng bảo mật cực mạnh của Windows) cũng chính vì vậy mà rất khó để giải mã thành công dù có một số người nói là đã phá được nó nhưng tôi không biết có đúng không nữa, “thịt” đã băm rồi thì làm sao trở lại như cũ được nữa, dùng …photoshop hả, hehe, , mà cũng không chừng…., thời @ mà.
Trong khi đợi 5% còn lại (hic, tiệm cơm sắp đóng cửa rồi, come on !), tôi muốn giới thiệu phần mềm có thể giúp bạn tạo ra các chuỗi băm từ một file bất kỳ, đó là “chàng tí hon” VisualHash, dung lượng 72.6Kb, tải tại http://www.dominik-reichl.de/download/visualhash.zip
VisualHash có thể tạo ra một chuỗi MD2, MD4, MD5, SHA-1/256/384/512 ……bằng cách sử dụng các hàm/thuật toán tương ứng.
Sau khi tải về bạn giải nén và chạy tập tin VisualHash.exe. Từ giao diện chính, bạn chọn thẻ Algorithms và chọn thuật toán sẽ sử dụng, sau đó “kéo và thả” tập tin cầm “băm” vào khung danh sách và bấm nút Compute Hashes, chuỗi MD5 (nếu sử dụng thuật toán MD5) sẽ xuất hiện bên dưới. Cùng một tập tin sẽ luôn cho ra một chuỗi MD5 giống nhau, nếu chúng khác nhau thì có nghĩa là tập ban đầu cũng khác nhau. Bạn cũng có thể tạo chuỗi MD5 từ một chuỗi ký tự bất kỳ bằng cách chọn thẻ Hash text, nhập vào chuỗi và bấm Compute Hashes.
Chuỗi MD5 là một dãy số gồm 32 chữ số, trong khi SHA-1 có 45 chữ số, SHA-256 có…bạn tự đếm đi. Và bạn có thể tự suy luận ra, dãy số càng dài thì chứng tỏ việc “băm” càng nhuyễn và cơ hội để miếng “thịt” “restore” lại trạng thái ban đầu là 0%.
Xong, uTorrent đã tải xong và bài viết này có lẽ cũng đủ rồi, “fair play” đợi thêm 30 phút nữa mặc dù đã tải xong, đó là “luật ngầm” khi tham gia mạng Bittorrent.
Giờ tôi đang băn khoăn file tôi vừa tải xong có chuỗi “Hash” ban đầu có trùng khớp với chuỗi mà uTorrent thông báo hay không, vì tôi quên không lưu lại chuỗi gốc ban đầu thì làm sao mà so sánh. Kệ, liều ăn nhiều.
Người đăng:
Max Speed
Thứ Sáu, 9 tháng 9, 2011
Categories:
PHẦN MỀM
Đăng ký:
Đăng Nhận xét (Atom)
0 nhận xét:
Đăng nhận xét