非对称加密算法

非对称加密

密钥是成对出现的

  • 公钥:public key,公开给所有人,主要给别人加密使用
  • 私钥:secret key,private key自己留存,必须保证其私密性

特点:用公钥加密数据,只能使用与之配对的私钥解密;反之亦然

缺点:

  • 密钥长,算法复杂
  • 加密解密效率低

功能:

  • 数据加密:适合加密较小数据,比如:加密对称密钥
  • 数字签名:主要在于让接收方确认发送方身份

常见算法:

  • RSA:是一个支持变长密钥的公共密钥算法,需要加密的文件块的长度也是可变的,可实现加密和数字签名。
  • DSA(Digita Signature Algorithm):数据来源确认,即数字签名算法,是一种标准的DSS
  • ECC

实现数据加密

Alice:

public key (公开)                               Pa

secret key | private key (不公开)       Sa

 

Bob:

public key (公开)                               Pb

secret key | private key (不公开)       Sb

 

非对称密钥:key1<>key2

用任何一把密钥加密,只能用对应另一把密钥解密

 

Alice--->Bob  独发

Data--->加密(key1=Pb)--->data--->解密( key2=Sb)--->data

Bob想要收到Alice的数据文件,必须将Bob的公钥发送给Alice,之后再用自己的私钥解密

 

接收者:生成公钥/密钥:P和S

                 生成公钥P,保密密钥S

发送者:使用接收者的公钥来加密信息M

                 将P(M)发送给接收者

接收者:使用密钥S来解密:M=S(P(M))

数据来源确认(数字签名)

Alice--->Bob   群发

        --->Jack

data--->加密(key1=Sa)--->data--->解密(key2=Pa)--->data

只有Alice有私钥,Alice的公钥是公开的,任何人收到Alice数据文件都使用Alice的公钥解密,实现了数据来源只能是Alice的

 

发送者:生成公钥/密钥对:P和S

公开公钥P,保密密钥S

                 使用密钥S来加密信息M

                 发送给接收者S(M)

接收者:使用发送者的公钥来解密M=P(S(M))

posted on 2023-01-15 20:07  smile^^  阅读(68)  评论(0)    收藏  举报