我正在尝试开发一款涉及加密的Android应用程序。计划使用AES-CTR模式和Whirlpool的PBKDF2进行密钥拉伸。
我打算实现一个新的Bouncy Castle(密码工具库)实现,而不是Android内置的旧实现,以确保在任何Android版本上都能按预期运行。
但是我遇到了一些问题,无法找到一种可靠的方法来生成盐和密钥的随机数。我曾经看到有人说Android内置的安全随机数在一些旧的Android版本上存在漏洞,并且我也听说大多数Android手机很难保持/dev/random中高熵和常见的块。这难道对/dev/urandom的安全性没有巨大影响吗?因此,我正在寻找利用手机传感器收集更多熵的好方法。