Is it possible to use pure Encrypting and Decrypting keys instead of private and public keys? As I know in .Net asymmetric RSA implementation private key RSAParameters parameters = (new RSACryptoServiceProvider()).ExportParameters(true)
is a superset of public key. And using private key we can both encrypt and decrypt our data. But I need key only for decrypting data. How to do it?
I experimented on nulling RSAParameters fields, but RSACryptoServiceProvider object can't import such parameters.
If you're asking what I think you're asking, you're solving a problem like this one:
You encrypt some data. You send it to clients, and want them to be able to decrypt it, but you do not want them to be able to encrypt anything, because then they could convince other clients that they're you.
Is that close? Can you tell us what problem you're solving?
For the rest of the folks on the thread, it sounds pretty clear the OP wants a decrypt-only key, instead of the usual encrypt-only public key.
Edit: the comments are correct in that a private key can't be used to encrypt, but it's not that difficult to generate the public key given the private key. If you have the private key, you effectively can have both keys.
Edit 2: OP, you should probably look into digital signatures. You could sign a message (using the private key) and then confirm the signature with the public key, which I think is exactly what you asked for.