Hashing and digital signatures · Hashing dan tanda tangan digital
Hashing protects integrity
- We hashed passwords for secrecy. Hashing also protects integrity — proving data was not changed.
- Change even one character of the input, and the hash changes completely.
Hashing melindungi integritas
- Kami melakukan hashing pada kata sandi untuk kerahasiaan. Hashing juga melindungi integritas — membuktikan bahwa data tidak diubah.
- Ubah bahkan satu karakter dari input, dan hash akan berubah sepenuhnya.
import hashlib
print(hashlib.sha256(b"hello").hexdigest()[:16])
print(hashlib.sha256(b"hellp").hexdigest()[:16]) # totally different
Checking a download
- Websites publish the hash of a file. After downloading, you hash your copy and compare.
- If the two hashes match, the file arrived intact. If not, it was corrupted or tampered with.
Memeriksa unduhan
- Situs web mempublikasikan hash dari sebuah file. Setelah mengunduh, Anda melakukan hashing pada salinan Anda dan membandingkannya.
- Jika kedua hash cocok, file tersebut tiba utuh. Jika tidak, file tersebut rusak atau dimanipulasi.
Digital signatures
- A digital signature proves who sent something and that it was not changed.
- The sender hashes the message and encrypts that hash with their private key.
- Anyone can check it with the sender's public key — only the real sender could have made it.
Tanda tangan digital
- Tanda tangan digital membuktikan siapa mengirim sesuatu dan bahwa itu tidak diubah.
- Pengirim melakukan hashing pada pesan dan mengenkripsi hash tersebut dengan kunci privat mereka.
- Siapa pun dapat memeriksanya dengan kunci publik pengirim — hanya pengirim asli yang dapat membuatnya.
Your turn
- Compare the hashes of an original and a received message.
Truemeans the message is intact.
Covers: A-Level 17.1 (digital certification), 6.2 (integrity).
Giliran Anda
- Bandingkan hash dari pesan asli dan pesan yang diterima.
Trueberarti pesan tersebut utuh.
Cakupan: A-Level 17.1 (sertifikasi digital), 6.2 (integritas).
Common mistakes
- A hash is one-way — you cannot get the original back from it.
- A digital signature proves who sent a message and that it was not changed.
Kesalahan umum
- Hash bersifat satu arah — Anda tidak bisa mendapatkan kembali data asli darinya.
- Tanda tangan digital membuktikan siapa yang mengirim pesan dan bahwa pesan tersebut tidak diubah.
Hashing & signatures · Hashing & tanda tangan
A hash is one-way and avalanches — perfect for fingerprints. · Hash bersifat satu arah dan avalanche — sempurna untuk sidik jari.
Check whether a received message is unchanged. Hash both original and received with SHA-256 and print whether the two digests are equal (True or False). · Periksa apakah pesan yang diterima tidak berubah. Hash kedua original dan received dengan SHA-256 dan print apakah dua digest sama (True atau False).
Click Run to see the output here. · Klik Jalankan untuk melihat output di sini.
This time an attacker edited the message in transit. Hash both versions and print TAMPERED if the digests differ, else OK — one changed character is enough to catch. · Kali ini penyerang mengedit pesan saat transit. Hash kedua versi dan cetak TAMPERED jika digest berbeda, jika tidak cetak OK — satu karakter yang berubah sudah cukup untuk terdeteksi.
Click Run to see the output here. · Klik Jalankan untuk melihat output di sini.