Piszę aplikację na Androida, która ma na celu szyfrowanie i odszyfrowywanie plików przy użyciu AES 256. Używam trybu AES-CBC i PBKDF2 do wyprowadzania klucza AES z wprowadzonego przez użytkownika hasła. Ponadto generuję bezpieczną, pseudolosową sól dla każdego klucza szyfrowania pliku. Przechowuję IV i sól w zaszyfrowanym pliku, więc mogę ponownie je odczytać i później zregenerować klucz, aby móc odszyfrować plik.Czy przechowywanie soli wraz z szyfrowanym zabezpieczeniem przerwania pliku?
Moje pytanie: Czy przechowywanie soli wraz z zaszyfrowanym plikiem powoduje zerwanie zabezpieczenia i jakiekolwiek znaczenie samej soli? Czy atakujący nie zna soli, a IV nie atakuje zaszyfrowanych plików w trybie offline, aby znaleźć klucz szyfrujący?
Ale co jeśli atakujący zbuduje tęczowy stół z ważną solą, którą będzie mógł odczytać z pliku w postaci zwykłego tekstu? –
@AlexAmiryan Budowanie stołu tęczowego jest co najmniej tak kosztowne, jak brutalny atak. Więc jeśli nie możesz ponownie wykorzystać tabeli (i to właśnie sole zapobiegają), nie ma sensu budować stołu. Po prostu wykonaj bezpośredni atak. – CodesInChaos