Professional Documents
Culture Documents
Bài này giúp sinh viên làm quen với các thuật toán băm (hash algorithms) khác nhau, bao gồm MD5, SHA1,
SHA256, SHA512 và RIPEMD. Sinh viên sẽ tạo hàm băm cho các từ khóa nhất định (được lưu trữ trong file
keywords.txt) bằng cách sử dụng các thuật toán băm khác nhau và kiểm tra xem mã băm đó có trong file
lưu trữ các mã băm hashes.txt hay không.
Cho trước:
- Các từ khóa đầu vào: cybersecurity, cryptography, visual studio code, communication link, Alice
- Hash file = hashes.txt (có một tập gồm 10 mã băm cho mỗi thuật toán băm)
- Thuật toán băm = MD5, SHA1, SHA256, SHA512 và RIPEMD
Nhiệm vụ:
1. Chọn 1 từ khóa và tính toán mã băm của nó sử dụng thuật toán băm MD5
2. So sánh mã băm đã tính với những mã băm có trong file hashes.txt
3. Nếu khớp với một mã băm có trong file hashes.txt thì chuyển sang từ khóa thứ 2, nếu không thì
làm lại nhiệm vụ 1 và 2 với một thuật toán băm khác
4. Thực hiện từ nhiệm vụ 1 tới nhiệm vụ 3 cho tất cả các từ khóa đầu vào trong file keywords.txt
5. Ghi chú lại từ khoá kèm theo mã băm và thuật toán băm tương ứng nếu khớp ở nhiệm vụ 3.
Ngoài ra sinh viên có thể triển khai ở các môi trường khác như là chạy máy ảo có cài Ubuntu hoặc Kali-
Linux.
Triển khai:
Bước 1.
Bước 2.
Tạo một thư mục cryptolabs để lưu trữ các file hashes.txt, keywords.txt và script.sh.
Sinh viên có thể sử dụng nano hoặc vim để tạo các file này trong thư mục cryptolabs.
Bước 3.
- echo -n "cybersecurity" | openssl dgst -md5: là lệnh để in hoặc sửa nội dung. Ở đây
nó được sử dụng để truyền từ khóa "cybersecurity"
- echo -n "cybersecurity" | openssl dgst -md5: được sử dụng để loại bỏ dòng thừa
(/n), được hiển thị theo mặc định của lệnh echo
- echo -n "cybersecurity" | openssl dgst -md5: là từ khóa đầu vào
- echo -n "cybersecurity" | openssl dgst -md5: là hàm được sử dụng để chuyển đầu
ra của lệnh trước làm đầu vào của lệnh sau
- echo -n "cybersecurity" | openssl dgst -md5: là thư viện chứa các thuật toán mã
hóa
- echo -n "cybersecurity" | openssl dgst -md5: tính mã băm của đầu vào nhận được
là "cybersecurity" sử dụng hàm băm MD5
Bước 4.
Bây giờ, thực thi bash script trong thư mục cryptolabs, sử dụng câu lệnh:
$bash script.sh
- bash script.sh: là một shell được sử dụng để thực thi các tập lệnh scripts
- bash script.sh: là một tập lệnh nhận đầu vào là một mã băm và kiểm tra xem mã băm này có
tồn tại trong file hashes.txt hay không.
Bước 5.
Nếu không tìm thấy mã băm, hãy lặp lại bước 3 và bước 4, sử dụng chung từ khóa cybersecurity nhưng
với thuật toán băm khác cho đến khi kết quả trả về là Match Found! thì dừng và ghi chú lại mã băm và
thuật toán băm tương ứng cho từ khóa cybersecurity.
Bước 6.
Lặp lại bước 3,4 và 5 nhưng cho các từ khóa còn lại.
Kết quả: