用鼠标与指尖
让互联网更加有趣

编程中的一些密码学知识

信息的时代,个人的信息都是有价值的,从事信息犯罪的人都受过良好的教育,有较高的知识水平,他们了解计算机的构造和工作原理;能够轻易截取个人的敏感信息;因此加密在编程中是非常重要的一个环节;

编程中的一些密码学知识-小伟博客

 

在编程中一般信息分2种:

  1. 明文:明文指的是未被加密过的原始数据;
  2. 密文:明文被某种加密算法加密之后,会变成密文,从而确保原始数据的安全。密文也可以被解密,得到原始的明文。

在编程中钥匙一般分2种:

  1. 公钥:指的是公共的密钥,任何人都可以获得该密钥;
  2. 私钥:私钥表示个人私有的密钥,即该密钥不能被泄露

在编程中加密一般分2种:

  1. 对称加密

对称加密又叫做私钥加密,即信息的发送方和接收方使用同一个密钥去加密和解密数据。对称加密的特点是算法公开、加密和解密速度快,适合于对大数据量进行加密,常见的对称加密算法有DES、3DES、TDEA、Blowfish、RC5和IDEA。

加密过程:明文 + 加密算法 + 私钥 => 密文

解密过程:密文 + 解密算法 + 私钥 => 明文

对称加密中用到的密钥一般是私钥,其加密过程中的私钥与解密过程中用到的私钥是同一个密钥,这也是称加密之所以称之为“对称”的原因。由于对称加密的算法是公开的,所以一旦私钥被泄露,那么密文就很容易被破解,所以对称加密的缺点是密钥安全管理困难。

  1. 非对称加密

非对称加密也叫做公钥加密。非对称加密与对称加密相比,其安全性更好。对称加密的通信双方使用相同的密钥,如果一方的密钥遭泄露,那么整个通信就会被破解。而非对称加密使用一对密钥,即公钥和私钥,且二者成对出现。私钥被自己保存,不能对外泄露。公钥指的是公共的密钥,任何人都可以获得该密钥。用公钥或私钥中的任何一个进行加密,用另一个进行解密。

被公钥加密过的密文只能被私钥解密,过程如下:

明文 + 加密算法 + 公钥 => 密文, 密文 + 解密算法 + 私钥 => 明文

被私钥加密过的密文只能被公钥解密,过程如下:

明文 + 加密算法 + 私钥 => 密文, 密文 + 解密算法 + 公钥 => 明文

由于加密和解密使用了两个不同的密钥,这就是非对称加密“非对称”的原因。
非对称加密的缺点是加密和解密花费时间长、速度慢,只适合对少量数据进行加密。

在非对称加密中使用的主要算法有:RSA、Elgamal、Rabin、D-H、ECC(椭圆曲线加密算法)等。

支付宝扫码打赏 微信扫码打赏

如果文章对你有帮助,欢迎点击上方按钮打赏作者

未经允许不得转载:小伟博客 » 编程中的一些密码学知识

分享到:更多 ()

评论 抢沙发

小伟博客 · 给你感兴趣的内容

联系我们官方交流群