世界上有很多种密码,主要分类有以下几种:
1、摩斯密码,最早是一些表示数字的点和划,数字对应单词,需要查找一本代码表才能知道每个词对应的数;
2、四方密码,是一种对称式加密法,由法国人发明,这种方法将字母两个一组,采用多字母替换密码达到加密的目的;
3、希尔密码,是运用基本矩阵论原理的替换密码,由法国人希尔在1929年发明;
4、波雷费密码,是一种对称式密码,是首种双字母取代的加密法,最早出现在一份1854年3月26日由查尔斯·惠斯登签署的文件中,他的朋友波雷费勋爵普及了这个加密法;
5、三分密码,三分密码由Felix Delastelle发明。三分密码是三维的,用3×3×3的公式进行加密,它是第一个应用的三字母替换密码。
比特币、以太坊、瑞波币、?比特现金、?EOS6、莱特币、恒星币、艾达币、泰达币、IOTA
一、比特币是2008年11月1日由日本人中本聪推出的,于2009年1月3日正式诞生!比特币是一种P2P形势的虚拟的加密数字货币,以点对点的传输意味着一个去中心化的支付系统!既然是虚拟的货币,那肯定不是由特定机构发行,而是通过一种特定的方式,大量的计算产生!由于总量比较少,所以其稀缺性就很大,如今数量永久限制在2100万个左右!
二、以太坊:以太坊是一种开源的有只能合约功能的公共区块链平台,通过其专用加密货币以太币也是一种去中心化的虚拟机来处理点对点合约!是2013年由程序员VitalikButerin受比特币启发后提出的,于2014年得以发展,如今是仅次于比特币的市值第二高的加密货币!
三、瑞波币:瑞波币是瑞波网络的基础货币,流通于整个瑞波网络,总量大概在1000亿,并且随着交易越多数量就会逐渐减少!在去年的时候,瑞波币曾在短时间内超过以太币成为全球第二市值的虚拟货币!
四、?比特现金:是由挖矿巨头比特币大陆旗下的矿池ViaBTC基于BitcoinABC方案而推出的新的加密数字资产,可以视作是比特币BTC的分叉比或者是竞争币!其用途是缓解了比特币的网络拥堵问题!
五、?EOS:是一种商用分布式应用设计的一款区块链操作系统,类似于Winds操作系统,可以支持多个应用同时运作,旨在实现分布式应用的新能扩展!但是它又不像比特币以及以太坊那样的货币,而是基于EOS软件项目之上发布的代币,并且没有手续费,所以受众更为广泛!
六、?莱特币:同时是受比特币启发而发展出来的一中虚拟货币,其创造以及转让是基于一种开源加密的协议,并不受任何中央机构管理,其旨在改进比特币,发行量是比特币的四倍还要多!
一、密钥散列
采用MD5或者SHA1等散列算法,对明文进行加密。严格来说,MD5不算一种加密算法,而是一种摘要算法。无论多长的输入,MD5都会输出一个128位(16字节)的散列值。而SHA1也是流行的消息摘要算法,它可以生成一个被称为消息摘要的160位(20字节)散列值。MD5相对SHA1来说,安全性较低,但是速度快;SHA1和MD5相比安全性高,但是速度慢。
二、对称加密
采用单钥密码系统的加密方法,同一个密钥可以同时用作信息的加密和解密,这种加密方法称为对称加密。对称加密算法中常用的算法有:DES、3DES、TDEA、Blowfish、RC2、RC4、RC5、IDEA、SKIPJACK等。
三、非对称加密
非对称加密算法是一种密钥的保密方法,它需要两个密钥来进行加密和解密,这两个密钥是公开密钥和私有密钥。公钥与私钥是一对,如果用公钥对数据进行加密,只有用对应的私钥才能解密。非对称加密算法有:RSA、Elgamal、背包算法、Rabin、D-H、ECC(椭圆曲线加密算法)。
四、数字签名
数字签名(又称公钥数字签名)是只有信息的发送者才能产生的别人无法伪造的一段数字串,这段数字串同时也是对信息的发送者发送信息真实性的一个有效证明。它是一种类似写在纸上的普通的物理签名,但是在使用了公钥加密领域的技术来实现的,用于鉴别数字信息的方法。
五、直接明文保存
早期很多这样的做法,比如用户设置的密码是“123”,直接就将“123”保存到数据库中,这种是最简单的保存方式,也是最不安全的方式。但实际上不少互联网公司,都可能采取的是这种方式。
六、使用MD5、SHA1等单向HASH算法保护密码
使用这些算法后,无法通过计算还原出原始密码,而且实现比较简单,因此很多互联网公司都采用这种方式保存用户密码,曾经这种方式也是比较安全的方式,但随着彩虹表技术的兴起,可以建立彩虹表进行查表破解,目前这种方式已经很不安全了。
七、特殊的单向HASH算法
由于单向HASH算法在保护密码方面不再安全,于是有些公司在单向HASH算法基础上进行了加盐、多次HASH等扩展,这些方式可以在一定程度上增加破解难度,对于加了“固定盐”的HASH算法,需要保护“盐”不能泄露,这就会遇到“保护对称密钥”一样的问题,一旦“盐”泄露,根据“盐”重新建立彩虹表可以进行破解,对于多次HASH,也只是增加了破解的时间,并没有本质上的提升。
八、PBKDF2
该算法原理大致相当于在HASH算法基础上增加随机盐,并进行多次HASH运算,随机盐使得彩虹表的建表难度大幅增加,而多次HASH也使得建表和破解的难度都大幅增加。
九、BCrypt
BCrypt 在1999年就产生了,并且在对抗 GPU/ASIC 方面要优于 PBKDF2,但是我还是不建议你在新系统中使用它,因为它在离线破解的威胁模型分析中表现并不突出。
十、SCrypt
SCrypt 在如今是一个更好的选择:比 BCrypt设计得更好(尤其是关于内存方面)并且已经在该领域工作了 10 年。另一方面,它也被用于许多加密货币,并且我们有一些硬件(包括 FPGA 和 ASIC)能实现它。 尽管它们专门用于采矿,也可以将其重新用于破解。