现有的系列号加密算法大都是软件开发者自行设计的,大部分都相当简单。此外还有很多成熟的算法可以使用,例如密码学中一些强度比较高的算法。
单向散列算法
单向散列算法也称hash(哈希)算法,是一种将任意长度的消息压缩到某一固定长度的函数,其过程不可逆。Hash函数可用于数字签名,消息的完整性测试,消息起源的认真检测。常见的散列算法有MD5,SHA,RIPE-MD等等。
由于hash函数是不可逆算法,软件只能使用hash函数作为加密的一个中间步骤。
MD5算法
MD5消息摘要算法是由Rivest设计的。它对输入的任意长度的消息进行运算,产生128位的消息摘要。他现在不那么留下。
1.算法原理
2.MD5算法在加解密中的应用
特点很明显,跟踪时很容易发现。如果采用MD5算法,就必然会初始化上面的4个常数。
3.实例分析
SHA算法
安全散列算法包括SHA-1.SHA-256.SHA-384和SHA-512四种,分别产生160位,256位,384位和512位散列值。
1.算法描述
是一种主流的加密散列算法,设计基于MD5算法相同的原理,并且模仿了该算法。
2.实例分析
SM3密码杂凑算法
SM3是国密算法,由国家密码局发布,广泛用于商用密码应用中的数字签名和验证,消息认证码的生成及验证集随机数的产生。
小结
对称加密算法
对称加密算法的加密秘钥和解密秘钥是完全相同的,其安全性依赖于两个因素,第一加密算法必须是足够强的,仅基于秘闻本神奇解密信息在实践中是不可能的,可以抵抗现有各种密码分析方法的攻击。第二加密的安全性依赖于秘钥的秘密性。
若要采用对称算法检验注册码,正确的方法是把用户输入的注册码作为加密算法或者解密算法的秘钥,为了增加穷举的难度,则需要对位数有一定的要求。
RC4流密码
RC4的安全性不是很强,但是在实际应用中可以保证一定的安全性。
1.算法原理
RC4生成一种称为秘钥流的伪随机流,它与明文通过异或操作混合达到加密的目的。
TEA算法
1.算法原理
TEA的分组长度为64位,秘钥长度为128位,采用feistel网络。作者推荐通过32次循环加密,即64轮。加密过程如下。K【0】到K【3】为秘钥,v【0】到v【1】为待加密的信息。
2.实例分析
IDEA算法
国际数据加密算法,这是他的名字。
1.算法原理
2.实例分析