天天看點

非對稱加密算法-RSA算法

一、概述

 1、rsa是基于大數因子分解難題。目前各種主流計算機語言都支援rsa算法的實作

 2、java6支援rsa算法

 3、rsa算法可以用于資料加密和數字簽名

 4、rsa算法相對于des/aes等對稱加密算法,他的速度要慢的多

 5、總原則:公鑰加密,私鑰解密  /   私鑰加密,公鑰解密

二、模型分析

rsa算法建構密鑰對簡單的很,這裡我們還是以甲乙雙方發送資料為模型

1、甲方在本地建構密鑰對(公鑰+私鑰),并将公鑰公布給乙方

2、甲方将資料用私鑰進行加密,發送給乙方

3、乙方用甲方提供的公鑰對資料進行解密

如果乙方向傳送資料給甲方:

4、乙方用公鑰對資料進行加密,然後傳送給甲方

5、甲方用私鑰對資料進行解密

三、代碼分析

四、總結

1、rsa與dh算法不同,隻需要一套密鑰就能完成加密、解密的工作

2、通過代碼能看出來,公鑰長度明顯小于私鑰

3、遵循:公鑰加密-私鑰解密,私鑰加密-公鑰解密的原則

4、公鑰和私鑰肯定是完全不同

繼續閱讀