BỘ CÔNG THƯƠNGTRƯỜNG ĐẠI HỌC CÔNG NGHIỆP HÀ NỘI ---BÀI TẬP LỚN Môn: An toàn và bảo mật Đề tài 1: Ứng dụng thuật toán DES và lược đồ chia sẻ bí mật vào thi... Trên thế giới có rất nhiều
Trang 1BỘ CÔNG THƯƠNGTRƯỜNG ĐẠI HỌC CÔNG NGHIỆP HÀ NỘI
-BÀI TẬP LỚN Môn: An toàn và bảo mật
Đề tài 1: Ứng dụng thuật toán DES và lược đồ chia sẻ bí mật vào thi
Trang 2MỤC LỤC
Chương 1
Chương 1 Tổng quan Tổng quan 3 3
1.1 Mục Mục tiêu tiêu đề đề tài tài 33
1.2 Nội Nội dung dung nghiên nghiên cứu cứu 5 5
1.3 Chủ Chủ đề đề nghiên nghiên cứu cứu 55
1.4 Kiến Kiến thức thức bắt bắt buộc buộc 5 5
1.5 Lĩnh Lĩnh vực vực nghiê nghiên n cứu cứu 66
1.6 1.6 Phư Phương ơng phá pháp p ngh nghiên iên cứu cứu .7 7
1.7 1.7 Tìm hiểu Tìm hiểu về ngôn về ngôn ngữ lập ngữ lập trì trình nh 7 7
1.8 Cách Cách thực thực hiện hiện đề đề tài tài 88
Chương Chương 2.2 Kết Kết quả quả nghiên nghiên cứu cứu 88
2.1 Giớ Giới i thi thiệu ệu 8 8
2.2 Nội Nội dun dung g thu thuật ật toá toán n 9 9
2.3 Thi Thiết kế, cà ết kế, cài đặt chư i đặt chương tr ơng trình đề mô th ình đề mô thuật to uật toán án 11 11
2.3 2.3.1 1 Gia Giao o diệ diện n chư chương ơng trì trình nh đề đề mô mô 11 11
2.4 Cài Cài đặt đặt và và tri triển ển kha khai i 12 12
2.5 Thự Thực c hiệ hiện n bài bài toá toán n 15 15
2.5.1 Phân Phân công công công công việc việc 15 15
2.5 2.5.2 2 Lê Đức Anh – Tìm hi Lê Đức Anh – Tìm hiểu hệ mật m ểu hệ mật mã DES ã DES 15 15 2.5 2.5.3 3 Nuy Nuyễn Ti ễn Tiến An ến Anh – Ngh h – Nghiên iên cứu b cứu bài t ài toán c oán chia s hia sẻ bí m ẻ bí mật La ật Langr ngrang ange e 24 24
Demo Chương trình 26
2.5.4 : Hoàng Đức Anh - Ứng dụng lược đồ chia sẻ bí mật của Lagrange để phân phối khóa 29
Chương 3 Chương 3 Phần kiến Phần kiến thức lĩnh thức lĩnh hội và bài hội và bài học kinh học kinh nghiệm nghiệm 33 33
3.1 Nội Nội dun dung g đã đã thự thực c hiệ hiện n 33 33
3.2 Hướ Hướng ng phá phát t tri triển ển 34 34
3.2 3.2.1 1 Xác định tính khả thi của Xác định tính khả thi của đề tài đề tài 34 34
3.2 3.2.2 2 Nhữn Những g thu thuận lợi ận lợi tr trong quá trình nghi ong quá trình nghiên cứu ên cứu 34 34 3.2
3.2.3 3 Nhữn Những khó khăn tron g khó khăn trong quá trình ngh g quá trình nghiên cứu iên cứu .34 34
Trang 3Chương Chương 4.4 Kết Kết luận luận 3535
1 Tìm Tìm hiể hiểu u lí lí thu thuyết yết về về mật mật mã mã 3 355
2 Phầ Phần n ứng ứng dụn dụng g 3 355
Tài Tài liệu liệu tham khảo tham khảo 36 36
Trang 4điện tử: thư điện tử, chuyển tiền, thương mại điện tử, chính chuyển tiền, thương mại điện tử, chính phủ điện tử…đãphủ điện tử…đãđược áp dụng rộng rãi.
Khi các ứng dụng trên mạng máy ngày càng trở lên phổ biến, thuận lợi
và quan trọng thì yêu cầu về an toàn mạng, an
và quan trọng thì yêu cầu về an toàn mạng, an ninh dữ liệu càng trở lên cấpninh dữ liệu càng trở lên cấp bách và cần thiết
Trên thế giới có rất nhiều quốc gia, nhiều nhà khoa học nghiên cứu vềvấn đề bảo mật, đưa ra nhiều thuật toán với mục đích thông tin truyền đikhông bị lấy cắp hoặc nếu bị lấy cắp thì cũng không thể sử dụng được.Trong đề tài của chúng em đưa ra một thuật toán đó là thuật toán DES(Data encryption standard) đây là thuật toán chuẩn của Mỹ, được Mỹ vànhiều nước trên thế giới sử dụng, thuật toán này đã được đưa vào sử dụngnhiều năm nhưng vẫn giữ được tính bảo mật của nó Tuy nhiên với côngnghệ phát triển như hiện nay thì thuật toán DES trở lên không được an toàntuyệt đối nữa, người ta đã đưa ra thuật toán 3DES dựa trên nền tảng củathuật toán DES nhưng số bít được mã hóa tăng lên
Mã hóa và các lược đồ chia sẻ bí mật có thể được ứng dụng trong rấtnhiều lĩnh vực ví dụ: phát hành thẻ ATM trong ngân hàng, đấu thầu từ xa,trong thi tuyển sinh, trong lĩnh vực quân sự… Trong đề tài của em đề cậptới một lĩnh vực đó là ứng dụng trong thi tuyển sinh
Trang 5Vấn đề thi tuyển sinh ở nước ta trở thành gánh nặng cho ngành giáodục và các ban ngành khác liên quan Nó làm tổn hại về kinh tế và côngsức không chỉ đối với các ban ngành tham gia tổ chức kỳ thi mà ngay cảđối với các thí sinh dự thi, nhưng đó là điều bắt buộc phải được tổ chứchàng năm Do vậy làm sao để giảm thiểu các khâu trong thi tuyển sinh màvẫn đảm bảo tính công bằng và chính xác là điều cần thiết, theo nhóm em
để làm được điều đó chúng ta nên ứng dụng công nghệ thông tin vào việcthi tuyển sinh, một trong những ứng dụng đó là ứng dụng lược
thi tuyển sinh, một trong những ứng dụng đó là ứng dụng lược đồ chia sẻ bíđồ chia sẻ bímật vì nó đảm bảo được tính bí mật và chính xác mà trong thi tuyển sinhhai điều đó là quan trọng nhất
Phạm vi bài toán đề cập đến Phạm vi bài toán đề cập đến mật mã, thuật toán DES, lược đồ chia mật mã, thuật toán DES, lược đồ chia sẻ bísẻ bímật và ứng dụng của chúng trong thi tuyển sinh
11.2.2 NNội ội dudunng ng ngghhiêiên n cứcứuu
Tìm hiểu mã hóa DES và các bước Tìm hiểu mã hóa DES và các bước thực hiện mã hóa DESthực hiện mã hóa DES
Tìm hiểu giải mã DES và các vấn Tìm hiểu giải mã DES và các vấn đề liên quan đến DESđề liên quan đến DES
Nghiên cứu bài toá Nghiên cứu bài toán chia sẻ bí mật của ln chia sẻ bí mật của lagrangeagrange
Ứng dụng lược đồ chia sẻ bí mật Ứng dụng lược đồ chia sẻ bí mật của lagrange để phân phối khóacủa lagrange để phân phối khóa
Demo chương trình (Sử dụng ngôn ngữ Demo chương trình (Sử dụng ngôn ngữ C++)C++)
Demo chương trình (Sử dụng ngôn ngữ Demo chương trình (Sử dụng ngôn ngữ C#)C#)
Demo chương trình (Sử dụng ngôn ngữ Demo chương trình (Sử dụng ngôn ngữ Java)Java)11 33 CChhủ đủ đề nề ngghhiiêên cn cứứuu
Ứng dụng thuật toán DES và lược Ứng dụng thuật toán DES và lược đồ chia sẻ bí mật vào thi tuyển đồ chia sẻ bí mật vào thi tuyển sinh sinh thuộc lĩnhvực đảm bảo tính an toàn, toàn vẹn đảm bảo tính an toàn, toàn vẹn dữ liệu dữ liệu.
1.4.Kiến thức bắt buộc
Kiến thức chuyên ngành
Trang 6Yêu cầu có kiến thức về công nghệ thông tin, sử dụng thành thạo một sốngôn ngữ lập trình như C, C++, C#, Java Và đặc biệt am hiểu về an toàn bảo
bảo mật mật thông thông tin tin Ngoài Ngoài các các kiến kiến thức thức trên trên không không thể thể bỏ bỏ qua qua yếu yếu tố tố yêuyêuthích với an toàn bảo mật thông tin và đam
thích với an toàn bảo mật thông tin và đam mê lập trình.mê lập trình
Kiến thức về hệ mã DES
Đặc điểm của hệ mã hóa DES
Thuật toán mã hóa, giải mã
Ưu nhược điểm
Cách tính hàm f
Nắm vững được bài t Nắm vững được bài toán chia sẻ bí mậtoán chia sẻ bí mật
Sơ đồ chia sẻ bí mật
Công thức nội suy Lagrange
Phép nội suy đa thức1.5.Lĩnh vực nghiên cứu
Đề tài
Đề tài “ “ Ứng dụng thuật toán DES và lược đồ chia sẻ bí mật vào thi tuyểnỨng dụng thuật toán DES và lược đồ chia sẻ bí mật vào thi tuyển sinh”
sinh” thuộc lĩnh vực an toàn bảo thuộc lĩnh vực an toàn bảo mật thông tin.mật thông tin
Nghiên cứu các vấn đề liên Nghiên cứu các vấn đề liên quan đến thuật toán DES, mã hóa, giải mã DES,quan đến thuật toán DES, mã hóa, giải mã DES,chia sẻ khóa theo phương thức chia sẻ bí mật Shamir, khôi phục khóa bằng phương
phương pháp pháp dùng dùng công công thức thức nội nội suy suy Lagrange, Lagrange, chia chia sẻ sẻ khóa khóa bí bí mật mật và và khôikhôi phục khóa bằng m
phục khóa bằng mạch đơn điệu.ạch đơn điệu
Kiến thức cơ bản về Kiến thức cơ bản về an toàn thông tinan toàn thông tin
Biết phân biệt giữa dữ liệu và thông tin Biết cách thức lưu trữ, vậnchuyển dữ liệu và thông tin trong môi trường truyền thông
Trang 7tai, cháy nổ), không đảm bảo an toàn thông tin trong khai thác, sửdụng.
Hiểu nguồn gốc các nguy cơ đối với việc đảm bảo an toàn thông tin:
từ nhân viên, các nhà cung cấp dịch vụ, từ các cá nhân bên ngoài.Hiểu khái niệm tội
Hiểu khái niệm tội phạm mạng (cybercrime).phạm mạng (cybercrime)
Biết về các lỗ hổng bảo mật hệ thống: của hệ điều hành, hệ quản Biết về các lỗ hổng bảo mật hệ thống: của hệ điều hành, hệ quản trị cơ trị cơ
sở dữ liệu, dịch vụ Internet Biết các khái niệm và phương thức hoạtđộng của các thiết bị bảo mật
Các lĩnh vực an toàn thông tin
Hiểu và phân biệt việc đảm bảo an toàn cho tổ chức như chính phủ,
doanh nghiệp và đảm bảo an toàn cho cá nhân khi tham gia các hoạtđộng trên mạng
Biết các đặc trưng cơ bản của an toàn thông tin: tính mật, tính toànvẹn, tính sẵn sàng, tính xác thực
Biết các quy định phổ biến về bảo vệ, gìn giữ và kiểm soát dữ liệu, sựriêng tư tại Việt Nam
Hiểu vai trò của các lĩnh vực liên quan đến an toàn dữ liệu: chínhsách, tổ chức, biện pháp quản lý và
sách, tổ chức, biện pháp quản lý và các giải pháp công nghệ.các giải pháp công nghệ
Biết về tiêu chuẩn TCVN ISO/IEC 27001:2009 Biết một số chínhsách cơ bản về an toàn thông tin và một số văn bản pháp luật về antoàn thông tin của Việt Nam Hiểu tầm quan trọng của việc xây dựng
và thi hành chính sách an toàn thông tin đối với việc ứng dụngCNTT
Trang 81.6.Phương pháp nghiên cứu.
Sử dụ Sử dụng c ng các c ác công c ông cụ sa ụ sau: W u: Word ord, De , DevC, V vC, Visu isual S al Stud tudio, io,…… ……
N Ngô gôn n n ngữ gữ: C : C++ ++, C , C##, j , jav avaa
1.7.Tìm hiểu về ngôn ngữ 1.7.Tìm hiểu về ngôn ngữ lập trìnhlập trình
VVớới Ci C++++,,CC##,,jjaavvaa+ Tìm hiểu về hướng đối tượng+ Tìm hiểu về
+ Tìm hiểu về các kiểu dữ liệu, khai báo biến, vòng lặp, thao tác với chuỗi,các kiểu dữ liệu, khai báo biến, vòng lặp, thao tác với chuỗi,
mảng, constructor, method, object, class, cấp độ truy cập dữ liệu+ Nghiên cứu cách giải quyết bài toán
+ Vận dụng kiến thức tìm hiểu thực hiện giải đề + Vận dụng kiến thức tìm hiểu thực hiện giải đề tài được giaotài được giao1.8.Cách thực hiện đề tài
Tìm hiểu mã hóa DES và các bước
Tìm hiểu mã hóa DES và các bước thực hiện mã hóa DESthực hiện mã hóa DES
Tìm hiểu giải mã DES và các vấn Tìm hiểu giải mã DES và các vấn đề liên quan đến DESđề liên quan đến DES
Nghiên cứu bài toá Nghiên cứu bài toán chia sẻ bí mật của ln chia sẻ bí mật của lagrangeagrange
Ứng dụng lược đồ chia sẻ bí mật Ứng dụng lược đồ chia sẻ bí mật của lagrange để phân phối khóacủa lagrange để phân phối khóa
Trang 9Chương Chương 2 2 Kết Kết quả quả nghiên nghiên cứu cứu
22 11 GGiiớới i tthhiiệệuu
- Tên đề tài nghiên cứu: Ứng dụng thuật toán DES
- Tên đề tài nghiên cứu: Ứng dụng thuật toán DES và lược đồ chia sẻ bí và lược đồ chia sẻ bí mật vàomật vàothi tuyển sinh
Nội dung nghiên
Nội dung nghiên cứucứu
Tìm hiểu mật mã DES
Nghiên cứu bài toán Nghiên cứu bài toán chia sẻ bí mật của Lanchia sẻ bí mật của Langrangegrange
Ứng dụng lược đồ chia sẻ bí mật Ứng dụng lược đồ chia sẻ bí mật của Langrange để phân phối khóacủa Langrange để phân phối khóa
Demo chương trình
- Các bước thực hiện triển khai đề tài
- Các bước thực hiện triển khai đề tài bao gồm:bao gồm:
Nghiên cứu, tìm h Nghiên cứu, tìm hiểu cách mã hóa và giểu cách mã hóa và giải mã của hệ mật miải mã của hệ mật mã DESã DES
Nghiên Nghiên cứu cứu bài bài toán toán chia chia sẻ sẻ bí bí mật mật của của Langrange, Langrange, từ từ đó đó áp áp dụng dụng lược lược đồđồchia sẻ bí mật để phân phối
chia sẻ bí mật để phân phối khóakhóa
Thiết kế và cài đặt chương trình demo thuật toán DES
- Hình thức sản phẩm: Sản phẩm bản mẫu
- Kết quả đạt được:
Quyển báo cáo bài tập lớn
Chương trình demo thuật toán
2
2.22 NộNội i ddunung g tthuhuật ật ttooánán
Về Mã hóa và giải mã DES
Thuật toán hoán vị các bảng IP, IP-1, E, P, PC-1
Thuật toán dịch bit sang trái
Thuật toán chuyển cơ số
Thuật toán chuyển mảng 1 chiều sang 2 chiều và Thuật toán chuyển mảng 1 chiều sang 2 chiều và ngược lạingược lại
Về thuật toán chia sẻ bí mậtGiai đoạn khởi tạo:
1. D chọn w phần tử khác nhau và khác 0 trong Zp và kí hiệu chúng là: xii, 1≤ i
≤ w (w ≥ p+1)
Với 1≤ i ≤ w, D cho giá trị xii cho pii Các giá trị xii là công khai
Trang 10Phân phối mản Phân phối mảnh:h:
2. Giả sử D muốn phân chia khóa k ∈ Zp D sẽ chọn một cách bí mật (ngẫunhiên và độc lập) t-1 phần tử Zp, aii…ai-1
3. Với 1 ≤ i ≤ w, D tính yii = a (xii), trong đó
a(x) = k+
4. Với 1 ≤ i ≤ w, D sẽ trao mảnh yii cho pii
Về thuật toán khôi phục khóa theo công thức nội suy LarangeTất cả n người A11 ,A,A22,… Ann có thể hợp tác lại để khôi phục lại bí mật S bằngcách tính:
mod
Trang 112.32.3 ThiThiết kết kế, cế, cài đài đặt cặt chưhương ơng trìtrình nh đề mđề mô thô thuật uật toátoánn2.3.1Giao diện chương trình đề mô
Hình 1 Hình 1 : Giao diện chương trình như sau : Giao diện chương trình như sau
Chức năng của chương trình gồm mã hóa và giải mã Chức năng của chương trình gồm mã hóa và giải mã hệ mật mã DEShệ mật mã DES
Trang 122.44 CàCài đi đặt ặt và và ttririển ển khkhaiai
Giới thiệu công cụ:
Phần mềm IntelliJ IDEA, sản phẩm nổi tiếng của JetBrains đã nhận được rất nhiều giải thưởng Phần mềm được thiết kế để cải tiến năng
giải thưởng Phần mềm được thiết kế để cải tiến năng suất cho các nhà phát triển IntelliJ suất cho các nhà phát triển IntelliJ IDEA cung cấp trình soạn thảo thông minh, trình phân
IDEA cung cấp trình soạn thảo thông minh, trình phân tích mã và tập hợp mạnh tích mã và tập hợp mạnh mẽ của mẽ của refactorings hỗ trợ một loạt các ngôn ngữ lập
refactorings hỗ trợ một loạt các ngôn ngữ lập trình, các khuôn khổ và công trình, các khuôn khổ và công nghệ, và đã nghệ, và đã sẵn sàng để sử dụng.
Hướng dẫn chạy chương trình Demo:
Trang 14Sau đó bấm giải mã:
Bản Rõ nhận được đúng với ban đầu là 0123456798ABCDEF.
Tuy nhiên dãy khóa K dùng để giải mã ngược với dãy khóa K dùng để mã hóa Đây là sự khác nhau giữa mã hóa và giải mã của hệ mật mã DES.
Trang 1522 55 TThhựực hc hiiệện bn bàài ti tooáánn
2.5.1 2.5.1 Phân công công việc Phân công công việc
2.5.2 2.5.2 Lê Đức Lê Đức Anh – Tìm Anh – Tìm hiểu hệ mậhiểu hệ mật mã DESt mã DES1
1 GiớGiới ti thiệhiệu cu chunhung vg về Dề DESES
Sau những năm 70 của thế kỉ trước, các Sau những năm 70 của thế kỉ trước, các nhà toán học đã nghiên cứunhà toán học đã nghiên cứu
và tạo ra nhiều phương thức mật mã với tốc
và tạo ra nhiều phương thức mật mã với tốc độ mã hóa rất nhanhđộ mã hóa rất nhanh(hàng trục thậm chí hàng trăm kilo Byte trong một giây) và người tachỉ cầm giữ bí mật khóa mã
chỉ cầm giữ bí mật khóa mã và mã hóa được mọi dữ liệu tùy ý và mã hóa được mọi dữ liệu tùy ý Đó làĐó làmột bước tiến vĩ đại của kĩ thuật mật
một bước tiến vĩ đại của kĩ thuật mật mã Trong đó mã DES ( Datamã Trong đó mã DES ( DataEncryption Standard) là một điển hình của
Encryption Standard) là một điển hình của bước tiến này.bước tiến này
Ngày 13/5/1973 ủ Ngày 13/5/1973 ủy ban quốc gia về tiy ban quốc gia về tiêu chuẩn của Mỹ cônêu chuẩn của Mỹ công bố yêug bố yêucầu về hệ mật mã áp
cầu về hệ mật mã áp dụng cho toàn quốc Điều này đã dụng cho toàn quốc Điều này đã đặt nền móngđặt nền móngcho chuẩn mã hóa dữ liệu DES
Lúc đầu DES được công ty IBM phát triển từ Lúc đầu DES được công ty IBM phát triển từ hệ mã Lucifer, công bốhệ mã Lucifer, công bốvào năm 1975
Sau đó DES được xem như là chuẩn mã Sau đó DES được xem như là chuẩn mã hóa dữ liệu cho các ứnghóa dữ liệu cho các ứngdụng
2
2 Đặc Đặc điểđiểm củm của tha thuật uật toátoán DEn DESS
DES là thuật toán mã hóa khối, độ dài DES là thuật toán mã hóa khối, độ dài mỗi khối là 64bit.mỗi khối là 64bit
Khóa dùng trong DES có độ dài toàn bộ là Khóa dùng trong DES có độ dài toàn bộ là 64bit Tuy nhiên chỉ có 5664bit Tuy nhiên chỉ có 56 bit thực sự được sử dụng
bit thực sự được sử dụng; 8 bit còn lại chỉ ; 8 bit còn lại chỉ dùng cho việc kiểdùng cho việc kiểm tra.m tra
DES xuất ra bản mã 64bit
Thuật toán thực hiện 16 vòng
Mã hóa và giải mã được sử Mã hóa và giải mã được sử dụng cùng 1 khóadụng cùng 1 khóa3
3 Mô Mô tả tả ththuậuật tt toáoán.n
2 Thuật toán gồm 3 giai đoạn:
Lê ê Đ Đứức c A Annhh T Tììm m hhiiểểu u m mậật t m mã ã D DE ES S
Trang 165 IP
6 x xx00 (64 bit) = IP(x) = L00.R 00
7 L00: 32 bit đầu của x00
8 R 00: 32 bit cuối của x00
9 Bộ chuyển vị IP: Hoán đổi vị trí các Bộ chuyển vị IP: Hoán đổi vị trí các bit trong xâu đầu vào.bit trong xâu đầu vào
Trang 18IP là một phép hoán vị vị trí của các ký tự trong mỗi từ 64 bit, từ vị trí thứ 1 đến vị trí thứ 64.
Cách hiểu là bit thứ nhất của IP(x) là bit thứ 58 của từ x( có 64 bit), bit thứ hai của IP(x) là
bit), bit thứ hai của IP(x) là bit thứ 50 của x, … bit thứ 50 của x, …