历史上的密码
凯撒密码
凯撒密码是通过将明文中所使用的字母表按照一定的字数“平移”来进行加密和解密的。
简单替换密码
简单替换密码是将明文中所使用的的字母表替换为另一套字母表的密码。
非对称加密算法:相对于对称加密算法的唯一一个私匙,非对称加密算法有一个可以公开的公匙和一个公开的公匙。例如两个人通信,发送方通过公匙加密了明文,发送给了接收方。虽然这个公匙是公开的。但是经过公匙加密过的密文只有接收方通过密匙解密密文。总而言之,非对称加密的方式是单向加密
常见的加密算法:RSA,SSH,HTTPS,TLS,电子证书,电子签名等
对称加密算法:加密方和解密方共享一个密匙,通过密匙可以看到密文和明文,密匙就是加密方和解密方的对称轴
常见的对称算法: DES,3DES,AES。。。
RSA加密算法
RSA加密算法是目前最有影响力的公钥加密算法,并且被普遍认为是目前最优秀的公钥方案之一。RSA是第一个能同时用于加密和数宇签名的算法,它能够抵抗到目前为止已知的所有密码攻击,已被ISO推荐为公钥数据加密标准。RSA加密算法基于一个十分简单的数论事实:将两个大素数相乘十分容易,但那时想要,但那时想要对其乘积进行因式分解却极其困难,因此可以将乘积公开作为加密密钥。
Base64加密算法
Base64加密算法是网络上最常见的用于传输8bit字节代码的编码方式之一,Base64编码可用于在HTTP环境下传递较长的标识信息。例如,在JAVAPERSISTENCE系统HIBEMATE中,采用了Base64来将一个较长的唯一标识符编码为一个字符串,用作HTTP表单和HTTPGETURL中的参数。在其他应用程序中,也常常需要把二进制数据编码为适合放在URL(包括隐藏表单域)中的形式。此时,采用Base64编码不仅比较简短,同时也具有不可读性,即所编码的数据不会被人用肉眼所直接看到。
MD5加密算法
MD5为计算机安全领域广泛使用的一种散列函数,用以提供消息的完整性保护。对MD5加密算法简要的叙述可以为:MD5以512位分组来处理输入的信息,且每一分组又被划分为16个32位子分组,经过了一系列的处理后,算法的输出由四个32位分组组成,将这四个32位分组级联后将生成—个128位散列值。
MD5被广泛用于各种软件的密码认证和钥匙识别上。MD5用的是哈希函数,它的典型应用是对一段信息产生信息摘要,以防止被篡改。MD5的典型应用是对一段Message产生fingerprin指纹,以防止被“篡改”。如果再有—个第三方的认证机构,用MD5还可以防止文件作者的“抵赖”,这就是所谓的数字签名应用。MD5还广泛用于操作系统的登陆认证上,如UNIX、各类BSD系统登录密码、数字签名等诸多方。
DES加密算法
DES加密算法是一种分组密码,以64位为分组对数据加密,它的密钥长度是56位,加密解密用同一算法。DES加密算法是对密钥进行保密,而公开算法,包括加密和解密算法。这样,只有掌握了和发送方相同密钥的人才能解读由DES加密算法加密的密文数据。因此,破译DES加密算法实际上就是搜索密钥的编码。对于56位长度的密钥来说,如果用穷举法来进行搜索的话,其运算次数为256。
随着计算机系统能力的不断发展,DES的安全性比它刚出现时会弱得多,然而从非关键性质的实际出发,仍可以认为它是足够的。不过,DES现在仅用于旧系统的鉴定,而更多地选择新的加密标准。
AES加密算法
AES加密算法是密码学中的高级加密标准,该加密算法采用对称分组密码体制,密钥长度的最少支持为128、192、256,分组长度128位,算法应易于各种硬件和软件实现。这种加密算法是美国联邦政府采用的区块加密标准,这个标准用来替代原先的DES,已经被多方分析且广为全世界所使用。
AES加密算法被设计为支持128/192/256位(/32=nb)数据块大小(即分组长度);支持128/192/256位(/32=nk)密码长度,,在10进制里,对应34×1038、62×1057、1.1×1077个密钥。
asmvpnstarteCeBpGmN3pCnp4bz8hvVPTV0@@hZ9KSSHfd2PIKo9O0K3RJt3H0ocwnTx0hLK$$zVo69ROaI9hrgVV$$Lh$$QwByh5m9Rv3QBBQG$$3aEuAV5QMOdDe$$E$$pGgU3Qeqd7GPiNv7T6JIApdkkvPZB81e4ddCuVq3kVcwuQ@@rwBliKFbBb70P9nTgUp3L2rcWun$$sG0mcbLGM3EFYHRFTSLjwmKKwiAte1btn7TMcpYMvUMy2G@@@@JI6SQVd2I3ZSIrFkdBCSfBm0jHyaLLM5zYf1qSOBrBmaq3JmNdl1EvonxwzSPd3bfmOvNuBnWEwl8J4CkOo@@a22TNAV1He3C2CDW4vlykBYpDFLzmcUDmMperLNTXhhULtkQui5a7kFNPlLdte23$$p1Gkkvr0ypUO5RnaMkaveJlcGANt2joKbu7gbRmx8s3zdl6BGIopYvKT7uFoRtsYQivBLzX9MxJPjmjy11yaDTJpi10R5xU4hf6z4SnHkdYIdza4BSvbI8ZKCRCWWC5wmKbTNUnEelNvsrg4tK7Hg@@rVymO9fIT1bQickGBUc$$gSwfNCyuaq@@PVx1zkGRLv7FcU2PLAEJPRYSEANzpW78JZByCtvh20uKs4QG3tnFf@@YfXsVbWjK8HKKGHLCd4rQPLRcbjh$$Q0=asmvpnend