Can you summarize the following document?
        
  ElGamal加密演算法由三部分組成:金鑰生成、加密和解密。

  金鑰生成的步驟如下:

  使用Alice的公鑰formula_12向她加密一條訊息formula_13的加密演算法工作方式如下:  值得注意的是,如果一個人知道了formula_20,那麼它很容易就能知道formula_24的值。因此對每一條資訊都產生一個新的formula_15可以提高安全性。所以formula_15也被稱作臨時金鑰。

  利用私鑰formula_7對密文formula_28進行解密的演算法工作方式如下:

  ElGamal加密系統通常應用在混合加密系統中。例如:用對稱加密體制來加密訊息,然後利用ElGamal加密演算法傳遞金鑰。這是因為在同等安全等級下,ElGamal加密演算法作為一種非對稱密碼學系統,通常比對稱加密體制要慢。對稱加密演算法的金鑰和要傳遞的訊息相比通常要短得多,所以相比之下使用ElGamal加密金鑰然後用對稱加密來加密任意長度的訊息,這樣要更快一些。
在密碼學中,ElGamal加密演算法是一個基於迪菲-赫爾曼金鑰交換的非對稱加密演算法。它在1985年由塔希爾·蓋莫爾提出。GnuPG和PGP等很多密碼學系統中都應用到了ElGamal演算法。