Tạo chuỗi ngẫu nhiên dùng hàm hỗn loạn

Một phần của tài liệu Digital library Ha Noi university of science and technology760 (Trang 35 - 39)

Trong thực tế, có một số cách dùng các hệ hỗn loạn vào mật mã. Cách thứ nhất, các

giá trị tạo ra từ hàm hỗn loạn được dùng như là một chuỗi giả ngẫu nhiên cho việc

mật mã [26]. Cách thứ hai là ứng dụng đặc tính động của hàm hỗn loạn trong quá

tr ình mật mã và giải m ật mã thông qua tác động/điều chế lên véctơ điều kiện đầu (IV)

và/hoặc vào các tham số điều khiển [36]. Tác động được ở đây được hiểu là làm thay

đổi giá tr ị biến trạng thái ho ặc thay đổi giá trị của tham số điều khiển. Ở giai đoạn đầu

nghiên cứu về mật mã hỗn loạn, các chuỗi hỗn loạn được tạo ra và ứng dụng. Những

năm sau này, đặc tính động học của hệ hỗn loạn được khai thác cho mật mã.

Trong các hệ mật mã, chuỗi ngẫu nhiên được tạo ra từ một giá trị ban đầu đã được

biết trước, được gọi là giá trị khở i tạo (IV). Chúng được dùng trong cả mật mã dòng

và mật mã khối. Chuỗi giả ngẫu nhiên được tạo ra đó dùng trực tiếp vào quá trình mật mã thông qua quá trình trộn với văn bản trơn theo biểu thức nào đó để xóa bỏ

cấu trúc thống kê của văn bản trơn. Theo ph ương pháp cổ điển được dùng nhiều trong

S1 S2 b1 S3 S4 b3 b2 S5 S6 b5 b4 S7 S8 b7 b6 b8 Hình 1.12: LFSR thực hiện theo hàm P x( ) =x 8 + x6 + x5 + x4+ 1.

dùng thanh ghi dịch hồi tiếp tuyến tính (LFSR) [41]. Ví dụ LFSR dùng cho mật mã

như được đưa ra ở [42]. Hình 1.12 mô tả cấu trúc của một LFSR thực hiện theo hàm

P x( ) =x 8+ x 6+ x5+ x4+ 1 để tạo ra chuỗi bit giả ngẫu nhiên. Các nghiên cứu gần

đây cho thấy, việc dùng LFSR là không đảm bảo an toàn bảo mật bởi chu kỳ chuỗi

được tạo ra có chiều dài hạn chế [43, 44].

Trong những nghiên cứu gần đây, chuỗi giả ngẫu nhiên có thể được tạo ra từ các hàm hỗn loạn. Nó dựa trên các đặc trưng của hàm hỗn loạn n hư nhạy với điều kiện

đầu/tham số điều khiển, không có khả năng d ự đoán tương lai dài.v..v. [45]. Dựa trên

các tính chất này, các bộ tạo dãy số giả ngẫu nhiên dùng hỗn loạn được đề xuất với

các cấu trúc khác nhau và được ứng dụng vào bảo mật [37, 46, 47].

1.5.1 Tạo chuỗi bit ngẫu nhiên

Để tạo ra chuỗi giả ngẫu nhiên, hàm hỗn loạn sẽ được lặp và tạo ra một chuỗi các giá

tr ị thu nhận được từ biến trạng thái,Xn = {Xn( )i ∈ R, i = 1..m}. Sau đó, các g iá trị

này được biến đổi theo một số cách khác nhau để thu nhận được chuỗi bit giả ngẫu

nhiên. Tuy nhiên, trong một số nghiên cứu khác lại dùng phép lặp và được điều khiển

theo quy luật để tạo ra chuỗi bit ngẫu nhiên. Điển hình của phương pháp dựa vào giá

tr ị để tạo ra chuỗi bit ngẫu nhiên gồm:

• Phương pháp 1: Giá trịX ( )ni của b iến trạng thái được sinh ra qua quá trình lặp

các hàm hỗn loạn. Nó được so sánh với một ngưỡng biết trước. Tùy theo giá trị củaXn( )i lớn hơn h ay nhỏ hơn ngưỡng mà bit được tạo ra là “0” hay “1”. Phương

pháp này được thấy trong nhiều nghiên cứu như của Q. Wang [48, 49]

• Phương pháp 2: Tạo ra chuỗi bit giả n gẫu nhiên thông qua các phép lặp dựa

trên một chuỗi số biết trước và kết hợp với các phép XORshift như được đề xuất

bởi [46, 50]. Khái niệm chaotic iteration được định nghĩa ở đây là phép lặp và

cập nhật giá trị dựa vào những điều kiện cho trước. Điều kiện là sự kết hợp giữa

như thời gian lúc thực hiện chẳng hạn. Việc tạo ra chuỗi bit giả ngẫu nhiên này

tương đối phức tạp và sẽ rất khó khăn khi th ực hiện trên phần cứng.

• Phương pháp 3: Chuỗi bit được tạo ra bằng cách ghép các b it từ các giá tr ị nhận

được ở đầu ra của hàm hỗn loạn sau mỗi phép lặp. Điển hình như được thấy trong

công tr ình của T. Xiang et.al [51]. Chuỗi bit tạo ra được chứng minh là có tính

chất thống kê rất tốt (phân bố đều, xuất hiện ngẫu nhiên).

• Phương pháp 4: Từ thực tế đánh giá cho thấy các giá trị tạo ra từ hàm hỗn loạn

được chứng minh là có tính chất thống kê rất tốt. Do vậy, các giá trị hỗn loạn

được biểu diễn dưới dạng dấu phảy tĩnh và chúng được d ùng để tạo ra chuỗi bit

giả ngẫu nhiên thông qua việc lấy các bit sau dấu phảy của giá trị hỗn loạn được

tạo ra đó. Phương pháp này được thấy trong nghiên cứu của Kohda [52, 53].

Đó là các phương pháp cơ bản để tạo ra chuỗi giả ngẫu nhiên. Dưới đây là các

phương pháp tạo ra chuỗi số giả ngẫu nhiên.

1.5.2 Tạo chuỗi số giả ngẫu nhiên

Từ quá trình lặp hàm hỗn loạn, các giá trị hỗn loạn ở dạng số thực được sinh ra. Chuỗi

các giá trị hỗn loạn này được dùng để tạo ra chuỗi số nguyên giả ngẫu nhiên để dùng

trong mật mã ảnh theo một số cách khác nhau như sau:

• Phương pháp 1: Trong nhiều nghiên cứu ứng dụng hỗn loạn vào mật mã, các

chuỗi giá trị được sinh ra từ hàm hỗn loạn là các số thực X( )ni . Sau đóXn( )i được

chuyển sang số nguyên thông qua biểu thức

Sn = X n( )i × 10tmodK , (1.22)

ở đó, bằ ng với số chữ số mà vị trí dấu phảy được chuyển qua;t K là giá trị được

chuẩn hóa. Dải giá trị được chuẩn hóa thường là[0 255]− đối với giá trị điểm ảnh

8 bit cho mục đích khuếch tán hoặc kích thước dài và rộng của ảnh cho mục đích

hoán vị các điểm ảnh. Ph ương pháp này được thấy trong các hệ mật mã được đề

xuất ở [54, 55, 56].

• Phương pháp 2: Tạo chuỗi giá trị giả ngẫu nhiên dựa vào hàm hỗn loạn bị tác

động từ bên ngoài bởi giá trị đầu ra của LFSR nhằm tạo ra sự bất định. Phương

pháp này được đưa ra bởi Hassan Noura [1, 57, 58]. Sơ đồ cấu trúc bộ tạo chuỗi

giá trị ngẫu n hiên như được đưa ra ở Hình 1.13 trong [1]. Ở đó, Xn−1( )i vàXn( )i

Hình 1.13: Bộ tạo chuỗi số dùng hàm hỗn loạn (nguồn: [1])

tính; khối tạo ra tham số thực hiện việc kết hợp các biến trạng thái để hình thành các chuỗiKsj vàKPj được dùng như là khóa mật trong mật m ã.

• Phương pháp 3: Tạo chuỗi giá trị giả ngẫu nhiên có thể được tạo ra trực tiếp từ

hàm hỗn loạn. Cách thứ nhất là sắp xếp dãyXn( )i theo thứ tự tăng dần hoặc giảm

dần và tạo ra chuỗi mớiX′( )ni . Chỉ số vị trí của các giá trị trong chuỗi cũ bị thay

đổi để hình thành nên chuỗi mới. Chu ỗi vị trí mới này chính là một dãy giả ngẫu nhiên [59]. Thông qua các phép toán thao tác với các biến trạng thái được tạo ra từ hàm hỗn loạnXn( )i kết hợp với hàmmod .( )như ở Phương pháp 1, chuỗi số giả

ngẫu nhiên cũng được tạo ra [60]. Một số cách khác có th ể được tham khảo ở các công trình [28, 61].

Trong các nghiên cứu tạo chuỗi bit và chuỗi giá trị giả ngẫu nhiên nhờ hàm hỗn loạn, các phép kiểm tra theo chuẩn NIST (Chi-test) đều được thực hiện. Kết quả các phép

kiểm tra thông qua tiêu chuẩn của NIST [62] cho thấy, tất cả các chuỗi bit và các chuỗi

giá trị hỗn loạn được tạo ra trong các nghiên cứu đều thỏa mãn tính chất ngẫu nhiên

và có thể đ ược dùng cho ứng dụng trong mật mã.

1.5.3 Một số chú ý khi thiết kế phần cứng cho các hàm hỗn loạn

Khi xem xét thiết kế phần cứng cho các hàm hỗn loạn, hai loại hàm hỗn loạn gồm liên tục theo thời gian và rời rạc theo thời gian tương ứng được thực hiện bởi m ạch điện

tử tương tự và mạch điện tử số. Mạch điện tử tương tự được thiết kế cho các hàm hỗn

loạn liên tục theo thời gian được biểu diễn bởi các phương trình vi phân. Với mạch

điện tử tương tự, việc thực hiện mạch điện được thực hiện khá dễ dàng dùng các phần

tử cơ bản gồm tụ điện, cuộn cảm, điện trở , cùng với một số mạch chức năn g như bộ nhân/chia, bộ cộng/trừ, kh uếch đại như được th ấy trong các công trìn h [63, 64, 65].

Mạch điện thường chịu nhiều ảnh hưởng bởi nhiễu gây ra do sự không chính xác của

tự cho hàm hỗn loạn thường được dùng để tạo ra kênh truyền tin an toàn hoặc truyền thông ứng dụng kỹ thuật hỗn loạn thông qua các phép điều chế tín hiệu [66, 67, 68]

mà không được dùng để tạo ra hệ m ật mã hỗn loạn. Tuy nhiên, đ iều này được khắc

phục thông qua việc lựa chọn mô hình ứng dụng phù hợp có khả năng chịu nhiễu, ở

đó các sai số được chấp nhận như là thành phần nhiễu [69, 70, 71].

Thiết kế phần cứng số cho các hàm hỗn loạn thực hiện các phép biểu diễn tín hiệu

với số bit hữu hạn. Điều này làm cho số trạng thái của hàm hỗn loạn là hữu hạn và tạo

ra các tín hiệu từ hàm hỗn loạn trở nên có chu kỳ. Nếu số bit được dùng càng lớn thì số trạng thái của hàm hỗn loạn càng nhiều và chu kỳ tín hiệu càng d ài. Các nghiên

cứu gần đây gợi ý số bit được dùng sao cho hiệu quả về phần cứng [72]. Để kéo dài

chu kỳ của tín hiệu được tạo ra từ hàm hỗn loạn, người ta thường dùng một tín hiệu giả ngẫu nhiên tác động vào hàm hỗn loạn [73]. Điều này đồng nghĩa với việc chiếm

dụng thêm phần cứng số để thực hiện tác động làm kéo dài chu kỳ. Phần mạch điện tác

động nhằm làm kéo dài chu kỳ thường là LFSR như được thấy trong nghiên cứu [74].

Đây không được xem là cản trở lớn bởi tài nguyên phần cứng cho LFSR thường nhỏ

hơn rất nhiều so với phần cứng dùng cho hàm hỗn loạn.

Khi thiết kế phần cứng để thực hiện cho h ệ mật hỗn loạn nào đó thì ngoài phần

cứng của hàm hỗn loạn còn có phần cứng dùng cho việc trộn tín hiệu hỗn loạn với tín

hiệu tin tức. Những thách thức đối với phần cứng chủ yếu là tài nguyên yêu cầu, và

chúng cần được xem xét trong trường hợp cụ thể.

Một phần của tài liệu Digital library Ha Noi university of science and technology760 (Trang 35 - 39)

Tải bản đầy đủ (PDF)

(154 trang)