当前位置: 首页 > 网络应用技术

加密系列:加密货币中的Scrypt算法

时间:2023-03-08 16:02:10 网络应用技术

  为了抵制密码的破裂,科学家提出了许多方法,例如使密码混淆盐添加操作以及密码转换和组合。这些ASIC处理器无需做任何其他事情,即特别是为了破解密码或执行哈希操作。

  当然,最著名的是比特币。它使用批评的POW算法。拥有高计算能力的人都可以是我的,这会导致大量毫无意义的采矿机。这些采矿机无法做到。即使用来计算哈希值。结果,大量的电力浪费了。

  普通人甚至不想加入只能由巨人拥有的曲目。如果您想使用普通的PC开采,那么我想挖掘矿山的机会可能类似于被陨石击中。

  为了抵制这种基于CPU的密码加密方法,科学家发明了许多其他算法,例如需要占据大量内存的算法,因为记忆不会像CPU一样加快CPU,因此许多野蛮破裂的场景受到限制。Scrypt算法是其中之一。该算法应用于许多新的加密货币采矿系统,以表示其采矿程序的公平性。

  Scrypt是由Colin Percival创建的密码衍生算法。使用Scrypt算法生成衍生键,并且需要大量内存。SCRYPT算法是在2016年以RFC 7914标准发布的。

  密码衍生算法的主要作用是基于初始化的主密码生成一系列衍生词。该算法主要是抵抗暴力的攻击。通过增加密码生成的复杂性,它也增加了Bruting的困难。

  但是如上所述,先前基于密码的KDF(例如PBKDF2)增加了密码的遍历数量,但它使用了较小的内存空间。因此,简单的ASIC机器很容易破解。Scrypt算法。是解决这个问题。

  Scrypt算法生成一个非常大的伪随机数序列。此随机数序列将在随后的键生成过程中使用,因此通常需要存储RAM进行存储。这就是为什么Scrypt算法需要大的内存。

  接下来,让我们详细分析SCRYPT算法。标准SCRYPT算法需要输入8个参数,如下所示:

  此函数的输出是派生的。

  首先,我们需要生成expensivesalt.first Get Blocksize:

  然后使用PBKDF2生成P块,将此P块组合到一个数组中:

  使用romix混合获得的块:

  将B组合成新的Empensivesalt:

  接下来,使用PBKDF2和新盐来生成最终的衍生键:

  以下是romix函数的伪代码:

  BlockMix的伪代码如下:

  Scrypt用于许多新的POW虚拟货币,例如Tenebrix,Litecoin和Dogecoin。感兴趣的朋友可以看。

  最受欢迎的解释,最深的干货,最简单的教程,您不知道的许多技巧正在等待您发现!

  欢迎注意我的公共帐户:“程序的事情”,了解技术并更好地了解您!