@startuml fig_21_encrypt_flow
!include _gost-theme.inc.puml
scale 3

start
:Пользователь включает шифрование;
:Сформировать EncryptKey;
:Encryptor: шифрование файлов
**storage** (IStorageAccessor);
:storage.setEncInfo → Room
(DbStorageMetaInfo);
:checkKey(ключ);
if (Ключ верный?) then (да)
  :IUnlockManager.open(storage)
виртуальное представление;
  :Доступ к файлам storage;
else (нет)
  :Ошибка, storage не открыт;
endif
stop

@enduml
