Một trong những phương pháp mật mã hóa hiện đại là mật mã khóa công khai. Phương pháp mật mã này ứng dụng tính chất đặc biệt của các hàm bẫy sập một chiều để tăng độ khó và gây cản trở hoạt động của thám mã. Hệ mật mã khóa công khai dựa trên logarit rời rạc được dùng khá phổ biến và được gọi là hệ mật mã Elgamal.
Thuật toán: Mỗi đầu liên lạc tạo một khóa công khai và một khóa bí mật tương ứng Bước 1: Tạo một số nguyên tố p và một phần tử sinh α
Bước 2: Chọn một số ngẫu nhiên a: 1≤ a ≥ p-2 và tính αa mod p
Bước 3: Khóa công khai là bộ 3 số (p, α, αa), khóa bí mật là a
Nơi thu hợp lệ biết được a sẽ suy diễn ra được bản ghi gốc. Các bước mã hóa:
Bước 1: Nhập khóa công khai
Bước 2: Biểu diễn bản tin dưới dạng tập hợp các số nguyên {1,1,…p-1}
Chọn số ngẫu nhiên k: 1≤ k≥ p-2
Tính 2 phần của bản mã: y1= αk mod p; y2= x* β kmod p (đánh dấu bản gốc)
Gửi bản tin đã được mã hóa = (y1,y2)
Các bước giải mã:
CHƯƠNG 4: XỬ LÝ SỐ LIỆU TRUYỀN
52
Khôi phục bản gốc = y2* y-a mod p
Nơi thu hợp lệ biết được a sẽ suy diễn ra được β k từ αk sau đó sẽ chia y2 cho β k để được x
Ví dụ 1: Giả sử muốn gửi bản tin x = 1299 được mã hóa công khai
Nhập khóa công khai: p = 2579, cho α = 2, a = 765, β = 2765 mod 2579 = 949 (β = α a)
Biểu diễn bản tin bởi bộ 3 (p= 2579, α=2, β=949) là các khóa công khai, a là khóa bí mật Chọn số ngẫu nhiên k = 853
Tính y1, y2:
y1= 2853 mod 2579 = 435 (phần thứ nhất gửi đi)
y2= 1299*949853 mod 2579 =2396 (phần thứ hai gửi đi)
- Bản tin được mã hóa và truyền đi là (435, 2396)
- Giải mã như sau: Ở đầu thu khi nhận được bản mã y =(435,2396) sẽ sử dụng mã bí
mật a = 765 để tính ra bản gốc như sau
Tính Y1p-1-a = 435-765 mod 2579 ( = y1-a)
Bản gốc là X = 2396*435-765 mod 2579 = 1299
Ví dụ 2:Giả sử muốn gửi bản tin x = 2305 được mã hóa công khai
Nhập khóa công khai: p = 2357, α = 2, a = 1751, β = 21751 mod 2357 = 1185 (β = α a)
Biểu diễn bản tin bởi bộ 3 (p= 2357, α=2, β=1185) là các khóa công khai, a là khóa bí mật Chọn số ngẫu nhiên k = 1520
Tính y1, y2:
y1= 21520 mod 2357 = 1430 (phần thứ nhất gửi đi) y2= 2035*11851250mod 2357 = 697 (phần thứ hai gửi đi) Bản tin được mã hóa và truyền đi là (1430, 697)
- Giải mã như sau: Ở đầu thu khi nhận được bản mã y = (1430, 697) sẽ sử dụng mã bí
mật a = 1751 để tính ra bản gốc như sau
Tính Y1p-1-a = 1430-1751 mod 2357 ( = y1-a)
CHƯƠNG 4: XỬ LÝ SỐ LIỆU TRUYỀN
53
BÀI TẬPCHƯƠNG 4
Câu 1: Dùng phương pháp mã hóa dữ liệu NRZ, Manchester, Manchester vi sai để mã hóa dữ liệu sau: KT?
Câu 2: Dùng phương pháp mã hóa dữ liệu B8ZS, HDB3, AMI để mã hóa dữ liệu sau: CT? Câu 3: Hãy sử dụng phương pháp kiểm tra CRC để thực hiện truyền dữ liệu sau :
11000111100100) , với đa thức sinh : 1001?
Câu 4: Hãy sử dụng phương pháp phát hiện và sửa sai theo Hamming để xử lý số liệu truyền sau đây: giả sử dữ liệu cần truyền : 01000100 , số liệu nhận được tại máy thu : 01010100? Câu 5: Hãy sử dụng phương pháp nén theo mã Huffman để xử lý số liệu truyền sau đây: giả sử dữ liệu cần nén: PASSWORD. Tính lượng bit trung bình tối thiểu trên một từ mã, và vẽ sơ đồ cấu trúc cây mã Huffman?
Câu 6: Tính suy hao giữa hai trạm viễn thông ở quận 1 và quận 5 với khoảng cách 5 km, suy hao trên dây dẫn: 3 db / km , công suất phát của tín hiệu tại quận 1 : 5 w . Tính suất tín hiệu nhận được tại quận 5 là bao nhiêu?
CHƯƠNG 5: NGHI THỨC CƠ SỎ VÀ NT ĐIỀU KHIỂN LIÊN KẾT DỮ LIỆU
54
CHƯƠNG 5
NGHI THỨC CƠ SỞ VÀ NGHI THỨC ĐIỀU KHIỂN LIÊN KẾT SỐ LIỆU
Trang bị cho sinh viên: Các vấn đề kiểm soát lỗi và các nghi thức lớp liên kết dữ liệu.