Phụ thuộc điều kiện đầu của hàm Logistic với r= 40,

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

Hình 1.8: Hệ số Lyapunov của hàm Logistic phụ thuộc vào .r

động. Sự phụ thuộc điều kiện đầu của hàm hỗn loạn Logistic có thể đượ c thấy trong

Hình 1.7. Ở đó, hai điều kiện đầu lần lượt làX0 = 0 123 , và0 12300000005, sẽ tạo ra

các giá trị khác nhau hoàn toàn sau 28 lần lặp. Việc tính hệ số Lyapunov dựa vào sựλ

sai khác điều kiện đầuδ(0), sau các lần lặp, sai khác này sẽ làδ i( ). Hệ số Lyapunov được tính theo trung bình các sai khác đó trênN lần lặp như sau:

λ = lim N →∞ 1 N N Xt=1 ln δ t( ) δ t( − 1) . (1.21)

Để thấy bức tranh tổng quát giá trị của hệ s ố lũy thừa Lyapunov, việc khảo sát tính

toán với từng giá trị nào của tham số điều khiển được thực hiện. Trên hình vẽ khảo sát

các hệ số Lyapunov thường so sánh với giá trị 0 để thấy rõ hàm ở trạng thái hỗn loạn

ứng với giá trị của tham số điều khiển. Hình 1.8 cho thấy hệ số Lyapunov của hàm

Logistic phụ thuộc vào giá trị th am số điều khiển . Nó cũng cho thấy, hàm Logisticr

xuất hiện hỗn loạn với r ≥ 3 57, . Các bước tính toán Lyapunov cho trường hợp tổng

Hình 1.9: Đồ hình phân nhánh của hàm Logistic phụ thuộc vào .r

Thuộc tính tập hợp các điểm mật độ dày với các quĩ đạo có chu kỳ được hiểu thông

qua đồ hình phân nhánh của hàm hỗn loạn. Đồ hình phân nhánh (bifurcation diagram)

được vẽ ra với sự phụ thuộc vào tham số điều khiển. Hình 1.9 cho thấy đồ hình phân

nhánh của hàm Logistic. Ở đó, khi vực phân bố dày đặc các quĩ đạo có chu kỳ cho

thấy tồn tại hỗn loạn ứng với giá trị của tham số điều khiển tương ứng.

Thuộc tính cấu trúc đồ hình liên kết (topologically transitive hay topological mix- ing) được đề cập đến lần đầu tiên bởi G.D. Birkhoff năm 1920. Tính chất này được

phát biểu là hàm hỗn loạnF : XX được gọi là có cấu trúc đồ hình liên kết nếu

như có mọi cặp không rỗng mở, ký hiệu làA, B∈X, thì tồn tại một số nguyên saon choFn( )A ∩ B 6=∅. Ở đó, Fn là lặp lần hàm . Khái niệm này có thể hiểu đượ cn F

rằng phạm vi của biến trạng thái được hàm hỗn loạn đi đến nhiều lần.

Tất cả các thuộc tính nêu trên đã được chứng minh và làm rõ trong các tài liệu

nghiên cứu chuyên sâu về hỗn loạn.

1.4.2 Các tham số và tính chất của hàm hỗn loạn dùng trong mật mã

Trước khi đề cập đến ứng dụng hàm hỗn loạn vào mật mã, các hàm hỗn loạn phổ biến đã được chứng minh rằng có đầy đủ các thuộc tính như trình bày trong phần trước.

Việc ứng dụng hàm hỗn loạn được dựa trên các yếu tố có lợi để hình thành mật mã,

cụ thể là khai thác tính chất phân bố đều của giá trị biến trạng thái được tạo ra từ hàm

hỗn loạn và các tham số của hàm hỗn loạn. Các thuộc tính trên của hàm hỗn lo ạn đã

đưa lại một đặc điểm vô cùng quan trọng, đó là khả năng không thể dự đoán dài hạn trạng thái của hàm h ỗn loạn. Đặc điểm này làm cho hàm hỗn loạn phù hợp với ứng dụng vào mật mã.

Với một hàm hỗn loạn rời rạc được cho như trong biểu thức (1.5), hàm hỗn loạn

0 0.1 0.2 0.3 0.4 0.5 0.6 0.7 0.8 0.9 1 0 100 200 300 400 500 600 700 Giá trị của Xn H is to gr am

Hình 1.10: Phân bố của chuỗi giá trị được tạo từ hàm Logistic.

chính là các điều kiện đầu (X0), tham số hệ thống, số lần lặp . Các giá trị của biến n

đầu ra của hàm hỗn loạn được dùng để tạo ra các chuỗi số và các chuỗi bit giả ngẫu

nhiên cho quá trình mật mã. Việc áp đặt giá trị vào các tham số của hàm hỗn loạn

được hiểu như tác độ ng vào đặc tính động của hàm hỗn loạn. Các tham số được tác

động sẽ tạo ra giá trị của biến trạng thái và giá trị ấy được dùng cho quá trình mật mã.

Ví dụ hàm Logistic được lặp nhiều lần để lấy giá trị của biến trạng tháiXn dùng

trong quá trình tạo ra chuỗi giả ngẫu nhiên. Chuỗi giả ngẫu nhiên đó được biến đổi và

dùng để hình thành ma trận chuyển vị các điểm ảnh. Tuy nhiên, tham số điều khiểnr

cũng được dùng cho các lần tạo ra chuỗi giá trị giả ngẫu nhiên khác nhau cho các lần

mật mã khác nhau. Hơn nữa, với mỗi giá trị được tạo ra từ hàm hỗn loạn chỉ được giữ

lại sau lần lặp. Giá trị của các tham số này hình thành nên khóa mật, không giann

giá trị của các tham số này hình thành nên không gian khóa. Trong nghiên cứu [35],

S. Lian chỉ ra rằng hàm Standard có không gian khóa lớn nhất.

Một trong các tính chất quan trọng của chuỗi giá trị được tạo ra từ hàm hỗn loạn

đó là tính phân bố đều của chuỗi giả ngẫu nhiên. Tuy nhiên không phải luôn luôn hàm

hỗn loạn tạo ra các chuỗi có phân bố đều. Ví dụ, trong Hình 1.10 cho thấy phân bố

của 10000 giá trịXn hàm Logistic được tạo ra với r = 4 0, vàX 0 = 0 123 , . Ta thấy

rằng, phân bố giá trị được tạo ra bởi hàm Logistic là không đồng đều, tỷ lệ giá trị nằm

ở gần 0 và 1 nhiều hơn các giá trị khác. Hình 1.11 cho thấy phân bố tương đối đều của

chuỗi 10000 giá trịXn(1) vàX(2)n được tạo ra bởi hàm Henon sau khi được chuẩn hóa

về(0 255), .

Trong một số trường hợp, do chọn tham số hoặc do hàm hỗn loạn đã tạo ra phân

bố giá tr ị của các biến đầu ra không đều. Ví dụ như sự không đồng nhất ở phân bố

của hàm Logistic. Trong những trường hợp đó, việc biến đổ i giá trị đầu ra là cần thiết

để có được các đặc tính tốt hơn trong ứng dụng mật mã. Có hai cách có thay đổi hàm

Logistic. Đó là tạo ra sự biến đổi tham số điều khiển như được thấy ở [36, 37], vàr

0 50 100 150 200 250 0 20 40 60 80 100 120 140 H is to gr am GiátrịX n (1)

(a)Phân bố của X(1)

n . 0 50 100 150 200 250 0 20 40 60 80 100 120 H is to gr am GiátrịXn(2) (b)Phân bố của X(2)n .

Hình 1.11: Phân bố của chuỗi giá trị được tạo từ hàm Henon vớia = 10vàb = 50.

nghiên cứu khác, các hàm Logistic được ghép lại với nhau để tạo ra sự phức tạp như

được thấy ở [39, 40]. Các công bố gần đây cho thấy, hàm Logistic vẫn được sử dụng nhiều trong mật mã.

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

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

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

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

(154 trang)