Hôm nay tôi trình bày bằng chứng thực nghiệm về một điểm yếu thống kê có thể tái tạo trong SHA3-512, tiêu chuẩn toàn cầu về mã hóa băm được NIST thông qua vào năm 2015. Sau sáu loạt kiểm tra nghiêm ngặt, tôi xác nhận rằng lỗ hổng này là THỰC, KHÔNG phải là lỗi triển khai, và ảnh hưởng đến cả thư viện tiêu chuẩn của Python cũng như OpenSSL.
Phát hiện
Khi SHA3-512 xử lý các đầu vào với các khối có cấu trúc cao và lặp lại, sự phân phối byte trong đầu ra của nó thể hiện một thiên lệch thống kê cực kỳ nghiêm trọng. Sử dụng bài kiểm tra chi-bình phương với 5.000 mẫu, dữ liệu ngẫu nhiên tạo ra Chi²=295 (phân phối đồng nhất dự kiến), trong khi các mẫu lặp lại tạo ra Chi²=4.414—14,9 lần vượt quá ngưỡng quan trọng. Thiên lệch này không chỉ ảnh hưởng đến byte đầu tiên của đầu ra, mà còn lan tỏa qua TẤT CẢ 64 byte của hash, đạt giá trị Chi²=5.700 ở các vị trí cuối.
Xác thực nghiêm ngặt
Độ tái lập là hoàn hảo: năm lần thực hiện độc lập tạo ra Chi²=4,414.1 chính xác, với độ lệch chuẩn là 0.0 và hệ số biến thiên là 0.00%. Điều này là không thể về mặt thống kê với tiếng ồn ngẫu nhiên. So sánh giữa hashlib của Python và OpenSSL cho kết quả giống hệt nhau (Chi²=892.4), loại bỏ lỗi thực thi. Các vector chính thức NIST đã vượt qua đúng, xác nhận rằng việc thực thi là hợp lệ—vấn đề nằm ở thiết kế cơ bản của phép hoán vị Keccak.
Bối cảnh khoa học
Mặc dù cộng đồng học thuật đã biết từ năm 2015 (bài báo "Malicious Keccak") rằng có sự đối xứng lý thuyết trong phép hoán vị Keccak, không có công bố nào tài liệu hóa việc cụ thể này cũng như mức độ thiên lệch có thể đo được. Các phân tích trước đây tập trung vào các cuộc tấn công xoay vòng và khác biệt bên trong, nhưng không vào lỗ hổng thống kê thực tiễn trước các mẫu đầu vào phổ biến trong các hệ thống thực tế.
AION Keccak-SVR: Giải pháp
Việc thực hiện #AIONICA của tôi bao gồm các sửa đổi cụ thể làm phá vỡ sự đối xứng bên trong của Keccak. Dưới cùng một điều kiện thử nghiệm mà SHA3-512 tạo ra Chi²=4,414, AION sản xuất Chi²=261—nhỏ hơn 17 lần và nằm trong ngưỡng đồng nhất thống kê. Điều này đạt được thông qua việc tiêm bộ đếm khối và các biến đổi bổ sung làm đa dạng hóa trạng thái bên trong trước khi thực hiện XOR hấp thụ.





.