
Giải thích mã hóa AES-256: ý nghĩa với ảnh của bạn
Ứng dụng kho nào cũng ghi AES-256, và phần đó gần như không bao giờ hỏng. Đây là những điều nên hỏi thay thế.
Hidlet là ứng dụng cho iPhone
Hướng camera iPhone vào mã để cài đặt. Không cần tài khoản.
hoặc gửi liên kết cho tôiAES-256 là thuật toán mã hóa tiêu chuẩn của chính phủ Mỹ, dùng khóa 256 bit, và không ai bẻ được nó bằng cách đoán khóa. Vì vậy khi một kho ảnh ghi “AES-256”, những câu hỏi thật sự nằm ở chỗ khác. Khóa đến từ đâu? Mật khẩu hay hình mở khóa phía sau mạnh đến mức nào? Ai khác giữ bản sao? Và có bản sao trên đám mây được mã hóa theo cách khác không?
Bạn đang so sánh các ứng dụng kho ảnh, và danh sách nào cũng nói cùng một điều: AES-256, cấp ngân hàng, cấp quân sự. Nếu tất cả đều dùng cùng một mã hóa thì chúng phải an toàn như nhau. Nhưng không phải vậy, và lý do là “AES-256” gọi tên đúng phần duy nhất của hệ thống gần như không bao giờ hỏng.
Bài này giải thích bằng lời đơn giản AES-256 là gì, kho biến mật khẩu của bạn thành khóa như thế nào, vì sao bước đó quan trọng hơn thuật toán, và năm câu hỏi cho bạn biết nhiều hơn nhãn dán.
AES-256 là gì
AES, Chuẩn mã hóa nâng cao, là một thuật toán do NIST, cơ quan tiêu chuẩn của Mỹ, công bố với tên FIPS 197. Nó nhận dữ liệu của bạn theo khối 128 bit và xáo trộn từng khối bằng một khóa bí mật, để chỉ người có cùng khóa mới giải xáo trộn được.
Con số là kích thước khóa. AES có ba loại:
| Phiên bản | Kích thước khóa | Số vòng xáo trộn | Độ mạnh bảo mật theo NIST |
|---|---|---|---|
| AES-128 | 128 bit | 10 | 128 bit |
| AES-192 | 192 bit | 12 | 192 bit |
| AES-256 | 256 bit | 14 | 256 bit |
Khóa 256 bit có 2²⁵⁶ giá trị khả dĩ, một số có 78 chữ số. Thử hết chúng không phải chuyện máy tính nhanh hơn; đó hoàn toàn không phải là một cuộc tấn công thực tế. Hướng dẫn quản lý khóa của NIST xếp AES-256 ở mức an toàn 256 bit, và báo cáo hậu lượng tử năm 2026 của họ xếp AES-256 vào hạng bảo mật lượng tử cao nhất, nói rằng họ không kỳ vọng sẽ cần chuyển khỏi các chuẩn đối xứng như AES.
Vậy thuật toán là an toàn. Mọi điều thú vị đều xảy ra xung quanh nó.
Chế độ: nó có phát hiện được sự can thiệp không?
Một mình AES chỉ xáo trộn một khối. Để mã hóa cả một bức ảnh, ứng dụng chạy nó trong một chế độ, và chế độ quyết định bạn còn nhận được gì thêm.
GCM (chế độ Galois/Counter) là lựa chọn phổ biến cho tệp. NIST mô tả đây là mã hóa có xác thực: ngoài việc giữ bí mật dữ liệu, nó còn phát hiện được cả thay đổi vô tình lẫn cố ý. Nếu ai đó sửa một ảnh đã mã hóa, ứng dụng biết thay vì hiển thị một tệp hỏng.
GCM có một quy tắc cứng. Mỗi lần mã hóa cần một giá trị mới gọi là nonce (NIST gọi là IV), và NIST cảnh báo rằng nếu một giá trị bị lặp lại với cùng một khóa, lớp bảo vệ có thể gần như sụp đổ hoàn toàn. NIST gọi quy tắc này gần như quan trọng ngang với việc giữ bí mật khóa. Một kho ghi “AES-256-GCM” đang cho bạn biết điều hữu ích; kho chỉ ghi “AES-256” thì không nói nó dùng chế độ nào.
Khóa: nó đến từ đâu?
Đây là câu hỏi quyết định kho thật sự an toàn đến đâu.
Không ai gõ một khóa 256 bit. Bạn nhập mã PIN, mật khẩu hoặc vẽ một hình mở khóa, và ứng dụng biến nó thành khóa. Hướng dẫn của NIST về khóa dựa trên mật khẩu nói rõ vấn đề: mật khẩu có entropy thấp, nên không phù hợp để dùng trực tiếp làm khóa. Và nếu ai đó sao chép các tệp đã mã hóa, họ có thể đoán ngoại tuyến, trên phần cứng do họ chọn, nên độ mạnh của mật khẩu là then chốt.
Hai công cụ khiến việc đoán khó hơn:
- Muối (salt). Một giá trị ngẫu nhiên trộn vào, để mỗi kho phải bị tấn công riêng. NIST nói nó nên dài ít nhất 128 bit.
- Rất nhiều vòng lặp. Mật khẩu được chạy qua một hàm như PBKDF2 (định nghĩa trong RFC 8018) hàng nghìn hoặc hàng triệu lần, nên mỗi lần đoán tốn của kẻ tấn công chừng đó công sức. Hướng dẫn năm 2010 của NIST nói số vòng lặp nên lớn nhất có thể trong thực tế, khuyến nghị ít nhất 1.000, và nói 10.000.000 có thể phù hợp với các khóa đặc biệt quan trọng.
Nhưng số vòng nào cũng không cứu được một mã ngắn. Mã PIN 4 chữ số có 10.000 khả năng. Dù mỗi lần đoán chậm, đó vẫn là một danh sách nhỏ. Hướng dẫn quản lý khóa của NIST nêu nguyên tắc chung: độ mạnh của khóa tụt xuống bằng quy trình yếu nhất bảo vệ nó. Một khóa 256 bit tạo từ mã PIN 4 chữ số, trên thực tế, chính là mã PIN 4 chữ số.
iPhone của bạn xử lý việc này tốt hơn bất kỳ ứng dụng nào tự làm được. Apple cho biết mật mã được gắn với một khóa phần cứng bên trong thiết bị, nên việc đoán phải thực hiện trên chính chiếc iPhone đó, khoảng 80 mili giây mỗi lần, với độ trễ do Secure Enclave áp đặt. Điện thoại cũng mã hóa các tệp bạn lưu: Apple cho biết mỗi tệp có một khóa 256 bit mới riêng, và trên thiết bị A14 đến A18 và M1 trở lên, mã hóa là AES-256 ở chế độ XTS (các mẫu A9–A13 dùng AES-128). Album Bị ẩn trên iPhone có được mã hóa không? giải thích điều đó bao gồm những gì.
Những hiểu lầm phổ biến
“Cấp quân sự” nghĩa là có thêm gì đó. Chúng tôi không tìm thấy tổ chức tiêu chuẩn nào định nghĩa nó. Đó là cụm từ tiếp thị, thường dành cho AES-256 bình thường. RFC 9151, một hồ sơ do NSA viết cho bộ CNSA của họ dành cho hệ thống an ninh quốc gia, liệt kê AES với khóa 256 bit ở chế độ GCM, đúng thứ mà nhiều ứng dụng thông thường đang dùng.
“AES-256” nghĩa là công ty không xem được ảnh của tôi. Không phải chỉ riêng nó. Mã hóa chỉ ngăn những ai không có khóa. Nếu công ty giữ khóa, họ giải mã được. Apple công khai về điều này với iCloud: với bảo vệ tiêu chuẩn, Apple giữ khóa của phần lớn dữ liệu, kể cả Ảnh, và có thể giải mã thay bạn; với Bảo vệ dữ liệu nâng cao, chỉ các thiết bị đáng tin cậy của bạn giữ khóa của phần lớn dữ liệu iCloud. Apple có xem được ảnh bạn đã ẩn không? có chi tiết.
“Mã hóa trên điện thoại” nghĩa là mã hóa trên đám mây. Hãy kiểm tra bản sao lưu riêng. Một kho có thể mã hóa tệp cẩn thận trên iPhone rồi sao lưu đến nơi chúng được mã hóa bằng một khóa do công ty giữ.
Lớn hơn thì luôn tốt hơn. AES-128 cũng vượt xa khả năng bị đoán. Khác biệt giữa 128 và 256 bit quan trọng ít hơn nhiều so với khác biệt giữa mã PIN 4 chữ số và một cụm mật khẩu dài.
Năm câu hỏi nên hỏi thay thế
- Chế độ nào? AES-256-GCM, hoặc một chế độ có xác thực khác, cho bạn biết tệp không thể bị sửa mà ứng dụng không nhận ra.
- Cái gì tạo ra khóa? Mật khẩu, mã PIN, hình mở khóa? Nó có thể dài bao nhiêu, và ứng dụng có làm chậm việc đoán không?
- Ai khác giữ khóa? Nếu có đặt lại mật khẩu qua email thì có người khác ngoài bạn vào được.
- Bản sao trên đám mây thì sao? Nó có được mã hóa trên điện thoại trước, bằng khóa mà công ty không bao giờ thấy không?
- Nó bảo vệ trước ai? Người lạ sao chép tệp, người mượn điện thoại đang mở khóa của bạn, và người biết mật mã của bạn là ba vấn đề khác nhau.
Về câu hỏi cuối, xem Khóa hình vẽ, mã PIN và Face ID: cái nào bảo vệ ảnh.
Hidlet trả lời chúng ra sao
Hidlet mã hóa mọi ảnh, video, tên tệp và hình thu nhỏ bằng AES-256-GCM trên iPhone của bạn trước khi lưu. Mỗi kho có khóa ngẫu nhiên riêng, và hình mở khóa bạn vẽ trên lưới 5×5 là thứ mở nó. Hình đó không bao giờ được lưu: Hidlet chạy nó qua PBKDF2-HMAC-SHA512 600.000 lần, trộn với một bí mật ngẫu nhiên giữ trong Chuỗi khóa của bạn, tách khỏi bản sao lưu. Người chỉ có bản sao của bản sao lưu không thể bắt đầu đoán nếu thiếu bí mật đó. Hình sai làm tăng thời gian chờ, tối đa 15 phút mỗi lần.
Không ai khác giữ bản sao của các khóa đó, kể cả chúng tôi. Bản sao lưu mã hóa tùy chọn đi vào iCloud của chính bạn, được mã hóa trên điện thoại trước.
Những gì nó không làm được: một hình ngắn, đơn giản dễ đoán hơn hình dài, và nếu ai đó ép bạn mở một kho thì mã hóa không giúp được gì. Đó là việc của kho khi bị ép buộc trong Pro. Hidlet có trên App Store.
Câu hỏi thường gặp
AES-256 có thể bị bẻ khóa không?
Không phải bằng cách đoán khóa. NIST xếp AES-256 ở mức an toàn 256 bit, và báo cáo của họ về thời kỳ hậu lượng tử xếp nó vào hạng bảo mật cao nhất trong năm hạng, không kỳ vọng sẽ cần chuyển khỏi nó. Các cuộc tấn công nhắm vào mật khẩu, thiết bị hoặc cách xử lý khóa.
AES-256 có an toàn trước máy tính lượng tử không?
NIST nói các chuẩn đối xứng như AES ít bị máy tính lượng tử đe dọa hơn và họ không kỳ vọng sẽ cần chuyển khỏi chúng. Báo cáo năm 2026 của NIST xếp AES-256 vào hạng bảo mật lượng tử cao nhất.
“Mã hóa cấp quân sự” nghĩa là gì?
Không có nghĩa chính thức. Chúng tôi không tìm thấy tổ chức tiêu chuẩn nào định nghĩa nó. Thường nó chỉ có nghĩa là AES-256. Bộ thuật toán của NSA dành cho hệ thống an ninh quốc gia cũng liệt kê AES với khóa 256 bit ở chế độ GCM.
iPhone của tôi đã dùng AES-256 chưa?
Apple cho biết mỗi tệp bạn lưu có một khóa 256 bit mới riêng, và trên thiết bị A14 đến A18 và M1 trở lên, mã hóa là AES-256 ở chế độ XTS (các mẫu cũ hơn A9–A13 dùng AES-128 ở chế độ XTS). Điều đó áp dụng cho toàn bộ thư viện ảnh của bạn, không chỉ một album.
Nguồn
- NIST FIPS 197 — Chuẩn mã hóa nâng cao (AES)
- NIST SP 800-38D — Chế độ Galois/Counter (GCM)
- NIST SP 800-132 — Khuyến nghị về tạo khóa từ mật khẩu
- NIST SP 800-57 Part 1 Rev. 5 — Khuyến nghị về quản lý khóa
- NIST IR 8547 — Chuyển sang các chuẩn mật mã hậu lượng tử
- RFC 8018 — Đặc tả mật mã dựa trên mật khẩu PKCS #5 v2.1
- RFC 9151 — Hồ sơ bộ thuật toán CNSA cho TLS và DTLS
- Apple Platform Security — Tổng quan về bảo vệ dữ liệu
- Apple Platform Security — Mật mã và mật khẩu
- Apple Support — Tổng quan về bảo mật dữ liệu iCloud