天天看點

非對稱加密算法-ElGamal算法

一、概述

  1、elgamal算法和ecc算法基于離散對數問題

  2、這個是一個單向的過程。雖然密鑰對構造簡單,但是隻是乙方向另外一方單向傳送資料進行加解密,不能反向操作

  3、這裡隻有“公鑰加密、私鑰解密”這個過程

  4、elgamal不足之處就是 密文會成倍增長

  5、elgamal和rsa最大不同就是他們構造密鑰對的方式不同。還有就是是否為雙向加解密

二、模型分析

 以甲方向乙方發送資料為模型

1、甲方構造密鑰對(公鑰+私鑰),公布公鑰給乙方

2、這裡甲方沒法給乙方發送資料了,隻有乙方能給甲方傳送資料

3、乙方用公鑰對資料進行加密,傳送給甲方,甲方用私鑰對資料進行解密

三、代碼實作

四、總結

1、這個是一個單向傳遞資料的過程,這個和rsa不同,rsa的公鑰私鑰都可以用來做加解密資料的

2、這裡java6不支援elgamal算法,bouncycastle支援這個算法

3、這裡的公鑰私鑰長度幾乎一緻

4、這裡隻有“公鑰加密、私鑰解密”這一個原則

繼續閱讀