Eya*_*yal 4 hardware encryption cryptography
我需要一个非常非常快速的一对一算法.该算法不需要是牢不可破的.合理的强度足够但它必须闪电般快速.我将在硬件中实现它.区域也是一个问题,所以它不应该使用太多的逻辑.
它应该是一个函数f_N(x),其输入是一个N位数,其输出是一个N位数.N是常数,可能在20-70之间.该功能必须是一对一的.(即可逆,意味着解密是可能的.解密速度无关紧要.)
我需要在3ns以下加密,每秒大约333M输入.例如,DES每秒大约需要50Mbits.我每秒需要333M 输入.
到目前为止,我已经使用了大约6轮的Feistel密码.这似乎需要大约3ns.
建议?
更多笔记
有一些问题所以我会解释.我需要将密钥放入哈希表.标准方法是对输入键进行哈希处理,并将结果用作表的索引.表中的每一行都必须存储原始密钥. 信息理论告诉我们,表中的行实际上并不需要一样宽的输入键,而是宽的输入键少的位数在表的地址.例如:
在CPU上整数通常是相同的宽度是愚蠢的,但我在硬件中这样做.
x%128是一个易于破解的哈希.实际上,如果输入键仅在前几位中有所不同,那么您将在意外时打破哈希.我想要一个不会在事故中被打破的哈希,甚至可能难以故意破坏.我也试过LFSR.LFSR很快但两个相等长度的LFSR生成线性相关的哈希结果.(如果f(x)和g(x)给出两个不同多项式的相同散列,则f(x + 1)和g(x + 1)很容易相关.)
因此,我需要一个具有N位输入和V位,H位输出(V + H = N)的函数,其中很难找到两个长度为N的输入,这样两者都将输出相同的H.加密适合于因为它使输出留下与输入相同的长度,并且很难反转.加密以外的东西也可能有用,虽然看起来我想要的几乎就是加密的定义.
很抱歉没有解释所有这些.希望这能澄清事情.
我想知道你是否不关心加密的强度,那么也许你根本不需要加密.在大多数的加密算法的重要组成部分,是它的力量.如果加密很弱,那么首先加密就没有任何好处.
| 归档时间: |
|
| 查看次数: |
2131 次 |
| 最近记录: |