SymmetricAlgorithm.LegalBlockSizes Property
Definition
Gets the block sizes, in bits, that are supported by the symmetric algorithm.
public:
virtual property cli::array <System::Security::Cryptography::KeySizes ^> ^ LegalBlockSizes { cli::array <System::Security::Cryptography::KeySizes ^> ^ get(); };
public virtual System.Security.Cryptography.KeySizes[] LegalBlockSizes { get; }
member this.LegalBlockSizes : System.Security.Cryptography.KeySizes[]
Public Overridable ReadOnly Property LegalBlockSizes As KeySizes()
Property Value
- KeySizes[]
An array that contains the block sizes supported by the algorithm.
Examples
The following example shows the value of LegalBlockSizes for the symmetric algorithms.
using System;
using System.Security.Cryptography;
namespace SymmetricAlgo
{
class Program
{
static void Main(string[] args)
{
Aes aes = Aes.Create();
Console.WriteLine("Aes ");
KeySizes[] ks = aes.LegalKeySizes;
foreach (KeySizes k in ks)
{
Console.WriteLine("\tLegal min key size = " + k.MinSize);
Console.WriteLine("\tLegal max key size = " + k.MaxSize);
}
ks = aes.LegalBlockSizes;
foreach (KeySizes k in ks)
{
Console.WriteLine("\tLegal min block size = " + k.MinSize);
Console.WriteLine("\tLegal max block size = " + k.MaxSize);
}
}
}
}
//This sample produces the following output when run on .NET Framework:
//Aes
// Legal min key size = 128
// Legal max key size = 256
// Legal min block size = 128
// Legal max block size = 128
//
//This sample produces the following output when run on .NET Core:
//Aes
// Legal min key size = 128
// Legal max key size = 256
// Legal min block size = 128
// Legal max block size = 128
Imports System.Security.Cryptography
Class Program
Shared Sub Main(ByVal args() As String)
Dim aes As Aes = Aes.Create()
Console.WriteLine("Aes ")
Dim ks As KeySizes() = aes.LegalKeySizes
Dim k As KeySizes
For Each k In ks
Console.WriteLine(vbTab + "Legal min key size = " & k.MinSize)
Console.WriteLine(vbTab + "Legal max key size = " & k.MaxSize)
Next k
ks = aes.LegalBlockSizes
For Each k In ks
Console.WriteLine(vbTab + "Legal min block size = " & k.MinSize)
Console.WriteLine(vbTab + "Legal max block size = " & k.MaxSize)
Next k
End Sub
End Class
'This sample produces the following output when run on .NET Framework:
'AesManaged
' Legal min key size = 128
' Legal max key size = 256
' Legal min block size = 128
' Legal max block size = 128
'
'This sample produces the following output when run on .NET Core:
'AesManaged
' Legal min key size = 128
' Legal max key size = 256
' Legal min block size = 128
' Legal max block size = 128
Remarks
The symmetric algorithm supports only block sizes that match an entry in this array.