安全算法(Base64、MD5、SHA1)

名词说明

  1. 消息摘要算法
    加密过程不需要密钥,并且经过加密的数据无法被解密;只有输入相同的明文数据经过相同的消息摘要算法才能得到相同的密文,主要应用在“数字签名”领域(比如对用户密码加密);著名的摘要算法有RSA公司的MD5算法和SHA-1算法及其大量的变体。
  2. MD5
    MD5的作用是让大容量信息在用数字签名软件签署私人密钥前被"压缩"成一种保密的格式 (也就是把一个任意长度的字节串变换成一定长的十六进制数字串)(128位)。
    1. 压缩性: 任意长度的数据,算出的MD5值长度都是固定的。
    2. 容易计算: 从原数据计算出MD5值很容易。
    3. 抗修改性: 对原数据进行任何改动,哪怕只修改1个字节,所得到的MD5值都有很大区别。
    4. 强抗碰撞: 已知原数据和其MD5值,想找到一个具有相同MD5值的数据(即伪造数据)是非常困难的。
  3. SHA1
    SHA-1与MD5 的最大区别在于其摘要比MD5 摘要长32 比特(160为)
  4. 加密算法
    将普通的文本(或者可以理解的信息)与一串数字(密钥)的结合,产生不可理解的密文的步骤。
  5. 密钥
    是用来对数据进行编码和解码的一种算法
  6. 对称加密
    加密密钥和解密密钥相同,对称加密以数据加密标准(DES,Data Encryption Standard 56位)算法为典型代表。另一个对称密钥加密系统是国际数据加密算法(IDEA 128位),它比DES的加密性好(类似于三重DES),而且对计算机功能要求也没有那么高。IDEA加密标准由PGP(Pretty Good Privacy)系统使用。(现在算力容易破解,少用)
  7. 非对称加密
    加密密钥和解密密钥不同,加密密钥可以公开而解密密钥需要保密,非对称加密通常以RSA(Rivest Shamir Adleman)算法为代表。(已被ISO推荐为公钥数据加密标准)
  8. Base64
    所谓Base64,就是说选出64个字符----小写字母a-z、大写字母A-Z、数字0-9、符号"+"、"/"(再加上作为垫字的"=",实际上是65个字符)----作为一个基本字符集。然后,其他所有符号都转换成这个字符集中的字符。即要求把每三个8Bit的字节转换为四个6Bit的字节(38 = 46 = 24),然后把6Bit再添两位高位0,组成四个8Bit的字节,也就是说,转换后的字符串理论上将要比原来的长1/3。原文的字节不够的地方可以用全0来补足,转换时 Base64编码用=号来代替(Base64编码会以一个或两个等号结束)。
  9. 数字签名
    数字签名主要用到了非对称密钥加密技术与数字摘要技术,数字签名技术是将摘要信息用发送者的私钥加密,与原文一起传送给接收者。接收者只有用发送者的公钥才能解密被加密的摘要信息,然后用HASH函数对收到的原文产生一个摘要信息,与解密的摘要信息对比。如果相同,则说明收到的信息是完整的,在传输过程中没有被修改,否则说明信息被修改过。
發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章