Symmetric encryption · Mã hóa đối xứng
Locking with a key
- Encryption scrambles a message so only someone with the key can read it.
- In symmetric encryption, the same key locks and unlocks. Sender and receiver must both know it.
Khóa và mở khóa
- Mã hóa xáo trộn một tin nhắn sao cho chỉ người sở hữu khóa mới đọc được.
- Trong mã hóa đối xứng, khóa giống nhau dùng để khóa và mở khóa. Người gửi và người nhận đều phải biết khóa đó.
The Caesar cipher
- The oldest example: shift every letter forward by a fixed number. With shift 3,
a → d,b → e, and so on. - The key is the shift. Decrypting just shifts back.
Mã Caesar
- Ví dụ古老 nhất: dịch chuyển mỗi chữ cái về phía trước một số lượng cố định. Với độ dịch chuyển là 3,
a → d,b → e, v.v. - Khóa chính là độ dịch chuyển. Giải mã chỉ cần dịch chuyển ngược lại.
text = "attack"
shift = 3
out = "".join(chr((ord(c) - 97 + shift) % 26 + 97) for c in text)
print(out) # dwwdfn
Why Caesar is weak
- There are only 25 possible shifts, so a computer can try them all in a blink.
- This is a brute-force attack on the key — exactly what real encryption must resist.
Tại sao Caesar yếu kém
- Chỉ có 25 độ dịch chuyển khả thi, nên máy tính có thể thử hết tất cả chúng trong chớp mắt.
- Đây là cuộc tấn công brute-force lên khóa — chính xác là những gì mã hóa thực tế phải chịu đựng.
What real ciphers do
- Modern symmetric ciphers like AES use keys with billions of billions of possibilities.
- The big problem they leave: how do two people share the secret key safely? The next lesson solves it.
Covers: IGCSE 2.3 (symmetric encryption), A-Level 17.1.
Các thuật toán mã hóa thực tế làm gì
- Các thuật toán mã hóa đối xứng hiện đại như AES sử dụng khóa có hàng tỷ tỷ possibilities.
- Vấn đề lớn mà chúng để lại: làm thế nào để hai người chia sẻ khóa bí mật một cách an toàn? Bài học tiếp theo sẽ giải quyết vấn đề này.
Phạm vi: IGCSE 2.3 (mã hóa đối xứng), A-Level 17.1.
Common mistakes
- One shared key both encrypts and decrypts.
- The hard part is sharing that key safely.
Lỗi thường gặp
- Một khóa chung dùng để vừa mã hóa vừa giải mã.
- Phần khó khăn nằm ở việc chia sẻ khóa đó một cách an toàn.
Symmetric encryption · Mã hóa đối xứng
The Caesar cipher uses one shared key to encrypt and decrypt. · Cipher Caesar sử dụng một khóa chung để mã hóa và giải mã.
Encrypt hello with a Caesar cipher: shift each letter forward by shift places (wrapping past z back to a). Build the encrypted string and print it. · Mã hóa hello bằng mã Caesar: dịch chuyển mỗi chữ cái tiến lên shift vị trí (vòng qua z quay trở lại a). Xây dựng chuỗi đã mã hóa và in ra.
Click Run to see the output here. · Nhấn Chạy để xem kết quả ở đây.
Now break it — that is why Caesar is weak. You intercepted cipher, and you suspect the plaintext is attack. Try every shift from 1 to 25, shifting back, and print the shift that turns cipher into attack. · Giờ hãy phá vỡ nó — đó là lý do Caesar yếu. Bạn đã chặn được cipher, và bạn nghi ngờ văn bản gốc là attack. Thử mọi bước dịch chuyển từ 1 đến 25, dịch chuyển lùi, và in bước dịch chuyển biến cipher thành attack.
Click Run to see the output here. · Nhấn Chạy để xem kết quả ở đây.