多项选择题

SM2公钥加密算法可以抵抗的攻击包括()

A.唯密文攻击
B.选择明文攻击
C.选择密文攻击
D.密钥恢复攻击