1. Trang chủ
  2. » Công Nghệ Thông Tin

ỨNG DỤNG THUẬT TOÁN DES VÀ LƯỢC ĐỒ CHIA SẺ BÍ MẬT TRONG ĐĂNG KÝ BỎ PHIẾU ĐIỆN TỬ

48 56 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 đề Ứng Dụng Thuật Toán Des Và Lược Đồ Chia Sẻ Bí Mật Trong Đăng Ký Bỏ Phiếu Điện Tử
Người hướng dẫn CBHD: Nhóm
Trường học Trường Đại Học Công Nghiệp Hà Nội
Chuyên ngành An Toàn Và Bảo Mật Thông Tin
Thể loại Bài Tập Lớn
Năm xuất bản 2022
Thành phố Hà Nội
Định dạng
Số trang 48
Dung lượng 2,27 MB

Cấu trúc

  • Chương 1. Tổng quan

    • 1.1. Mục tiêu đề tài

    • 1.2. Nội dung nghiên cứu

    • 1.3. Chủ đề nghiên cứu

    • 1.4. Kiến thức bắt buộc.

    • 1.5. Lĩnh vực nghiên cứu.

    • 1.6. Phương pháp nghiên cứu.

    • 1.7. Tìm hiểu về ngôn ngữ lập trình

    • 1.8. Cách thực hiện đề tài

  • Chương 2. Kết quả nghiên cứu

    • 2.1 Giới thiệu

    • 2.2 Nội dung thuật toán

    • 2.3 Thiết kế, cài đặt chương trình đề mô thuật toán

      • 2.3.1 Giao diện chương trình đề mô

    • 2.4 Cài đặt và triển khai

    • 2.5 Thực hiện bài toán

      • 2.5.1 Phân công công việc

      • 2.5.2 Tìm hiểu hệ mật mã DES

      • 2.5.3 Nghiên cứu bài toán chia sẻ bí mật Langrange

        • 1.1.1.1 Khái niệm chia sẻ bí mật

        • 2.5.3.1 Sơ đồ chia sẻ bí mật

          • 2.5.3.1.1 Khái niệm sơ đồ chia sẻ bí mật

          • 2.5.3.1.2 Định nghĩa

      • 2.5.4 Ứng dụng lược đồ chia sẻ bí mật của Lagrange để phân phối khóa

    • 2.6 Chương trình demo

      • 2.6.1 Chương trình demo bằng ngôn ngữ Java

      • 2.6.2 Chương trình demo bằng ngôn ngữ C++

      • 2.6.3 Chương trình demo bằng ngôn ngữ Python

      • 2.6.4 Chương trình demo bằng ngôn ngữ C#

      • 2.6.5 Chương trình demo bằng ngôn ngữ JavaScript

  • Chương 3. Phần kiến thức lĩnh hội và bài học kinh nghiệm

    • 3.1 Nội dung đã thực hiện

    • 3.2 Hướng phát triển.

      • 3.2.1 Xác định tính khả thi của đề tài

      • 3.2.2 Những thuận lợi trong quá trình nghiên cứu.

      • 3.2.3 Những khó khăn trong quá trình nghiên cứu

      • 3.2.4 Hướng phát triển

  • Chương 2. Kết luận

    • 1. Tìm hiểu lí thuyết về mật mã

    • 2. Phần ứng dụng

  • Tài liệu tham khảo

Nội dung

Mẫu 1 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 thông tin ĐỀ TÀI 8 ỨNG DỤNG THUẬT TOÁN DES VÀ LƯỢC ĐỒ CHIA SẺ BÍ MẬT TRONG ĐĂNG KÝ BỎ PHIẾU ĐIỆN TỬ CBHD Nhóm Thành viên nhóm Hà Nội 2022 MỤC LỤC Chương 1 Tổng quan 3 1 1 Mục tiêu đề tài 3 1 2 Nội dung nghiên cứu 4 1 3 Chủ đề nghiên cứu 4 1 4 Kiến thức bắt buộc 4 1 5 Lĩnh vực nghiên cứu 5 1 6 Phương pháp nghiên cứu 6 1 7 Tìm hiểu về ngôn ngữ lập trình 7 1 8 Cách thực hiện đề tài 7 Chương 2 Kết quả nghiên cứ.

Tổng quan

Mục tiêu đề tài

Hiện nay, sự phát triển mạnh mẽ của mạng máy tính đã dẫn đến việc mỗi quốc gia thiết lập mạng riêng, tạo thành một hệ thống mạng toàn cầu đa dạng Internet đã trở thành công cụ phổ biến cho nhiều dịch vụ điện tử như thư điện tử, chuyển tiền, thương mại điện tử và chính phủ điện tử, được áp dụng rộng rãi trong đời sống hàng ngày.

Với sự gia tăng phổ biến và tầm quan trọng của các ứng dụng trực tuyến, nhu cầu về an toàn mạng và bảo mật dữ liệu ngày càng trở nên cấp bách và thiết yếu.

Trên thế giới, nhiều quốc gia và nhà khoa học nghiên cứu về bảo mật thông tin, phát triển các thuật toán nhằm ngăn chặn việc đánh cắp dữ liệu Một trong những thuật toán nổi bật là DES (Data Encryption Standard), được Mỹ và nhiều quốc gia khác áp dụng Mặc dù đã tồn tại nhiều năm, DES vẫn đảm bảo tính bảo mật nhất định Tuy nhiên, với sự tiến bộ của công nghệ, thuật toán này không còn hoàn toàn an toàn, dẫn đến sự ra đời của 3DES, nâng cao khả năng mã hóa bằng cách tăng số bít.

Mã hóa và các lược đồ chia sẻ bí mật có nhiều ứng dụng quan trọng, như phát hành thẻ ATM trong ngân hàng, đấu thầu từ xa, thi tuyển sinh và quân sự Bài viết này sẽ tập trung vào ứng dụng của chúng trong đăng ký bỏ phiếu điện tử, một lĩnh vực ngày càng được chú trọng trong việc bảo đảm an toàn và minh bạch trong quá trình bầu cử.

Bỏ phiếu yêu cầu tính bí mật và chính xác tuyệt đối, và với sự phát triển của công nghệ thông tin, việc áp dụng công nghệ vào quy trình bỏ phiếu là khả thi Đăng ký bỏ phiếu, một bước quan trọng trong quá trình này, cũng cần đảm bảo tính bí mật và chính xác Việc ứng dụng công nghệ thông tin trong đăng ký bỏ phiếu là cần thiết, trong đó lược đồ chia sẻ bí mật được xem là một giải pháp hiệu quả để bảo vệ hai yếu tố quan trọng nhất trong bỏ phiếu: bí mật và chính xác.

Phạm vi bài toán đề cập đến mật mã, thuật toán DES, lược đồ chia sẻ bí mật và ứng dụng của chúng trong đăng ký bỏ phiếu.

Nội dung nghiên cứu

 Tìm hiểu mã hóa DES và các bước thực hiện mã hóa DES

 Tìm hiểu giải mã DES và các vấn đề liên quan đến DES

 Nghiên cứu bài toán chia sẻ bí mật của lagrange

 Ứng dụng lược đồ chia sẻ bí mật của lagrange để phân phối khóa

 Demo chương trình (Sử dụng ngôn ngữ C++)

 Demo chương trình (Sử dụng ngôn ngữ C#)

 Demo chương trình (Sử dụng ngôn ngữ Java)

 Demo chương trình (Sử dụng ngôn ngữ Python)

Chủ đề nghiên cứu

Ứng dụng thuật toán DES và lược đồ chia sẻ bí mật vào đăng ký bỏ phiếu thuộc lĩnh vực đảm bảo tính an toàn, toàn vẹn dữ liệu.

Kiến thức bắt buộc

Để đáp ứng yêu cầu công việc, ứng viên cần có kiến thức vững về công nghệ thông tin và thành thạo các ngôn ngữ lập trình như C, C++, C#, Java Đặc biệt, sự am hiểu về an toàn bảo mật thông tin là yếu tố quan trọng Ngoài ra, niềm đam mê với lập trình và yêu thích lĩnh vực bảo mật thông tin cũng là điều không thể thiếu.

 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ã

 Nắm vững được bài 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ức

Lĩnh vực nghiên cứu

Đề tài "Ứng dụng thuật toán DES và lược đồ chia sẻ bí mật vào đăng ký bỏ phiếu điện tử" tập trung vào việc nâng cao an toàn bảo mật thông tin trong hệ thống bỏ phiếu điện tử Việc sử dụng thuật toán DES giúp mã hóa dữ liệu hiệu quả, trong khi lược đồ chia sẻ bí mật đảm bảo tính toàn vẹn và bảo mật cho thông tin cá nhân của cử tri Nghiên cứu này không chỉ cải thiện quy trình bỏ phiếu mà còn góp phần xây dựng niềm tin cho người dân vào hệ thống bầu cử điện tử.

Nghiên cứu thuật toán DES bao gồm mã hóa và giải mã, cũng như phương thức chia sẻ khóa bí mật theo Shamir Bài viết còn đề cập đến việc khôi phục khóa thông qua công thức nội suy Lagrange và áp dụng mạch đơn điệu trong quá trình chia sẻ và khôi phục khóa bí mật.

 Kiến thức cơ bản về 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 rõ các loại nguy cơ đối với dữ liệu là rất quan trọng, bao gồm việc mất cắp thông tin và mất an toàn vật lý do hư hỏng môi trường lưu trữ, cũng như các thảm họa như chiến tranh, thiên tai và cháy nổ Ngoài ra, cần chú ý đến việc đảm bảo an toàn thông tin trong quá trình khai thác và sử dụng dữ liệu.

Hiểu rõ nguồn gốc các nguy cơ đối với an toàn thông tin là rất quan trọng, bao gồm các mối đe dọa từ nhân viên, nhà cung cấp dịch vụ và các cá nhân bên ngoài Đồng thời, nắm bắt khái niệm về tội phạm mạng (cybercrime) cũng giúp nâng cao nhận thức và khả năng phòng ngừa các rủi ro liên quan đến an ninh thông tin.

Để đảm bảo an toàn cho hệ thống, cần hiểu rõ các lỗ hổng bảo mật của hệ điều hành, hệ quản trị cơ sở dữ liệu và dịch vụ Internet Bên cạnh đó, việc nắm vững 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 là rất quan trọng trong việc bảo vệ thông tin và ngăn chặn các mối đe dọa.

Các lĩnh vực an toàn thông tin

Đảm bảo an toàn cho tổ chức, bao gồm chính phủ và doanh nghiệp, khác biệt với việc bảo vệ cá nhân trong các hoạt động trực tuyến Việc hiểu rõ sự khác nhau này là rất quan trọng để xây dựng các biện pháp an ninh mạng hiệu quả cho cả hai đối tượ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à các giải pháp công nghệ.

Tiêu chuẩn TCVN ISO/IEC 27001:2009 cung cấp khung hướng dẫn cho việc quản lý an toàn thông tin Việc nắm rõ các chính sách cơ bản về an toàn thông tin và các văn bản pháp luật liên quan tại Việt Nam là rất quan trọng Điều này giúp nâng cao nhận thức về tầm quan trọng của việc xây dựng và thực thi chính sách an toàn thông tin, đặc biệt trong bối cảnh ứng dụng công nghệ thông tin ngày càng phát triển.

Phương pháp nghiên cứu

- Sử dụng các công cụ sau: Word, DevC, Visual Studio,……

Tìm hiểu về ngôn ngữ lập trình

+ Tìm hiểu về hướng đối tượng

Tìm hiểu về các kiểu dữ liệu, cách khai báo biến, vòng lặp, và thao tác với chuỗi và mảng là rất quan trọng trong lập trình Đồng thời, nắm vững khái niệm về constructor, method, object, class và các cấp độ truy cập dữ liệu giúp xây dựng ứng dụng hiệu quả Ngoài ra, nghiên cứu cách giải quyết bài toán sẽ nâng cao khả năng phân tích và lập trình của bạn.

+ Vận dụng kiến thức tìm hiểu thực hiện giải đề tài được giao

Cách thực hiện đề tài

 Tìm hiểu mã hóa DES và các bước thực hiện mã hóa DES

 Tìm hiểu giải mã DES và các vấn đề liên quan đến DES

 Nghiên cứu bài toán chia sẻ bí mật của lagrange

 Ứng dụng lược đồ chia sẻ bí mật của lagrange để phân phối khóa

Kết quả nghiên cứu

Giới thiệu

Tên đề tài nghiên cứu: Ứng dụng thuật toán DES và lược đồ chia sẻ bí mật trong đăng ký bỏ phiếu điện tử.

 Tìm hiểu mật mã DES

 Nghiên cứu bài toán chia sẻ bí mật của Langrange

 Ứng dụng lược đồ chia sẻ bí mật của Langrange để phân phối khóa

Các bước thực hiện triển khai đề tài bao gồm:

 Nghiên cứu, tìm hiểu cách mã hóa và giải mã của hệ mật mã DES

 Nghiên cứu bài toán chia sẻ bí mật của Langrange, từ đó áp dụng lược đồ chia sẻ bí mật để phân phối 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

 Quyển báo cáo bài tập lớn

 Chương trình demo thuật toán

Nội dung thuật toá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à ngược lại

Về thuật toán chia sẻ bí mật

1 D chọn w phần tử khác nhau và khác 0 trong Zp và kí hiệu chúng là: xi, 1≤ i ≤ w (w ≥ p+1).

Với 1≤ i ≤ w, D cho giá trị xi cho pi Các giá trị xi là công khai.

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, ai…ai-1

3 Với 1 ≤ i ≤ w, D tính yi = a (xi), trong đó a(x) = k+

4 Với 1 ≤ i ≤ w, D sẽ trao mảnh yi cho pi

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 A1 ,A2,… An 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

Thiết kế, cài đặt chương trình đề mô thuật toán

2.3.1 Giao diện chương trình đề mô

Hình 1 : 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ã hệ mật mã DES

Cài đặt và triển khai

Microsoft Visual Studio là một môi trường phát triển tích hợp (IDE) phổ biến từ Microsoft, được biết đến như "trình soạn thảo mã nhiều người sử dụng nhất thế giới" Nó chủ yếu được sử dụng để lập trình các ngôn ngữ C++ và C#.

Visual Studio is utilized for developing computer programs for Microsoft Windows, as well as for creating websites, web applications, and web services It leverages Microsoft’s software development platforms, including Windows API, Windows Forms, Windows Presentation Foundation, Windows Store, and Microsoft services.

Silverlight Nó có thể sản xuất cả hai ngôn ngữ máy và mã số quản lý.

Visual Studio là một công cụ phát triển phần mềm mạnh mẽ, bao gồm trình soạn thảo mã với tính năng IntelliSense và cải tiến mã nguồn Nó tích hợp trình gỡ lỗi cho cả mã nguồn và mức máy, cùng với các công cụ thiết kế giao diện ứng dụng, web, lớp và cơ sở dữ liệu Ngoài ra, Visual Studio hỗ trợ các plug-in để mở rộng chức năng, bao gồm tích hợp hệ thống quản lý phiên bản như Subversion và các bộ công cụ mới cho các ngôn ngữ lập trình cụ thể, giúp nâng cao quy trình phát triển phần mềm.

Hướng dẫn chạy chương trình Demo:

Chức năng 1: Mã hóa và giải mã chuỗi Hexa:

Nhập chuỗi bản rõ: 0123456789ABCDEF

Sau đó nhấn mã hóa:

Bản Mã là : F4F17DD36A72FD16

Ta nhập chuỗi bản Mã là : F4F17DD36A72FD16Với khóa K dùng để mã hóa : 147258369abcdeffSau đó bấm giải mã:

Bản Rõ nhận được đúng với ban đầu là 0123456798ABCDEF.

Dãy khóa K được sử dụng trong quá trình giải mã là khác với dãy khóa K dùng để mã hóa, điều này thể hiện sự khác biệt giữa mã hóa và giải mã trong hệ mật mã DES.

Chức năng 2: Mã hóa và giải mã chuỗi ký tự

Bản rõ là: Nhóm 07-ATBMTT

Bản mã nhận được(như trong hình trên)

Ta xóa chuỗi bản rõ ban đầu đi Sau đó bấm giải mã.

Ta nhận lại được chuỗi bản rõ ban đầu nhập vào.

Thực hiện bài toán

2.5.2 Tìm hiểu hệ mật mã DES

1 Giới thiệu chung về DES

Sau những năm 70 của thế kỷ trước, các nhà toán học đã phát triển nhiều phương thức mật mã với tốc độ mã hóa nhanh chóng, có khả năng xử lý hàng chục đến hàng trăm kilo Byte mỗi giây Điều này cho phép người dùng giữ bí mật khóa mã và mã hóa mọi dữ liệu tùy ý, đánh dấu một bước tiến vĩ đại trong lĩnh vực kỹ thuật mật mã Mã DES (Data Encryption Standard) là một trong những ví dụ tiêu biểu cho sự tiến bộ này.

Vào ngày 13 tháng 5 năm 1973, Ủy ban Quốc gia về Tiêu chuẩn của Mỹ đã công bố yêu cầu về hệ mật mã áp dụng trên toàn quốc, đánh dấu bước khởi đầu quan trọ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ừ hệ mã Lucifer, công bố vào năm 1975.

 Sau đó DES được xem như là chuẩn mã hóa dữ liệu cho các ứng dụng.

Tên sinh viên Tên công việc

Nguyễn Quốc Huy Ứng dụng lược đồ chia sẻ bí mật của Lagrange để phân phối khóa Nguyễn Văn Huy

Lê Quang Khải Tìm hiểu mật mã DES

Trần Văn Khang Nghiên cứu bài toán chia sẻ bí mật của Langrange

2 Đặc điểm của thuật toán DES

 DES là thuật toán mã hóa khối, độ dài mỗi khối là 64bit.

 Khóa dùng trong DES có độ dài toàn bộ là 64bit Tuy nhiên chỉ có

56 bit thực sự được sử dụng; 8 bit còn lại chỉ dùng cho việc kiể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ử dụng cùng 1 khóa

2 Thuật toán gồm 3 giai đoạn:

4 Input: bản rõ x có độ dài 64 bit được hoán vị khởi tạo IP thu được xâu x0.

9 Bộ chuyển vị IP: Hoán đổi vị trí các bit trong xâu đầu vào.

16 Trong đó: Ki là khóa con có độ dài 48 bit.

18  là phép XOR của 2 xâu bit.

Giống bit thì trả về 0

Khác bit thì trả về 1.

19 K1 đến K16 lập nên một lịch khóa.

Tại vòng 16, thực hiện việc đổi chỗ giữa R16 và L16 Sau đó, ghép R16 và L16 lại với nhau và áp dụng hoán vị nghịch đảo của hoán vị IP, kết quả thu được là bản mã y có độ dài 64 bit.

IP 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ứ

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 thứ 50 của x, …

Bảng của phép hoán vị IP và IP -1

Hàm f lấy đầu vào là 2 từ: R có 32bit và K có 48 bit.

Kết quả đầu ra là từ f(R,K) có 32bit, được xác định bởi sơ đồ sau đây:

- Đầu tiên ra cho Ri đi qua phép mở rộng E, biến Ri(32) -> Ri(48)

- Sau đó cộng bit với khóa Ki tương ứng.

- Kết quả tạo ra được khối B có độ dài 48 bit.

- Chia B thành 8 khối B = B1B2B3…B8 Mỗi khối độ dài 6bit

- Cho các khối Bi đi qua các hộp Si tạo ra các Ci (4 bit)

- Ghép các khối Ci thành khối C sau đó cho qua P để tạo thành hàm f(R,K) 32bit

Giải thích các khối B i và hộp S i

- Hộp Si là 1 bảng 4 hàng 16 cột được đánh số từ 0

- Khối Bi có 6 bit 2 bit gồm bit đầu và bit cuối tạo thành 1 số.

- Số đó là số thứ tự dòng

- 4 bit ở giữa tạo thành 1 số Đó là vị trí cột.

- Chiếu số dòng , số cột vào bảng Si tương ứng sẽ tạo ra giá trị của khối

- chiếu vào hộp S1 với dòng 0 cột 12 sẽ ra 1 giá trị Đổi giá trị đó về nhị phân sẽ ra giá trị của Ci

E là một phép hoán vị mở rộng, chuyển đổi mỗi từ R 32 bit thành từ E(R) bằng cách hoán vị các bit của R, trong đó một số cặp bit được lặp lại, tạo ra từ E(R) có kích thước 48 bit.

Cụ thể phép hoán vị “mở rộng” đó được cho bởi bảng sau đây:

Theo định nghĩa đó, mỗi từ R = a1 a2 a3 … a31 a32 sẽ biến thành

- 56 bit còn lại dùng để chế khóa.

- Tạo ra C0 là 28 bit đầu

- Tại mỗi vòng lặp I có: CiDi là kết quả của phép dịch trái của các bit từ khối Ci-1Di-1

- Trong đó: i = 1,2,8,16 dịch trái 1 bit, các vòng còn lại dịch trái 2 bit.

- Cho hoán vị PC-2(Ci,Di) để được khóa Ki

Thuật toán tính khóa vòng

Mô tả thuật toán dịch trái

- DES là giải mã dùng chung 1 thuật toán vs mã hóa.

- Quá trình giải mã tương tự mã hóa Tuy nhiên, khóa tại mỗi vòng lặp ngược lại với mã hóa Tức là từ K16 -> K1.

Chương trình demo bằng C# (Chu Công Đan Trường)

Demo chương trình bằng ngôn ngữ Python (Nguyễn Đức Tuấn)

2.5.3 Nghiên cứu bài toán chia sẻ bí mật Langrange

2.5.3.1 Khái niệm chia sẻ bí mật

Thông tin bí mật sẽ được phân chia thành nhiều mảnh nhỏ, mỗi mảnh sẽ được giao cho các thành viên giữ khác nhau Để có thể truy cập lại thông tin, tất cả các thành viên giữ mảnh cần đồng ý Khi tất cả các mảnh được khớp lại, thông tin gốc sẽ được khôi phục.

Thông tin bí mật chia thành nhiều mảnh và giao cho các thành viên.

Các mảnh được khớp lại để khôi phục lại tin gốc.

2.5.3.2 Sơ đồ chia sẻ bí mật

Bài toán thực tế: Trong một ngân hàng có một két phải mở hằng ngày.

Ngân hàng đã sử dụng ba thủ quỹ lâu năm nhưng không hoàn toàn tin tưởng vào bất kỳ ai Do đó, họ cần thiết kế một hệ thống cho phép bất kỳ hai thủ quỹ nào cũng có thể mở két, trong khi mỗi thủ quỹ riêng lẻ không thể mở được Vấn đề này có thể được giải quyết thông qua lược đồ chia sẻ bí mật.

2.5.3.2.1 Khái niệm sơ đồ chia sẻ bí mật

Sơ đồ chia sẻ bí mật là phương pháp phân chia thông tin thành nhiều phần và phân phối cho một nhóm người tham gia Mỗi tập con trong nhóm này được chỉ định để có thể khôi phục lại bí mật bằng cách kết hợp dữ liệu mà họ nhận được.

Một sơ đồ chia sẻ bí mật lý tưởng đảm bảo rằng bất kỳ nhóm người tham gia nào không được chỉ định đều không thể thu thập thông tin về bí mật.

Trong lĩnh vực bảo mật, một sơ đồ ngưỡng A(t, w) cho phép phân chia khóa K thành một tập hợp w thành viên (ký hiệu là P), trong đó t thành viên bất kỳ có khả năng tính toán khóa K Tuy nhiên, bất kỳ nhóm nào gồm (t - 1) thành viên sẽ không thể tính toán được khóa này.

Giá trị k được chọn bởi một thành viên đặc biệt được gọi là người phân phối (D) D P

D phân chia khóa k cho từng thành viên trong P bằng cách cung cấp cho họ một thông tin cục bộ gọi là mảnh Các mảnh này được phân phát một cách bí mật, đảm bảo rằng không ai biết mảnh của thành viên khác Một tập hợp con các thành viên (B ⸦ P) có thể kết hợp các mảnh của họ để tính toán khóa k, hoặc có thể ủy quyền cho một người đáng tin cậy để thực hiện việc này.

Nếu |B| ≥ t thì họ có khả năng tính được k Nếu |B| ≤ t thì không thể tính được k.

Gọi P là tập các giá trị được phân phối khóa K: P = { pi: 1≤ i≤ w} K là tập khóa: tập tất cả các khóa có thể.

S tập mảnh: tập tất cả các mảnh có thể.

Sau đây là một sơ đồ ngưỡng được gọi là sơ đồ ngưỡng Shamir.

5 D chọn w phần tử khác nhau và khác 0 trong Zp và kí hiệu chúng là: xi, 1≤ i ≤ w (w ≥ p+1).

Với 1≤ i ≤ w, D cho giá trị xi cho pi Các giá trị xi là công khai.

6 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, ai…ai-1

7 Với 1 ≤ i ≤ w, D tính yi = a (xi), trong đó a(x) = k+

8 Với 1 ≤ i ≤ w, D sẽ trao mảnh yi cho pi

Trong sơ đồ ngưỡng Shamir, một đa thức ngẫu nhiên a(x) với bậc tối đa là t-1 được xây dựng, trong đó hằng số là khóa k Mỗi thành viên pi sẽ có một điểm (xi, yi) Để tái tạo khóa k, ta xem xét một tập con B gồm t thành viên và áp dụng hai phương pháp khác nhau.

• Phép nội suy đa thức

• Công thức nội suy Lagrange

Chương trình demo bằng ngôn ngữ C++ (Trần Văn Khang)

2.5.4 Ứng dụng lược đồ chia sẻ bí mật của Lagrange để phân phối khóa

Thuật toán DES và sơ đồ chia sẻ bí mật có nhiều ứng dụng thực tiễn, bao gồm đấu thầu từ xa, mã thẻ ATM, thi tuyển sinh và đăng ký bỏ phiếu điện tử Trong bài viết này, chúng ta sẽ tập trung nghiên cứu ứng dụng của chúng trong việc đăng ký bỏ phiếu điện tử.

2 Nội dung thực hiện giải bài toán.

Một số bài toán trong đăng ký bỏ phiếu điện tử

2.1 Bài toán bảo vệ hồ sơ đăng ký bỏ phiếu điện tử.

Cử tri gửi hồ sơ đăng ký về cho ban đăng ký thẩm định.

Trên đường truyền, hồ sơ đăng ký của cử tri có thể bị kẻ gian thay đổi thông tin, hoặc đánh cắp hồ sơ đăng ký

Sử dụng các kỹ thuật mã hóa DES

2.2 Bài toán thẩm định hồ sơ đăng ký

Trong quá trình đăng ký bỏ phiếu điện tử, ban đăng ký cần xác thực thông tin của cử tri để đảm bảo họ đáp ứng yêu cầu bầu cử, như là công dân Việt Nam và đủ tuổi tham gia bầu cử.

Cử tri có khả năng hợp tác với thành viên trong ban kiểm phiếu để thông qua hồ sơ của mình, mặc dù hồ sơ đó không đáp ứng đủ tiêu chuẩn để được bỏ phiếu.

Sử dụng kỹ thuật chia sẻ khóa bí mật để giải mã hồ sơ.

2.3 Bài toán ban đăng ký ký vào lá phiếu (Đã ẩn danh).

Sau khi kiểm tra hồ sơ đăng ký cử tri, nếu hồ sơ được xác nhận hợp lệ, ban đăng ký sẽ ký xác nhận lên lá phiếu và gửi lại cho cử tri.

Chương trình demo

2.6.1 Chương trình demo bằng ngôn ngữ Java

 Chia khóa sử dụng lược đồ ngưỡng Shamir long[] dsX= new long[100]; long[] dsA= new long[100]; public ArrayList dA=new ArrayList();

ArrayList dsK=new ArrayList(); long mul_inv(long a, long b){ long x1=1,x0=0; long b0=b ,t,q; if(b==1) return 1; while (a

Ngày đăng: 01/07/2022, 17:38

HÌNH ẢNH LIÊN QUAN

BẢNG VIẾT TẮT - ỨNG DỤNG THUẬT TOÁN DES VÀ LƯỢC ĐỒ CHIA SẺ BÍ MẬT TRONG ĐĂNG KÝ BỎ PHIẾU ĐIỆN TỬ
BẢNG VIẾT TẮT (Trang 5)
DANH MỤC CÁC HÌNH - ỨNG DỤNG THUẬT TOÁN DES VÀ LƯỢC ĐỒ CHIA SẺ BÍ MẬT TRONG ĐĂNG KÝ BỎ PHIẾU ĐIỆN TỬ
DANH MỤC CÁC HÌNH (Trang 6)
Hình 1: Giao diện chương trình như sau - ỨNG DỤNG THUẬT TOÁN DES VÀ LƯỢC ĐỒ CHIA SẺ BÍ MẬT TRONG ĐĂNG KÝ BỎ PHIẾU ĐIỆN TỬ
Hình 1 Giao diện chương trình như sau (Trang 10)
Bản mã nhận được(như trong hình trên) Ngược lại : - ỨNG DỤNG THUẬT TOÁN DES VÀ LƯỢC ĐỒ CHIA SẺ BÍ MẬT TRONG ĐĂNG KÝ BỎ PHIẾU ĐIỆN TỬ
n mã nhận được(như trong hình trên) Ngược lại : (Trang 14)
Hình 1.3. Cấu trúc h-tPA [38] - ỨNG DỤNG THUẬT TOÁN DES VÀ LƯỢC ĐỒ CHIA SẺ BÍ MẬT TRONG ĐĂNG KÝ BỎ PHIẾU ĐIỆN TỬ
Hình 1.3. Cấu trúc h-tPA [38] (Trang 15)
Bảng hoán vị P: - ỨNG DỤNG THUẬT TOÁN DES VÀ LƯỢC ĐỒ CHIA SẺ BÍ MẬT TRONG ĐĂNG KÝ BỎ PHIẾU ĐIỆN TỬ
Bảng ho án vị P: (Trang 19)
- Hộp Si là 1 bảng 4 hàng 16 cột. được đánh số từ - ỨNG DỤNG THUẬT TOÁN DES VÀ LƯỢC ĐỒ CHIA SẺ BÍ MẬT TRONG ĐĂNG KÝ BỎ PHIẾU ĐIỆN TỬ
p Si là 1 bảng 4 hàng 16 cột. được đánh số từ (Trang 20)
Cụ thể phép hoán vị “mở rộng” đó được cho bởi bảng sau đây: - ỨNG DỤNG THUẬT TOÁN DES VÀ LƯỢC ĐỒ CHIA SẺ BÍ MẬT TRONG ĐĂNG KÝ BỎ PHIẾU ĐIỆN TỬ
th ể phép hoán vị “mở rộng” đó được cho bởi bảng sau đây: (Trang 23)
Bảng PC-1: - ỨNG DỤNG THUẬT TOÁN DES VÀ LƯỢC ĐỒ CHIA SẺ BÍ MẬT TRONG ĐĂNG KÝ BỎ PHIẾU ĐIỆN TỬ
ng PC-1: (Trang 26)
Bảng PC-2: PC-2 - ỨNG DỤNG THUẬT TOÁN DES VÀ LƯỢC ĐỒ CHIA SẺ BÍ MẬT TRONG ĐĂNG KÝ BỎ PHIẾU ĐIỆN TỬ
ng PC-2: PC-2 (Trang 26)

TỪ KHÓA LIÊN QUAN

TRÍCH ĐOẠN

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

TÀI LIỆU LIÊN QUAN

w