有哪些方法可以对基于 256 位密钥的矩阵进行加扰?
What are some ways to scramble a matrix based on a 256 bit key?
希望构建一种算法,该算法将基于256位密钥对矩阵进行加扰。 给定两个 m*n 矩阵 A 和 B 以及键 K,我希望 A 和 B 以相同的方式被打乱。 所以非正式地,如果 A==B,scramble(A,K(==scramble(B,K(。
我试图做的事情似乎与加密有相似之处,但我完全不熟悉这个领域。 我觉得我必须从加密算法中利用一些东西来使这个过程快速和计算效率。
澄清一下,加扰的主要目的是混淆矩阵内容,同时仍然允许进行比较。
听起来您可能需要加密哈希。将矩阵/图像馈送到一个中会为其生成(几乎(唯一的哈希值。此哈希值很方便,因为它的大小是恒定的,通常比源数据小得多。实际上不可能从哈希值返回到原始数据,并且再次对相同的图像数据进行哈希处理会产生相同的哈希值。
如果要在其中添加密钥,可以连接图像数据和密钥,并在此基础上计算哈希。使用相同的数据和密钥,您将收到相同的哈希值,如果您更改其中任何一个,哈希值也会更改。
(几乎是独一无二的:根据鸽子洞原则,将大输入转换为较小的哈希值,必须有多个输入生成相同的哈希值。在实践中,这很少是一个问题(
相关文章:
- SSH通过/sbin/SSH无法读取RSA密钥文件(从控制台运行)
- 允许从 std::map 的密钥窃取资源?
- TMap::Emplace() 在应用现有密钥时会覆盖吗?
- 在没有密钥的情况下读取密文的剩余噪声预算
- 如何修复无效的API密钥,IP或操作权限错误?
- 所有可能的链接生成器与64位密钥
- 如何在unordered_map中更改密钥?
- 获取当前密钥状态?
- curl_easy_perform() 失败:SSL 对等证书或 SSH 远程密钥不正常
- 将密钥发送到非前台的游戏窗口
- 有哪些方法可以对基于 256 位密钥的矩阵进行加扰?
- 如何在精灵表上的两个不同部分之间来回切换,同时用户仍使用 SFML 持有密钥
- 如何将CNG密钥转换为OpenSSL EVP_PKEY(反之亦然)?
- 运行密钥密码解密知道密钥?
- 从std::map值中获取密钥的有效方法
- 在用户计算机上存储密钥的推荐方法
- 有没有任何方法可以从C++中的char中获取虚拟密钥代码
- CM_Get_DevNode_Property_Keys是否有获取密钥名称的方法
- 检查unordered_maps unordered_map是否包含密钥的最简单方法
- 为什么 Map[2] 更新了错误的密钥数据?这是这样做的正确方法吗?