Phân tích các phương pháp tấn công thuật toán RSA và ứng dụng trong hệ thống bảo mật mạng

MỤC LỤC

Phần tử nghịch đảo Định nghĩa

Không gian các số nguyên theo modulo n: Zn là tập hợp các số nguyên không âm nhỏ hơn. Nhóm Cyclic: Là nhóm mà mọi phần tử x của nó được sinh ra từ một phần tử đặc biệt g.

Độ phức tạp tính toán

Dữ liệu đầu vào đối với một thuật toán thường được biểu diễn qua các từ trong một bảng ký tự nào đó. Cho một thuật toán A trên bảng ký tự Z (tức là có các đầu vào là các từ trong Z). Độ phức tạp tính toán của thuật toán A được hiểu như một hàm số fa(n) sao cho với mỗi số n thì fa(n) là số ô nhớ, hay số phép toán sơ cấp tối đa mà A cần để thực hiện tiến trình tính toán của mình trên các dữ liệu vào có độ dài nhỏ hơn hoặc bằng n.

Bài toán P được gọi là “giải được” nếu tồn tại thuật toán để giải nó, tức là thuật toán làm việc có kết thúc trên mọi dữ liệu đầu vào của bài toán. “giải được trong thời gian đa thức” nếu có thuật toán giải nó với độ phức tạp thời gian đa thức.

Hàm một phía và hàm một phía có cửa sập Hàm một phía

Nó là khó khăn, bạn sẽ cần đến mỏ hàn để phá hoặc những công cụ khác. Tuy nhiên, nếu bạn có “cửa sập” (trong trường hợp này là chìa khóa của hòm thư) thì công việc mở hòm thư thật dễ dàng.

Vấn đề mã hóa

TỔNG KẾT NHỮNG KẾT QUẢ TẤN CÔNG VÀO HỆ MẬT RSA TRONG NHỮNG NĂM QUA

  • Các tấn công cơ bản .1 Modul chung
    • Số mũ công khai bé (Low public Exponent)
      • Thành phần công khai bé
        • Cài đặt các tấn công
          • Một số tấn công bằng nhân tử hóa số N với số N lớn Khi các

            Nó có thể được tính toán dẽ dàng, nhưng như chúng ta đã biết không thể tính ngược hiệu quả nếu không có (cửa sập) d ngoại trừ một vài trường hợp đặc biệt. Chương 3 - TỔNG KẾT NHỮNG KẾT QUẢ TẤN CÔNG VÀO HỆ MẬT RSA. 5) Alice, Bob là đại diện hai bên truyền thông điệp cho nhau, Marvin là kẻ tấn công (attacker). Chúng ta coi d như là một cửa sập (trapdoor) để nghịch đảo hàm f. 7) Chúng ta nghiên cứu độ khó của hàm ngược (nghịch đảo) RSA khi không cho trước của sập d và nghiên cứu phương pháp tấn công RSA trong trường hợp này. 8) Chúng ta quan tấm đến thuật toán hữu hiệu có thời gian bé, tính bậc của nc điều kiện n=log2N và c là một hằng số nhỏ (bé hơn 5). Vấn đề phân tích một số nguyên tố lớn thành tích các số nguyên tố khác nhau là bài toán rất hấp dẫn và đã được nhiều nhà toán học quan tâm nghiên cứu; chẳng hạn [1], [2], [3] tuy nhiên trong phạm vi của một luận văn cao học, em chỉ tập trung nghiên cứu trong trường hợp N là tích của hai số nguyên tố phân biệt.

            Trung tâm xác thực có thể cung cấp cho người sử dụng i với một cặp ei, di và người sử dụng i có một khóa công khai là (N,ei) và khóa riêng là (N,di). Một tính toán đơn giản chỉ ra rằng nếu e’ > N1.5 thì sẽ không có vấn đề gì xẩy ra mặc dù số d nhỏ và tấn công ở trên không thể thực hiện được. Định lý chỉ ra rằng một hệ thống đồng biến với các đa thức nguyên tố hỗn hợp có thể giải quyết hiệu quả, giả thiết rằng các hàm được cung cấp đầy đủ.

            Tương tự như các phương pháp tấn công đã tồn tại, với giá trị e lớn hơn và phải bé hơn N , tuy nhiên với số bít tăng kỹ thuật sẽ phức tạp hơn. Vì thế chỉ e mới có thể là giá trị của k, Marvin có thể xây dựng một tập con nhỏ của e như là một thành phần của tập bằng một nửa tín hiệu bít có ý nghĩa nhất của d. Trong trường hợp e = 3 là trường hợp đặc biệt, tại đây có thể chỉ ra rằng k luôn bằng 2 và vì thế hoàn toàn bị rò rỉ một nửa tín hiệu bít ý nghĩa nhất của d.

            Tấn công thông minh của Kocher cho thấy rằng bằng phương pháp lựa chọn thời gian chính xác để giải mã (hoặc ký số) RSA của smartcard, Marvin có thể nhanh chóng tìm ra thành phần giải mã riêng d. Các giá trị ti’s sẽ khác nhau phụ thuộc vào giá trị của Mi (Cũng như thuật toán rút gọn, thời gian tính toán sẽ phụ thuộc vào giá trị mà ta cần tình toán). Đơn vị ti’s là số lần anh ta ngừng để yêu cầu với card (trước khi thực hiện tấn công) tương ứng với những lần anh ta thao tác vật lý trực tiếp card. Ví dụ: Nếu với i, ti lớn hơn so với sự mong đợi, thì Ti cũng lớn hơn so với sự mong đợi. Với độ đo độ tương quan, Marvin có thể xác định được d1 hoặc bằng 1 hoặc bằng 0. Tiếp tục với phương pháp này, anh ta có thể khôi phục được d2,d3… Lưu ý rằng, khi thành phần e của khóa công khai được sử dụng. thấp, khóa riêng tìm được theo phương pháp ở phần trên giúp cho phương pháp của Kocher có thể khôi phục được toàn bộ d chỉ cần biết trước một phần tư số bít của d. Giải pháp chống đỡ:. 1) Đơn giản nhất là tăng độ trễ nhất định để quá trình mũ hóa luôn mất một thời gian nhất định. 2) Rivest đưa ra dựa trên cơ chế bịt các kẽ hở (blinding).

            Bằng phương pháp đo chiều dài của độ cao của sự tiêu thụ trong phần trước, Marvin có thể dễ dàng xác định được nếu card lặp đi lặp lại một vài phép nhân, bằng cách anh ta thu được chuỗi bít của d. Quá trình cài đặt giải mã và ký số RSA thường sử dụng định lý đồng dư trung hoa ( Chinese Remainder Theorem) nhằm cải thiện tốc độ tính toán Md mod N. Công việc kiểm tra là hết sức quan trọng vì khi sử dụng phương pháp CRT để cải thiện tốc độ, những lỗi ngẫu nhiên gặp phải rất nguy như đã trình bày ở phần trước.

            Thuật toán Pollars phân tích n thành thừa số nguyên tố có hiệu quả đối với những số nguyên n là B mịn, người ta tính được thời gian thực hiện thuật toán là O(Bln n/ln B). Tuy nhiên thuật toán sàng sàng bình phương đã và đang được chú ý hơn, mặc dù thuật toán cũng mới chỉ giải quyết cho trường hợp modul N có độ dài không lớn lắm.

            THƯ VIỆN TÍNH TOÁN SỐ LỚN

            Các phép toán trong số lớn

            • Phép nhân hai số lớn

              Nếu số nào nhỏ hơn sẽ được chèn thêm 0 vào sao cho độ dài của hai số là bằng nhau. Nếu số nào nhỏ hơn sẽ được chèn thêm 0 vào sao cho độ dài của hai số bằng nhau khi ta tiến hành trừ. Ta tiến trừ từng phần tử một của hai xâu lưu trữ hai số lớn.

              - Lấy phần tử của số hạng thứ hai nhân với tất cả các phần tử của số hạng thứ nhất hay nói cách khác lấy từng phần tử của y nhân với toàn bộ x cộng thêm một phần tử nhớ, được kết quà đem chia cho hệ cơ số, lấy số dư làm kết quả của hàng tương ứng, thương số là số nhớ của số mới. Thuật toán chia hai số lớn dựa trên ý tưởng của phép chia thông thường Input : Hai số lớn x, y có độ đài n, m. Phép cộng hai số có dấu được thực hiện dựa trên phép so sánh, phép cộng và phép trừ hai số không âm đã trình bảy.

              Phép trừ hai số có dấu được thực hiện dựa trên phép cộng hai số có. Phép nhân hai số có dấu được thực hiện dựa trên phép nhân hai số không âm đã được trình bày ở trên.

              PHƯƠNG PHÁP TẤN CÔNG BẰNG NHÂN TỬ HOÁ SỐ N SỬ DỤNG ĐỊNH LÝ FERMAT