Maybe I'm misunderstanding the purpose of k-anonymity, but I don't see the why HIBP uses it when checking user passwords.
This website, which explains HIBP's implementation of it, says, "The client will then truncate the hash to a predetermined number of characters (for example, 5) resulting in a Hash Prefix of a94a8. This Hash Prefix is then used to query the remote database for all hashes starting with that prefix (for example, by making a HTTP request to example.com/a94a8.txt). The entire hash list is then downloaded and each downloaded hash is then compared to see if any match the locally generated hash."
I can see why this would beneficial over an unsecured connection like HTTP, as anyone snooping the connection would get a whole list of possible passwords instead of just the plain text/hashed password. That being said, why not just send the password over an HTTPS connection to begin with? After all, it's encrypted in such a way that the data (i.e. the password the user submitted for checking AND any matches found) would be incredibly difficult to decrypt, maintaining data security and thus rendering the possible list of passwords unnecessary.
Am I misunderstanding (or just flat out missing) something here? It seems like extra work for no real reason.