根据密钥类型不同将现代密码技术分为两类:对称加密算法和非对称加密算法,那我们在实际使用的过程中究竟该使用哪一种比较好呢?那么我们就先从这两种加密算法的概念入手。

对称式加密算法就是加密和解密使用同一个密钥,通常称之为“Session Key ”,这种加密算法目前被广泛采用,如美国政府所采用的DES加密标准就是一种典型的“对称式”加密算法,它的Session Key长度为56Bits。

非对称式加密算法就是加密和解密所使用的不是同一个密钥,通常有两个密钥,称为“公钥”和“私钥”,它们两个必需配对使用,否则不能打开加密文件。
加密算法的选择

1、我们应该根据自己的使用特点来确定,由于非对称加密算法的运行速度比对称加密算法的速度慢很多,当我们需要加密大量的数据时,建议采用对称加密算法,提高加解密速度。

2、对称加密算法不能实现签名,因此签名只能非对称算法。

3、由于对称加密算法的密钥管理是一个复杂的过程,密钥的管理直接决定着他的安全性,因此当数据量很小时,我们可以考虑采用非对称加密算法。

在实际的操作过程中,我们通常采用的加密算法:

采用非对称加密算法管理对称算法的密钥,然后用对称加密算法加密数据,这样我们就集成了两类加密算法的优点,既实现了加密速度快的优点,又实现了安全方便管理密钥的优点。

如果在选定了加密算法后,那采用多少位的密钥呢?一般来说,密钥越长,运行的速度就越慢,应该根据的我们实际需要的安全级别来选择,一般来说,RSA建议采用1024位的数字,ECC建议采用160位,AES采用128为即可。

小知识之密钥:

密钥是一种参数,它是在明文转换为密文或将密文转换为明文的算法中输入的数据。密钥分为两种:对称密钥与非对称密钥。