CHƯƠNG 1: TONG QUAN VE MÃ HÓA 1.1 Tổng quan Trong thời đại thông tin số hiện nay, mã hóa là một khía cạnh quan trọng và không thé thiếu trong thé giới kỹ thuật số ngày nay, đặc biệt là khi dữ liệu di chuyên qua các mạng không an toàn. Chức năng cơ bản của mã hóa là biến đổi thông tin từ dang ban đầu thành một dạng khác sao cho chỉ có những người được ủy quyền mới có thé đọc được nó. Mã hóa bao gồm các thành phần: - Thong tin trước khi mã hóa (Plaintext) - Thong tin sau khi được mã hóa (Ciphertext) - Khóa (Key) - Phuong phap giai ma (Encryption/Decryption) Quá trình mã hóa được tiến hành băng cách sử dụng các hàm toán học Encryption lên thông tin Plaintext, von được biểu diễn dưới dạng số, dé trở thành thông tin mã hóa Ciphertext. Trong khi đó giải mã là phương pháp đưa thông tin ở dang mã hóa về dang thông tin ban đầu, đây là quy trình ngược của mã hóa Quá trình giải mã được tiến hành thông qua các hàm toán học Decryption lên thông tin CipherText để được thông tin đã giải mã Plaintext và từ đó người được ủy quyên có thé đọc được thông tin.
Vai trò của mã hóa Mật mã học có vai trò rất lớn trong việc dam bảo an toàn cho hệ thống thông tin cũng như các ứng dụng hiện nay. Việc ứng dụng mật mã học nhằm đảm bảo các tính chất: - Tinh bí mật: Tính bí mật trong mật mã học là một thuộc tính quan trọng đánh giá mức độ an toàn của một hệ thống mật mã. Nó đảm bảo rằng thông tin bí mật được bảo vệ khỏi sự tiếp cận trái phép hay xâm phạm từ bất kỳ bên nào không được ủy quyền, thông tin chỉ được phép truy cập bởi những đối tượng hợp lệ, những đối tượng được cấp phép. - Tinh toàn vẹn thông tin: Tính toàn vẹn thông tin trong mật mã học đảm bảo rang thông tin không bị thay đổi trái phép trong quá trình truyền tải hoặc lưu trữ.
Điều này bao gồm khả năng phát hiện bất kỳ sự thay đổi nào của đữ liệu và đảm bảo răng người nhận có thê biệt được nêu có bat kỳ sự thay đôi nao đã xảy ra. 10 - Tinh sẵn sàng: đảm bảo thông tin phải luôn luôn sẵn sàng khi cần thiết. Điều đó có nghĩa rằng mật mã học cung cấp một cơ chế bảo mật tốt, có thé tránh được những rủi ro cả về phân cứng, phân mêm và tránh được các cuộc tân công của tin tặc. - Tinh xác thực: Tính xác thực trong mật mã học đảm bảo rang cả người gửi lẫn người nhận có thé xác nhận danh tính của đối tác giao tiếp và đảm bảo rằng thông tin không bị giả mạo.
Điều này bao gồm việc chứng minh răng thông điệp đến từ nguồn mong đợi và chưa bị thay đối trong quá trình truyền. - Tinh chống chối bỏ: Tính chống chối bỏ trong mật mã học đảm bảo rằng người gửi không thé phủ nhận việc gửi một thông điệp cụ thé. Nếu người gửi đã tạo ra một chữ ký số hoặc một hệ thống xác thực khác, họ không thể sau đó phủ nhận rằng họ đã tạo ra hoặc gửi thông điệp đó. Phân loại mã hóa Mã hóa có thé được phân loại theo nhiều tiêu chí khác nhau, tùy thuộc vao mục đích sử dụng và cách thức thực hiện.
Dưới đây là một số cách phổ biến dé phân loại mã hóa: 1. Dựa trên khóa mã hóa 1. Mã Hóa Đối xứng Mã hóa đối xứng là một phương thức mã hóa sử dụng cùng một khóa cho cả quá trình mã hóa và giải mã dữ liệu. Trong quá trình mã hóa đối xứng, thông điệp được chuyền đổi thành dang ban mã bằng cách sử dụng một khóa, và dé giải mã, khóa dùng dé mã hóa trước đó cũng được sử dụng dé khôi phục lại thông điệp gốc.
II Mật Mã Đối Xứng Khóa bí mật $ Khóa cùng giá trị lí Khóa bí mật LN A4Sh*L@9. IN T6=#/>B#1 Bản rõ Bản mã Bản rõ Hình 1. Mật mã đối xứng Các thuật toán mã hóa đối xứng phổ biến bao gồm DES (Data Encryption Standard), AES (Advanced Encryption Standard),. Các thuật toán này thường sử dụng các phép thay thé và hoán vi dé thực hiện quá trình mã hóa và giải mã [1].
Ưu điểm của mã hóa đối xứng bao gồm: - _ Tốc độ: mã hóa và giải mã nhanh chóng vì cùng một khóa được sử dụng cho cả hai quá trình. - _ Hiệu quả: hiệu suất cao va chi phí tính toán thấp, thích hợp cho việc mã hóa lượng lớn dtr liệu. Mã Hóa Bắt đối xứng Mã hóa bất đối xứng là một phương thức mã hóa sử dụng hai khóa kỹ thuật số khác nhau: một khóa dé mã hóa và một khóa khác dé giải mã. Cặp khóa này thường được gọi là khóa công khai (public key) và khóa bí mật (private key).
Dữ liệu được mã hóa băng khóa công khai có thể chỉ được giải mã bằng khóa bí mật tương ứng và ngược lại.Các thuật toán mã hóa bat đối xứng phô biến bao gồm RSA (Rivest-Shamir—Adleman) va Rabin. Khác với hệ mật mã hóa đối xứng khi sử dung cùng một khóa cho cả quá trình mã hóa và giải mã dữ liệu, hệ mật bat đối xứng sử dụng một cặp khóa công khai và bí mật. Khóa công khai được chia sẻ rộng rãi và có thé được công bố mà không ảnh hưởng đến 12 tính an toàn của hệ thống trong khi Khóa bí mật được giữ bí mật và chỉ người nhận được khóa này có thể giải mã dữ liệu được mã hóa bằng khóa công khai. Mật Mã Bat Đối Xứng Khóa công khai $ Khóa khác giá trị $ Khóa bí mật LN 4 A4$h*L@9.>1L 1PRL39P20 Bản rõ Bản rõ Hình 1.
Mật mã bất đối xứng Mã hóa bất đối xứng thường được sử dụng dé tạo chữ ký số học, giúp xác thực nguOn gốc và tính toàn ven của thông điệp bên cạnh việc sử dụng dé xác nhận danh tính của người gửi thông điệp. Vì không cần chia sẻ khóa bí mật, mã hóa bất đối xứng cung cấp một cách an toàn dé giao tiếp trực tuyến mà không cần trao déi khóa bí mật trước đó. Nhược điểm của hệ mật mã bat đối là tốc độ mã hóa chậm hơn so với mã hóa đối xứng, do vậy loại hệ mật này thường được sử dụng cho các mục đích như xác thực va quản lý khóa. Dựa trên mục đích mã hóa 1.
Mã hóa đữ liệu Mã hóa đữ liệu là quá trình chuyên đổi thông tin từ dang rõ rang (plaintext) thành dạng không danh chim (ciphertext) bằng cách sử dụng một thuật toán mã hóa và một khóa. Mục đích chính của mã hóa dữ liệu là bảo vệ thông tin khỏi truy cập trái phép bang cách làm cho nó trở nên khó khăn hoặc không khả thi để hiểu được nếu không có khóa giải mã. Mã hóa dữ liệu đóng vai trò quan trọng trong việc bảo vệ thông tin nhạy cảm, như thông tin tài khoản ngân hàng, mật khẩu, và dữ liệu cá nhân. Nó cũng là một phần 13 quan trọng của việc bảo vệ tính toàn vẹn va quyền riêng tư của dữ liệu trong các hệ thống và ứng dụng.
Hàm băm Hàm băm là hàm chuyên đổi một thông điệp có độ dài bat kỳ hữu hạn thành một day bit có độ dài cố định. Dau ra của hàm băm được gọi là giá trị băm hay mã băm. Một thông điệp sau khi đi qua một thuật toán mã hóa ham băm sẽ không thé quay trở lại thông điệp ban đầu, hay nói cách khác ham băm chỉ có tính một chiều [1]. Một số hàm băm thông dụng bao gồm MDS, SHAI, SHA256,vv.
Đâu vào Giá trị băm DFCD3454 | 52ED879E 46042841 | Những đặc điểm đặc biệt của hàm băm khiến hàm băm có những ứng dụng rat lớn. Ngoài việc ứng dụng của hàm băm nhằm đảm bảo các thuộc tính của an toàn thông tin thì hàm băm còn có vai trò là xác định tính toàn ven cua dir liệu và xác thực thông điệp. Tinh toàn vẹn của dữ liệu và xác thực thông điệp là tính chất đảm bảo dữ liệu không bị sửa đổi một cách bat hợp pháp kể từ khi dữ liệu được tạo ra, được trao đôi hoặc được lưu giữ bởi một nguôn được xác định. Chữ ký số 14 Chữ ký số là một phần quan trọng của hệ thống mã hóa và bảo mật dữ liệu.
Chữ ky số giúp xác minh nguồn gốc của thông điệp và đảm bảo tính toàn vẹn của nó. Chữ ký số dam bảo tính chất xác thực và không thé chối bỏ của mã hóa. Tạo chữ ký Kiểm tra chữ ký Thông điệp 4L [Thuật toán bam an toàn Bản tóm lược Bản tóm lược Chữ Kiém tra (= Khoa ky số chữ ký số công khai Chữ ký hợp lệ hoặc Chữ ký không hợp lệ Hình 1. Mô tả quá trình tạo và kiểm tra chữ ký số Chữ ký số thường được tạo ra bằng cách sử dụng một thuật toán băm (hashing algorithm) dé tao giá trị băm (hash value) của thông điệp.
Sau đó, giá trị băm được ký băng khóa riêng của người gửi, tạo ra chữ ký số. Chữ ký số thường sử dụng cặp khóa công khai và riêng tư (public-key cryptography). Người gửi sử dụng khóa riêng tư dé ký số, trong khi người nhận sử dụng khóa công khai dé xác minh chữ ký từ đó có thé xác minh danh tính của người gửi thông điệp. Bên cạnh đó, chữ ký số cũng giúp đảm bảo tính toàn ven của thông điệp do nếu thông điệp bị sửa đôi sau khi được ký số, quá trình xác minh chữ ký sẽ thất bại.
Dựa trên cơ chế thực hiện. Ma hóa dòng Mã hóa dòng (stream encryption) là quá trình mã hóa dữ liệu một cách liên tục (dong) thay vi mã hóa toàn bộ tệp tin hoặc khối đữ liệu. Dữ liệu được mã hóa và giải mã 15 một cách liên tục và không cần phải chờ đến khi toàn bộ đữ liệu được tạo ra hoặc nhận do đó giúp giảm độ trễ và tăng hiệu suất so với việc mã hóa toàn bộ tệp tin hoặc khối dữ liệu. Do những đặc tính ké trên, mã hóa dòng thường được sử dụng dé mã hóa với dữ liệu có dung lượng lớn va cần cải thiện về vấn đề hiệu suất.
Một số thuật toán mã hóa dòng phô biến hiện nay bao gồm: A5/1, RC4, vv. Mã hóa khối Mã hóa khối (block cipher) là một loại thuật toán mã hóa mà dữ liệu được chia thành các khối có định và sau đó mỗi khối được mã hóa độc lập. Dé xây dựng thuật toán mã hóa khối an toàn băng cách sử dụng kết hợp các thao tác mã hóa tạo ra tính hỗn loạn và tính khuếch tán thông tin.