Tiểu Luận Tìm hiểu MD5 và các giải thuật mã hóa

Thảo luận trong 'Công Nghệ Thông Tin' bắt đầu bởi Thúy Viết Bài, 5/12/13.

  1. Thúy Viết Bài

    Thành viên vàng

    Bài viết:
    198,891
    Được thích:
    170
    Điểm thành tích:
    0
    Xu:
    0Xu
    (HOÀN CHỈNH, COPY CHỈNH SỬA ĐƯỢC)

    Mục lục .1

    Lời nói đầu 2

    Chương I Tìm hiểu MD5 .3

    I Giới thiệu về MD5 3

    1.Giới thiệu .3

    2.Ứng dụng quan trọng .3

    3.Đặc điểm 4

    II Thuật giải .4

    1.Đầu vào và đầu ra .4

    2.Thuật giải 6

    Chương II Bẻ khóa MD5 11

    I Những lỗ hổng .11

    II Tấn công bảng băm 12

    1.Sự khác biệt giữa các Module và các phép toán XOR 12

    2.Tấn công vào sự chênh lệch của hàm băm 13

    3. Tối ưu hóa sự chênh lệch va chạm của hàm băm .14

    III Tấn công bằng va chạm . 15

    1.ký hiệu 15

    2. Sự chênh lệch va chạm của md5 15

    3. Điều kiên đầy đủ đặc trưng của các nhóm 16

    4.Sửa đổi thông điệp 18

    5.Tấn công khác nhau vào MD5 19



    Tài liệu tham khảo .25




    Lời nói đầu


    Trước khi các bạn tạo một chương trình bẻ khóa nhằm vào số serial của

    chương trình (còn gọi là keygen), ngoài việc biết code bằng một ngôn ngữ lập trình nào đó, các bạn nên học qua các thuật toán mã hóa. Vì việc học cho tốt ngôn ngữ lập trình chưa chắc các bạn đã tạo được một keygen. Luyện đọc code cho tốt là một việc nên làm, nhưng chưa chắc bạn đã nắm hết ý nghĩa của đoạn code đó. Vì các phần mềm mới sau này họ dung các cách mã hóa làm phức tạp quá trình bẻ khóa. Khi ta không nắm vững một số thuật toán mã hóa, thì dù bạn có thiệt là giỏi, bạn cũng mất nhiều thòi gian để bẻ khóa. Nhưng nếu bạn nắm vững được thuật toán mã hóa của nó thì “chuyện nhỏ như con thỏ”.


    Học thuật toán chúng ta sẽ học được rất nhiều điều. Nó giống như việc học

    bảng cửu chương vậy. Chúng ta phải học thuộc các loại thuật toán mã hóa, quen với nó, thấy nó làm việc, thân thiết với nó để khi gặp nó, hay “hậu duệ” của nó hoặc cái gì đó gần giống nó chúng ta sẽ không phải bỡ ngỡ.


    Mỗi người chúng ta đều có một dấu vân tay riêng, không ai giống ai. Chính tạo hóa đã tạo ra chúng, từ những ý tưởng đó, con người mới nghĩ ra việc: tại sao chúng ta không tự tạo ra một “dấu vân tay” cho một cái gì đó để phân biệt chúng với nhau. Ví dụ như tên người chẳng hạn (tên là chuỗi các kí tự được gọi là String). Do vậy trong lĩnh vực công nghệ thông tin người ta bắt đầu nghiên cứu các cách để tạo ra “dấu vân tay” cho các chuỗi String. Một trong những cách đó là thuật toán MD5 mà chúng tôi sẽ nói ở dưới đây.

    “dấu vân tay” do thuật toán MD5 tạo ra từ một String gọi là message digest

    (gọi tắt là md) hay còn gọi là “MD5 hashes” (gọi tắt là hashes)


    Bản báo cáo này chỉ tìm hiểu cách thực hiện của MD5, nguyên lý cũng như

    thuật toán cụ thể. Từ đó giúp chúng ta nhận dạng ra các chương trình sử dụng MD5







     

    Các file đính kèm:

Đang tải...