24
ĐỀ TÀI: HỆ MẬT MÃ MCLIECE GVHD: LÊ NGỌC LUYỆN NHÓM 2: 1. LÝ ANH KHOA 2. NGUYỄN HUỲNH THIỆN LONG 3. TRẦN THỊ TÂM

Hệ mật mã Mcliece

Embed Size (px)

Citation preview

Page 1: Hệ mật mã Mcliece

ĐỀ TÀI: HỆ MẬT MÃ MCLIECE

GVHD: LÊ NGỌC LUYỆN

NHÓM 2:

1. LÝ ANH KHOA

2. NGUYỄN HUỲNH THIỆN LONG

3. TRẦN THỊ TÂM

Page 2: Hệ mật mã Mcliece

I. Hệ mật mã McEliece 1. Thuật toán Hệ mật mã McEliece 2. Thuật toán cải biên 3. Xây dựng hệ mật mã McEliece với mã Xyclic cục bộII. Đánh giá hệ mật mã McElieceIII. Kết luận

Mục lục

Page 3: Hệ mật mã Mcliece

I. Hệ mật mã McEliece1. Thuật toán Hệ mật mã McEliece

a) Đinh nghĩa:Mã C[n,k] là một không gian k chiều của (Z2)n (không gian vector của tất cả các vector nhị phân n chiều).Ma trận sinh của mã C[n,k] là ma trận nhị phân k x n, các hàng của ma trận này tạo nên cơ sở của C.k, n là các số nguyên dương, k ≤ n

Page 4: Hệ mật mã Mcliece

b) Các bước thực hiện

B1: Quá trình hình thành khóa

B2. Quá trình mã hóa

B3. Quá trình giải mã

Page 5: Hệ mật mã Mcliece

B1: Quá trình hình thành khóa

- Chọn mã tuyến tính C[n,k] có thể sửa được t lỗi. Mã này phải có thuật toán giải mã hiệu quả. - Tạo ra ma trận sinh G cấp cho mã C. - Chọn S là ma trận khả nghịch cấp . - Chọn tiếp ma trận hoán vị P cấp . - Tính ma trận G’ cấp : G’=SGP - Công khai khóa công cộng (G’, t) và giữ kín khóa mật (G,P,S).

Page 6: Hệ mật mã Mcliece

B2. Quá trình mã hóa

- Sử dụng khóa công cộng (G’,t) và tiến hành mã hóa theo các bước sau: - Mã hóa bản tin x ở dạng nhị phân chiều dài k. - Tính véc tơ c’=xG’. - Tạo ra một véc tơ ngẫu nhiên e, có trọng số t và chiều dài n. - Hình thành bản mã: y=c’+e.

Page 7: Hệ mật mã Mcliece

B3: Quá trình giải mã

- Tính ma trận khả nghịch của P là P-1. - Tính y’= y. P-1

- Sử dụng thuật toán giải mã để giải mã y’ thành y” suy ra giá trị xS. - Tính toán bản rõ: x=xS. S-1

e là véc tơ có trọng số là t, dùng thuật toán giải mã của mình để véc cạn các gía trị có thể của e. Và từ đó tìm xS và từ đây chúng ta tính x dễ dàng bằng cách nhân với ma trận nghịch đảo.

Page 8: Hệ mật mã Mcliece

Ví dụ: Chúng ta xem mã Hamming (7,4) Hình thành khóa: Ma trận sinh của mã này là G,

được cho như sau:

Page 9: Hệ mật mã Mcliece

Giả sử chọn ma trận S và P như sau:

Tính ma trận G’:

Page 10: Hệ mật mã Mcliece

Mã hóa:Mã hóa thông điệp x=(1,1,0,1) bằng cách dùng véc tơ sai ngẫu nhiên có trọng số là 1 dạng: e=(0,0,0,0,1,0,0), và tính bản mã:

Page 11: Hệ mật mã Mcliece

Giải mã:Tính P-1 và tính y’=yP-1

Tính ra y’=(1000111).

Page 12: Hệ mật mã Mcliece

Dùng thuật toán giải mã để tìm lỗi và ta thấy không có lỗi nên y’’=(1000111). Từ đây suy ra xS=(1000). Để giải mã cần tính S-1

Tính được bản rõ như sau: xS.S-1=(1,1,0,1).

Page 13: Hệ mật mã Mcliece

2. Thuật toán cải biên

Cải biên lược đồ mã hóa của hệ mật mã McEliece bằng cách sử dung các kỹ thuật nén dữ liệu trước khi mã hóa dữ liệu và chọn vector sai e’ được lấy từ nội dung bản rõ.

Sửa đổi này sẽ làm tăng tốc độ truyền, mặc dù thuật toán giải mã có phức tạp hơn một chút

Page 14: Hệ mật mã Mcliece

Xây dựng hệ mật mã McEliece với mã Xyclic cục bộ

Sơ đồ mã hóa:

Page 15: Hệ mật mã Mcliece

Sơ đồ giải mã:

Page 16: Hệ mật mã Mcliece

7 bit

7 bit

7 bit

7 bit

7 bit

7 bit

7 bit

Có chứa 31 bit 1 và độ dài # 512 bit

Ví dụ: Mã hóaĐể tăng khả năng tốc độ truyền thông tin ta sử

dụng mã XCB(64,7,32) kết hợp mã Elias(8,7,2): (512,49,64)= ( 64, 7, 32)(8,7,2)

Thông tin đầu vào được chia như sau:Khi mã hóa ta sẽ mã hóa mỗi lần 7x7=49 bit chứa

thông tin thông qua khóa công khai G’(7,64) = SGP

Page 17: Hệ mật mã Mcliece

Trong đó: S là ma trận khả nghịch 7x7G là ma trận sinh 7x64P là ma trận hoán vị 64x64

Khi mã hóa ta được ma trận chứa thông tin M(7x7) với ma trận G’(7x64)

Page 18: Hệ mật mã Mcliece

Giải mã• Từ 512 bit khôi phục thành ma trận M1(8x64)• Nhân M1 với ma trận nghịch đảo P để thu M2

M2 = M1 * P-1

• Sử dụng các tổng kiểm tra giải mã M2 thu được M3(7x7)

• Nhân M3 với ma trận nghịch đảo của S thu được ma trận M

M = M3*S-1

• Với ma trận M(7x7) là ma trận chứa 49 bit thông tin mã hóa

Page 19: Hệ mật mã Mcliece

• Do sử dụng vector sai chứa thông tin nên phải thực hiện thêm các bước sau:

• Mã hóa lại ma trận M(7x7) thu đượcM(7x7)*G’(7x64)

thu được ma trận 8x64 chứa dữ liệu mã hóa có vector sai (hàng thứ 8 bằng tổng các hàng phía trên)• Sắp xếp thành chuỗi 512 bit• Sau đó cộng chuỗi 512 bit cho modulo 2 ta

sẽ thu được vector sai

Page 20: Hệ mật mã Mcliece

II. Đánh giá hệ mật mã McEliece1. Quản lí khóa và vấn đề truyền khóa2. Thám mã

+ Vét cạn theo các dấu thông tin.+ Vét cạn theo số khóa.+ Vét cạn theo số các vector sai có thể

có.Ví dụ: với dữ liệu có 49 bit thì có 2^49 =5,63.10^14 cách thử.

Page 21: Hệ mật mã Mcliece

3. Các tấn công của Berson với lược đồ McEliece

Thông báo được gửi lại (Message-resend)

Thông báo có quan hệ (Related-Message)

Page 22: Hệ mật mã Mcliece

4. Độ bảo mật

Lược đồ McEliece bị hai điểm yếu sau đây:- Không có khả năng bảo vệ các bản tin được mật mã hoá nhiều hơn một lần.- Không có khả năng bảo vệ các bản tin có quan hệ tuyến tính đã biết với một bản tin khác.

Mức độ an toàn và bảo mật vẫn cao, do những điểm yếu không có khả năng phá vỡ lược đồ McEliece ngay lập tức

Page 23: Hệ mật mã Mcliece

III. Kết luận

Hiện nay, hệ mật mã McEliece đang sử dụng trong một số lĩnh vực.Hệ thống McEliece chưa thể thay thế cho các hệ thống mã hóa khóa công khai hiện nay, mà chỉ dựa trên một vài vấn đề quan trọng trong lý thuyết số.

Page 24: Hệ mật mã Mcliece

CẢM ƠN THẦY VÀ CÁC BẠN ĐÃ THEO DÕI