gpt4 book ai didi

algorithm - 是否存在滚动 block 加密算法?

转载 作者:塔克拉玛干 更新时间:2023-11-03 03:38:53 30 4
gpt4 key购买 nike

我正在制作 note taking web app它会在您键入时连续保存笔记。我正在发送差异以防止通过线路发送过多数据,这在注释为纯文本时工作正常。

然而,我添加了对加密笔记的支持,所以笔记只会以加密形式离开浏览器(这样笔记可以包含敏感信息,任何不知道密码的人都没有机会(也永远不会离开浏览器) 阅读它们,即使是对数据库具有完全访问权限的人也不行)。但是,目前对笔记的所有更改都会完全更改加密文本,因此我必须在编辑笔记时每隔一两秒将整个笔记发送回服务器。

根据我最近的阅读,我可以(但不应该)使用 ECB block cipher加密模式,将明文分成16字节的 block 并独立加密。这意味着如果编辑发生在最后(或者如果编辑添加或删除了 16 字节的倍数),diffing 将起作用。但是在笔记中间发生的任何编辑都会影响笔记其余部分的加密文本。

所以,当我昨晚躺在床上时,我开始怀疑是否存在一种“滚动 block ”加密算法,可以根据周围的字符对笔记的每个部分进行加密,以便更改/添加/删除任何一个字符只会改变周围的 16 个字节。希望这是有道理的。基本上,我需要一种加密算法,以便对明文进行微小的更改,从而对加密文本进行相当小的更改。

这样的算法存在吗? (它会是另一种可以与 AES 一起使用的分组密码操作模式,而不是一种全新的算法吗?与更正常的分组密码模式相比,它的安全性如何?)

我最初将其作为一个 JavaScript 问题,因为这是我最终想要的,但这可能要求有点高。

最佳答案

您需要使用像 CFB、OFB 或 CTR 这样的 密码操作模式,而不是像 ECB 或 CBC 这样的 block 密码操作模式。参见 block ciphers modes of operation .您可以将它们与 AES 和 Blowfish 等常见加密算法一起使用。 CTR 等流密码模式通常用于 SSH 等程序,因为您一次输入一个字符。

关于algorithm - 是否存在滚动 block 加密算法?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/6150649/

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