logo

Database

C Sharp Insecure Ec Key

Description

Detects the usage of cryptographically weak elliptic curve key sizes in C# applications. Using insufficient key lengths for elliptic curve cryptography can make the encryption vulnerable to attacks and potentially allow attackers to break the cryptographic protection.

Weakness:

421 - Insecure encryption algorithm - Insecure Elliptic Curve

Category: Information Collection

Detection Strategy

    Identifies usage of elliptic curve cryptography in C# code

    Examines key size parameters in EC cryptographic operations

    Reports a vulnerability when key sizes are below recommended secure minimums

    Specifically looks for key size parameters in ECDsa and ECDiffieHellman class instantiations

    Flags cases where explicit key sizes are set to insecure values

Vulnerable code example

using System.Security.Cryptography;

public class InsecureECDH 
{
    public static void Main()
    {
        // Vulnerable: Using insufficient key size (128 bits) for EC Diffie-Hellman
        ECDiffieHellmanCng ecd = new ECDiffieHellmanCng(128); ...

✅ Secure code example

using System.Security.Cryptography;

public class SecureECDH 
{
    public static void Main()
    {
        // Secure: Using NIST P-384 curve with 384-bit key length for strong security
        ECDiffieHellman ecd = ECDiffieHellman.Create(ECCurve.NamedCurves.nistP384);...