常见的古典密码算法,对称密码算法,公钥算法以及国密算法。
时间: 2023-11-30 19:43:13 浏览: 169
以下是常见的几种密码算法:
1. 古典密码算法:包括凯撒密码、栅栏密码、替换密码等,这些算法都是基于简单的替换和移位操作,安全性较低,易被破解。
2. 对称密码算法:包括DES、AES、RC4等,这些算法使用相同的密钥进行加密和解密,安全性较高,但密钥的管理和分发比较困难。
3. 公钥算法:包括RSA、DSA、ECC等,这些算法使用一对密钥,公钥用于加密,私钥用于解密,安全性较高,但加密和解密速度较慢。
4. 国密算法:SM2、SM3、SM4等,这些算法是中国自主研发的密码算法,安全性较高,已经被广泛应用于各种场景。
以下是一个使用Python实现DES加密和解密的例子:
```python
from Crypto.Cipher import DES
# 加密函数
def des_encrypt(key, text):
cipher = DES.new(key, DES.MODE_ECB)
length = 8 - (len(text) % 8)
text += chr(length) * length
ciphertext = cipher.encrypt(text.encode())
return ciphertext
# 解密函数
def des_decrypt(key, ciphertext):
cipher = DES.new(key, DES.MODE_ECB)
text = cipher.decrypt(ciphertext).decode()
length = ord(text[-1])
return text[:-length]
# 测试
key = b'abcdefgh'
text = 'hello world'
ciphertext = des_encrypt(key, text)
print('加密后的密文:', ciphertext)
plaintext = des_decrypt(key, ciphertext)
print('解密后的明文:', plaintext)
```
阅读全文