Nghiên cứu Phương Pháp Tạo S-box Động Dựa Trên Ánh Xạ Hỗn Loạn

Nghiên cứu Sbox động: Khám phá phương pháp tạo Sbox mới dựa trên ánh xạ hỗn loạn rời rạc một chiều pure. Tối ưu hóa bảo mật mật mã.

Trường đại học

Học viện Kỹ thuật Mật mã

Chuyên ngành

An toàn thông tin

Người đăng

Ẩn danh

Thể loại

Đồ án tốt nghiệp

2023

73
3
0

Phí lưu trữ

30 Point

Mục lục chi tiết

MỤC LỤC

DANH MỤC KÝ HIỆU VÀ VIẾT TẮT

DANH MỤC HÌNH VẼ

DANH MỤC BẢNG BIỂU

1. TỔNG QUAN VỀ MẬT MÃ VÀ HỘP THẾ

1.1. Tổng quan về hệ mật

1.2. Vai trò của hệ mật

1.3. Phân loại hệ mật

1.4. Một số thuật toán mật mã điển hình

1.5. Giới thiệu chung

1.6. Độ an toàn của mã hoá khối

1.7. Một số tính chất mật mã của hàm Boolean

1.8. Hộp thế và các tính chất mật mã của hộp thế

1.8.1. Các tính chất mật mã của hộp thế

1.8.2. Hộp thế trong thuật toán mã hoá AES

2. NGHIÊN CỨU PHƯƠNG PHÁP TẠO S-BOX ĐỘNG ( PURE DYNAMIC)

2.1. Một số phương pháp tạo hộp thế

2.2. Thiết kế S-box với ánh xạ hỗn loạn rời rạc một chiều pure

2.2.1. Cơ sở lý thuyết của ánh xạ hỗn loạn rời rạc một chiều pure

2.2.2. Một số loại ánh xạ hỗn loạn rời rạc một chiều pure

2.2.3. Thuật toán tạo S-box động dựa trên ánh xạ hỗn loạn rời rạc một chiều pure

3. XÂY DỰNG CHƯƠNG TRÌNH THỰC THI

3.1. Yêu cầu đối với chương trình

3.2. Lựa chọn công cụ

3.3. Xây dựng chương trình và thử nghiệm

3.3.1. Lược đồ tổng quan của chương trình

3.3.2. Xây dựng chi tiết các chức năng của chương trình

3.4. Kết quả thực nghiệm

3.5. Đánh giá các tính chất của S-Box

TÀI LIỆU THAM KHẢO

Tóm tắt

I. S box Động Là Gì Tổng Quan Về Hộp Thế Mật Mã

Trong bối cảnh an toàn thông tin ngày càng trở nên quan trọng, mật mã học đóng vai trò then chốt. Các hệ mật, đặc biệt là hệ mật khối, là nền tảng của nhiều ứng dụng bảo mật. Trong đó, S-box (Substitution-box) hay còn gọi là hộp thế, là một thành phần không thể thiếu. S-box thực hiện thay thế các khối dữ liệu đầu vào bằng các khối đầu ra theo một quy tắc phức tạp, phi tuyến tính. Điều này giúp che giấu mối quan hệ giữa bản rõ và bản mã, tăng cường tính bảo mật cho hệ thống. S-box động, một biến thể của S-box truyền thống, hứa hẹn mang lại khả năng bảo mật cao hơn nhờ khả năng thay đổi theo thời gian hoặc theo khóa mã. Thiết kế S-box động hiệu quả là một thách thức, đòi hỏi sự hiểu biết sâu sắc về các tính chất mật mã học và các kỹ thuật tạo số ngẫu nhiên. Nghiên cứu tập trung vào việc tạo ra các S-box có độ phi tuyến cao, tính cân bằng tốt, và khả năng chống lại các cuộc tấn công mật mã khác nhau. Việc lựa chọn và đánh giá S-box là bước quan trọng trong việc xây dựng các hệ mật an toàn và hiệu quả. Theo [Mai Văn Khá, Học viện Kỹ thuật Mật Mã, 2023], S-box đóng vai trò then chốt trong việc che giấu mối quan hệ giữa bản rõ và bản mã.

1.1. Định nghĩa và Vai trò của S box Trong Mật Mã

S-box, hay hộp thế, là một thành phần cơ bản trong mật mã học, đặc biệt là trong các thuật toán mã hóa đối xứng như AES (Advanced Encryption Standard). Chức năng chính của S-box là thực hiện phép thay thế phi tuyến tính, biến đổi một khối dữ liệu đầu vào (thường là một chuỗi bit) thành một khối dữ liệu đầu ra khác. Phép thay thế này phải được thiết kế sao cho khó dự đoán và không thể đảo ngược bằng các phép toán tuyến tính đơn giản. Điều này giúp che giấu mối quan hệ giữa bản rõ (plaintext) và bản mã (ciphertext), làm cho việc phá mã trở nên khó khăn hơn. Vai trò của S-box là tạo ra sự 'xáo trộn' (confusion) trong thuật toán mã hóa, một trong hai nguyên tắc thiết kế quan trọng của mật mã khối theo Shannon. Sự xáo trộn làm cho mối liên hệ giữa khóa mã và bản mã trở nên phức tạp, ngăn chặn các cuộc tấn công phân tích thống kê. S-box có thể được biểu diễn dưới dạng một bảng tra cứu (lookup table), trong đó mỗi giá trị đầu vào tương ứng với một giá trị đầu ra duy nhất. Việc thiết kế S-box là một quá trình phức tạp, đòi hỏi sự cân bằng giữa hiệu suất tính toán và các tính chất mật mã học. Một S-box tốt cần có độ phi tuyến cao, tính cân bằng tốt, và khả năng chống lại các cuộc tấn công vi sai và tuyến tính.

1.2. S box Động Ưu điểm và Khác biệt So Với S box Tĩnh

S-box động là một loại S-box đặc biệt, có khả năng thay đổi theo thời gian hoặc theo khóa mã. Điều này tạo ra một lớp bảo mật bổ sung so với S-box tĩnh, vốn cố định trong suốt quá trình mã hóa. Ưu điểm chính của S-box động là khả năng chống lại các cuộc tấn công 'side-channel', chẳng hạn như phân tích năng lượng (power analysis) hoặc phân tích thời gian (timing analysis). Các cuộc tấn công này khai thác thông tin rò rỉ từ quá trình thực thi thuật toán để suy đoán khóa mã. S-box động làm cho việc này trở nên khó khăn hơn vì quan hệ giữa đầu vào và đầu ra của S-box thay đổi liên tục. Sự khác biệt cơ bản giữa S-box động và S-box tĩnh nằm ở tính linh hoạt và khả năng thích ứng. S-box tĩnh được thiết kế một lần và sử dụng cho tất cả các phiên mã hóa, trong khi S-box động có thể được tạo ra hoặc thay đổi cho mỗi phiên, hoặc thậm chí trong quá trình mã hóa. Việc tạo S-box động có thể dựa trên nhiều yếu tố, chẳng hạn như khóa mã, bộ đếm, hoặc các số ngẫu nhiên. Tuy nhiên, việc thiết kế S-box động hiệu quả đòi hỏi sự cẩn trọng, vì cần đảm bảo rằng quá trình tạo S-box không làm suy yếu các tính chất mật mã học quan trọng. Một S-box động được tạo ra một cách ngẫu nhiên có thể không có độ phi tuyến cao hoặc tính cân bằng tốt, làm cho nó dễ bị tấn công hơn.

II. Thách Thức Trong Tạo S box Động An Toàn Hiệu Quả

Việc tạo ra S-box động đáp ứng được cả hai tiêu chí an toàn và hiệu quả là một thách thức không nhỏ. Một S-box an toàn cần phải có độ phi tuyến cao, tính cân bằng tốt, và khả năng chống lại các cuộc tấn công mật mã khác nhau. Tuy nhiên, việc đạt được các tính chất này thường đi kèm với chi phí tính toán đáng kể. Ngược lại, một S-box đơn giản, dễ tính toán có thể không đủ mạnh để chống lại các cuộc tấn công tinh vi. Một thách thức khác là đảm bảo tính ngẫu nhiên của quá trình tạo S-box. Nếu S-box được tạo ra từ một nguồn ngẫu nhiên không đủ mạnh, kẻ tấn công có thể dự đoán được cấu trúc của S-box và phá vỡ hệ mật. Việc đánh giá chất lượng của S-box động cũng là một vấn đề phức tạp. Các phương pháp đánh giá truyền thống, được thiết kế cho S-box tĩnh, có thể không phù hợp cho S-box động. Cần có các công cụ và kỹ thuật mới để phân tích và chứng minh tính an toàn của S-box động trong các môi trường khác nhau. Cuối cùng, việc tích hợp S-box động vào các hệ mật hiện có có thể đòi hỏi những thay đổi đáng kể về kiến trúc và giao thức. Cần phải xem xét kỹ lưỡng các tác động của S-box động đến hiệu suất tổng thể của hệ thống và đảm bảo rằng nó không tạo ra các lỗ hổng bảo mật mới.

2.1. Yêu Cầu Về Tính Chất Mật Mã Của S box Động

Để đảm bảo an toàn cho hệ mật, S-box động cần đáp ứng một số yêu cầu quan trọng về tính chất mật mã. Độ phi tuyến (non-linearity) là một trong những yêu cầu hàng đầu. Độ phi tuyến cao đảm bảo rằng không có mối quan hệ tuyến tính đơn giản giữa đầu vào và đầu ra của S-box, ngăn chặn các cuộc tấn công tuyến tính. Tính cân bằng (balance) là một yêu cầu khác. Một S-box cân bằng có số lượng giá trị đầu ra '0' và '1' gần như bằng nhau, giúp chống lại các cuộc tấn công thống kê. Tiêu chuẩn phân phối (propagation criterion) và hiệu ứng thác chặt (strict avalanche criterion) là các yêu cầu liên quan đến cách các bit đầu vào ảnh hưởng đến các bit đầu ra. Chúng đảm bảo rằng một thay đổi nhỏ ở đầu vào sẽ gây ra những thay đổi đáng kể và không thể dự đoán ở đầu ra. Bậc đại số (algebraic degree) cũng là một yếu tố quan trọng. Bậc đại số cao làm cho S-box khó bị tấn công bằng các phương pháp đại số. Ngoài ra, S-box động cần có khả năng chống lại các cuộc tấn công vi sai (differential attacks) và các cuộc tấn công side-channel. Việc đáp ứng tất cả các yêu cầu này đồng thời là một thách thức lớn, đòi hỏi sự cân nhắc kỹ lưỡng và các kỹ thuật thiết kế tiên tiến.

2.2. Vấn Đề Hiệu Năng Khi Triển Khai S box Động

Trong khi tính an toàn là ưu tiên hàng đầu, hiệu năng cũng là một yếu tố quan trọng cần xem xét khi triển khai S-box động. Việc tạo ra S-box động có thể tốn kém về mặt tính toán, đặc biệt nếu quá trình này phải được thực hiện thường xuyên. Điều này có thể làm giảm hiệu suất tổng thể của hệ mật. Việc lưu trữ S-box động cũng có thể gây ra vấn đề. Nếu S-box thay đổi liên tục, cần phải có một cơ chế để lưu trữ và cập nhật các giá trị S-box một cách hiệu quả. Các thuật toán tạo S-box động phức tạp có thể đòi hỏi nhiều tài nguyên bộ nhớ và thời gian xử lý, làm cho chúng không phù hợp cho các ứng dụng có tài nguyên hạn chế. Cần phải tìm ra sự cân bằng giữa tính an toàn và hiệu năng. Một S-box động quá phức tạp có thể an toàn hơn, nhưng cũng có thể làm chậm hệ thống. Cần phải đánh giá kỹ lưỡng các yêu cầu về hiệu năng của ứng dụng và lựa chọn một phương pháp tạo S-box phù hợp.

III. Ánh Xạ Hỗn Loạn Phương Pháp Tạo S box Động Tiềm Năng

Một trong những phương pháp đầy hứa hẹn để tạo S-box động là sử dụng ánh xạ hỗn loạn. Ánh xạ hỗn loạn là các hàm toán học có tính nhạy cảm cao với điều kiện ban đầu, có nghĩa là một thay đổi nhỏ ở đầu vào có thể dẫn đến những thay đổi lớn và không thể dự đoán ở đầu ra. Tính chất này làm cho chúng trở thành một công cụ lý tưởng để tạo ra các S-box có cấu trúc phức tạp và khó dự đoán. Các loại ánh xạ hỗn loạn khác nhau, chẳng hạn như ánh xạ Logistic, ánh xạ Tent, và ánh xạ Sine, có thể được sử dụng để tạo S-box động. Quá trình tạo S-box thường bao gồm việc lặp lại ánh xạ hỗn loạn nhiều lần để tạo ra một chuỗi các số ngẫu nhiên, sau đó được sử dụng để tạo ra các giá trị S-box. Việc lựa chọn ánh xạ hỗn loạn và các tham số của nó có ảnh hưởng lớn đến chất lượng của S-box. Cần phải lựa chọn các ánh xạ và tham số sao cho S-box có độ phi tuyến cao, tính cân bằng tốt, và khả năng chống lại các cuộc tấn công mật mã. Mặc dù ánh xạ hỗn loạn mang lại nhiều lợi ích, chúng cũng có một số hạn chế. Một trong những hạn chế là tính chu kỳ. Ánh xạ hỗn loạn có thể lặp lại sau một số lần lặp nhất định, làm giảm tính ngẫu nhiên của S-box. Cần phải có các biện pháp để ngăn chặn hoặc giảm thiểu tác động của tính chu kỳ.

3.1. Các Loại Ánh Xạ Hỗn Loạn Phổ Biến Và Ứng Dụng

Có nhiều loại ánh xạ hỗn loạn khác nhau, mỗi loại có các tính chất và ứng dụng riêng. Ánh xạ Logistic là một trong những ánh xạ hỗn loạn được nghiên cứu rộng rãi nhất. Nó được định nghĩa bằng công thức x_(n+1) = r * x_n * (1 - x_n), trong đó r là một tham số và x_n là giá trị của ánh xạ tại thời điểm n. Ánh xạ Logistic có tính nhạy cảm cao với điều kiện ban đầu và có thể tạo ra các chuỗi số ngẫu nhiên phức tạp. Ánh xạ Tent là một ánh xạ hỗn loạn khác, được định nghĩa bằng công thức x_(n+1) = r * min(x_n, 1 - x_n). Ánh xạ Tent có tính chất tương tự như ánh xạ Logistic, nhưng nó đơn giản hơn về mặt tính toán. Ánh xạ Sine là một ánh xạ hỗn loạn được định nghĩa bằng công thức x_(n+1) = a * sin(x_n), trong đó a là một tham số. Ánh xạ Sine có thể tạo ra các hình dạng phức tạp và hỗn loạn. Các ánh xạ hỗn loạn này đã được sử dụng trong nhiều ứng dụng khác nhau, bao gồm tạo số ngẫu nhiên, mã hóa, nén dữ liệu, và mô phỏng các hệ thống vật lý phức tạp. Trong lĩnh vực mật mã, ánh xạ hỗn loạn được sử dụng để tạo S-box, tạo khóa, và trộn dữ liệu.

3.2. Thuật Toán Tạo S box Động Dựa Trên Ánh Xạ Logistic

Một thuật toán phổ biến để tạo S-box động dựa trên ánh xạ Logistic bao gồm các bước sau: 1. Chọn một giá trị cho tham số r của ánh xạ Logistic. Giá trị này phải nằm trong khoảng (0, 4) để đảm bảo tính hỗn loạn. 2. Chọn một giá trị ban đầu x_0 cho ánh xạ Logistic. Giá trị này phải nằm trong khoảng (0, 1). 3. Lặp lại ánh xạ Logistic nhiều lần (ví dụ: 256 lần) để tạo ra một chuỗi các số ngẫu nhiên. 4. Sắp xếp chuỗi các số ngẫu nhiên theo thứ tự tăng dần. 5. Tạo S-box bằng cách ánh xạ mỗi số ngẫu nhiên trong chuỗi đã sắp xếp đến một giá trị duy nhất trong khoảng (0, 255). Ví dụ: số ngẫu nhiên nhỏ nhất được ánh xạ đến 0, số ngẫu nhiên lớn nhất được ánh xạ đến 255, và các số ngẫu nhiên trung gian được ánh xạ đến các giá trị trung gian tương ứng. 6. Để tăng tính động, giá trị của r và x_0 có thể được thay đổi theo thời gian hoặc theo khóa mã. Thuật toán này có thể được điều chỉnh và cải tiến để tạo ra các S-box động có các tính chất mật mã khác nhau.

IV. Đánh Giá Tính Chất Mật Mã Của S box Động Từ Ánh Xạ

Sau khi tạo ra một S-box động bằng cách sử dụng ánh xạ hỗn loạn, điều quan trọng là phải đánh giá các tính chất mật mã của nó để đảm bảo rằng nó đủ mạnh để chống lại các cuộc tấn công. Các tính chất cần được đánh giá bao gồm độ phi tuyến, tính cân bằng, tiêu chuẩn phân phối, hiệu ứng thác chặt, và bậc đại số. Độ phi tuyến có thể được đánh giá bằng cách tính khoảng cách Hamming giữa S-box và tất cả các hàm tuyến tính có thể có. Tính cân bằng có thể được đánh giá bằng cách đếm số lượng giá trị đầu ra '0' và '1' trong S-box. Tiêu chuẩn phân phối và hiệu ứng thác chặt có thể được đánh giá bằng cách phân tích cách các bit đầu vào ảnh hưởng đến các bit đầu ra. Bậc đại số có thể được đánh giá bằng cách biểu diễn S-box dưới dạng một đa thức và tính bậc của đa thức đó. Ngoài các tính chất này, cần phải đánh giá khả năng chống lại các cuộc tấn công vi sai và các cuộc tấn công side-channel. Các cuộc tấn công vi sai có thể được chống lại bằng cách đảm bảo rằng S-box có tính đồng nhất vi sai thấp. Các cuộc tấn công side-channel có thể được chống lại bằng cách làm cho quá trình tạo và sử dụng S-box ít phụ thuộc vào dữ liệu đầu vào và khóa mã.

4.1. Kiểm Tra Độ Phi Tuyến Tính Cân Bằng SAC PC

Việc kiểm tra độ phi tuyến, tính cân bằng, SAC (Strict Avalanche Criterion), và PC (Propagation Criterion) là các bước quan trọng trong việc đánh giá chất lượng của một S-box động. Độ phi tuyến được kiểm tra bằng cách tính khoảng cách Hamming giữa S-box và tất cả các hàm affine có thể có. Khoảng cách Hamming nhỏ nhất được gọi là độ phi tuyến của S-box. Độ phi tuyến càng cao, S-box càng khó bị tấn công tuyến tính. Tính cân bằng được kiểm tra bằng cách đếm số lượng giá trị đầu ra '0' và '1' trong S-box. Nếu số lượng giá trị '0' và '1' gần như bằng nhau, S-box được coi là cân bằng. SAC được kiểm tra bằng cách thay đổi một bit đầu vào của S-box và quan sát số lượng bit đầu ra thay đổi. Nếu mỗi bit đầu ra thay đổi với xác suất 0.5, S-box được coi là thỏa mãn SAC. PC được kiểm tra bằng cách phân tích cách các tổ hợp bit đầu vào ảnh hưởng đến các tổ hợp bit đầu ra. Nếu S-box thỏa mãn PC với bậc k, điều đó có nghĩa là thay đổi k bit đầu vào sẽ dẫn đến thay đổi mỗi bit đầu ra với xác suất 0.5.

4.2. Phân Tích Khả Năng Chống Tấn Công Tuyến Tính Vi Sai

Phân tích khả năng chống tấn công tuyến tính và vi sai là một phần không thể thiếu trong quá trình đánh giá S-box động. Tấn công tuyến tính khai thác các mối quan hệ tuyến tính giữa đầu vào và đầu ra của S-box để suy đoán khóa mã. Khả năng chống tấn công tuyến tính có thể được đánh giá bằng cách tìm giá trị lớn nhất của sự mất cân bằng tuyến tính (linear probability bias) trong S-box. Giá trị này càng nhỏ, S-box càng khó bị tấn công tuyến tính. Tấn công vi sai khai thác các mối quan hệ giữa các sự khác biệt (differences) ở đầu vào và đầu ra của S-box để suy đoán khóa mã. Khả năng chống tấn công vi sai có thể được đánh giá bằng cách xây dựng bảng phân phối sự khác biệt (differential distribution table) và tìm giá trị lớn nhất trong bảng này. Giá trị này càng nhỏ, S-box càng khó bị tấn công vi sai. Các phương pháp phân tích tiên tiến hơn, chẳng hạn như phân tích tuyến tính và vi sai bậc cao (higher-order differential and linear cryptanalysis), cũng có thể được sử dụng để đánh giá khả năng chống tấn công của S-box.

V. Ứng Dụng Thực Tiễn S box Động Trong Mật Mã Hiện Đại

Các S-box động không chỉ là một khái niệm lý thuyết, mà còn có nhiều ứng dụng thực tiễn trong mật mã hiện đại. Một trong những ứng dụng quan trọng nhất là trong các thuật toán mã hóa đối xứng, chẳng hạn như AES. S-box động có thể được sử dụng để thay thế S-box tĩnh trong AES, làm tăng tính bảo mật của thuật toán chống lại các cuộc tấn công side-channel. S-box động cũng có thể được sử dụng trong các hàm băm (hash functions) và các hàm tạo số ngẫu nhiên (random number generators). Trong các hàm băm, S-box động có thể giúp tạo ra các giá trị băm có tính ngẫu nhiên cao và khả năng chống va chạm tốt. Trong các hàm tạo số ngẫu nhiên, S-box động có thể giúp tạo ra các chuỗi số ngẫu nhiên có tính không thể đoán trước cao. Ngoài ra, S-box động còn có thể được sử dụng trong các giao thức mật mã, chẳng hạn như giao thức trao đổi khóa (key exchange protocols) và giao thức chứng thực (authentication protocols). Trong các giao thức này, S-box động có thể giúp bảo vệ thông tin nhạy cảm khỏi bị lộ.

5.1. Tích Hợp S box Động Vào Thuật Toán Mã Hóa AES

Việc tích hợp S-box động vào thuật toán mã hóa AES (Advanced Encryption Standard) có thể mang lại nhiều lợi ích về bảo mật, đặc biệt là khả năng chống lại các cuộc tấn công side-channel. Có nhiều cách để tích hợp S-box động vào AES. Một cách đơn giản là thay thế S-box tĩnh trong AES bằng một S-box động được tạo ra trước mỗi vòng mã hóa. Tuy nhiên, cách này có thể làm giảm hiệu suất của thuật toán, vì quá trình tạo S-box có thể tốn kém về mặt tính toán. Một cách khác là sử dụng một S-box động được tạo ra từ khóa mã. Cách này có thể tăng tính bảo mật của thuật toán mà không làm giảm hiệu suất quá nhiều. Tuy nhiên, cần phải đảm bảo rằng quá trình tạo S-box không làm lộ khóa mã. Một cách tiếp cận phức tạp hơn là sử dụng một S-box động được thay đổi liên tục trong quá trình mã hóa. Cách này có thể cung cấp mức bảo mật cao nhất, nhưng cũng đòi hỏi nhiều tài nguyên tính toán nhất. Việc lựa chọn phương pháp tích hợp S-box động phù hợp phụ thuộc vào các yêu cầu cụ thể về bảo mật và hiệu suất của ứng dụng.

5.2. Ứng Dụng S box Động Trong Tạo Khóa Hàm Băm

Ngoài việc sử dụng trong các thuật toán mã hóa, S-box động còn có thể được ứng dụng trong các lĩnh vực khác của mật mã, chẳng hạn như tạo khóa và hàm băm. Trong tạo khóa, S-box động có thể được sử dụng để tạo ra các khóa có tính ngẫu nhiên cao và khả năng chống lại các cuộc tấn công vét cạn. Ví dụ: một hàm tạo khóa có thể sử dụng S-box động để trộn dữ liệu đầu vào (chẳng hạn như mật khẩu) với một số ngẫu nhiên để tạo ra một khóa có độ dài mong muốn. Trong hàm băm, S-box động có thể được sử dụng để tạo ra các giá trị băm có tính ngẫu nhiên cao và khả năng chống va chạm tốt. Điều này có thể được thực hiện bằng cách sử dụng S-box động để biến đổi dữ liệu đầu vào trước khi áp dụng các phép toán băm. Việc sử dụng S-box động trong tạo khóa và hàm băm có thể làm tăng tính bảo mật của các ứng dụng này, đặc biệt là khi đối mặt với các cuộc tấn công tinh vi.

VI. Kết Luận Hướng Nghiên Cứu Tương Lai Về S box Động

Nghiên cứu về S-box động tiếp tục là một lĩnh vực hứa hẹn trong mật mã học. S-box động mang lại khả năng tăng cường bảo mật cho các hệ mật, đặc biệt là chống lại các cuộc tấn công side-channel. Tuy nhiên, việc thiết kế và đánh giá S-box động đòi hỏi sự cân nhắc kỹ lưỡng về các tính chất mật mã, hiệu năng tính toán, và khả năng chống lại các cuộc tấn công khác nhau. Các hướng nghiên cứu tương lai có thể tập trung vào việc phát triển các thuật toán tạo S-box động hiệu quả hơn, các phương pháp đánh giá S-box động chính xác hơn, và các ứng dụng mới của S-box động trong các hệ mật hiện đại. Việc khám phá các loại ánh xạ hỗn loạn mới và các kỹ thuật kết hợp chúng để tạo ra S-box động cũng là một hướng đi đầy tiềm năng. Ngoài ra, việc nghiên cứu các phương pháp bảo vệ S-box động khỏi các cuộc tấn công side-channel cũng là một vấn đề quan trọng cần được giải quyết.

6.1. Tổng Kết Ưu Điểm Hạn Chế Của Các Phương Pháp Hiện Tại

Các phương pháp tạo S-box động hiện tại có nhiều ưu điểm và hạn chế cần được xem xét. Ưu điểm chính là khả năng tăng cường bảo mật, đặc biệt là chống lại các cuộc tấn công side-channel. S-box động có thể làm cho các hệ mật khó bị tấn công hơn bằng cách làm cho mối quan hệ giữa đầu vào và đầu ra của S-box thay đổi liên tục. Tuy nhiên, các phương pháp hiện tại cũng có một số hạn chế. Một trong những hạn chế lớn nhất là hiệu năng tính toán. Việc tạo S-box động có thể tốn kém về mặt tính toán, làm giảm hiệu suất tổng thể của hệ mật. Ngoài ra, việc lưu trữ S-box động cũng có thể gây ra vấn đề, đặc biệt nếu S-box thay đổi liên tục. Một hạn chế khác là sự phức tạp. Các thuật toán tạo S-box động có thể phức tạp và khó hiểu, làm cho việc đánh giá và chứng minh tính an toàn của chúng trở nên khó khăn. Cần phải có sự cân bằng giữa các ưu điểm và hạn chế này khi lựa chọn một phương pháp tạo S-box động cho một ứng dụng cụ thể.

6.2. Hướng Nghiên Cứu Phát Triển S box Động Trong Tương Lai

Trong tương lai, có nhiều hướng nghiên cứu tiềm năng để phát triển S-box động. Một hướng đi là phát triển các thuật toán tạo S-box động hiệu quả hơn về mặt tính toán. Điều này có thể được thực hiện bằng cách sử dụng các kỹ thuật tối ưu hóa và các kiến trúc phần cứng đặc biệt. Một hướng khác là phát triển các phương pháp đánh giá S-box động chính xác hơn. Điều này có thể được thực hiện bằng cách sử dụng các công cụ và kỹ thuật phân tích tiên tiến. Ngoài ra, việc nghiên cứu các ứng dụng mới của S-box động trong các hệ mật hiện đại cũng là một hướng đi quan trọng. Ví dụ: S-box động có thể được sử dụng để tăng cường bảo mật cho các hệ thống Internet of Things (IoT) và các hệ thống điện toán đám mây (cloud computing). Việc khám phá các loại ánh xạ hỗn loạn mới và các kỹ thuật kết hợp chúng để tạo ra S-box động cũng là một hướng đi đầy tiềm năng. Cuối cùng, việc nghiên cứu các phương pháp bảo vệ S-box động khỏi các cuộc tấn công side-channel là một vấn đề quan trọng cần được giải quyết để đảm bảo tính an toàn của các hệ mật sử dụng S-box động.

22/09/2025

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

Chương 1: Tổng quan về mật mã và hộp thế Trong chương này sẽ giới thiệu tổng quan về hệ mật, hệ mật mã khối và chỉ ra được vai trò của hộp thế (S-box) trong mật mã khối. Trình bày về hàm Boolean và các tính chất mật mã của hàm Boolean, các tính chất mật mã của hộp thế. Chương 2: Nghiên cứu phương pháp tạo hộp thế động (Pure Dynamic) Nội dung của chương 2 là giới thiệu, tìm hiểu về tổng quan Rijndael S-box. Đồng thời tập trung nghiên cứu phương pháp tạo hộp thế động dựa trên ánh xạ hỗn loạn rời rạc một chiều pure.

Chương 3: Xây dựng chương trình thực thi Chương 3 sẽ bao gồm các nội dung: cài đặt chương trình thử nghiệm tạo Sbox động dựa trên ánh xạ hỗn loạn rời rạc một chiều pure, áp dụng thuật toán vào mã hóa và giải mã AES. TỔNG QUAN VỀ MẬT MÃ VÀ HỘP THẾ 1. Tổng quan về hệ mật 1. Định nghĩa Hệ mật mã: Hệ mật mã được định nghĩa là một bộ năm (𝑃, 𝐶 , 𝐾 , 𝐸 , 𝐷), trong đó : [4] 1.

𝑃 là tập hợp hữu hạn các bản rõ 2. 𝐶 là tập hữu hạn các bản mã 3. 𝐾 là tập hữu hạn các khóa 4. 𝐸 là tập các hàm mã hóa 5.

𝐷 là tập các hàm giải mã Với mỗi 𝑘 ∈ 𝐾, có một hàm mã hóa 𝑒𝑘 ∈ 𝐸, 𝑒𝑘 : 𝑃 → 𝐶 và một hàm giải mã 𝑑𝑘 ∈ 𝐷, 𝑑𝑘 : 𝐶 → 𝑃 sao cho 𝑑𝑘 (𝑒𝑘 (𝑥)) = 𝑥, ∀ 𝑥 ∈ 𝑃 Bản rõ: Chứa các xâu ký tự gốc, thông tin trong bản rõ là thông tin cần mã hoá để giữ bí mật. Bản mã: Chứa các ký tự sau khi đã được mã hoá, mà nội dung được giữ bí mật. Mã hóa: là quá trình sử dụng những quy tắc được quy định trong một hệ mã để biến đổi thông tin ban đầu (bản rõ) thành bản mã. Giải mã: là quá trình ngược lại với mã hóa, tức là sử dụng những quy tắc được quy định trong hệ mã để biến đổi nội dung bản mã về thông tin ban đầu.

Khoá K: là thông tin tham số dùng để mã hoá và giải mã chỉ có người gửi và nguời nhận biết. Khóa là độc lập với bản rõ và có độ dài phù hợp với yêu cầu bảo mật. Quá trình mã hoá và giải mã được thể hiện trong hình 1.1 Qúa trình mã hóa và giải mã thông tin Thám mã là nghiên cứu cách phá các hệ mật nhằm phục hồi bản rõ ban đầu từ bản mã, nghiên cứu các nguyên lí và phương pháp giải mã mà không biết khóa. Thám mã có thể chia làm 2 loại: Loại thám mã tích cực: là việc thám mã sau đó tìm cách làm sai lạc các dữ liệu truyền, nhận hoặc các dữ liệu lưu trữ phục vụ mục đích của người thám mã.

Loại thám mã thụ động: là việc thám mã để có được thông tin về bản rõ phục vụ mục đích của người thám mã. Vai trò của hệ mật Các ứng dụng của mật mã học trong an toàn thông tin rất đa dạng và phong phú, tùy vào tính đặc thù của mỗi hệ thống bảo vệ thông tin mà ứng dụng sẽ có các tính năng với đặc trưng riêng. Mã hóa đảm bảo những tính chất sau trong an toàn thông tin: Tính bí mật (confidentiality/privacy): đảm bảo thông tin chỉ được tiết lộ cho những ai được phép. Tính toàn vẹn (integrity): tính chất này đảm bảo thông tin không thể bị thay đổi mà không bị phát hiện.

Tính chất này không đảm bảo thông tin không bị thay đổi, nhưng một khi nó bị nghe lén hoặc thay đổi thì người nhận được thông tin có thể biết được là thông tin đã bị nghe lén hoặc thay đổi. Các hàm băm một chiều thường được dùng để đảm bảo tính toàn vẹn cho thông tin. 2 Tính xác thực (authentication): người gửi (hoặc người nhận) có thể chứng minh đúng họ. Người ta có thể dụng một password, một challenge dựa trên một thuật toán mã hóa hoặc một bí mật chia sẻ giữa hai người để xác thực.

Sự xác thực này có thể thực hiện một chiều (one-way) hoặc hai chiều (mutual authentication). Tính không chối bỏ (non-repudiation): người gửi hoặc nhận sau này không thể chối bỏ việc đã gửi hoặc nhận thông tin. Thông thường điều này được thực hiện thông qua một chữ ký điện tử (electronic signature). Phân loại hệ mật Dựa vào khóa mã hóa và cách thức tiến hành hệ mật được phân loại thuật toán mật mã như trong hình 1.2 Sơ đồ phân loại hệ mật Hàm hash (hàm băm): Trong ngành mật mã học, hàm băm có một số tính chất bảo mật nhất định (xác định, một chiều…) để phù hợp việc sử dụng trong nhiều ứng dụng bảo mật thông tin đa dạng, chẳng hạn như chứng thực (authentication) và kiểm 3 tra tính nguyên vẹn của thông điệp (message integrity).

Một hàm băm nhận đầu vào là một xâu ký tự có độ dài tùy ý và tạo ra kết quả là một xâu ký tự có độ dài cố định, đôi khi được gọi là tóm tắt thông điệp (message digest) hoặc chữ ký số (digital signature). Mật mã đối xứng: Là một loại sơ đồ mã hóa trong đó một khóa giống nhau sẽ vừa được dùng để mã hóa, vừa được dùng để giải mã các tệp tin. Thực tế thì hai khóa (mã hóa, giải mã) có thể khác nhau, trong trường hợp này thì một khóa nhận được từ khóa kia bằng phép tính toán đơn giản. Mật mã đối xứng thì được chia làm hai loại: mã dòng và mã khối.

- Mã dòng: Mã hóa dòng làm việc trên từng bit của dòng dữ liệu và quá trình biến đổi thay đổi theo quá trình mã hóa. - Mã khối: Mã hóa khối là những thuật toán mã hóa đối xứng hoạt động trên những khối thông tin có độ dài xác định (block) với những chuyển đổi xác định. Chẳng hạn một thuật toán mã hóa khối có thể xử lý khối 128 bit đầu vào và biến nó thành khối 128 bit đầu ra. Quá trình chuyển đổi còn sử dụng thêm một tham số nữa: khóa bí mật để cá biệt hóa quá trình.

Việc giải mã cũng diễn ra tương tự: xử lý khối mã hóa 128 bit cùng với khóa để trả về khối 128 bit bản rõ ban đầu. Mật mã bất đối xứng: Có thể hiểu là người ta dùng hai khoá khác nhau để khoá và mở khóa thông tin bí mật. Public key sẽ được công khai, và được gửi đi đến đối tượng cần mã hoá thông tin, còn private key được giữ bí mật và chỉ cung cấp cho cho những ai được phép. Chữ ký số : Là phương pháp ký một bức điện dưới dạng điện tử, để đảm bảo tính nguyên vẹn và xác thực.

Như trong mật mã bất đối xứng, chữ ký điện tử cũng dùng thuật toán mật mã với hai khóa, khóa công khai tính dễ dàng từ khóa bí mật, còn khóa bí mật thì rất khó hầu như không tính được từ khóa công khai. Nhưng khác với mật mã bất đối xứng là quá trình ký bức điện dùng khóa mật, còn quá trình kiểm tra bức điện dùng khóa công khai. Và khóa mật ngoài chủ của bức điện thì không ai biết được, nhờ tính chất này mà chữ ký điện tử có chức năng đảm bảo tính chống chối bỏ của thông tin. Một số thuật toán mật mã điển hình 1.

Giới thiệu chung Các hệ mật mã cổ điển có đặc điểm chung là từng ký tự của bản rõ được mã hoá tách biệt. Điều này làm cho việc thám mã trở lên dễ dàng hơn. Chính vì vậy, trên thực tế người ta hay dùng một kiểu mật mã khác, trong đó từng khối ký tự của bản rõ được mã hóa cùng một lúc như là một đơn vị mã hoá đồng nhất, gọi là mã khối. Quá trình mã hoá bao gồm 2 thuật toán: Mã hoá - ký hiệu 𝐸 và giải mã - ký hiệu 𝐸 −1.

Cả 2 thuật toán đều tác động lên một khối đầu vào 𝑛 bit sử dụng một khoá k bit để cho ra một khối đầu ra n bit. Độ dài của khối thông tin, ký hiệu là n, thông thường là cố định ở 64 hoặc 128 bit. Một số thuật toán có độ dài khối thay đổi nhưng không phổ biến. Tính đến trước những năm 1990 thì độ dài 64 bit thường được sử dụng.

Từ đó trở về sau thì khối 128 bit được sử dụng rộng rãi hơn. Trong các chế độ mã hoá khối thì người ta thường phải bổ sung thêm một số bit cho văn bản (padding) để văn bản chứa số nguyên lần các khối. Hầu hết các thuật toán mã hóa khối sử dụng lặp đi lặp lại các hàm đơn giản. Mỗi chu kỳ lặp được gọi là một vòng và thông thường các thuật toán có từ 4 tới 32 vòng.

Các thành phần sử dụng trong thuật toán là các hàm toán học, các hàm logic (đặc biệt là hàm XOR), hộp thế (S-box) và các phương pháp hoán vị. Các loại mã khối Có thể kể ra một số hệ mã sau: DES (1977), 3-DES (1985), IDEA (1990), GOST, AES (2001)… Trong đó DES được sử dụng rộng rãi và có tầm quan trọng vô cùng to lớn. DES có vai trò bảo mật thông tin trong quá trình truyền và lưu trữ thông tin. DES cũng được sử dụng để kiểm tra tính xác thực của mật khẩu truy cập vào một hệ thống (hệ thống quản lý bán hàng, quản lý thiết bị viễn thông, .), hay tạo và kiểm tính hợp 5 lệ của một mã số bí mật (thẻ internet, thẻ điện thoại di động trả trước), hoặc của một thẻ thông minh (thẻ tín dụng, thẻ payphone.

Tuy nhiên DES cũng có những điểm yếu nhất định của nó, đó chính là tính bù và khoá yếu [4]. - Tính bù: Ký hiệu 𝑢̅ là phần bù của u (ví dụ: 0100101 và 1011010 là bù của nhau) thì DES có tính chất sau: 𝑦 = 𝐷𝐸𝑆𝑧 (𝑥) ⇒ 𝑦 = 𝐷𝐸𝑆𝑧 (𝑥). Cho nên nếu biết MÃ 𝑦 được mã hóa từ TIN 𝑥 với khoá z thì ta suy ra 𝑦 được mã hoá từ TIN 𝑥 với khoá 𝑧. Tính chất này chính là một điểm yếu của DES bởi vì nhờ đó kẻ định có thể loại trừ một nửa số khoá cần phải thử khi tiến hành phép thử - giải mã theo kiểu tìm kiếm vét cạn không gian khoá.

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