基于新密码算法的高速哈希
不幸的是,数学家不熟悉编程的复杂性,他们发明了一些东西,然后程序员必须在程序代码中实现这一点。 有效地实现其算法并非总是可行的。
这在最近的俄罗斯对称加密,Striborg和Grasshopper中尤其明显。无法在x86 / 64程序代码中有效地实现这些算法,需要专用的加密处理器。
我们做相反的事情,看看会发生什么。
知道现代x86 / 64处理器工作原理的程序员将开发最有效的对称加密算法,并让数学家像过去那样做他们的主要工作-对所得解决方案进行加密分析。
记住“最好是善的敌人”,我们以“善”为基础-GOST 28147-89。 然后,根据“请勿伤害”的医学原则,我们将使用多线程计算方法来努力做到这一点。
已经完成以下工作:
- 密钥大小增加到256个字节。
- 将数据块大小增加到256个字节。
- 替换操作被置换操作替换。
- 在循环移位中,实现反转位组的操作。
- 密钥输入以比特排列的形式进行。
- Feistel网络被修改为八个网段的环形网络。
- 使用带反馈的游戏模式,两次遍历加密数据。
- 通过不同的排列进行遍历,并使用相同的键对它们进行环移位。
- 加密之前,使用压缩程序从加密文本中删除冗余。
测试实施
该算法已实现,首先要测试的是生成伪随机序列(压缩器已关闭)时的统计参数,如下所示:

这是新加密转换的典型NIST测试结果。 任何随机键和初始种群的测试结果始终适合随机序列的统计参数。
在实验中,针对块大小为256字节的分组密码,针对8字节分组密码的规范获得的统计参数非常理想。
例如,掷一枚硬币12次并等量滴落“鹰”和“坚果”,这要求掷出的模具也要掷12次,请确保两次落在每个面上两次是一样的...
从理论上讲,这仅在相邻块之间具有非常高的差分熵时才是可能的,并且表征了块密码的复杂度。
这些伽玛参数在一轮转换中获得。 该算法具有特殊性-游戏速度取决于RAM和缓存的性能,而不取决于处理器速度。
俄罗斯轮盘,2018及其应用
近来,密码算法已经开始收到诸如“岩浆”,“蚱hopper”,“斯特里博格”之类的son称号,我们将继续这种传统。
我们将这种分组密码简称
为 “俄罗斯轮盘赌”或
RU2 ,以纪念第一个纯俄罗斯随机二进制序列生成器-旋转转鼓...
好吧,此外,加密转换基于二进制序列的旋转(环移位)。 在这一轮中只有
192个明确的班次。
因此,与左轮手枪鼓的直接类比是显而易见的。
以前,在XMM / YMM寄存器上实现GOST 28147-89的并行实现方法时,由于它已通过官方FSB认证,因此我必须对其进行完整描述。
现在情况有所不同,没有任何官僚作风。 因此,将不对“俄罗斯轮盘赌”算法进行详细描述,它是一种版权保护。 简而言之,“俄罗斯轮盘赌”算法将是迄今为止专有的,因此其完整名称将为“
俄罗斯轮盘赌”(2018年)或简称
RU2 。
当然,由于对加密的强度不信任,因此尚未进行研究的加密算法是胡说八道。
但是没有什么可以阻止使用
RU2算法将加密的文本转换为满足伪
随机性要求的序列。
然后,可以使用众所周知的“可靠”算法对生成的伪随机序列进行加密,实际上,已构建了所有严肃的密码系统。
同时,Russian Roulette用于高速散列,且散列函数的结果的大小不受限制。 这对于备份和完整性任务很重要。
如果对加密数据进行第二次传递,则反馈标准伽玛将转换为哈希函数。 这就是
RU2算法最初的实现方式。
显然,由于运算速度慢,尽管它具有更可靠的卷积参数,但反馈双伽马以前尚未被视为哈希函数实现的变体。 这主要适用于雪崩效应,它不仅作用于后续的回旋,而且作用于先前的回旋。
此外,通过统计测试可靠地检查了所获得的哈希函数的特征,因为作为可靠的伪随机伽马的所有接收到的密文都变为哈希。
从这个色域中,可以剪切任意部分以存储哈希函数的值。 现在使用的是1024字节的块,它比最“先进”的SHA3-512标准中的64字节的块要可靠得多。
RU2哈希保护数据免受查看/修改,但是直到密码学家确信该算法的鲁棒性之前,我们将其视为数据的密码保护以限制访问。
RU2的实际实施
HDD和SDD驱动器的鉴识复制器内置了俄罗斯轮盘算法。 该算法用于创建差异备份,完整性控制,基于密码的访问限制和信息压缩。
删除冗余的压缩器已在前面的“
一种新的高速数据压缩算法 ”
一文中进行了描述,散列用于确认复制数据的完整性,并且在输入密码的情况下,还可以对接收到的转储进行“密码保护”,以防止查看/修改。
这是在创建差异备份的实际工作中获得的
RU2的速度特征:

复制速度受读取器参数的限制,通过USB 3.0-SATA桥连接的SSD驱动器无法提供较高的读取速度。
输入流速度为360兆字节/秒。
RU2算法仅以5%的工作频率将处理器负载降低了1.4 GHz。 这提供了信息的压缩,其哈希和转储的加密(密码保护)。
传统的哈希系统无法提供这种性能。 为了进行比较,这是在创建同一驱动器的差异备份时内置于Acronis的哈希系统的工作方式:

处理器以340兆字节/秒的速度对输入数据流进行哈希处理,同时以3.8 GHz的频率运行,并以28%的速度加载。
如果我们重新计算以3.8 GigaHertz频率运行的双核处理器在极限参数中获得的结果,则Acronis哈希系统可以提供1.4 Gigabytes /秒的吞吐量。
俄罗斯轮盘赌算法提供了更多的任务(散列+压缩+密码保护),可提供21 GB /秒的速度。
换句话说,
RU2哈希处理比Acronis中实现的标准哈希处理快一个数量级。
此外,俄罗斯轮盘提供每秒12 GB的伪随机数生成速率。 这是已知的最快的伪随机序列发生器,可以满足官方NIST测试的要求。
随机数生成,哈希,密码保护,而这对于俄罗斯轮盘来说已经足够。
“……但是密码学呢?,然后是密码学……。”