1. Trang chủ
  2. » Luận Văn - Báo Cáo

Sơ đồ định danh mật và chữ ký số ứng dụng trong thương mại điện tử

76 645 5

Đ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

Định dạng
Số trang 76
Dung lượng 1,23 MB

Các công cụ chuyển đổi và chỉnh sửa cho tài liệu này

Nội dung

Giới thiệu về mật mã và hệ thống mã khóa 1.1.1 Giới thiệu về mật mã học và các yêu cầu bảo mật thông tin từ một người gửi A đến một người nhận B, A phải tạo cho văn bản đó một bản

Trang 1

TRUYỀN THÔNG

LÊ THỊ HÀ

SƠ ĐỒ ĐỊNH DANH MẬT VÀ CHỮ KÝ SỐ ỨNG DỤNG TRONG THƯƠNG MẠI ĐIỆN TỬ

LUẬN VĂN THẠC SĨ: KHOA HỌC MÁY TÍNH

Thái Nguyên - 2012

Trang 2

TRUYỀN THÔNG

LÊ THỊ HÀ

SƠ ĐỒ ĐỊNH DANH MẬT VÀ CHỮ KÝ SỐ ỨNG DỤNG TRONG THƯƠNG MẠI ĐIỆN TỬ

Chuyên ngành: Khoa học máy tính

Trang 3

ứng dụng trong thương mại điện tử ” là công trình nghiên cứu của riêng

tôi dưới sự hướng dẫn của PGS.TS Bùi Thế Hồng Toàn bộ phần mềm

do chính tôi xâ y dựng và kiểm thử Tôi xin chịu trách nhiệm về lời cam đoan của mình

Các số liệu và thông tin sử dụng trong luận văn này là trung thực

Tác giả

Lê Thị Hà

Trang 4

MỤC LỤC

LỜI MỞ ĐẦU vi

1 Lý do chọn đề tài 1

2 Mục tiêu nghiên cứu 1

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

4 Tổng quan luận văn 2

CHƯƠNG 1 4

TỔNG QUAN VỀ MẬT MÃ VÀ CHỮ KÝ SỐ 4

1.1 Giới thiệu về mật mã và hệ thống mã khóa 4

1.1.1 Giới thiệu về mật mã học và các yêu cầu bảo mật thông tin 4

1.1.1.1 Giới thiệu về mật mã học 4

1.1.1.2 Các yêu cầu bảo mật thông tin 6

1.1.2 Các hệ thống mã hóa đối xứng và công khai 8

1.1.2.1 Sơ đồ hệ thống mật mã 8

1.1.2.2 Hệ thống mật mã đối xứng và công khai 10

1.2 Chữ ký số 11

1.2.1 Giới thiệu về chữ ký số 11

1.2.2 Quá trình ký và xác thực chữ ký 11

1.2.2.1 Quá trình ký 11

1.2.2.2 Quá trình xác thực chữ ký số 13

1.2.3 Một số lược đồ chữ ký số 16

1.2.3.1 Định nghĩa sơ đồ chữ ký số: 16

1.3 Kết luận chương 1 24

CHƯƠNG 2 25

BÀI TOÁN SƠ ĐỒ ĐỊNH DANH MẬT VÀ XÁC NHẬN THÔNG TIN 25

2.1 Tổng quan về bài toán xưng danh 25

2.2 Sơ đồ xưng danh Okamoto 26

Trang 5

2.3 Sơ đồ xưng danh Guillou-Quisquater 32

2.4 Các sơ đồ xung danh dựa trên tính đồng nhất 36

2.5 Sơ đồ xưng danh Schnorr 37

2.6 Chuẩn chữ ký số (Digital Signature Standard) 44

2.7 Hàm băm và chữ ký 45

2.7.1 Hàm băm (hash function) 45

2.7.2 Vai trò của hàm băm 47

2.7.3 Chữ ký 49

2.8 Kết luận chương 2 50

CHƯƠNG 3 52

CHƯƠNG TRÌNH SƠ ĐỒ ĐỊNH DANH SCHNORR VÀ SƠ ĐỒ CHỮ KÝ SCHNORR 52

3.1 Yêu cầu hệ thống 52

3.1.1 Phần mềm 52

3.1.2 Phần cứng 52

3.2 Màn hình chính của hệ thống 52

3.3 Chương trình sơ đồ định danh Schnorr 53

3.3.1 Thuật toán của chương trình 53

3.3.2 Giao diện chương trình của sơ đồ định danh Schnorr 54

3.3.2.1 Chức năng tạo mới 54

3.3.2.2 Chức năng tạo số 55

3.3.2.3 Chức năng trình ký 55

3.3.2.4 Chức năng gửi 57

3.3.2.5 Chức năng Verify 58

3.3.3 Thử nghiệm 60

3.4 Chương trình sơ đồ chữ ký Schnorr 61

Trang 6

3.4.2 Giao diện chương trình của sơ đồ chữ ký Schnorr 62

3.4.2.1 Chức năng tạo mới 62

3.4.2.2 Chức năng trình ký 63

34.2.3 Chức năng gửi 63

3.4.2.4 Chức năng Sign 64

3.4.3 Thử nghiệm 65

3.5 Kết luận chương 3 65

TÀI LIỆU THAM KHẢO 67

PHỤ LỤC 68

Trang 7

DANH MỤC CÁC KÝ HIỆU, CÁC TỪ VIẾT TẮT

Các từ viết tắt Nghĩa tiếng anh Nghĩa tiếng việt

hash function Hàm băm

DSS Digital Signature Standard Chuẩn chữ ký số

RSA Rivest, Shamir và Adleman Tên ba tác giả của hệ mật

mã RSA

TA Trusted Authority Cơ quan ủy thác

Trang 8

DANH MỤC HÌNH VẼ

Hình 1.1: Lược đồ ký 13

Hình 1.2 Lược đồ xác thực 15

Hình 2.1 Sơ đồ hàm băm 47

Hình 3.1 Giao diện tổng thể của hệ thống 52

Hình 3.2 Giao diện chương trình mô phỏng sơ đồ định danh Schnorr 54

Hình 3.3 Giao diện chương trình mô phỏng cơ quan ủy thác xác 56

Hình 3.4 Giao diện chương trình Andy thực hiện gửi thông tin cho Tommy 57 Hình 3.5 Giao diện chương trình thực hiện xác nhận thông tin của Andy 58

Hình 3.6.Giao diện chương trình sơ đồ chữ ký Schnorr 62

Hình 3.7 Giao diện chương trình thực hiện xác nhận thông tin của sơ đồ chữ ký Schnorr 64

Trang 9

LỜI MỞ ĐẦU

1 Lý do chọn đề tài

Ngày nay, cùng với sự phát triển không ngừng của ngành công nghệ thông tin là sự bùng nổ số lượng ứng dụng quản lý thông tin, công việc của tổ chức, doanh nghiệp, cá nhân, an toàn cho vấn đề xác nhận các thông báo Mặt khác, trong môi trường cạnh tranh, người ta ngày càng cần có nhiều thông tin với tốc độ nhanh để trợ giúp việc ra quyết định và ngày càng có nhiều câu hỏi mang tính chất cần phải có giải pháp an toàn cho vấn đề xác nhận các thông báo cùng với người gửi trên các mạng truyền tin công cộng Trong thực tế cuộc sống, việc xưng danh theo thói quen thường không

có tính an toàn chẳng hạn các số PIN, mật khẩu thường không có gì để đảm bảo là được giữ kín, người ngoài không biết

Trong giao thức thực hiện trên điện thoại, bất kỳ kẻ nghe trộm nào cũng có thể dùng thông tin định danh cho mục đích riêng của mình Những người này cũng có thể là người nhận thông tin Các mưu đồ xấu trên thẻ tín dụng đều hoạt động theo cách này

Như vậy với sự phát triển tin học trên mọi lĩnh vực như hiện nay, phần lớn các giao dịch được thực hiện trên các mạng tin học đòi hỏi phải có giải pháp về an toàn trong các khâu xưng danh và xác nhận danh tính cho các hoạt động đó

Nhận thấy tính thiết thực của vấn đề này và được sự gợi ý của giảng viên

hướng dẫn, em đã chọn đề tài “Sơ đồ định danh mật và sơ đồ chữ ký số ứng dụng trong thương mại điện tử” làm đề tài cho luận văn thạc sĩ của mình

2 Mục tiêu nghiên cứu

- Tìm hiểu về lý thuyết mật mã học và hệ thống mật mã

- Nghiên cứu chữ chữ ký số và quá trình xác thực chữ ký số

Trang 10

- Nghiên cứu các sơ đồ chữ ký số và các sơ đồ định danh mật

- Nghiên cứu phương pháp chuyển sơ đồ định danh mật sang sơ đồ chữ

ký số

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

- Nghiên cứu qua các tài liệu như: sách, các bài báo, thông tin trên các website và các tài liệu liên quan

- Phân tích, tổng hợp lý thuyết và giới thiệu các thuật toán của các sơ đồ định danh mật và cách chuyển sơ đồ định danh schnorr sang sơ đồ chữ ký schnorr

- Sử dụng ngôn ngữ lập trình C# để triển khai xây dựng một chương trình ứng dụng về sơ đồ định danh schnorr và sơ đồ chữ ký schnorr ứng dụng trong thương mại điện tử

4 Tổng quan luận văn

Luận văn được trình bày theo hình thức từ trên xuống Bắt đầu của mỗi phần đều đưa ra những khái niệm cơ bản và quy định cho phần trình bày tiếp sau nhằm mục đích giúp dễ dàng trong khi đọc, dần dần đi sâu vào để thảo luận rõ hơn những vấn đề liên quan

Luận văn cấu trúc thành 3 chương:

Chương 1: Tổng quan về mật mã và chữ ký số

Tìm hiểu lý thuyết mật mã, hệ thống mã khóa, chữ ký số, các sơ đồ chữ ký

số

Chương 2: Bài toán sơ đồ định danh mật và xác nhận thông tin

Trình bày bài toán định danh và sơ đồ xưng danh xác nhận danh tính Các sơ đồ xưng danh Schnorr, Okamoto đòi hỏi người được ủy quyền tín nhiệm (TA) dựa trên bài toán tính logarit rời rạc, sơ đồ xưng danh Guillou – Quisquater, sơ đồ định danh dựa trên tính đồng nhất Chuẩn chữ ký số và hàm băm

Trang 11

Chương 3: Chương trình sơ đồ định danh schnorr và sơ đồ chữ ký schnorr

Trình bày việc cài đặt thuật toán bằng ngôn ngữ lập trình C#, trên cơ sở xây dựng ứng dụng sơ đồ định danh schnorr và sơ đồ chữ ký schnorr

Kết luận: Tóm tắt các nội dung chính, các kết quả đạt được và hướng

nghiên cứu tiếp theo của luận văn

Trang 12

CHƯƠNG 1 TỔNG QUAN VỀ MẬT MÃ VÀ CHỮ KÝ SỐ 1.1 Giới thiệu về mật mã và hệ thống mã khóa

1.1.1 Giới thiệu về mật mã học và các yêu cầu bảo mật thông tin

từ một người gửi A đến một người nhận B, A phải tạo cho văn bản đó một bản mật mã tương ứng, và thay vì gửi văn bản rõ thì A chỉ gửi cho

B bản mật mã, B nhận được bản mã mật và sẽ có cách khôi phục lại văn bản rõ để hiểu được thông tin mà A muốn gửi cho mình Vì bản gửi đi thường được chuyển qua các con đường công khai nên người ngoài có thể

"lấy trộm" được, nhưng đó là bản mật mã nên đọc không hiểu được, còn A

có thể tạo ra bản mã mật và B có thể giải bản mã mật thành bản rõ để hiểu được là do giữa hai người đã có một thỏa thuận về một chìa khóa chung, chỉ với chìa khóa chung này thì A mới tạo được bản mã mật từ bản rõ, và

B mới từ bản mã mật khôi phục lại được bản rõ Sau này ta sẽ gọi đơn giản chìa khóa chung đó là khóa mật mã Tất nhiên để thực hiện được một phép mật mã, ta còn cần có một thuật toán biến bản rõ, cùng với khóa mật mã

Trang 13

thành bản mã mật và một thuật toán ngược lại, biến bản mã mật cùng với khóa mật mã thành bản rõ Các thuật toán đó được gọi tương ứng là thuật toán lập mật mã và thuật toán giải mật mã Các thuật toán này thường không nhất thiết phải giữ bí mật, mà cái cần được giữ tuyệt mật luôn luôn là khóa mật mã Trong thực tiễn, đã có hoạt động bảo mật thì cũng có hoạt động ngược lại là khám phá bí mật từ các bản mã mật "lấy trộm" được, ta thường gọi hoạt động này là mã thám, hoạt động này quan trọng không kém gì hoạt động bảo mật! Vì các thuật toán lập mật mã và giải mật mã không nhất thiết là bí mật, nên mã thám thường được tập trung vào việc tìm khóa mật mã, do đó cũng có người gọi công việc đó là phá khóa

Bước sang thế kỷ 20, với những tiến bộ liên tục của kỹ thuật tính toán và truyền thông, ngành mật mã cũng đã có những tiến bộ to lớn Vào những thập niên đầu của thế kỷ, sự phát triển của các kỹ thuật biểu diễn, truyền và xử lý tín hiệu đã có tác động giúp cho các hoạt động lập và giải mật mã từ thủ công chuyển sang cơ giới hóa rồi điện tử hóa Các văn bản, các bản mật mã trước đây được viết bằng ngôn ngữ thông thường nay được chuyển bằng kỹ thuật số thành các dãy tín hiệu nhị phân, tức các dãy bit, và các phép biến đổi trên các dãy ký tự được chuyển thành các phép biến đổi trên các dãy bit, hay các dãy số, việc thực hiện các phép lập mã, giải mã trở thành việc thực hiện các hàm số số học

Lý thuyết về độ phức tạp tính toán ra đời từ giữa những năm 1960 đã cho ta một cách thích hợp để yêu cầu bí mật hoặc ngẫu nhiên về một yêu cầu

có thể định nghĩa được là yêu cầu về độ phức tạp tính toán Bây giờ ta có thể nói: một giải pháp mật mã là bảo đảm bí mật, nếu mọi thuật toán thám mã đều phải được thực hiện với độ phức tạp tính toán cực lớn Cực lớn là bao nhiêu? Là vượt quá giới hạn khả năng tính toán (bao gồm cả máy

Trang 14

độ phức tạp tính toán với tốc độ tăng vượt quá hàm mũ, hoặc thuộc loại khó Tuy nhiên, lý thuyết độ phức tạp tính toán không chỉ cống hiến cho ta một khái niệm để giúp chính xác hóa tiêu chuẩn bí mật của các giải pháp mật mã, mà còn mở ra một giai đoạn mới của ngành mật mã, biến ngành mật

NP-mã thành một khoa học có nội dung lý luận phong phú và có những ứng dụng thực tiễn quan trọng trong nhiều lĩnh vực của đời sống hiện đại Bước ngoặt có tính cách mạng trong lịch sử khoa học mật mã hiện đại xẩy ra vào năm 1976 khi hai tác giả Diffie và Hellman đưa ra khái niệm về mật mã khóa công khai và một phương pháp trao đổi công khai để tạo ra một khóa bí mật chung mà tính an toàn được bảo đảm bởi độ khó của một bài toán toán học cụ thể (là bài toán tính "lôgarit rời rạc") Hai năm sau, năm

1978, Rivest, Shamir và Adleman tìm ra một hệ mật mã khóa công khai và một sơ đồ chữ ký điện tử hoàn toàn có thể ứng dụng trong thực tiễn, tính bảo mật và an toàn của chúng được bảo đảm bằng độ phức tạp của một bài toán số học nổi tiếng là bài toán phân tích số nguyên thành các thừa số nguyên tố Sau phát minh ra hệ mật mã đó (mà nay ta thường gọi là hệ RSA), việc nghiên cứu để phát minh ra các hệ mật mã khóa công khai khác và ứng dụng các hệ mật mã khóa công khai vào các bài toán khác nhau của an toàn thông tin đã được tiến hành rộng rãi, lý thuyết mật mã và an toàn thông tin trở thành một lĩnh vực khoa học được phát triển nhanh trong vài ba thập niên cuối của thế kỷ 20, lôi cuốn theo sự phát triển của một số bộ môn của toán học và tin học

1.1.1.2 Các yêu cầu bảo mật thông tin

Hiện nay các biện pháp tấn công ngày càng tinh vi , đe dọa tới độ an toàn

và bảo mật thông tin Vì vậy chúng ta cần thiết lập các phương pháp đề phòng cần thiết Mục đích cuối cùng của các an toàn bảo mật là bảo vệ các thông tin

và tài nguyên theo các tiêu chí sau:

Trang 15

- Tính bí mật :

Để đảm bảo dữ liệu được truyền đi một cách an toàn và không thể bị lộ thông tin nếu như có ai đó cố tình muốn có được nôi dung của dữ liệu gốc ban đầu Chỉ có người nhận đã xác thực mới có thể lấy ra được nội dung của thông tin của dữ liệu đã được mã hóa

- Tính xác thực:

Thông tin không thể bị truy cập trái phép bởi những người không có thẩm quyền, giúp cho người nhận dữ liệu xác định được chắc chắn dữ liệu mà họ nhận là dữ liệu gốc ban đầu của người gửi Kẻ giả mạo không thể có khả năng

để giả dạng một người khác hay nói cách khác không thể mạo danh để gửi dữ liệu Người nhận có khả năng kiểm tra nguồn gốc thông tin mà họ nhận được

- Tính toàn vẹn:

Thông tin không thể bị sửa đổi , bị làm giả b ởi những người không có thẩm quyền giúp cho người nhận dữ liệu kiểm tra được rằng dữ liệu không tha y đổi trong quá trình truyền đi Kẻ giả mạo không thể có khả năng thay thế dư liệu ban đầu bằng dữ liệu giả mạo

- Tính không thể chối bỏ:

Thông tin đươc cam kết về mặt pháp luật của người cung cấp Người gửi hay người nhận không thể chối bỏ sau khi đã gửi hoặc nhận thông tin

- Đảm bảo tính sẵn sàng:

Thông tin luôn sẵn sằng để đáp ứng sử dụng cho người có thẩm quyền Người gửi không bị từ chối việc gửi thông tin đi

- Tính chống lặp lại:

Không cho phép gửi thông tin nhiều lần đến người nhận mà người gửi không hề hay biết

Trang 16

1.1.2 Các hệ thống mã hóa đối xứng và công khai

1.1.2.1 Sơ đồ hệ thống mật mã

Mật mã được sử dụng để bảo vệ tính bí mật của thông tin khi thông tin được truyền trên các kênh truyền thông công cộng như các kênh bưu chính, điện thoại, mạng truyền thông máy tính, mạng Internet, v.v Giả sử một người gửi A muốn gửi đến một người nhận B một văn bản (chẳng hạn, một bức thư) p, để bảo mật A lập cho p một bản mật mã c, và thay cho việc gửi p, A gửi cho B bản mật mã c, B nhận được c và "giải mã" c để lại được văn bản p như A gửi Để A biến p thành c và B biến ngược lại c thành p, A và B phải thỏa thuận trước với nhau các thuật toán lập mã và giải mã, và đặc biệt một khóa mật mã chung K để thực hiện các thuật toán

đó Người ngoài, không biết các thông tin đó (đặc biệt, không biết khóa K), cho dù có lấy trộm được c trên kênh truyền thông công cộng, cũng không thể tìm được văn bản p mà hai người A, B muốn gửi cho nhau Sau đây ta sẽ cho một định nghĩa hình thức về sơ đồ mật mã và cách thức thực hiện để lập mật mã và giải mật mã

Định nghĩa1.1.2.1 : Một sơ đồ hệ thống mật mã là một bộ năm

S = (P , C , K , E , D ) (1) thỏa mãn các điều kiện sau đây:

P là một tập hữu hạn các ký tự bản rõ,

C là một tập hữu hạn các ký tự bản mã,

K là một tập hữu hạn các khóa,

E là một ánh xạ từ KxP vào C, được gọi là phép lập mật mã; và D là một ánh xạ từ KxC vào P, được gọi là phép giải mã Với mỗi K∈

, ta định nghĩa eK : P →C , dK :C →P là hai hàm cho bởi :

⎠x P : eK(x) = E (K,x) ; ⎠y C : dK(y) = D (K,y)

Trang 17

eK và dK được gọi lần lượt là hàm lập mã và hàm giải mã ứng với khóa mật mã K Các hàm đó phải thỏa mãn hệ thức:

⎠x P : dK(eK(x)) = x Về sau, để thuận tiện ta sẽ gọi một danh sách (1) thoả mãn các tính chất kể trên là một sơ đồ hệ thống mật mã , còn khi đã chọn cố định một khoá K, thì danh sách (P , C , eK , dK) là một hệ mật mã thuộc sơ đồ đó

Trong định nghĩa này, phép lập mật mã (giải mã) được định nghĩa cho từng ký tự bản rõ (bản mã) Trong thực tế, bản rõ của một thông báo thường là một dãy ký tự bản rõ, tức là phần tử của tập P *, và bản mật mã cũng là một dãy các ký tự bản mã, tức là phần tử của tập C *, việc mở rộng các hàm eK và dK lên các miền tương ứng P * và C * Các tập ký tự bản

rõ và bản mã thường dùng là các tập ký tự của ngôn ngữ thông thường như

tiếng Việt, tiếng Anh (ta ký hiệu tập ký tự tiếng Anh là A tức A = {a,b,c, ,x,y,z } gồm 26 ký tự; tập ký tự nhị phân B chỉ gồm hai ký tự 0 và

1; tập các số nguyên không âm bé hơn một số n nào đó (ta ký hiệu tập này

là Zn tức Zn = {0,1,2, , n- 1}) Chú ý rằng có thể xem B = Z2 Để thuận tiện, ta cũng thường đồng nhất tập ký tự tiếng Anh A với tập gồm 26 số nguyên không âm đầu tiên Z26 = {0,1,2, , 24,25} với sự tương ứng sau

đây:

a b c d e f g h i j k l m n o p q r s t u v w x y z

0 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 Đôi khi ta cũng dùng với tư cách tập ký tự bản rõ hay bản mã là các tập tích

của các tập nói trên, đặc biệt là các tập Am , B m , Z m

Trang 18

1.1.2.2 Hệ thống mật mã đối xứng và công khai

Theo định nghĩa 1.1.2.1 về sơ đồ mật mã, mỗi lần truyền tin bảo mật,

cả người gửi A và người nhận B phải cùng thỏa thuận trước với nhau một khóa chung K, sau đó người gửi dùng eK để lập mật mã cho thông báo gửi đi, và người nhận dùng dK để giải mã bản mật mã nhận được Người gửi và người nhận cùng có một khóa chung K, được giữ như bí mật riêng của hai người, dùng cả cho lập mật mã và giải mã, ta gọi những hệ mật mã với cách sử dụng đó là mật mã khóa đối xứng, đôi khi cũng gọi là mật mã truyền thống vì đó là cách đã được sử dụng từ hàng ngàn năm nay Tuy nhiên, về nguyên tắc hai hàm lập mã và giải mã là khác nhau không nhất thiết phải phụ thuộc cùng một khóa Nếu ta xác định mỗi khóa K gồm có hai phần K = (K' , K'' ), K' dành cho việc lập mật mã (và ta có hàm lập mã eK' ), K'' dành cho việc giải mã (và có hàm giải mã dK'' ), các hàm lập mã

và giải mã thỏa mãn hệ thức dK'' (eK' (x)) = x với mọi x ∈P , thì ta được một hệ mật mã khóa phi đối xứng Như vậy, trong một hệ mật mã khóa phi đối xứng, các khóa lập mã và giải mã (K' và K'' ) là khác nhau, nhưng tất nhiên có quan hệ với nhau Trong hai khóa đó, khóa cần phải giữ bí mật là khóa giải mã K'' , còn khóa lập mã K' có thể được công bố công khai, tuy nhiên điều đó chỉ có ý nghĩa thực tiễn khi việc biết K' tìm K'' là cực kỳ khó khăn đến mức hầu như không thể thực hiện được Một hệ mật mã khóa phi đối xứng có tính chất nói trên, trong đó khóa lập mật mã K' của mỗi người tham gia đều được công bố công khai được gọi là hệ mật mã khóa công khai Khái niệm mật mã khóa công khai mới được ra đời vào giữa những năm

1970 và ngay sau đó đã trở thành một khái niệm trung tâm của khoa học mật

mã hiện đại

Trang 19

1.2 Chữ ký số

1.2.1 Giới thiệu về chữ ký số

Chữ ký số là một bộ phận dữ liệu không thể giả mạo, để xác nhận một người đã viết ra hoặc đồng ý với một tài liệu mà chữ ký đó được gắn vào Chữ ký số sử dụng công nghệ mã hoá trên nền tảng khoá công khai, để bảo đảm tính đúng đắn tính toàn vẹn về nội dung của một dữ liệu hoặc một thông điệp điện tử và những yêu cầu khác đối với các mục đích của một chữ ký Chữ ký số có các tính chất sau:

- Xác thực: người nhận kiểm tra được việc người gửi đã kí vào tài liệu

- Không thể giả mạo được: chữ ký số xác nhận với người nhận tài liệu là

không ai khác ngoài người kí đã kí tài liệu đó

- Không thể dùng lại được: chữ ký số có kèm theo nội dung và thời gian gắn

trên tài liệu, nên không thể chuyển chữ ký từ tài liệu này sang tài liệu khác

- Đảm bảo sự toàn vẹn và đúng đắn của tài liệu: tài liệu đã được kí không thể

giả mạo, sửa đổi hoặc thêm bớt

- Không thể chối bỏ: chữ ký và tài liệu là chứng cứ về mặt pháp lý và có khả

năng xác thực sự đồng nhất giữa người kí và tài liệu được kí Do đó người gửi không thể phủ nhận việc đã kí tài liệu đó

1.2.2 Quá trình ký và xác thực chữ ký

1.2.2.1 Quá trình ký

Đoạn dữ liệu cần được bảo mật đưa qua hàm băm (hashing0), kết quả của hàm băm là một đoạn bit đảm bảo 2 tính chất sau:

- Tính duy nhất: mỗi một đoạn dữ liệu khác nhau thì sẽ có một đoạn bit khác

nhau, không trùng lặp, có độ dài không đổi

- Tính một chiều: từ đoạn bit đặc trưng này, không suy ngược lại được nội

dung đoạn văn bản

Trang 20

Đoạn bit đặc trưng này được mã hóa bằng khóa bí mật của người gửi và đính kèm vào “văn bản”, rồi gửi đến người nhận Đoạn bit được mã hóa này chính

là chữ ký số (digital signature)

Lược đồ ký được mô tả bằng hình vẽ dưới đây:

Trang 21

Mã hóa

Trang 22

B3: So sánh đoạn bit vừa thu được với đoạn bit thu được trong bước 1, nếu 2 kết quả trùng nhau và tin rằng khóa công khai chắc chắn là do người gửi phát hành thì kết luận:

- Dữ liệu nhận được có tính toàn vẹn (vì kết quả băm là duy nhất, một chiều)

- Dữ liệu nhận được là do chính người gửi đi vì chỉ duy nhất người nhận

được xác thực mới có khóa bí mật phù hợp với khóa công khai đã được sử dụng để giải được sử dụng để giải mã Như vậy tính chống từ chối và tính xác thực được kiểm tra và xác nhận Lúc này người nhận tin rằng khóa công khai đó đại diện hợp pháp cho người gửi

Lược đồ xác thực chữ ký số được mô tả bằng hình vẽ dưới đây:

Trang 23

Hình 1.2 Lƣợc đồ xác thực

Sau khi ký “văn bản”, nếu cần thiết cho vào “phong bì” nhằm bảo đảm tính bí mật khi gửi đi, toàn bộ dữ liệu gốc và chữ ký có thể được đưa một lần bởi khóa công khai của người sẽ nhận “văn bản” Khi nhận được khóa mã, tiếp

Bản tin đã ký

Khóa công khai

của người gửi

Bản tin điện tử

Tách bản tin và CKS

CKS

Bản tóm lược 1

Hàm băm Giải mã

Không Đúng người gửi

Bản tin là toàn vẹn

Trang 24

tục sử dụng khóa mã này sẽ giải mã được văn bản Như vậy, tính bí mật của giao dịch sẽ được đảm bảo từ người gửi, đến tận người nhận

1.2.3 Một số lƣợc đồ chữ ký số

Để một chữ ký số có các tính chất cần thiết phải có một cơ chế hay một quy trình nhất định để tạo ra chữ ký số đó, được gọi là quy trình tạo ra chữ ký số Quy trình tạo chữ ký số dựa trên thuật toán sinh chữ ký số Việc xác minh chữ ký số trên một tài liệu, dữ liệu được thực hiện dựa trên các thuật toán xác minh chữ ký số

Quá trình xác minh chữ ký số còn bao gồm cả các phương thức phục hồi dữ liệu Tất cả các thuật toán sử dụng trong việc tạo chữ ký số, xác minh chữ ký

số, xác thực chữ ký số và tài liệu tạo thành một cơ chế sử dụng chữ ký số và tập hợp thành một lược đồ kí chữ ký số

Một lược đồ chữ ký số gồm 2 thành phần: thuật toán khởi sinh chữ ký số và

thuật toán xác minh kết hợp với nó

Tommy có thể kí thông báo x nhờ thuật toán kí (bí mật) Sig Chữ ký

thu được sig(x), sau đó có thể được kiểm tra nhờ thuật toán kiểm tra công

cộng Ver Khi cho cặp (x,y) thuật toán kiểm tra sẽ trả lời “đúng” hoặc “sai”

phụ thuộc vào việc chữ ký có đích thực không

Trang 25

Với mỗi K = (K', K'') trong S có một thuật toán ký hiệu sigK' PA và trong

V có một thuật toán kiểm thử verK'' : PxA  {đúng, sai} thỏa mãn điều kiện sau đây với mọi thông báo x  P và mọi chữ ký yA:

verK''(x,y) = đúng  y = sigK' (x)

Với sơ đồ trên, mỗi chủ thể sở hữu một bộ khóa K = (K', K''), công bố khóa K'' để mọi người có thể kiểm thử chữ ký của mình và giữ bí mật khóa K'

để thực hiện chữ ký trên các thông báo gửi đi

Các hàm verK'' và sigK' (x) (khi biết K' ) phải tính được một cách dễ dàng, nhưng hàm sigK' (x) phải khó tính được, nếu không biết K' Đây là điều kiện bảo mật cho việc ký cũng như chống giả mạo chữ ký

Một sơ đồ chữ ký không thể an toàn vô điều kiện, vì kẻ thứ ba có thể kiểm tra tất cả các chữ ký số đã có trên bức điện x, nhờ dùng thuật toán verK''(x,y) công khai, cho đến tìm thấy một chữ ký đúng Vì thế, nếu có đủ thời gian kẻ thứ ba luôn có thể giả mạo chữ ký của người gửi Do vậy, mục đích của chữ ký số là tìm các lược đồ chữ ký, sao cho kẻ thứ ba không đủ thời gian thực tế để thử (an toàn tính toán)

Ta sẽ xét hai sơ đồ chữ ký số là sơ đồ chữ ký số ElGamal và trọng tâm

là sơ đồ chữ ký số RSA

1.2.3.2 Sơ đồ chữ ký số Elgaman

Sơ đồ chữ ký Elgamal đề xuất năm 1985 Bản cải tiến của sơ đồ này

đã được Viện Tiêu chuẩn và Công Nghệ Quốc Gia Mỹ (NIST) chấp nhận làm chữ kí số [1] Sơ đồ Elgamal (E) được thiết kế với mục đích dành riêng cho chữ kí số, khác sơ đồ RSA dùng cho cả hệ thống mã khoá công khai lẫn chữ

kí số

Sơ đồ E không giống như hệ thống mã khoá công khai Elgamal Điều này có nghĩa là có nhiều chữ kí hợp lệ trên bức điện cho trước bất kỳ Thuật toán xác

Trang 26

minh phải có khả năng chấp nhận bất kì chữ kí hợp lệ khi xác thực Sơ đồ E được mô tả dưới đây:

Nếu chữ kí được thiết lập đúng khi xác minh sẽ thành công vì :

βγ γδ ≡ αa γ αkγ(mod p) ≡ αx(mod p)

là ở đây ta dùng hệ thức:

a γ+ k δ ≡ x (mod p-1)

Định nghĩa 1.2.3.2 : Cho p là số nguyên tố sao cho bài toán log rời rạc trên Zp

là khó Giả sử α ∈ Zn là phần tử nguyên thuỷ p = Zp*, a = Zp*x Zp-1

Định nghĩa :

K ={(p,α ,a,β ):β ≡ αa(mod p)}

Giá trị p,α ,β là công khai, còn a là mật

Với K = (p,α ,a,β ) và một số ngẫu nhiên (mật) k∈ Zp-1

Thí dụ1: Giả sử cho p = 467, α =2,a = 127; khi đó:

β = αa mod p = 2127 mod 467 = 132

Nếu Tommy muốn kí lên bức điện x = 100 và chọn số ngẫu nhiên k =213 (chú ý là UCLN(213,466) =1 và 213-1 mod 466 = 431 Khi đó γ =2213 mod

467 = 29 và δ =(100-127 × 29) 431 mod 466 = 51

Bất kỳ ai củng có thể xác minh chữ kí bằng các kiểm tra :

Trang 27

13229 2951 ≡ 189 (mod 467)

Và 2100 ≡ 189 (mod 467)

Vì thế chữ kí là hợp lệ

- Độ an toàn của chữ ký Elgamal

Xét độ mật của sơ đồ chữ kí E Giả sử, Oscar thử giả mạo chữ kí trên bức điện x cho trước không biết a Nếu Oscar chọn γ và sau đó thử tìm giá trị

δ tương ứng, anh ta phải tính logarithm rời rạc logγ αxβ-γ Mặt khác, nếu đầu tiên ta chọn δ và sau đó thử tìm γ và thử giải phương trình:

βγ γδ ≡ αx(mod p) để tìm γ Đây là bài toán chưa có lời giải nào: Tuy nhiên, dường như nó chưa được gắn với bài toán đã nghiên cứu kĩ nào nên vẫn có khả năng có cách nào đó để tính δ và γ đồng thời để (δ, γ) là một chữ kí Hiện thời không ai tìm được cách giải song cũng không ai khẳng định được rằng nó không thể giải được

Nếu Oscar chọn δ và γ và sau đó tự giải tìm x, anh ta sẽ phải đối mặt với bài toán logarithm rời rạc Vì thế Oscar không thể kí một bức điện ngẫu nhiên bằng biện pháp này Tuy nhiên, có một cách để Oscar có thể kí lên bức điện ngẫu nhiên bằng việc chọn γ, δ và x đồng thời: giả thiết i và j là các số nguyên 0 ≤ i ≤ p-2, 0 ≤ j ≤ p-2 và UCLN(j,p-2) = 1 Khi đó thực hiện các tính toán sau:

βγ γδ ≡ αx(mod p)

Trang 28

Thí dụ 2: Giống như ví dụ trước cho p = 467, α = 2, β =132 Giả sữ Oscar

chọn i = 99, j = 179; khi đó j-1 mod (p-1) = 151 Anh ta tính toán như sau:

γ = 299132197 mod 467 = 117 δ =-117 ×151 mod 466 = 51 x = 99 × 41 mod

h, i, j ≤ p-2 và UCLN (h γ - j δ, p-1) = 1 Ta thực hiện tính toán sau:

Cuối cùng, ta sẽ nêu vài cách có thể phá được sơ đồ này nếu không áp dụng

nó một cách cẩn thận Trước hết, giá trị k ngẫu nhiên được dùng để tính chữ

kí phải giữ kín không để lộ vì nếu k bị lộ, khá đơn giản để tính :

Trang 29

a = (x-k γ )δ-1 mod (p-1)

Dĩ nhiên, một khi a bị lộ thì hệ thống bị phá và Oscar có thể dễ dang giả mạo chữ kí Một kiểu dung sai sơ đồ nữa là dùng cùng giá trị k để kí hai bức điện khác nhau điều này cùng tạo thuận lợi cho Oscar tính a và phá hệ thống Sau đây là cách thực hiện Giả sử (γ, δ1) là chữ kí trên x1 và (γ, δ2) là chữ kí trên x2 Khi đó ta có:

Phương trình này cho d giá trị có thể của k, k = x’ ε +i p’ mod p

với i nào đó, 0 ≤ i ≤ d-1 Trong số d giá trị có có thế này, có thể xác định được một

giá trị đúng duy nhất qua việc kiểm tra điều kiện

Trang 30

1.2.3.3 Sơ đồ chữ ký RSA

Định nghĩa 1.2.3.3: Sơ đồ chữ ký RSA

Sơ đồ chữ ký RSA là một bộ năm S= (P, A, K, S, V )

Trong đó: P =A = Zn với n = p.q là tích của hai số nguyên tố lớn p, q

Khi Andy gửi thông báo x cho Tommy, để Tommy có căn cứ xác nhận đúng

là thông báo do Andy gửi, Andy phải gửi kèm theo chữ ký sigK'(x), tức Andy gửi cho Tommy (x, sigK' (x)) trong thông tin gửi đi Ở đây, thông tin x hoàn toàn không được giữ bí mật

Nếu chúng ta sử dụng sơ đồ mật mã RSA, khi nhận được một bản mật mã

ek(x) từ Andy, Tommy chỉ biết rằng thông báo x được bảo mật, chứ không có

gì để xác nhận x là của Andy gửi Nếu muốn thông tin x vừa có tính bảo mật

và vừa có tính xác thực, thì phải sử dụng đồng thời cả mã hóa và xác thực bằng chữ ký số

Trang 31

(a là khóa bí mật của Tommy) Trong trường hợp không cần giữ bí mật x, Tommy gửi cặp (x,y) cho Andy

2 Nhận được thông báo x và chữ ký số y, Andy kiểm tra đẳng thức: x

= yb mod n (b là khoá công khai của Tommy) Nếu có đẳng thức, Andy công nhận y là chữ ký trên x của Tommy Nếu không có đẳng thức, x không phải của Tommy gửi Toà án cũng căn cứ vào kết quả kiểm tra đẳng thức trên để phán quyết

Rõ ràng, Tommy là người duy nhất có thể tạo ra chữ ký này, vì a là bí mật do

đó sigK' là bí mật Một người bất kỳ đều có thể kiểm tra chữ ký của Tommy trên x, bằng cách dùng khóa công khai b của Tommy

3 Nếu muốn hệ truyền tin của ta vừa có tính bảo mật vừa có tính xác nhận, thì phải sử dụng đồng thời cả hai hệ mật mã và xác nhận (bằng chữ ký)

Giả sử, Andy tính toán có chữ ký là y = sigAndy(x), sau đó mã cả x và y bằng hàm mã khóa công khai eTommy của Tommy, khi đó Andy nhận được z = eTommy(x,y) Bản mã z được truyền tới Tommy Khi Tommy nhận được z, trước hết phải giải mã hàm dTommy, để nhận được (x,y) Sau đó, Tommy dùng

hàm xác minh công khai của Andy, để kiểm tra xem verAndy(x,y) có bằng True

hay không

Nếu đầu tiên Andy mã x rồi sau đó mới kí lên bản mã:

y = sigAndy(eTommy(x))

Andy sẽ truyền cặp (x,y) tới Tommy Tommy giải mã z, nhận được x và sau

đó xác minh chữ ký y trên x nhờ dùng verAndy Vấn đề tiềm ẩn là, nếu Oscar nhận được cặp (x,y) kiểu này, anh ta có thể thay chữ ký y của Andy bằng chữ

ký của chính mình

y’ = sigOscar(eTommy(x))

Chú ý: Oscar có thể kí bản mã eTommy(x), ngay cả khi không biết bản rõ x Khi

Trang 32

minh bằng verOscar và Tommy có thể suy ra, bản rõ x xuất phát từ Oscar Do khó khăn này, hầu hết người sử dụng được khuyến nghị nên kí trước khi mã

Trang 33

CHƯƠNG 2 BÀI TOÁN SƠ ĐỒ ĐỊNH DANH MẬT VÀ XÁC NHẬN THÔNG TIN

Trong chương trước ta đã thấy các kỹ thuật mật mã có thể được ứng dụng để xây dựng nhiều giải pháp an toàn cho vấn đề xác nhận các thông báo cùng với người gửi trên các mạng truyền tin công cộng Trong chương này ta sẽ xét việc ứng dụng cũng các kỹ thuật đó cho bài toán xây dựng các

sơ đồ xưng danh và xác nhận danh tính, cũng là một bài toán quan trọng và thường gặp trong mọi hoạt động giao lưu thông tin, đặc biệt giao lưu qua mạng

2.1 Tổng quan về bài toán xưng danh

Việc xưng danh và xác nhận danh tính của một người thường là cần thiết trong những tình huống như:

- Để rút tiền từ các máy rút tiền tự động (ATM), ta cần xưng danh bằng cách dùng một thẻ rút tiền cùng với một số PIN (số xưng danh cá nhân) của mình

- Để mua hàng hoặc thanh toán một khoản tiền qua mạng điện thoại, ta cần thông báo số thẻ tín dụng (cùng ngày hết hạn) của mình

- Để truy nhập vào một máy tính trên một mạng, ta cần khai báo tên người dùng cùng mật hiệu (password) của mình v v

Trong thực tế cuộc sống, việc xưng danh theo thói quen thường không đòi hỏi tính an toàn, chẳng hạn các số PIN, mật khẩu thường không có gì để bảo đảm là được giữ kín, người ngoài không biết được Tuy nhiên, cuộc sống càng ngày càng được tin học hoá, phần lớn các giao dịch được thực hiện trên các mạng tin học, vậy cần giải pháp bảo đảm tính an toàn trong các khâu xưng danh và xác nhận danh tính

Mục tiêu an toàn của việc xưng danh là bảo đảm sao cho khi “nghe”

Trang 34

không thể sau đó mạo nhận mình là A, kể cả chính B cũng không thể mạo xưng mình là A sau khi được A xưng danh với mình Nói cách khác, A muốn chứng minh để được đối tác xác nhận danh tính của mình mà không

để lộ bất cứ thông tin nào về việc chứng minh danh tính đó

Việc xưng danh thường phải thông qua một giao thức hỏi - đáp nào

đó, qua giao thức đó để B có thể xác nhận danh tính của A, B đặt cho A một câu hỏi; A phải trả lời, trong trả lời đó A phải chứng tỏ cho B biết là A có sở hữu một bí mật riêng A mới có, điều đó thuyết phục B tin chắc rằng người trả lời đúng là A và do đó xác nhận danh tính của A Vấn đề khó ở đây là A phải làm cho B biết là A có sở hữu một bí mật chỉ riêng A mới có, nhưng lại không được lộ cho B biết cái bí mật riêng A mới có đó là cái gì Mặt khác,

để cho việc “A có sở hữu một bí mật của riêng A” đó là đáng tin (dù là không biết) thì cần được chứng thực bởi một bên thứ ba nào đó, chẳng hạn bởi một cơ quan được uỷ thác (trusted authority) Cơ quan được uỷ thác này cũng không biết bản thân bí mật của A, nhưng biết và chứng nhận A là chủ

sở hữu của một yếu tố công khai mà việc A sử dụng nó chứng tỏ A có cái bí mật nói trên

2.2 Sơ đồ xƣng danh Okamoto

Sơ đồ Okamoto có thể chứng minh được là an toàn nếu giả thiết logarithm rời rạc trong Zp không giải được [5]

Để thiết lập sơ đồ Ta chọn p và q, hai phần tử 1 và 2 Zp đều có bậc

q Giá trị c =log α1α2 được giữ bí mật kể cả đối với Andy.Ta sẽ giả thiết rằng, không ai có thể giải được (thậm chí Andy và Elly liên minh với nhau) để tính

ra giá trị c Như trước đây ,ta chọn sơ đồ chữ kí số và hàm hash Dấu xác nhận mà ta đã phát cho Andy được xây dựng như mô tả như sau:

1 Ta thiết lập danh tính của Andy và phát chuỗi định danh ID(Andy)

2 Andy chọn bí mật hai số mũ ngẫu nhiên a1,a2 trong đó 0≤a1,a2≤q-1

Trang 35

Dưới đây là một ví dụ về sơ đồ Okamoto

Thí dụ 4: [1]

Cũng như ví dụ trước , ta lấy p=88667,q=1031,t=10.Cho α1=58902 và

α2=73611(cả α 1 và α2 đều có bậc q trong Zp) Giả sử a1=846,a2=515, khi đó v=13078

Giả sử Andy chọn k1=899,k2=16,khi đó Nếu Tommy đưa ra yêu cầu r = 489 thì Andy sẽ trả lời y1=131 và y2=287 Tommy sẽ xác minh thấy :

58902 13178611 2871378498=14574(mod 88667)

Vì thế Tommy chấp nhận bằng chứng của Andy về danh tính của cô

Việc chứng minh giao thức là đầy đủ không khó (tức Tommy sẽ chấp nhận bằng chứng về danh tính của cô)

Phép chứng minh về tính an toàn rất tinh tế Andy tự định danh với Elly trong nhiều thời gian đa thức thông qua thực hiện giao thức Khi đó ta giả thiết rằng Elly có khả năng nghiên cứu một số thông tin nào về các số mũ của Andy thông qua việc tham gia vào giao thức

Trang 36

Định lý 2.1 Giả sử Elly biết a giá trị mà nhờ nó có xác suất thàng

công 1/2t-1 khi giả danh Andy trong giao thức xác minh khi đó, Elly có thể tính các giá trị b1 và b2 trong thời gian đa thức sao cho [2]:

v=α1-b1α2-b2

mod p Chứng minh:

Với phần trên 2t

yêu cầu có thể r, Elly có thể tính các giá trị y1, y2, z1, z2, r và s với r≠ s và:

1 y1α2y2

v α1-b1α2-b2

(mod p) như mong muốn

Bây giờ ta tiếp tục chỉ ra cách Andy và Elly cùng tính giá trị c

Định lý 2.2: Giả sử Elly biết giá trị (mà với nó có xác suất giả danh Andy

thành công là ) trong giao thức xác minh Khi đó, Andy và Elly

có thể cùng nhau tính log trong thời gian đa thức với xác suất 1-1/q [2]

Chứng minh

Theo định lý 2.1,Elly có khả năng xác định các giá trị b1 và b2 sao cho

v α1b1 α2b2 (mod p) Giả thiết rằng Andy để lộ các giá trị a1 và a2 cho biết Elly biết Dĩ nhiên:

v α1-a1 α2-a2 (mod p)

vì thế α1 a1-b1 2b2-a2 (mod p)

Trang 37

Khi Andy muốn chứng minh danh tính của cô trước Tommy, cô thực hiện giao thức như sau:

1.Andy chọn các số ngẫu nhiên k1, k2,0 k1, k2 ≤ q-1 và tính:

=α1k1α2k2

(mod p) 2.Andy gửi dấu xác nhận của cô C(Andy)=(ID(Andy),v,s) và cho Tommy 3.Tommy xác minh chữ kí của TA bằng cách kiểm tra xem có thỏa mãn đồng

dư thức :

verTA(ID(Andy),v,s)=true 4.Tommy chọn số ngẫu nhiên r1 r2 và đưa nó cho Andy

5.Andy tính:

y1=k1+a1 r mod q

và y2=k2+a2 r mod q

và đưa y1 và y2 cho Tommy

6.Tommy xác minh xem:

α1y1α2y2

vr (mod p) hay không

Giả sử rằng (a1, a2) ≠ (b1, b2) khi đó (a1 – b1) tồn tại và logarithm rời rạc:

c=logα1 α2 = (a1 – b1) (b2 - b1 )-1

mod q

có thể tính được trong thời gian tối đa

Phần còn lại là xem xét xác suất để (a1, a2) = (b1, b2) Nếu xảy ra điều này thì giá trị c không thể tính theo mô tả ở trên Tuy nhiên ta sẽ chỉ ra rằng (a1, a2) = (b1, b2) sẽ chỉ xảy ra với xác suất 1/q, vì thế giao thức nhờ đó Andy và Elly tính được c hầu như chắc chắn thành công

Định nghĩa 2.2 :

A = {(a1’, a2’) € Zq x Zq : α1 –a1’ α2 -a2’

α1 –a1 α2 -a2

(mod q)} nghĩa là A gồm tất cả các cặp được sắp có thể và chúng có thể là các số mũ của Andy Xét thấy rằng :

Trang 38

A = {(a1 –cθ, a2 + cθ) : 0 € Zq (mod q)}

Trong đó c=logα1 α2 Như vậy A chứa q được sắp:

Cặp được sắp (b1, b2) do Elly tính chắc chắn ở trong tập A Ta sẽ chỉ ra rằng, giá trị của cặp (b1, b2) độc lập với cặp (a1, a2) chứa các số mũ mật của Andy

Vì (a1, a2) được Andy chọn đầu tiên một cách ngẫu nhiên nên xác suất để (a1, a2)=(b1, b2) là 1/q

Như vậy (b1, b2) là “độc lập” với (a1, a2) Cặp (a1, a2) của Andy là một trong q cặp được sắp có thể trong A và không có thông tin nào về nó ( là cặp “đúng”)

đã bị Andy để lộ cho Elly biết khi cô xưng danh với Elly (Một hình thức, Elly biết một cặp trong A chứa số mũ của Andy song cô ta không biết nó là cặp nào)

Ta xét thông tin được trao đổi trong giao thức định danh Về cơ bản trong mỗi lần thực hiện giao thức, Andy chọn , Elly chọn r và Andy để lộ y1 và y2 sao cho :

yk = α1k1 α2k2 mod q Chú ý rằng k1 và k2 không bị lộ (mà a1 và a2 cũng không)

Bốn phần tử cụ thể ( r, y1, y2) được tạo ra trong thực hiện giao thức tùy thuộc và cấp (a1, a2) của Andy vì y1 và y2 được định nghĩa theo a1 và a2 Tuy nhiên ta sẽ cho rằng, mỗi bộ bốn như vậy có thể tạo ra như nhau từ các cặp

Ngày đăng: 15/11/2014, 22:06

Nguồn tham khảo

Tài liệu tham khảo Loại Chi tiết
[1] Phan Đình Diệu, Lý thuyết mật mã và an toàn thông tin, khoa CNTT Đại học Quốc gia Hà Nội, 2006 Sách, tạp chí
Tiêu đề: Lý thuyết mật mã và an toàn thông tin
[2] D.R Stinson, Mật mã - Lý thuyết và thực hành, do Nguyễn Bình dịch - Học viện kỹ thuật mật mã, 1995 Sách, tạp chí
Tiêu đề: Mật mã - Lý thuyết và thực hành
[3] Lê Mỹ Tú, Trần Duy La, Chứng thực điện tử, Học viện Kỹ thuật Mật mã, 2011 Sách, tạp chí
Tiêu đề: Chứng thực điện tử
[4] TS. Nguyễn Đại Thọ, An Toàn Mạng, Trường Đại học Công nghệ - ĐHQGHN, 2010B. Tài liệu tiếng Anh Sách, tạp chí
Tiêu đề: An Toàn Mạng
[5] Douglas R. Stinson. Cryptography. Theory and Practice, CRC ress, 1995 Sách, tạp chí
Tiêu đề: Cryptography. Theory and Practice
[6] A.J. Menezes, P.C. van Oorschot, S.A. Vanstone. Handbook of Applied cryptography, CRC Press, 1997 Sách, tạp chí
Tiêu đề: Handbook of Applied cryptography
[7] Bruce Schneier. Applied Cryptography. Protocols, Algorithms and Source Code in C. John Wiley &Son,Inc, 1996 Sách, tạp chí
Tiêu đề: Applied Cryptography. Protocols, Algorithms and Source Code
[8] S. Goldwasser, M. Bellare. Lecture Notes on Cryptography. MIT Laboratory of Computer Science, 2001 Sách, tạp chí
Tiêu đề: Lecture Notes on Cryptography
[9] J.Seberry, J. Pieprzyk. Cryptography. An introduction to Computer Security. Prentice Hall, 1989 Sách, tạp chí
Tiêu đề: Cryptography. An introduction to Computer Security
[10] Vitor Shoup. A computational Introduction to Number Theory and Algebra, New York University, 2003 Sách, tạp chí
Tiêu đề: A computational Introduction to Number Theory and Algebra
[11] William Stallings. Cryptography and Network Security : Principles and Practice, Fourth Edition. Prentice Hall, 2005 Sách, tạp chí
Tiêu đề: Cryptography and Network Security : Principles and Practice

HÌNH ẢNH LIÊN QUAN

SƠ ĐỒ ĐỊNH DANH MẬT VÀ CHỮ KÝ SỐ ỨNG  DỤNG TRONG THƯƠNG MẠI ĐIỆN TỬ - Sơ đồ định danh mật và chữ ký số ứng dụng trong thương mại điện tử
SƠ ĐỒ ĐỊNH DANH MẬT VÀ CHỮ KÝ SỐ ỨNG DỤNG TRONG THƯƠNG MẠI ĐIỆN TỬ (Trang 1)
SƠ ĐỒ ĐỊNH DANH MẬT VÀ CHỮ KÝ SỐ ỨNG  DỤNG TRONG THƯƠNG MẠI ĐIỆN TỬ - Sơ đồ định danh mật và chữ ký số ứng dụng trong thương mại điện tử
SƠ ĐỒ ĐỊNH DANH MẬT VÀ CHỮ KÝ SỐ ỨNG DỤNG TRONG THƯƠNG MẠI ĐIỆN TỬ (Trang 2)
Hình 1.1  Lược đồ ký - Sơ đồ định danh mật và chữ ký số ứng dụng trong thương mại điện tử
Hình 1.1 Lược đồ ký (Trang 21)
Hình 1.2 Lƣợc đồ xác thực - Sơ đồ định danh mật và chữ ký số ứng dụng trong thương mại điện tử
Hình 1.2 Lƣợc đồ xác thực (Trang 23)
Sơ đồ Schnorr đã được thiết kế với tốc độ nhanh và hiệu quả theo quan  điểm cả về mặt tính toán lẫn lượng thông tin cần thiết để trao đổi trong giao  thức - Sơ đồ định danh mật và chữ ký số ứng dụng trong thương mại điện tử
chnorr đã được thiết kế với tốc độ nhanh và hiệu quả theo quan điểm cả về mặt tính toán lẫn lượng thông tin cần thiết để trao đổi trong giao thức (Trang 51)
Hình 3.2: Giao diện chương trình mô phỏng sơ đồ định danh Schnorr - Sơ đồ định danh mật và chữ ký số ứng dụng trong thương mại điện tử
Hình 3.2 Giao diện chương trình mô phỏng sơ đồ định danh Schnorr (Trang 62)
Hình 3.3: Giao diện chương trình mô phỏng cơ quan ủy thác  xác  nhận dấu cho Andy - Sơ đồ định danh mật và chữ ký số ứng dụng trong thương mại điện tử
Hình 3.3 Giao diện chương trình mô phỏng cơ quan ủy thác xác nhận dấu cho Andy (Trang 64)
Hình 3.4: Giao diện chương trình Andy thực hiện gửi thông tin cho Tommy  /*Chương trình gửi thông tin cho Tommy*/ - Sơ đồ định danh mật và chữ ký số ứng dụng trong thương mại điện tử
Hình 3.4 Giao diện chương trình Andy thực hiện gửi thông tin cho Tommy /*Chương trình gửi thông tin cho Tommy*/ (Trang 65)
Hình 3.5: Giao diện chương trình thực hiện xác nhận thông tin của Andy  /*Chương trình xác nhận thông tin của Andy*/ - Sơ đồ định danh mật và chữ ký số ứng dụng trong thương mại điện tử
Hình 3.5 Giao diện chương trình thực hiện xác nhận thông tin của Andy /*Chương trình xác nhận thông tin của Andy*/ (Trang 66)
Hình 3.6: Giao diện chương trình sơ đồ chữ ký Schnorr - Sơ đồ định danh mật và chữ ký số ứng dụng trong thương mại điện tử
Hình 3.6 Giao diện chương trình sơ đồ chữ ký Schnorr (Trang 70)
Hình 3.7: Giao diện chương trình thực hiện xác nhận thông tin của sơ đồ chữ  ký Schnorr - Sơ đồ định danh mật và chữ ký số ứng dụng trong thương mại điện tử
Hình 3.7 Giao diện chương trình thực hiện xác nhận thông tin của sơ đồ chữ ký Schnorr (Trang 72)

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

🧩 Sản phẩm bạn có thể quan tâm

w