Thay vì lưu trữ dữ liệu người dùng khi tương tác với một ứng dụng, tôi đang lưu trữ SHA3-256 của dữ liệu.Điều này là do lưu trữ dữ liệu trong môi trường cụ thể này là rất hạn chế.
Dữ liệu có thể là một số biến, ví dụ: a, b và c, nhưng thay vì lưu chúng riêng lẻ, tôi lưu hàm băm của phép nối: SHA3(a,b,c).
Khi người dùng muốn tương tác với hệ thống, họ phải gửi lại các biến và hệ thống sẽ so sánh hàm băm của các biến được tổng hợp với hàm băm được lưu trữ. Nếu chúng khớp nhau, hệ thống sẽ giả định rằng các biến giống như được tổng kết ban đầu. Vì vậy, cuối cùng tôi chỉ lưu một biến thay vì 3 trong ví dụ này.
Dữ liệu được công khai nên mọi người đều biết. Câu hỏi tôi có là nếu có vấn đề bảo mật bằng cách băm nối các biến (điều này có giúp người dùng dễ dàng tìm thấy xung đột không). Có sự khác biệt nào không nếu thay vào đó tôi băm mọi biến và sau đó băm nối các giá trị băm?
Để giải thích những điều trên, lý do tôi nghĩ rằng điều này có thể giúp người dùng dễ dàng tìm thấy các xung đột là a, b và c thuộc các loại khác nhau và có các giá trị tối thiểu và tối đa; chẳng hạn, nếu c chỉ có thể có các giá trị trong khoảng từ 10 đến 1000, người dùng chỉ cần thử tất cả các giá trị có thể có của C để kiểm tra xung đột may mắn mà không cần nỗ lực nhiều. Đây có phải là một mối quan tâm hợp lý?
Lưu ý rằng ai gửi dữ liệu không quan trọng, chỉ là dữ liệu được tổng hợp hoàn toàn giống với dữ liệu được tổng hợp trước đó.