• TheInsane42@lemmy.world
    link
    fedilink
    English
    arrow-up
    45
    ·
    edit-2
    9 months ago

    GPG signatures are set by the sender to prove the message is originating from the sender and is unchanged. It’s signed with the private key and verified with the public key.

    It is in no way a method to verify if the information is correct or rubbish. I can tell you the earth is flat and sign it, but all you know on verifying the signature is that the info was unaltered, not if it’s correct or not.

    • Tanoh@lemmy.world
      link
      fedilink
      arrow-up
      13
      ·
      9 months ago

      GPG signatures are set by the sender to prove the message is originating from the sender and is unchanged. It’s signed with the private key and verified with the public key.

      A bit of a nitpick, but important to keep in mind. The GPG signatures shows that someone that has access to the private key sent that message. If I somehow gets a hold of a copy of your key, I can send messages that seems to originate from you.

      • TheInsane42@lemmy.world
        link
        fedilink
        English
        arrow-up
        4
        ·
        edit-2
        9 months ago

        To nit-pick a tad more, when they have access to my key and have my passphrase so they can sign with it…

        That’s why you set the passphrase on keys, gpg, ssh,… Never use a encryption without a key. That way you need posession (key) and knowledge (passphrase) to identify yourself. When you use ssh, use the ssh agent, when you have automated login which would be better to use without keyphrase, use a different pair (specify wuth -i option) and limit access with that to a fixed ip.

        And always protect your key. No cloud backup…

        Edit: GPG keys also can be signed. Not by specific companies (there is probably a service for that, but it’s not by design), but by other people knowing each other. That way you have a trust based on who knows who, not who has more cash…

        Same with ssh keys, you can sign those as well and set sshd to accept anybody with a certificate signed by ‘x’ to access the server on the same account name the cert was issued for.

    • Ephera@lemmy.ml
      link
      fedilink
      arrow-up
      1
      ·
      9 months ago

      It can’t help to guarantee the truth, but it can be used to verify that information comes from a certain source.

      So, for example, if Russia created a deep fake video of Zelensky declaring that Ukraine is giving up the war and that troops should stop fighting back, then that kind of misinformation could be disproven, if Zelensky normally uses GPG-signed communication.

  • ryannathans@aussie.zone
    link
    fedilink
    arrow-up
    2
    ·
    9 months ago

    A cryptographic signature that proves a message/content was authored or approved by a person, or anyone who posesses that person’s private key. The signature can be verified against their public identity (public key) without giving anyone the ability to impersonate their signature.

    Anybody making a deepfake wouldn’t have access to the private key of the person they are trying to impersonate, so it would have to be posted without a matching signature or with none at all.

  • AnAustralianPhotographer@lemmy.world
    link
    fedilink
    English
    arrow-up
    2
    ·
    9 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.