Q trình sinh khóa: Thuật tốn sử dụng khóa mật có chiều dài b bytes, ở đây
7.19 Thám mã véc cạn khóa
Giả sử rằng kẻ gian có được một hoặc một số cặp (x,y). Gỉa sử rằng đối với một cặp (x,y) bất kỳ thì tồn tại một khóa k duy nhất thỏa mãn y=Ek(x). Chúng ta sắp xếp tập hợp khơng gian khóa và lần lượt kiểm tra các khóa từ tập khóa K xem sự thỏa mãn biểu thức
) (x
E
y= k . Nếu như xem một lần kiểm tra khóa k∈K là một lệnh thì việc véc cạn khóa cần #K lệnh, ở đây #K là số lượng phần tử của tập K. Giả sử rằng khóa k trong sơ đồ mã hóa được chọn ngẫu nhiên và khả năng như nhau từ tập K. Như vậy xác suất đốn được khóa k là
K
# 1
, và độ khó của phương pháp véc cạn sẽ bằng 1. Cho nên để đánh giá độ khó của phương pháp ta chọn kỳ vọng tốn học của độ lớn ngẫu nhiên α , ở đây α là số
phép thử trước thời điểm tìm được khóa sử dụng. Bởi vì α là độ lớn ngẫu nhiên phân bố
đều, nên M(α )=
2 #K
.
Thuật toán véc cạn cho phép thực hiện song song, bời vì điều này nên có thể tăng tốc đáng kể q trình tìm khóa. Có hai hướng trong q trình tính tốn khóa song song.
Một là, xây dựng dây chuyền. Cho thuật toán của biểu thức y=Ek(x) được biểu diễn dưới dạng dây chuyền cố định các lệnh O1,O2,...,ON.
Chọn N quá trình A1,A2,...,AN, sắp xếp theo thứ tự và cho q trình thứ i hồn thành 3 lệnh như nhau theo thời gian:
a. Nhận dữ liệu thứ (i-1) quá trình; b. Hồn thành lệnh Oi;
c. Chuyển dữ liệu cho q trình thứ (i+1);
Như vậy dây chuyền gồm N quá trình được liên kết nối tiếp nhau làm việc song song, đồng bộ làm việc với tốc độ
3
v
, v là tốc độ hồn thành 1 lệnh của q trình.
Hướng thứ hai là tập khóa K được phân nhỏ ra thành các tập không giao nhau
QK K K
K1, 2,..., . Hệ thống gồm Q máy thực hiện việc lựa chọn khóa, máy thứ i thực hiện việc lựa chọn khóa từ tập Ki,i=1,Q. Hệ thống ngừng làm việc nếu như có một máy tìm được khóa. Điều phức tạp nhất của phương pháp là tổ chức phân chia tập khóa. Thế nhưng nếu tổ chức việc tìm kiếm khóa như vậy thì trong mỗi lần thí nghiệm thì một trong N quá trình sẽ trở nên ngẫu nhiên, thời gian thí nghiệm sẽ tăng nhưng tốc độ của sơ đồ lại tăng lên đáng kể. Số bước thí nghiệm thực hiện N quá trình trong trường hợp này là
N K
# . Việc thực hiện xử lý song song như vậy phải có các cách giải quyết khác nhau. Một trong các cách được ưu tiên đó là tạo ra virut máy tính để phân bố chương trình trong mạng nội bộ.Virut cần sử dụng chu kỳ dừng của máy tính để thực hiện việc tìm kiếm theo tập khóa. Sớm hay muộn thì một trong các máy nhiểm virut sẽ tìm được khóa cần tìm. Với sự lớn của cơng suất máy tính cũng như tốc độ lây lang virut thì khả năng thành cơng của phương pháp này ngày một tăng.