One-Time Pad là gì? Cách mã hóa và điểm khác với OTP đăng nhập
Tìm hiểu phép XOR và khóa ngẫu nhiên mới của one-time pad, ý nghĩa của tính bí mật hoàn hảo, rủi ro tái sử dụng khóa và điểm khác với OTP đăng nhập.

One-time pad mã hóa thông điệp bằng một khóa bí mật, ngẫu nhiên và dài bằng thông điệp. Mỗi lần mã hóa đều dùng phần khóa chưa từng được sử dụng. Khi đáp ứng các điều kiện nghiêm ngặt, việc quan sát bản mã không cung cấp cho kẻ tấn công thêm thông tin nào về thông điệp.
Chữ viết tắt OTP cũng có thể chỉ mật khẩu hoặc mã đăng nhập dùng một lần. One-time pad, OTP đăng nhập và liên kết chỉ mở được một lần giải quyết những vấn đề khác nhau.
Điều kiện để có một one-time pad đúng nghĩa
Với thông điệp n bit, cách xây dựng nhị phân cần n bit khóa bí mật hoàn toàn mới:
- Lấy mẫu khóa theo phân bố đều: mọi khóa n bit đều phải có xác suất được chọn như nhau.
- Tạo khóa độc lập với thông điệp và các phần khóa khác.
- Giữ bí mật khóa đối với bên quan sát.
- Chỉ dùng mỗi đoạn khóa để mã hóa một thông điệp. Không tái sử dụng các đoạn chồng lấn cho lần mã hóa khác.
Đây là những giả thiết làm cơ sở cho chứng minh tính bảo mật trong chương về one-time pad của Mike Rosulek. Một cụm từ dễ nhớ hoặc một khóa lặp lại không đáp ứng các điều kiện này.
Ví dụ XOR với bốn bit
XOR, ký hiệu ⊕, cho kết quả 0 khi hai bit giống nhau và 1 khi chúng khác nhau. Khi mã hóa, ta kết hợp thông điệp với khóa; khi giải mã, ta áp dụng lại cùng khóa đó.
| Bước | Phép tính | Kết quả |
|---|---|---|
| Mã hóa | 1010 ⊕ 0110 |
1100 |
| Giải mã | 1100 ⊕ 0110 |
1010 |
Ở đây, thông điệp là 1010, khóa là 0110 và bản mã là 1100. Lặp lại XOR với cùng khóa sẽ triệt tiêu tác dụng của khóa. Ví dụ này minh họa nguyên lý toán học; việc gửi tin thực tế còn cần quản lý khóa an toàn và xác thực.
Tính bí mật hoàn hảo thực sự có nghĩa gì
Theo mục 10 trong bài báo gốc của Claude Shannon, tính bí mật hoàn hảo nghĩa là việc biết bản mã không làm thay đổi xác suất mà bên quan sát gán cho các thông điệp.
Điều này không đòi hỏi mọi thông điệp đều có xác suất như nhau. Nếu một thông điệp cùng độ dài vốn có khả năng xuất hiện cao hơn, nó vẫn có thể có khả năng cao hơn sau khi bản mã được quan sát. Bản mã không bổ sung bằng chứng mới. Mô hình độ dài cố định thông thường cũng không che giấu thời điểm liên lạc, các bên tham gia hay độ dài thông điệp.
Vì sao tái sử dụng khóa phá vỡ bảo đảm này
Nếu hai thông điệp cùng độ dài dùng chung khóa K, ta có C1 = M1 ⊕ K và C2 = M2 ⊕ K. Kết hợp hai bản mã sẽ triệt tiêu K:
C1 ⊕ C2 = M1 ⊕ M2
Kẻ tấn công biết được mối quan hệ giữa hai thông điệp. Điều đó không tự động làm lộ toàn bộ cả hai bản rõ. Tuy nhiên, một đoạn bản rõ đã biết sẽ làm lộ đoạn khóa tương ứng và phần cùng vị trí trong thông điệp còn lại. Cấu trúc có thể dự đoán cũng giúp kẻ tấn công kiểm tra phỏng đoán.
Những giới hạn thực tế ngoài phương trình
Hai bên phải có sẵn đủ lượng khóa bí mật dùng chung. Họ cần bảo vệ nơi lưu trữ, đồng bộ vị trí đang sử dụng và ngăn các đoạn đã dùng bị áp dụng lại. Lượng khóa cần phân phối tăng theo lượng thông tin được gửi; phép XOR không giải quyết vấn đề đó.
Chỉ riêng khóa one-time pad không bảo đảm tính toàn vẹn hay xác thực người gửi. Thay đổi một bit của bản mã sẽ thay đổi bit tương ứng sau khi giải mã mà không có cảnh báo tích hợp. Chỉ có tính bí mật thì không thể xác định ai đã gửi thông điệp hoặc nội dung có bị sửa đổi hay không.
One-time pad, OTP đăng nhập và liên kết xem một lần
| Thuật ngữ | Mục đích | Ý nghĩa của “một lần” |
|---|---|---|
| One-time pad | Mã hóa nội dung thông điệp | Mỗi phần khóa chỉ dùng cho một lần mã hóa |
| OTP đăng nhập | Xác thực việc sở hữu bộ xác thực | Mã được tạo chỉ được chấp nhận một lần trong thời hạn hiệu lực |
| Liên kết xem một lần | Giới hạn truy cập qua dịch vụ | Chặn các lần mở khóa mới sau một lần mở khóa thành công |
Mục 3.1.4 trong hướng dẫn về bộ xác thực của NIST mô tả OTP đăng nhập được tạo từ giá trị bí mật của bộ xác thực và giá trị thời gian hoặc bộ đếm. Chúng dùng để xác thực, không phải khóa one-time pad để mã hóa thông điệp.
LOCK.PUB nằm ở đâu trong bức tranh này
Ghi chú được bảo vệ bằng mật khẩu của LOCK.PUB cung cấp các biện pháp kiểm soát truy cập. Đây không phải triển khai one-time pad, mã hóa đầu cuối hay mô hình không kiến thức: máy chủ xử lý bản rõ của ghi chú. Liên kết ghi chú thông thường mặc định có thể mở nhiều lần. Nếu chọn chế độ xem một lần, việc hiển thị nội dung thành công bằng đúng mật khẩu sẽ chặn các lần mở khóa mới; điều đó không xóa ngay nội dung đã lưu và không thu hồi tệp tải xuống, ảnh chụp màn hình hay các bản sao khác.
Để chia sẻ thông tin trong thực tế, hãy xem hướng dẫn về ghi chú bí mật. Hướng dẫn mã hóa văn bản trình bày những điểm cần cân nhắc khi bảo vệ văn bản.
Câu hỏi thường gặp
One-time pad có thực sự không thể bị phá không?
Mô hình lý tưởng cung cấp tính bí mật hoàn hảo khi các giả thiết được đáp ứng. Khóa bị lộ, đoạn khóa bị tái sử dụng, thiết bị đầu cuối bị xâm nhập và hành vi sửa đổi nội dung cần được xem xét riêng.
Một giá trị khởi tạo ngắn có tạo được khóa one-time pad đúng nghĩa không?
Một bộ sinh giả ngẫu nhiên an toàn có thể mở rộng giá trị khởi tạo ngắn thành một mặt nạ dài hơn, cung cấp độ an toàn tính toán dưới những giả thiết nhất định. Nhưng đầu ra không phân bố đều trên tất cả các chuỗi bit dài hơn, nên không mang lại tính bí mật hoàn hảo của one-time pad.
“Một lần” có nghĩa là thông điệp sẽ biến mất không?
Với one-time pad, cụm từ đó nói về cách dùng khóa. Với liên kết, nó nói về quyền truy cập. Không cách gọi nào tự nó chứng minh việc xóa nội dung hoặc loại bỏ các bản sao đã được tạo.
Tạo Ghi Chú
Tạo Ghi ChúTừ khóa
Bài viết liên quan
Danh sách hồ sơ khẩn cấp gia đình: mẫu PDF miễn phí để in
Tải miễn phí mẫu hồ sơ khẩn cấp gia đình: ghi người liên hệ, nơi cất giấy tờ và ngày kiểm tra. Có PDF để in và mẫu có thể sao chép, không cần ghi mật khẩu.
Chia sẻ Google Drive không cần tài khoản: đường liên kết hay khách truy cập?
So sánh liên kết xem không cần đăng nhập với lời mời khách Workspace qua mã PIN email. Hướng dẫn quyền truy cập, lỗi đăng nhập và giới hạn của liên kết mật khẩu.
Cách tạo liên kết câu hỏi ẩn danh cho KakaoTalk
Tạo bảng hỏi đáp có mật khẩu, chia sẻ liên kết mời công khai trong nhóm hoặc hồ sơ KakaoTalk, rồi kiểm tra quyền đọc và giới hạn của tính ẩn danh.