解密随机数据(到密码)


Decrypt random data (to password)

想象一下一个基于web的密码管理器。它使用浏览器内javascript和对称加密算法,从服务器加密密码,从用户主密码来获得特定站点的密码。

服务器不应该知道主密码,也不应该知道特定站点的密码,只应该知道加密的表单。如果用户使用了不正确的主密码,那么他/她得到的是不正确的特定站点密码,则不可能进行验证。

问题:由于javascript没有很好的随机性,因此应该在服务器端生成密码。由于服务器一定不知道特定站点密码,我认为可以生成特定站点密码的随机加密形式,如果客户端用他/她的主密码对其进行解码,那么特定站点密码才会存在。

有没有一种算法可以从任何随机数据/主密码组合中解密一个像样的密码?关于如何实施这样的事情有什么想法吗?

随机数据块的"平原"对称解密将产生另一个具有看似随机数据的数据块。所以,是的,你基本上让服务器为你提供一些随机序列,然后你将其转换为另一个随机序列。

然而,这样的方案并不安全,不会受到客户端javascript的各种攻击。