嵌入式系统设计师学习笔记二十三:网络安全基础②——两类密码体制

对称密钥密码体制(对称加密算法)

所谓对称密钥密码体制,即加密密钥和解密密钥是相同的密码体制。

缺点:加密强度不高,但效率高;密钥分发困难。

常见的对称密钥加密算法:

①数据加密标准DES:替换+移位、56位密钥、64位数据块(速度快、密钥易产生)
3DES(三重DES):
两个56位的密钥K1、K2
加密:K1加密→K2解密→K1加密
解密:K1解密→K2加密→K1解密

②RC-5:RSA数据安全公司的很多产品都使用了RC-5。流加密算法,可选择64位或128位。

③IDEA算法:128位密钥、64位数据块、比DES的加密性好、对计算机功能要求相对低。

④AES算法:高级加密标准,又称Rijndael加密法,是美国政府采用的一种区块加密标准。支持128、192和256位三种密钥长度。

公钥密码体制(非对称加密算法)

在这里插入图片描述

所谓公钥密码体制,即加密密钥和解密密钥是不同的密码体制,在公钥密码体制中,加密密钥Pk(public key,即公钥)是向公众公开的,而解密密钥Sk(secret key,即私钥)则是需要保密的。加密算法E和解密算法D也都是公开的。

缺点:加密速度慢。

常见的非对称密钥加密算法:

①RSA体制:是一种基于数论中的大数分解问题的体制。2048位(或1024位)密钥、计算量极大、难破解。

②Elgamal:基于有限域上离散对数问题的公钥密码体制,有较好的安全性,同一明文在不同时刻会产生不同的密文。

③ECC:椭圆曲线算法。

RSA密码

RSA的加密与解密

参数的定义和密钥生成
①选两个大素数p和q;(保密)
②计算n = p x q,φ(n)= (p-1)x (q-1);(n 公开,φ(n)保密)
③选一整数e,满足1< e < φ(n),且gcd(φ(n),e)=1;(e 公开)

gcd(a,b) 代表 求 a,b两个整数的最大公约数

④计算d,满足d x e ≡ 1 mod φ(n)(保密)

注意‘≡’恒等号 不是 等号‘=’

公钥:(n,e);
私钥:(n,d);
加密算法:c ≡ m^e mod n
解密算法:m ≡ c^d mod n

计算公钥和私钥的例题:

在这里插入图片描述
最终结果
在这里插入图片描述