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

Blowfish hothanhnguyen

4 6 0

Đang tải... (xem toàn văn)

THÔNG TIN TÀI LIỆU

Thông tin cơ bản

Định dạng
Số trang 4
Dung lượng 876,44 KB

Nội dung

Thuật toán Blowfish Thuật toán Blowfish Họ tên Hồ Thành Nguyên MSSV 10344991 Lớp DHTH6ALT 1 Lịch sử của thuật toán Blowfish Blowfish được phát triển bởi Bruce Schneier Lý do thuật toán này được phát t[.]

Thuật toán Blowfish Họ tên: Hồ Thành Nguyên MSSV: 10344991 Lớp: DHTH6ALT Lịch sử thuật toán Blowfish: Blowfish phát triển Bruce Schneier Lý thuật toán phát triển do: - DES bị vào giai đoạn cuối cần thay - Một số thuật toán thay khác bảo hộ sáng chế Blowfish dùng mạng Feistel để mã hóa Blowfish thuật tốn mã hóa khối 64 bit Có thể mã hóa chiều dài lên tới 448 bit Khái quát thuật toán Blowfish: Blowfish dùng 18 khóa khóa phụ thuộc s-boxes Những khóa s-boxes tính tốn trước mã hóa thành cơng Sự mở rộng khóa giải thích mục 1.5 Sơ đồ mã hóa Blowfish thể Hình Sơ đồ mã hóa Blowfish dùng phép tốn làm trịn cho 16 lần lặp Vào vòng lặp cuối cùng, giá trị trái phải hoán vị phép toán XOR cho khóa P17 P18 Chú ý phép làm tròn khác so với DES DES khơng hốn vị nửa giá trị trái phải vòng lặp cuối Phép làm tròn Festel (Blowfish): Vịng lặp Blowfish thuật tốn 16 lần đơn giản Phép làm tròn Feistel (Blowfish) thể hình phép tốn làm trịn (F) thể hình Giá trị bên trái kết phép XOR với khóa Kết hoán vị với giá trị bên phải kết dùng để tính tốn phép làm trịn dùng XOR với phần liệu bên phải Có thể viết sau: Li = F (Li−1 ⊕ Pi) ⊕ Ri−1 Và Ri = Li−1 ⊕ Pi Phép toán làm tròn Blowfish: Để làm tròn, liệu 32 bit chia thành dãy số bit Sau đó, phép làm trịn thực phép tính sau: F (Xl) = (((S1,a + S2,b) mod 232) ⊕ S3,c + S4,d ) mod 232 Trong đó, “+” phép cộng số nguyên “⊕” phép XOR Kết phép mod để giữ 32 bit quan trọng tối thiểu Điều có nghĩa phép cộng hoàn thành với dãy số 32 bit mà bỏ qua phần dư Hình thể phép làm trịn với chiều dài dãy số Thuật tốn Blowfish Hình – Tính tốn mã hóa theo thuật tốn blowfish Hình – vịng tính tốn giải thuật blowfish Thuật tốn Blowfish Tính tốn khóa Blowfish s-boxes: Những khóa sinh thuật tốn mã hóa Blowfish Những khóa s-boxes khởi tạo với số hex pi Những khóa thực phép XOR với tất bytes khóa Khóa lặp lại tới tất 18 khóa thực phép XOR với khóa Các bước tiếp theo: Mã hóa tất chuỗi zero với khóa khởi tạo Thay P1 P2 với kết bước Mã hóa kết bước với khóa sửa Thay P3 P4 với kết bước Quá trình tiếp tục đến tất khóa s-boxes thay kết mã hóa Tổng số 521 vịng lặp thuật tốn mã hóa phải hồn thành để tính tốn khóa (Tổng cộng 4*256 + 18 giá trị thay thế, vịng lặp tính tốn giá trị) Hình – Hàm F thuật tốn blowfish Thuật toán Blowfish Phép thử vectơ Blowfish: 6.1 Sự phát sinh khóa mã hóa: Giả sử ta nhập khóa có giá trị 0123456789ABCDEF16 Khóa khởi tạo theo số pi Những khóa (P) lặp lặp lại phép XOR với khóa Kết thể bảng Bước tiếp theo, khóa tính tốn cách thực mã hóa lặp lặp lại (xem chi tiết mục 1.5) Bảng trình bày kết khóa Nếu chuỗi zero (0x0) mã hóa, kết 0x24594688 5754369A 10 11 12 13 14 15 16 17 0x251C2FEF 0x0C08C53C 0x123ACF49 0x8ADBBEAB 0xA52A7D45 0xA034FC3F 0x090DBFFF 0x65E5A166 0x440B6481 0xB17BDE98 0xBF7723A8 0xBD42C183 0xC18F6CD0 0x40D79D32 0x3EA790D2 0x3CECC4F8 0x933590BE 0x00D236F4 Bảng – Giá trị khởi tạo XOR với khóa 10 11 12 13 14 15 16 17 0x02558D03 0x8BD2E05B 0xE60C00EA 0x95C270EF 0xF03C7555 0x58BA57C4 0xA6211A41 0xE731516E 0xF12165C7 0xED622043 0x3FF1BC45 0x92D1E14D 0x12ECBC27 0x638CCE1E 0x8D184978 0x330B9226 0x260B1EBB 0xC1F9262B Bảng – Kết cuối khóa

Ngày đăng: 11/04/2023, 11:01

TỪ KHÓA LIÊN QUAN

TÀI LIỆU CÙNG NGƯỜI DÙNG

TÀI LIỆU LIÊN QUAN

w