Khóa mã là chuỗi ký tự

Một phần của tài liệu Bảo mật trong WiMAX và thuật toán mã hóa AES_ Có Code (Trang 73 - 81)

Tấn công 1 byte

Hình 4.12. Tấn công 1 byte với khóa mã là chuỗi ký tự Thứ tự các khóa mã đƣợc kiểm tra nhƣ sau

dai hoc bachkho` dai hoc bachkhoa

Chương 4: Chương trình mô phỏng thuật toán mã hóa AES

Đồ án tốt nghiệp Trang 66

Hình 4.13. Tấn công 2 byte với khóa mã là chuỗi ký tự Thứ tự các khóa mã đƣợc kiểm tra nhƣ sau

dai hoc bachkho dai hoc bachkho! dai hoc bachkho " dai hoc bachkho #

dai hoc bachkho$ dai hoc bachkho% dai hoc bachkho& dai hoc bachkho'

dai hoc bachkho( dai hoc bachkho) dai hoc bachkho* dai hoc bachkho+

dai hoc bachkho, dai hoc bachkho- dai hoc bachkho. dai hoc bachkho/

dai hoc bachkho0 dai hoc bachkho1 dai hoc bachkho2 dai hoc bachkho3

dai hoc bachkho4 dai hoc bachkho5 dai hoc bachkho6 dai hoc bachkho7

dai hoc bachkho8 dai hoc bachkho9 dai hoc bachkho: dai hoc bachkho;

dai hoc bachkho< dai hoc bachkho= dai hoc bachkho> dai hoc bachkho?

dai hoc bachkho@ dai hoc bachkhoA dai hoc bachkhoB dai hoc bachkhoC

dai hoc bachkhoD dai hoc bachkhoE dai hoc bachkhoF dai hoc bachkhoG

dai hoc bachkhoH dai hoc bachkhoI dai hoc bachkhoJ dai hoc bachkhoK

dai hoc bachkhoL dai hoc bachkhoM dai hoc bachkhoN dai hoc bachkhoO

dai hoc bachkhoP dai hoc bachkhoQ dai hoc bachkhoR dai hoc bachkhoS

dai hoc bachkhoT dai hoc bachkhoU dai hoc bachkhoV dai hoc bachkhoW

Chương 4: Chương trình mô phỏng thuật toán mã hóa AES

Đồ án tốt nghiệp Trang 67

dai hoc bachkho\ dai hoc bachkho] dai hoc bachkho^ dai hoc bachkho_

dai hoc bachkho` dai hoc bachkhoa

4.6.2.2 Nhận xét

Việc tấn công để tìm ra khóa mã trong trƣờng hợp khóa mã có độ dài đúng bằng 128 bit thì thời gian để tìm ra một khóa là nhiều hơn so với các trƣờng hợp trên. Lý do là khóa mã sẽ phải lần lƣợc kiểm tra từng giá trị một. Khóa mã sẽ bắt đầu kiểm tra hai byte cuối của chuỗi ký tự là 20H và 00H đối với chuỗi hexa cho đến khi tìm đƣợc khóa mã chính xác.

4.7 Kết luận chƣơng

Sau khi thực hiện chƣơng này ta đã hình dung đƣợc tính an toàn của thuật toán mã hóa AES. Trong trƣờng hợp khá đơn giản là đã thu đƣợc gần nhƣ tất cả các bản tin mà thời gian tìm ra khóa mã chính xác là lớn hơn nhiều so với thời gian thực hiện việc mã hóa và giải mã. Trong thực tế ta phải đi tìm đầy đủ 128 bít khóa mã.

Kết luận và hƣớng phát triển đề tài

Đồ án tốt nghiệp Trang 68

KẾT LUẬN VÀ HƢỚNG PHÁT TRIỂN ĐỀ TÀI (adsbygoogle = window.adsbygoogle || []).push({});

Bảo mật thông tin là một vấn đề lớn đƣợc quan tâm không chỉ trong lĩnh vực quân sự mà còn trong lĩnh vực kinh doanh cũng nhƣ giữ bí mật các thông tin cá nhân. Với sự phát triển mạnh mẽ về khoa học công nghệ và các hệ thống không dây thì vấn đề bảo mật ngày càng đƣợc chú trọng và phát triển. Bảo đảm bí mật thông tin trở thành một vấn đề không thể thiếu khi nói đến giao dịch trên Internet.

Đối với ngƣời nghiên cứu về bảo mật thì quá trình chứng thực và trao đổi khóa trong mạng là vô cùng quan trọng. Thông qua tìm hiểu cấu trúc khung của các bản tin giúp cho ngƣời làm bảo mật có thể phát hiện các tấn công từ bên ngoài hay là các sự cố xảy ra trong mạng. Từ đó có thể đảm bảo cho hệ thống an toàn hơn.

Với các ƣu điểm nổi bật, tiêu chuẩn mã hóa tiên tiến (AES) đã chứng tỏ đây chính là một tiêu chuẩn đáp ứng đƣợc các yêu cầu mật mã dữ liệu của thời đại mới. Việc tấn công để phá thuật toán này chỉ đƣợc các nhà khoa học đƣa ra trên lý thuyết và đang còn nhiều vấn đề gây tranh cãi. Tuy hiện nay thuật toán AES đƣợc coi là an toàn nhƣng với sự phát triển mạnh mẽ trong lĩnh vực công nghệ thông tin và viễn thông nhƣ hiện nay thì không có một thuật toán nào đảm bảo an toàn trong tƣơng lai.

Tuy nhiên vấn đề bảo mật còn rất nhiều điều cần phải tìm hiểu. Qua quá trình thực hiện đồ án, em có một số đề xuất cho hƣớng nghiên cứu tiếp theo của đề tài: - Nghiên cứu mô phỏng quá trình chứng thực và trao đổi khóa trên phần mềm NS2. - Nghiên cứu khả năng tối ƣu hóa tốc độ tính toán của thuật toán AES.

- Nghiên cứu khả năng ứng dụng và thực hiện AES trên các sản phẩm viễn thông thực tế.

- Nghiên cứu khả năng ứng dụng thuật toán AES trên các chip lập trình đƣợc (FPGA hoặc CPLD).

Tài liệu tham khảo

Đồ án tốt nghiệp Trang 69

TÀI LIỆU THAM KHẢO

[1] IEEE Std. 802.16-2004, “IEEE Standard for Local and Metropolitan Area Networks”, IEEE, 2004.

[2] Jeffrey G.Andrews, Arunabha Ghosh, Rias Muhamed, “Fundamentals of

WiMAX: Understanding Broadband Wireless Networking”, Courier in

Westford, Massachusetts, February 2007.

[3] N. D. Vasumathy, G. Velmathi, and N. Sklavos, “On the Rijndael

Encryption Algorithm Implementation with MATLAB Software

Programming”, University of Patras, Greece, 2001.

[4] Syed Ahson and Mohammad Ilyas, “WiMAX:standards and security”, Taylor&Francis Group, 2005.

[5] Advanced Encryption Standard (AES), http://csrc.nist.gov/encryption/aes/

[6] http://vi.wikipedia.org/wiki/WiMAX [7] http://www.scribd.com/

Phụ lục

Đồ án tốt nghiệp Trang 69

PHỤ LỤC

Hàm mã hóa

function state = cipher (t_in, w, n) t_in = kiem_tra_chuoi (t_in, n); if (n == 1) % chuoi ky tu t_in = double(t_in);

end

if (n == 2) % t_in chuoi HEXA t_in = chia_chuoi(t_in); t_in = hex2dec(t_in);

end

state = reshape (t_in, 4, 4); round_key = (w(1 : 4, :))';

state = add_round_key (state, round_key); for i = 1 : 9

state = sub_bytes (state, s_box_gen); state = shift_rows (state); (adsbygoogle = window.adsbygoogle || []).push({});

state = mix_columns (state);

round_key = (w((1:4) + 4*i, :))'; state = add_round_key (state, round_key); end

state = sub_bytes (state, s_box_gen); state = shift_rows (state);

round_key = (w(41:44, :))';

state = add_round_key (state, round_key); end

Hàm giải mã

Phụ lục

Đồ án tốt nghiệp Trang 70

if ( n == 1 ) % t_in la chuoi ky tu t_in = kiem_tra_chuoi (t_in,1);

t_in = double(t_in); end

if ( n == 2 ) % t_in la day so HEXA t_in = kiem_tra_chuoi(t_in, 2);

t_in = chia_chuoi (t_in); t_in = hex2dec(t_in); end

state = reshape (t_in, 4, 4); round_key = (w (41 : 44, :) )';

state = add_round_key (state,round_key); for i = 9 : -1 : 1

state = inv_shift_rows (state);

state = sub_bytes (state,s_box_inv(s_box_gen)); round_key = (w((1:4) + 4*i, :))';

state = add_round_key (state, round_key); state = inv_mix_columns (state);

end

state = inv_shift_rows (state);

state = sub_bytes (state, s_box_inv(s_box_gen)); round_key = (w(1:4, :))';

state = add_round_key (state, round_key); end

Hàm tấn công dùng phƣơng pháp Brute Force

function key = brute_force_attack(pt, s_pt, ct, k, s_k, n) ct = reshape (ct, 4, 4);

kx = k;

Phụ lục Đồ án tốt nghiệp Trang 71 for i = 0 : 1 : 15 if (s_k == 1) % ky tu -> HEXA kx = dec2hex(double(k),2); end kx(32) = dec2hex(i); if (s_k == 1) kx = ghep_chuoi_BFA(kx); end disp(kx); t = cipher(pt,key_expansion(kx,rcon_gen,s_k),s_pt); if (isequal(t,ct)==1) break; end end

else % 2 byte cuoi

% neu ta tan cong -> la chuoi HEXA : do tu 0->F % la chuoi KY TU: do tu 2->F : do la cac ky tu % co the nhap tu ban phim duoc

if (s_k == 1) d = 2; else d = 0; end for i = d : 1 : 15 for j = 0 : 1 : 15 if (s_k == 1) % ky tu -> HEXA kx = dec2hex(double(k),2); end if (s_k == 1)

Phụ lục Đồ án tốt nghiệp Trang 72 kx(16) = dec2hex(i); else kx(31) = dec2hex(i); end kx(32) = dec2hex(j); if (s_k == 1) kx = ghep_chuoi_BFA(kx); end disp(kx); t = cipher(pt,key_expansion(kx,rcon_gen,s_k),s_pt); if (isequal(t,ct)==1) break; end end if (isequal(t,ct)==1) break; end end end key = kx; end

(adsbygoogle = window.adsbygoogle || []).push({});

Một phần của tài liệu Bảo mật trong WiMAX và thuật toán mã hóa AES_ Có Code (Trang 73 - 81)