Chương 2 - Mật mã khóa đối xứng. Những nội dung chính được trình bày trong chương này gồm có: Giới thiệu sơ lược mật mã khóa đối xứng cổ điển, một số hệ mật mã khóa đối xứng cổ điển, sơ lược hệ mật mã dòng và hệ mật mã khối.
.c om TRƯỜNG ĐẠI HỌC BÁCH KHOA HÀ NỘI VIỆN ĐIỆN TỬ - VIỄN THÔNG BỘ MÔN ĐIỆN TỬ HÀNG KHƠNG VŨ TRỤ co ng Mơn học: on g th an LÝ THUYẾT MẬT MÃ cu u du Giảng viên: PGS.TS Đỗ Trọng Tuấn Email: dotrongtuan@gmail.com 3/21/2016 CuuDuongThanCong.com https://fb.com/tailieudientucntt .c om Mục tiêu học phần Cung cấp kiến thức mật mã đảm bảo an toàn bảo mật thông tin: an co ng Các phương pháp mật mã khóa đối xứng; Phương pháp mật mã khóa cơng khai; th Các hệ mật dịng vấn đề tạo dãy giả ngẫu nhiên; on g Lược đồ chữ ký số Elgamal chuẩn chữ ký số ECDSA; u du Độ phức tạp xử lý độ phức tạp liệu công cụ thể vào hệ thống mật mã; cu Đặc trưng an tồn phương thức mã hóa; Thám mã tuyến tính, thám mã vi sai vấn đề xây dựng hệ mã bảo mật cho ứng dụng CuuDuongThanCong.com https://fb.com/tailieudientucntt u du on g th an co ng Chương Tổng quan Chương Mật mã khóa đối xứng Chương Mật mã khóa cơng khai Chương Hàm băm chữ ký số Chương Dãy giả ngẫu nhiên hệ mật dòng Chương Kỹ thuật quản lý khóa cu .c om Nội Dung 3/21/2016 CuuDuongThanCong.com https://fb.com/tailieudientucntt .c om Tài liệu tham khảo cu u du on g th an co ng A J Menezes, P C Van Oorschot, S A Vanstone, Handbook of applied cryptography, CRC Press 1998 B Schneier, Applied Cryptography John Wiley Press 1996 M R A Huth, Secure Communicating Systems, Cambridge University Press 2001 W Stallings, Network Security Essentials, Applications and Standards, Prentice Hall 2000 CuuDuongThanCong.com https://fb.com/tailieudientucntt .c om Nhiệm vụ Sinh viên cu u du on g th an co ng Chấp hành nội quy lớp học Thực đầy đủ tập Nắm vững ngơn ngữ lập trình Matlab CuuDuongThanCong.com https://fb.com/tailieudientucntt .c om Chương Mật mã khóa đối xứng cu u du on g th an co ng 2.1 Giới thiệu sơ lược mật mã khóa đối xứng cổ điển 2.2 Một số hệ mật mã khóa đối xứng cổ điển 2.3 Sơ lược hệ mật mã dòng hệ mật mã khối CuuDuongThanCong.com https://fb.com/tailieudientucntt on g th an co ng c om 2.1 Giới thiệu sơ lược hệ mật mã khóa đối xứng cổ điển cu u du Figure shows the general idea behind a symmetric-key cipher The original message from Alice to Bob is called plaintext; the message that is sent through the channel is called the ciphertext To create the ciphertext from the plaintext, Alice uses an encryption algorithm and a shared secret key To create the plaintext from ciphertext, Bob uses a decryption algorithm and the same secret key CuuDuongThanCong.com https://fb.com/tailieudientucntt 2.1 Giới thiệu sơ lược hệ mật mã khóa đối xứng cổ điển cu u du on g th an co ng c om • Based on Kirchhoff's principle, one should always assume that the adversary, Eve, knows the encryption/decryption algorithm The resistance of the cipher to attack must be based only on the secrecy of the key Locking and unlocking with the same key CuuDuongThanCong.com https://fb.com/tailieudientucntt 2.2 Một số hệ mật mã khóa đối xứng cổ điển c om 2.2.1 Hệ mật mã khóa đối xứng thay du on g th an co ng • Đây hệ mật mã thay ký tự thành ký tự khác • Phân loại: – Mật mã thay đơn ký tự - monoalphabetic – Mật mã thay đa ký tự - polyalphabetic cu u A substitution cipher replaces one symbol with another CuuDuongThanCong.com https://fb.com/tailieudientucntt 2.2 Một số hệ mật mã khóa đối xứng cổ điển ng c om a Hệ mật thay đơn ký tự - monoalphabetic cu u du on g th an co In monoalphabetic substitution, the relationship between a symbol in the plaintext to a symbol in the cipher text is always one-to-one 10 CuuDuongThanCong.com https://fb.com/tailieudientucntt 2.4 Cơ sở toán học cho hệ mật mã khóa đối xứng đại c om 2.4.3 Trường an co ng A Galois field, GF(pn), is a finite field with pn elements on g th When n = 1, we have GF(p) field This field can be the set Zp, {0, 1, …, p − 1}, with two arithmetic operations cu u du A very common field in this category is GF(2) with the set {0, 1} and two operations, addition and multiplication a a -a a-1 N/A 73 CuuDuongThanCong.com https://fb.com/tailieudientucntt 2.4 Cơ sở toán học cho hệ mật mã khóa đối xứng đại c om 2.4.3 Trường GF(2n) du on g th an co ng In cryptography, we often need to use four operations (addition, subtraction, multiplication, and division) In other words, we need to use fields We can work in GF(2n) and uses a set of 2n elements The elements in this set are n-bit words cu u 4.2.1 Polynomials 4.2.2 Using A Generator 4.2.3 Summary 74 CuuDuongThanCong.com https://fb.com/tailieudientucntt 2.4 Cơ sở toán học cho hệ mật mã khóa đối xứng đại cu u du on g th an co ng c om 2.4.3 Trường GF(2n) Let us define a GF(22) field in which the set has four 2-bit words: {00, 01, 10, 11} We can redefine addition and multiplication for this field in such a way that all properties of these operations are satisfied An example of GF(22) field CuuDuongThanCong.com 75 https://fb.com/tailieudientucntt 2.4 Cơ sở tốn học cho hệ mật mã khóa đối xứng đại Polynomials c om 2.4.3 Trường GF(2n) du on g th an co ng A polynomial of degree n − is an expression of the form cu u where xi is called the ith term and is called coefficient of the ith term 76 CuuDuongThanCong.com https://fb.com/tailieudientucntt 2.4 Cơ sở tốn học cho hệ mật mã khóa đối xứng đại Polynomials c om 2.4.3 Trường GF(2n) cu u du on g th an co ng How we can represent the 8-bit word (10011001) using a polynomials? 77 CuuDuongThanCong.com https://fb.com/tailieudientucntt 2.4 Cơ sở toán học cho hệ mật mã khóa đối xứng đại Polynomials c om 2.4.3 Trường GF(2n) th cu u du on g The expanded polynomial is an co ng To find the 8-bit word related to the polynomial x5 + x2 + x, we first supply the omitted terms Since n = 8, it means the polynomial is of degree This is related to the 8-bit word 00100110 78 CuuDuongThanCong.com https://fb.com/tailieudientucntt 2.4 Cơ sở tốn học cho hệ mật mã khóa đối xứng đại Polynomials c om 2.4.3 Trường GF(2n) an co ng Lưu ý: cu u du on g th Polynomials representing n-bit words use two fields: GF(2) and GF(2n) 79 CuuDuongThanCong.com https://fb.com/tailieudientucntt 2.4.3 Trường GF(2n) Modulus c om 2.4 Cơ sở tốn học cho hệ mật mã khóa đối xứng đại cu u du on g th an co ng For the sets of polynomials in GF(2n), a group of polynomials of degree n is defined as the modulus Such polynomials are referred to as irreducible polynomials 80 CuuDuongThanCong.com https://fb.com/tailieudientucntt 2.4.3 Trường GF(2n) Modulus an co ng Lưu ý: c om 2.4 Cơ sở toán học cho hệ mật mã khóa đối xứng đại cu u du on g th Addition and subtraction operations on polynomials are the same operation 81 CuuDuongThanCong.com https://fb.com/tailieudientucntt 2.4.3 Trường GF(2n) Modulus c om 2.4 Cơ sở toán học cho hệ mật mã khóa đối xứng đại an co ng Let us (x5 + x2 + x) (x3 + x2 + 1) in GF(28) We use the symbol to show that we mean polynomial addition cu u du on g th The following shows the procedure: 82 CuuDuongThanCong.com https://fb.com/tailieudientucntt 2.4.3 Trường GF(2n) Modulus c om 2.4 Cơ sở toán học cho hệ mật mã khóa đối xứng đại cu u du on g th an co ng There is also another short cut Because the addition in GF(2) means the exclusive-or (XOR) operation So we can exclusive-or the two words, bits by bits, to get the result In the previous example, x5 + x2 + x is 00100110 and x3 + x2 + is 00001101 The result is 00101011 or in polynomial notation x5 + x3 + x + 83 CuuDuongThanCong.com https://fb.com/tailieudientucntt 2.4 Cơ sở toán học cho hệ mật mã khóa đối xứng đại 2.4.3 Trường GF(2n) ng c om Multiplication an co The coefficient multiplication is done in GF(2) on g th The multiplying xi by xj results in xi+j cu u du The multiplication may create terms with degree more than n − 1, which means the result needs to be reduced using a modulus polynomial 84 CuuDuongThanCong.com https://fb.com/tailieudientucntt 2.4 Cơ sở tốn học cho hệ mật mã khóa đối xứng đại Generator ng c om 2.4.3 Trường GF(2n) cu u du on g th an co Sometimes it is easier to define the elements of the GF(2n) field using a generator 85 CuuDuongThanCong.com https://fb.com/tailieudientucntt 2.4 Cơ sở tốn học cho hệ mật mã khóa đối xứng đại Generator c om 2.4.3 Trường GF(2n) cu u du on g th an co ng Generate the elements of the field GF(24) using the irreducible polynomial ƒ(x) = x4 + x + 86 CuuDuongThanCong.com https://fb.com/tailieudientucntt 2.4 Cơ sở tốn học cho hệ mật mã khóa đối xứng đại c om 2.4.3 Trường GF(2n) Summary cu u du on g th an co ng The finite field GF(2n) can be used to define four operations of addition, subtraction, multiplication and division over n-bit words The only restriction is that division by zero is not defined 87 CuuDuongThanCong.com https://fb.com/tailieudientucntt ... ng Chương Tổng quan Chương Mật mã khóa đối xứng Chương Mật mã khóa cơng khai Chương Hàm băm chữ ký số Chương Dãy giả ngẫu nhiên hệ mật dòng Chương Kỹ thuật quản lý khóa cu .c om Nội Dung 3 /21 /20 16... .c om Chương Mật mã khóa đối xứng cu u du on g th an co ng 2. 1 Giới thiệu sơ lược mật mã khóa đối xứng cổ điển 2. 2 Một số hệ mật mã khóa đối xứng cổ điển 2. 3 Sơ lược hệ mật mã dòng hệ mật mã... in Z26* This set has only 12 members: 1, 3, 5, 7, 9, 11, 15, 17, 19, 21 , 23 , 25 20 CuuDuongThanCong.com https://fb.com/tailieudientucntt 2. 2 Một số hệ mật mã khóa đối xứng cổ điển c om a Hệ mật