ECC - Elliptic Curve Cryptography
What is ECC?
ECC (Elliptic Curve Cryptography) is an asymmetric encryption method based on elliptic curve mathematics over finite fields. It offers strong security with much smaller key sizes compared to RSA, making it efficient for mobile and embedded systems.
Why is ECC useful?
Strong security with small keys – A 256-bit ECC key ≈ 3072-bit RSA key
Fast encryption/decryption – Less computation needed
Efficient storage/bandwidth – Smaller keys and digital signatures
Ideal for constrained devices – Used in mobile, IoT, and embedded systems
How it works
Key generation – Private key is randomly chosen; public key is derived using elliptic curve point multiplication
Encryption – Sender uses the recipient’s public key and an ephemeral key to encrypt the message
Decryption – Recipient uses private key to decrypt the ciphertext
Common usages: * ECDSA – For digital signatures * ECDH – For secure key exchange
Where is ECC used?
SSL/TLS (HTTPS) – ECC-based digital certificates
Digital signatures – ECDSA in blockchain, software signing
Cryptocurrencies – Wallets and transaction signing
Mobile apps & IoT – Lightweight and energy-efficient security
VPNs & tunnels – ECC used in protocols like IKEv2/IPsec
Which OSI layer does this protocol belong to?
ECC operates at the Presentation Layer (Layer 6)
Handles encryption, decryption, and digital signatures
Ensures confidentiality, integrity, and secure formatting of data before reaching the application
Topics in this section,
In this section, you are going to learn
Terminology
Version Info
ECC Version |
ECC Number |
Year |
Core Idea / Contribution |
---|---|---|---|
Fundamental ECC Algorithms |
RFC 6090 |
2011 |
Describes the core mathematical algorithms of ECC, including point addition and scalar multiplication, based on early foundational work. |
ECC in OpenPGP |
RFC 6637 |
2012 |
Introduces ECC support in OpenPGP, including ECDSA and ECDH, for efficient and secure public key encryption. |
ECDSA (Digital Signatures) |
ANSI X9.62 |
1999 |
Defines the Elliptic Curve Digital Signature Algorithm (ECDSA), widely used in secure communications and digital certificates. |
ECC Key Agreement & Transport |
ANSI X9.63 |
2001 |
Specifies ECC-based key agreement and transport mechanisms, including ECDH. |
NIST Digital Signature Standard |
FIPS PUB 186-4 |
2013 |
Includes ECDSA as a recommended digital signature algorithm for U.S. federal systems. |
Setup
Setup
ECC key Generation Packet
S.No |
Protocol Packets |
Description |
Size(Bytes) |
---|---|---|---|
1 |
ECC Key Generation Packet |
Used to generate a public-private key pair based on elliptic curve mathematics. |
~160200 Bytes |
Private Key |
A randomly selected integer within the curves field. |
32 (for 256-bit ECC) |
|
Curve Parameters |
Defines the elliptic curve (e.g., secp256r1). |
~64128 |
|
Base Point (G) |
A predefined point on the curve used for key generation. |
64 |
|
Public Key |
A point on the curve derived from the private key and base point. |
64 (x and y coordinates) |
ECC Encryption Packet (ECIES)
S.No |
Protocol Packets |
Description |
Size(Bytes) |
---|---|---|---|
2 |
ECC Encryption Packet (ECIES) |
Used to encrypt a message using the recipients public key (Elliptic Curve Integrated Encryption Scheme). |
~128200+ Bytes |
Ephemeral Public Key |
A temporary public key generated for this encryption session. |
64 |
|
Encrypted Symmetric Key |
A symmetric key (e.g., AES) encrypted using ECC. |
3264 |
|
Ciphertext |
The actual encrypted message using the symmetric key. |
Variable |
|
MAC (Message Auth Code) |
Ensures integrity and authenticity of the message. |
32 |
ECC Signture Packet (ECDSA)
S.No |
Protocol Packets |
Description |
Size(Bytes) |
---|---|---|---|
3 |
ECC Signature Packet (ECDSA) |
Used to sign data using the private key and verify it using the public key. |
~160 Bytes |
Message Hash |
The hashed message to be signed (e.g., SHA-256). |
32 |
|
Signature (r, s) |
Two integers generated during signing. |
64 |
|
Public Key |
Used for signature verification. |
64 |
S.no |
Use Case |
Description |
---|---|---|
1 |
SSL/TLS (HTTPS) |
ECC is used in digital certificates for secure web communication with smaller key sizes and faster performance. |
2 |
Digital Signatures (ECDSA) |
ECC enables secure and efficient signing of documents, software, and messages. |
3 |
Cryptocurrency Wallets |
ECC secures blockchain transactions and wallet keys (e.g., Bitcoin uses secp256k1). |
4 |
Mobile and IoT Devices |
ECC is ideal for constrained environments due to its low computational and memory requirements. |
5 |
Secure Messaging |
Apps like Signal and WhatsApp use ECC for end-to-end encryption and key exchange. |
6 |
VPNs and Secure Tunnels |
ECC is used in modern VPN protocols (e.g., WireGuard) for fast and secure key exchange. |
7 |
Smart Cards and Tokens |
ECC is used in secure authentication and digital identity systems. |
8 |
Email Encryption |
ECC is supported in PGP and S/MIME for encrypting and signing emails. |
9 |
Cloud Security |
ECC is used in cloud platforms for secure key management and data protection. |
10 |
Secure Boot and Firmware Validation |
ECC ensures that only trusted firmware is loaded on devices. |
S.no |
Feature |
Description |
---|---|---|
1 |
Asymmetric Key Algorithm |
Uses a pair of keys: a public key for encryption and a private key for decryption. |
2 |
Elliptic Curve Mathematics |
Based on algebraic structures of elliptic curves over finite fields. |
3 |
Smaller Key Sizes |
Provides strong security with much smaller keys compared to RSA (e.g., 256-bit ECC 3072-bit RSA). |
4 |
Efficient Computation |
Faster encryption, decryption, and key generation, especially in constrained environments. |
5 |
Digital Signatures (ECDSA) |
Supports secure and compact digital signatures for authentication. |
6 |
Key Exchange (ECDH) |
Enables secure key exchange without transmitting the actual key. |
7 |
Low Bandwidth & Storage |
Smaller keys and signatures reduce data transmission and storage requirements. |
8 |
Ideal for Mobile & IoT |
Lightweight and energy-efficient, making it suitable for embedded systems. |
9 |
Widely Standardized |
Supported by NIST, ANSI, and RFCs (e.g., RFC 6090, RFC 6637). |
10 |
Used in Modern Protocols |
Integrated into SSL/TLS, SSH, PGP, cryptocurrencies, and secure messaging apps. |
Asymmetric Key Algorithm - Testcases
# |
Test Case |
Description |
Expected Result |
---|---|---|---|
1 |
Generate ECC Key Pair |
Create a public-private key pair using ECC |
Keys are generated and conform to ECC standards |
2 |
Validate Public Key Format |
Check structure of generated public key |
Public key is valid and correctly formatted |
3 |
Validate Private Key Format |
Check structure of generated private key |
Private key is valid and securely stored |
4 |
Encrypt with Public Key |
Encrypt a message using ECC public key |
Message is encrypted successfully |
5 |
Decrypt with Private Key |
Decrypt message using ECC private key |
Original message is recovered |
6 |
Key Pair Uniqueness |
Generate multiple key pairs |
Each key pair is unique |
7 |
Key Pair Consistency |
Ensure public key matches private key |
Key pair is mathematically linked |
8 |
Key Serialization PEM |
Serialize ECC key pair to PEM format |
Keys are correctly serialized |
9 |
Key Deserialization PEM |
Load ECC key pair from PEM format |
Keys are correctly deserialized |
10 |
Key Serialization DER |
Serialize ECC key pair to DER format |
Keys are correctly serialized |
11 |
Key Deserialization DER |
Load ECC key pair from DER format |
Keys are correctly deserialized |
12 |
Use in TLS Handshake |
Use ECC keys in TLS handshake |
Secure connection established |
13 |
Use in SSH Authentication |
Use ECC keys for SSH login |
Authentication succeeds |
14 |
Use in JWT Signing |
Sign JWT using ECC private key |
JWT is signed and verifiable |
15 |
Use in JWT Verification |
Verify JWT using ECC public key |
JWT signature is valid |
16 |
Key Length Validation |
Check ECC key length |
Key length matches curve specification |
17 |
Curve Compatibility |
Use ECC keys with different curves |
Keys work with supported curves |
18 |
Invalid Curve Detection |
Use unsupported curve |
Error is raised |
19 |
Public Key Export |
Export ECC public key |
Key is exported in correct format |
20 |
Private Key Export |
Export ECC private key |
Key is exported securely |
21 |
Public Key Import |
Import ECC public key |
Key is imported successfully |
22 |
Private Key Import |
Import ECC private key |
Key is imported securely |
23 |
Key Fingerprint Generation |
Generate SHA-256 fingerprint |
Fingerprint matches expected |
24 |
Key Rotation |
Replace ECC keys periodically |
New keys are valid and secure |
25 |
Key Backup |
Export ECC key for backup |
Backup is secure and restorable |
26 |
Key Restore |
Restore ECC key from backup |
Key is restored and usable |
27 |
Key Revocation |
Revoke ECC key |
Key is marked as revoked |
28 |
Key Expiry Check |
Check ECC key expiration |
Expired keys are invalid |
29 |
Key Usage Flags |
Set usage flags in certificate |
Flags are correctly defined |
30 |
Key Lifecycle Management |
Manage key generation, use, and revocation |
Lifecycle matches policy |
31 |
Key Storage Security |
Store ECC keys securely |
Keys are protected |
32 |
Key Access Control |
Restrict access to ECC keys |
Unauthorized access is denied |
33 |
Key Audit Logging |
Log ECC key usage |
Logs are complete and compliant |
34 |
Key Generation Entropy |
Use secure entropy source |
Keys are unpredictable |
35 |
Key Generation Performance |
Measure time to generate ECC key |
Performance is acceptable |
36 |
Key Compatibility with OpenSSL |
Use ECC keys with OpenSSL |
Keys are compatible |
37 |
Key Compatibility with BouncyCastle |
Use ECC keys with BouncyCastle |
Keys are compatible |
38 |
Key Compatibility with Java |
Use ECC keys in Java |
Keys are usable in Java environment |
39 |
Key Compatibility with Python |
Use ECC keys in Python |
Keys are usable in Python environment |
40 |
Key Compatibility with C# |
Use ECC keys in C# |
Keys are usable in .NET environment |
41 |
Key Compatibility with Go |
Use ECC keys in Go |
Keys are usable in Go environment |
42 |
Key Compatibility with Node.js |
Use ECC keys in Node.js |
Keys are usable in Node.js |
43 |
Key Compatibility with Rust |
Use ECC keys in Rust |
Keys are usable in Rust |
44 |
Key Compatibility with C/C++ |
Use ECC keys in C/C++ |
Keys are usable in C/C++ |
45 |
Key Compatibility with Android |
Use ECC keys in Android app |
Keys are usable on Android |
46 |
Key Compatibility with iOS |
Use ECC keys in iOS app |
Keys are usable on iOS |
47 |
Key Compatibility with WebCrypto |
Use ECC keys in browser |
Keys are usable via WebCrypto API |
48 |
Key Compatibility with Hardware Token |
Use ECC keys in HSM |
Keys are usable in hardware |
49 |
Key Compatibility with Smart Card |
Use ECC keys in smart card |
Keys are usable in smart card |
50 |
Key Compatibility with TPM |
Use ECC keys in TPM |
Keys are usable in trusted platform module |
Elliptic Curve Mathematics - Testcases
# |
Test Case |
Description |
Expected Result |
---|---|---|---|
1 |
Validate Curve Equation |
Check if curve satisfies Weierstrass form |
Equation is valid |
2 |
Use Prime Field (Fp) |
Define curve over a prime field |
Curve operates correctly |
3 |
Use Binary Field (F2m) |
Define curve over binary field |
Curve operates correctly |
4 |
Point Addition |
Add two points on the curve |
Result is a valid point on the curve |
5 |
Point Doubling |
Double a point on the curve |
Result is a valid point on the curve |
6 |
Scalar Multiplication |
Multiply point by scalar |
Result is a valid point on the curve |
7 |
Use Generator Point |
Use base point G for operations |
G lies on the curve |
8 |
Validate Point on Curve |
Check if a point lies on the curve |
Point satisfies curve equation |
9 |
Invalid Point Detection |
Use point not on curve |
Error is raised |
10 |
Use NIST P-256 Parameters |
Use standard curve parameters |
Curve is initialized correctly |
11 |
Use NIST P-384 Parameters |
Use standard curve parameters |
Curve is initialized correctly |
12 |
Use NIST P-521 Parameters |
Use standard curve parameters |
Curve is initialized correctly |
13 |
Use secp256k1 Parameters |
Use Bitcoin curve parameters |
Curve is initialized correctly |
14 |
Use Curve25519 |
Use modern curve for ECDH |
Curve operations succeed |
15 |
Use Ed25519 |
Use modern curve for EdDSA |
Curve operations succeed |
16 |
Modular Inversion |
Compute inverse modulo p |
Correct inverse is returned |
17 |
Modular Multiplication |
Multiply two numbers modulo p |
Result is correct |
18 |
Modular Addition |
Add two numbers modulo p |
Result is correct |
19 |
Modular Subtraction |
Subtract two numbers modulo p |
Result is correct |
20 |
Point at Infinity |
Handle identity element in group |
Result is neutral element |
21 |
Associativity of Point Addition |
Verify (P + Q) + R = P + (Q + R) |
Associativity holds |
22 |
Commutativity of Point Addition |
Verify P + Q = Q + P |
Commutativity holds |
23 |
Distributivity of Scalar Multiplication |
Verify a(P + Q) = aP + aQ |
Distributivity holds |
24 |
Negative Point |
Compute -P |
Result is valid inverse |
25 |
Point Subtraction |
Compute P - Q |
Result is valid point |
26 |
Use Cofactor |
Use cofactor in key generation |
Keys are secure |
27 |
Validate Curve Order |
Check total number of points on curve |
Order matches specification |
28 |
Use Large Prime Modulus |
Use 256-bit or larger prime |
Curve is secure |
29 |
Use Small Prime Modulus |
Use small prime for testing |
Curve works for test purposes |
30 |
Use Custom Curve |
Define and use custom curve |
Curve operations succeed |
31 |
Curve Parameter Validation |
Validate a, b, p parameters |
Parameters are valid |
32 |
Use in ECDSA |
Use curve for digital signature |
Signature is valid |
33 |
Use in ECDH |
Use curve for key exchange |
Shared secret is correct |
34 |
Use in ECIES |
Use curve for encryption |
Message is encrypted/decrypted |
35 |
Use in EdDSA |
Use Edwards curve for signing |
Signature is valid |
36 |
Use in X25519 |
Use curve for key agreement |
Shared secret is correct |
37 |
Curve Security Level |
Evaluate bits of security |
Meets required level |
38 |
Curve Parameter Export |
Export curve parameters |
Parameters match standard |
39 |
Curve Parameter Import |
Import curve parameters |
Curve is initialized correctly |
40 |
Curve Compatibility Check |
Use curve with cryptographic library |
Curve is supported |
41 |
Curve Performance Benchmark |
Measure time for scalar multiplication |
Performance is acceptable |
42 |
Curve Memory Usage |
Measure memory used for operations |
Usage is within limits |
43 |
Curve Interoperability |
Use curve across platforms |
Operations succeed |
44 |
Curve Compliance |
Check compliance with FIPS/NIST |
Curve is compliant |
45 |
Curve Attack Resistance |
Evaluate resistance to known attacks |
Curve is secure |
46 |
Curve Parameter Tampering |
Modify curve parameters |
Operations fail or raise error |
47 |
Curve Point Compression |
Compress and decompress point |
Point is restored correctly |
48 |
Curve Point Encoding |
Encode point to byte format |
Encoding is correct |
49 |
Curve Point Decoding |
Decode point from byte format |
Decoding is correct |
50 |
Curve Parameter Documentation |
Reference curve in documentation |
Matches official specification |
Smaller Key Sizes - Testcases
# |
Test Case |
Description |
Expected Result |
---|---|---|---|
1 |
Compare ECC 256-bit vs RSA 3072-bit |
Benchmark encryption speed |
ECC is faster or comparable |
2 |
Compare ECC 256-bit vs RSA 3072-bit |
Benchmark decryption speed |
ECC is faster or comparable |
3 |
Compare ECC 256-bit vs RSA 3072-bit |
Benchmark signature generation |
ECC is faster |
4 |
Compare ECC 256-bit vs RSA 3072-bit |
Benchmark signature verification |
ECC is faster or comparable |
5 |
Compare ECC 256-bit vs RSA 3072-bit |
Compare key size in bytes |
ECC key is significantly smaller |
6 |
Compare ECC 384-bit vs RSA 7680-bit |
Compare security equivalence |
ECC provides equivalent security |
7 |
ECC Key Storage Size |
Measure disk space used |
ECC uses less space |
8 |
ECC Key Transmission Size |
Measure size over network |
ECC uses less bandwidth |
9 |
ECC Certificate Size |
Compare ECC vs RSA certificates |
ECC certificate is smaller |
10 |
ECC in TLS Handshake |
Use ECC in TLS |
Handshake is faster and uses smaller keys |
11 |
ECC in SSH Authentication |
Use ECC keys for SSH login |
Authentication succeeds with smaller keys |
12 |
ECC in JWT |
Sign JWT with ECC |
Token size is smaller |
13 |
ECC in IoT Devices |
Use ECC on constrained devices |
ECC works efficiently |
14 |
ECC in Smart Cards |
Store ECC keys on smart card |
Keys fit within memory limits |
15 |
ECC in Mobile Devices |
Use ECC in mobile apps |
Performance is optimal |
16 |
ECC in Embedded Systems |
Use ECC in microcontrollers |
ECC operates within resource limits |
17 |
ECC Key Generation Time |
Measure time to generate ECC key |
Time is acceptable |
18 |
ECC Key Comparison |
Compare ECC key with RSA key visually |
ECC key is shorter |
19 |
ECC Key Export |
Export ECC key |
File size is small |
20 |
ECC Key Import |
Import ECC key |
File loads quickly |
21 |
ECC Key in X.509 Certificate |
Use ECC key in certificate |
Certificate is smaller |
22 |
ECC Key in CSR |
Use ECC key in CSR |
Request is smaller |
23 |
ECC Key in S/MIME |
Use ECC for email encryption |
Message size is reduced |
24 |
ECC Key in Code Signing |
Sign software with ECC |
Signature is compact |
25 |
ECC Key in Blockchain |
Use ECC for wallet keys |
Keys are efficient |
26 |
ECC Key in DNSSEC |
Use ECC for DNSSEC signing |
Zone file is smaller |
27 |
ECC Key in VPN |
Use ECC in VPN tunnel |
Tunnel setup is faster |
28 |
ECC Key in PDF Signing |
Sign PDF with ECC |
File size increases minimally |
29 |
ECC Key in Document Signing |
Sign Word/Excel documents |
Signature is compact |
30 |
ECC Key in Firmware Signing |
Sign firmware with ECC |
Signature fits in memory |
31 |
ECC Key in Secure Boot |
Use ECC for bootloader verification |
Boot process is secure and efficient |
32 |
ECC Key in TPM |
Store ECC key in TPM |
Key fits within TPM limits |
33 |
ECC Key in HSM |
Store ECC key in HSM |
Key is supported and efficient |
34 |
ECC Key in WebAuthn |
Use ECC for FIDO2/WebAuthn |
Authentication is fast |
35 |
ECC Key in NFC |
Use ECC in NFC communication |
Data fits in payload |
36 |
ECC Key in QR Code |
Encode ECC public key in QR code |
QR code is scannable |
37 |
ECC Key in Email Headers |
Include ECC key in email headers |
Header size is acceptable |
38 |
ECC Key in JSON Web Key (JWK) |
Represent ECC key in JWK format |
JSON is compact |
39 |
ECC Key in COSE |
Use ECC in CBOR Object Signing |
Payload is small |
40 |
ECC Key in Bluetooth LE |
Use ECC for pairing |
Pairing is fast and secure |
41 |
ECC Key in Zigbee |
Use ECC in Zigbee security |
Works within protocol limits |
42 |
ECC Key in LoRaWAN |
Use ECC in LoRaWAN |
Efficient for low-bandwidth |
43 |
ECC Key in Satellite Communication |
Use ECC in space-constrained systems |
ECC is suitable |
44 |
ECC Key in Automotive Systems |
Use ECC in vehicle ECUs |
ECC fits memory and performance constraints |
45 |
ECC Key in Payment Terminals |
Use ECC in POS devices |
Transactions are secure and fast |
46 |
ECC Key in Smart Meters |
Use ECC in energy metering |
Secure and efficient |
47 |
ECC Key in Medical Devices |
Use ECC in pacemakers, monitors |
ECC is lightweight |
48 |
ECC Key in Wearables |
Use ECC in smartwatches |
ECC is efficient |
49 |
ECC Key in Drones |
Use ECC for secure drone communication |
ECC ensures secure control |
50 |
ECC Key in Secure Messaging |
Use ECC in Signal/WhatsApp |
Messages are encrypted with small keys |
Efficient Computation - Testcases
# |
Test Case |
Description |
Expected Result |
---|---|---|---|
1 |
ECC Key Generation Speed |
Measure time to generate ECC key |
Key generated quickly |
2 |
ECC Encryption Speed |
Measure time to encrypt data |
Encryption is fast |
3 |
ECC Decryption Speed |
Measure time to decrypt data |
Decryption is fast |
4 |
ECC Signature Generation Speed |
Measure time to sign data |
Signature is generated quickly |
5 |
ECC Signature Verification Speed |
Measure time to verify signature |
Verification is fast |
6 |
ECC on Mobile Device |
Run ECC operations on smartphone |
Operations complete efficiently |
7 |
ECC on IoT Device |
Run ECC on constrained IoT hardware |
ECC performs well |
8 |
ECC on Microcontroller |
Run ECC on MCU (e.g., ARM Cortex-M) |
ECC is usable |
9 |
ECC on Smart Card |
Perform ECC operations |
ECC works within limits |
10 |
ECC on Embedded Linux |
Run ECC on embedded Linux board |
ECC is responsive |
11 |
ECC on Raspberry Pi |
Benchmark ECC performance |
ECC is efficient |
12 |
ECC on Android |
Use ECC in Android app |
ECC operations succeed |
13 |
ECC on iOS |
Use ECC in iOS app |
ECC operations succeed |
14 |
ECC in WebAssembly |
Run ECC in browser via WASM |
ECC is fast |
15 |
ECC in JavaScript |
Run ECC in browser via JS |
ECC is responsive |
16 |
ECC in Python |
Run ECC using Python cryptography |
ECC is efficient |
17 |
ECC in C/C++ |
Run ECC using OpenSSL |
ECC is fast |
18 |
ECC in Java |
Run ECC using BouncyCastle |
ECC is efficient |
19 |
ECC in Go |
Run ECC using Go crypto library |
ECC is responsive |
20 |
ECC in Rust |
Run ECC using Rust crypto crate |
ECC is fast |
21 |
ECC in Node.js |
Run ECC using node-crypto |
ECC is efficient |
22 |
ECC in .NET |
Run ECC using C# |
ECC is responsive |
23 |
ECC in TPM |
Run ECC in Trusted Platform Module |
ECC operations succeed |
24 |
ECC in HSM |
Run ECC in Hardware Security Module |
ECC is fast |
25 |
ECC in Secure Boot |
Use ECC for bootloader verification |
Boot is secure and fast |
26 |
ECC in Firmware Signing |
Sign firmware with ECC |
Signature is generated quickly |
27 |
ECC in VPN |
Use ECC in VPN tunnel setup |
Tunnel is established quickly |
28 |
ECC in TLS |
Use ECC in TLS handshake |
Handshake is fast |
29 |
ECC in SSH |
Use ECC for SSH authentication |
Login is fast |
30 |
ECC in Messaging |
Use ECC in secure messaging apps |
Messages are encrypted quickly |
31 |
ECC in Email |
Use ECC in S/MIME |
Email is signed/encrypted efficiently |
32 |
ECC in Blockchain |
Use ECC for wallet operations |
Transactions are fast |
33 |
ECC in NFC |
Use ECC in near-field communication |
ECC is responsive |
34 |
ECC in QR Code |
Encode ECC key in QR code |
Code is generated quickly |
35 |
ECC in Smartwatch |
Use ECC in wearable device |
ECC performs well |
36 |
ECC in Drone |
Use ECC for secure drone control |
ECC is responsive |
37 |
ECC in Automotive ECU |
Use ECC in vehicle systems |
ECC is efficient |
38 |
ECC in Smart Meter |
Use ECC in energy metering |
ECC is fast |
39 |
ECC in Medical Device |
Use ECC in pacemaker or monitor |
ECC is lightweight |
40 |
ECC in Payment Terminal |
Use ECC in POS device |
Transactions are quick |
41 |
ECC in Satellite |
Use ECC in space-constrained systems |
ECC is suitable |
42 |
ECC in Zigbee |
Use ECC in Zigbee protocol |
ECC is efficient |
43 |
ECC in LoRaWAN |
Use ECC in low-bandwidth networks |
ECC performs well |
44 |
ECC in Wi-Fi |
Use ECC in WPA3 handshake |
ECC is fast |
45 |
ECC in Bluetooth |
Use ECC in Bluetooth pairing |
Pairing is quick |
46 |
ECC in WebAuthn |
Use ECC in FIDO2 authentication |
Login is fast |
47 |
ECC in Docker Container |
Run ECC in containerized app |
ECC is responsive |
48 |
ECC in Virtual Machine |
Run ECC in VM |
ECC performs well |
49 |
ECC in Cloud Function |
Run ECC in serverless function |
ECC is fast |
50 |
ECC in CI/CD Pipeline |
Use ECC in automated signing |
Signing is efficient |
Digital Signatures (ECDSA) - Testcases
# |
Test Case |
Description |
Expected Result |
---|---|---|---|
1 |
Generate ECDSA Key Pair |
Create ECC key pair for signing |
Keys are generated successfully |
2 |
Sign Message with ECDSA |
Use private key to sign a message |
Signature is generated |
3 |
Verify ECDSA Signature |
Use public key to verify signature |
Signature is valid |
4 |
Tampered Message Detection |
Modify signed message |
Signature verification fails |
5 |
Tampered Signature Detection |
Modify signature |
Verification fails |
6 |
Use SHA-256 with ECDSA |
Sign message using SHA-256 hash |
Signature is valid |
7 |
Use SHA-384 with ECDSA |
Sign message using SHA-384 hash |
Signature is valid |
8 |
Use SHA-512 with ECDSA |
Sign message using SHA-512 hash |
Signature is valid |
9 |
Use NIST P-256 Curve |
Sign and verify using P-256 curve |
Signature is valid |
10 |
Use NIST P-384 Curve |
Sign and verify using P-384 curve |
Signature is valid |
11 |
Use NIST P-521 Curve |
Sign and verify using P-521 curve |
Signature is valid |
12 |
Use secp256k1 Curve |
Sign and verify using secp256k1 |
Signature is valid |
13 |
Use Ed25519 for Signing |
Sign using EdDSA |
Signature is valid |
14 |
Use Ed25519 for Verification |
Verify EdDSA signature |
Signature is valid |
15 |
Export ECDSA Signature |
Export signature to DER format |
Format is correct |
16 |
Import ECDSA Signature |
Import signature from DER format |
Signature is parsed correctly |
17 |
Use Compact Signature Format |
Use r |
|
18 |
Use ASN.1 Signature Format |
Use ASN.1 encoded signature |
Signature is valid |
19 |
Signature Length Check |
Check size of ECDSA signature |
Signature is compact |
20 |
Signature with Long Message |
Sign large message |
Signature is valid |
21 |
Signature with Short Message |
Sign short message |
Signature is valid |
22 |
Signature with Empty Message |
Sign empty message |
Signature is valid |
23 |
Signature with Non-ASCII Data |
Sign binary data |
Signature is valid |
24 |
Signature with Unicode Data |
Sign Unicode string |
Signature is valid |
25 |
Signature Verification Failure |
Use wrong public key |
Verification fails |
26 |
Signature Replay Detection |
Reuse signature on different message |
Verification fails |
27 |
Signature Timestamping |
Include timestamp in signed data |
Timestamp is verifiable |
28 |
Signature in JWT |
Use ECDSA to sign JWT |
Token is valid |
29 |
Signature in X.509 Certificate |
Use ECDSA in certificate |
Certificate is valid |
30 |
Signature in PDF |
Sign PDF document with ECDSA |
Signature is valid |
31 |
Signature in Email |
Sign email using S/MIME |
Signature is valid |
32 |
Signature in Code Signing |
Sign software binary |
Signature is valid |
33 |
Signature in Blockchain |
Sign transaction |
Signature is valid |
34 |
Signature in IoT Device |
Sign data on constrained device |
Signature is valid |
35 |
Signature in Smart Card |
Use smart card to sign |
Signature is valid |
36 |
Signature in TPM |
Use TPM to sign data |
Signature is valid |
37 |
Signature in HSM |
Use HSM to sign data |
Signature is valid |
38 |
Signature in WebAuthn |
Use ECDSA in FIDO2 authentication |
Signature is valid |
39 |
Signature in TLS Handshake |
Use ECDSA in TLS |
Handshake completes successfully |
40 |
Signature in SSH |
Use ECDSA for SSH authentication |
Login is successful |
41 |
Signature in VPN |
Use ECDSA in VPN certificate |
Tunnel is established |
42 |
Signature in Mobile App |
Use ECDSA in Android/iOS app |
Signature is valid |
43 |
Signature in Browser |
Use ECDSA in WebCrypto API |
Signature is valid |
44 |
Signature in Docker |
Sign container image |
Signature is verifiable |
45 |
Signature in CI/CD Pipeline |
Use ECDSA in automated signing |
Signature is valid |
46 |
Signature in Git |
Sign Git commits |
Signature is verifiable |
47 |
Signature in Blockchain Wallet |
Sign wallet transaction |
Signature is valid |
48 |
Signature in NFC |
Sign NFC data |
Signature is valid |
49 |
Signature in QR Code |
Encode signed data in QR code |
Signature is valid |
50 |
Signature in Secure Messaging |
Use ECDSA in Signal/WhatsApp |
Messages are authenticated |
Key Exchange (ECDH) - Testcases
# |
Test Case |
Description |
Expected Result |
---|---|---|---|
1 |
Generate ECDH Key Pair |
Create ECC key pair for key exchange |
Keys are generated successfully |
2 |
Derive Shared Secret |
Use private key and peer public key |
Shared secret is derived |
3 |
Shared Secret Consistency |
Compare secrets on both sides |
Secrets match |
4 |
Use NIST P-256 Curve |
Perform ECDH with P-256 |
Shared secret is valid |
5 |
Use NIST P-384 Curve |
Perform ECDH with P-384 |
Shared secret is valid |
6 |
Use NIST P-521 Curve |
Perform ECDH with P-521 |
Shared secret is valid |
7 |
Use secp256k1 Curve |
Perform ECDH with secp256k1 |
Shared secret is valid |
8 |
Use Curve25519 |
Perform ECDH with X25519 |
Shared secret is valid |
9 |
Use Ed25519 for ECDH |
Attempt ECDH with Ed25519 |
Not supported (Ed25519 is for signing) |
10 |
Use Invalid Public Key |
Use malformed public key |
Error is raised |
11 |
Use Mismatched Curves |
Use different curves on each side |
Key exchange fails |
12 |
Use Compressed Public Key |
Use compressed format for public key |
Shared secret is valid |
13 |
Use Uncompressed Public Key |
Use uncompressed format |
Shared secret is valid |
14 |
Export Shared Secret |
Export derived secret |
Secret is correctly exported |
15 |
Import Peer Public Key |
Load peers public key |
Key is imported successfully |
16 |
Use in TLS Handshake |
Use ECDH in TLS |
Secure connection established |
17 |
Use in SSH Key Exchange |
Use ECDH in SSH |
Session key is derived |
18 |
Use in VPN Tunnel |
Use ECDH in VPN |
Tunnel is established securely |
19 |
Use in Mobile App |
Perform ECDH on mobile device |
Key exchange succeeds |
20 |
Use in IoT Device |
Perform ECDH on constrained device |
Key exchange succeeds |
21 |
Use in Smart Card |
Perform ECDH using smart card |
Shared secret is derived |
22 |
Use in TPM |
Perform ECDH using TPM |
Shared secret is derived |
23 |
Use in HSM |
Perform ECDH using HSM |
Shared secret is derived |
24 |
Use in WebCrypto API |
Perform ECDH in browser |
Shared secret is derived |
25 |
Use in JavaScript |
Perform ECDH using JS library |
Shared secret is derived |
26 |
Use in Python |
Perform ECDH using Python cryptography |
Shared secret is derived |
27 |
Use in Java |
Perform ECDH using BouncyCastle |
Shared secret is derived |
28 |
Use in C/C++ |
Perform ECDH using OpenSSL |
Shared secret is derived |
29 |
Use in Go |
Perform ECDH using Go crypto |
Shared secret is derived |
30 |
Use in Rust |
Perform ECDH using Rust crypto |
Shared secret is derived |
31 |
Use in Node.js |
Perform ECDH using node-crypto |
Shared secret is derived |
32 |
Use in .NET |
Perform ECDH using C# |
Shared secret is derived |
33 |
Use in Docker |
Perform ECDH in container |
Key exchange succeeds |
34 |
Use in Virtual Machine |
Perform ECDH in VM |
Key exchange succeeds |
35 |
Use in Cloud Function |
Perform ECDH in serverless environment |
Key exchange succeeds |
36 |
Use in CI/CD Pipeline |
Perform ECDH in automated test |
Shared secret is valid |
37 |
Use in Bluetooth Pairing |
Use ECDH in BLE pairing |
Devices pair securely |
38 |
Use in NFC |
Use ECDH in NFC communication |
Shared secret is derived |
39 |
Use in QR Code Exchange |
Exchange public keys via QR code |
Shared secret is derived |
40 |
Use in Secure Messaging |
Use ECDH in Signal/WhatsApp |
Messages are encrypted securely |
41 |
Use in Blockchain Wallet |
Use ECDH for shared wallet secret |
Secret is derived securely |
42 |
Use in Secure Email |
Use ECDH in S/MIME |
Email is encrypted securely |
43 |
Use in PDF Encryption |
Use ECDH to encrypt PDF |
File is protected |
44 |
Use in Document Collaboration |
Use ECDH for shared document access |
Access is secure |
45 |
Use in Secure File Transfer |
Use ECDH in file transfer protocol |
Files are encrypted securely |
46 |
Use in Secure Boot |
Use ECDH to derive boot keys |
Boot process is secure |
47 |
Use in Firmware Update |
Use ECDH to encrypt firmware |
Update is secure |
48 |
Use in Smart Home Devices |
Use ECDH for device pairing |
Devices connect securely |
49 |
Use in Automotive Systems |
Use ECDH in vehicle-to-vehicle communication |
Communication is secure |
50 |
Use in Satellite Communication |
Use ECDH in space-constrained systems |
Key exchange succeeds |
Low Bandwidth & Storage - Testcases
# |
Test Case |
Description |
Expected Result |
---|---|---|---|
1 |
Compare ECC vs RSA Key Size |
Measure key size in bytes |
ECC key is significantly smaller |
2 |
Compare ECC vs RSA Signature Size |
Measure signature size |
ECC signature is smaller |
3 |
ECC Certificate Size |
Generate ECC-based certificate |
Certificate is compact |
4 |
ECC CSR Size |
Generate ECC certificate signing request |
CSR is smaller than RSA |
5 |
ECC Key Export File Size |
Export ECC key to file |
File size is small |
6 |
ECC Signature in Email |
Sign email with ECC |
Email size increases minimally |
7 |
ECC Signature in PDF |
Sign PDF with ECC |
File size remains small |
8 |
ECC Signature in JWT |
Sign JWT with ECC |
Token is compact |
9 |
ECC Signature in XML |
Sign XML document |
Signature is compact |
10 |
ECC Signature in JSON |
Sign JSON payload |
Signature is compact |
11 |
ECC Key in QR Code |
Encode ECC public key in QR code |
QR code is scannable |
12 |
ECC Key in NFC |
Transmit ECC key over NFC |
Transmission is fast |
13 |
ECC Key in BLE |
Use ECC in Bluetooth Low Energy |
Data fits in BLE packet |
14 |
ECC Key in Zigbee |
Use ECC in Zigbee protocol |
ECC fits within payload limits |
15 |
ECC Key in LoRaWAN |
Use ECC in LoRaWAN |
ECC fits low-bandwidth constraints |
16 |
ECC Key in SMS |
Transmit ECC key via SMS |
Message fits within limit |
17 |
ECC Key in Satellite Uplink |
Use ECC in satellite communication |
ECC fits narrowband channel |
18 |
ECC Key in IoT Device |
Store ECC key on constrained device |
Key fits in memory |
19 |
ECC Signature in IoT Device |
Store ECC signature |
Signature fits in memory |
20 |
ECC Key in Smart Card |
Store ECC key in smart card |
Key fits in storage |
21 |
ECC Key in TPM |
Store ECC key in TPM |
Key fits in secure memory |
22 |
ECC Key in HSM |
Store ECC key in HSM |
Key is stored efficiently |
23 |
ECC Key in Wearable |
Use ECC in smartwatch |
Key fits in device memory |
24 |
ECC Key in Medical Device |
Use ECC in pacemaker or monitor |
Key fits in memory |
25 |
ECC Key in Automotive ECU |
Use ECC in vehicle system |
Key fits in flash memory |
26 |
ECC Key in Payment Terminal |
Use ECC in POS device |
Key fits in secure element |
27 |
ECC Key in Smart Meter |
Use ECC in energy meter |
Key fits in memory |
28 |
ECC Key in Drone |
Use ECC in drone communication |
Key fits in onboard memory |
29 |
ECC Key in NFC Tag |
Store ECC key in NFC tag |
Key fits in tag memory |
30 |
ECC Key in RFID |
Use ECC in RFID tag |
Key fits in tag memory |
31 |
ECC Key in USB Token |
Store ECC key in USB token |
Key fits in secure storage |
32 |
ECC Key in SIM Card |
Store ECC key in SIM |
Key fits in SIM memory |
33 |
ECC Key in Secure Messaging |
Use ECC in Signal/WhatsApp |
Messages are small |
34 |
ECC Key in Secure File Transfer |
Use ECC in SFTP/FTPS |
Overhead is minimal |
35 |
ECC Key in TLS Handshake |
Use ECC in TLS |
Handshake packets are smaller |
36 |
ECC Key in SSH |
Use ECC in SSH authentication |
Key exchange is efficient |
37 |
ECC Key in VPN |
Use ECC in VPN tunnel setup |
Tunnel setup is fast |
38 |
ECC Key in WebAuthn |
Use ECC in FIDO2 authentication |
Data sent is minimal |
39 |
ECC Key in WebCrypto API |
Use ECC in browser |
Data usage is low |
40 |
ECC Key in JSON Web Key (JWK) |
Represent ECC key in JWK |
JSON is compact |
41 |
ECC Key in COSE |
Use ECC in CBOR Object Signing |
Payload is small |
42 |
ECC Key in Docker Image |
Sign image with ECC |
Signature adds minimal size |
43 |
ECC Key in Git Commit |
Sign Git commit with ECC |
Commit size is small |
44 |
ECC Key in CI/CD Pipeline |
Use ECC in automated signing |
Artifacts remain small |
45 |
ECC Key in Cloud Function |
Use ECC in serverless function |
Cold start is fast |
46 |
ECC Key in Virtual Machine |
Use ECC in VM |
ECC uses less memory |
47 |
ECC Key in Container |
Use ECC in Docker container |
ECC uses less storage |
48 |
ECC Key in Email Header |
Include ECC key in header |
Header size is small |
49 |
ECC Key in DNSSEC |
Use ECC in DNSSEC |
Zone file is smaller |
50 |
ECC Key in Blockchain Wallet |
Use ECC for wallet keys |
Keys are compact and efficient |
Ideal for Mobile & IoT - Testcases
# |
Test Case |
Description |
Expected Result |
---|---|---|---|
1 |
ECC Key Generation on Mobile |
Generate ECC key on smartphone |
Key generated quickly |
2 |
ECC Key Generation on IoT Device |
Generate ECC key on microcontroller |
Key generated successfully |
3 |
ECC Signature on Mobile |
Sign data using ECC on mobile |
Signature is valid |
4 |
ECC Signature on IoT Device |
Sign data using ECC on embedded device |
Signature is valid |
5 |
ECC Verification on Mobile |
Verify ECC signature on smartphone |
Verification succeeds |
6 |
ECC Verification on IoT Device |
Verify ECC signature on constrained device |
Verification succeeds |
7 |
ECC Encryption on Mobile |
Encrypt data using ECC |
Encryption is fast |
8 |
ECC Decryption on Mobile |
Decrypt data using ECC |
Decryption is fast |
9 |
ECC Key Exchange on Mobile |
Perform ECDH key exchange |
Shared secret is derived |
10 |
ECC Key Exchange on IoT Device |
Perform ECDH on embedded system |
Shared secret is derived |
11 |
ECC in BLE Pairing |
Use ECC in Bluetooth Low Energy |
Devices pair securely |
12 |
ECC in NFC Communication |
Use ECC in NFC-enabled device |
Secure communication established |
13 |
ECC in Zigbee |
Use ECC in Zigbee protocol |
ECC operations succeed |
14 |
ECC in LoRaWAN |
Use ECC in low-power wide-area network |
ECC is efficient |
15 |
ECC in Smartwatch |
Use ECC in wearable device |
ECC performs efficiently |
16 |
ECC in Smart Meter |
Use ECC in energy metering device |
ECC is responsive |
17 |
ECC in Smart Home Hub |
Use ECC in home automation controller |
Secure communication established |
18 |
ECC in Smart Lock |
Use ECC in door lock system |
Lock/unlock securely |
19 |
ECC in Smart Light |
Use ECC in smart lighting system |
Commands are authenticated |
20 |
ECC in Smart Thermostat |
Use ECC in temperature control device |
Secure control enabled |
21 |
ECC in Smart Camera |
Use ECC in IP camera |
Secure video stream setup |
22 |
ECC in Smart Plug |
Use ECC in power control device |
Secure switching enabled |
23 |
ECC in Smart TV |
Use ECC in connected television |
Secure app communication |
24 |
ECC in Smart Speaker |
Use ECC in voice assistant |
Secure command processing |
25 |
ECC in Smart Refrigerator |
Use ECC in connected fridge |
Secure data transmission |
26 |
ECC in Smart Washing Machine |
Use ECC in connected appliance |
Secure control enabled |
27 |
ECC in Smart Doorbell |
Use ECC in video doorbell |
Secure video and alerts |
28 |
ECC in Smart Garage Opener |
Use ECC in garage system |
Secure access control |
29 |
ECC in Smart Irrigation System |
Use ECC in garden automation |
Secure scheduling |
30 |
ECC in Smart Alarm System |
Use ECC in security system |
Secure alerts and logs |
31 |
ECC in Smart Health Monitor |
Use ECC in wearable health tracker |
Secure health data |
32 |
ECC in Smart Glasses |
Use ECC in AR/VR glasses |
Secure app communication |
33 |
ECC in Smart Helmet |
Use ECC in connected safety gear |
Secure telemetry |
34 |
ECC in Smart Bike Lock |
Use ECC in bike security system |
Secure unlock |
35 |
ECC in Smart Scooter |
Use ECC in e-scooter |
Secure ride activation |
36 |
ECC in Smart Car Key |
Use ECC in digital car key |
Secure vehicle access |
37 |
ECC in Smart Traffic Light |
Use ECC in traffic control system |
Secure signal updates |
38 |
ECC in Smart Parking Meter |
Use ECC in parking system |
Secure payment and control |
39 |
ECC in Smart Grid Node |
Use ECC in energy grid device |
Secure data exchange |
40 |
ECC in Smart Factory Sensor |
Use ECC in industrial IoT sensor |
Secure telemetry |
41 |
ECC in Smart Warehouse Robot |
Use ECC in logistics automation |
Secure navigation commands |
42 |
ECC in Smart Agriculture Sensor |
Use ECC in soil/moisture sensor |
Secure data collection |
43 |
ECC in Smart Drone |
Use ECC in UAV communication |
Secure flight control |
44 |
ECC in Smart Beacon |
Use ECC in location beacon |
Secure broadcast |
45 |
ECC in Smart Badge |
Use ECC in employee ID badge |
Secure access control |
46 |
ECC in Smart Payment Terminal |
Use ECC in mobile POS |
Secure transactions |
47 |
ECC in Smart Vending Machine |
Use ECC in automated retail |
Secure payment and inventory |
48 |
ECC in Smart Elevator System |
Use ECC in building automation |
Secure floor access |
49 |
ECC in Smart HVAC System |
Use ECC in air conditioning control |
Secure temperature regulation |
50 |
ECC in Smart City Infrastructure |
Use ECC in urban IoT systems |
Secure and efficient communication |
Widely Standardized - Testcases
# |
Test Case |
Description |
Expected Result |
---|---|---|---|
1 |
Use NIST P-256 Curve |
Generate key using NIST P-256 |
Curve matches NIST standard |
2 |
Use NIST P-384 Curve |
Generate key using NIST P-384 |
Curve matches NIST standard |
3 |
Use NIST P-521 Curve |
Generate key using NIST P-521 |
Curve matches NIST standard |
4 |
Use secp256k1 Curve |
Generate key using SECG curve |
Curve matches SECG standard |
5 |
Use Curve25519 |
Generate key using RFC 7748 curve |
Curve matches RFC 7748 |
6 |
Use Ed25519 |
Generate key using RFC 8032 curve |
Curve matches RFC 8032 |
7 |
Use RFC 6090 Guidelines |
Implement ECC operations per RFC 6090 |
Operations conform to RFC |
8 |
Use RFC 6637 for OpenPGP |
Use ECC in OpenPGP encryption |
Keys and messages conform to RFC |
9 |
Use RFC 5480 for X.509 |
Encode ECC public key in certificate |
Format matches RFC 5480 |
10 |
Use RFC 5753 for CMS |
Use ECC in Cryptographic Message Syntax |
Message conforms to RFC |
11 |
Use RFC 7748 for X25519 |
Perform ECDH using X25519 |
Key exchange conforms to RFC |
12 |
Use RFC 8032 for EdDSA |
Perform signing using Ed25519 |
Signature conforms to RFC |
13 |
Use RFC 8422 for TLS |
Use ECC in TLS 1.3 handshake |
Handshake conforms to RFC |
14 |
Use RFC 7027 for JOSE |
Use ECC in JSON Object Signing |
Signature conforms to RFC |
15 |
Use RFC 7518 for JWK |
Represent ECC key in JSON Web Key |
Format matches RFC |
16 |
Use RFC 8410 for PKIX |
Use ECC in public key infrastructure |
Format matches RFC |
17 |
Use FIPS 186-4 |
Generate ECC keys per FIPS |
Keys are compliant |
18 |
Use FIPS 140-3 |
Use ECC in validated crypto module |
Module is compliant |
19 |
Use ANSI X9.62 |
Perform ECDSA signing |
Signature conforms to ANSI |
20 |
Use ANSI X9.63 |
Perform ECDH key exchange |
Exchange conforms to ANSI |
21 |
Use SECG SEC 1 |
Use ECC key format from SEC 1 |
Format is valid |
22 |
Use SECG SEC 2 |
Use recommended curves |
Curve parameters match SEC 2 |
23 |
Use ISO/IEC 15946 |
Implement ECC per ISO standard |
Implementation is compliant |
24 |
Use ISO/IEC 18033 |
Use ECC in public key encryption |
Algorithm is compliant |
25 |
Validate ASN.1 Encoding |
Encode ECC keys in ASN.1 |
Encoding matches standard |
26 |
Validate DER Encoding |
Export ECC key in DER format |
Format is valid |
27 |
Validate PEM Encoding |
Export ECC key in PEM format |
Format is valid |
28 |
Use Standard Key Usage Flags |
Define key usage in certificate |
Flags match X.509 standard |
29 |
Use Standard Certificate Extensions |
Include ECC extensions in cert |
Extensions are valid |
30 |
Use Standard Signature Algorithm OID |
Use correct OID for ECDSA |
OID is recognized |
31 |
Use Standard Curve OID |
Use correct OID for named curve |
OID is recognized |
32 |
Use Standard Compliance Test Suite |
Run ECC test suite |
All tests pass |
33 |
Use Standard Crypto Library |
Use OpenSSL, BouncyCastle, etc. |
Library supports ECC standards |
34 |
Use Standard API |
Use Java, Python, or C# crypto APIs |
API conforms to ECC specs |
35 |
Use Standard Certificate Authority |
Issue ECC certificate from CA |
Certificate is valid |
36 |
Use Standard CSR Format |
Generate ECC CSR |
Format matches PKCS #10 |
37 |
Use Standard Signature Format |
Use ECDSA signature in DER |
Signature is verifiable |
38 |
Use Standard Key Validation |
Validate ECC key parameters |
Key is valid |
39 |
Use Standard Key Derivation |
Derive key using ECDH |
Result is compliant |
40 |
Use Standard Padding Scheme |
Use ECIES with standard padding |
Padding is valid |
41 |
Use Standard Certificate Chain |
Validate ECC cert chain |
Chain is valid |
42 |
Use Standard Secure Transport |
Use ECC in TLS/SSH |
Protocol is secure |
43 |
Use Standard Audit Logging |
Log ECC operations |
Logs are compliant |
44 |
Use Standard Key Revocation |
Revoke ECC cert using CRL/OCSP |
Revocation is valid |
45 |
Use Standard Key Rotation |
Rotate ECC keys periodically |
Policy is followed |
46 |
Use Standard Key Backup |
Backup ECC keys securely |
Backup is compliant |
47 |
Use Standard Key Destruction |
Destroy ECC keys securely |
Destruction is compliant |
48 |
Use Standard Interoperability Test |
Exchange ECC keys across systems |
Keys are compatible |
49 |
Use Standard Documentation |
Refer to NIST, RFCs, ANSI docs |
Implementation matches |
50 |
Use Standard Compliance Policy |
Follow FIPS/NIST/ISO guidelines |
ECC implementation is accepted |
Used in Modern Protocols - Testcases
# |
Test Case |
Description |
Expected Result |
---|---|---|---|
1 |
ECC in TLS Handshake |
Use ECC in HTTPS connection |
Secure connection established |
2 |
ECC in TLS 1.3 |
Use ECC in TLS 1.3 |
Handshake completes successfully |
3 |
ECC in TLS 1.2 |
Use ECC in TLS 1.2 |
Handshake completes successfully |
4 |
ECC in SSH Authentication |
Use ECC key for SSH login |
Authentication succeeds |
5 |
ECC in OpenSSH |
Use ECDSA key in OpenSSH |
Key is accepted and used |
6 |
ECC in PGP Key Generation |
Generate ECC key for OpenPGP |
Key is valid |
7 |
ECC in PGP Encryption |
Encrypt message using ECC key in PGP |
Message is encrypted securely |
8 |
ECC in PGP Signature |
Sign message using ECC key in PGP |
Signature is valid |
9 |
ECC in Signal Protocol |
Use ECC in Signal messaging |
Messages are encrypted securely |
10 |
ECC in WhatsApp |
Use ECC in WhatsApp messaging |
Messages are encrypted securely |
11 |
ECC in Matrix Protocol |
Use ECC in Matrix messaging |
Secure communication established |
12 |
ECC in Wire Protocol |
Use ECC in Wire secure messaging |
Messages are encrypted securely |
13 |
ECC in Cryptocurrency Wallet |
Use ECC for wallet key pair |
Transactions are signed securely |
14 |
ECC in Bitcoin |
Use secp256k1 for Bitcoin transactions |
Signature is valid |
15 |
ECC in Ethereum |
Use secp256k1 for Ethereum wallet |
Transactions are valid |
16 |
ECC in Monero |
Use ECC for privacy-preserving transactions |
Transactions are secure |
17 |
ECC in Litecoin |
Use ECC for wallet and signing |
Transactions are valid |
18 |
ECC in Blockchain Node |
Use ECC in node-to-node communication |
Secure channel established |
19 |
ECC in VPN Tunnel |
Use ECC in VPN key exchange |
Tunnel is secure |
20 |
ECC in IPsec |
Use ECC in IPsec IKEv2 |
Key exchange succeeds |
21 |
ECC in S/MIME |
Use ECC for email encryption |
Email is encrypted and signed |
22 |
ECC in DNSSEC |
Use ECC for DNS record signing |
Records are verifiable |
23 |
ECC in WebAuthn |
Use ECC in FIDO2 authentication |
Login is secure |
24 |
ECC in FIDO U2F |
Use ECC in U2F token |
Authentication succeeds |
25 |
ECC in TPM |
Use ECC in Trusted Platform Module |
Keys are generated and used securely |
26 |
ECC in HSM |
Use ECC in Hardware Security Module |
Keys are protected and used |
27 |
ECC in Secure Boot |
Use ECC to verify bootloader |
Boot process is secure |
28 |
ECC in Firmware Signing |
Sign firmware with ECC |
Firmware is verified |
29 |
ECC in PDF Signing |
Use ECC to sign PDF document |
Signature is valid |
30 |
ECC in Document Signing |
Use ECC to sign Word/Excel files |
Signature is valid |
31 |
ECC in Git Commit Signing |
Sign Git commits with ECC |
Signature is verifiable |
32 |
ECC in Docker Image Signing |
Sign container image with ECC |
Signature is valid |
33 |
ECC in CI/CD Pipeline |
Use ECC in automated build signing |
Artifacts are signed securely |
34 |
ECC in Secure File Transfer |
Use ECC in SFTP/FTPS |
Files are transferred securely |
35 |
ECC in Secure Email Gateway |
Use ECC in mail server |
Emails are encrypted and signed |
36 |
ECC in WebRTC |
Use ECC in peer-to-peer video/audio |
Secure connection established |
37 |
ECC in MQTT over TLS |
Use ECC in IoT messaging |
Messages are encrypted |
38 |
ECC in CoAP over DTLS |
Use ECC in constrained IoT protocol |
Secure communication established |
39 |
ECC in Smart Contracts |
Use ECC in blockchain smart contracts |
Transactions are signed securely |
40 |
ECC in NFC Payment |
Use ECC in contactless payment |
Transaction is secure |
41 |
ECC in Mobile Banking App |
Use ECC in app authentication |
Login is secure |
42 |
ECC in Biometric Authentication |
Use ECC to secure biometric data |
Data is encrypted |
43 |
ECC in Cloud Storage Encryption |
Use ECC to encrypt cloud files |
Files are protected |
44 |
ECC in Password Manager |
Use ECC to encrypt vault |
Vault is secure |
45 |
ECC in Secure Chat App |
Use ECC in encrypted messaging |
Messages are secure |
46 |
ECC in Browser Extension |
Use ECC in secure browser plugin |
Data is encrypted |
47 |
ECC in IoT Gateway |
Use ECC in edge device |
Secure communication with cloud |
48 |
ECC in Automotive Protocols |
Use ECC in vehicle-to-vehicle communication |
Data is authenticated |
49 |
ECC in Industrial Control Systems |
Use ECC in SCADA/ICS |
Secure command and telemetry |
50 |
ECC in Satellite Communication |
Use ECC in space-ground link |
Data is encrypted and authenticated |
Reference links