Bài giảng Kỹ thuật truyền số liệu - Chương 8: Tìm đường trong mạng chuyển mạch phần tiếp theo trình bày các nội dung liên quan đến vấn đề nén và mã hóa dữ liệu bao gồm: Nén dữ liệu, mã hóa dữ liệu. Hi vọng đây sẽ là một tài liệu hữu ích dành cho các bạn sinh viên Công nghệ thông tin dùng làm tài liệu tham khảo phục vụ học tập và nghiên cứu.
Trang 1TP.HCM
2008
dce
Nén và mã hóa d ữ liệu
Nén d ữ liệu
Mã hóa d ữ liệu
Trang 2dce
Nén d ữ liệu
Run-length encoding (packed decimal)
Là phương pháp rất đơn giản sử dụng cho dạng
d ữ liệu mà trong đó chứa nhiều chuỗi dữ liệu
gi ống nhau
S ử dụng các chữ số để thể hiện số lần lặp của chu ỗi ký thự đó
Ví d ụ:
chu ỗi wwwwbbbbcccccdd có thể được biểu diễn như sau: 4w4b6c2d
Trang 3dce
Nén d ữ liệu
Differenial encoding (relative encoding)
Ch ỉ gửi phần thay đổi so với giá trị cũ
‘+’
End-of-value delimiters
+3
All difference values binary-encoded
in a single (signed) byte
Trang 4dce
Nén d ữ liệu
Huffman encoding (Statistical Methods)
Đặc điểm
Đây là mã thống kê (phương pháp nén mã tối ưu)
Mã hóa dựa trên xác suất sử dụng của các ký tự
Những ký tự được dùng nhiều nhất sẽ có từ mã ngắn nhất Không có tính prefix
Gi ải thuật
Sắp xếp các nguồn tin có xác suất giảm dần
Một cặp bit 0-1 được gán cho 2 nguồn tin có xác suất nhỏ nhất
2 nguồn tin này được kết hợp, tạo thành nguồn tin mới có xác suất
bằng tổng xác suất của 2 nguồn tin thành phần
Sắp xếp lại các nguồn tin theo thứ tự giảm dần của xác suất Quá trình trên được lặp lại đến khi 2 nguồn tin cuối cùng được kết hợp
Từ mã cho mỗi nguồn tin được viết theo thứ tự từ gốc đến ngọn
Trang 5dce
Nén d ữ liệu
Huffman encoding (Statistical Methods)
Chi ều dài từ mã trung bình Lavg = Σ li x pi
li : chi ều dài nguồn tin Xi
pi : xác su ất xuất nguồn tin Xi
Trang 6dce
CT
25
Prob 0.21 24
26
0.17 0.15
23 0.12
27
22
0.10 0.06
28 0.05
21
29
0.05 0.04
20 0.03
30 0.02
0 1
0.05 0.04
0 1
0.05 0.05
0 1
0.09 0.06
0 1
0.10 0.10
0 1
0.15 0.12
0 1
0.17 0.15
0 1
0.21 0.2
0 1
0.32 0.27
0 1
0.59 0.41
0 1
0.09 0.06
0.10
0.15 0.12
0.20 0.17 0.15
0.27 0.21 0.20
0.32 0.27
0.41
25 24 26 23 27 22 28 21 29 20 30
CT
0 1 0 0 0 1
Huffman code
0 1 0 0 0 0
0 1 0 0 1
1 1 1 1
1 1 1 0
0 1 0 1
1 1 0
0 1 1
0 0 1
0 0 0
1 0
21 23 29 27 29
25 20 15 10 5
Probability distribution
Lavg=2.0,21+3.0,17+3.0,15+3.0,12+3.0,1+4.0,06+4.0,05+4.0,05+
5.0,04+6.0.03+6.0,02 = 3,18 bits
Nén d ữ liệu
Huffman Code
Trang 7dce
Nén d ữ liệu
Shannon-Fano encoding (Statistical Methods)
Đặc điểm
Mã t ối ưu Không có tính prefix
Gi ải thuật
S ắp xếp các nguồn tin theo thứ tự giảm dần về xác suất Chia các ngu ồn tin thành hai phần có xác suất xấp xỉ nhau và gán 0 cho ph ần trên, gán 1 cho phần dưới
L ặp lại bước trên cho mỗi phần cho đến khi chỉ còn một ngu ồn tin
Ghi ra các t ừ mã
Trang 8dce
Nén d ữ liệu
Shannon – Fano
Các nguồn tin và xác suất xuất hiện của các nguồn tin tương ứng X1 (30%), X2 (20%), X3 (10%), X4 (10%), X5 (20%), X6 (5%), X7 (3%), X8 (2%)
Lavg = 2.0,3+2.0,2+3.0,2+3.0,1+3.0,1+4.0,05+5.0,03+5.0,02 = 2,65 bits
Initial Sorted Shannon-Fano code Code word STT
Xi % Xi % Step 1 Step 2 Step 3 Step 4 Step 5
7 X7 3 X7 3 1 1 1 1 0 11110
8 X8 2 X8 2 1 1 1 1 1 11111
Trang 9dce
M ật mã hóa số liệu
T ại sao đường truyền số liệu một số ứng dụng cần
ph ải bảo mật ?
Ví d ụ: Quốc phòng, ngân hàng … Phương pháp mật mã:
M ật mã cổ điển
M ật mã khóa công khai
Trang 10dce
M ật mã hóa số liệu
M ật mã hóa cổ điển
M ột hệ thống mật mã hóa cổ điển là một tập có 5 thành
ph ần (P,C,K,E,D) trong đó:
P là tập hữu hạn các bản gốc có thể
C là tập hữu hạn các bản mã có thể
K là tập khóa có thể Đối với mỗi k ∈ K
– Có m ột luật mật mã ek: P→C (ek∈E) – Có m ột luật giải mã tương ứng dk: C→P(dk∈D) – ek và dk: là nh ững ánh xạ sao cho: dk (ek(x))=x ∀ x ∈ P Các phương pháp mật mã cổ điển:
Mã dịch vòng, Mã thay thế, mã Affine…
Trang 11dce
M ật mã hóa số liệu
M ật mã hóa cổ điển Phương pháp mã dịch vòng
Cơ sở là phép toán modulo
Ví d ụ: Mật mã trên bộ chử cái tiếng Anh gồm 26 chữ cái
ek(x)=x + K mod 26
dk(y)=y – K mod 26
Trang 12dce
M ật mã hóa số liệu
M ật mã hóa cổ điển Phương pháp mã dịch vòng
Ví d ụ:
Văn bản gốc: gonewiththewind Khóa của mã dịch vòng là 9 Đổi văn bản gốc thành các số nguyên
Cộng thêm 9 vào mỗi giá trị rồi modulo 26
Trang 13dce
M ật mã hóa số liệu
M ật mã hóa công khai
tin mật mà không cần phải trao đổi các khóa bí mật trước đó
Sử dụng một cặp khóa có quan hệ toán học với nhau là khóa công khai
và khóa cá nhân (hay khóa bí mật)
Thuật ngữ m ật mã hóa khóa bất đối xứng thường được dùng đồng nghĩa
đương)
Hệ thống mật mã hóa khóa công khai có thể dùng với các mục đích:
Mã hóa
T ạo chữ ký số
Th ỏa thuận khóa
RSA (1977: - Ron Rivest, Adi Shamir, and Leonard Adleman at MIT)
Diffie-Hellman algorithm (1975: Whitfield Diffie and Martin Hellman)
Trang 14dce
M ật mã hóa số liệu
M ật mã hóa công khai
Mã hóa
Trang 15dce
M ật mã hóa số liệu
M ật mã hóa công khai
T ạo chữ ký số
Trang 16dce
M ật mã hóa số liệu
M ật mã hóa công khai
Th ỏa thuận khóa
Trang 17dce
Đọc thêm
• Information Theory, Robert B.Ash
• Introduction to Information Theory, Masud
Mansuripur
• www.wikipedia.org
©2008, Dr Dinh Duc Anh Vu 17
Data Communication and Computer Networks