Viết chương trình mã hóa file trong aes, gửi và nhận tệp tin giữa hai máy sử dụng ngôn ngữ javascript

58 5 0
Viết chương trình mã hóa file trong aes, gửi và nhận tệp tin giữa hai máy sử dụng ngôn ngữ javascript

Đ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

BÀI TẬP MÔN HỌC CƠ SỞ AN TOÀN VÀ BẢO MẬT THÔNG TIN VIẾT CHƯƠNG TRÌNH MÃ HÓA FILE TRONG AES, GỬI VÀ NHẬN TỆP TIN GIỮA HAI MÁY SỬ DỤNG NGÔN NGỮ JAVASCRIPT Thuật toán AES thực hiện việc xử lý rất nhanh. Mã chương trình ngắn gọn, thao tác xử lý sử dụng ít bộ nhớ. Tất cả các bước xử lý của việc mã hóa và giải mã đều được thiết kế thích hợp với cơ chế xử lý song song

HỌC VIỆN KỸ THUẬT MẬT MÃ KHOA CÔNG NGHỆ THÔNG TIN BÀI TẬP MÔN HỌCCƠ SỞ AN TOÀN VÀ BẢO MẬT THÔNG TIN VIẾT CHƯƠNG TRÌNH MÃ HÓA FILE TRONG AES, GỬI VÀ NHẬN TỆP TIN GIỮA HAI MÁY SỬ DỤNG NGÔN NGỮ JAVASCRIPT Ngành: Công nghệ thông tin Chuyên ngành: Kĩ thuật phần mềm nhúng và di động Giảng viên hướng dẫn: TS Sinh viên thực hiện: - - Lớp: CT03 Nhóm 34 Hà Nội, 12-2021 NHẬN XÉT VÀ CHO ĐIỂM CỦA GIÁO VIÊN MỤC LỤC LỜI NÓI ĐẦU 1 LỜI CẢM ƠN 2 THUẬT NGỮ VÀ CÁC TỪ VIẾT TẮT 3 DANH MỤC KÍ HIỆU THUẬT TOÁN VÀ HÀM 4 DANH MỤC HÌNH VẼ 5 DANH MỤC BẢNG BIỂU .6 TÓM TẮT ĐỒ ÁN 7 CHƯƠNG 1 TỔNG QUAN .8 1.1 Giới thiệu chung 8 1.2 Giới thiệu về AES .8 1.2.1 Ưu điểm 9 1.2.2 Nhược điểm 10 1.3 CTR MODE 10 1.3.1 Ưu điểm: 11 1.3.2 Nhược điểm: 11 1.4 Môi trường 12 1.4.1 Môi trường NodeJs 12 1.4.2 Ngôn ngữ sử dụng Javascript 14 1.5 Xây dựng thuật toán 15 1.5.1 Mô tả bài toán 15 1.5.2 Trạng thái(State) .16 1.5.3 Xây dựng bảng S-box .17 1.5.4 Giải thuật sinh khóa phụ (KeyExpansion) 18 1.5.5 Quy định thuật toán 23 1.6 Phân công công việc 24 CHƯƠNG 2 QUÁ TRÌNH MÃ HÓA 25 2.1 Tổng quan về quá trình mã hóa 25 2.1 Phương thức 26 2.1.1 Phương thức AddRoundKey 26 2.1.2 Phương thức SubBytes .27 2.1.3 Phương thức ShiftRow .29 2.1.4 Phương thức MixColumns .31 CHƯƠNG 3 QUÁ TRÌNH GIẢI MÃ 33 3.1 Tổng quan về giải mã 33 3.2 Phương thức 35 3.2.1 Phương thức AddRoundKey 35 3.2.2 Phương thức InvSubBytes .35 3.2.3 Phương thức InvShiftRow .37 3.2.4 Phương thức InvMixColumns 38 CHƯƠNG 4 THỰC NGHIỆM 39 4.1 Viết chương trình mã hóa và giải mã bằng Javascript 39 4.1.1 Hàm mã hóa Encrypt AES .39 4.1.2 Hàm giải mã Decrypt AES .40 4.1.3 Form chương trình 41 4.2 Kết quả thực nghiệm 41 4.2.1 Câu lệnh và ghi chú 41 4.2.2 Kết quả .42 4.3 Các dạng tấn công AES và cách phòng tránh 43 4.3.1 Các dạng tấn công 43 4.3.2 Cách phòng tránh .45 KẾT LUẬN 46 Đánh giá thuật toán .46 Kết quả đạt được 46 Hạn chế 46 TÀI LIỆU THAM KHẢO 47 PHỤ LỤC 48 LỜI NÓI ĐẦU Từ trước công nguyên con người đã phải quan tâm tới việc làm thế nào để đảm bảo an toàn bí mật cho các tài liệu, văn bản quan trọng, đặc biệt là trong lĩnh vực quân sự, ngoại giao Ngày nay với sự xuất hiện của máy tính, các tài liệu văn bản giấy tờ và các thông tin quan trọng đều được số hóa và xử lý trên máy tính, được truyền đi trong môi trường mạng- một môi trường mà mặc định là không an toàn Do đó yêu cầu về việc có một cơ chế, giải pháp để bảo vệ sự an toàn và bí mật của các thông tin nhạy cảm, quan trong ngày càng trở nên cấp thiết An toàn & bảo mật thông tin là môn học đảm bảo cho mục đích này Trong mật mã học, mã hóa là phương pháp để biến thông tin từ định dạng bình thường sang dạng thông tin không thể hiểu được nếu không có phương tiện giải mã Giải mã là phương pháp để đưa từ dạng thông tin đã được mã hóa về dạng thông tin ban đầu, quá trình ngược của mã hóa Để tìm hiểu thêm về mã hóa nhóm chúng em đã thực hiện đề tài: “ Viết chương trình mã hóa file trong AES, gửi và nhận tệp tin giữa hai máy sử dụng ngôn ngữ JavaScript” Trong quá trình thực hiện đề tài, không thể tránh khỏi những sai sót không đáng có, nhóm thực hiện mong rằng sẽ nhận được sự góp ý từ phía thầy, cô để chúng em có thể hoàn thiện sản phẩm của mình hơn nữa Chúng em xin chân thành cảm ơn! Nhóm thực hiện đề tài 1 LỜI CẢM ƠN Để hoàn thành được báo cáo bài tập lớn Cơ sở an toàn và bảo mật thông tin này, chúng em chân thành cảm ơn các Thầy, Cô Học viện Kỹ thuật Mật Mã đã tận tình truyền đạt kiến thức Em cũng gửi lời cảm ơn sâu sắc tới thầy Nguyễn Đào Trường giảng viên khoa Công nghệ thông tin, Học viên Kỹ thuật Mật Mã đã tận tình chỉ bảo, hướng dẫn và hỗ trợ em trong thời gian chúng em học tập các môn thuộc khoa Công nghệ thông tin nói chung và bộ môn Công nghệ phần mềm nhúng nói riêng Cuối cùng chúng em kính chúc quý Thầy, Cô dồi dào sức khỏe và thành công trong sự nghiệp cao quý Chúng em xin chân thành cảm ơn! 2 THUẬT NGỮ VÀ CÁC TỪ VIẾT TẮT Thuật ngữ Khái niệm AES Tiêu chuẩn mã hóa tiên tiến Bản mã Dữ liệu đầu ra của Phép mã hóa hoặc dữ liệu đầu vào của Bản rõ S-box Phép giải mã Dữ liệu đầu vào của Phép mã hóa hoặc dữ liệu đầu ra của Khóa mã Khóa vòng Phép giải mã Một bảng thay thế phi tuyến, được sử dụng trong một số Giải mã Mã hóa phép thay thế byte và trong quy trình Mở rộng khóa, nhằm thực hiện một phép thay thế một-một đối với giá trị mỗi byte Một số được giữ bí mật dùng cho quy trình Mở rộng khóa nhằm tạo ra một tập các Khóa vòng Các khóa vòng là các giá trị sinh ra từ Khóa mã bằng quy trình Mở rộng khóa, chúng được áp dụng lên Trạng thái trong Phép mã hóa và Phép giải mã Trong thuật toán AES, Khóa vòng có thể xem như là một mảng chữ nhật của các byte có 4 hàng và Nk cột Một loạt các phép biến đổi để biến đổi bản mã thành bản rõ sử dụng một Khóa mã Loạt các phép biến đổi để biến đổi bản rõ thành bản mã sử dụng Khóa mã 3

Ngày đăng: 16/03/2024, 00:37

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

Tài liệu liên quan