My cert is:
Key Length = 2048 Signature algorithm = SHA256 + RSA
So is it a 256 bit SSL cert?
Information Security Stack Exchange is a question and answer site for information security professionals. It only takes a minute to sign up.Sign up to join this community
So is it a 256bit SSL cert?
No. There are several aspects which are relevant for a certificate:
When talking only about "this is a XXX bit cert" one refers to the key size. So in your example this would be a 2048 bit certificate or more specific a certificate with a 2048 bit RSA key. And this certificate was signed by the issuer with with the issuers RSA key and a SHA-256 hash over the certificate.
Another important factor is the strength of the symmetric encryption of the data, i.e. the algorithm and its key size. But this is independent from the strength of the certificate and thus outside of this question. But any claims by a CA that their certificates are good for 256 bit encryption are just marketing, because this can be done with any certificate.
So is it a 256bit SSL cert?
No. Yes. Maybe. The real answer is: It depends on the terminology, as some CAs appear to be notoriously lousy about such details.
The certificate contains the public portion of the asymmetric key pair that is used to authenticate the server (ensure that you really are talking to the server you think you are talking to) and establish the shared secret session key (which is used for actually encrypting the traffic). It also contains some other information aimed to establish the identity of the key holder, as well as the correctness of the certificate itself. The hash algorithm (in your case SHA-256, which is one of the SHA-2 family of hashes) is used to establish the correctness of the certificate, and (beyond its ability to correctly establish whether the certificate is valid) has no real bearing on the encryption strength.
SHA-256 has a 256 bit hash length, and so by some definitions a certificate which uses SHA-256 for authenticity can technically be said to be a "256-bit certificate". However, that doesn't directly impact the cryptographic security achieved. (SHA-1 has a 160 bit hash length, and creating a fake SHA-1 certificate is estimated to cost around $100,000. I don't think anybody sold those as "160-bit certificates", however.) The more secure hash does make creating a fake certificate far more difficult, however, so you have greater assurance that the host you are connecting to is the one you intended to connect to.
The asymmetric key pair is formed by two keys, the public key and the private key. In your case, it is a 2048 bit RSA public key, with a corresponding private key. The public half of this pair is, as it says, public, and is used to encrypt data such that only an entity that holds the corresponding private half of the pair can decrypt it. Asymmetric in this case means that the keys used to encrypt and decrypt data are different; the opposite is symmetric cryptography in which the same key is used to encrypt and decrypt data. (We use asymmetric crypto because it greatly simplifies key distribution and agreement, and symmetric crypto because it has far greater performance and fewer pitfalls. Real-world cryptosystems such as TLS and PGP combine these two to get the best out of both.)
Usually when talking about "128 bit", "256 bit" and so on encryption, one refers to the symmetric key length, though the emergence of elliptic-curve cryptography has somewhat started to blur this line (broadly speaking, 256 bits is a good key length for a symmetric algorithm, a reasonable key length for an elliptic-curve algorithm, but an absolutely disasterously short key length for something like RSA). The symmetric key is agreed upon randomly by the server and the client, using tricks of mathematics to ensure that even if somebody can monitor the entire exchange between the two, they still will not be able to determine the symmetric key agreed upon. Exactly how this happens is beyond the scope of this answer, but if you are curious, read up on key agreement or key exchange protocols such as for example Diffie-Hellman key exchange.
The length of the symmetric key that is agreed upon is determined by the support and preferences of both the client and server software. This is unrelated to the certificate itself.
The length of the symmetric and asymmetric keys, and the security of the hash used to establish the certificate's validity, should ideally be chosen such that they provide a somewhat similar level of security. There's no point in the server using AES-256 for symmetric encryption if the certificate has a 512-bit RSA public key, for example, as an attacker will always go after the easiest target.