NCXD ma trận MDS dịch vòng cho mật mã hạng nhẹ

76 21 0
NCXD ma trận MDS dịch vòng cho mật mã hạng nhẹ

Đ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

BAN CƠ YẾU CHÍNH PHỦ HỌC VIỆN KỸ THUẬT MẬT Mà ¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯ ĐỒ ÁN TỐT NGHIỆP NGHIÊN CỨU XÂY DỰNG CÁC MA TRẬN MDS DỊCH VÒNG (CIRCULANT MDS MATRIX) CHO MẬT Mà HẠNG NHẸ Ngành An toàn thông tin Mã số 7.

BAN CƠ YẾU CHÍNH PHỦ HỌC VIỆN KỸ THUẬT MẬT Mà ¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯ ĐỒ ÁN TỐT NGHIỆP NGHIÊN CỨU XÂY DỰNG CÁC MA TRẬN MDS DỊCH VÒNG (CIRCULANT MDS MATRIX) CHO MẬT Mà HẠNG NHẸ Ngành: An tồn thơng tin Mã số: 7.48.02.02 Sinh viên thực hiện: Hoàng Như Lớp: AT13A - MSV: AT130142 Người hướng dẫn: TS Trần Thị Lượng Khoa An tồn thơng tin - Học viện Kỹ thuật mật mã Hà Nội, 2022 BAN CƠ YẾU CHÍNH PHỦ HỌC VIỆN KỸ THUẬT MẬT Mà ¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯ ĐỒ ÁN TỐT NGHIỆP NGHIÊN CỨU XÂY DỰNG CÁC MA TRẬN MDS DỊCH VÒNG (CIRCULANT MDS MATRIX) CHO MẬT Mà HẠNG NHẸ Ngành: An tồn thơng tin Mã số: 7.48.02.02 Sinh viên thực hiện: Hoàng Như Lớp: AT13A - MSV: AT130142 Người hướng dẫn: TS Trần Thị Lượng Khoa An tồn thơng tin - Học viện Kỹ thuật mật mã Hà Nội, 2022 MỤC LỤC DANH MỤC TỪ VIẾT TẮT MDS DES AES ECC SPN ECB CBC CFB OFB CTR Ubicomp OS Maximum Distance Separable Data Encryption Standard Advanced Encryption Standard Elliptic-curve cryptography Substitution Permutation Networks Electronic Codebook Cipher Block Chaining Cipher Feedback Output Feedback Counter Ubiquitous comptuting Operating System DANH MỤC HÌNH ẢNH LỜI CẢM ƠN Trong trình thực đồ án tốt nghiệp này, tơi nhận giúp đỡ tận tình cán hướng dẫn TS Trần Thị Lượng – Giảng viên Khoa An tồn thơng tin Học viện Kỹ thuật Mật mã, quan tâm sâu sát cán Hệ quản lý học viên, động viên người thân bạn bè Xin cảm ơn tất người tạo điều kiện tốt để tơi hồn thành đồ án tốt nghiệp này! SINH VIÊN THỰC HIỆN ĐỒ ÁN Hồng Như LỜI NĨI ĐẦU Ma trận phân tách khoảng cách tối đa (MDS Matrix) ứng dụng lý thuyết mã hóa mà cịn có tầm quan trọng lớn việc thiết kế mật mã khối hàm băm Ngoài ra, ma trận MDS sử dụng mật mã hạng nhẹ Có nhiều phương pháp xây dựng ma trận MDS nghiên cứu, phạm vi đồ án em lựa chọn phương pháp xây dựng ma trận MDS dịch vịng Chính nên em chọn đề tài nghiên cứu “ Xây dựng ma trận MDS dịch vòng (Circulant MDS Matrix) cho mật mã hạng nhẹ” Đồ án bao gồm chương: Chương Tổng quan mã khối mật mã hạng nhẹ Chương trình bày tổng quan mã khối mật mã hạng nhẹ Chương Nghiên cứu ma trận MDS ma trận dịch vòng cho mật mã hạng nhẹ Chương trình bày tổng quan ma trận MDS số kết hữu ích ma trận dịch vịng Chương Thực nghiệm xây dựng ma trận dịch vịng MDS hiệu Chương trình bày q trình xây dựng ma trận MDS kết thực nghiệm Do thời gian trình độ có hạn nên đồ án em tránh khỏi thiếu sót Em kính mong q thầy nhận xét góp ý để đồ án em hồn thiện Em xin gửi lời cảm ơn trân trọng tới giảng viên hướng dẫn, cô Trần Thị Lượng, người hướng dẫn tận tình bảo để em hồn thành đồ án Em xin tỏ lòng biết ơn sâu sắc tới thầy cô giáo trường Học viện Kỹ thuật Mật mã nói chung Khoa An tồn thơng tin nói riêng Em xin chân thành cảm ơn! Sinh viên thực CHƯƠNG TỔNG QUAN VỀ Mà KHỐI VÀ MẬT Mà HẠNG NHẸ 1.1 Tìm hiểu mã khối 1.1.1 Giới thiệu mã khối Mã khối (Block cipher) thuật tốn mã hóa đối xứng hoạt động khối thơng tin có độ dài xác định (block) với chuyển đổi xác định Trong kiểu mã hóa tham số quan trọng độ dài khối độ dài mã Có hai yếu tố cần trọng để xây dựng mã khối an tồn độ dài khối khơng gian khóa Độ dài khối () phải đủ lớn để chống lại phương pháp công thống kê, nhiên điều dẫn đến thời gian mã hóa tăng lên Cịn khơng gian khóa, tức độ dài khóa phải đủ lớn để chống lại phương pháp công vét cạn Tuy nhiên khóa phải đủ ngắn để việc tạo khóa, phân phối khóa dễ dàng Q trình mã hóa khối bao gồm thuật tốn mã hóa - ký hiệu giải mã - ký hiệu Cả hai thuật toán tác động lên khối đầu vào sử dụng khóa khối đầu Giải mã hàm ngược mã hóa Với khóa hốn vị (song ánh) khối đầu vào Mỗi khóa xác định hốn vị tổng sốkhả 1.1.2 Các chế độ hoạt động mã khối 1.1.2.1 Chế độ sách mã điện tử (ECB) Mẫu tin chia thành khối độc lập, sau mã khối Mỗi khối giá trị cần thay dùng sách mã, chế độ có tên mã điện tử Mỗi khối mã độc lập với mã khác Chế độ sử dụng truyền an tồn theo giá trị riêng lẻ Mã hóa Mã hóa Mã hóa …… Giải mã Mã hóa Hình 1.1 Sơ đồ mã hóa giải mã chế độ ECB Giải mã Giải mã Giải mã Các khối (dưới khóa) cho khối mã giống Các khối mã hóa độc lập với khối khác, việc xếp lại thứ tự khối mã tương ứng với việc phải xếp lại khối rõ – Sự phụ thuộc móc xích Một nhiều bit sai khối đơn lẻ ảnh hưởng tới việc giải mã khối – Tính lan sai Ở chế độ xử lý khối song song – Khả xử lý song song 1.1.2.2 Chế độ xích mã khối (CBC) Ở chế độ mẫu tin chia thành khối, chúng liên kết với q trình mã hóa Các khối xếp thành dãy, chế độ có tên chế độ liên kết khối mã Tại chế độ sử dụng vector ban đầu để bắt đầu trình: 10 88 Circ(0x03, 0x06, 0x02, 0x02) 89 Circ(0x03, 0x06, 0x04, 0x02) 90 Circ(0x03, 0x06, 0x04, 0x04) 91 Circ(0x03, 0x06, 0x05, 0x03) 92 Circ(0x03, 0x06, 0x05, 0x05) 93 Circ(0x03, 0x06, 0x05, 0x07) 94 Circ(0x03, 0x06, 0x06, 0x02) 95 Circ(0x03, 0x06, 0x06, 0x04) 96 Circ(0x03, 0x06, 0x07, 0x05) 97 Circ(0x03, 0x07, 0x02, 0x03) 98 Circ(0x03, 0x07, 0x04, 0x03) 99 Circ(0x03, 0x07, 0x04, 0x05) 100 Circ(0x03, 0x07, 0x05, 158 264 159 265 160 266 161 267 162 268 163 269 164 270 165 271 101 166 272 102 167 273 103 168 274 104 169 275 105 170 276 106 171 277 107 172 278 173 279 174 280 175 281 176 282 177 283 178 284 179 285 180 286 181 287 182 288 183 289 184 290 185 291 186 292 187 293 188 294 0x04) Circ(0x03, 0x07, 0x05, 0x06) Circ(0x03, 0x07, 0x06, 0x05) Circ(0x03, 0x07, 0x07, 0x02) Circ(0x03, 0x07, 0x07, 0x04) Circ(0x03, 0x07, 0x07, 0x06) Circ(0x04, 0x02, 0x02, 0x03) Circ(0x04, 0x02, 0x02, 0x05) Circ(0x05, 0x02, 0x04, 0x04) Circ(0x05, 0x02, 0x06, 0x04) Circ(0x05, 0x02, 0x06, 0x06) Circ(0x05, 0x02, 0x07, 0x03) Circ(0x05, 0x02, 0x07, 0x05) Circ(0x05, 0x02, 0x07, 0x07) Circ(0x05, 0x03, 0x02, 0x07) Circ(0x05, 0x03, 0x03, 0x02) Circ(0x05, 0x03, 0x03, 0x04) Circ(0x05, 0x03, 0x04, 0x05) Circ(0x05, 0x03, 0x04, 0x07) Circ(0x05, 0x03, 0x06, 0x05) Circ(0x05, 0x03, 0x06, 0x07) Circ(0x05, 0x03, 0x07, 0x02) Circ(0x05, 0x03, 0x07, 0x04) Circ(0x05, 0x03, 0x07, 0x06) Circ(0x05, 0x04, 0x02, 0x02) Circ(0x05, 0x04, 0x02, 0x06) Circ(0x05, 0x04, 0x03, 0x03) Circ(0x05, 0x04, 0x03, 0x05) Circ(0x05, 0x04, 0x03, 0x07) Circ(0x05, 0x04, 0x06, 0x02) Circ(0x05, 0x04, 0x07, 0x03) Circ(0x05, 0x04, 0x07, 0x05) Circ(0x05, 0x04, 0x07, 0x07) Circ(0x05, 0x05, 0x02, 0x03) Circ(0x05, 0x05, 0x02, 0x07) Circ(0x05, 0x05, 0x03, 0x02) Circ(0x05, 0x05, 0x03, 0x06) Circ(0x05, 0x05, 0x04, 0x03) Circ(0x05, 0x05, 0x04, 0x07) 62 Circ(0x07, 0x02, 0x05, 0x03) Circ(0x07, 0x02, 0x05, 0x05) Circ(0x07, 0x02, 0x05, 0x07) Circ(0x07, 0x02, 0x06, 0x04) Circ(0x07, 0x02, 0x06, 0x06) Circ(0x07, 0x03, 0x02, 0x05) Circ(0x07, 0x03, 0x03, 0x02) Circ(0x07, 0x03, 0x03, 0x04) Circ(0x07, 0x03, 0x03, 0x06) Circ(0x07, 0x03, 0x04, 0x05) Circ(0x07, 0x03, 0x04, 0x07) Circ(0x07, 0x03, 0x05, 0x02) Circ(0x07, 0x03, 0x05, 0x04) Circ(0x07, 0x03, 0x05, 0x06) Circ(0x07, 0x03, 0x06, 0x05) Circ(0x07, 0x03, 0x06, 0x07) Circ(0x07, 0x04, 0x02, 0x02) Circ(0x07, 0x04, 0x02, 0x06) Circ(0x07, 0x04, 0x03, 0x03) Circ(0x07, 0x04, 0x03, 0x05) Circ(0x07, 0x04, 0x03, 0x07) Circ(0x07, 0x04, 0x04, 0x02) Circ(0x07, 0x04, 0x04, 0x06) Circ(0x07, 0x04, 0x05, 0x03) Circ(0x07, 0x04, 0x06, 0x02) Circ(0x07, 0x04, 0x06, 0x06) Circ(0x07, 0x05, 0x02, 0x03) Circ(0x07, 0x05, 0x02, 0x07) Circ(0x07, 0x05, 0x03, 0x02) Circ(0x07, 0x05, 0x03, 0x04) Circ(0x07, 0x05, 0x03, 0x06) 189 295 190 296 191 297 192 298 193 299 194 300 195 301 196 302 197 303 198 304 199 305 200 306 201 307 202 308 203 309 204 310 205 311 206 312 207 313 208 314 209 315 210 316 211 317 212 318 213 319 Circ(0x05, 0x05, 0x06, 0x03) Circ(0x05, 0x06, 0x02, 0x02) Circ(0x05, 0x06, 0x02, 0x04) Circ(0x05, 0x06, 0x03, 0x03) Circ(0x05, 0x06, 0x03, 0x05) Circ(0x05, 0x06, 0x03, 0x07) Circ(0x05, 0x06, 0x06, 0x02) Circ(0x05, 0x06, 0x07, 0x03) Circ(0x05, 0x07, 0x02, 0x03) Circ(0x05, 0x07, 0x02, 0x05) Circ(0x05, 0x07, 0x03, 0x02) Circ(0x05, 0x07, 0x03, 0x04) Circ(0x05, 0x07, 0x03, 0x06) Circ(0x05, 0x07, 0x04, 0x03) Circ(0x05, 0x07, 0x04, 0x05) Circ(0x05, 0x07, 0x06, 0x03) Circ(0x05, 0x07, 0x07, 0x02) Circ(0x05, 0x07, 0x07, 0x04) Circ(0x05, 0x07, 0x07, 0x06) Circ(0x06, 0x02, 0x02, 0x03) Circ(0x06, 0x02, 0x02, 0x07) Circ(0x06, 0x02, 0x04, 0x05) Circ(0x06, 0x02, 0x04, 0x07) Circ(0x06, 0x02, 0x05, 0x04) Circ(0x06, 0x02, 0x05, 0x06) Circ(0x07, 0x05, 0x04, 0x03) Circ(0x07, 0x05, 0x05, 0x02) Circ(0x07, 0x05, 0x05, 0x04) Circ(0x07, 0x05, 0x05, 0x06) Circ(0x07, 0x05, 0x06, 0x03) Circ(0x07, 0x05, 0x06, 0x07) Circ(0x07, 0x06, 0x02, 0x02) Circ(0x07, 0x06, 0x02, 0x04) Circ(0x07, 0x06, 0x03, 0x03) Circ(0x07, 0x06, 0x03, 0x05) Circ(0x07, 0x06, 0x03, 0x07) Circ(0x07, 0x06, 0x04, 0x02) Circ(0x07, 0x06, 0x04, 0x04) Circ(0x07, 0x06, 0x05, 0x03) Circ(0x07, 0x06, 0x05, 0x05) Circ(0x07, 0x06, 0x05, 0x07) Circ(0x07, 0x07, 0x02, 0x03) Circ(0x07, 0x07, 0x02, 0x05) Circ(0x07, 0x07, 0x03, 0x02) Circ(0x07, 0x07, 0x03, 0x04) Circ(0x07, 0x07, 0x04, 0x03) Circ(0x07, 0x07, 0x04, 0x05) Circ(0x07, 0x07, 0x05, 0x02) Circ(0x07, 0x07, 0x05, 0x04) Circ(0x07, 0x07, 0x06, 0x03) 320 Circ(0x07, 0x07, 0x06, 0x05) Chương trình (2) vét cạn ma trận dịch vòng cỡ với , // Tim ma tran vong #include #include using namespace std; 63 int result[4]; int input[4] = { 2, 3, 1, }, pow_input[4], rev_input[4]; int Ci[5]; string temp[4]; int Ai[4]; int countttt=-1; int resssss; fstream fileee; int countLM = 0; void Mul_matrix() { for (int i = 0; i < 4; i++) { for (int j = 0; j < 4; j++) { rev_input[i] += input[i] * pow_input[j]; } } } void Pow_matrix() { pow_input[0] = input[0] * input[0] + input[2] * input[2]; pow_input[1] = 0; pow_input[2] = input[1] * input[1] + input[3] * input[3]; pow_input[3] = 0; } void InMatranHexBang2() { //for (int i = 0; i < 4; i++) //{ // fileee

Ngày đăng: 13/12/2022, 15:20

Tài liệu cùng người dùng

  • Đang cập nhật ...

Tài liệu liên quan