CRYPTO · TIMING Nâng cao CA 03 / 11

So sánh cũng làm lộ bí mật

So sánh token/mã bí mật người dùng gửi lên với giá trị đúng, bằng toán tử == thông thường:

if userToken == realToken {   // dừng NGAY khi gặp ký tự khác nhau đầu tiên
    grantAccess()
}

Vì "==" dừng ngay tại ký tự lệch đầu tiên, thời gian so sánh dài-ngắn khác nhau. Điều này mở ra kiểu tấn công nào?