I want to digitally sign messages with strict size limitations. I am looking for digital signature algorithm providing very short signatures. (as short as possible)

Which secure algorithms can I choose? The digital signature check will be performed on server-side (JAVA) as well as on client-side (Android, iOS).

1 Answer 1


There are two broad families of digital signatures in common use: those based on RSA, and those based on a discrete logarithm. RSA signatures are the same size as the key, and a minimum key size for reasonable security is 2048 bits (256 bytes). There are many variants of signature schemes based on the discrete logarithm, but all have the same signature size anyway: twice the size of the key (the signature is a pair of numbers). Elliptic curves give the best security at a given size of numbers involved, and smaller numbers are better for performance anyway, so there's no reason to look for anything else. The smallest curve size for reasonable security is around 256 bits. So the smallest signature size is 64 bytes.

Both ECDSA with the curve secp256r1 (also known as “NIST P-256r1” and other variants) and EdDSA over Curve25519 (also known as Ed25519) are widespread, and they give the smallest signature size, so there's no need to go and look for anything exotic.

You must log in to answer this question.

Not the answer you're looking for? Browse other questions tagged .