1、对称加密算法
对称加密算法是指加密和解密采用相同的密钥,是可逆的(即可解密)。AES加密算法是密码学中的高级加密标准,采用的是对称分组密码体制,密钥长度的最少支持为128。
AES加密算法是美国联邦政府采用的区块加密标准,这个标准用来替代原先的DES,已经被多方分析且广为全世界使用。
2、非对称加密
非对称加密算法,又称为公开密钥加密算法。它需要两个密钥,一个称为公开密钥 (public key),即公钥,另一个称为私有密钥 (private key),即私钥。
RSA:由 RSA 公司发明,是一个支持变长密钥的公共密钥算法,需要加密的文件块的长度也是可变的;
DSA(Digital Signature Algorithm):数字签名算法,是一种标准的 DSS(数字签名标准);
ECC(Elliptic Curves Cryptography):椭圆曲线密码编码学。
3、Hash 算法
Hash 算法特别的地方在于它是一种单向算法,用户可以通过 Hash 算法对目标信息生成一段特定长度的唯一的 Hash 值,却不能通过这个 Hash 值重新获得目标信息。因此 Hash 算法常用在不可还原的密码存储、信息完整性校验等。
MD5全称"message-digest algorithm 5"(信息-摘要算法)。
90年代初由MIT计算机科学实验室和RSA Data Security Inc联合开发。
MD5算法采用128位加密方式,即使一台计算机每秒可尝试10亿条明文,要跑出原始明文也要1022年。在802.1X认证中,一直使用此算法。
加密算法之二---ELGamal
ELGamal算法是一种较为常见的加密算法,他基于1984年提出的公钥密码体制和椭圆曲线加密体系。即能用于数据加密,又能用于数字签名,起安全性依赖于计算有限领域上离散对数这一数学难题。
著名的DSS和Schnorr和美国国家标准X9.30-199X中ELGamal为唯一认可加密方式。并且椭圆曲线密码加密体系增强了ELGamal算法的安全性。
ELGamal在加密过程中,生成的密文长度是明文的两倍。且每次加密后都会在密文中生成一个随即数K。
加密算法之三---BlowFish
BlowFish算法由著名的密码学专家部鲁斯·施耐尔所开发,是一个基于64位分组及可变密钥长度[32-448位]的分组密码算法。
BlowFish算法的核心加密函数名为BF_En,为一种对称算法,加密强度不够。
加密算法之四---SHA
SHA(即Secure Hash Algorithm,安全散列算法)是一种常用的数据加密算法,由美国国家标准与技术局于1993年做为联邦信息处理标准公布,先版本SHA-1,SHA-2。
SHA算法与MD5类似,同样按2bit数据块为单位来处理输入,但它能产生160bit的信息摘要,具有比MD5更强的安全性。
SHA收到一段明文,然后以不可逆方式将它转为一段密文,该算法被广泛运用于数字签名及电子商务交易的身份认证中。(
常见加密算法
DES(Data Encryption Standard):数据加密标准,速度较快,适用于加密大量数据的场合;
3DES(Triple DES):是基于DES,对一块数据用三个不同的密钥进行三次加密,强度更高;
RC2和 RC4:用变长密钥对大量数据进行加密,比 DES 快;
IDEA(International Data Encryption Algorithm)国际数据加密算法:使用 128 位密钥提供非常强的安全性;
RSA:由 RSA 公司发明,是一个支持变长密钥的公共密钥算法,需要加密的文件块的长度也是可变的;
DSA(Digital Signature Algorithm):数字签名算法,是一种标准的 DSS(数字签名标准);
AES(Advanced Encryption Standard):高级加密标准,是下一代的加密算法标准,速度快,安全级别高,目前 AES 标准的一个实现是 Rijndael 算法;
BLOWFISH,它使用变长的密钥,长度可达448位,运行速度很快;
其它算法,如ElGamal、Deffie-Hellman、新型椭圆曲线算法ECC等。
比如说,MD5,你在一些比较正式而严格的网站下的东西一般都会有MD5值给出,如安全焦点的软件工具,每个都有MD5。
用数字来代替字母。
多文字加密法的密钥是一个5X5的矩阵。这个矩阵的5行和5列用含有5个字母的关键词来标识。该关键词不能有重复的字母。字母表的每一个字母填写在这个矩阵中。当然,矩阵只有25个位置,而字母表有26个字母,因此i和j占同一个单元。这意味着所有j都变成了i。
最早的一个单码加密法是希腊作家Polybius在大约公元前200年发明的。该加密法成为Polybius方格,因为它将字母表的字母填充在一个正方形中,并给行和列加编号。每个字母由对应的行号和列好来替代。
多码加密法是一种替换加密法,其替换形式是:其中的每个明文字母可以密文中的多个字母来代替,而每个密文字母也可以表示多个明文字母。这种加密法可以干扰字母出现频率分析法。具体加密算法有:Vigenere加密法,自动密钥加密法,Nihilist加密法,回转轮加密法等。