Public key fingerprint

Fingerprints are created by applying a cryptographic hash function to a public key.

Fingerprints can help accomplish this, since their small size allows them to be passed over trusted channels where public keys won't easily fit.

In systems such as SSH, users can exchange and check fingerprints manually to perform key authentication.

In PGP, normal users can issue certificates to each other, forming a web of trust, and fingerprints are often used to assist in this process (e.g., at key-signing parties).

If addresses and names are already being exchanged through trusted channels, this approach allows fingerprints to piggyback on them.

These are not, properly speaking, fingerprints, since their short length prevents them from being able to securely authenticate a public key.

While it is acceptable to truncate hash function output for the sake of shorter, more usable fingerprints, the truncated fingerprints must be long enough to preserve the relevant properties of the hash function against brute-force search attacks.

For example, in the context of Cryptographically Generated Addresses, this is called "Hash Extension" and requires anyone calculating a fingerprint to search for a hashsum starting with a fixed number of zeroes,[3] which is assumed to be an expensive operation.