• Không có kết quả nào được tìm thấy

Tìm hiểu, nghiên cứu vấn đề chữ ký mù và ứng dụng trong dùng tiền điện tử

N/A
N/A
Protected

Academic year: 2024

Chia sẻ "Tìm hiểu, nghiên cứu vấn đề chữ ký mù và ứng dụng trong dùng tiền điện tử"

Copied!
58
0
0

Loading.... (view fulltext now)

Văn bản

MỘT SỐ KHÁI NIỆM CƠ BẢN

  • Một số khái niệm trong toán học
  • Một số khái niệm trong đại số
  • Một số khái niệm và Độ phức tạp của thuật toán
  • Khái niệm mã hóa
  • Hệ mật mã khóa bí mật
  • Một số hệ mật mã cổ điển

Lưu ý: Số mũ của mô đun có thể được tính toán một cách hiệu quả bằng các thuật toán nhân và định hướng liên tiếp, nó chủ yếu được sử dụng trong nhiều giao thức mã hóa. Để đảm bảo đường truyền an toàn, người ta thường mã hóa thông tin trước khi truyền đi. Mã hóa là một kỹ thuật đã được sử dụng từ lâu để đảm bảo tính bảo mật của thông tin.

Thuật toán mã hóa: là các thuật toán, công thức tính toán để mã hóa và giải mã thông tin. Khóa mã hóa: là các giá trị khiến thuật toán mã hóa chạy theo một cách nhất định để mã hóa và giải mã, khóa bí mật bao gồm khóa mã hóa và khóa giải mã. Hệ thống mã hóa: Là tập hợp các thuật toán và khóa dùng để mã hóa và giải mã thông tin.

Hệ thống mật mã khóa bí mật là hệ thống mật mã trong đó khóa mã hóa có thể dễ dàng tìm thấy từ khóa giải mã và ngược lại. Nếu khóa bị lộ, bất kỳ ai cũng có thể mã hóa và giải mã tin nhắn. Trong mã hóa khóa bí mật, quá trình mã hóa và quá trình giải mã sử dụng cùng một thuật toán và khóa.

Tính bảo mật của mã hóa khóa bí mật phụ thuộc vào một số yếu tố như thuật toán mã hóa phải đủ mạnh (để việc giải mã tin nhắn chỉ dựa trên văn bản mã hóa là không khả thi), độ bí mật của khóa (không phải là bí mật của thuật toán). Mã hóa công khai có khả năng triển khai chữ ký số, nghĩa là tài liệu có thể được ký và gửi đến bất kỳ người nhận nào mà không bị từ chối. Mã hóa công khai gặp một số khó khăn: Quá trình mã hóa và giải mã diễn ra chậm so với mã hóa đối xứng.

Nó không nhằm mục đích thay thế mã hóa đối xứng bằng mã hóa công khai. Các thuật toán công khai sử dụng một khóa để mã hóa và một khóa khác để giải mã. Chúng có một đặc tính quan trọng là không thể xác định khóa giải mã chỉ dựa vào thuật toán và khóa mã hóa.

Mỗi thành viên công bố khóa mã hóa của mình bằng cách đặt nó tại một địa chỉ công khai. Một đặc điểm của mã hóa khóa chung là khóa chung được cung cấp công khai, còn khóa riêng và cặp khóa được chủ sở hữu giữ bí mật.

Bảng 2: Mô tả các bước tính   5 596  mod (1234) = 1013
Bảng 2: Mô tả các bước tính 5 596 mod (1234) = 1013

CHỮ KÝ SỐ

  • Khái niệm chữ ký số
  • Quá trình tạo ra chữ ký điện tử
  • Hàm băm sử dụng trong chữ ký điện tử
  • Chữ ký RSA
  • Chữ ký ElGamal
  • Chữ ký Schnorr (chữ ký một lần)
  • Các loại chữ ký khác

Người nhận sẽ giải mã tin nhắn bằng khóa riêng của mình, giải mã chữ ký bằng khóa chung của người gửi để lấy đại diện. Đây không phải là chữ ký của một người mà là của một nhóm người. Do đó, chữ ký ủy quyền được tạo để người ký có thể ủy quyền cho người khác ký thay họ.

Người nhận văn bản hoàn toàn có thể tin cậy chữ ký đó là chữ ký của người chủ sở hữu. Chủ sở hữu có thể xác định danh tính của người ký từ chữ ký proxy. Chữ ký không thể nhầm lẫn được phát minh vào năm 1989 bởi David Chaum và Han Van Antwerpen.

Bob kiểm tra chữ ký C, nếu chữ ký không hợp lệ, Bob chấm dứt giao thức. Nếu chữ ký hợp lệ, kho bạc sẽ kiểm tra xem C trước đó đã được sử dụng chưa. Vấn đề là giả sử A muốn lấy chữ ký của B trên x nhưng không muốn cho B biết x.

Lúc này x sẽ xóa chữ ký trên y nên sig(x) chính là chữ ký mà cử tri mong muốn. Cơ quan có thẩm quyền cấp chữ ký zi cho x nhưng hoàn toàn không biết giá trị xi. Người bán kiểm tra tính hợp lệ của đồng xu C bằng cách xác minh chữ ký (sử dụng khóa chung của ngân hàng).

Nếu chữ ký hợp lệ, ngân hàng sẽ kiểm tra xem đồng C đã được sử dụng chưa.

CHỮ KÝ “MÙ” VÀ ỨNG DỤNG

CHỮ KÝ “ MÙ”

  • CHỮ KÝ “MÙ” DỰA TRÊN CHỮ KÝ RSA

Chữ ký mù cho phép người ký đặt chữ ký trên tài liệu mà người ký không biết nội dung - anh ta không biết nội dung nhưng vẫn tạo chữ ký hợp lệ. Các tính năng của nó là: Chỉ chủ sở hữu chữ ký mới có khả năng tạo chữ ký hợp lệ cho một tài liệu và bất kỳ ai cũng có thể kiểm tra độ chính xác của chữ ký cho tài liệu đó. Nếu C không được chi tiêu, ngân hàng sẽ gửi thêm tiền vào tài khoản của Bob.

Nếu gửi tiền thành công, Bob gửi C vào tài khoản của mình, ngân hàng không thể biết được tiền đã được nhận từ Alice vì đã được ký “một cách mù quáng”. Sau khi nhận được v, A bị mù với v sẽ nhận được chữ ký trên nhận dạng x:.

  • Ứng dụng trong bỏ phiếu trực tuyến
  • Ứng dụng chữ ký mù trong tiền điện tử

Alice và người bán sách sử dụng cùng một dịch vụ ngân hàng. Alice tạo ra một đồng tiền điện tử C bao gồm một chuỗi bit xác định một số thông tin nhất định như số sê-ri và giá trị của C (trong trường hợp này là 100 USD. Alice yêu cầu mua cuốn sách, Alice chuyển đồng xu C (có chữ ký của ngân hàng) tới người bán hàng.

Người bán lấy đồng xu C (nhận được từ Alice) và gửi vào ngân hàng. Nếu C chưa được chi tiêu, ngân hàng sẽ cộng thêm 100 USD vào tài khoản của người bán. Trong trường hợp này, người bán khó có thể biết đồng tiền C đến từ tài khoản nào. Ngoài ra, khi người bán gửi tiền C vào tài khoản của mình, ngân hàng cũng khó biết được anh ta đã nhận được đồng tiền từ Alice vì anh ta ký một cách mù quáng.

Các vấn đề có thể phát sinh khi ký tiền điện tử một cách mù quáng. Ví dụ, Alice gửi cho ngân hàng một đồng xu không trung thực và yêu cầu ký vào đó. Rất có thể Alice đã làm tờ 1000 USD nhưng lại khai báo với ngân hàng là 100 USD nhưng khi ký một cách mù quáng, cô không biết số tiền trong tờ tiền đó vì nó đã bị che mắt.

Alice và ngân hàng có thể triển khai giao thức dựa trên xác suất. Alice sau đó đã làm mù tất cả số tiền và trả lại ngân hàng. Ngân hàng chọn ngẫu nhiên 9 trong số 10 đồng tiền để yêu cầu Alice tiết lộ thông tin để xóa chúng.

Ngân hàng mù quáng ký vào 9 đồng tiền này. Nếu tất cả đều hợp lệ, ngân hàng sẽ mù quáng ký vào số tiền còn lại và gửi cho Alice.

Chƣơng trình thử nghiệm

C# kế thừa hầu hết các lệnh từ C và C++, nhưng có một số bổ sung và thay đổi đáng chú ý. Lệnh được gắn thẻ và chuyển đến lệnh: Lệnh được gắn thẻ có nhãn ở phía trước. Lệnh Goto chuyển đến các nhãn này và thực hiện lệnh được gắn nhãn.

Một câu lệnh if có thể có một câu lệnh khác để thực thi một câu lệnh khác khi giá trị biểu thức là sai. lệnh swich: lệnh switch thực thi một loạt lệnh tùy thuộc vào giá trị của biểu thức đã cho. Câu lệnh lặp: Câu lệnh lặp trong C# bao gồm while, do - while, dành cho các câu lệnh lặp như trong C.

Vòng lặp foreach (như trong VB): vòng lặp foreach liệt kê các phần tử trong một mảng và thực thi một câu lệnh cho mỗi phần tử của mảng. Lệnh ném, thử, bắt: các lệnh phục vụ quá trình quản lý lỗi thời gian chạy bao gồm ném lỗi, một cặp lệnh thử bắt nhận lỗi và thực hiện hành động. Chữ ký số trở nên phổ biến khi việc trao đổi thông tin trở nên phổ biến hơn trong các mạng truyền thông nơi chữ ký viết tay không còn hiệu quả.

Nhưng bên cạnh những ưu điểm mà chữ ký số mang lại thì nó cũng bộc lộ những hạn chế, đặc biệt đối với chữ ký tự chứng thực (RSA, Elgamal…), đó là khả năng bảo vệ chữ ký, tính bảo mật và tính xác thực, chữ ký xác thực. Trong dự án này, tôi đã đi sâu vào sơ đồ chữ ký số chống chối bỏ và các ứng dụng của nó. Với sơ đồ chữ ký mù, yêu cầu về chữ ký số được giải quyết, đó là khả năng bảo vệ chữ ký khỏi bị truy tìm bất hợp pháp.

Luận án tập trung nghiên cứu cơ sở lý thuyết và xây dựng chương trình về chữ ký số. Mặc dù còn nhiều điểm cần nghiên cứu, hoàn thiện nhưng do thời gian và trình độ có hạn nên không thể tránh khỏi những nhược điểm. , rất mong nhận được sự phản hồi từ thầy cô và bạn bè.

Giao diệ n chươ ng trình

  • Chữ ký RSA
  • Ứng dụng chữ ký “mù”

Tài liệu tham khảo

Tài liệu liên quan