Tiểu luận ứng dụng truyền thông và an toàn thông tin Mã hóa và bảo mật dữ liệu

33 477 0
Tiểu luận ứng dụng truyền thông và an toàn thông tin Mã hóa và bảo mật dữ liệu

Đang tải... (xem toàn văn)

Tài liệu hạn chế xem trước, để xem đầy đủ mời bạn chọn Tải xuống

Thông tin tài liệu

ĐẠI HỌC QUỐC GIA TP.HCM ĐẠI HỌC CÔNG NGHỆ THÔNG TIN UDTT & ANTT Mã hóa dữ liệu và bảo mật Giáo viên hướng dẫn: Thầy Tô Nguyễn Nhật Quang Sinh viên thực hiện: Nhóm 9 08520004 Lê Đỗ Trường An 08520011 Lý Tuấn Anh 08520036 Lê Hoàng Chánh 08520088 Vũ Trọng Đắc 08520100 Nguyễn Chí Duy Đức Mã hóa và bảo mật dữ liệu Contents 2 Mã hóa và bảo mật dữ liệu MÃ HÓA VÀ BẢO MẬT DỮ LIỆU 1 A. LỊCH SỬ MẬT MÃ Khóa và chìa khóa Trong thế giới hiện đại, không đơn giản chỉ sử dụng một bức tranh và hi vọng một vài người có thể tìm ra được nghĩa tiềm ẩn của nó. Thay vì đó, chúng ta cần một phương pháp phức tạp của việc khóa và mở khóa dữ liệu với những chìa khóa mà chỉ có người ủy quyền được giữ. Những khóa và chìa khóa này thì giữ thông tin bí mật. Hai người đang gởi thông điệp cho nhau là Alice và Bob (giả sử là A và B). Người thứ ba đang cố gắng để đánh chặn dữ liệu được biết như là Eve. Nếu Alice và Bob quyết định trao đổi thông điệp bằng cách sử dụng các khóa và chìa khóa bảo mật, câu hỏi là: các khóa và chìa khóa đó đến từ đâu? Hãy tưởng tượng có một thợ làm khóa thiên tài đã phát triển ra một hệ thống khóa bảo mật mới, và ông ta rất tự tin trong thiết kế rằng những người trong nghề khóa đều được phổ biến. Thợ làm khóa tuyên bố rằng chức năng của khóa thì rất bảo mật đến nổi không có nguy cơ của bất cứ việc giải mã nào, ngay cả khi mọi chi tiết được mô tả. Alice hỏi thợ làm khóa mức độ bảo mật được đưa ra như thế nào và được đáp lại rằng việc bảo mật không nằm trong việc ổ khóa làm việc như thế nào, mà là trong chìa khóa được chọn. Thợ làm khóa tiếp tục giải thích rằng bí mật nằm trong chìa khóa, cái giữ cho ổ khóa được đóng lại. Alice được bảo rằng nếu cô ta đánh mất hoặc quên chìa khóa, ổ khóa sẽ không thể được mở với bất kì phương pháp nào khác ngoài việc thử với mọi chìa khóa hoặc cố gắng bẻ ổ khóa. Bị thuyết phục, Alice mua ổ khóa đó. Cô ấy nói với Bob về ổ khóa mới mua đó ,và Bob cũng mua một cái khóa. Cả hai bây giờ đều giữ một ổ khóa với cùng bản thiết kế và với cơ cấu như nhau, nhưng với các chìa khóa khác nhau. Alice không biết khóa của Bob và Bob không biết khóa của Alice. Khi Alice và Bob tạo ra khóa cho họ; khi ổ khóa cho phép làm điểu này, họ phải quyết định độ phức tạp của chìa khóa. Nếu họ cho rằng các bí mật không thật sự cần bảo mật, họ sẽ chọn một con số từ 1 đến 4, nếu các bí mật thì rất có giá trị và cần sự bảo mật, họ sẽ chọn một con số từ 1 đến 48. Chìa khóa quyết định chiều dài của ổ khóa. Không phải chỉ ổ khóa bảo mật thông tin. Trong mật mã, chúng ta sử dụng cả ổ khóa và khóa. Các thuật ngữ Mật mã là sử dụng ổ khóa và khóa để bảo mật dữ liệu khỏi việc nghe lén, hoặc từ bất kì người nào không biết chìa khóa. Người tạo ra phương pháp xáo trộn, ngụy trang thông điệp được gọi là người viết mật mã Ngược lại, những người cố gắng để bẻ gãy hoặc giải mã thông điệp khi không có khóa mà phải sử dụng những phương pháp giải mã khác, những người này được gọi là người giải mật mã. 3 Mã hóa và bảo mật dữ liệu Một thông điệp chưa được thay đổi và có thể được đọc mà không gặp bất kì khó khăn nào được gọi là plaintext (cũng được gọi là clear text). Khi nó được mã hóa thì gọi là ciphertext. Quá trình lấy plaintext và ngụy trang nó thành ciphertext được gọi là mã hóa. Quá trình ngược lại được gọi là giải mã. Cipher Caesar Phương pháp này còn được gọi là Caesar Shift, phương pháp này đơn giản chỉ là quá trình thay thế một kí tự này bằng một kí tự khác. Phương pháp này thay thế một kí tự dựa trên một con số các kí tự được định nghĩa trước đó gọi là shift. Ví dụ: Plaintext: CRYPTOGRAPHY Ciphertext: HWDUYTLWFUMD (Shift 5) Plaintext: ENCRYPTION Ciphertext: HQFUBSWLRQ(Shift 3) Ta có thể đặt phương pháp mã hóa này trong một biểu thức toán học: 4 Mã hóa và bảo mật dữ liệu Ta gán gán một số đến mỗi chữ cái của bảng chữ cái tiếng Anh. Ví dụ: a = 1, b = 2, c = 3, … Ta gọi ciphertext là C, và gọi plaintext là p. Ta có: C = (p + 4) mod (26) Biểu thức trên có nghĩa là ciphertext bằng chữ cái plaintext cộng với một giá trị shift, và mod 26. Mặc dù phương pháp thay thế đơn giản này đã được dùng trong vài năm, nhưng cuối cùng nó cũng trở thành không bảo mật. Một vài kỹ thuật của người giải mã đã có thể giải mã được mật mã Caesar cipher. Breaking the Caesar Cipher Vấn đề đối với mật mã Caesar là nó chỉ dùng 26 ký tự và người ta có thể biết vị trí sắp xếp của 26 ký tự đó. Giả sữ một thông điệp được nhận và người phân tích nghi ngờ mật mã Caesar đã được sử dụng. Người phần tích có thể nhận biết được mật mã bằng kinh nghiệm, hoặc thử tấn công bằng phương pháp thủ công. Phương pháp tấn công thủ công thì không mất nhiều thời gian và người phân tích biết được mật mã chỉ là một Caesar Shift đơn lẽ. Khi chỉ có 26 chữ cái, và một trong các cách shift đã được sử dụng để mã hóa thông điệp, người phân tích có 25 khóa để thử trước khi bẻ khóa mật mã. Ví dụ, ciphertext là BKZOVMQFLK với khóa thì không được biết trước, bằng phương pháp thủ công ta liệt kê được các plaintext như sau: Dựa vào bảng trên ta đoán được plaintext là: ENCRYPTION. Qua đó ta thấy mật mã Caesar thì không bảo mật. Sự không bảo mật này là do người phân tích đã biết được một vài vấn đề sau: 1. Thuật toán mã hóa và giải mã đã được biết đến một cách phổ biến. 2. Ngôn ngữ trong plaintext được ẩn thì được biết và có thể dễ dàng để nhận ra. 3. Chỉ có 25 khóa có thể dùng được để thử tấn công bằng phương pháp thủ công. Biết được những điều này, người phân tích có thể dễ dàng giải mã được ciphertext và lấy được plaintext. Linguistic Parterns Như ta đã thấy trước đó, Caesar Cipher chỉ có 25 khóa có thể dùng được, nó rất không bảo mật. Vì thế chúng ta cần sắp xếp lại các chữ cái để làm tăng số lượng khóa. Khi chúng ta có 26 chữ cái để thực hiện, 5 Mã hóa và bảo mật dữ liệu nếu ta đặt những chữ cái này ở mọi vị trí sắp xếp, chúng ta sẽ có một giá trị là 26!, đây cũng là số khóa mà chúng ta có được. Dễ dàng thấy rằng kiểu mật mã này sẽ khó để bẻ gãy, tuy nhiên, ngay cả với tất cả những khóa có thể dùng được, một người phân tích mật mã giỏi cũng có thể giãi mã chỉ trong vào phút. Đó là nhờ cách phân tích tần số xuất hiện của những chữ cái thông qua thống kê từ nhiều nguồn văn bản khác nhau. Ví dụ với ciphertext là: XEJIQYSIFSKECVKXECVPSOXCKIXSXTS XTSEFCSOIVJAEVASNXOEBAFQNXEKFINTQ IVJXTSMSXTEJOEBSVAFQNXCEVIVJJSAFQNXCEV Ta có: A=5, B=2, C=4, D=0, E=11, F=6, G=0, H=0, I=7, J=6 ,K=4, L=0, M=1, N=5, O=4, P=1, Q=4, R=0, S=11, T=4, U=0, V=9, W=0, X=12, Y=1, Z=0. =>Thứ tự: X, E, S, V, I, F, J, A, N, C, K, Q, T, B, M, P, Y, D, G, H, L, R, U, W, Z. Giả sử các kí tự X, E, S, V, I, F, J tương đương với E, T, R, N, I, O, A, sau khi thay thế ta được: XEJIQYSIFSKECVKXECVPSOXCKIXSXTS XTSEFCSOIVJAEVASNXOEBAFQNXEKFINTQ IVJXTSMSXTEJOEBSVAFQNXCEVIVJJSAFQNXCEV 6 Mã hóa và bảo mật dữ liệu Ta biết rằng trong tiếng Anh thường xuất hiện các digram và các trigram, digram hay gặp nhất là “th” và trigram hay gặp nhất là “the”. Giả sử: X=T, T=H, S=E, thì ta có: XEJIQYSIFSKECVKXECVPSOXCKIXSXTS T E E T E T ETHE XTSEFCSOIVJAEVASNXOEBAFQNXEKFINTQ THE E E T T H IVJXTSMSXTEJOEBSVAFQNXCEVIVJJSAFQNXCEV THE ETH E T E T Bây giờ chỉ còn lại 4 kí tự E, V, I, F, J tương đương với R, N, I, O, A Giả sử: E = R, V = N, ta được như sau: XEJIQYSIFSKECVKXECVPSOXCKIXSXTS TR E E R N TR N E T TETHE XTSEFCSOIVJAEVASNXOEBAFQNXEKFINTQ THER E N R E T R TR H IVJXTSMSXTEJOEBSVAFQNXCEVIVJJSAFQNXCEV N E ETH R E T R E T RN Giả sử: C = I, E = O: XEJIQYSIFSKECVKXECVPSOXCKIXSXTS TO E E OIN TOIN E TI TETHE XTSEFCSOIVJAEVASNXOEBAFQNXEKFINTQ THEO IE N ON E T O TO H IVJXTSMSXTEJOEBSVAFQNXCEVIVJJSAFQNXCEV N THE ETHO OEN TION N E TION Còn lại 3 kí tự I, F, J tương đương R, A, S. S là kí tự được lấy them từ biểu đồ Giả sử: I = R XEJIQYSIFSKECVKXECVPSOXCKIXSXTS 7 Mã hóa và bảo mật dữ liệu TO E E OIN TOIN E TI RTETHE XTSEFCSOIVJAEVASNXOEBAFQNXEKFINTQ THEO IE N ON E T O TO H IVJXTSMSXTEJOEBSVAFQNXCEVIVJJSAFQNXCEV RN THE ETHO OEN TION N E TION Ta thấy RTE và RN là những digram và trigram không thấy trong tiếng Anh. Vì vậy ta giả sử: I = A XEJIQYSIFSKECVKXECVPSOXCKIXSXTS TO E E OIN TOIN E TI ATETHE XTSEFCSOIVJAEVASNXOEBAFQNXEKFINTQ THEO IE AN ON E T O TO H IVJXTSMSXTEJOEBSVAFQNXCEVIVJJSAFQNXCEV AN THE ETHO OEN TION N E TION Ta thấyAN và ATE là những digram và trigram thường thấy trong tiếng Anh. Giả sử J = D: XEJIQYSIFSKECVKXECVPSOXCKIXS XTS TODA EA E OIN TO N E TI ATE THE XTS EFCSO IVJ AEVASNXOEBAFQNXEKFINTQ THE O IE AND ON E T O TO A H IVJ XTSMSXTEJOEBSVAFQNXCEV IVJ JSAFQNXCEV AND THE ETHOD O EN R TION AND DE TION Giả sử F = R XEJIQYS IFS KECVKXECVPSOXCKIXS XTS TODA E ARE OIN O N E TI ATE THE XTS EFCSO IVJ AEVASNXOEBAFQNXEKFINTQ THE ORIE AND ON E T O R TO RA H 8 Mã hóa và bảo mật dữ liệu IVJ XTSMSXTEJOEBSVAFQNXCEV IVJ JSAFQNXCEV AND THE ETHOD O EN R TION AND DE R TION Đến đây ta đã có thể hoàn thiện đoạn plaintext: => Plaintext: XEJIQ YS IFS KECVK XE CVPSOXCKIXS XTS TODAY WE ARE GOING TO INVESTIGATE THE XTSEFCSO IVJ AEVASNXO EB AFQNXEKFINTQ THEORIES AND CONCEPTS OF CRYPTOGRAPHY IVJ XTS MSXTEJO EB SVAFQNXCEV IVJ JSAFQNXCEV AND THE METHODS OF ENCRYPTION AND DECRYPTION Polyalphabetic Ciphers Điển hình là mật mã Vigenere Plaintext: TODAY WE MOVE BE PREPARED 9 Mã hóa và bảo mật dữ liệu Ta chọn keyword là MOVE. Keyword được đặt phía trên plaintext và lặp lại cho đến khi hết đoạn plaintext: Key: MOVEM OV EMOV EM OVEMOVEM Plaintext: TODAY WE MOVE BE PREPARED => Ciphertext: FCYEK KZ QAJZ FQ DMIBOMIP Transposition Ciphers Giữ lại nguyên bản các chữ cái và dịch chuyển vị trí của chúng. Ví dụ: caesar shift -> sarshi ftcae (dịch trái 3 bước) Đơn giản hơn: caesar shift -> saesat chifr (chữ cái đầu và cuối của mỗi từ sẽ hoán đổi vị trí cho nhau ) The Split Rail Cipher Còn gọi là Rail Fence Cipher, là một hình thức của mã chuyển vị. Ví dụ với thông điệp: So far there has been little math, which makes me happy! Ta có đoạn Plaintext như sau: SOFARTHEREHASBEENLITTLEMATHWHICHMAKESMEHAPPY Chia đôi đoạn Plaintext này ra làm 2 dòng, một dòng chứa kí tự ở vị trí chẵn, một dòng chứa kí tự ở vị trí lẽ: Line 1: SFRHRHSENITEAHHCMKSEAP Line 2: OATEEABELTLMTWIHAEMHPY Kết hợp lại ta được đoạn ciphertext: SFRHRHSENITEAHHCMKSEAPOATEEABELTLMTWIHAEMHPY Transposition Table Nhằm tăng độ phức tạp cho Split Rail Cipher. Ví dụ ta dung lại đoạn Plaintext cũ: SOFARTHEREHASBEENLITTLEMATHWHICHMAKESMEHAPPY 10 [...]... Binary and hex values: 17 Mã hóa và bảo mật dữ liệu XOR operations: OR operations: Phép tính OR được sử dụng trong mã hóa: XOR operations: Phép tính XOR được sử dụng trong mã hóa: 18 Mã hóa và bảo mật dữ liệu 1C PRIVATE KEY EXCHANGE 1 Khái niệm - Là loại mã hóa khi việc mã hóa và giải mã đều sử dụng chung một khóa bí mật (symmetric key ) hay còn được gọi là mã hóa khóa đối xứng - Private key exchange(... thực hiện nếu như có 2 khóa bí mật Cách 1: mã hóa thông điệp với khóa 1 Sau khi được mã hóa, tạo MAC, sau đó mã hóa MAC với khóa 2 và chuyển đi 31 Mã hóa và bảo mật dữ liệu Cách 2: tạo MAC từ thông điệp, và sau đó mã hóa thông điệp với Key1 Tiếp theo, cả chuỗi mã hóa và MAC được mã hóa với key2 và chuyển đi Trong 2 cách vừa nêu, thì cách 2 được dùng nhiều hơn Bởi vì MAC tạo ra từ thông điệp chính xác... khóa Dùng mã hóa khóa công khai Phân phối khoácông khai S dụng mã khoá công khai đểphân phối kho mật (còn khoá mật dùng để mã hoá thông tin) Phân phối khoá công khai: - Thông báo công khai khóa của người sử dụng 29 Mã hóa và bảo mật dữ liệu • • • Thư mục truy cập công cộng Phân phối khóa công khai từ tổchức Chứng nhận khoácông khai: khoá công khai của người sử dụng được nơi cóthẩm quyền chứng nhận Thông. .. symmetric key exchange) cũng có thể được coi như một sự chia sẻ bí mật, nghĩa là có nhiều hơn 1 bên biết được khóa của giải thuật mã hóa What’s in a key ? - Khóa rất quan trọng trong việc mã hóa và bảo mật dữ liệu Từ xưa đến nay, các giải thuật mã hóa dù là phức tạp nhất vẫn được giải mã chỉ vì bị lộ khóa Chính vì thế, khóa cần phải được bảo mật Dưới đây là sơ đồ mã hóa và giải mã với khóa K1 Number Generator... môđun, và - e, số mũ công khai (cũng gọi là số mũ mã hóa) Khóa bí mật bao gồm: - n, môđun, xuất hiện cả trong khóa công khai và khóa bí mật, và - d, số mũ bí mật (cũng gọi là số mũ giải mã) Một dạng khác của khóa bí mật bao gồm: - p and q, hai số nguyên tố chọn ban đầu, - d mod (p-1) và d mod (q-1) (thường được gọi là dmp1 và dmq1), - (1/q) mod p (thường được gọi là iqmp) 26 Mã hóa và bảo mật dữ liệu. .. định không tùy biến sử dụng khóa bí mật Các hàm băm MD5 và SHA-1 tương tự khóa đối xứng, và các hàm Mac truyền thống cũng như thế Để bảo mật tốt hơn, khó bí mật được sử dụng HMAC gồm có ba điểm chính: 1 Hàm mã hóa sử dụng MD5 và SHA-1 có thể thực thi nhanh hơn trong phần mềm hơn là sử dụng khóa đối xứng thuần như DES 2 Code mã hóa miễn phí và sẵn có 3 Điểm hạn chế là các khóa đối xứng bên ngoài nước Mỹ... người giải mã cùng với khóa - Dưới đây là sơ đồ của CBC 20 Mã hóa và bảo mật dữ liệu The Stream Cipher - Mã hóa từng bit dữ liệu Ưu điểm là mã hóa nhanh nhưng khóa không có giá trị sử dụng lại Feistel Cipher - - Sửa đổi nhiều lần một đoạn dữ liệu đơn giản có thể làm cho nó trở nên phức tạp hơn Dựa trên nguyên tắc thay thế nhiều lần, làm rối những đoạn văn bản mã hóa đơn giản tạo nên thuật toán mã hóa Feistel... nhiên, phát minh này chỉ được công bố vào năm 1997 vì được xếp vào loại tuyệt mật 25 Mã hóa và bảo mật dữ liệu Tạo khóa Giả sử Alice và Bob cần trao đổi thông tin bí mật thông qua một kênh không an toàn (ví dụ như Internet) Với thuật toán RSA, Alice đầu tiên cần tạo ra cho mình cặp khóa gồm khóa công khai và khóa bí mật theo các bước sau: - Chọn 2 số nguyên tố lớn và với - Tính: - Tính: giá trị hàm số... ngoài các ứng dụng khác, loại mã hóa này dùng để ngăn chặn những kẻ tấn công tạo các thông điệp giả MACs có thể là hàm băm, thuật toán mã hóa luồng, hay khối mật mã Một cách giải quyết hay là sử dụng thông tin của chính nó để tạo ra một MAC Và MAC sẽ là một giá trị nhỏ đính kèm với thông tin Giả sử rằng Alice và Bob sử dụng chung một khóa bí mật, gọi là K, sau đó MAC được tạo ra bởi thông tin và khóa MAC... bình phương và nhân 28 Mã hóa và bảo mật dữ liệu Những điểm yếu của RSA : - Nếu kẻ tấn công nắm đủ thông tin về phần cứng thực hiện mã hóa và xác định được thời gian giải mã đối với một số bản mã lựa chọn thì có thể nhanh chóng tìm ra khóa d Dạng tấn công này có thể áp dụng đối với hệ thống chữ ký điện tử sử dụng RSA Năm 1981, Daniel Bleichenbacher mô tả dạng tấn công lựa chọn thích nghi bản mã (adaptive . Đức Mã hóa và bảo mật dữ liệu Contents 2 Mã hóa và bảo mật dữ liệu MÃ HÓA VÀ BẢO MẬT DỮ LIỆU 1 A. LỊCH SỬ MẬT MÃ Khóa và chìa khóa Trong thế giới hiện đại, không đơn giản chỉ sử dụng một bức tranh. chiều dài của ổ khóa. Không phải chỉ ổ khóa bảo mật thông tin. Trong mật mã, chúng ta sử dụng cả ổ khóa và khóa. Các thuật ngữ Mật mã là sử dụng ổ khóa và khóa để bảo mật dữ liệu khỏi việc nghe. and hex values: 17 Mã hóa và bảo mật dữ liệu XOR operations: OR operations: Phép tính OR được sử dụng trong mã hóa: XOR operations: Phép tính XOR được sử dụng trong mã hóa: 18 Mã hóa và bảo mật

Ngày đăng: 08/04/2015, 01:08

Từ khóa liên quan

Mục lục

  • 1 A. LỊCH SỬ MẬT MÃ

    • Khóa và chìa khóa

    • Các thuật ngữ

    • Cipher Caesar

    • Breaking the Caesar Cipher

    • Linguistic Parterns

    • Polyalphabetic Ciphers

    • Transposition Ciphers

    • The Split Rail Cipher

    • Transposition Table

    • Polybius Cipher

    • The one-time pad

    • Rotor Machines

    • 1B. CHỨC NĂNG CỦA TOÁN HỌC TRONG MÃ HÓA

      • Inverse operations:

      • Prime numbers:

      • Relatively prime: (số nguyên tố cùng nhau)

      • Math Called Mod: (chia lấy dư)

      • Modular operations:

      • Binary and hex values:

      • XOR operations:

      • 1C. PRIVATE KEY EXCHANGE

        • 1. Khái niệm

Tài liệu cùng người dùng

Tài liệu liên quan