BỘ CÔNG THƯƠNG TRƯỜ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 Môn: An toàn và bảo mật thông tin thông tin Đề tài 1: Ứng dụng thuật toán DES và lược đồ chia sẻ b
Trang 1BỘ CÔNG THƯƠNG TRƯỜ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 Môn: An toàn và bảo mật thông tin thông tin
Đề tài 1: Ứng dụng thuật toán DES và lược đồ chia sẻ bí mật vào thi
Trang 2Chươ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 3.2
3.2.4 4 Hướ Hướng ng phá phát t tri triển ển 34 34
22
Trang 3Chương Chương 4 4 Kết Kết luận luận 35 35
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
33
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ấp ninh 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 đi khô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ụng nhiều năm nhưng vẫn giữ được tính bảo mật của nó Tuy nhiên với công nghệ phát triển như hiện nay thì thuật toán DES trở lên không được an toàn tuyệt đối nữa, người ta đã đưa ra thuật toán 3DES dựa trên nền tảng của thuậ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ất nhiề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ập tới một lĩnh vực đó là ứng dụng trong thi tuyển sinh.
44
Trang 5
Vấn đề thi tuyển sinh ở nước ta trở thành gánh nặng cho ngành giáo dục và các ban ngành khác liên quan Nó làm tổn hại về kinh tế và công sứ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ức hà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ệc thi 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 sinh hai đ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 N Nội ội du dun ng n g nggh hiê iên n cứ cứu u
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 DES thự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 l n chia sẻ bí mật của lagrange agrange
Ứ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óa củ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 C Ch hủ đ ủ đề n ề nggh hiiêên c n cứ ứu u
Ứ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ĩnh vự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
55
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êu yêu thí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ật oá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ức 1.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ôi khô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 tin an 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ận chuyển dữ liệu và thông tin trong môi trường truyền thông.
Hiểu các loại nguy cơ đối Hiểu các loại nguy cơ đối với dữ liệu: mất cắp, mất an với dữ liệu: mất cắp, mất an toàn (safety) về toàn (safety) về vật lý (hư hỏng môi trường lưu giữ, các thảm họa - chiến tranh, thiên
66
Trang 7
tai, 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àn vẹ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ính sá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ính sách cơ bản về an toàn thông tin và một số văn bản pháp luật về an toà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ụng CNTT.
77
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ình lập trình
V Vớới C i C+ ++ +,,C C##,,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 giao tài được giao 1.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 DES thự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 l n chia sẻ bí mật của lagrange agrange
Ứ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óa của lagrange để phân phối khóa
88
Trang 9
Chương Chương 2 2 Kết Kết quả quả nghiên nghiên cứu cứu
22 11 G Giiớ ới i tth hiiệệu u
- 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ào mật vào thi tuyển sinh.
Nội dung nghiên Nội dung nghiên cứu cứ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 Lan chia sẻ bí mật của Langrange grange
Ứ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óa củ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à g iểu cách mã hóa và giải mã của hệ mật m iả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óa khó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 d dun ung g tthu huậ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ại ngược lại
Về thuật toán chia sẻ bí mật Giai đ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à: x ii , 1≤ i
≤ w (w ≥ p+1).
Với 1≤ i ≤ w, D cho giá trị x ii cho p ii Các giá trị x ii là công khai.
99
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ẫu nhiên và độc lập) t-1 phần tử Zp, a ii …a i-1
3 Với 1 ≤ i ≤ w, D tính y ii = a (x ii ), trong đó
a(x) = k+
4 Với 1 ≤ i ≤ w, D sẽ trao mảnh y ii cho p ii
Về thuật toán khôi phục khóa theo công thức nội suy Larange Tất cả n người A 11 ,A ,A 22 ,… A nn có thể hợp tác lại để khôi phục lại bí mật S bằng cách tính:
mod
10
Trang 11
2.3 2.3 Thi Thiế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án n 2.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ã DES hệ mật mã DES
11
Trang 122.44 Cà Cài đ i đặt ặt và và ttri riển ển kh khai ai
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:
Nhập chuỗi bản rõ: 0123456789A Nhập chuỗi bản rõ: 0123456789ABCDEF BCDEF Nhập Key: 147258369abc
Nhập Key: 147258369abcdeff deff Sau đó nhấn mã hóa:
12
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.
14
Trang 15
22 55 T Th hự ực h c hiiệện b n bàài t i tooáán n
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ã DES t mã DES 1.
1 Giớ Giới t i thiệ hiệu c u chun hung v g về D ề DES ES
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ứu nhà 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 ta chỉ 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 ( Data mã Trong đó mã DES ( Data Encryption 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ề ti y ban quốc gia về tiêu chuẩn của Mỹ côn êu chuẩn của Mỹ công bố yêu g bố yêu cầ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óng cho 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 ứng hóa dữ liệu cho các ứng dụng.
2.
2 Đặc Đặc điể điểm củ m của th a thuật uật toá toán DE n DES S
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ó 56 64bit 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óa dụng cùng 1 khóa 3.
3 Mô Mô tả tả th thuậ uật t t toá oán n.
2 Thuật toán gồm 3 giai đoạn:
3 Giai đoạn 1:
4 Input: bản rõ x có độ dài Input: bản rõ x có độ dài 64 bit được hoán vị khởi tạo IP thu được xâu 64 bit được hoán vị khởi tạo IP thu được xâu xx 00
15
T Têên n ssiinnh h vviiêênn T Têên n ccôônng g vviiệệcc Ho
Hoàn àng Đ g Đức ức An Anhh Ứn Ứng d g dụn ụng l g lượ ược đ c đồ c ồ chi hia s a sẻ b ẻ bí m í mật ật củ của L a Lag agra rang nge đ e để p ể phâ hân p n phố hối k i khó hóaa L
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 xx 00 (64 bit) = IP(x) = L 00 R 00
7 L 00 : 32 bit đầu của x 00
8 R 00 : 32 bit cuối của x 00
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 1717
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, …