1. Trang chủ
  2. » Khoa Học Tự Nhiên

Lý thuyết mã

10 814 5
Tài liệu đã được kiểm tra trùng lặp

Đang tải... (xem toàn văn)

THÔNG TIN TÀI LIỆU

Thông tin cơ bản

Định dạng
Số trang 10
Dung lượng 198 KB

Nội dung

Lý thuyết mã

Nhóm sinh viên thực hiện:1. Vũ Công Trung2. Nguyễn Thế LongLớp: CT702Trường: Đại Học Dân Lập Hải Phòng Với sự trợ giúp của các giảng viên ĐHDLHP và toàn thể sinh viên lớp CT702.Hải Phòng ngày : 20/04/2006. Hệ McEliece là gì?.Hệ McEliece là gì?. Đầu vào là gì?.Đầu vào là gì?. Đầu ra là gì?.Đầu ra là gì?. Cách làm như thế nào?.Cách làm như thế nào?. Độ an toàn như thế nào?. Độ an toàn như thế nào?. Độ an toàn nó phụ vào yếu tố nào?.Độ an toàn nó phụ vào yếu tố nào?. Mức độ sử dụng hiện tại nó ra sao?.Mức độ sử dụng hiện tại nó ra sao?. Hệ mật McEliece được xây dựng dựa vào tính NP-đầy đủ của Hệ mật McEliece được xây dựng dựa vào tính NP-đầy đủ của bài toán giải tuyến tính tự sửa sai.bài toán giải tuyến tính tự sửa sai.Bài toán được đặt ra như sau: giả sử nguồn tin là tập các từ k bit Bài toán được đặt ra như sau: giả sử nguồn tin là tập các từ k bit nhị phân, tức tập hợp {0,1}k, được truyền đi trên một kênh có nhị phân, tức tập hợp {0,1}k, được truyền đi trên một kênh có nhiễu, tức là nếu truyền trực tiếp các dãy từ k bit thì thông tin nhiễu, tức là nếu truyền trực tiếp các dãy từ k bit thì thông tin ta nhận được có thể bị sai lệch và ta không nhậ n được đúng thông ta nhận được có thể bị sai lệch và ta không nhậ n được đúng thông tin được truyền đi.tin được truyền đi.Để khắc phục những sai lệch đó người ta tìm cách hoá nguồn tin Để khắc phục những sai lệch đó người ta tìm cách hoá nguồn tin gốc bằng cách thêm cho mỗi từ k bit mang thông tin một số bit gốc bằng cách thêm cho mỗi từ k bit mang thông tin một số bit dùng để tự hiệu chỉnh, tức là thực hiện một phép hoá biến mỗi dùng để tự hiệu chỉnh, tức là thực hiện một phép hoá biến mỗi từ k bit ban đầu thành một từ n bit, với n -> k, được gọi là từ mã.từ k bit ban đầu thành một từ n bit, với n -> k, được gọi là từ mã.Phép hoá tuyến tính là phép hoá được thực hiện bằng cách Phép hoá tuyến tính là phép hoá được thực hiện bằng cách nhân từ k bit ban đầu x với một ma trận G cấp kìn để được từ n nhân từ k bit ban đầu x với một ma trận G cấp kìn để được từ n bit y, y =x.G.bit y, y =x.G. Ta định nghĩa khoảng cách Hamming giữa hai từ n bit là số Ta định nghĩa khoảng cách Hamming giữa hai từ n bit là số các vị trí tại đó hai từ có giá trị khác nhau, khoảng cách các vị trí tại đó hai từ có giá trị khác nhau, khoảng cách d của hệ là khoảng cách Hamming bé nhất giữa hai từ d của hệ là khoảng cách Hamming bé nhất giữa hai từ bất kỳ. bất kỳ. Như vậy, một hệ tuyến tính được xác định bởi một ma trận Như vậy, một hệ tuyến tính được xác định bởi một ma trận G (gọi là ma trận sinh), và được đặc trưng bởi ba số [n,k,d]. Nếu G (gọi là ma trận sinh), và được đặc trưng bởi ba số [n,k,d]. Nếu d = 2t +1, thì hệ có khả năng tự sửa sai đến t sai ngẫu nhiên d = 2t +1, thì hệ có khả năng tự sửa sai đến t sai ngẫu nhiên nhiễm phải do nhiễu của kênh truyền. nhiễm phải do nhiễu của kênh truyền. Việc tự sửa sai của các hệ tuyến tính như vậy nói chung khá Việc tự sửa sai của các hệ tuyến tính như vậy nói chung khá phức tạp, bài toán giải tuyến tính tự sửa sai đã được phức tạp, bài toán giải tuyến tính tự sửa sai đã được chứng minh là một bài toán NP-khó, tức cho đến nay chưa biết chứng minh là một bài toán NP-khó, tức cho đến nay chưa biết có thuật toán nào làm việc trong thời gian đa thức giải được nó.có thuật toán nào làm việc trong thời gian đa thức giải được nó. Mặc dầu vậy, người ta đã tìm được một số lớp riêng các hệ Mặc dầu vậy, người ta đã tìm được một số lớp riêng các hệ tuyến tính đối với chúng có thể xây dựng được những thuật tuyến tính đối với chúng có thể xây dựng được những thuật toán giải tự sửa sai làm việc có hiệu quả, các hệ Goppa là toán giải tự sửa sai làm việc có hiệu quả, các hệ Goppa là một lớp như vậy. một lớp như vậy. Hệ Goppa là một loại hệ tuyến tính có các đặc trưng n Hệ Goppa là một loại hệ tuyến tính có các đặc trưng n = 2m, d =2t +1, k =n -mt , có ma trận sinh G cấp kìn được xây = 2m, d =2t +1, k =n -mt , có ma trận sinh G cấp kìn được xây dựng dựa trên một số tính chất đại số của tr-ờng GF(2n)-mà ở dựng dựa trên một số tính chất đại số của tr-ờng GF(2n)-mà ở đây ta không đi vào các chi tiết.đây ta không đi vào các chi tiết. Để có một hệ mật McEliece, trước hết ta chọn một hệ Để có một hệ mật McEliece, trước hết ta chọn một hệ Goppa với ma trận sinh G và các đặc trưng trên, sau đó dùng Goppa với ma trận sinh G và các đặc trưng trên, sau đó dùng một ma trận S khả nghịch cấp k*k trên Zmột ma trận S khả nghịch cấp k*k trên Z22 và một ma trận và một ma trận hoán vị P cấp n*n. hoán vị P cấp n*n. Để biến hệ Goppa với ma trận sinh G thành một hệ Để biến hệ Goppa với ma trận sinh G thành một hệ tuyến tính phổ biến với ma trận sinh G*=SGP vậy đã tuyến tính phổ biến với ma trận sinh G*=SGP vậy đã biến hệ Goppa có thuật toán giải hiệu quả thành một biến hệ Goppa có thuật toán giải hiệu quả thành một hệ tuyến tính nói chung ta chỉ biết việc giải tự sửa hệ tuyến tính nói chung ta chỉ biết việc giải tự sửa sai đối với nó là NP-khó. sai đối với nó là NP-khó. Hệ mật ta xây dựng sẽ có thuật toán giải dễ Hệ mật ta xây dựng sẽ có thuật toán giải dễ đối với người trong cuộc như giải Goppa, và là khó đối đối với người trong cuộc như giải Goppa, và là khó đối với người ngoài như giải tuyến tính nói chung!.với người ngoài như giải tuyến tính nói chung!. Như vậy, một hệ mật khoá công khai McEliece được xác Như vậy, một hệ mật khoá công khai McEliece được xác định bởi .định bởi .trong đó P ={0,1}k, C = {0,1}n , K là tập hợp các bộ khoá K=(K', K''), với khoá bí mật K''= (G,S,P ) gồm một ma trận sinh G của một hệ Goppa, một ma trận khả nghịch S cấp k*k trên Z2 và một ma trận hoán vị P cấp n*n, khoá công khai K'=G* là ma trận đã được biến đổi nói trên. Thuật toán lập mật E (K',.): P-> Cđược xác định bởi E (K', x) = x. G* + e , trong đó e{0,1}n là một vectơ ngẫu nhiên có trọng số t , tức có t thành phần là 1. Thuật toán giải D (K'',.) được thực hiện theo ba bước như Thuật toán giải D (K'',.) được thực hiện theo ba bước như sau với mọi y C = {0,1}n.sau với mọi y C = {0,1}n.1. Tính y1 = y. P 1.1. Tính y1 = y. P 1.2. Giải Goppa đối với y1, giả sử được x1.2. Giải Goppa đối với y1, giả sử được x1.3. Tính D (K'', y) = x1. S -1.3. Tính D (K'', y) = x1. S -1.Dễ thử lại rằng các thuật toán lập mật và giải xác D(K'', Dễ thử lại rằng các thuật toán lập mật và giải xác D(K'', E (K', x)) = x vì mỗi x thuộc P={0,1}E (K', x)) = x vì mỗi x thuộc P={0,1}k.k.Đẳng thức đó đúng với mọi vectơ e bất kỳ có trọng số = t. Hệ Đẳng thức đó đúng với mọi vectơ e bất kỳ có trọng số = t. Hệ mật này cũng tương tự như hệ mật ElGamal ở chỗ khi mật này cũng tương tự như hệ mật ElGamal ở chỗ khi lập mật ta thể chọn thêm cho dữ liệu vào một yếu tố lập mật ta thể chọn thêm cho dữ liệu vào một yếu tố ngẫu nhiên.ngẫu nhiên. Yếu tố chủ yếu bảo đảm tính an toàn của các hệ mật Yếu tố chủ yếu bảo đảm tính an toàn của các hệ mật McEliece chỗ từ khoá công khai G* khó phát hiện ra McEliece chỗ từ khoá công khai G* khó phát hiện ra khoá bí mật (G,S,P ) và ở tính NP-khó của bài toán giải khoá bí mật (G,S,P ) và ở tính NP-khó của bài toán giải tuyến tính tự sửa sai nói chung.tuyến tính tự sửa sai nói chung. Cần nhớ rằng độ an toàn còn phụ thuộc vào việc chọn các Cần nhớ rằng độ an toàn còn phụ thuộc vào việc chọn các tham số k,n,t đủ lớn, theo gợi ý của các nghiên cứu thực tham số k,n,t đủ lớn, theo gợi ý của các nghiên cứu thực nghiệm thì đủ lớn có nghĩa là n xấp xỉ 1024, k xấp xỉ 644, t xấp nghiệm thì đủ lớn có nghĩa là n xấp xỉ 1024, k xấp xỉ 644, t xấp xỉ 38. Với những đòi hỏi đó thì kích cỡ của các ma trận G, S, P xỉ 38. Với những đòi hỏi đó thì kích cỡ của các ma trận G, S, P và G* sẽ quá lớn và khá bất tiện cho việc thực thi trong thực và G* sẽ quá lớn và khá bất tiện cho việc thực thi trong thực tế.tế. Vì vậy các hệ mật McEliece chưa được sử dụng phổ Vì vậy các hệ mật McEliece chưa được sử dụng phổ biến lắmbiến lắm [...]... mật khoá công khai McEliece được xác định bởi . định bởi . trong đó P ={0,1}k, C = {0,1}n , K là tập hợp các bộ khoá K=(K', K''), với kho¸ bÝ mËt K''= (G,S,P ) gåm mét ma trËn sinh G cđa mét hƯ m· Goppa, mét ma trËn khả nghịch S cấp k*k trên Z2 và một ma trận hoán vị P cấp n*n, khoá công khai K'=G* là ma trận đà được biến đổi nói trên. Thuật toán lập mật . với n -> k, được gọi là từ mã. Phép mã hoá tuyến tính là phép mã hoá được thực hiện bằng cách Phép mã hoá tuyến tính là phép mã hoá được thực hiện bằng. mã có giá trị khác nhau, khoảng cách d của hệ mã là khoảng cách Hamming bé nhất giữa hai từ mã d của hệ mã là khoảng cách Hamming bé nhất giữa hai từ mã

Ngày đăng: 12/09/2012, 16:20

TỪ KHÓA LIÊN QUAN

w