ИМХО основное требование тут это возможность на коленке произвести нужные операции)
"Коленка" - это желательно, но не обязательно. Если пароль нужен для входа на какой-то сервер в интернете, то очевидно, что у пользователя есть компьютер или смартфон, на котором можно выполнить сложный код.
А вот для входа в учётку операционной системы понадобится или "коленка", или стойкий против перебора пароль, который таки придётся запоминать, или наличие телефона, на котором сложный код можно будет выполнить.