Кажется я придумал, правда есть избыточность.
Итак:
1. У каждого пользователя на основе его пароля(ЗК) генерируется открытый ключ
2. У группы менеджеров на основе мастер-пароля(ЗК) также генерируется открытый ключ
3. Пользователь шифрует данные своим и менежерским открытым ключом. Оба варианта сохраняются в базу
4. Теперь когда пользователю надо прочитать данные — он вводит свой пароль(ЗК) и дешифрует свою половину.
5. Также и менеджер вводит свой мастер-пароль(ЗК) и дешифрует свою половину.
6. Ну и менеджер изменяя данные шифрует их своим и пользовательским открытым ключом.
Ничего не упустил? Не упадет ли криптостойкость из-за дублирования данных зашифрованных двумя открытыми ключами?