Mã hóa đối xứng trong bảo mật thông tin: Các thuật toán và ứng dụng thực tế

Mã hóa đối xứng là gì? Tìm hiểu về thuật toán mã hóa đối xứng, ưu điểm, nhược điểm và ứng dụng thực tế của nó trong bảo mật dữ liệu.

Chuyên ngành

Công Nghệ Thông Tin

Người đăng

Ẩn danh

Thể loại

Bài tập lớn/Đồ án cuối kì

2023

42
3
0

Phí lưu trữ

30 Point

Tóm tắt

I. Mã hóa đối xứng là gì Tổng quan cho người mới bắt đầu

Mã hóa đối xứng, còn được gọi là mật mã đối xứng hay mã hóa khóa bí mật, là một phương pháp nền tảng trong lĩnh vực mật mã học. Nguyên tắc cốt lõi của kỹ thuật này là sử dụng một khóa chung (single key) duy nhất cho cả hai quá trình: mã hóa và giải mã dữ liệu. Điều này có nghĩa là bên gửi sử dụng khóa để chuyển đổi thông điệp từ bản rõ (plaintext) thành bản mã (ciphertext), và bên nhận phải sử dụng chính xác cùng một khóa đó để giải mã, khôi phục lại thông điệp gốc. Sự đơn giản và tốc độ cao chính là ưu điểm vượt trội, giúp mã hóa đối xứng trở thành lựa chọn hàng đầu cho việc bảo vệ khối lượng lớn dữ liệu. Tuy nhiên, mô hình này cũng đặt ra thách thức lớn về việc làm thế nào để chia sẻ khóa bí mật một cách an toàn giữa các bên liên lạc. Bài viết này sẽ đi sâu phân tích cơ chế hoạt động, các thuật toán tiêu biểu và những ứng dụng thực tiễn của phương pháp này trong việc đảm bảo an toàn thông tin.

1.1. Nguyên tắc cốt lõi của mã hóa dùng một khóa chung duy nhất

Cơ chế hoạt động của mật mã đối xứng dựa trên một nguyên tắc đơn giản nhưng hiệu quả: tính bí mật của một chiếc khóa duy nhất. Trong mô hình này, một khóa bí mật K được tạo ra và chia sẻ an toàn giữa người gửi (A) và người nhận (B). Khi A muốn gửi một thông điệp M (dạng bản rõ), A sẽ áp dụng một thuật toán mã hóa E cùng với khóa K để tạo ra bản mã C, theo công thức C = E(K, M). Bản mã C này sau đó được gửi đến B qua một kênh không an toàn. Tại phía nhận, B sử dụng cùng một khóa K và một thuật toán giải mã D tương ứng để khôi phục lại thông điệp gốc: M = D(K, C). Toàn bộ tính bảo mật của hệ thống phụ thuộc hoàn toàn vào việc giữ bí mật cho khóa K. Nếu khóa này bị lộ, bất kỳ ai có được nó đều có thể giải mã tất cả các thông điệp đã được mã hóa. Vì vậy, yếu tố then chốt không nằm ở sự phức tạp của thuật toán, mà là ở khả năng bảo vệ và phân phối khóa chung một cách an toàn.

1.2. So sánh ưu và nhược điểm với mã hóa bất đối xứng

Sự khác biệt cơ bản giữa mã hóa đối xứngmã hóa bất đối xứng nằm ở cách quản lý khóa. Mã hóa đối xứng sử dụng một khóa chung cho cả hai chiều, trong khi mã hóa bất đối xứng sử dụng một cặp khóa: khóa công khai (public key) để mã hóa và khóa riêng tư (private key) để giải mã. Về ưu điểm, mã hóa đối xứng vượt trội về tốc độ. Các thuật toán như AES có hiệu suất tính toán nhanh hơn đáng kể so với RSA, làm cho chúng trở nên lý tưởng cho việc mã hóa các tệp lớn, luồng dữ liệu thời gian thực hoặc cơ sở dữ liệu. Tuy nhiên, nhược điểm lớn nhất của nó là vấn đề phân phối khóa. Việc chia sẻ khóa bí mật một cách an toàn cho nhiều người dùng trở nên phức tạp và rủi ro. Ngược lại, mã hóa bất đối xứng giải quyết triệt để vấn đề này bằng cách cho phép công khai khóa mã hóa mà không ảnh hưởng đến tính bảo mật. Nhưng nó lại chậm hơn nhiều và không phù hợp để mã hóa lượng lớn dữ liệu. Do đó, trong thực tế, hai phương pháp này thường được kết hợp để tận dụng ưu điểm của nhau.

II. Thách thức cốt lõi Vấn đề phân phối khóa trong mã hóa

Mặc dù sở hữu tốc độ và hiệu quả vượt trội, mã hóa đối xứng phải đối mặt với một thách thức cố hữu và nghiêm trọng, được biết đến trong ngành mật mã họcvấn đề phân phối khóa (key distribution problem). Đây là bài toán làm thế nào để người gửi và người nhận có thể trao đổi khóa chung một cách an toàn trước khi bắt đầu quá trình truyền tin. Nếu khóa được gửi đi trên một kênh không được bảo vệ, nó có thể bị kẻ tấn công chặn lại, từ đó vô hiệu hóa toàn bộ cơ chế bảo mật. Việc quản lý và phân phối khóa an toàn cho một hệ thống có hàng ngàn, thậm chí hàng triệu người dùng, là một công việc cực kỳ phức tạp và tốn kém. Bất kỳ sai sót nào trong quy trình này đều có thể dẫn đến việc toàn bộ hệ thống bị xâm phạm, gây ra những hậu quả khôn lường cho bảo mật dữ liệu. Các phần tiếp theo sẽ phân tích sâu hơn về những rủi ro liên quan và các giải pháp được đề xuất để khắc phục điểm yếu này.

2.1. Rủi ro bảo mật khi khóa chung bị chặn hoặc đánh cắp

Rủi ro lớn nhất trong vấn đề phân phối khóa là khả năng khóa bí mật bị lộ trong quá trình trao đổi. Giả sử kẻ tấn công (E) có thể nghe lén trên kênh truyền thông giữa người gửi (A) và người nhận (B). Khi A gửi khóa chung cho B, E có thể chặn và sao chép lại khóa này. Kể từ thời điểm đó, mọi thông điệp được mã hóa bằng khóa này đều trở nên vô dụng về mặt bảo mật đối với E. Kẻ tấn công không chỉ có thể giải mã tất cả các bản mã để đọc nội dung, mà còn có thể giả mạo thông điệp, sửa đổi nội dung và mã hóa lại bằng chính khóa đó để gửi đến B mà B không hề hay biết. Điều này phá vỡ hoàn toàn cả tính bí mật, tính toàn vẹn và tính xác thực của thông tin. Hơn nữa, việc quản lý vòng đời của khóa, bao gồm tạo, lưu trữ, sử dụng và hủy khóa một cách an toàn, cũng là một thách thức. Nếu khóa không được lưu trữ an toàn, nó có thể bị đánh cắp từ một trong hai bên, dẫn đến hậu quả tương tự.

2.2. Các giải pháp lai ghép để trao đổi khóa an toàn

Để giải quyết vấn đề phân phối khóa, các hệ thống hiện đại thường không sử dụng riêng lẻ mã hóa đối xứng. Thay vào đó, một giải pháp lai ghép (hybrid encryption) được áp dụng, kết hợp sức mạnh của cả mã hóa đối xứngmã hóa bất đối xứng. Quy trình hoạt động như sau: đầu tiên, một khóa đối xứng tạm thời (session key) được tạo ra. Khóa này sẽ được dùng để mã hóa khối dữ liệu lớn. Sau đó, thay vì gửi trực tiếp session key, người gửi sẽ sử dụng khóa công khai của người nhận (lấy từ một nguồn tin cậy) để mã hóa session key này. Người nhận sau khi nhận được gói tin sẽ dùng khóa riêng tư của mình để giải mã, lấy ra session key. Cuối cùng, session key này được sử dụng để giải mã phần dữ liệu chính. Giao thức Diffie-Hellman là một ví dụ kinh điển khác, cho phép hai bên tạo ra một khóa bí mật chung trên một kênh không an toàn mà không cần trao đổi trực tiếp. Các phương pháp này giúp việc trao đổi khóa chung trở nên an toàn hơn rất nhiều.

III. Phương pháp mã hóa khối Các thuật toán đối xứng phổ biến

Trong các thuật toán mã hóa đối xứng, mã hóa khối (block cipher) là phương pháp phổ biến và được sử dụng rộng rãi nhất. Cơ chế của nó là chia dữ liệu bản rõ thành các khối có kích thước cố định (ví dụ 64 bit hoặc 128 bit) và thực hiện mã hóa trên từng khối một cách độc lập. Mỗi khối dữ liệu được xử lý thông qua nhiều vòng lặp phức tạp của các phép biến đổi toán học như thay thế (substitution), hoán vị (permutation) và trộn (mixing) dưới sự kiểm soát của khóa chung. Sự lặp lại này tạo ra hiệu ứng "thác đổ", nghĩa là một thay đổi nhỏ ở bản rõ sẽ dẫn đến sự thay đổi lớn và khó lường ở bản mã, tăng cường đáng kể tính bảo mật. Các thuật toán tiêu biểu như DES, 3DES, và đặc biệt là AES (Advanced Encryption Standard) đều thuộc loại này và đã trở thành những trụ cột trong việc đảm bảo an toàn thông tin toàn cầu.

3.1. AES Advanced Encryption Standard Tiêu chuẩn vàng hiện nay

AES (Advanced Encryption Standard), ban đầu có tên là Rijndael, được Viện Tiêu chuẩn và Công nghệ Quốc gia Hoa Kỳ (NIST) chuẩn hóa vào năm 2001 để thay thế cho DES. Như tài liệu tham khảo đã chỉ ra, thuật toán này do hai nhà mật mã học Joan Daemen và Vincent Rijmen phát minh. Đến nay, chưa có cuộc tấn công thực tế nào thành công chống lại AES. AES là một thuật toán mã hóa đối xứng thuộc loại mã hóa khối, hoạt động trên các khối dữ liệu 128 bit. Nó hỗ trợ các độ dài khóa 128, 192 và 256 bit, tương ứng với 10, 12 và 14 vòng lặp xử lý. Mỗi vòng lặp bao gồm các bước: SubBytes (thay thế byte), ShiftRows (dịch hàng), MixColumns (trộn cột) và AddRoundKey (kết hợp với khóa vòng). Cấu trúc toán học vững chắc và hiệu suất cao đã giúp AES trở thành tiêu chuẩn vàng trong hầu hết các ứng dụng bảo mật dữ liệu, từ mã hóa ổ cứng, bảo mật giao thức mạng (SSL/TLS) đến bảo vệ thông tin trong các ứng dụng di động.

3.2. DES và 3DES Lịch sử và những hạn chế bảo mật

DES (Data Encryption Standard) được NIST giới thiệu vào những năm 1970 và từng là thuật toán mã hóa được sử dụng rộng rãi nhất. DES là một mã hóa khối với kích thước khối 64 bit. Tuy nhiên, điểm yếu chí mạng của nó nằm ở độ dài khóa chỉ 56 bit. Tài liệu gốc đã nhấn mạnh rằng: "DES sử dụng khóa chỉ 56 bit, điều này đã gây ra một số lo ngại". Với sức mạnh tính toán hiện đại, một khóa 56 bit có thể bị bẻ gãy bằng phương pháp tấn công vét cạn (brute-force) trong thời gian ngắn. Để khắc phục, 3DES (Triple DES) ra đời. Phương pháp này thực hiện thuật toán DES ba lần liên tiếp trên mỗi khối dữ liệu với hai hoặc ba khóa 56 bit khác nhau, tạo ra một khóa hiệu dụng dài 112 hoặc 168 bit. Mặc dù 3DES tăng cường đáng kể khả năng chống lại tấn công vét cạn, nó lại có "hiệu suất chậm và kích thước khối 64-bit không mong muốn". Vì những hạn chế này, cả DES và 3DES hiện nay đều được coi là lỗi thời và đã được thay thế hoàn toàn bằng AES trong các ứng dụng mới.

IV. Khám phá mã hóa luồng và các thuật toán đối xứng khác

Bên cạnh mã hóa khối, một nhánh quan trọng khác của mã hóa đối xứngmã hóa luồng (stream cipher). Khác với mã hóa khối xử lý dữ liệu theo từng block cố định, mã hóa luồng hoạt động bằng cách mã hóa từng bit hoặc byte của dữ liệu một cách tuần tự. Phương pháp này tạo ra một dòng khóa (keystream) giả ngẫu nhiên từ khóa chung, sau đó thực hiện phép toán XOR giữa dòng khóa này với dòng dữ liệu bản rõ để tạo ra bản mã. Quá trình giải mã cũng diễn ra tương tự. Vì không cần phải đệm dữ liệu để đủ khối, mã hóa luồng rất nhanh và phù hợp cho các ứng dụng yêu cầu độ trễ thấp hoặc khi không biết trước độ dài của dữ liệu, chẳng hạn như truyền phát video, âm thanh hoặc các kết nối mạng thời gian thực. Các thuật toán như RC4Blowfish là những ví dụ điển hình, mỗi loại có những đặc điểm và ứng dụng riêng trong lĩnh vực bảo mật dữ liệu.

4.1. Cơ chế hoạt động và ưu điểm của mã hóa luồng stream cipher

Mã hóa luồng hoạt động dựa trên nguyên tắc tạo ra một chuỗi bit giả ngẫu nhiên, gọi là dòng khóa, có cùng độ dài với thông điệp cần mã hóa. Dòng khóa này được tạo ra từ một khóa bí mật và một giá trị khởi tạo (nonce). Sau đó, quá trình mã hóa và giải mã được thực hiện đơn giản bằng phép toán XOR. Cụ thể, mỗi bit của bản mã được tạo ra bằng cách XOR bit tương ứng của bản rõ với bit của dòng khóa. Phía giải mã cũng thực hiện tương tự: XOR bit của bản mã với bit của dòng khóa để khôi phục lại bit của bản rõ. Ưu điểm lớn nhất của phương pháp này là tốc độ xử lý rất cao và không yêu cầu bộ nhớ đệm, lý tưởng cho các thiết bị có tài nguyên hạn chế. Tuy nhiên, một nhược điểm quan trọng là nếu cùng một khóa và nonce được sử dụng lại để mã hóa hai thông điệp khác nhau, hệ thống có thể bị tấn công và lộ thông tin. Do đó, việc quản lý nonce là cực kỳ quan trọng để đảm bảo an toàn thông tin.

4.2. Tìm hiểu về các thuật toán RC4 và Blowfish phổ biến

RC4 là một trong những thuật toán mã hóa luồng nổi tiếng nhất, được thiết kế bởi Ron Rivest. Nó nổi bật vì sự đơn giản và tốc độ thực thi nhanh chóng. RC4 đã từng được sử dụng rộng rãi trong các giao thức như SSL/TLS và WEP. Tuy nhiên, qua thời gian, nhiều lỗ hổng bảo mật nghiêm trọng đã được phát hiện trong RC4, khiến nó không còn được coi là an toàn cho các ứng dụng hiện đại và đã bị loại bỏ khỏi các phiên bản TLS mới nhất. Một thuật toán khác là Blowfish, được thiết kế bởi Bruce Schneier, là một mã hóa khối nhưng thường được nhắc đến cùng với RC4 do tính phổ biến. Blowfish sử dụng kích thước khối 64 bit và độ dài khóa thay đổi từ 32 đến 448 bit. Nó nhanh hơn DES và chưa có cuộc tấn công hiệu quả nào được công bố chống lại nó. Tuy nhiên, do kích thước khối nhỏ (64 bit), nó không phù hợp cho việc mã hóa các tệp lớn hơn 4GB và dần được thay thế bởi các thuật toán kế nhiệm như Twofish hoặc tiêu chuẩn AES.

V. Hướng dẫn ứng dụng mã hóa đối xứng trong bảo mật dữ liệu

Mã hóa đối xứng là công nghệ nền tảng cho vô số ứng dụng bảo mật dữ liệu trong thế giới số. Nhờ tốc độ xử lý vượt trội, nó trở thành lựa chọn không thể thiếu khi cần mã hóa một lượng lớn thông tin một cách hiệu quả. Từ việc bảo vệ dữ liệu đang truyền trên mạng Internet, mã hóa các tệp tin lưu trữ trên ổ cứng, cho đến bảo mật thông tin trong các cơ sở dữ liệu khổng lồ, vai trò của các thuật toán mã hóa đối xứng là không thể phủ nhận. Các giao thức bảo mật phổ biến như TLS/SSL (dùng để bảo vệ kết nối web), các hệ thống mã hóa toàn bộ đĩa (Full Disk Encryption) như BitLocker, hay các chuẩn bảo mật Wi-Fi như WPA2/WPA3 đều phụ thuộc rất nhiều vào các thuật toán như AES. Việc hiểu rõ cách thức ứng dụng và triển khai đúng đắn các phương pháp này là yếu tố cốt lõi để xây dựng một hệ thống an toàn thông tin vững chắc.

5.1. Vai trò trong bảo mật kết nối mạng TLS SSL VPN

Trong các giao thức bảo mật mạng như TLS (Transport Layer Security) và VPN (Virtual Private Network), mã hóa đối xứng đóng vai trò trung tâm trong việc bảo vệ dữ liệu truyền đi. Khi một kết nối an toàn được thiết lập, máy khách và máy chủ sẽ sử dụng mã hóa bất đối xứng (như RSA hoặc ECC) chỉ để thực hiện một nhiệm vụ duy nhất: trao đổi an toàn một khóa đối xứng tạm thời (session key). Một khi cả hai bên đã có được khóa chung này, toàn bộ dữ liệu sau đó (như thông tin thẻ tín dụng, mật khẩu, nội dung email) sẽ được mã hóa bằng một thuật toán mã hóa đối xứng tốc độ cao như AES. Cách tiếp cận lai ghép này tận dụng được ưu điểm của cả hai hệ thống: sự an toàn trong trao đổi khóa của mã hóa bất đối xứng và hiệu suất mã hóa dữ liệu hàng loạt của mật mã đối xứng. Đây là mô hình đảm bảo an toàn thông tin cho hầu hết các giao dịch trực tuyến ngày nay.

5.2. Ứng dụng trong mã hóa dữ liệu lưu trữ và cơ sở dữ liệu

Đối với dữ liệu ở trạng thái nghỉ (data-at-rest), chẳng hạn như các tệp tin trên ổ cứng, trong cơ sở dữ liệu hoặc trên các dịch vụ lưu trữ đám mây, mã hóa đối xứng là giải pháp hiệu quả nhất để ngăn chặn truy cập trái phép. Các hệ thống mã hóa toàn bộ đĩa (FDE) sử dụng AES để mã hóa mọi bit dữ liệu trên thiết bị lưu trữ. Điều này đảm bảo rằng nếu thiết bị bị mất hoặc bị đánh cắp, dữ liệu bên trong vẫn an toàn và không thể đọc được nếu không có khóa giải mã. Tương tự, các hệ quản trị cơ sở dữ liệu hiện đại cung cấp tính năng Transparent Data Encryption (TDE), tự động mã hóa các tệp dữ liệu vật lý bằng một khóa đối xứng. Quá trình mã hóa và giải mã diễn ra minh bạch đối với ứng dụng, giúp bảo mật dữ liệu nhạy cảm của khách hàng mà không ảnh hưởng nhiều đến hiệu suất truy vấn. Các thuật toán như AES3DES là những lựa chọn phổ biến cho các tác vụ này.

11/09/2025

Trích đoạn nội dung tài liệu

MỞ ĐẦU.1 Tiểu mục cấp 1.1 Tiểu mục cấp 2.1 Tiểu mục cấp 3.2 Tiểu mục cấp 3 tiếp theo.2 Tiểu mục cấp 2 tiếp theo.2 Nội dung của chương này.1 CHƯƠNG 2 – TỔNG QUAN.1 Trình bày công thức toán học.2 Trình bày một hình vẽ, sơ đồ.1 CHƯƠNG 3 – CƠ SỞ LÝ THUYẾT / NGHIÊN CỨU THỰC NGHIỆM.3 Trích dẫn.1 Tài liệu tham khảo và cách trích dẫn.2 Qui định của Khoa Công nghệ thông tin.1 2 DANH MỤC KÍ HIỆU VÀ CHỮ VIẾT TẮT CÁC KÝ HIỆU f Tần số của dòng điện và điện áp (Hz) p Mật độ điện tích khối (C/m3) CÁC CHỮ VIẾT TẮT CSTD Công suất tác dụng MF Máy phát điện BER Tỷ lệ bít lỗi 3 DANH MỤC CÁC BẢNG BIỂU, HÌNH VẼ, ĐỒ THỊ DANH MỤC HÌNH Hình 2.1: Kiến trúc FTP.1 DANH MỤC BẢNG Bảng 3.1 Ví dụ cho chèn bảng. Các thuật toán đối xứng: 1. Integer factorization - Thuật toán Integer Factorization là quá trình phân tích một số nguyên dương lớn thành các thừa số nguyên tố riêng biệt. Mục tiêu chính của thuật toán này là tìm ra các thừa số nguyên tố mà khi nhân lại với nhau sẽ cho ra kết quả bằng số nguyên ban đầu.

Phân tích số nguyên dương lớn thành các thừa số nguyên tố có ứng dụng quan trọng trong nhiều lĩnh vực, đặc biệt là trong mật mã và bảo mật thông tin. - Một số ví dụ về việc phân tích số nguyên dương thành các thừa số nguyên tố: o Số 28 có thể được phân tích thành 2 x 2 x 7, trong đó 2 và 7 là các thừa số nguyên tố. o Số 60 có thể được phân tích thành 2 x 2 x 3 x 5, trong đó 2, 3 và 5 là các thừa số nguyên tố. - Thuật toán Integer Factorization quan trọng trong các lĩnh vực sau: o Mật mã và bảo mật: Một số thuật toán mã hóa khóa công khai, chẳng hạn như RSA, dựa vào khả năng tính toán ngược của thuật toán Integer Factorization.

Điều này đồng nghĩa rằng việc phân tích số thành các thừa số nguyên tố là khó khăn và tốn thời gian. o Bảo mật thông tin: Trong các ứng dụng bảo mật thông tin, việc phát hiện thừa số nguyên tố của một số có thể được sử dụng để bảo vệ tính bí mật của thông tin và ngăn chặn các cuộc tấn công mạng. o Nghiên cứu toán học: Integer Factorization là một vấn đề toán học quan trọng và thú vị, và nó đòi hỏi sự phát triển của các thuật toán và phương pháp tính toán mới. Discrete logarithm - Discrete logarithm là một vấn đề trong lĩnh vực toán học và mật mã học, và nó liên quan đến việc tìm giá trị x của biểu thức a^x ≡ b (mod m), trong đó a, b, và m là các số nguyên dương cố định.

Cụ thể, discrete logarithm yêu cầu tìm một số nguyên x sao cho a^x khi chia cho m cho kết quả b. - Ví dụ: o Nếu a = 2, b = 4 và m = 7, thì discrete logarithm là x = 2, vì 2^2 ≡ 4 (mod 7). o Nếu a = 3, b = 9 và m = 11, thì discrete logarithm là x = 3, vì 3^3 ≡ 9 (mod 11). - Thuật toán Discrete logarithm quan trọng trong mật mã học, đặc biệt là trong mật mã hóa khóa công khai dựa trên các hệ thống mật mã hóa như Diffie- Hellman và ElGamal.

Một trong những ứng dụng quan trọng của discrete logarithm là trong việc tạo ra khóa công khai và khóa bí mật cho mạng và truyền thông an toàn. - Tuy nhiên, việc giải quyết discrete logarithm có thể trở nên rất khó khi m được chọn đủ lớn, và đó là lý do tại sao nó được sử dụng trong mật mã hóa. Trong mật mã học, việc tìm discrete logarithm khi m đủ lớn trở nên rất khó bởi không có thuật toán hiệu quả đã được phát triển để giải quyết vấn đề này. Việc này đảm bảo tính bảo mật của các hệ thống mật mã hóa dựa trên discrete logarithm, chẳng hạn như RSA và ECC (Elliptic Curve Cryptography).

Elliptic curves - Thuật toán Elliptic Curves (EC) là một phần quan trọng của mật mã học và được sử dụng rộng rãi trong các ứng dụng bảo mật. Nó dựa trên một phân nhánh của toán học gọi là hình học đường cong elliptic. - Hình học đường cong elliptic thường được biểu diễn bởi một biểu đồ có dạng đường cong trên một bảng hai chiều. Các điểm trên đường cong được định bằng các cặp số thực (x, y) thỏa mãn phương trình đường cong elliptic cụ thể.

Hình dạng của đường cong elliptic có cấu trúc đặc biệt, và nó có tính chất về tính toán đối xử, trong đó phép cộng và phép nhân được thực hiện. 6 - Giả sử chúng ta có một đường cong elliptic đơn giản được biểu diễn bởi phương trình sau: y2 = x3 + 7 - Trong trường hợp này, đường cong elliptic là một đường cong trong không gian hai chiều, và các điểm trên đường cong là các cặp số thực (x, y) thỏa mãn phương trình trên. Để tạo ra một ví dụ cụ thể, hãy chọn một điểm trên đường cong, ví dụ: P = (2,3) - Bây giờ, chúng ta có thể sử dụng toán học trên đường cong elliptic để thực hiện các phép tính, chẳng hạn như phép cộng điểm, nhân điểm với một số nguyên, và các phép tính liên quan đến tính toán trên đường cong này. - Trong mật mã học, ví dụ trên có thể được sử dụng trong các ứng dụng như ECC (Elliptic Curve Cryptography).

Chẳng hạn, để tạo ra một cặp khóa (khóa công khai và khóa bí mật) trong mật mã hóa ECC, bạn có thể chọn một điểm trên đường cong như P và sau đó nhân nó với một số nguyên ngẫu nhiên để tạo ra khóa công khai. Việc giải quyết discrete logarithm (tìm số nguyên x trong phương trình xP = Q với Q là một điểm trên đường cong) trở nên khó khăn khi đường cong elliptic được chọn đủ phức tạp và có kích thước lớn. DES (Data Encryption Standard) DES được Viện Tiêu chuẩn và Công nghệ Quốc gia Hoa Kỳ (NIST) giới thiệu như một thuật toán tiêu chuẩn để mã hóa và được sử dụng chính trong những năm 1980 và 1990, nhưng nó chưa được chứng minh là có khả năng chống lại các cuộc tấn công, dẫn đến những tiến bộ trong nghiên cứu công nghệ và mật mã. Đặc biệt vào tháng 7 năm 1998, Electronic Erontier Foundation (EEF) đã phá vỡ DES bằng cách sử dụng một máy chuyên dụng.

DES sử dụng khóa chỉ 56 bit, điều này đã gây ra một số lo ngại. Vấn đề này đã được giải quyết bằng việc giới thiệu Triple DES (3DES), đề xuất sử dụng khóa 168 bit bằng ba khóa 56 bit và cùng số lần thực thi thuật toán DES, do đó khiến các cuộc tấn công vũ phu gần như không thể xảy ra, nhưng những hạn chế khác, chẳng hạn như hiệu suất chậm và kích thước khối 64-bit không mong muốn. 7 - Cách thực thi của DES: 1. Chuẩn bị khóa: Trước khi bắt đầu quá trình mã hóa, khóa được chuẩn bị.

Khóa DES có độ dài 56 bit, nhưng thực tế chỉ có 48 bit được sử dụng trong quá trình mã hóa. Để đảm bảo tính bảo mật, khóa ban đầu được mở rộng từ 56 bit thành 64 bit bằng cách thêm vào mỗi byte theo một thứ tự cụ thể. Chia dữ liệu thành các khối 64 bit: Dữ liệu cần mã hóa được chia thành các khối có kích thước 64 bit. Nếu dữ liệu cuối cùng không chia hết cho 64 bit, phải sử dụng phần padding để điền vào dữ liệu.

Quá trình Initial Permutation (IP): Mỗi khối 64 bit đầu tiên trải qua một hoán đổi ban đầu (Initial Permutation) để thay đổi vị trí các bit theo một cách cụ thể. Đây là bước bắt đầu của quá trình mã hóa. Vòng lặp mã hóa (16 vòng): DES sử dụng 16 vòng lặp để thực hiện mã hóa. Mỗi vòng lặp bao gồm các bước sau:  Expansion (E): Khối 32 bit của dữ liệu được mở rộng thành 48 bit bằng cách sao chép và hoán đổi bit theo một cách cụ thể.

 Subkey XOR (XOR với con khóa): Một con khóa 48 bit (tạo từ khóa chính trong quá trình khóa mở rộng và hoán đổi bit) được XOR với kết quả của bước Expansion.  Substitution (S-boxes): Kết quả của bước XOR được chia thành 8 phần, mỗi phần có 6 bit, và sau đó được đưa vào các hộp thay thế (S-boxes) để tạo ra các giá trị thay thế theo cặp.  Permutation (P): Kết quả từ S-boxes sau đó được hoán đổi bit theo một cách cụ thể bởi hoán đổi hoán đổi bit P.  XOR với khối trước đó: Kết quả của bước Permutation sau đó được XOR với khối dữ liệu trước đó.

 Hoán đổi 2 khối: Sau khi kết quả từ bước XOR với khối trước đó, khối dữ liệu và khối trước đó được hoán đổi cho nhau. Quá trình này lặp lại trong 16 vòng. Hoán đổi kết quả (Final Permutation): Sau khi 16 vòng lặp đã hoàn thành, kết quả là một khối dữ liệu 64 bit được thực hiện hoán đổi cuối cùng. Kết quả: Khối dữ liệu sau bước hoán đổi cuối cùng được coi là kết quả mã hóa DES.

AES ( Advanced Encryption Standard) 8 Năm 2001, sau một cuộc thi mở, một thuật toán mã hóa có tên Rijndael được phát minh bởi các nhà mật mã Joan Daenten và Vincen! Rijmen đã được tiêu chuẩn hóa thành AES với những sửa đổi nhỏ bởi NIST vào năm 2001. Cho đến nay, chưa có cuộc tấn công nào chống lại AES. Rijndael gốc cho phép các kích thước khóa và khối khác nhau là 128 bit, 192 bit và 256 bit. - Cách thực hiện AES 1) Chọn kích thước khối và khóa: Trước tiên, bạn phải chọn kích thước khối (block size) và độ dài của khóa (key length).

AES hỗ trợ ba kích thước khối chính: 128 bit, 192 bit, và 256 bit. Tùy thuộc vào mức độ bảo mật mà bạn cần, bạn sẽ chọn kích thước khóa tương ứng (128-bit, 192-bit, hoặc 256-bit). 2) Mở rộng khóa (Key Expansion): Quá trình này tạo ra các khóa con từ khóa chính theo từng vòng lặp. Các khóa con này sẽ được sử dụng trong các vòng lặp mã hóa.

3) Quá trình Initial Round: Đây là vòng đầu tiên của quá trình mã hóa. Dữ liệu đầu vào được XOR với khóa con đầu tiên. 4) Vòng lặp mã hóa (Rounds): AES sử dụng một loạt các vòng lặp để thực hiện mã hóa. Số vòng lặp (rounds) phụ thuộc vào kích thước khóa: 10 vòng cho 128- bit key, 12 vòng cho 192-bit key, và 14 vòng cho 256-bit key.

Mỗi vòng lặp bao gồm các bước sau:  SubBytes: Mỗi byte trong khối dữ liệu được thay thế bằng một giá trị mới từ một hộp thay thế (S-box).

Nội dung được bảo vệ bản quyền — Tải xuống đầy đủ