Báo cáo môn học an toàn bảo mật thông tin đề tài “tìm hiểu giải thuật mã hóa khóa bí mật aes” Báo cáo môn học an toàn bảo mật thông tin đề tài “tìm hiểu giải thuật mã hóa khóa bí mật aes” Báo cáo môn học an toàn bảo mật thông tin đề tài “tìm hiểu giải thuật mã hóa khóa bí mật aes”
THUẬT TỐN AES NỘI DUNG CHÍNH Tổng quan AES Nghiên cứu thuật toán AES Khẳ bị công, ưu nhược điểm TỔNG QUAN VỀ AES GIỚI THIỆU • AES ( Advanced Encryption Standard ) hay gọi tiêu chuẩn mã hóa nâng cao thuật tốn mã hóa khối phủ Hoa Kỳ áp dụng làm tiêu chuẩn mà hóa • Thuật tốn thiết kế nhà mật mã học người Bỉ: Joan Daemen Vincent Rijmen Thuật toán đặt tên “Rijndael” tham gia thi thiết kế AES Q TRÌNH PHÁT TRIỂN • Thuật tốn dựa thiết kế Square có trước Daemen Rijmen, Square thiết kế dựa Shark CƠ SỞ TỐN HỌC • AES sử dụng trường hữu hạn Galois (GF(2^8)) để thực phép toán: phép cộng, phép trừ, phép nhân, phép chia Các phần tử trường GF(2^8) xem đa thức NGHIÊN CỨU VỀ THUẬT TỐN AES THUẬT TỐN MÃ HĨA Khởi động vòng lặp Vòng lặp Vòng lặp cuối AddCipherKey SubBytes SubBytes ShiftRows ShiftRows MixColumns AddRoundKey AddRoundKey THUẬT TOÁN MÃ HĨA • Ví dụ: o Dữ liệu vào : ATTACK AT DAWN o Key: SOME 128 BIT KEY o Vòng khởi tạo đầu tiên, sử dụng phép toán Xor cho byte tương ứng với byte key ban đầu THUẬT TỐN MÃ HĨA • Tạo RoundKey o Lấy cột cuối ma trận cipher key mà đẩy vị trí cuối cột lên đầu K => b3 E => 6e Y => cb => b7 o Sau cho hàng cột mã hóa thay K thơng qua S - box Trước sử E dụng hộp thay thế, ta chuyển dạng text hệ Hex Y THUẬT TOÁN MÃ HĨA • Sau có cột mã hóa, sử dụng phép tốn xor với số vòng (Rcon) , số khác biệt với vịng lặp • Sử dụng phép tốn xor với cột input(cipher key) trước thực tính tốn, ta chuyển dạng ASCII chuyển qua hệ Hex để thực phép tính XOR THUẬT TỐN MÃ HĨA • Với cột cịn lại (2, 3, 4): Sử dụng phép toán xor với ma trận input (cipher key) với cột trước round[1] vừa mã hóa • RoundKey[2],[3],[4] [10] : tạo RoundKey[1] với input output roundKey trước THUẬT TỐN MÃ HĨA • SubBytes o Đây phép (phi tuyến) byte trạng thái byte khác theo bảng tra (Rijndael S-box) THUẬT TỐN MÃ HĨA THUẬT TỐN MÃ HĨA • Bảng S-box sinh từ “ modular arithmetic “ trường Galois Một trường Galois trường với số hữu hạn phần từ Các trường Galois trường lũy thừa số nguyên Đối với số nguyên tôn trường Galois THUẬT TỐN MÃ HĨA • Input: kí tự D • Trước tiên ta chuyển D dạng Hex có giá trị 44 cách tra cứu bảng ASCII • Khi sử dụng bảng S-box, kí tự hệ Hex tham chiếu đến hàng bảng giá trị từ bên trái xuống • Kí tự thứ tham chiếu đến cột bảng S-Box • Giá trị hệ Hex ‘1b’ • THUẬT TỐN MÃ HĨA ShiftRows o Dịch chuyển, hàng trạng thái dịch vòng theo số bước khác • Ví dụ: o Các hàng dịch vòng số bước định Hàng đầu giữ nguyên Mỗi byte hàng thứ dịch vịng trái vị trí Tương tự, hàng thứ dịch vòng vị trí Do vậy, cột khối đầu bước bao gồm byte đủ cột khối đầu vào THUẬT TỐN MÃ HĨA • MixColumns o Quá trình trộn làm việc theo cột khối theo phép biến đổi tuyến tính THUẬT TỐN MÃ HĨA • Ví dụ: o Ta xét b0 : b0 = {02.d4} ^ {03.bf} ^ {01.5d} ^ {01.30} o Xét {02.d4} • Biến đổi d4 hệ Hex : d4 = 1101 0100 • Dịch trái d4 bit sau chuyển d4 dạng Hex , sau kết trước dịch bit có bit ngồi bên trái tiến hành XOR kết với dãy 0001 1011 • {02,d4} = 1011 0011 o Tương tự ta thực với {03.bf}, {01.5d}, {01.30} o B0 = {02.d4} XOR {03.bf} XOR {01.5d} XOR {01.30}