1.3.7.1. Kích thước của module
Kích thƣớc tốt nhất của một module RSA là dựa trên nhu cầu bảo mật của ngƣời đó. Module càng lớn thì tính bảo mật càng cao. Trƣớc hết, ngƣời ta nên chọn chiều dài một module trong khoảng xem xét của nhu cầu cần bảo mật của ngƣời đó, chẳng hạn nhƣ giá trị của dữ liệu đƣợc bảo vệ và chiều dài cần thiết phải bảo vệ.
Một kết quả của phép nghiên cứu tính bảo mật đã thu đƣợc bằng việc lấy chiều dài module đƣợc đƣa ra bởi Rivest, trong phạm vi của module lôgarit riêng biệt của một số nguyên tố đƣợc áp dụng rất tốt trong RSA. Theo đánh giá của Rivest, một
Khóa đƣợc chia sẻ bởi một terminal và host i Host i Host j Computer network E/D KH Ks E/D KH E/D Ks KT E/D KT Ks Channel Terminal
Khóa đƣợc chia sẻ bởi một host i và host j
Số hóa bởi Trung tâm Học liệu - ĐHTN http://www.lrc-tnu.edu.vn/
module 512 bít có thể tính toán đến 8,2 tỉ $, nhƣng ít hơn trong tƣơng lai. Có lẽ vì thế rất thích hợp cho việc sử dụng một module dài hơn, khoảng 768 bít. Những dữ liệu có giá trị vô cùng lớn (hay những xâm phạm lớn từ những giả mạo chữ ký kỹ thuật số) sử dụng những module có chiều dài lên đến 1000 bít hay lớn hơn.
1.3.7.2. Giải thuật nhân module
Nhân module đƣợc thực hiện bằng cách sử dụng những thay đổi chuẩn và giải thuật cộng thêm vào đƣợc sử dụng trong những phép nhân thông thƣờng. Điều khác biệt đối với phép nhân module là mỗi lần tính cộng đƣợc hình thành, phép cộng đã đƣợc so sánh với module. Nếu phép cộng lớn hơn những module thì những module đƣợc loại trừ từ phép cộng để đƣa ra một module đƣợc làm giảm những phép cộng trung gian. Giải thuật này cho phép phép nhân module, hai số N bít có thể nhân module với những module N bít bằng chỉ những phần N bít.
1.3.7.3. Giải thuật mũ hóa module trong hệ thống
Mũ hoá module đƣợc thực thi bằng việc sử dụng phép nhân module hoặc để bình phƣơng giới hạn bình phƣơng (SQT) hay để nhân những giới hạn bình phƣơng bằng cách chạy các tích số (RP). Giải thuật bắt đầu với thông báo trong việc đăng ký SQT và một trong đăng ký RP. Nếu mũ số chẵn thì SQT là module đƣợc bình phƣơng và đƣợc viết vào trong bảng đăng ký SQT. Cũng nhƣ thế vì SQT phải bình phƣơng mũ số có thể chia hết cho 2 bằng cách dịch chuyển nó sang phải. Nếu mũ số là số lẻ thì SQT là module đƣợc nhân bởi RP và đƣợc viết trong RP. Sau đó 1 đƣợc loại trừ ra khỏi mũ số bằng cách lật bít 1 của mũ số thành 0. Tiếp tục làm cho đến khi mũ số giảm xuống l. Rồi SQT kết hợp với RP để đƣa ra kết quả.
1.3.7.4. Phương pháp phong bì số RSA
RSA đƣợc nối với một hệ mật mã khóa bí mật, giống nhƣ DES, để mã hoá một thông tin bằng phƣơng pháp “Phong bì số RSA”.
Giả sử ngƣời thứ nhất muốn gửi một thông tin đã mã hoá cho ngƣời thứ hai, đầu tiên ngƣời thứ nhất mã hoá thông tin bằng DES, dùng một khóa DES đƣợc chọn ngẫu
Số hóa bởi Trung tâm Học liệu - ĐHTN http://www.lrc-tnu.edu.vn/
nhiên. Sau đó anh ta lấy khóa công khai của ngƣời thứ hai và dùng nó để mã hoá khóa DES. Thông tin đƣợc mã hoá bằng DES và khóa DES đƣợc mã hoá bằng RSA tạo thành “phong bì số RSA” và đƣợc gửi cho ngƣời thứ hai. Lúc nhận đƣợc phong bì số, ngƣời thứ hai giải mã khóa DES bằng khóa riêng của anh ta, sau đó dùng khóa DES để giải mã thông tin của chính nó.
Chiều dài của những thông báo đặc biệt chính là lý do sử dụng RSA.
Chỉ có một số lƣợng rất nhỏ dữ liệu mở rộng có liên quan đến việc sử dụng RSA. Để mã hoá, một thông báo đƣợc đƣa vào trong chiều dài thƣờng là 64 bít, vì RSA thƣờng kết nối với một mã hóa khối khóa mật mã nhƣ DES. Việc mã khóa DES cần có nhiều phép nhân các bít nhƣ chiều dài của phép mũ RSA.