I have a requirement for a minimum of AES-128 for SSH on my server. When I run ssh -v I get:

debug1: match: OpenSSH_5.3 pat OpenSSH* debug1: Local version string SSH-2.0-OpenSSH_5.9p1 Debian-5ubuntu1 debug1: kex: server->client aes128-ctr hmac-md5 none debug1: kex: client->server aes128-ctr hmac-md5 none

Does this mean that it is AES-128 or MD5?


The connection uses AES-128 (in CTR mode) for encryption.

MD5 and HMAC-MD5 are not encryption algorithms. MD5 is a hash algorithm. HMAC is a message authentication algorithm based on hash functions – and in this case the combination of HMAC and MD5 is used to detect possible data corruption (or tampering with).


Since MD5 is not an encryption algorithm... ;)

HMAC is something else. I'll just quote the example:

A business that suffers from attackers that place fraudulent Internet orders may insist hat all its customers deposit a secret symmetric key with them. Along with an order, a customer must supply the order's HMAC digest, computed using the customer's key. The business, knowing the customer's key, can then verify that the order originated from the stated customer and has not been tampered with.

Basically, it's message integrity verification.


Your Answer

By clicking “Post Your Answer”, you agree to our terms of service, privacy policy and cookie policy

Not the answer you're looking for? Browse other questions tagged or ask your own question.