Edit

Share via


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

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:
//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:
'Aes
'        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.

Applies to

See also