다음을 통해 공유


System.Security.Cryptography.RSACryptoServiceProvider 클래스

이 문서는 이 API에 대한 참조 설명서를 보충하는 추가 설명을 제공합니다.

RSACryptoServiceProvider 클래스는 RSA의 기본 구현입니다.

Microsoft 고급 암호화 공급자가 설치된 경우 키 크기는 RSACryptoServiceProvider 384비트에서 16384비트까지 8비트 단위로 지원됩니다. Microsoft 기본 암호화 공급자가 설치된 경우 384비트에서 512비트까지 8비트 단위로 키 크기를 지원합니다.

유효한 키 크기는 인스턴스에서 사용하는 CSP(암호화 서비스 공급자)에 RSACryptoServiceProvider 따라 달라집니다. Windows CSP는 Windows 8.1 이전의 Windows 버전에서 384~16384비트 키 크기를 사용하도록 설정하고 Windows 8.1의 경우 키 크기는 512~16384비트입니다. 자세한 내용은 Windows 설명서의 CryptGenKey 함수를 참조하세요.

MICROSOFT CAPI(Cryptographic API)와의 상호 운용

관리되지 않는 CAPI의 RSA 구현과 달리 클래스는 RSACryptoServiceProvider 암호화 후 및 암호 해독 전에 암호화된 바이트 배열의 순서를 반대로 바뀝니다. 기본적으로 클래스에 의해 RSACryptoServiceProvider 암호화된 데이터는 CAPI CryptDecrypt 함수에 의해 해독될 수 없으며 CAPI CryptEncrypt 메서드로 암호화된 데이터는 클래스에서 암호 해독 RSACryptoServiceProvider 할 수 없습니다.

API 간에 상호 운용할 때 역순으로 보정하지 않으면 RSACryptoServiceProvider 오류를 던지는 클래스입니다CryptographicException.

CAPI와 상호 운용하려면 암호화된 데이터가 다른 API와 상호 운용되기 전에 암호화된 바이트의 순서를 수동으로 역방향으로 설정해야 합니다. 메서드를 호출 Array.Reverse 하여 관리되는 바이트 배열의 순서를 쉽게 되돌릴 수 있습니다.