BÁO CÁO MÔN MẬT MÃ VÀ AN TOÀN DỮ LIỆU MỘT SỐ PHƯƠNG PHÁP MÃ HÓA ÂM THANH SỐ. Được phát triển bởi Joan Daemen và Vicent Rijnmen AES: làm việc với các khối dữ liệu đầu vào và đầu ra 128 bit, Khóa có độ dài 128, 192 hoặc 256 bit Rijndael: làm việc với dữ liệu và khóa có độ dài bất kỳ là bội số của 32 bit trong khoảng từ 128256 bit (128, 160, 192, 224, và 256 bít) > Có thể mã hóa các file có dung lượng lớn như âm thanh, video, ảnh,..
Trang 1Đề tài: MỘT SỐ PHƯƠNG PHÁP MÃ HÓA ÂM THANH SỐ
BÁO CÁO BÀI TẬP LỚN MẬT MÃ VÀ AN TOÀN DỮ LIỆU
BÁO CÁO BÀI TẬP LỚN MẬT MÃ VÀ AN TOÀN DỮ LIỆU
Giảng viên: PGS.TS Trịnh Nhật Tiến Học viên: Bùi Hương Giang – K20 Lớp: INT 6010 2
Mã HV: 13025155
Trang 2MỘT SỐ PHƯƠNG PHÁP MÃ HÓA ÂM THANH SỐ
Nội dung
I- Các phương pháp mã hóa âm thanh số
II- Demo
Phương pháp mã hóa Rijndael (AES)
Phương pháp mã hóa DES
Phương pháp mã hóa RC4
Trang 3I- Các phương pháp mã hóa âm thanh số
1-Phương pháp mã hóa Rijndael (AES)
Được phát triển bởi Joan Daemen và Vicent Rijnmen
AES: làm việc với các khối dữ liệu đầu vào và đầu ra 128 bit,
Khóa có độ dài 128, 192 hoặc 256 bit
Rijndael: làm việc với dữ liệu và khóa có độ dài bất kỳ là bội số
của 32 bit trong khoảng từ 128-256 bit (128, 160, 192, 224, và 256 bít)
-> Có thể mã hóa các file có dung lượng lớn như âm thanh, video, ảnh,
Mỗi khối dữ liệu 128 bit đầu vào được chia thành 16 byte (mỗi byte 8 bit),
có thể xếp thành 4 cột, mỗi cột 4 phần tử hay là một ma trận 4x4 của các byte,
nó được gọi là ma trận trạng thái
Giới thiệu
Trang 41-Phương pháp mã hóa Rijndael (AES)
I- Các phương pháp mã hóa âm thanh số
Mô tả thuật toán :
1- Khởi động vòng lặp
• AddRoundKey — Mỗi cột của trạng thái đầu tiên lần lượt được kết hợp với một khóa con
theo thứ tự từ đầu dãy khóa, sử dụng phép toán XOR (⊕)
2- Vòng lặp
• SubBytes — đây là phép thế (phi tuyến) trong đó mỗi byte trong trạng thái sẽ được thế
bằng một byte khác theo bảng tra ( Rijndael S-box ) : b ij = S(a ij )
Trang 5I- Các phương pháp mã hóa âm thanh số
1- Phương pháp mã hóa Rijndael (AES)
2- Vòng lặp (tiếp)
• ShiftRows — dịch chuyển, các hàng trong trạng thái được dịch vòng trái theo số bước khác nhau
•MixColumns — quá trình trộn làm việc theo các cột trong khối theo một phép biến đổi tuyến tính
Mỗi cột được nhân với một hệ số cố định
•AddRoundKey
Trang 6I- Các phương pháp mã hóa âm thanh số
1- Phương pháp mã hóa Rijndael (AES)
3- Vòng lặp cuối
•SubBytes
•ShiftRows
•AddRoundKey
Đánh giá thuật toán:
- Độ an toàn cao
- Hạn chế được các khóa yếu do sự khác nhau trong cấu trúc mã hóa,
thông qua phép XOR
- Thích hợp triển khai trên nhiều loại hệ thống khác nhau
không tận dụng được toàn bộ đoạn chương trình mã hóa
Trang 7I- Các phương pháp mã hóa âm thanh số
2- Phương pháp mã hóa DES
Là thuật toán mã hóa khối
Xử lý thông tin của bản rõ có độ dài xác định 64 bit
Độ dài khóa chỉ sử dụng 56 bit, số vòng lặp là 16
Nguyên lý:
1- Sử dụng một khóa k tạo ra n khóa con k 1, k 2, , k n 2- Hoán vị dữ liệu ban đầu
3- Thực hiện n vòng lặp, ở mỗi vòng lặp
+ Dữ liệu được chia thành 2 phần + Áp dụng phép toán thay thế lên một phần, phần còn lại giữ nguyên + Hoán vị 2 phần cho nhau
4- Hoán vị dữ liệu bước cuối
Giới thiệu
Trang 8I- Các phương pháp mã hóa âm thanh số
2- Phương pháp mã hóa DES
Mô tả giải thuật
- Có 16 chu trình giống nhau trong quá trình xử lý
- Có 2 lần hoán vị đầu và cuối (IP & FP)
- Khối thông tin 64 bit trước khi vào chu trình được chia
làm 2 phần và sẽ được xử lý tuần tự thông qua hàm Feistel
- 56 bit khóa con cũng được chia làm 2 phần bằng nhau
- Mỗi phần được xử lý độc lập, và sau mỗi chu trình
sẽ được dịch chuyển đi 1 hoặc 2 bit
(dịch trái khi mã hóa, dịch phải khi giải mã )
- Khi giải mã các khóa con được thực hiện theo thứ tự ngược lại
Trang 9I- Các phương pháp mã hóa âm thanh số
2- Phương pháp mã hóa DES
Đánh giá giải thuật
- Khóa 56 bit -> Có 256 = 7.2 * 1016 khóa
=> Khóa yếu, dễ bị bẻ khóa, theo nghiên cứu là chưa đầy 24h
- Hiện nay phương pháp này không còn được sử dụng nhiều,
Thay thế bằng mã hóa 3DES
Trang 10I- Các phương pháp mã hóa âm thanh số
3- Phương pháp mã hóa RC4
- Được phát triển bởi Ron Rivest
- Giải thuật này sử dụng những từ khóa với chiều dài có thể biến
đổi lên đến 256 bytes
- RC4 thuộc nhóm mã hóa dòng với độ dài khóa không cố định
- Thủ tục cơ bản nhất trong một hệ mã
dòng bất kỳ là thủ tục sinh Gamma
1.Tăng Q1 lên 1: Q1 = (Q1 + 1) mod 256
2.Thay đổi giá trị của Q2: Q2 = (Q2 + S[Q1]) mod 256
3.Hóan đổi giá trị của 2 phần tử: S[Q1] ↔ S[Q2]
4.Tính trổng T của 2 phần tử này: T = (S[Q 1 ] + S[Q2]) mod 256
Giới thiệu
Trang 11I- Các phương pháp mã hóa âm thanh số
3- Phương pháp mã hóa RC4
•Xáo trộn khối S:
•i = 0 255
•j = (j + S[i] + k[i]) mod 256
•Hoán đổi giá trị: S[i] ↔ S[j]
• Sinh một giá trị Gamma: γ
•Đọc một ký tự Xi từ bản tin.
• Thực hiện phép XOR giữa Xi và γ sẽ thu được một ký tự của bản mã Yi: Yi = Xi Å γ
Khởi tạo khối S
- Gán cho mỗi phần tử giá trị bằng chỉ số của nó: S[i] = i; i=0 255
- Tạo một mảng k gồm 256 phần tử, mỗi phần tử có kích thước 1 byte
- Điền đầy bảng k bằng các byte của khóa K: k[0]=K[0], k[1]=K[1],
- Khởi tạo biến đếm j: j=0;
Mã hóa và giải mã
Giải thuật
Trang 12I- Các phương pháp mã hóa âm thanh số
3- Phương pháp mã hóa RC4
Đánh giá giải thuật
- Thuật toán đơn giản Ý nghĩa của từng bước rõ ràng logic
- RC4 an toàn với cả 2 phương pháp thám mã cơ bản là
thám mã tuyến tính và thám mã vi phân
- Số trạng thái mà RC4 có thể có là 256! X 256 x 256=21700
- Có thể thay đổi kích thước của bảng anphabet (4bits, 16 bits, )
Trang 13II- Demo phương pháp mã hóa Rijndael