Blake2(1024位状态)置换(压缩函数核)基本上是一种改进的ChaCha置换。修改之一是混合消息位(密钥调度?)。考虑到blake2是一个哈希函数,它旨在抵抗相关消息(相关的密钥攻击?)难道它也不会成为一个好的1024位分组密码吗?
我对由此产生的建筑提出的一些问题是:
用例是加密AD中的AD。使AEAD数据包(大的,不一定是网络)显示为完全随机的比特。AD还将包括包的加密参数以及当前的参数。
发布于 2022-07-19 02:11:25
要回答问题1,我们不知道这是否是一个安全的建筑。仅仅因为哈希函数的压缩函数在用作哈希函数时是安全的,并不意味着它在用作块密码时是安全的。例如,对SHA-1和SHA-2底层的块密码的攻击并不适用于哈希算法本身。
作为理论上可能出现的弱点的一个例子,例如,BLAKE2排列的前半部分被发现是弱的,但是后半部分是独立的,并且与随机没有区别。那么BLAKE2b很可能仍然是安全的,但是作为分组密码的置换可能不会。
为了确定此设计是否安全,您必须对设计进行正常的密码分析,而对ChaCha的密码分析可能不适用,因为在那里置换并不用作分组密码。如果没有充分的研究,我不会推荐这种方法。
一种更有可能是安全的方法(但您也不应该使用它,因为它已经看到了零密码分析)是一个四轮Feistel密码,以键控BLAKE2b作为F 函数。这将产生一个1024位的分组密码,密钥最多255个字节.至少,这种方法可以根据一些关于键控BLAKE2b的假设进行安全性验证,尽管它可能不是特别的性能。
虽然推测这个设计在理论上是有趣的,但我鼓励您使用一种更标准的方法,它已经看到了大量的真实世界密码分析,并且仍然被认为是安全的。
https://crypto.stackexchange.com/questions/101049
复制相似问题