/// <summary>
 /// Initializes a new instance of the <see cref="BCryptRsaKeyFormatter"/> class.
 /// </summary>
 /// <param name="privateKeyType">
 /// Either <see cref="CryptographicPrivateKeyBlobType.BCryptFullPrivateKey"/> or <see cref="CryptographicPrivateKeyBlobType.BCryptPrivateKey"/>
 /// </param>
 public BCryptRsaKeyFormatter(CryptographicPrivateKeyBlobType privateKeyType)
 {
     Requires.Argument(privateKeyType == CryptographicPrivateKeyBlobType.BCryptFullPrivateKey || privateKeyType == CryptographicPrivateKeyBlobType.BCryptPrivateKey, nameof(privateKeyType), "Not a BCrypt key blob format.");
     this.keyType = privateKeyType == CryptographicPrivateKeyBlobType.BCryptFullPrivateKey
         ? BCRYPT_RSAKEY_BLOB.MagicNumber.BCRYPT_RSAFULLPRIVATE_MAGIC
         : BCRYPT_RSAKEY_BLOB.MagicNumber.BCRYPT_RSAPRIVATE_MAGIC;
 }
 /// <summary>
 /// Initializes a new instance of the <see cref="BCryptRsaKeyFormatter"/> class.
 /// </summary>
 /// <param name="publicKeyType">Must always be <see cref="CryptographicPublicKeyBlobType.BCryptPublicKey"/></param>
 public BCryptRsaKeyFormatter(CryptographicPublicKeyBlobType publicKeyType)
 {
     Requires.Argument(publicKeyType == CryptographicPublicKeyBlobType.BCryptPublicKey, nameof(publicKeyType), "Not a BCrypt key blob format.");
     this.keyType = BCRYPT_RSAKEY_BLOB.MagicNumber.BCRYPT_RSAPUBLIC_MAGIC;
 }