Non-repudiation

Foundations of Cryptography

  • Importance of Authenticity in Data Transmission

    • Cryptography ensures that when data is sent to a third party, that third party can verify the information actually came from the sender.
    • This concept parallels signing contracts; signatures confirm authorship and intention.
  • Nonrepudiation

    • Nonrepudiation is achieved through proof of integrity and proof of origin, which together ensure high assurance of authenticity.

Proof of Integrity

  • Definition of Proof of Integrity

    • It confirms that the received data is identical to what was originally sent.
    • Guarantees accuracy and consistency in data transmission, ensuring that no alterations have occurred.
  • Hashing in Cryptography

    • A hash is a short string of text generated from the original data, often referred to as a message digest or fingerprint.
    • If the data changes, the generated hash will also change, indicating a modification.
    • Analogy: A physical fingerprint; any change in the data corresponds to a different fingerprint.
  • Practical Example Using Project Gutenberg

    • An example involves downloading volume one of the Gutenberg Encyclopedia, which is 8.1 megabytes in size.
    • A hash of this volume is created; if even a single character changes, the hash will differ significantly.
    • Size remains constant, but content integrity can be verified through hashing.
    • Difficulty in manual verification: Human analysis of 8.1 MB to identify changes is impractical.
    • Hash Comparison
    • Performing a hash on the altered data will yield a different hash value from the original.
    • Comparing hashes allows users to determine if the data has been corrupted or altered.

Proof of Origin

  • Definition of Proof of Origin

    • Verifies the identity of the sender of the data, adding an authentication layer to data integrity.
    • Ensures that the sender cannot deny sending the message (nonrepudiation).
  • Digital Signatures

    • A digital signature works similarly to a paper signature, establishing authenticity.
    • Utilizes two keys: a private key known only to the sender and a public key available to everyone.
    • The private key is used for signing (encrypting the hash), and the public key is used for verification (decrypting the hash).

Practical Application of Digital Signature

  • Process of Sending a Digital Signature

    • Utilizing a software interface, one clicks to add a digital signature to a document.
    • Example scenario: Alice sends a message to Bob stating, "You're hired, Bob."
    • Steps:
      1. Alice creates a hash of the plaintext message (‘You’re hired, Bob’).
      2. Alice encrypts this hash with her private key.
      3. Both the original message and the encrypted hash (digital signature) are sent to Bob.
  • Verification by Receiver

    • Bob receives the message along with the digital signature.
    • Bob uses Alice's public key to decrypt the digital signature and retrieve the hash.
    • Bob then hashes the received plaintext using the same hashing algorithm.
    • If Bob’s calculated hash matches the decrypted hash, it confirms both integrity and origin.
  • Understanding the Process

    • The creation and verification of a digital signature typically occur automatically in background processes.
    • Awareness of how digital signatures function aids in understanding data integrity and origin verification in transactions.