mật.
Thể hiện hóa lớp giải thuật bất đối xứng System.Security.Cryptography. RSACryptoServiceProvider. Sử dụng phương thức RSACryptoServiceProvider. RSACryptoServiceProvider. Sử dụng phương thức RSACryptoServiceProvider. Encrypt và khóa công khai (public key) của người nhận để mật hóa thông điệp. Sau
đo, người nhận sẽ sử dụng phương thức RSACryptoServiceProvider.Decrypt và khóa riêng (private key) để giải mật hóa bí mật đã-được-mật-hóa. khóa riêng (private key) để giải mật hóa bí mật đã-được-mật-hóa.
.NET Framework định nghĩa một hệ thống phân cấp theo lớp cho các giải thuật bất đối xứng tương tự như đã định nghĩa cho các giải thuật đối xứng (đã được thảo luận trong mục 14.6). tương tự như đã định nghĩa cho các giải thuật đối xứng (đã được thảo luận trong mục 14.6). Tất cả các giải thuật bất đối xứng phải thừa kế một lớp cơ sở trừu tượng chung có tên là
System.Security.Cryptography.AsymmetricAlgorithm. Có hai hiện thực giải thuật bất đối xứng cụ thể: xứng cụ thể:
• System.Security.Cryptography.RSACryptoServiceProvider
• System.Security.Cryptography.DSACryptoServiceProvider
Vì có đuôi là CryptoServiceProvider nên cả hai lớp này đều bọc lấy các chức năng do Win32 CryptoAPI cung cấp. Tuy nhiên, chỉ có lớp RSACryptoServiceProvider là hỗ trợ việc mật hóa CryptoAPI cung cấp. Tuy nhiên, chỉ có lớp RSACryptoServiceProvider là hỗ trợ việc mật hóa dữ liệu. Lớp DSACryptoServiceProvider hiện thực Digital Signature Algorithm (DSA), bạn có thể sử dụng giải thuật này chỉ để tạo chữ ký số (xem Federal Information Processing Standard [FIPS] 186-2 tại [http://www.itl.nist.gov/fipspubs] để biết thêm chi tiết về DSA). Mặc dù bạn có thể tạo một đối tượng giải thuật bất đối xứng bằng phương thức tĩnh Create
Vì có đuôi là CryptoServiceProvider nên cả hai lớp này đều bọc lấy các chức năng do Win32 CryptoAPI cung cấp. Tuy nhiên, chỉ có lớp RSACryptoServiceProvider là hỗ trợ việc mật hóa CryptoAPI cung cấp. Tuy nhiên, chỉ có lớp RSACryptoServiceProvider là hỗ trợ việc mật hóa dữ liệu. Lớp DSACryptoServiceProvider hiện thực Digital Signature Algorithm (DSA), bạn có thể sử dụng giải thuật này chỉ để tạo chữ ký số (xem Federal Information Processing Standard [FIPS] 186-2 tại [http://www.itl.nist.gov/fipspubs] để biết thêm chi tiết về DSA). Mặc dù bạn có thể tạo một đối tượng giải thuật bất đối xứng bằng phương thức tĩnh Create dụng để mật hóa và giải mật hóa dữ liệu. Thay vào đó, bạn phải trực tiếp thể hiện hóa lớp
RSACryptoServiceProvider bằng một trong các phương thức khởi dựng của nó.
Trước khi mật hóa hay giải mật hóa dữ liệu với đối tượng RSACryptoServiceProvider, bạn cần truy xuất các khóa thích hợp. Khóa của giải thuật bất đối xứng khác nhiều so với khóa của cần truy xuất các khóa thích hợp. Khóa của giải thuật bất đối xứng khác nhiều so với khóa của giải thuật đối xứng. Thứ nhất, nó có hai thành phần: khóa công khai (public key) và khóa riêng (private key). Thứ hai, thay vì chỉ là một dãy các byte được sinh ngẫu nhiên, khóa bất đối xứng được tạo theo một cách thức đặc biệt. Có một mối quan hệ toán đặc biệt giữa khóa công khai và khóa riêng; mối quan hệ này cho phép giải thuật bất đối xứng mật hóa dữ liệu