gpt4 book ai didi

安卓应用程序 : DES or RSA?

转载 作者:行者123 更新时间:2023-11-29 14:45:16 27 4
gpt4 key购买 nike

我创建了一个 Android 应用程序,它从安装在智能手机上的传感器读取数据,并将这些数据以 JSON 格式发送到应用程序服务器。

我将服务器和 Android 应用程序配置为通过 https 协议(protocol)工作并通过相互认证(由自签名证书组成)来验证自己。

现在,我被要求在 Android 应用程序中添加客户端和服务器启动身份验证过程之前的加密。

在这方面,我想从资源消耗的角度了解 DES 和 AES 之间最好的算法是什么。

我在网上找不到任何东西。您能否将我重定向到一些我可以进一步了解此论点的资源?

最佳答案

DES 在对称加密的几乎所有合法用途中都已被弃用(它已过时且容易被暴力破解)。 AES( block 大小为 128 位的 Rijndael)是标准的对称加密解决方案,而 Blowfish、Twofish、RC4(也不建议)和 3DES/TDES 是其他选项。 AES 得到普遍支持,在这种情况下将是您的最佳解决方案。 Android通过原生支持AES加密Java JCA (formerly JCE)图书馆以及SpongyCastle -- 为 Android 设计的 BouncyCaSTLe 的修改版本)。

如果您需要更实质性的东西来支持这一点,这里有很多资源:

您应该使用从 CSPRNG 生成的强(128 或 256 位) key (或通过 PBKDF2、bcrypt 或具有高工作因子/迭代的 scrypt 安全地派生自强密码),一个独特且不可预测的 IV每次加密操作,以及(最好)经过身份验证的关联数据加密 (AEAD) cipher block mode of operation例如 GCM 或 EAX,或者失败时,基于 HMAC 的消息身份验证代码 (MAC) 在密文上 并在 执行任何操作之前通过恒定时间相等性检查对其进行验证解密。

关于安卓应用程序 : DES or RSA?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/41453800/

27 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com