有没有一种方法可以将登录身份验证替换为密码算法?

有没有一种方法可以将登录身份验证替换为密码算法?我想为每个用户实现不同的算法。传递算法的思想是,用户看到一些信息并从心智上计算出一个字符串,然后他输入该字符串进行验证。这样,每次用户登录时登录都将需要一个不同的字符串,就像使用RSA设备一样。这种方法可以防止密码破解。

我正在运行Ubuntu 18.04,并计划在该点发布可用时升级到20.04。

如有必要,我可以采用两部分身份验证,第二种身份验证则使用通过算法。我可以使用PAM吗?如果是这样,那么有关如何执行文档的任何指示?谢谢!