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

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

27 172 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

Các công cụ chuyển đổi và chỉnh sửa cho tài liệu này

Nội dung

-Ổ 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.. fos Ma dong Stream Cipher — Giai ma => thuc hién ngugc lại = Banma C được XOR với dãy số ngẫu

Trang 1

BAO MAT THONG TIN

- Ẩ? 2 NA HÓA ĐÓI XỨNG

HIỆN ĐẠI

Trang 2

Of yee

TinyA5S/1 A5/1

TinyRC4 RC4

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

= Trong máy tính: chữ cái được biểu diễn bang ma ASCII

Trang 5

OH Nem TT E10 606i

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

— Bản rõ là các chữ cái của một ngôn ngữ gôm có 8 chữ cái A,

B,C, D,E,EF,G, H trong đó môi chữ cái được biêu diên băng 3

Trang 6

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

— Đê giải mã, lây bản mã XOR một lần nữa với khóa thì có lại

bản rõ ban đâu

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 toà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

° Khắc phục: tìm các phép mã hóa phức tạp hơn phép XOR

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ã

Co = Po €® Sọ, C¡ = Pìị Đ5ị Ồ ;C = CoC1C¿ Cn—1

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:

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

— Về phương diện khóa, ví dụ này giỗng ma Vigenere ©

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)

— Khóa có chiều dài ngăn: Vigenere => không bảo đảm an toà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 hoàn toà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

trong phép XOR

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ố

vào các thanh ghi: K -> XYZ

Trang 14

= 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

trong bản mã theo quy tặc của mã dòng

Trang 15

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

Ban đâu giá trị của các thanh phi X, Y, Z lả:

X= 100101

Y = 01001110

Z = 100110000 Bước 0: x;= 0, y;=0, z;= Ì —> m = 0 — quay X, quay Y

X = 110010

Y = 10100111 —> So= 001890 = 1

Z = 100110000 Buoe 1: x;= 1, y3=0, z3= 1 > m=1- quay X, quay Z

Trang 16

6mm ae

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

— Kích thước thanh ghi X, Y, Z lân lượt là 19, 22 và 23 bít

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 LAN

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ố nguyên 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

— Quá trình sinh số của TinyRC4 gồm hai giai đoạn:

Trang 21

- - Khởi tạo § và T - Hoán vị S

Trang 22

— 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

bản rõ

Trang 23

- Tiếp tục ví dụ trên, quá trình sinh số mã hóa bản rõ “bag” thuc hiện:

Trang 24

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

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

for (int i = 0; i < 8; i++) {

Trang 25

System.out.printLn("Giai doan sinh sé: ");

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

= Bộ sinh số mỗi lần sinh ra một byte để sử dụng trong phép XOR

Trang 27

Bi naaaaa=n

— Hai giai doan cua RC4 la:

a) Giai doan khoi tao:

— 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

🧩 Sản phẩm bạn có thể quan tâm

w