RSA 數學原理

2021-09-24 07:25:07 字數 1146 閱讀 8710

提起rsa大家一定不陌生,在開發中經常使用,也經常聽同事說道。

話說很久以前,人們就懂的了加密這個技術。在戰爭時期,間諜就會拿著密文密匙來對資訊就行傳遞。 這種簡單的密文+密匙(key)就是對稱加密

加密: 明文 + 密匙

解密: 密文 + 密匙

由於這種加密方式過於簡單,所以後來引入了數學演算法。rsa就是由特殊的數學演算法構成的,也是非對稱加密演算法。非對稱加密需要兩個金鑰:公鑰(public key)+私鑰(private key)

用公鑰加密,私鑰解密

私鑰加密,公鑰解密

如果兩個正整數m和n互質,那麼m的φ(n)次方減去1,可以被n整除。

一下是幾種情況

例如: 

ϕ(8) = ϕ(2^3) = 2^3 - 2^(2-1) = 8 - 4 = 4

ϕ(15) = ϕ(3) * ϕ(5) = 2 * 4 = 8

複製**

尤拉定理的特殊情況:如果兩個正整數m和n互質,而且n為質數!那麼φ(n)結果就是n-1。

如果兩個正整數e和x互質,那麼一定可以找到整數d,使得 ed-1 被x整除。 那麼d就是e對於x的「模反元素」

那麼,通過一系列的數學轉換,最終得出了rsa演算法

公鑰:e 和 n

私鑰:d 和 n

明文:m

密文:c

複製**

總共生成6個數字:p1、p2、n、φ(n)、e、d

除了公鑰用到了n和e 其餘的4個數字是不公開的。 目前破解rsa得到d的方式如下:

那麼rsa有優點和弊端是什麼了?

優點

缺點

20181117 RSA演算法數學原理分析

非對稱加密技術,在現在網路中,有非常廣泛應用。加密技術更是數字貨幣的基礎。所謂非對稱,就是指該演算法需要一對金鑰,使用其中乙個 公鑰 加密,則需要用另乙個 私鑰 才能解密。rsa演算法原理 rsa演算法的基於這樣的數學事實 兩個大質數相乘得到的大數難以被因式分解。如 有很大質數p跟q,很容易算出n,...

數學,原理,方法,技巧

學校裡學到的東西為什麼沒有用處?主要是學到的東西大部份都有人去實現了。比如資料結構中學做乙個二叉樹。其實在外邊幹活的時候根本不需要。誰會讓你去編寫乙個二叉樹?即使做專案的時候真的有用,大概也有已經實現的類代替了。所以有人說學校裡學到的東西基本沒有用。不過也難怪,因為這些人只是學到了原理或者方法。學校...

補碼的數學原理

計算機是用n位0和1來表示數字的,這樣很容易表示正數,但是怎麼表示負數呢?人類聰明的大腦想到了用第一位來表示符號,0代表正數,1代表負數。這種表示方法最好理解,叫做原碼。但是計算機在計算的時候,為了簡化,需要把減法當做加法運算。這個很簡單,負數不就是幹這個的嗎?比如2 1 2 1 但是負數如果按照原...