1. Trang chủ
  2. » Tất cả

Tìm hiểu về mã hóa dòng

18 4 0

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

Tài liệu hạn chế xem trước, để xem đầy đủ mời bạn chọn Tải xuống

THÔNG TIN TÀI LIỆU

Thông tin cơ bản

Định dạng
Số trang 18
Dung lượng 302,31 KB

Nội dung

BỘ THÔNG TIN VÀ TRUYỀN THÔNG TẬP ĐOÀN BƯU CHÍNH VIỄN THÔNG VIỆT NAM HỌC VIỆN CÔNG NGHỆ BƯU CHÍNH VIỄN THÔNG MẬT MÃ HỌC CƠ SỞ CHỦ ĐỀ TÌM HIỂU VỀ MÃ HÓA DÒNG Giảng viên Cao Minh Thắng Hà Nội, ngày 08 th[.]

BỘ THƠNG TIN VÀ TRUYỀN THƠNG TẬP ĐỒN BƯU CHÍNH VIỄN THƠNG VIỆT NAM HỌC VIỆN CƠNG NGHỆ BƯU CHÍNH VIỄN THƠNG MẬT MÃ HỌC CƠ SỞ CHỦ ĐỀ: TÌM HIỂU VỀ MÃ HĨA DỊNG Giảng viên: Cao Minh Thắng Hà Nội, ngày 08 tháng 05 năm 2021 MỤC LỤC I Giới thiệu mật mã dòng Mật mã dịng gì? Đặc trưng mật mã đòng Lịch sửa mã dòng Một số ứng dụng mã dòng So sánh Mã hóa khối, Mã hóa dịng II Mật mã Salsa20 Giới thiệu mật mã Lịch sử hình thành Phân tích thiết kế, thuật tốn mật mã 3.1 Mã hóa 3.2 Giải mã 10 3.3 Các hàm toán học 11 Ưu diểm – Nhược điểm 19 Ứng dụng 19 Tài liệu tham khảo 20 I Giới thiệu mật mã dòng Mật mã dòng gì? Mã hóa dịng: kiểu mã hóa mà bit (hoặc ký tự) thông điệp kết hợp với bit (hoặc ký tự) tương ứng khóa để tạo thành mã Đặc trưng mật mã địng - Kích thước đơn vị mã hóa là: k bit - Thơng điệp chia thành đơn vị mã hóa: P→P0P1P2 Pn-1 < length(Pi ) = k bit> - Một sinh số ngẫu nhiên: Dùng khóa K ban đầu để sinh số ngẫu nhiên có kích thước kích thước đơn vị mã hóa: StreamCipher(K) → S = S0S1S2 Sn-1 < length(Si ) = k bit> Mỗi đơn vị mã hóa XOR tương ứng với số ngẫu nhiên mã C0=P0 ⊕ S0, C1=P1 ⊕ S1 ……., Cn-1=Pn-1 ⊕ Sn-1 → C=C0C1C2…Cn1; - Quá trình giải mã trình ngược lại, mã XOR với sinh số ngẫu nhiên cho thông điệp P0=C0 ⊕ S0, P1=C1 ⊕ S1 ……., Pn-1=Cn-1 ⊕ Sn-1 → P=P0P1P2…Pn1 Lịch sửa mã dòng Kỉ nguyên mã dòng thực vào năm 1960 Vào thời điểm đó, nhiều tổ chức sử dụng đến mã dòng nhu cầu cảu quân đội hay ngoại giao, tổ chức gián điệp, tổ chức cung cấp dịch vụ viên thông, doanh nghiệp … Vào thời gian này, thiết bị mã hóa điện tử bán dẫn bắt đầu xuất Nhiều thiết bị cịn có dung lượng nhớ thấp, nên mã dòng trở nên phổ biến mã khối Một số ứng dụng mã dịng Mã hóa mạng điện thoại GSM, bảo mật liệu trình liên lạc điện thoại trạm thu phát sóng vơ tuyến (Thuật tốn mã hóa A5/1) Dùng giao thức SSL để bảo mật liệu trình truyền liệu Web server Client, mã hóa WEP mạng Wireless LAN (Tiny RC4) So sánh Mã hóa khối, Mã hóa dịng Mã hóa khối Mã hóa dịng - Mã hóa khối chia plant-text nhiều khối chuyển chúng thành cipher-text - Mã hóa dịng mã hóa kí tự plant-text thành cipher-text - Có thể mã hóa 64 bits nhiều - Chỉ mã hóa bits lần - Đơn giản so với mã dòng - Phức tạp so với mã khối - Sử dụng tính xáo trộn khuếch tán - Chỉ có tính khuếch tán - Giải mã phức tạp - Giải mã đơn giản - Tốc độ mã hóa giải mã cao - Tốc độ mã hóa giải mã chậm II Mật mã Salsa20 Giới thiệu mật mã Salsa20 mật mã đối xứng dịng đại hiệu Nó thiết kế vào năm 2005 Daniel Bernstein, giáo sư nghiên cứu Khoa học Máy tính Đại học Illinois Chicago Salsa20 cơng cụ mã hóa dịng hoạt động khối liệu có kích thước 64 byte Lịch sử hình thành - eSTREAM dự án mã dòng ECRYPT (European Network of EExcellence for Cryptology) thành lập vào năm 2005 Mục tiêu để tạo điều kiện cho giới thiệu bảo mật hữu hiệu mã dòng cho sử dụng rộng rãi phổ cập Vào năm 2005, đáp lại kêu gọi eSTREAM cho loại mã hóa dịng mới, 34 loại mã hóa dịng gửi Salsa20 ứng viên trụ lại cuối - Salsa20 mật mã đệ trình cho dự án eSTREAM, chạy từ năm 2004 đến năm 2008, cho để thúc đẩy phát triển mật mã dịng Nó coi thuật tốn thiết kế tốt hiệu Khơng có công biết đến hiệu vào họ mật mã Salsa20 - 20 – vịng Salsa20/20 nhanh Mã hóa tiêu chuẩn nâng cao (AES) cung cấp bảo mật tốt Bản đầy đủ Salsa20/20 đề xuất nhà thiết kế mã hóa cho ứng dụng mật mã học Theo thời gian, biến thể Salsa20/20 nhằm giảm số vfong Salsa20/12 Salsa20/8 xuất Phiên tối giản Salsa20 nhanh số loại mã hóa dịng thời đề xuất ứng dụng cho nơi mà tốc độ quan trọng cấp độ bảo mật - Mã hóa dòng Salsa20/20 phiên giảm thiểu số vòng duyệt, Salsa20/12và Salsa20/8, chọn eSTREAM để trở thành số tiêu chuẩn cho lựa chọn rộng rãi Mặc dù vậy, số tranh cãi nổ trước sử dụng rộng rãi phương thức vận hành toán học đơn giản XOR Salsa20 - Tính bảo mật Salsa20/7 bị phá vỡ phương thức công khác: Aumasson et al concluded via cryptanalytic papers by Fischer et al, có 2151 phân tích cần thiết để phá vịng 256 bit Salsa20 Phân tích thiết kế, thuật tốn mật mã 3.1 Mã hóa Đối với khối liệu 64 byte, thuật toán sử dụng hàm mở rộng Salsa20 Đầu vào cho hàm khóa bí mật (có thể có 32 16 byte) nonce dài byte ghép nối với số khối bổ sung, giá trị thay đổi từ thành 264-1 (nó lưu trữ byte) Mỗi gọi đến hàm mở rộng tăng số khối lên Cốt lõi thuật tốn mã hóa Salsa20 hàm băm nhận liệu đầu vào dài 64 byte từ hàm mở rộng Salsa20, trộn cuối trả đầu dài 64 byte Hàm băm Salsa20 hoạt động chuỗi byte nhận được, bao gồm: ● chìa khóa bí mật ● nonce với số khối ● bốn vectơ không đổi nhận từ hàm mở rộng, giá trị phụ thuộc vào kích thước khóa bí mật Hàm băm hoạt động liệu chia thành từ Mỗi từ chứa byte có giá trị từ đến 232-1 Do đó, liệu đầu vào dài 16 từ, khóa chứa từ nonce có từ Đầu từ hàm mở rộng Salsa20 thêm XOR vào khối liệu 64 byte Kết khối mật mã 64 byte Phân tích ● đầu vào xác định seed cho salsa20 Các seed 32-byte khóa bí mật, byte Nounce byte giá trị Khối chặn Ở trạng thái ban đầu, seed thêm vào trộn lẫn với 16 byte cố định hàm mở rộng để tạo khối 64 byte Mơ hình sơ đồ khối Salsa20 ● Hàm mở rộng bị đẩy hàm băm Salsa Thực chất, giai đoạn gọi hàm băm Salsa coi vòng Salsa20 Bởi hàm băm Salsa gọi round function lần Do vậy, lần gọi hàm băm Salsa ứng với vòng Salsa20 Như sơ đồ trên, sau vòng, có 50% khối 64 byte bị thay đổi ● Khuyếch tán đặc tính quan trọng mã hóa tốt Chỉ có byte khác biệt đầu vào khối liên tục Sự khác biệt biết đến bit Khối chặn Mặc dù có thay đổi nhẹ đầu vào Salsa20, khuếch tán tốt sản phẩm mã hóa sau vịng xáo trộn ● Kết thúc vòng 4, tất bit 16 từ bị thay đổi Thông thường, hàm băng Salsa bắt đầu với khối khác với khối trước nằm bit khối chặn Kết quả, XOR khối cho tất thành phần, ngoại trừ khác biệt khối chặn ma trận ví dụ khối Salsa20 liên tiếp mà điểm khác biệt số khối chặn Ma trận sau XOR ma trận ● Theo phân tích này, tốt chắn từ khối Salsa20 xáo trộn lên trước vòng bắt đầu Do vậy, mạng XOR sử dụng sau vòng thứ ● Một mục tiêu học phần đạt độ khuếch tán tốt sau vịng Trong phần tiép theo, mục đích mạng XOR thực sau vòng để củng cố ngẫu nhiêm mã cách chắn tất byte khối 64 byte thay đổi ● Một điểm yếu khác Salsa20 có bit khác biệt khối đầu vào Salsa20 Khi mà khác biệt gữa khối liên tục nhỏ (trong trường hợp Salsa20 bit), khác biệt nhỏ dẫn đến cơng khác Mục đích việc thiết kế - điều mà làm rõ phần trước, đồ logic hỗn loạn dược sử dụng chìa khóa gây rối, thứ khiến cho điểm khác biệt đầu vào khối tăng lên 33-bits 3.2 Giải mã Thuật toán tương tự nên sử dụng trình giải mã Dữ liệu nên chia thành phần có kích thước Đầu từ hàm mở rộng Salsa20 nên thêm XOR vào khối mã 64 byte Kết khối rõ dài 64 byte 3.3 Các hàm toán học Các hoạt động cho thuật toán Salsa20 trình bày theo thứ tự từ hàm cấp thấp đến hàm phức tạp hơn, sử dụng hàm mô tả Tổng hai từ Việc cộng hai từ byte biểu thị mơ tả thuật tốn a + b Kết chia modulo cho 32 (vì vậy, giá trị lớn lưu trữ từ) Tổng hai từ a b a + b mod 32 Kết từ dài byte hợp lệ Exclusive-Or từ Exclusive-Or hai từ byte biểu thị mơ tả thuật tốn XOR b Để thực phép cộng XOR, hai từ so sánh bit phép cộng XOR thực cho cặp Kết từ dài byte thích hợp hợp lệ Các -bit xoay trái từ 4-byte w ký hiệu thuật toán w

Ngày đăng: 24/02/2023, 13:08

TỪ KHÓA LIÊN QUAN

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

TÀI LIỆU LIÊN QUAN

w