



Preview text:
lOMoAR cPSD| 45470709
Tổng hợp câu hỏi ATTT
kr là khóa giải mã riêng (khóa bí mật)
ku là khóa công khai M: bản rõ C: bản mã
P: (plaintext) tập hợp hữu hạn các bản mã có thể d : khóa mã hóa
Khóa công khai (Public key): được công bố rộng rãi cho mọi người và được dùng để mã hóa
Khóa bí mật (Private key): Những thông tin được mã hóa bằng khóa công khai chỉ có thể
được giải mã bằng khóa bí mật tương ứng
- Bản rõ X: là bản tin gốc. Bản rõ có thể được chia nhỏ có kích thước phù hợp. - Bản
mã Y: là bản tin gốc đã được mã hoá (xét phương pháp mã hóa không làm thay đổi
kích thước của bản rõ => chúng có cùng độ dài).
- Mã: là thuật toán E - chuyển bản rõ thành bản mã. (Cần thuật toán mã hóa mạnh, dù
biết thuật toán, nhưng không biết khóa => không tìm được bản rõ).
- Khoá K: là thông tin tham số dùng để mã hoá, chỉ có người gửi và nguời nhận biết.
Khóa độc lập với bản rõ, độ dài phù hợp yêu cầu bảo mật (THAY ĐỔI ĐƯỢC)
-Giải mã chuyển bản mã thành bản rõ ,là quá trình ngược lại của mã hoá
Người gửi sẽ làm nhiệm vụ mã hoá bản rõ, kết quả thu được gọi là bản mã. KHOÁ ĐỐI XỨNG
Mã hóa đối xứng gồm: AES, DES
Nguyên lý hoạt động đối xứng
-Người gửi sử dụng khóa chung (Ks) để mã hóa thông tin rồi gửi cho nguời nhận.
-Người nhận nhận được thông tin đó sẽ dùng chính khóa chung (Ks) để giải mã.
KHOÁ BẤT ĐỐI XỨNG
-Bản rõ (plaintext-M): bản tin được sinh ra bởi bên gửi
-Bản mật (ciphertext-C): bản tin che giấu thông tin của bản rõ, được gửi tới bên
nhận qua một kênh không bí mật
-Khóa: Bên nhận có 1 cặp khóa:
Khóa công khai (Kub) : công bố cho tất cả mọi người biết lOMoAR cPSD| 45470709
Khóa riêng (Krb) : bên nhận giữ bí mật, không chia sẻ cho bất kỳ ai Khi nào cần mã hóa??
Việc mã hóa là để đảm bảo tính an toàn cho thông tin Khi nào cần giải mã??
Khi cần biến bản mã thành bản rõ để lấy thông tin
Tại sao sử dụng mã hóa bất đối xứng:
=> an toàn hơn mã hóa đối xứng vì nó sử dụng 2 khóa riêng biệt cho 2 quá trình mã hóa và giải mã
Nguyên lý hoạt động của mã hoá bất đối xứng
-Người gửi(A) gửi thông tin đã được mã hóa bằng khóa công khai (Kub) của người
nhận(B) thông qua kênh truyền tin không bí mật
-Người nhận(B) nhận được thông tin đó sẽ giải mã bằng khóa riêng (Krb) của mình.
Mã hóa cổ điển Playfair Nguyên lí:
Tách các bản rõ thành các cặp có 2 chữ cái
Đưa ra ma trận 5 x 5 dựa trên từ khoá.
Viết các chữ của từ khoá vào ma trận.
Nếu còn trống, viết các chữ khác vào các ô còn lại.
Bản rõ được mã hoá 2 chữ cùng một lúc.
Nếu một cặp nào đó là chữ lặp => chèn thêm một từ lọc X. Mã hóa Rail Fence Nguyên lí:
Viết các chữ của bản tin theo đường chéo trên một số dòng. lOMoAR cPSD| 45470709
Sau đó đọc theo dòng => nhận được bản mã.
Số dòng chính là khoá của mã. Vì khi biết số dòng, tính được số chữ trên mỗi dòng.
Viết bản mã theo các dòng, lấy bản rõ bằng cách viết lại theo các cột. Mã hoá caesar
-Hệ mã Caesar là một hệ mã hóa thay thế đơn âm, làm việc trên bẳng chữ cái tiếng
Anh 26 ký tự. Đó là một dạng của mật mã thay thế, trong đó mỗi ký tự trong văn
bản được thay thế bằng một ký tự cách nó một đoạn trong bảng chữ cái để tạo
thành bản mã. Nguyên lý
-Thay mỗi chữ trong bản rõ bằng chữ thứ ba tiếp theo trong bảng chữ cái Mã hóa Vigenere Nguyên lí:
Chuyển bản rõ thành số
Số kí tự của khóa sẽ lặp lại đến khi nào bằng số kí tự của bản rõ
Cộng bản mã và bản rõ theo cột
Nếu nhỏ hơn 26 thì điền theo thứ tự tương ứng
Nếu lớn hơn hoặc bằng 26 thì lấy tổng trừ đi 26 và điền theo thứ tự tương ứng Thuật toán RSA Tạo khóa
Bước 1: Bod (người nhận) tạo hai số nguyên tố lớn ngẫu nhiên pvà q
Bước 2: Tính n=p*q và Φ(n) = (p-1)(q-1)
Bước 3: Chọn một số ngẫu nhiên e (0< e< Φ(n)) sao cho ƯCLN(e,Φ(n))=1
Bước 4: Tính bằng cách dùng thuật toán Euclide
Tìm số tự nhiên x sao cho Bước 5:
- n và e làm khoá công khai (public key),
- n và d làm khoá bí mật (pivate key). lOMoAR cPSD| 45470709 Mã hóa và giải mã
Bước 1: Alice nhận khoá công khai của Bod
Bước 2: Alice biểu diễn thông tin cần gửi thành số m (0 <= m <= n-1) Bước 3: Tính Bước 4: Gửi C cho Bod Bước 5: Giải mã tính
=> M là thông tin nhận được.