The RSAExponentOfOne class generates so-called 'exponent-of-one' RSA keys. These keys are special RSA keys, in the sense that the output buffer matches the input buffer for an RSA encryption or decryption. Practically, this means that if you generate a key-exchange message using a RSAPKCS1KeyExchangeFormatter class that was initialized with such a special key, the resulting key exchange buffer will include the secret key unencrypted. Exponent-of-one keys are very useful when you're in the debugging stage of your application. You can use these keys instead of 'normal' RSA keys, and the entire system keeps working as expected. The only difference is that the 'encrypted' data is the same as the unencrypted data - a very useful feature for debugging purposes.

Namespace: Org.Mentalis.Security.Tools
Assembly:   Org.Mentalis.Security.Tools (in Org.Mentalis.Security.Tools)
Version: 1.0.0.0

Syntax

Visual Basic (Declaration)
Public NotInheritable Class RSAExponentOfOne
C#
public static class RSAExponentOfOne
Visual C++
public ref class RSAExponentOfOne abstract sealed

Remarks

Exponent-of-one keys should never be used in production! They do not offer any security whatsoever.

Inheritance Hierarchy

System.Object
  Org.Mentalis.Security.Tools.RSAExponentOfOne