多项选择题

有关ElGamal算法的描述正确的是()

A.ElGamal算法只能用于签名
B.ElGamal算法是基于离散对数问题的算法
C.ElGamal算法可用于签名和加密
D.ElGamal算法是基于大数分解问题的算法