1. Trang chủ
  2. » Công Nghệ Thông Tin

Bài giảng mã hóa đối xứng hiện đại

27 169 0
Tài liệu được quét OCR, nội dung có thể không chính xác

Đang tải... (xem toàn văn)

Tài liệu hạn chế xem trước, để xem đầy đủ mời bạn chọn Tải xuống

THÔNG TIN TÀI LIỆU

Thông tin cơ bản

Định dạng
Số trang 27
Dung lượng 5,6 MB

Nội dung

Trang 1

BAO MAT THONG TIN

— BÀI:

Trang 3

ra ăăằă=

— Mã hóa cô điển

= ban tin ngôn ngữ,

= mot don v1 ma hoa 1a chi cai,

= phuong thirc thay thé hay phương thức hoán vị — Thong tin ngay ngay nay

= HTML, hinh anh, video, am thanh

=> Biéu dién trén may vi tính dưới dạng một dãy các số nhị

phân

Trang 5

OH Nem TT E10 606i

Vi du ma hoa đôi xứng hiện đại

Trang 6

Of Nentonecbent steer — Giả sử dùng một khóa K gém 4 bit 0101 để mã hóa bản rõ trên băng phép XOR ®: “= bản rõ: 1111 0000 0011 (head) = khóa: 0101 0101 0101 “ bản mã: 1010 0101 0110 (FBCG)

— Đơn vị mã hóa không phải là một khôi 4 bít

Trang 7

Of Nentonecbent steer

— Mã hóa bang phép XOR: s Khóa được lặp lại:

« => điểm yếu giống như mã hóa Vigenere

-Ổ Khắc phục: dùng một bộ sinh số ngẫu nhiên để tạo khóa dài,

gia lap ma hoa One-Time pad

= Một khối được mã hóa băng phép XOR với khóa:

° => Khơng an tồn vì chỉ cần biết một cặp khối bản rõ - bản mã

(vd: 1111 và 1010) => dễ dàng tính được khóa

Trang 8

fos Ma dong (Stream Cipher)

— Ma dong co cac dac tinh sau:

e Kich thuéc mét đơn vị mã hóa: gôm k bít Bản rõ được chia thành các don vị mã hóa: P —> PạØ1P; Pn—1 (P; : k bít)

e_ Một bộ sinh dãy số ngẫu nhiên: dùng một khóa K ban đầu đề sinh ra các số

ngẫu nhiên có kích thước bằng kích thước đơn vị mã hóa:

StreamCipher(K) —> S = saS4S2 Sn_+ - (S¡: k bít)

e Moi so ngau nhién được XOR với đơn vị mã hóa của bản rõ để có được

bản mã

Trang 9

fos Ma dong (Stream Cipher)

— Giai ma => thuc hién ngugc lại

= Banma C được XOR với dãy số ngẫu nhiên S để cho ra lại bản rõ ban đâu: Po = Co @ So, P1 = C1 D 54 - Trong ví dụ trên đơn vị mã hóa có chiều dài k = 4 bit, n = 3: Do = 1111, p, = 0000, p, = 0011 Sg = 8, = $2 =K =0101 cạ = 1010, c, = 0101, c, = 0110

— Vi du nay khong phai la ma dong vi sO, s1, s2 lặp lại khóa K

Trang 10

fos Ma dong (Stream Cipher)

— Với mã dòng, các sô s, được sinh ra phải đảm bảo một độ ngau nhiên nào đó (chu ky tuần hoàn đài) P Do Dị ws Pn-t tulad mm | C Co C1 " Cn-1 Mõ hình mã dòng

— Khóa có chiều dài ngăn: Vigenere => khơng bảo đảm an tồn

— Khóa có chiêu dài băng chiều dài bản tin: One-Time Pad => không thực tê

— Mã dòng cân băng giữa hai điêm này => khóa ngắn nhưng dãy sô sinh ra bảo đảm một độ ngâu nhiên cân thiệt như khóa của One-time Pad, dùng răng khơng hồn tồn thực sự ngâu ie

Trang 11

6s em ae

— A5/1 được dùng trong mạng điện thoại GSM, dé bao mat dit liệu trong quá trình liên lạc giữa máy điện thoại và trạm thu phát sóng võ tuyên

— Đơn vị mã hóa của A5/1 là một bít

— Bộ sinh số mỗi lần sẽ sinh ra hoặc bít 0 hoặc bít 1 để sử dụng

Trang 12

5 Se

— Mô hình thu nhỏ của A5/1 gọi là TinyA5/1

— Cơ chế thực hiện của bộ sinh số TinyA5/1 là như sau: — Bộ sinh số gom 3 thanh ghi X, Y, Z

= Thanh ghi X gom 6 bit, ky hiéu 1a (Xp, Xj, ., X‹)

= Thanh ghi Y gôm 8 bit (Yo Yq: ., Y2)

= Thanh ghi Z lưu 9 bit (Zo, Z¿, , Zạ)

— Khóa K ban đầu có chiêu dài 23 bít và lần lượt được phân bố

Trang 14

fos TinyA5/1

— Hàm maj(x, y, z) nêu trong 3 bít x, y, z có từ hai bít 0 trở lên thì hảm trả về giá trị 0, nêu không hàm trả về giá trị 1 — Tại bước sinh số thứ 1, các phép tính sau được thực hiện:

= m=maj(X,, y3, Z3)

= If x, =m then thuc hién quay X = Iƒ ya=m then thực hiện quay Y = If z,=m then thực hiện quay Z

— Và bít được sinh ra là: $S¡Z xs ® y7Œ Ze

— Bít s; được XOR với bít thứ ¡ trong bản rõ để có được bít thứ i

Trang 15

VỊ dụ: mã hóa bản rõ P=III (chữ h) với khóa K là 100101 01001110.100110000

Trang 16

6mm ae

— A5/1 hoạt động giỗng như TinyA5/1

Trang 17

1mm

— Hàm mai được tính trên 3 bít xạ, Y¡o; Z¡ạ Sau khi quay xong bít sinh ra là: s¡ = xis @ y21® Z2z

Trang 18

— RC4 được dùng trong giao thức SSL để bảo mật dữ liệu trong quá trình truyền đữ liệu giữa Web Server và trình duyệt Web — RC4 còn được sử dụng trong mã hóa WEP của mạng WIreless

Trang 19

5 Sco

— Là mô hình thu nhỏ của RC4

— Đơn vị mã hóa của TinyRC4 la 3 bit

— TinyRC4 dung 2 mang S va T mỗi mảng gơm § số ngun 3 bít (từ 0 đên 7)

— Khóa là một dãy gồm N sô nguyên 3 bít với N có thể lấy giá trị

từ I đên 8 Bộ sinh sô môi lân sinh ra 3 bít đê sử dụng trong phép XOR

Trang 20

fos TinyRC4 a) Giai đoạn khởi tạo /* Khoi tao day so S5 va T */ for 1 = 9 to 7 do S[i] = 1; T[i] = K[i mod N]; next i /* Hoan vi day S */ J= 9; for 1 = 9 to 7 do j = (j + S[i] + T[i]) mod 8; Swap(S[i], S[j]); next i

Trang 22

fos TinyRC4 b) Giai doan sinh sé: i, Jj = 9; while (true) i = (i + 1) mod 8; j = (j + S[i]) mod 8; Swap (S[iJ, S[j]); t = (S[i] + S[j]) mod 8; k = S[t]; end while;

— Cac phan tử của S tiếp tục được hoán vị

—_ Tại mỗi bước sinh sô, hai phân tử của dãy S được chọn đê tính

ra số k 3 bít là số được dùng để XOR với đơn vị mã hóa của

Trang 24

public static int[] cryptRC4(int S[], int T[], int K[], int N) {

// Giai đoạn khởi tạo

Trang 26

— Cơ chế hoạt động của RC4 cũng giông như TinyRC4 với các đặc tính sau:

= Don vi ma hoa của RC4 là một byte 8 bít = Mang S va T gồm 256 so nguyên 8 bit

s Khóa K là một dãy gom N so nguyén 8 bit voi N có thé lay

gia tri ty 1 dén 256

Trang 27

Bi naaaaa=n

— Hai giai doan cua RC4 la:

a) Giai doan khoi tao: /* Khoi tao day S va T*/ for i = 0 to 255 do S[i] = 1; T[i] = K[i mod N]; next i /* Hoan vi day S */ J= 9; for i = 8 to 255 do j = (j + SLi] + TLi]) mod 256; Swap(S[i], S[j]); next i b) Giai doan sinh số: i, j = 9; while (true) i = (i + 1) mod 256; j = (j + S[i]) mod 256; Swap (S[i], S[j]); t = (S[i] + S[j]) mod 256; k = S[t]; end while;

— Quá trình sinh số của RC4 cũng sinh ra dãy số ngẫu nhiên, khó

Ngày đăng: 03/01/2018, 15:51

TỪ KHÓA LIÊN QUAN

w