1. Trang chủ
  2. » Giáo Dục - Đào Tạo

(Tiểu luận) mã hóa một đoạn dữ liệu nhập vào từ bàn phím trongmột biến của chương trình, cho biết thời gian mã hóavà thời gian giải mã

23 14 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

Tiêu đề Mã Hóa Một Đoạn Dữ Liệu Nhập Vào Từ Bàn Phím Trong Một Biến Của Chương Trình, Cho Biết Thời Gian Mã Hóa Và Thời Gian Giải Mã
Tác giả Dương Khương Duy, Lê Quý Vũ
Người hướng dẫn TS. Nguyễn Đào Trường
Trường học Học viện Kỹ thuật mật mã
Chuyên ngành Công nghệ thông tin
Thể loại bài tập
Năm xuất bản 2020
Thành phố Hà Nội
Định dạng
Số trang 23
Dung lượng 5,44 MB

Nội dung

HỌC VIỆN KỸ THUẬT MẬT Mà KHOA CÔNG NGHỆ THÔNG TIN ¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯ BÀI TẬP MƠN HỌC Mà HĨA MỘT ĐOẠN DỮ LIỆU NHẬP VÀO TỪ BÀN PHÍM TRONG MỘT BIẾN CỦA CHƯƠNG TRÌNH, CHO BIẾT THỜI GIAN Mà HĨA VÀ THỜI GIAN GIẢI Mà BẰNG NGƠN NGỮ C# Ngành: Cơng nghệ thông tin Chuyên ngành: Sinh viên thực hiện: Dương Khương Duy - CT040309 Lê Quý Vũ – CT040354 Nhóm 17 Người hướng dẫn: TS Nguyễn Đào Trường Khoa Công nghệ thông tin – Học viện Kỹ thuật mật mã Hà Nội, 2020 NỘI DUNG LỜI CẢM ƠN LỜI MỞ ĐẦU Chương Mật mã AES (Advanced Encryption Standard) 1.1 Định nghĩa .4 1.2 Cơ sở toán học AES 1.3 Mô tả mức cao thuật toán 1.3.1 Quy trình mã hóa: bao gồm bước: a) AddRoundKey .9 b) SubBytes c) ShiftRows 10 d) MixColumns 10 1.3.2 Quy trình giải mã .11 1.4 Đánh giá giải thuật AES 11 1.4.1 Ưu điểm giải thuật AES .12 1.4.2 Độ an toàn AES 12 1.4.3 Nhược điểm AES 12 Chương Demo Một số hàm mã hóa giải mã .13 2.1 Hàm mã hóa 13 2.1.1 AddRoudKey() 13 2.1.2 SubBytes() 13 2.1.3 ShiftRows() 14 2.1.4 MixColumns() 14 2.1.5 Thuật tốn mã hóa 15 2.2 Hàm giải mã 15 2.2.1 InvSubBytes() 15 2.2.2 InvShiftRows() 16 2.2.3 InvMixColumns() 16 2.2.4 Thuật toán giải mã .17 Chương Thời gian 18 3.1 Thời gian mã hóa 18 3.2 Thời gian giải mã 18 KẾT LUẬN 19 LỜI CẢM ƠN Trước tiên nhóm em xin gửi lời cảm ơn sâu sắc đến thầy TS Nguyễn Đào Trường, người thầy tận tâm, tận lực hướng dẫn, định hướng phương pháp nghiên cứu trình bày cho nhóm; đồng thời, cung cấp nhiều tài liệu tạo điều kiện thuận lợi suốt trình học tập nghiên cứu nhóm em hoàn thành dự án Do kiến thức thời gian có hạn nên dự án chắn khơng tránh khỏi thiếu sót định Một lần xin gửi lời cảm ơn chân thành sâu sắc Hà Nội, tháng năm 2021 Học viên thực Dương Khương Duy Lê Quý Vũ LỜI MỞ ĐẦU Vào năm 1997, viện tiêu chuẩn công nghệ quốc gia (NIST) Mỹ phát động thi nhằm xây dựng chuẩn mã liệu thay cho chuẩn mã liệu cũ DES đưa từ năm 1997 Qua trình tuyển chọn vào tháng 10 năm2000, NIST công bố chuẩn mã liệu lựa chọn thuật toán "Rijndael", 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 Khác với với DES sử dụng mạng Feistel, Rijndael sử dụng mạng thay thếhốnvị AES dễ dàng thực với tốc độ cao phần mềm phần cứng khơng địi hỏi nhiều nhớ Việc chấp nhận Rijndael AES cột mốc lớn lịch sử mật mã Rijndael nhanh chóng trở thành hệ mật sử dụng rộng rãi giới Với tầm quan trọng AES, việc tìm hiểu đánh giá độ an toàn AES trước công mật mã cần thiết Hiện nay, cịn nghiên cứu vấn đề Chính em chọn đề tài “Viết chương trình mã hóa giải mã mật mã AES” cụ thể “Mã hóa đoạn liệu nhập vào từ bàn phím biến chương trình, cho biết thời gian mã hóa thời gian giải mã ngơn ngữ C#” để nghiên cứu hồn thiện yêu cầu đề tài CHƯƠNG MẬT Mà AES (ADVANCED ENCRYPTION STANDARD) 1.1 Định nghĩa Trong mật mã học, Advanced Encryption Standard (tiếng Anh, viết tắt: AES, nghĩa Tiêu chuẩn mã hóa tiên tiến) 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ế hai 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 Rijndael phát âm "Rhine dahl" theo phiên âm quốc tế (IPA: [ɹaindal]) AES làm việc với khối liệu 128bit độ dài khóa 128bit, 192bit 256bit Các khóa mở rộng sử dụng chu trình tạo thủ tục sinh khóa Rijndael Hầu hết phép toán thuật toán AES thực trường hữu hạn byte Mỗi khối liệu đầu vào 128bit chia thành 16byte, xếp thành cột, cột phần tử hay ma trận 4x4 byte, gọi ma trận trạng thái Tùy thuộc vào độ dài khóa sử dụng 128bit, 192bit hay 256bit mà thuật toán thực với số lần lặp khác 1.2 Cơ sở toán học AES Trong AES phép toán cộng nhân thực byte trường hữu hạn GF()  Phép cộng: A = ( B = (); C = A + B = (), : Ví dụ: A = ; B= Dạng số Hecxa: + = 93 Dạng nhị phân: 01010110 + 00111101 = 10010011 Dạng đa thức: (+ + + x) + (+ + + + 1) = (+ + x + 1)  Phép nhân: A = ( B = (); C = A B = () Ví dụ: Document continues below Discover more from: máy tính Mang INT1336 Học viện Cơng ng… 266 documents Go to course Luận văn nghiên cứu 59 ứng dụng Blockchain Mang máy tính 100% (12) NHDT MMT - Đề ơn 42 84 thi trắc nghiệm… Mang máy tính 92% (26) De tai iot su dung esp - hệ thống cảm… Mang máy tính 100% (7) Bai giang Computer 193 Network 2012 1118 Mang máy tính 93% (14) DE-thi kì tin học sở Mang máy tính 100% (5) A = ; B= 300 cau hoi trac Dạng số Hecxa: ().() = Dạng nhị phân: (11000011).(10000101) = 1010111053 nghiem kien truc… Dạng đa thức: (+ + + 1) (++ 1) = (+ ++ + 1) Mang máy tính 100% (5) 1.3 Mơ tả mức cao thuật toán Bảng S- box thuận: Bảng S-box thuận sinh việc xác định nghịch đảo cho giá trị định GF() = GF(2)[x] / (+++x+1) (trường hữu hạn Rijindael) Giá trị khơng có nghịch đảo ánh xạ với Những nghịch đảo chuyển đổi thông qua phép biến đổi affine Bảng S- box nghịch: S-box nghịch đảo đơn giản S-box chạy ngược Nó tính phép biến đổi affine nghịch đảo giá trị đầu vào Phép biến đổi affine nghịch đảo biểu diễn sau: Sơ đồ tổng quát: 1.3.1 Quy trình mã hóa: bao gồm bước:  Khởi động vịng lặp o AddRoundKey — Mỗi cột trạng thái kết hợp với khóa theo thứ tự từ đầu dãy khóa  Vịng lặp o SubBytes — phép (phi tuyến) byte trạng thái byte khác theo bảng tra (Rijndael S-box) o ShiftRows — dịch chuyển, hàng trạng thái dịch vòng theo số bước khác o MixColumns — trình trộn làm việc theo cột khối theo phép biến đổi tuyến tính o AddRoundKey  Vịng lặp cuối o SubBytes o ShiftRows o AddRoundKey a) AddRoundKey Tại bước này, khóa kết hợp với khối Khóa chu trình tạo từ khóa với q trình tạo khóa Rijndael; khóa có độ dài giống khối Quá trình kết hợp thực cách XOR bít khóa với khối liệu b) SubBytes Chuyển hàng thứ (và hàng thứ 4) bảng khóa dạng nhị phân nhóm nhị phân bít, bít thứ hai tách tham gia vào việc lựa chọn thay S-box c) ShiftRows Các hàng dịch vòng số bước định o Hàng thứ giữ nguyên o Hàng thứ dịch vòng trái lần o Hàng thứ dịch vòng trái lần o Hàng thứ dịch vòng trái lần 10 d) MixColumns Trong bước MixColumns, cột nhân với đa thức c(x) = 3(modulo ) Vì thế, bước xem phép nhân ma trận trường hữu hạn 1.3.2 Quy trình giải mã Thuật tốn giải mã giống với thuật tốn mã hóa mặt cấu trúc hàm sử dụng hàm ngược q trình mã hóa Mã Hóa AddRoundKey() SubBytes() ShiftRows() MixColumns() Giải Mã InvAddRoundKey() InvSubBytes() InvShiftRows() InvMixColumns() 1.4 Đánh giá giải thuật AES Kể từ công nhận giải thuật mã hóa tiên tiến, AES ngày xã hội chấp nhận Ban đầu AES sử dụng để mã hóa liệu nhạy cảm Về sau này, người ta dùng để mã hóa thơng tin bí mật Giải thuật AES-192/256 sử dụng để bảo vệ thông tin mật tối mật Nó đưa vào tiêu chuẩn ISO, IETF, IEEE Cho đến nay, hàng trăm sản phẩm ứng dụng dựa theo tiêu chuẩn mã hóa AES NIST cấp chứng Ở Việt Nam, Thông tư số 01/2011/TT-BTTTT ban hành ngày 04 tháng 01 năm 2011 Bộ thông tin 11 truyền thông khuyến nghị sử dụng AES giải thuật mã hóa sử dụng cho thông tin, văn quan Nhà nước 1.4.1 Ưu điểm giải thuật AES AES giải thuật mã hóa có tốc độ xử lý nhanh, phủ Hoa Kỳ tun bố có độ an toàn cao, sử dụng làm tiêu chuẩn mã hóa thay cho tiêu chuẩn DES lỗi thời AES sử dụng để mã hóa thơng tin mật đến tuyệt mật AES có cấu trúc đơn giản, rõ ràng có mơ tả tốn học đơn giản 1.4.2 Độ an toàn AES Thiết kế độ dài khóa thuật tốn AES (128, 192 256 bit) đủ an toàn để bảo vệ thông tin xếp vào loại tối mật Các thơng tin tuyệt mật phải dùng khóa 192 256 bit Một vấn đề khác cấu rúc tốn học AES khơng giống với thuật tốn mã học khác, AES có mơ tả tốn học đơn giản Tuy điều chưa dẫn đến mối nguy hiểm số nhà nghiên cứu sợ có người lợi dụng cấu trúc tương lai Vào thời điểm năm 2006, dạng công AES thành công công kênh bên tức không công trực tiếp vào thuật tốn mã hóa mà thay vào cơng lên hệ thống thực thuật tốn có sơ hở làm lộ liệu 1.4.3 Nhược điểm AES Mặc dù AES đánh giá an toàn với phương pháp “tấn cơng kênh biên” chưa thực an tồn Cấu trúc tốn học AES mơ tả đơn giản Điều dẫn tới số mối nguy hiểm tương lai Giải thuật AES thực hiệu phần mềm phần cứng Thông thường với ứng dụng không yêu cầu cao hiệu tốc độ AES thực dạng phần mềm Với việc thực phần mềm, thuật tốn AES viết nhiều ngơn ngữ lập trình phổ biến C/C++, VB.NET, Java, C# vận hành nhiều hệ điều hành Windows, Linux… Khi thực phần cứng, thuật toán AES hỗ trợ thực hai dòng thiết bị: dòng thiết bị thứ 21 dựa vào hệ vi xử lý phụ kết hợp với hệ vi xử lý máy tính, dịng thiết bị thứ hai thường thiết kế dạng thẻ thông minh thiết bị giao tiếp thông qua cổng USB 12 CHƯƠNG DEMO MỘT SỐ HÀM Mà HÓA VÀ GIẢI Mà 2.1 Hàm mã hóa 2.1.1 AddRoudKey() 2.1.2 SubBytes() 13 2.1.3 ShiftRows() 2.1.4 MixColumns() 14 2.1.5 Thuật tốn mã hóa 2.2 Hàm giải mã 2.2.1 InvSubBytes() 15 2.2.2 InvShiftRows() 2.2.3 InvMixColumns() 16 2.2.4 Thuật toán giải mã 17 CHƯƠNG THỜI GIAN 3.1 Thời gian mã hóa Thời gian mã hóa tổng thời gian bắt đầu thực câu lệnh mã hóa kết thúc câu lệnh mã hóa Và tính đơn vị mini giây (ms) 3.2 Thời gian giải mã Thời giải mã hóa tổng thời gian bắt đầu thực câu lệnh giải mã kết thúc câu lệnh giải mã Và tính đơn vị mini giây (ms) 18 KẾT LUẬN Các kết đạt Dự án hồn thiện nhóm đạt kết sau: - Trình bày tốn xử lý ngơn ngữ tự nhiên ứng dụng - Giới thiệu xử lý văn tiếng Việt - Đưa giới thiệu tổng quan mật mã AES - Xây dựng thành cơng chương trình mã hóa giải mã mật mã AES cụ thể “Mã hóa đoạn liệu nhập vào từ bàn phím biến chương trình, cho biết thời gian mã hóa thời gian giải mã ngơn ngữ C#” - Viết chương trình demo hệ mật mã AES Khả ứng dụng thực tiễn dự án Kết dự án ứng dụng thực tiễn để bảo vệ giữ liệu lưu trữ bảo mật thông tin đường truyền Hướng phát triển dự án - Phần mềm demo dự án phát triển thành phần mềm di động để bảo mật thông tin thiết bị di động - Các thuật toán hệ mã AES hồn thiện để tạo sản phẩm phục vụ an ninh quốc gia 19 TÀI LIỆU THAM KHẢO Tiếng Việt [1] Lê Phê Đô, Mai Mạnh Trừng, Lê Thị Len, Nguyễn Văn Thắng, Lê Trung Thực,Lê Thị Thu Thảo, Đỗ Năng Thuận, Đỗ Công Thành, Hệ mật mã kép an toàn, từ trang 88 đến trang 95 Hội thảo quốc gia lần thứ XVII: Một số vấn đề chọn công nghệ thông tin Truyền thông – Đắk Lắk, 30 – 31/10/2014 [2] Trịnh Nhật Tiến, Giáo trình an tồn liệu, NXB Đại học Quốc Gia, 2008 [3] Trần Xuân Phương, Xác thực điện tử ứng dụng giao dịch hành chính,luận văn thạc sỹ, Trường ĐHCN – ĐHQG HN, 2015 [4] Nguyễn Bình (2004), Giáo trình Mật mã học, Học viện Cơng nghệ Bưu Viễn thơng, Nxb Bưu điện, 2004 [5] Đặng Hoài Bắc, (2010) “Các mã cyclic cyclic cục vành đa thức có hai lớp kề cyclic”, Luận án TS kỹ thuật [6] Nguyễn Thị Minh Huyền, Vũ Xuân Lương, Lê Hồng Phương, Sử dụng gán nhãn từ loại xác suất Qtag cho văn tiếng Việt Hội thảo khoa học quốc gia lần thứ Nghiên cứu phát triển ứng dụng công nghệ thông tin truyền thông, ICT.rda, 2003 20

Ngày đăng: 28/12/2023, 18:59

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

TÀI LIỆU LIÊN QUAN

w