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

ỨNG DỤNG MÃ XYCLIC CỤC BỘ XÂY DỰNG HỆ MẬT

71 338 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

Định dạng
Số trang 71
Dung lượng 397,16 KB

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

Nội dung

Các công nghệ mã hoá hiện đại đều không dựa vào khả năng giữ bí mật về công nghệ mã hoá thuật toán là công khai mà chỉ dựa vào bí mật chìa khoá giải mã, một hệ mật như vậy được gọi là hệ

Trang 1

ĐẠI HỌC QUỐC GIA HÀ NỘI

TRƯỜNG ĐẠI HỌC KHOA HỌC TỰ NHIÊN

Trang 2

ĐẠI HỌC QUỐC GIA HÀ NỘI

TRƯỜNG ĐẠI HỌC KHOA HỌC TỰ NHIÊN

LUẬN VĂN THẠC SĨ KHOA HỌC

NGƯỜI HƯỚNG DẪN KHOA HỌC:

TS PHẠM VIỆT TRUNG

Hà Nội – 2010

Trang 3

MỤC LỤC

MỤC LỤC 1

CÁC CHỮ VIẾT TẮT 3

DANH MỤC BẢNG BIỂU 4

DANH MỤC HÌNH VẼ 5

MỞ ĐẦU 6

CHƯƠNG 1 - TỔNG QUAN VỀ HỆ MẬT 10

1.1 Khái quát chung hệ mật mã cổ điển 10

1.1.1 Mô hình hệ thống truyền tin mật 10

1.1.2 Một số hệ mật mã cổ điển điển hình 11

1.2 Hệ mật khoá công khai 13

1.2.1 Khái quát chung 13

1.2.2 Nguyên tắc chung mã hoá với khoá công khai 14

1.2.3 Quá trình phát triển của hệ mật mã khoá công khai 14

1.3 Kết luận 24

CHƯƠNG 2 - LÝ THUYẾT VỀ MÃ XYCLIC CỤC BỘ VÀ PHÂN HOẠCH VÀNH ĐA THỨC 25

2.1 Khái niệm mã xyclic và vành đa thức 25

2.1.1 Mã tuyến tính 25

2.1.2 Vành đa thức 26

2.1.3 Mã xyclic 28

2.1.4 Mã hoá cho mã xyclic 30

2.1.5 Giải mã ngưỡng 31

2.1.6 Khái niệm mã xyclic cục bộ 34

2.1.7 Mối quan hệ giữa mã xyclic và xyclic cục bộ 34

2.1.8 Mã xyclic cục bộ xây dựng trên các nhóm nhân xyclic 35

2.2 Phân hoạch vành đa thức theo nhóm nhân xyclic 35

2.2.1 Phân hoạch của vành theo các nhóm nhân xyclic 35

2.2.2 Phân hoạch vành đa thức theo nhóm nhân xyclic đơn vị 37

2.2.3 Thuật toán xây dựng vành đa thức theo nhóm nhân xyclic đơn vị 39

2.3 Kết luận 41

CHƯƠNG 3 - XÂY DỰNG HỆ MẬT MCELIECE TRÊN MÃ XCB 42

3.1 Tiêu chí lựa chọn bộ mã xyclic cục bộ và mô hình toán học để xây dựng hệ mật McEliece 42

3.1.1 Tiêu chí lựa chọn bộ mã XCB để xây dựng hệ mật McEliece 42

3.1.2 Mô hình toán học xây dựng hệ mật McEliece với mã xyclic cục bộ 42

Trang 4

3.2 Sơ đồ khối xây dựng hệ mật McEliece với mã xyclic cục bộ 43

3.2.1 Sơ đồ mã hoá 43

3.2.2 Sơ đồ giải mã 46

3.3 Về một phương pháp xây dựng hệ mật McEliece trên mã XCB 48

3.3.1 Phương pháp tạo khoá mã 48

3.3.2 Thuật toán mã hoá 50

3.3.3 Thuật toán giải mã 53

3.4 Nghiên cứu thử nghiệm hệ mật McEliece trên mã xyclic cục bộ 59

3.4.1 Quá trình tạo khoá 59

3.4.2 Quá trình mã hoá 62

3.4.3 Quá trình giải mã 63

3.5 Đánh giá hệ mật McEliece trên mã xyclic cục bộ 66

3.6 Kết luận 67

KẾT LUẬN CHUNG 68

TÀI LIỆU THAM KHẢO 69

Trang 5

CÁC CHỮ VIẾT TẮT

deg Bậc của đa thức (degree )

UCLN Ước chung lớn nhất (gcd)

Trang 6

DANH MỤC BẢNG BIỂU

Bảng 2.1: Các mã xyclic trên vành Z2[x]/x7+1

Bảng 2.2: Phân hoạch vành Z2[x]/x5+1 theo nhóm nhân xyclic đơn vị

Bảng 2.3: Phân hoạch vành với a(x) = 1 + x + x2

Bảng 2.4: Kết quả phân hoạch vành đa thức trên máy tính core 2 duo 2.26GHz Bảng 3.1: Phân hoạch vành đa thức theo nhóm nhân xyclic đơn vị với k =8 Bảng 3.2: Các lớp kề lựa chọn để xây dựng bộ mã (64,8,32)

Bảng 3.3: Ma trận G1 (8,64)

Bảng 3.4: Ma trận sinh G (7,64)

Bảng 3.5: Các dữ liệu nhị phân của 10 ký tự là: "1234567890"

Bảng 3.6: Đánh giá hiệu suất phần mềm mã hoá và giải mã

Trang 7

DANH MỤC HÌNH VẼ

Hình 1.1: Mô hình hệ thống truyền tin mật

Hình 2.1: Thiết bị mã hoá cho mã xyclic (n,k) có đa thức sinh g(x)

Hình 2.2: Cấu trúc vành Z2[x] / xn+1

Hình 2.3: Sơ đồ thuật toán tính phân hoạch vành theo nhóm nhân xyclic đơn vị Hình 2.4 Chương trình tính phân hoạch vành theo nhóm nhân xyclic đơn vị Hình 3.1: Sơ đồ khối xây dựng hệ mật McEliece với mã XCB – Sơ đồ mã hoá Hình 3.2: Sơ đồ khối xây dựng hệ mật McEliece với mã XCB – Sơ đồ giải mã Hình 3.3: Sơ đồ thuật toán mã hoá

Hình 3.4: Sơ đồ thuật toán giải mã

Hình 3.5: Chương trình phần mềm mã hoá và giải mã

Trang 8

MỞ ĐẦU

Ngày nay với sự phát triển mạnh mẽ của công nghệ thông tin và truyền thông, máy tính và mạng máy tính đang ngày càng đóng vai trò thiết yếu trong mọi lĩnh vực hoạt động của toàn xã hội Dữ liệu trao đổi trên mạng chứa rất nhiều thông tin quan trọng cần được bảo vệ nên an toàn thông tin truyền trên mạng đóng một vai trò rất quan trọng Trong những thập kỷ 70 và 80 của thế kỷ trước công nghệ mã hoá thông tin đã có bước phát triển vượt bậc Các công nghệ mã hoá hiện đại đều không dựa vào khả năng giữ bí mật về công nghệ mã hoá (thuật toán là công khai)

mà chỉ dựa vào bí mật chìa khoá giải mã, một hệ mật như vậy được gọi là hệ mật khoá công khai Hệ mật này đáp ứng được đầy đủ đòi hỏi về bảo mật thông tin và phù hợp cho các ứng dụng rộng rãi trong cộng đồng Trong thời gian gần đây, nhiều thuật toán tốt đã được xây dựng song song với tốc độ phát triển của công nghệ thông tin nói chung, tuy nhiên đó là những thuật toán và công nghệ mã hoá do nước ngoài cung cấp, do vậy để bảo vệ các thông tin, đặt biệt trong lĩnh vực an ninh quốc phòng, chúng ta phải tự mình xây dựng các giải pháp cho bảo mật thông tin

Ý tưởng về một hệ mật khoá công khai được Diffie và Hellman đưa ra vào năm 1976, sau đó Rivesrt, Shamir và Adleman đưa ra hệ mật nổi tiếng RSA vào năm 1977 Tiếp theo đó một số hệ mật dựa trên các thuật toán khác nhau ra đời, trong đó, quan trọng nhất là các hệ mật khoá công khai sau:

- Hệ mật RSA: Độ bảo mật của hệ RSA dựa trên độ khó của việc phân tích ra thừa

số nguyên lớn

- Hệ mật xếp ba lô Merkle – Hellman: Hệ này và các hệ liên quan dựa trên tính khó

giải của bài toán tổng các tập con (bài toán NP đầy đủ) Tuy nhiên, tất cả các hệ mật xếp ba lô khác nhau đều đã chứng tỏ là không mật (ngoại trừ hệ mật Chor-Rivest)

- Hệ mật McEliece: Hệ mật này dựa trên lý thuyết mã hoá đại số và vẫn còn được

coi là an toàn Hệ mật McEliece dựa trên bài toán giải mã cho các mã tuyến tính (cũng là một bài toán NP đầy đủ)

Trang 9

- Hệ mật ElGamal: Hệ mật ElGamal dựa trên tính khó giải của bài toán logarithm

rời rạc trên các trường hữu hạn

- Hệ mật Chor-Rivest: Hệ mật Chor-Rivest cũng được xem như một hệ mật xếp ba

lô, hiện nay nó vẫn được coi là an toàn

- Hệ mật trên các đường cong Elliptic: Các hệ mật này là biến tướng của các hệ mật

khác (chẳng hạn như hệ mật ElGamal), chúng làm việc trên các đường cong Elliptic chứ không phải là trên các trường hữu hạn Hệ mật này đảm bảo độ mật với số khoá nhỏ hơn các hệ mật khoá công khai khác

Trong các hệ mật khoá công khai ở trên, duy nhất có hệ mật McEliece dựa trên lý thuyết mã đại số để xây dựng hệ mật, với ứng dụng cụ thể là mã Goppa

Từ năm 1987, GS.TSKH Nguyễn Xuân Quỳnh và PGS.TS Nguyễn Bình lần đầu tiên đề xuất phương pháp xây dựng mã xyclic cục bộ (XCB) [1][2][3][4], cùng với các kết quả nghiên cứu của các nghiên cứu sinh [5][6], mở ra khả năng có thể nghiên cứu phát triển tiếp lý thuyết về mã xyclic cục bộ Các kết quả nghiên cứu trước đây đã đưa ra các phương pháp phân hoạch tổng quát vành theo các nhóm nhân xyclic khác nhau trong vành Phương pháp giải mã cho xyclic cục bộ dùng phương pháp giải mã ngưỡng biểu quyết theo đa số, giải mã ngưỡng một cấp hoặc hai cấp ngưỡng Việc cải tạo các mã xyclic cục bộ thành các mã tối ưu được sử dụng theo các phương pháp sử dụng dấu kiểm tra chẵn, sử dụng dấu thông tin giả, các lớp mã xyclic cục bộ tự trực giao và có khả năng trực giao đã được đưa ra

Các ưu điểm nổi bật của mã xyclic cục bộ là khả năng lựa chọn mã phong phú, thuật toán mã hoá và giải mã là tường minh, có hướng mở cho các nghiên cứu

kế tiếp Chính vì vậy, chúng tôi đã chọn đề tài “Ứng dụng mã xyclic cục bộ xây dựng hệ mật” với mục đích ứng dụng khả năng của mã xyclíc cục bộ để xây dựng một hệ mật khoá công khai dựa trên hệ mật McEliece

Trang 10

Mục đích của luận văn

Xây dựng một hệ mật khoá công khai dựa trên lược đồ hệ mật McEliece sử dụng mã xyclic cục bộ

Đối tượng nghiên cứu

Lý thuyết về mật mã, hệ mật khoá công khai, lý thuyết số, đại số, lý thuyết

mã xyclic cục bộ

Ý nghĩa khoa học và thực tiễn của luận văn

Về khoa học: Nghiên cứu của luận văn góp phần làm phong phú thêm về lý

thuyết mã xyclic cục bộ, chứng minh một khả năng mới xây dựng hệ mật khoá công khai dựa trên lý thuyết mã đại số

Về thực tiễn: Kết quả nghiên cứu sẽ đưa ra một khả năng có thể ứng dụng

trong thực tế, góp phần nâng cao tính bảo mật của thông tin trên đường truyền

Phương pháp tiếp cận: Dựa trên cơ sở toán học về lý thuyết đại số, lý

thuyết số học, các thuật toán để xây dựng các hệ mật khoá công khai, các giải thuật lập trình

Phương pháp nghiên cứu: Nghiên cứu lý thuyết mới về mã xyclic cục bộ

Ứng dụng các kết quả mới nhất về mã xyclic cục bộ vào hệ mật McEliece

Nội dung của luận văn

- Tìm hiểu hệ mật khoá công khai McEliece

- Nghiên cứu về mã xyclic cục bộ, tìm hiểu một phương án phân hoạch tổng quát vành theo nhóm nhân xyclic đơn vị

- Xây dựng một hệ mật dựa trên lược đồ McEliece sử dụng mã xyclic cục bộ

Nội dung của luận văn được chia thành các chương sau:

Trang 11

Chương 1 Nghiên cứu tổng quan về hệ mật: Khái quát chung về hệ mật mã cổ

điển, sự ra đời của hệ mật khoá công khai, phân tích hệ mật khoá công khai dựa trên thuật toán McEliece

hoạch vành dựa trên nhóm nhân xyclic đơn vị Viết chương trình và chạy thử phân hoạch vành đa thức Nghiên cứu phương án sử dụng

mã xyclic cục bộ xây dựng hệ mật khoá công khai dựa trên thuật toán McEliece

pháp xây dựng hệ mật McEliece trên mã xyclic cục bộ, xây dựng thuật toán mã hoá và giải mã Xây dựng thuật toán và viết chương trình thử nghiệm hệ mật

theo

Trang 12

Chương 1 - TỔNG QUAN VỀ HỆ MẬT

Chương này trình bày tổng quan về quá trình hình thành và phát triển các

hệ mật cổ điển và hệ mật khoá công khai, trong đó đi sâu phân tích về hệ mật McEliece làm tiền đề cho các chương tiếp theo

1.1 Khái quát chung hệ mật mã cổ điển

1.1.1 Mô hình hệ thống truyền tin mật

Nhiệm vụ cơ bản của mật mã là tạo ra khả năng liên lạc trên một kênh không mật cho hai người sử dụng sao cho người thám mã không thể hiểu được nội dung thông tin được truyền đi Thông tin mà người gửi muốn gửi cho người nhận có cấu trúc tuỳ ý Người gửi sẽ mã hoá bản tin (bản rõ) bằng một khoá đã được xác định trước và gửi bản mã tới người nhận qua kênh thông tin Người thám mã không thể xác định được nội dung của bản rõ, nhờ có khoá mật KD người nhận có thể giải

mã và thu được bản rõ Mô hình hệ thống truyền tin mật được mô tả trên hình sau:

Hình 1.1: Mô hình hệ thống truyền tin mật

Theo quan niệm toán học ta có định nghĩa về hệ mật như sau [11]:

Nguồn khoá

(Người thám mã)

Trang 13

1 R là một tập hữu hạn các bản rõ có thể

2 M là tập hữu hạn các bản mã có thể

3 K (không gian khoá) là tập hữu hạn các khoá có thể

d k (e k (x)) = x với mọi bản rõ x R

Theo định nghĩa trên nếu một bản rõ x được mã hoá bằng ek và bản mã nhận được giải mã bằng dk thì ta phải thu được bản rõ ban đầu x Người nhận và người gửi sẽ áp dụng thủ tục sau dùng hệ mật khoá riêng Trước tiên, họ chọn một khoá ngẫu nhiên k ∈ K Tiếp theo, giả sử người gửi muốn gửi một thông báo cho

người nhận trên một kênh không mật và ta xem thông báo này là một chuỗi:

x = x1 x2 … xn

với số nguyên n ≥ 1 nào đó Với xi∈ R, 1 ≤ i ≤ n, mỗi xi đều sẽ được mã hoá bằng quy tắc mã ek với khoá k xác định trước Người gửi sẽ tính:

yi = ek(xi), 1 ≤ i ≤ n Chuỗi bản mã nhận được: y = y1 y2 … yn sẽ được gửi trên kênh Khi nhận được y, người nhận sẽ giải mã bằng dk và thu được bản rõ x = x1x2 … xn

Hàm mã hoá ek phải là hàm ánh xạ một – một, nếu không việc giải mã sẽ không thể thực hiện được một cách tường minh Chú ý rằng nếu R = M thì mỗi hàm

mã hoá sẽ là một phép hoán vị, tức là nếu tập các bản mã và tập các bản rõ là đồng nhất, thì mỗi một hàm mã sẽ là một sự sắp xếp lại (hay hoán vị) các phần tử của tập này

Hệ mật mã cổ điển (hệ mã bí mật hay hệ mã đối xứng) là hệ mã trong đó việc mã hoá và giải mã cùng sử dụng chung một khoá bí mật

1.1.2 Một số hệ mật mã cổ điển điển hình

1.1.2.1 Mã dịch vòng

Trang 14

Hệ mật được xây dựng dựa trên số học modulo Ký hiệu m là số chữ cái của

bộ chữ xây dựng bản rõ R Mã dịch vòng được định nghĩa như sau Theo định nghĩa

1.1, cho R = M = K = Zm với 0 ≤ k ≤ (m - 1) và x, y ∈ Zm, ta định nghĩa:

ek(x) = (x + k) mod m

và dk(x) = (y – k) mod m

Các hệ mã hiện đại về thực chất là sự cải tiến của hệ mã dịch vòng Về bản chất, mã hoá một văn bản tiếng Anh thông thường là sự thiết lập sự tương ứng giữa các chữ cái với các số theo modulo 26 Tính bảo mật của hệ mã dịch vòng nói chung là không cao, người ta có thể dùng phương pháp tìm khoá vét cạn để xác định bản rõ Như vậy, điều kiện cần để một hệ mật an toàn là phép tìm khoá vét cạn không thể thực hiện được

là hoán vị ngược của π

Về mã này, với các văn bản tiếng Anh khi cần mã hoá, mỗi khoá của mã thay thế là một trong số 26! hoán vị Do vậy, áp dụng phương pháp tìm khoá vét cạn

sẽ khó khăn hơn mã thay thế có thể dễ dàng bị thám mã bằng phương pháp thống

kê Cả hai hệ mã dịch vòng và mã thay thế được gọi là hệ thay thế đơn biểu Về cơ bản, cả hai hệ đều xoay quanh phép thay thế

1.1.2.3 Mã hoán vị

Về ý tưởng mã hoán vị là thay đổi vị trí giữa các ký tự của bản rõ Mã hoán

vị được định nghĩa như sau: Cho m là một số nguyên dương xác định nào đó Theo định nghĩa 1.1, cho R = M = (Z26)m và K gồm tất cả các hoán vị π của {1, , m} Đối với một khoá π (tức là một hoán vị) ta xác định:

eπ(x1, ,xm) = (xπ (1), ,xπ (m)) và dπ(y1, ,ym) = (yπ-1(1), ,yπ-1(m))

Trang 15

1.1.2.4 Các hệ mã dòng

Trong các hệ mật nghiên cứu ở trên, các phần tử liên tiếp của bản rõ được

mã hoá bằng cùng một khoá k Bản mã y nhận được có dạng:

y = y1y2 = eK(x1) eK(x2)

Các hệ mật thuộc dạng này thường được gọi là các mã khối Trên một quan điểm khác, người ta xây dựng các hệ mã dòng Ý tưởng cơ bản ở đây là tạo ra một dòng khoá z = z1z2z3 và dùng nó để mã hoá một xâu bản rõ x = x1x2x3 theo quy tắc:

3 K là tập hữu hạn các khoá có thể (không gian khoá)

4 L là tập hữu hạn bộ chữ của dòng khoá

Ta có thể coi mã khối là một trường hợp đặc biệt của mã dòng khi dùng khoá không đổi zi = K, với ∀i ≥ 1

1.2 Hệ mật khoá công khai

1.2.1 Khái quát chung

Việc xây dựng các hệ mật khoá công khai là thiết kế một hệ mật sao cho khả năng tính toán để xác định quy tắc giải mã (dk) là rất thấp dù biết quy tắc mã

Trang 16

hoá ek Vì vậy quy tắc mã hoá ek có thể được công khai rộng rãi Ưu điểm của hệ mật này là người gửi có thể gửi bản tin cho người nhận mà không cần thông tin trước về khoá mật Người nhận là người duy nhất có thể giải mã thông tin nhận được nhờ sử dụng quy tắc giải mã dk

[11]

1.2.2 Nguyên tắc chung mã hoá với khoá công khai

Trong hệ thống có N đối tượng cùng trao đổi thông tin mật Từng đối tượng chọn cho mình một khoá lập mã k và hàm mã hoá ek được công khai Như vậy có N khoá lập mã công khai k1 ,k2 ,k3, , kn Khi đối tượng i muốn gửi thông tin cho đối tượng j thì dữ liệu được chuyển thành từng khối với độ dài nào đó, mỗi khối P trong văn bản được mã hoá bằng khoá lập mã ekjcủa đối tượng j, thông tin gửi đi có dạng:

j

k

M = e (P) Để giải mã, đối tượng j thực hiện: d (M) = dk j k j(e (P) = Pk j )

Do ekjvà dkj là khoá lập mã và giải mã của đối tượng j nên các đối tượng khác trong hệ thống không thể tìm ra khoá giải mã

1.2.3 Quá trình phát triển của hệ mật mã khoá công khai

Các hệ mật khoá công khai được nghiên cứu và phát triển mạnh mẽ vào cuối những năm 70 của thế kỷ trước Các hệ mật điển hình đã được tập trung nghiên cứu phát triển và đưa vào ứng dụng trong thực tế là hệ mật RSA, hệ mật RABIN, hệ mật ELGAMAL, hệ mật CHOR-RIVEST, hệ mật McELIECE [11]

1.2.3.1 Hệ mật RSA

Hệ RSA được xây dựng trên cơ sở mã mũ, trong đó khoá lập mã là cặp (b,n), gồm số mũ b và mod n Với n = p.q trong đó p và q là các số nguyên tố cực lớn Còn b được chọn là một số nguyên ngẫu nhiên sao cho UCLN(b,Φ(n)) = 1, với

Trang 17

Φ(n) là giá trị hàm Euler của n, ở đây Φ(n) = (p-1)(q-1) Đặt R = M = Zn và định nghĩa K= {(n, p, q, a, b):

ab ≡ 1 (mod Φ(n))

Với k=(n, p, q, a, b) ta xác định

- Tạo khoá: Mỗi đối tượng trong hệ thống trao đổi thông tin cần tạo một khoá công khai và một khoá riêng tương ứng theo các bước sau:

+ Tạo 2 số nguyên tố lớn ngẫu nhiên và khác nhau p và q

+ Tính n = p.q và Φ(n) = (p - 1)(q - 1)

+ Chọn một số nguyên ngẫu nhiên b (0 < b < Φ(n)) sao cho: (b, Φ) = 1

+ Sử dụng thuật toán Euclide mở rộng để tính a = b-1 mod Φ(n)

+ Khoá công khai là cặp số (n,b) Khoá riêng bí mật là a

- Mã hoá: B mã hoá một thông báo m để gửi cho A bản mã cần giải B phải thực hiện:

+ Thu nhận khoá công khai (n,b) của A

+ Biểu diễn bản tin dưới dạng một số nguyên m trong khoảng [0,n - 1] + Tính c = mb mod n

+ Gửi bản mã c cho A

- Giải mã: Khôi phục bản rõ m từ c A phải thực hiện phép tính sau bằng cách dùng khoá riêng m = ca mod n

- Đánh giá: Nếu ta chọn các số p và q vào khoảng 100 chữ số, thì n sẽ vào khoảng

200 chữ số như vậy hệ mật RSA được coi là an toàn Để tránh bị rơi vào các trường hợp đặc biệt (n bị phân tích nhanh nhờ những thuật toán mới) thì cần phải chọn (p – 1) và (q – 1) có toàn các ước nguyên tố nhỏ, UCLN (p – 1, q – 1) phải là số nhỏ

Trang 18

Trong thực tế tốc độ mã hoá theo thuật toán RSA là rất chậm do vậy người

ta không ứng dụng hệ mật RSA cho mã hoá khối dữ liệu lớn mà thường chỉ tập trung cho các vấn đề như: xác nhận chủ thể, tạo vỏ bọc an toàn cho văn bản mật

Bài toán logarithm rời rạc trong Z p

Trang 19

Elgamal đã phát triển một hệ mật khóa công khai dựa trên bài toán logarithm rời rạc Hệ mật Elgamal là một hệ mật không tất định vì bản mã phụ thuộc vào cả bản rõ x lẫn giá trị ngẫu nhiên do người mã hóa chọn Bởi vậy, sẽ có nhiều bản mã được mã từ cùng bản rõ

1.2.3.3 Hệ mật xếp ba lô MERKLE – HELLMAN

Hệ mật xếp ba lô Merkle – Hellman nổi tiếng lần đầu được Hellman mô tả vào năm 1978 Mặc dù hệ mật này và một vài biến thể của nó đã bị phá vào đầu những năm 1980, nhưng nó vẫn là một cống hiến có giá trị do sự tinh tế

Merkle-về khái niệm và kỹ thuật thiết kế có tính nền tảng của mình Hệ thống này xây dựng trên cơ sở bài toán tổng tập con (là bài toán NP-đầy đủ)

Với một danh sách các cỡ (s1, s2, s3, , sn) là một dãy siêu tăng nếu:

1 1

Giả sử s = (s1, ,sn) là một dẫy siêu tăng, xét hàm

Trang 20

Từ đó có thể dùng es như một quy tắc mã hoá Vì s là một dẫy siêu tăng nên

es là một đơn ánh và thuật toán để giải trường hợp siêu tăng của bài toán tổng các tập con sẽ là thuật toán giải mã tương ứng Tuy nhiên một hệ thống như vậy sẽ hoàn toàn mất an toàn vì bất kỳ ai cũng có thể giải mã một bản tin theo cách trên Vấn đề

cơ bản ở đây là biến đổi danh sách các cỡ theo cách sao cho nó không còn là dãy siêu tăng nữa Người nhận sẽ không thể áp dụng một phép biến đổi ngược để khôi phục lại danh sách siêu tăng các cỡ Mặt khác, người thám mã (không biết phép biến đổi được dùng) phải đối mặt với bài toán tổng quát (là một bài toán khó của bài toán tổng các tập con) trong khi cố gắng giải mã một bản mã

Một kiểu biến đổi thích hợp là phép biến đổi theo modulo, điều này có nghĩa là phép biến đổi modulo p được chọn sao cho:

0

n i i

Định nghĩa 1.6:

1

n i i

=

>∑

là một số nguyên tố và 1 ≤ a ≤ p-1 Với 1 ≤ i ≤ n, ta xác định:

Trang 21

t i = a s i mod p

và ký hiệu t = (t 1 , ,t n )

và t là các số được xây dựng như trên t được công khai, còn p, a và s được giữ kín

Với K ={(s,p,a,t)} ta định nghĩa:

Merkle-Định nghĩa 1.7

Trang 22

Coi C là mã [n,k] Khoảng cách mã C được định nghĩa như sau:

Mã [n, k] có khoảng cách d được ký hiệu là mã [n, k, d]

Mã sửa sai được dùng để sửa các sai ngẫu nhiên xảy ra khi truyền số liệu qua kênh có nhiễu Giả sử G là một ma trận sinh đối với mã [n, k, d], x là véc-tơ nhị phân k chiều cần truyền Người gửi sẽ mã hóa x thành một véc-tơ n chiều y = x.G rồi truyền y qua kênh

Giả sử người nhận nhận được véc-tơ n chiều r không giống y, người nhận

sẽ giải mã r bằng chiến thuật giải mã “người láng giềng gần nhất” Theo chiến thuật này, người nhận sẽ tìm thấy từ mã y’ có khoảng cách tới r nhỏ nhất Sau đó sẽ giải

mã r thành y’, rồi xác định véc-tơ k chiều x’ sao cho y’ = x’G Người nhận hy vọng y’= y và bởi vậy x’= x (tức là người nhận tin rằng các sai số trên đường truyền đã được sửa) Dễ dàng thấy rằng, nếu sai số trên đường truyền nhiều nhất là (d - 1)/2 thì sẽ sửa được tất cả các sai

Trên thực tế, thuật toán giải mã này được thực hiện như sau: Vì |C| = 2k nên người nhận so sánh r với mỗi từ mã phải kiểm tra, 2k véc-tơ là một số lớn theo hàm

mũ so với k Nói cách khác, thuật toán này không phải là thuật toán thời gian đa thức

Một biện pháp khác (tạo cơ sở cho nhiều thuật toán giải mã thực tế) dựa trên khái niệm về syndrom Ma trận kiểm tra tính chẵn lẻ của mã C[n,k,d] - có ma trận sinh G - là một ma trận nhị phân (n - k) x n chiều (ký hiệu là H) Các hàng của

H sẽ tạo cơ sở cho các phần bù trực giao của C (ký hiệu là C⊥) và được gọi là mã đối ngẫu với C Các hàng của H là những véc-tơ độc lập tuyến tính, còn GH⊥ là một

ma trận không, cấp k x (n-k)

Cho véc-tơ r∈(Z2)n, ta xác định syndrom của r là Hr⊥ Syndrom Hr⊥ là một véc-tơ cột có (n-k) thành phần

Định lý 1.1

Trang 23

Giả sử C là một mã [n, k] có ma trận sinh G và ma trận kiểm tra tính chẵn lẻ H Khi

đó y ∈ (Z2)n là một từ mã khi và chỉ khi

T

00.H.y =

0

Hơn nữa nếu y ∈ C, e ∈ (Z2)n và r = y + e thì HrT = HeT

Ta coi e là véc-tơ sai xuất hiện trong quá trình truyền từ mã y Khi đó r biểu diễn véc-tơ thu được Định lý trên phát biểu rằng syndrom chỉ phụ thuộc vào các sai

số mà không phụ thuộc vào từ mã cụ thể nào được truyền đi Điều này đưa tới một cách giải mã gọi là giải mã theo syndrom:

- Nếu s là một véc-tơ toàn không, thì giải mã r thành r

Theo thuật toán này, có thể giải mã cho một véc-tơ nhận được trong nhiều nhất

∑ bước (t là số sai có thể sửa được)

Phương pháp này làm việc trên một mã tuyến tính bất kỳ Đối với một số loại mã đặc biệt, thủ tục giải mã có thể nhanh chóng hơn Tuy nhiên, trên thực tế, cách giải quyết này cho chiến thuật giải mã “người láng giềng gần nhất” vẫn là một bài toán NP đầy đủ Như vậy, vẫn chưa có một thuật toán thời gian đa thức cho

Trang 24

trường hợp tổng quát cho chiến thuật giải mã người láng giềng gần nhất (Khi số các sai số không bị giới hạn bởi [(d-1)/2])

Cũng giống như bài toán tổng hợp tập con, có thể chỉ ra một trường hợp đặc biệt “dễ”, sau đó ngụy trang sao cho nó giống với bài toán chung “khó” Một trường hợp “dễ” được McEliece đề nghị là dùng một mã trong lớp các mã Goppa Trên thực tế, mã này có thuật toán giải mã hữu hiệu Hơn nữa mã này rất dễ tạo và trong cùng một lớp mã có thể tạo một số lượng lớn các mã khác nhau

Các tham số của mã Goppa có dạng n = 2m, d = 2t +1 và k = n - mt Để áp dụng trong thực tế cho một hệ mật khóa công khai, McEliece đề nghị chọn m = 10

và t = 50 Điều này ứng với mã Goppa [1024,524,101] Mỗi bản rõ là một véc-tơ nhị phân có độ dài 524 và mỗi bản mã là một véc-tơ nhị phân độ dài 1024 Khóa công khai là một ma trận nhị phân 524 x 1024

Hệ mật McEliece được mô tả như sau:

2 Giải mã y 1 , người nhận tìm được: y 1 = x 1 + e 1 , x 1C

Trang 26

Khi người nhận nhận được bản mã y, trước hết tính:

1 1

0 1 0 0 0 0 0

0 0 0 1 0 0 0

0 0 0 0 0 0 1(0,1,1, 0,1,1, 0) 1 0 0 0 0 0 0

Tiếp theo người nhận giải mã y1 để nhận được x1 = (1, 0, 0, 0, 1, 1, 0) (cần

để ý là e1≠ e do phép nhân với P-1) Sau đó lập x0 = (1, 0, 0, 0) (bốn thành phần đầu tiên của x1) Cuối cùng người nhận tính:

1 0

Trang 27

Chương 2 - LÝ THUYẾT VỀ MÃ XYCLIC CỤC BỘ VÀ

PHÂN HOẠCH VÀNH ĐA THỨC

2.1 Khái niệm mã xyclic và vành đa thức

2.1.1 Mã tuyến tính

a) Mã tuyến tính

Mã tuyến tính độ dài n là mã mà từ mã của nó có các dấu mã là các dạng tuyến tính

Mã tuyến tính (n,k) là mã tuyến tính độ dài n trong đó ta có thể chỉ ra được

vị trí của k dấu thông tin trong từ mã

Mã tuyến tính ngẫu nhiên là mã tuyến tính có các dấu mã được chọn ngẫu nhiên từ các dạng tuyến tính có thể có

b) Ma trận sinh và ma trận kiểm tra

Để đơn giản cho việc mô tả mã tuyến tính người ta thường sử dụng ma trận sinh G[k x n] Ma trận này chứa k véc-tơ hàng độc lập tuyến tính tạo nên không gian

mã V(n,k) Trong đại số tuyến tính ta biết rằng với mỗi G sẽ tồn tại ma trận H[r x n]

thỏa mãn:

Ma trận H được gọi là ma trận kiểm tra của mã tuyến tính (n, k) Ta thấy rằng H chứa r véc-tơ hàng trực giao với các véc-tơ hàng của G

Hiển nhiên là nếu a là một véc-tơ mã a ∈ V(n,r) thì a.HT = 0 Ở đây, H cũng

là một ma trận sinh của một mã tuyến tính V(n,r) và G lại chính là ma trận kiểm tra của mã này Ta có thể viết ra r phương trình:

1

n

j ij j

Trang 28

2.1.2 Vành đa thức

Nhóm hữu hạn <G,.>, với G = { αi

, ∀i } thì G gọi là nhóm xyclic sinh bởi

α, và α được gọi là phần tử sinh của nhóm

Vành đa thức là tập hợp các đa thức thực hiện được hai phép toán cộng (+)

và nhân (.) đa thức theo modulo xn + 1, trong đó < f(x), + > tạo thành một nhóm còn

< f(x), > tạo thành nửa nhóm Ký hiệu vành đa thức là Rn Nếu xét trên trường nhị phân GF(2) thì vành đa thức được kí hiệu dưới dạng Z2[x]/xn+1

Trên vành đa thức Z2[x]/xn+1 ta định nghĩa phép nhân modulo như sau: a(x), b(x) là các đa thức của vành, a(x).b(x) = c(x) (mod xn+1) cũng là một đa thức của vành Ví dụ, trên vành Z2[x]/x5+1: a(x) = 1 + x4, b(x) = x, phép nhân hai đa thức này là c(x) = a(x).b(x)= (1+x4)(x)= x5+x = x+1 (mod x5+1)

Ideal I của vành đa thức gồm tập các đa thức a(x) là bội của một đa thức g(x) thỏa mãn:

- g(x) là ước của xn + 1

- deg g(x) = min deg a(x) với mọi a(x) ∈ I, a(x) ≠ 0

Ký hiệu Ideal I trong vành đa thức là I = <g(x)>

Xét trong vành đa thức, đa thức a(x) =

1

0

n i i i

a x

=

∑ ⇔ =a ( , , ,a a0 1 a n−1) Nhân a(x) với nhân tử x ta có: b(x) = a(x) x = x.(

1

0

n i i i

a x

=

∑ ) ⇔ =b (a n−1,a0, ,a n−2) Biểu diễn của véc tơ b là dịch vòng sang phải một cấp so với của véc-tơ a

* Phần tử đối xứng

a(x) được gọi là phần tử đối xứng của a x( ) nếu:

1 0

Trang 29

I ∪ J = S = {0,1,2,…,n-1} , I ∩ J = ∅

Định lý 2.1 (Với n lẻ): Trong vành luôn luôn tồn tại đa thức có bậc lớn nhất bằng

Cấp lớn nhất của một đa thức trong vành được xác định:

max ord a(x) = 2 m – 1, với a(x) R n

→ m = 6 → max ord a(x) = 26 – 1 = 63 Xét đa thức a(x) ∈ Rn ( Z2[x]/(xn+1) )

* Nhóm nhân xyclic đơn vị

Nhóm nhân xyclic đơn vị là nhóm bao gồm mọi đơn thức có bậc <n (nhóm

có n phần tử)

Ký hiệu là : I = { x, x2 , x3 , …, xn-1 , 1 }

Nhóm nhân xyclic đơn vị I bao gồm n phần tử với phần tử sinh là x Nhóm nhân này nhóm nhân cấp n

* Nhóm nhân xyclic với phần tử sinh a(x)

Nhóm nhân xyclic với phần tử sinh a(x) bao gồm các phần tử là luỹ thừa của phần tử sinh và có thể viết:

A = { a(x), (a(x))2 , (a(x))3 , …}

* Cấp số nhân xyclic trên vành đa thức

Xét vành đa thức Z2[x]/ xn+1 với n lẻ, giả sử a(x) là số hạng đầu tiên của cấp số nhân xyclic và q(x) là công bội của cấp số nhân Cấp số nhân xyclic trên vành đa thức là một tập con có dạng:

A(a,q) = { a(x), a(x).q(x), a(x).q2(x), …, a(x).qm-1(x)}

Trong đó, m là số số hạng của cấp số nhân này, a(x).qm(x) ≡ a(x) mod (xn+1)

Trang 30

2.1.3 Mã xyclic

a) Định nghĩa

Định nghĩa 2.2

Mã xyclic (n, k) là ideal I = <g(x)> của vành đa thức Z2[x]/xn+1

Mã xyclic là một bộ mã tuyến tính có tính chất sau: Nếu a(x) là một từ mã thì dịch vòng của a(x) cũng là một từ mã thuộc bộ mã này

Ví dụ: Xét các mã xyclic trên vành Z2[x]/x7+1, ta có 7 ideal tương ứng với 7 bộ mã xyclic:

b) Ma trận sinh của mã xyclic

Vì mã xyclic (n, k) là một mã tuyến tính nên ta có thể mô tả nó thông qua

ma trận sinh G chứa k véc-tơ hàng độc lập tuyến tính Ta có thể thiết lập G như sau:

Trang 31

1

( ) ( )

( )

k

g x

x g x G

c) Ma trận kiểm tra của mã xyclic

Vì g(x) là ước của xn + 1 nên ta có thể viết g(x).h(x) = xn + 1 Đa thức h(x) được gọi là đa thức kiểm tra Vì g(x).h(x) ≡ 0 mod xn + 1 nên g(x) và h(x) được gọi

là các đa thức trực giao

Ta có h(x) =

0

k j j j

( )

r

h x

x h x H

Trong đó, r = n – k, và h*(x) là đa thức đối ngẫu của h(x): h*(x) = xdeg h(x).h(x-1)

Ví dụ: Ma trận mã kiểm tra cho mã xyclic (7,4) với đa thức sinh g(x) = 1+x+x3 là:

Ta có: h(x) = (x7+1)/(1+x+x3) = (1+x)(1+x2+x3) = x4+x2+x+1

h*(x) = 1+x2+x3+x4

Ma trận kiểm tra:

Trang 32

Thông thường thì các dấu thông tin được sắp xếp ở k vị trí bậc cao, còn lại

là dấu kiểm tra

b) Thuật toán mã hoá hệ thống

Thuật toán xây dựng từ mã xyclic như sau:

Đầu vào: Tin rời rạc ai∈ A

Đầu ra: Từ mã fi(x) tương ứng với ai

Bước 1: Mô tả ai trong tập tin cần mã hoá (gồm 2k tin) bằng một đa thức ai(x) với deg ai(x) không vượt quá k – 1

Bước 2: Nâng bậc của ai(x) bằng cách nhân nó với xn-k

Bước 3: Chia ai(x).xn-k cho đa thức sinh g(x) để tìm phần dư ri(x)

Bước 4: Xây dựng từ mã xyclic: fi(x) = ai(x).xn-k + ri(x)

c) Thiết bị mã hoá

Trang 33

Thiết bị mã hoá có cốt lõi là thiết bị chia cho g(x) để lấy dư, thực chất là otomat nhớ dạng của g(x) Giả sử g(x) =

1

0

r i i i

g x

=

∑ Thiết bị mã hoá cho mã (n,k) với

đa thức sinh g(x) như hình sau:

Hình 2.1 : Thiết bị mã hoá cho mã xyclic (n,k) có đa thức sinh g(x)

Thiết bị này hoạt động như sau:

- k nhịp đầu (chia và tính phần dư): Mạch và V1 mở, V2 đóng, thiết bị hoạt động như một bộ chia để tính dư Kết thúc nhịp thứ k, toàn bộ phần dư nằm trong r ô nhớ

từ 1 đến r Trong quá trình này, các dấu thông tin ai(x).xn-k được đưa qua mạch hoặc

H

- r nhịp sau (đưa ra các dấu kiểm tra (phần dư) ra đầu ra) Mạch và V1 đóng, thiết

bị hoạt động như một thanh ghi dịch nối tiếp Mạch và V2 mở, các dấu kiểm tra được lần lượt đưa ra từ bậc cao tới bậc thấp Kết thúc nhịp thứ n, toàn bộ từ mã được đưa ra đầu ra

+

Trang 34

- Thủ tục 2: Dẫn ra véc-tơ sai từ dãy dấu nhận được

b) Giải mã theo syndrom

Giả sử v ∈ V là mã xyclic (n,k) có đa thức sinh g(x) Ma trận sinh của V(n,k)

có dạng:

1

( ) ( )

( )

k

g x

x g x G

( )

r

h x

x h x H

Trang 35

Ta có S(u) = u.HT = (v+r).HT = e.HT = S(e) S(e) là một véc-tơ r chiều đặc trưng cho véc-tơ sai e có n chiều Ta gọi S(u) là syndrom của véc-tơ nhận được u Quá trình giải mã dựa trên việc phân tích trạng thái của S(u) được gọi là giải mã theo syndrom

Tập r tổng kiểm tra trong S(u) tạo nên hệ tổng kiểm tra Mỗi tổng kiểm tra trong hệ sẽ trong hệ sẽ chứa một thông tin nhất định về dấu cần giải mã ui, thông tin đó có thể nhiều, ít hoặc không có gì Ngoài ra mỗi tổng kiểm tra này còn chứa thông tin về các dấu mã uj khác

Để giải mã cho ui hiển nhiên rằng ta cần xây dựng một hệ tổng kiểm tra chứa nhiều thông tin nhất về ui Trên cơ sở đó ta đưa ra khái niệm hệ tổng kiểm tra trực giao sau:

Định nghĩa: Hệ J tổng kiểm tra được gọi là trực giao với ui nếu:

- Mỗi tổng kiểm tra trong hệ đều chứa ui

- Dấu mã uj (j≠i) chỉ nằm tối đa trong một tổng kiểm tra

- Sai ở ui sẽ làm thay đổi tất cả các giá trị của các tổng kiểm tra trong hệ

- Ta có thể sửa được sai cho dấu ui dựa trên thông tin về giá trị của các tổng kiểm tra bằng phương pháp bỏ phiếu (giải mã ngưỡng theo đa số) Khi đó khoảng cách

mã Hamming đạt được theo phương pháp này sẽ thỏa mãn điều kiện:

d0 = J + 1

Hệ tổng kiểm tra được gọi là có khả năng trực giao nếu nó là hệ tổng kiểm tra trực giao với một tổ hợp tuyến tính nào đó các dấu mã

Ngày đăng: 18/06/2016, 08:57

Nguồn tham khảo

Tài liệu tham khảo Loại Chi tiết
1. Nguyễn Bình (1996), Một số thuật toán xây dựng hệ mật mã McEliece, Tạp chí Khoa học và kỹ thuật, số 77 Sách, tạp chí
Tiêu đề: Một số thuật toán xây dựng hệ mật mã McEliece
Tác giả: Nguyễn Bình
Năm: 1996
2. Nguyễn Bình (1998), Các mã xyclic cục bộ trên vành đa thức, Tạp chí KHKT – HVKTQS Sách, tạp chí
Tiêu đề: Các mã xyclic cục bộ trên vành đa thức
Tác giả: Nguyễn Bình
Năm: 1998
3. Nguyễn Bình (2004), Giáo trình mật mã học, Nhà xuất bản Bưu Điện Sách, tạp chí
Tiêu đề: Giáo trình mật mã học
Tác giả: Nguyễn Bình
Nhà XB: Nhà xuất bản Bưu Điện
Năm: 2004
4. Nguyễn Xuân Quỳnh, Nguyễn Thế Truyện (1996), Thuật toán thiết lập hệ Tổng kiểm tra trực giao cho mã xyclic cục bộ, Hội nghị tự động hoá toàn quốc lần thứ 2 Sách, tạp chí
Tiêu đề: Thuật toán thiết lập hệ Tổng kiểm tra trực giao cho mã xyclic cục bộ
Tác giả: Nguyễn Xuân Quỳnh, Nguyễn Thế Truyện
Năm: 1996
5. Trần Đức Sự (2003), Mã xyclic cục bộ tự đối xứng - Đặc tính, thuật toán, chương trình lập và giải mã, Luận văn tiến sĩ kỹ thuật Sách, tạp chí
Tiêu đề: Mã xyclic cục bộ tự đối xứng - Đặc tính, thuật toán, chương trình lập và giải mã
Tác giả: Trần Đức Sự
Năm: 2003
6. Vũ Việt (2003), Đánh giá hiệu quả của mã xyclic cục bộ, Luận văn tiến sĩ kỹ thuật Sách, tạp chí
Tiêu đề: Đánh giá hiệu quả của mã xyclic cục bộ
Tác giả: Vũ Việt
Năm: 2003
7. A Kh. Al Jabri (1998), A new class of attacks on McEliece public-key and related cryptosystems, Elect. Eng. Dept., King Saud University Sách, tạp chí
Tiêu đề: A new class of attacks on McEliece public-key and related cryptosystems
Tác giả: A Kh. Al Jabri
Năm: 1998
8. Kazukumi Kobara and Hideki Imai. (2003), On the one-wayness against chosen-plaintext attacks of the loidreau’s modified McEliece PKC, IEEE Transactions on information theory, Vol. 49, NO. 12 Sách, tạp chí
Tiêu đề: On the one-wayness against chosen-plaintext attacks of the loidreau’s modified McEliece PKC
Tác giả: Kazukumi Kobara and Hideki Imai
Năm: 2003
9. Lee P.J and Brickell .E.F. (1998), An observaion on the security of McEliece’s public-key cryptosystem, Bell Communications Research, Morristown, N.J., 07960 U.S.A Sách, tạp chí
Tiêu đề: An observaion on the security of McEliece’s public-key cryptosystem
Tác giả: Lee P.J and Brickell .E.F
Năm: 1998
10. McEliece .R. (1978), A public - key cryptosystem based on algebraic coding theory, DSN Progress Report, 42 - 44, pp 114 - 116 Sách, tạp chí
Tiêu đề: A public - key cryptosystem based on algebraic coding theory
Tác giả: McEliece .R
Năm: 1978
11. Stinson Douglas R. (2002), Cryptography Theory and Practice, Chaman and Hall/CRC Sách, tạp chí
Tiêu đề: Cryptography Theory and Practice
Tác giả: Stinson Douglas R
Năm: 2002

HÌNH ẢNH LIÊN QUAN

Hình 1.1: Mô hình hệ thống truyền tin mật - ỨNG DỤNG MÃ XYCLIC CỤC BỘ XÂY DỰNG HỆ MẬT
Hình 1.1 Mô hình hệ thống truyền tin mật (Trang 12)
Bảng 2.1: Các mã xyclic trên vành Z 2 [x]/x 7 +1 - ỨNG DỤNG MÃ XYCLIC CỤC BỘ XÂY DỰNG HỆ MẬT
Bảng 2.1 Các mã xyclic trên vành Z 2 [x]/x 7 +1 (Trang 30)
Hình 2.1 : Thiết bị mã hoá cho mã xyclic (n,k) có đa thức sinh g(x) - ỨNG DỤNG MÃ XYCLIC CỤC BỘ XÂY DỰNG HỆ MẬT
Hình 2.1 Thiết bị mã hoá cho mã xyclic (n,k) có đa thức sinh g(x) (Trang 33)
Bảng 2.2: Phân hoạch vành Z 2 [x]/x 5 +1 theo nhóm nhân xyclic đơn vị - ỨNG DỤNG MÃ XYCLIC CỤC BỘ XÂY DỰNG HỆ MẬT
Bảng 2.2 Phân hoạch vành Z 2 [x]/x 5 +1 theo nhóm nhân xyclic đơn vị (Trang 38)
Hình 2.2.  Cấu trúc vành Z 2 [x] / x n +1 - ỨNG DỤNG MÃ XYCLIC CỤC BỘ XÂY DỰNG HỆ MẬT
Hình 2.2. Cấu trúc vành Z 2 [x] / x n +1 (Trang 40)
Hình 2.3. Sơ đồ thuật toán tính phân hoạch vành - ỨNG DỤNG MÃ XYCLIC CỤC BỘ XÂY DỰNG HỆ MẬT
Hình 2.3. Sơ đồ thuật toán tính phân hoạch vành (Trang 41)
Hình 2.4. Chương trình tính phân hoạch vành theo nhóm nhân xyclic đơn vị - ỨNG DỤNG MÃ XYCLIC CỤC BỘ XÂY DỰNG HỆ MẬT
Hình 2.4. Chương trình tính phân hoạch vành theo nhóm nhân xyclic đơn vị (Trang 42)
Hình 3.1.  Sơ đồ khối mã hoá của hệ mật McEliece với mã XCB - ỨNG DỤNG MÃ XYCLIC CỤC BỘ XÂY DỰNG HỆ MẬT
Hình 3.1. Sơ đồ khối mã hoá của hệ mật McEliece với mã XCB (Trang 47)
Sơ đồ hình 3.1 - ỨNG DỤNG MÃ XYCLIC CỤC BỘ XÂY DỰNG HỆ MẬT
Sơ đồ h ình 3.1 (Trang 49)
Bảng 3.3. Ma trận G 1  (8  x  64) - ỨNG DỤNG MÃ XYCLIC CỤC BỘ XÂY DỰNG HỆ MẬT
Bảng 3.3. Ma trận G 1 (8 x 64) (Trang 51)
Bảng 3.2. Các lớp kề lựa chọn để xây dựng bộ mã (64,8,32) - ỨNG DỤNG MÃ XYCLIC CỤC BỘ XÂY DỰNG HỆ MẬT
Bảng 3.2. Các lớp kề lựa chọn để xây dựng bộ mã (64,8,32) (Trang 51)
Bảng 3.1. Phân hoạch vành đa thức theo nhóm nhân xyclic đơn vị với k =8 - ỨNG DỤNG MÃ XYCLIC CỤC BỘ XÂY DỰNG HỆ MẬT
Bảng 3.1. Phân hoạch vành đa thức theo nhóm nhân xyclic đơn vị với k =8 (Trang 51)
Hình 3.3. Sơ đồ thuật toán mã hoá - ỨNG DỤNG MÃ XYCLIC CỤC BỘ XÂY DỰNG HỆ MẬT
Hình 3.3. Sơ đồ thuật toán mã hoá (Trang 53)
Hình 3.4. Sơ đồ thuật toán giải mã - ỨNG DỤNG MÃ XYCLIC CỤC BỘ XÂY DỰNG HỆ MẬT
Hình 3.4. Sơ đồ thuật toán giải mã (Trang 60)
Bảng 3.5.  Các dữ liệu nhị phân của 10 ký tự là: &#34;1234567890&#34; - ỨNG DỤNG MÃ XYCLIC CỤC BỘ XÂY DỰNG HỆ MẬT
Bảng 3.5. Các dữ liệu nhị phân của 10 ký tự là: &#34;1234567890&#34; (Trang 61)

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