9
回答
请问如何用c语言实现blake 512 binary tree hash
利用AWS快速构建适用于生产的无服务器应用程序,免费试用12个月>>>   

blake 512 是sha3的hash function的一种,有存在的c的代码在ebash的网站上,但是我现在遇到的问题是要把这个用tree的方式重新写出来,目前遇到特别的难题,希望有大神可以指教指教

举报
westyan
发帖于6年前 9回/190阅
共有9个答案 最后回答: 6年前
把问题,说具体点。只要是C,OS,算法方面的东西我都感兴趣。虽然数据库也敢兴趣,可惜都是一堆应用问题。不是数据库本身的设计问题。
就是它这个blake本来是一步一步地把输入的信号运行最后产生输出,但是现在就是希望能让输入的信号在同样的compress function的情况下 ,不是一步一步地被运行而是用树来运行,我就是不知道怎么用树来做这个。

OK.至少咱两达成了一个公识,SHA是对数据,一步步,或一批批的运行,最后产生输出。也就是说,这写小块,每次参与一次计算的,比如512个bits,通常对应英语的chunk。每个chunk之间是有严格的序列关系的。而树只有严格的父子关系,兄弟之间是没有有序的问题的。我想请教你,如何用树来描述,基于你不额外增加兄弟的序列关系的前提下。

如果增加了,就不是树了,还是个一维序列。

我自己对这个也感到十分迷茫,而且我从已经存在的256的树的代码中并没有真正地找到树,所以我才写不出。我也不知道怎么可以把树给套进去,你看过ebash上的关于256的代码吗

哦。我是否可以这样理解,你对一堆数据,希望用树装压缩。类似小波一样。由此,你压缩过程中有树的计算顺序的影子,由此,你的SHA需要对应有树的影子。

其实还是两会是。你可以做你的压缩,用树的遍例方法无所谓。只不过每次遍例一个结点后,进行SHA的处理而已。通常压缩能用到树的计算顺序,会使得如果你的树有N个深度,则所有压缩数据会扫描N遍。这是我的理解。如同你对数据在不同尺度下,做频域变换一样。

--- 共有 1 条评论 ---
westyan虽然还是不怎么懂具体要怎么操作,但是还是谢谢了啊 6年前 回复
顶部