• AnAustralianPhotographer@lemmy.world
    link
    fedilink
    English
    arrow-up
    2
    ·
    10 months ago

    GPG uses a public key encryption algorithms. Widely known encryption uses symmetric encryption, ie the same passphrase is used to encrypt and decrypt.

    Public key encryption algorithms have two keys, a public key and a private key. They are created as a pair.

    When someone creates the pair, they can safely widely publish their public key which is essential to encrypt a message to the receiver. But a different key is needed to decrypt the message (the private key).

    They can also be used in reverse. A person with a private key can sign a message saying they created a document and it has this hash. We can use their public key to confirm the message they send out has not been altered.

    A hash is a computer algorithm which examines a files and creates a short pattern of characters. If the file is changed then the hash of the file also changes.

    As a example, If we had a written letter, a very simple hash could be to assign a the number 1, b 2, c 3 etc and full stop could be 27, comma 28, and the digits 0-9 29-38. For every character we keep adding the assigned numbes and keep a total. When we get to the end, we take the last 3 digits and have a number between 000 and 999. (Technically this is more a checksum than a hash, but please just go with it. A hash like MD5 or SHA256 is complex and has ways to detect if the message contents was shuffled that the described hash wouldn’t)

    Continuing the example, I may receive a letter from a relative who asked me for some money or something. If I wasnt sure if it was real or not, I could calculate the hash and call the relative and confirm the hash.

    But back to your example, there might be a press release from the presidents account saying something like

    "Dear constituents, Please find attached a link to download the lastest video update from the presidents. It can be downloaded at URL, and it has a SHA256 hash of abcd12345 Signed President GPGSignature for president@example is ‘ajfuebslch’ " Once we download the file, we can use SHA to generate the has of the file we downloaded and GPG to confirm the signature of the message we received matches the text of the message we received.

    If we didn’t have GPG and the Public key of the presidents account, an attacker who makes deep fakes could send us spam purporting to be from them and include in the message the correct hash for their deepfaked video.

    I dont quite fully understand how public key encryption works, but the GPG signature allows us to confirm the message was sent by whoever has the matching private key to the public key we’ve got and the hash lets us confirm the file we downloaded is the same as the video the semder wants us to receive.