1. Теория.
Не буду расписывать подробео про то, зачем это вообще нужно, ознакомиться с данной темой можно на
Википедии (менее понятно) или на
Хабре (более понятно).
Общая идея такая:
На диске хранится зашифрованный контейнер с информацией, но контейнер не простой, а с "двойным дном" (несколько паролей = несколько контейнеров под видом одного).
- Если какие-либо лица обнаруживают контейнер и пытается вынудить владельца сообщить пароль, владелец сообщает "НЕ ТОТ" пароль, который "подходит" к контейнеру,
и данным лицам открывается доступ к "безобидным" малоценным данным. По их мнению, шифр разгадан, больше здесь ничего не выкопать, разве что, анализировать то, что они получили.
- Когда пользователю нужно получить доступ к своей информации, он вводит "ТОТ" пароль и открывает контейнер "правильно".
Желательно, чтобы объем "более секретных" данных был очень мал по сравнению с объемом контейнера, чтобы не вызывать подозрений, что "здесь хранится что-то еще кроме того, что мы видим".
2. Реализация.
Большинство проектов, работающих в данном направлении либо более не поддерживаются (StegFS, TrueCrypt, FreeOTFE), некоторые активно развиваются, но исходный код закрыт (BestCrypt, BitLocker).
Отдельно стоит отметить VeraCrypt.
**Написать про отсутствие отрицаемого шифрования в Linux Cryptsetup LUKS и про проект Cryptsetup DeLUKS (Deniable LUKS), поддерживающий его