Tải bản đầy đủ (.pdf) (4 trang)

MỘT TIÊU CHUẨN ĐÁNH GIÁ CHẤT LƯỢNG CỦA DÃY BIT GIẢ NGẪU NHIÊN

Bạn đang xem bản rút gọn của tài liệu. Xem và tải ngay bản đầy đủ của tài liệu tại đây (249.56 KB, 4 trang )

<span class='text_page_counter'>(1)</span><div class='page_container' data-page=1>

<i>Nguyễn Đức Toàn và Đtg </i> Tạp chí KHOA HỌC & CƠNG NGHỆ 162(02): 47 - 50


47


<b>MỘT TIÊU CHUẨN ĐÁNH GIÁ CHẤT LƯỢNG CỦA DÃY BIT GIẢ NGẪU NHIÊN </b>



<b>Nguyễn Đức Toàn1*, Nguyễn Văn Tảo2, Bùi Thế Hồng3 </b>


<i>1<sub>Trường Cao Đẳng Công nghiệp Thực phẩm, </sub></i>
<i>2<sub>Trường Đại học Công nghệ thông tin & Truyền thông – ĐH Thái Nguyên, </sub></i>
<i>3<sub>Trường Đại học Sư phạm Kỹ thuật Hưng n </sub></i>


TĨM TẮT


Trong bài báo này chúng tơi đưa ra một tiêu chuẩn đánh giá chất lượng của dãy bit giả ngẫu nhiên
được sinh ra từ một thiết bị (thuật tốn) sinh nào đó. Qua đó đánh giá xem dãy bit giả ngẫu nhiên
có đảm bảo chất lượng để ứng dụng trong mật mã hay không? Chất lượng ở đây được hiểu là dãy
độc lập thống kê và có phân bố đều. Mục đích của bài báo là đưa ra một tiêu chuẩn đánh giá của
dãy bit giả ngẫu nhiên nhằm ứng dụng vào trong mật mã.


<i><b>Keywords: Mật mã học, thiết bị sinh, dãy bit giả ngẫu nhiên </b></i>


GIỚI THIỆU*


Trong những năm gần đây mật mã hóa sử
dụng và gắn liền với tốn học nhiều hơn, mật
mã hóa được sử dụng nhiều trong an ninh
mạng. Đây là một ngành rất quan trọng và có
nhiều ứng dụng trong đời sống xã hội của con
người. Cùng với sự phát triển của mạng
Internet, các nghiên cứu về mật mã ngày càng


trở nên đa dạng, mở ra nhiều hướng nghiên
cứu chuyên sâu vào từng lĩnh vực. Ứng dụng
của mật mã không chỉ là mã hóa và giải mã
thơng tin mà cịn bao gồm nhiều vấn đề khác
nhau cần nghiên cứu và giải quyết như: xác
thực nguồn gốc nội dung thông tin, xác thực
về người sở hữu mã khóa, các quy trình trao
đổi thơng tin an toàn trên mạng.


Thiết bị tạo ngẫu nhiên được thiết kế nhằm
đưa ra một dãy các biến ngẫu nhiên nhị phân
(nhận 2 giá trị là 0 và 1) độc lập có phân bố
đối xứng, nghĩa là nó được xây dựng để thực
hiện các giá trị là nguồn đối xứng nhị phân
(Binary Symmetric Source - viết tắt BSS).
Những thiết bị (phần cứng hoặc phần mềm)
tạo bít ngẫu nhiên có nhiều ứng dụng trong
mật mã học, kiểm tra các thuật toán xác suất
cũng như trong nhiều lĩnh vực khác. Ứng dụng
chủ yếu của chúng trong mật mã là việc kiểm
tra các nguồn tạo khóa bí mật hoặc công khai
(Public Key) hoặc kiểm tra dịng nhị phân sinh
ra từ khóa dòng (Key stream) (OTP).




*


<i>Tel: 0948 570666</i>



Trong áp dụng đó, việc an tồn mật mã phụ
thuộc vào tính ngẫu nhiên của dãy loạn số
được tạo ra bởi thuật tốn nào đó (hoặc các
thiết bị nào đó). Dãy loạn số ấy có độ dài có
thể coi là vơ hạn (hoặc hữu hạn nhưng rất
lớn), nguồn tạo loạn số ấy được coi là độc lập
thống kê, nếu tất cả các phần tử của nguồn ấy
là độc lập nhau. Tuy nhiên việc kiểm tra để
kết luận nguồn ấy là độc lập thống kê là việc
không thể thực hiện được trong thực tiễn. Vì
vậy vấn đề đặt ra là có thể kiểm tra một số
mẫu đủ nhỏ trong đó mà kết luận được tồn
bộ nguồn ấy là độc lập hay khơng? tức là có
thể kiểm tra một tập hợp rất hữu hạn mà kết
luận cho tập hợp vô hạn được không? Nhờ lý
xác suất mà nổi bật là các định lý
Konmogorov, ta có câu trả lời "Có thể được".
Để giải quyết vấn đề "Có thể được", người ta
đã nghiên cứu và đưa ra lý thuyết chọn mẫu,
lý thuyết xác suất thống kê ứng dụng, và trong
thực tế, lý thuyết này rất có hiệu lực. Ở đây
chúng tơi chỉ nghiên cứu và trình bày một tiêu
chuẩn thống kê nhằm kiểm tra những mẫu được
lấy từ một tập hợp có phân bố nhị phân.


Bài báo được chia ra làm 4 mục: mục 1 là:
Giới thiệu, mục 2 là: Một số tiêu chuẩn và đặt
bài toán, mục 3 là: Nhận xét và kết luận, mục
4 là: Tài liệu tham khảo.



MỘT SỐ TIÊU CHUẨN VÀ ĐẶT BÀI TOÁN


<b>Một số tiêu chuẩn </b>


Cho một chuỗi nhị phân có độ dài là n: S(n)


</div>
<span class='text_page_counter'>(2)</span><div class='page_container' data-page=2>

<i>Nguyễn Đức Toàn và Đtg </i> Tạp chí KHOA HỌC & CƠNG NGHỆ 162(02): 47 - 50


48


chuẩn kiểm tra thống kê thường dùng để kiểm
tra chuỗi nhị phân s.


<i>Tiêu chuẩn 1: frequency test (kiểm tra tần số) </i>
Mục đích của kiểm tra này đó là để xác định
số lần mà số 0 hoặc số 1 trong chuỗi nhị phân
s xuất hiện ngẫu nhiên trong chuỗi. Lấy n0, n1


lần lượt ký hiệu là số lượng các số 0 và 1 xuất
hiện trong s. Công thức thống kê sẽ là:


2
0 1
1


(<i>n</i> <i>n</i>)


<i>X</i>


<i>n</i>






Nếu dãy S là ngẫu nhiên thì X1 có phân bố


xấp xỉ phân bố χ 2


(Chi - bình phương) với 1
bậc tự do (n>=10 và n càng lớn sự xấp xỉ
càng tốt).


<i>Tiêu chuẩn 2: Serial test (kiểm tra) Mục đích </i>
của kiểm tra này là xác định số lượng tần số
xuất hiện của các bộ đơi 00, 01,10,11 có ngẫu
nhiên trong chuỗi nhị phân S hay không. Lấy
n0, n1 ký hiệu cho số lượng các số 0 và 1 xuất


hiện trong s, và lấy n00, n01, n10, n11 ký hiệu


các số 00, 01, 10, 11 xuất hiện trong S. Chú ý
rằng: n00 + n01 + n10 + n11 = (n-1). Công thức


thống kê sẽ là:


4 <sub>2</sub> <sub>2</sub> <sub>2</sub> <sub>2</sub> 2 <sub>2</sub> <sub>2</sub>


( ) ( ) 1


2 00 01 10 11 0 1



1


<i>X</i> <i>n</i> <i>n</i> <i>n</i> <i>n</i> <i>n</i> <i>n</i>


<i>n</i> <i>n</i>


      




Nếu dãy S là ngẫu nhiên (là “tốt”) thì X2 có


phân bố xấp xỉ phân bố χ 2 với 2 bậc tự do
nếu n>=21.


<i>Tiêu chuẩn 3: Poker test (Kiểm tra Poker). </i>
Lấy m là một số nguyên dương sao cho


5.(2) ;<i>m</i>


<i>n</i> <i>n</i>


<i>k</i>


<i>m</i>   <i>m</i>


Chia chuỗi S thành k phần khơng gối nhau,
mỗi phần có độ dài là m, ni là số lần xuất hiện



thứ i của các thứ tự có độ dài m, 1≤ i ≤ 2m


.
Kiểm tra poker sẽ xác định tần suất xuất hiện
dãy số độ dài m trong S.


Công thức thống kê là:


2
2 <sub>2</sub>
( )
3
1
<i>m</i> <i><sub>m</sub></i>


<i>X</i> <i>n<sub>i</sub></i> <i>k</i>


<i>i</i>
<i>k</i>




 




Sẽ có phân bố xấp xỉ phân bố χ 2 với 2m -1
bậc tự do nếu dãy S là ngẫu nhiên. Chú ý rằng


kiểm tra poker là sự tổng quát hoá của các


bước kiểm tra ở (1) và (2).


<b>Đặt bài toán </b>


Giả sử cho dãy S(n)


= S0, S1, S2,..., Sn-1, là một


dãy bit giả ngẫu nhiên được sinh ra từ một
thiết bị (thuật tốn) sinh nào đó. Hãy đánh giá
xem dãy bit S(n) có đảm bảo chất lượng để
ứng dụng trong mật mã hay không? Chất
lượng ở đây được hiểu là dãy độc lập thống
kê và có phân bố đều. Có nhiều phương pháp
đánh giá, sau đây ta tìm hiểu một phương
pháp với nội dung như sau:


Trước hết ta lấy ví dụ sau đây:


Cho dãy S(n) = S(160) = 11100 01100 01000
10100 11101 11100 10010 01001 11100 01100
01000 10100 11101 11100 10010 01001…
Ta lấy mức ý nghĩa α =0,05. Dãy này có chu
kỳ nhưng đã qua được 3 tiêu chuẩn 1,2,3(Tiêu
chuẩn kiểm tra tần số, Tiêu chuẩn kiểm tra
2-bit (serial test), Tiêu chuẩn Poker (Poker test))
nhưng không qua được tiêu chuẩn trình bày ở
dưới đây.


<i><b>Nội dung: </b></i>



1.Cho l {1,2,…8} là một số nào đó.


2.Dãy S(n) được phân hoạch (partition) thành
các block khơng dẫm lên nhau, có độ dài bằng
nhau và bằng L. Ta xóa các bit đầu tiên bên
trái và chỉ lấy Q + K block. Trong đó Q và K
được xác định như sau:


- Đối với mỗi i: L ≤ i ≤ Q+K. Ta ký hiệu bi là


số nguyên mà biểu diễn nhị phân của nó là
block thứ i. Các biđược quét theo thứ tự. Ký


hiệu một bảng T sao cho ở trạng thái T[j] là vị
trí xuất hiện đầu tiên của block tương ứng với
số nguyên j, 0 ≤ j ≤ 2L


-1. Q khối đầu tiên của
S(n) được dùng để tạo bảng T; còn Q được
chọn sao cho Q ≥ 10.2L<sub>. Số còn lại K khối </sub>


được dùng để xác định thống kê X .


1.Với mỗi i, Q+1 ≤ i ≤ Q+K; đặt Ai = i – T(bi)


với Ai là các vị trí kể từ khi xuất hiện các


block bi. Thống kê X được xác định là:



1
1
lg
<i>Q K</i>
<i>i</i>
<i>i Q</i>
<i>X</i> <i>A</i>
<i>k</i>

 


</div>
<span class='text_page_counter'>(3)</span><div class='page_container' data-page=3>

<i>Nguyễn Đức Toàn và Đtg </i> Tạp chí KHOA HỌC & CƠNG NGHỆ 162(02): 47 - 50


49
Số K thường chọn ít nhất là bằng 103


.2L
(K ≥103


.2L).
Do đó S(n)


nên có độ dài n ≥ 1010.2L.L
Nếu dãy S(n)


là hoàn tồn ngẫu nhiên (độc lập
và có phân bố đều) thì giá trị trung bình µ và
phương sai σ2


của nó được cho ở bảng sau


đây (phụ thuộc vào số L)


<i><b>L </b></i> <i><b>µ </b></i> <i><b>σ</b><b>2</b></i>


1 0,7326495 0,600
2 1,5374383 1,338
3 2,4016068 1,901
4 3,3112247 2,358
5 4,2534266 2,705
6 5,2177052 2,954
7 6,1962507 3,125
8 7,1836656 3,238
<i><b>Ta có khẳng định sau: </b></i>


Nếu S(n)


là mẫu được lấy từ thiết bị sinh hồn
tồn ngẫu nhiên thì đại lượng ngẫu nhiên:


<i>G</i>


<i>X</i>



<i>Y</i>

µ



2







<i>G</i>



Có phân bố chuẩn N(0,1) khi n → +∞.


<i><b>Thuật tốn tính X ở (1): </b></i>


<i>Input: dãy S(n) = S0, S1, S2,..., Sn-1. Độ dài n và </i>


<i>các tham số L,Q,K. </i>


<i>Output: Giá trị thống kê X. </i>


<i>Step1. Cho bảng T bằng 0: Đối với j </i>
<i>chạy từ 0 đến 2L</i>


<i>-1: T[J]← 0. </i>


<i>Step2. Khởi tạo bảng T: Với i chạy từ </i>
<i>1 đến Q: T[bi] ←i. </i>


<i>Step3. Sum ← 0. </i>


<i>Step4. Đối với i = Q+1 đến Q+K hãy </i>
<i>thực hiện: </i>


<i>4.1 Sum ← Sum + lg (i-T[bi] </i>


<i>4.2 T[bi] ←i </i>


<i>Step5. X ←Sum/K, </i>



<i>Step6. Return(X) và kết thúc. </i>
NHẬNXÉTVÀKẾTLUẬN


Qua ví dụ vừa được trình bày, chúng ta thấy
rằng so với tiêu chuẩn 1,2,3 thì tiêu chuẩn


trình bày ở trên mạnh hơn, theo nghĩa nếu
mẫu đưa ra kiểm tra mà bị vi phạm tiêu chuẩn
thì nó cũng vi phạm các tiêu chuẩn vừa được
nêu; Ngược lại mẫu đưa ra kiểm tra bị vi
phạm một trong hai tiêu chuẩn mới nhưng có
thể qua được tiêu chuẩn trên.


Mặt khác, khi ứng dụng tiêu chuẩn mới (đặc
biệt là tiêu chuẩn 2) chúng ta không cần quan
tâm đến hàm phân bố của họ và có thể áp
dụng cho dãy bit giả ngẫu nhiên tùy ý.


Các giá trị của ngưỡng có thể tự lập bảng dễ
dàng ứng với độ dài n của mẫu và giá trị α (α
thường lấy các giá trị sau đây : 0,1; 0,01 ;
0,001 ; 0,05 ; 0,005).


Tuy nhiên, đây là những tiêu chuẩn mới nên
cần có thời gian để khẳng định được tính ưu
việt của chúng. Do đó theo tác giả, chúng ta
có thể vẫn ứng dụng các tiêu chuẩn đã được
cơng bố và khi có sự nghi ngờ thì ta áp dụng
tiêu chuẩn trên.



TÀILIỆUTHAMKHẢO


1. Alfred J. Menezes, Paul C. van Oorschot, Scott
A. Vanstone, "Handbook of APPLIED
CRYPTOGRAPHY" CRC Press 1999.


2. C. R. Rao, "Linear Statisticcal Methods and
their Applications". Mockba 1968.


3. E. D. Erdmann, "Empirical tests of binary
keystreams", (Masters Thesis, Department of
Mathematics, Royal Hollway and Bedford New
College, University of London, 1992).


4. Kenneth H. Rosen, "Discrete Mathematics and
Its Applications". AT&T Bell Laboratories.
5. P. Elias, "The Efficient Construction of An
Unbiased Random Sequence". The Annals of
Mathematical Statistics", 43 (19920).


6."Probability Theory and Its
Applications".Volume XXXII, 1987. (bản dịch từ
tiếng Nga).


7."Probability Theory and Its Applications".Volume:
XXXIII 4/1988, (pp.804 - 916).


</div>
<span class='text_page_counter'>(4)</span><div class='page_container' data-page=4>

<i>Nguyễn Đức Tồn và Đtg </i> Tạp chí KHOA HỌC & CÔNG NGHỆ 162(02): 47 - 50



50


SUMMARY


<b>ONE QUALITY ASSESSMENT CRITERIA PSEUDORANDOM BIT SEQUENCE </b>


<b>Nguyen Duc Toan1*, Nguyen Van Tao2, Bui The Hong3 </b>


<i>1</i>


<i>College of Food Industry, </i>


<i>2</i>


<i>College of Information and Communication Technology, </i>


<i>3</i>


<i>Hung Yen University of Technology and Education</i>


This paper gives a quality gauge of pseudo-random bit sequence generated from a device
(algorithm) certain students. Thereby assess whether the pseudo-random bit sequence with quality
assurance for applications in cryptography or not? Quality here is understood as independent
statistical sequence and ident ically distributed.


<b>Keywords.</b><i>Cryptography , equipment delivery, pseudo-random bit sequence</i>


<i> </i>





*


</div>

<!--links-->

×