gpt4 book ai didi

algorithm - 关于保护/加密代码的建议

转载 作者:塔克拉玛干 更新时间:2023-11-03 06:33:27 25 4
gpt4 key购买 nike


我正在开发一个应用程序,它一方面会生成一个代码,其中包含有关购买的某些信息,其中包括信用信息。例如,您可以在网吧的公共(public) PC 上购买给定的分钟数,然后您会收到一张带有该分钟数的数字/代码的票,然后由 PC 阻止软件进行解码和处理。公用电脑。
该信息的全长(包括购买日期、ID 等)大约为 12 个字节。显然,我需要保护这些数据,就像我需要使其不可更改一样。我没有密码学方面的经验,但最近几天阅读了很多东西,所以我想出了一个方案,在该方案中,我在 CFB 模式下使用 Twofish 加密数据(以保持密文较小),并添加 4 个字节长 IV,随机生成。我意识到这是一个短 IV,但其背后的原因是攻击者应该获取明显荒谬的票数才能成为 IV 为 65535 变体的线程。
我看到的问题(更不用说我想念的问题了)是我还需要验证代码,因为在 CFB 模式下,密文的微小变化只会导致明文的微小变化,因此任何人都可以改变,例如,只需将 A 换成 B 即可获得机票的积分。
因此,第一个问题是:将明文的 CRC16 用作 IV,并将其(未加密)添加到加密代码中以将其同时用于身份验证和 IV,是否存在任何明显的问题?我再说一遍,我不是密码学专业的,但是把一些关于未加密的明文信息和密文放在一起“感觉”很奇怪。但这只是直觉。
或者,我应该使用流密码吗?哪一个可以从密文的微小变化中对明文进行大的改变(/弄乱)。这与密码操作模式中的错误传播属性有关吗?

有指导吗?
非常感谢。
顺便说一下,如果这很重要,我会在 PHP 上使用 mcrypt。

我必须补充一点,应用程序的另一端,即读取票证的那端,不(也不可能)在线。抱歉,您的疏忽。

最佳答案

听起来您正在寻找的是 HMAC或者,如果您无法保护客户端 PC,则使用数字签名,而不是加密。

关于algorithm - 关于保护/加密代码的建议,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/9438424/

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