Giới thiệu về mật mã cổ điển (Phần 3 - Mật mã thay thế Tiếp)

Thảo luận trong 'ACM/Programming' bắt đầu bởi WhiteHat Support #ID:658, 07/11/14, 05:11 PM.

  1. WhiteHat Support #ID:658

    WhiteHat Support #ID:658 WhiteHat Support

    Tham gia: 10/10/14, 04:10 PM
    Bài viết: 6
    Đã được thích: 5
    Điểm thành tích:
    8
    2. Mật mã đa bản thế (polyalphabetic cipher)


    Ở mật mã một bảng thế, ta có ánh xạ 1-1 giữa các ký tự trong bản rõ và bản mã. Khóa của mật mã 1 bảng thế chính là thứ tự sắp xếp giữa các ký tự trong bản rõ và bản mã tương ứng.
    Trong mật mã đa bảng thế, ta sử dụng nhiều bảng thế khác nhau theo một thứ tự xác định. Ánh xạ giữa bản rõ và bản mã là Một – Nhiều. Khóa của mật mã nhiều bản thế ngoài các bản thế được sử dụng còn cần thêm thông tin về thứ tự sử dụng các bản thế đó.

    Xét một hệ mã đơn giản với bảng chữ gồm 4 chữ cái {a,b,c,d} Giả sử tần xuất xuất hiện của mỗi chữ trong ngôn ngữ như sau: Pa = 0.5, Pb =0.05, Pc = 0.2, Pd = 0.25 Ta dùng hai bảng thế và một chuỗi khóa để quyết định thứ tự hòa trộn hai bảng thế này.
    Bảng thế 1:
    Mã:
    [INDENT=3]a b c d 
    B D A C 
    [/INDENT]
    
    Bảng thế 2:
    Mã:
    [INDENT=3]a b c d 
    D B C D
    [/INDENT]
    
    Tạo mã bằng phương pháp trộn 2 bảng thế theo khóa “12”
    Mã:
    [INDENT]X : aba cada da ca baa 
    Z : 121 2121 21 21 212 
    Y : BBB CBAB AB CB BBD
    [/INDENT]
    
    Ở ví dụ trên người ta đã hoà trộn hai bảng thế liên tục kế tiếp nhau. Nhờ đó phân bố tần xuất xuất hiện của các chữ mã sẽ bị thay đổi so với tin và bằng phẳng hơn.



    a) Mật mã Vigenère

    Mật mã Vigenère là một phương pháp mã hóa văn bản bằng cách sử dụng xen kẽ một số phép mã hóa Caesar khác nhau dựa trên các chữ cái của một từ khóa. Nó là một dạng đơn giản của mật mã thay thế dùng nhiều bảng chữ cái.

    [​IMG]
    Hình 1: Hình vuông Vigenère



    Trong phép mã hóa Caesar, mỗi ký tự của bảng chữ cái được dịch đi một khoảng nhất định, ví dụ với bước dịch là 4, A trở thành E, B trở thành F... Mật mã Vigenère là sự kết hợp xen kẽ vài phép mã hóa Caesar với các bước dịch khác nhau.
    Để mã hóa, ta dùng một hình vuông Vigenère. Nó gồm 26 hàng, mỗi hàng dịch về bên trái một bước so với hàng phía trên, tạo thành 26 bảng mã Caesar. Trong quá trình mã hóa, tùy theo từ khóa mà mỗi thời điểm ta dùng một dòng khác nhau để mã hóa văn bản.

    Ví dụ về mật mã Vigenère :
    Mã:
    [TABLE]
    [TR]
    [TD][B]Khóa[/B][/TD]
    [TD][B]vigenerevigenerevig[/B][/TD]
    [/TR]
    [TR]
    [TD][B]Bản rõ[/B][/TD]
    [TD][B]polyalphabeticciphe[/B][/TD]
    [/TR]
    [TR]
    [TD][B]Bản mã[/B][/TD]
    [TD][B]KWRCNPGLVJKXVGTMKPK[/B][/TD]
    [/TR]
    [/TABLE]
    
     
    Mời các bạn tham gia Group WhiteHat để thảo luận và cập nhật tin tức an ninh mạng hàng ngày.
    Lưu ý từ WhiteHat: Kiến thức an ninh mạng để phòng chống, không làm điều xấu. Luật pháp liên quan
    linh24 thích bài này.
  2. ga con

    ga con W-------

    Tham gia: 15/07/14, 01:07 AM
    Bài viết: 7
    Đã được thích: 0
    Điểm thành tích:
    6
    Re: Giới thiệu về mật mã cổ điển (Phần 3 - Mật mã thay thế Tiếp)

    View attachment 2358 a cho e hỏi e bị dính mã độc phải k? :( . và cho e cách khắc phục lỗi được k ạ :( ty.png
     
    Mời các bạn tham gia Group WhiteHat để thảo luận và cập nhật tin tức an ninh mạng hàng ngày.
    Lưu ý từ WhiteHat: Kiến thức an ninh mạng để phòng chống, không làm điều xấu. Luật pháp liên quan