導航:首頁 > 文檔加密 > rsa私鑰加密

rsa私鑰加密

發布時間:2022-01-18 01:41:05

㈠ openssl rsa 可以用私鑰加密 公鑰解密嗎

可以,私鑰加密公鑰解密是 數字簽名的工作方式

㈡ RSA簽名時是發方用私鑰加密,用私鑰解密,但接收方不知道發方私鑰怎麼解密

但是接收方知道發送方的公鑰啊

樓主首先就沒懂簽名加密的概念,這里說的是分兩部分一 先簽名 二 後加密
舉例來說,一 簽名,假定接收方B已知發送方A的公鑰,則A可以通過用自己的私鑰對整個消息或消息的散列碼加密來產生數字簽名,由於是用發送方A的私鑰對消息加密,所以只有A可加密消息,因此,整個加密後的消息就是數字簽名。
接著是加密,用B的公鑰對或對稱密碼再對消息加密即可。
解密很簡單,因為加密就是B自己的公鑰,只有數字簽名才用到A的私鑰(而此前B已知A的公鑰)

㈢ RSA怎樣設置公鑰和私鑰

這個很簡單 如果密碼手工輸入 理論上完全可以 但是密鑰有時候二進制有時候會上百位 轉化到其他進制要幾十位 很容易出錯 而且私鑰 公鑰是從一個推出另一個的 手工輸入怎麼保證你輸入的公鑰私鑰就可以一定可以配成一對keyPair 而且公鑰私鑰 必須還要從用p q來算 等等如果手工輸入太麻煩了

為何我們不把這些繁瑣的 容易出錯的東西 封裝起來來簡化我們的開發呢
所以我們有了各種各樣的開發包 各種各樣的架構 各種各樣的庫

java
KeyPairGenerator keyGen = KeyPairGenerator.getInstance("RSA");
KeyPair key = keyGen.generateKeyPair();
cipher.init(Cipher.ENCRYPT_MODE, key.getPublic());
cipher.init(Cipher.DECRYPT_MODE, key.getPrivate());
這是我以前寫的代碼的片段 不是連續的 大體上就是先得到一個rsa的密鑰對 然後調用getpublic()
getprivatekey()獲取公私鑰就可以了

㈣ RSA演算法加密

RSA加密演算法是一種典型的非對稱加密演算法,它基於大數的因式分解數學難題,它也是應用最廣泛的非對稱加密演算法,於1978年由美國麻省理工學院(MIT)的三位學著:Ron Rivest、Adi Shamir 和 Leonard Adleman 共同提出。

它的原理較為簡單,假設有消息發送方A和消息接收方B,通過下面的幾個步驟,就可以完成消息的加密傳遞:
消息發送方A在本地構建密鑰對,公鑰和私鑰;
消息發送方A將產生的公鑰發送給消息接收方B;
B向A發送數據時,通過公鑰進行加密,A接收到數據後通過私鑰進行解密,完成一次通信;
反之,A向B發送數據時,通過私鑰對數據進行加密,B接收到數據後通過公鑰進行解密。
由於公鑰是消息發送方A暴露給消息接收方B的,所以這種方式也存在一定的安全隱患,如果公鑰在數據傳輸過程中泄漏,則A通過私鑰加密的數據就可能被解密。
如果要建立更安全的加密消息傳遞模型,需要消息發送方和消息接收方各構建一套密鑰對,並分別將各自的公鑰暴露給對方,在進行消息傳遞時,A通過B的公鑰對數據加密,B接收到消息通過B的私鑰進行解密,反之,B通過A的公鑰進行加密,A接收到消息後通過A的私鑰進行解密。
當然,這種方式可能存在數據傳遞被模擬的隱患,但可以通過數字簽名等技術進行安全性的進一步提升。由於存在多次的非對稱加解密,這種方式帶來的效率問題也更加嚴重。

㈤ 有沒有一種軟體能用RSA的私鑰進行加密,然後用公鑰進行解密的

如果只是單方面採用非對稱性加密演算法,其實有兩種方式,用於不同用處.第一種是簽名,使用私鑰加密,公鑰解密,用於讓所有公鑰所有者驗證私鑰所有者的身份並且用來防止私鑰所有者發布的內容被篡改.但是不用來保證內容不被他人獲得.第二種是加密

㈥ rsa是公鑰加密還是私鑰加密

公鑰加密,私鑰解密。

㈦ RSA已知明文和公鑰能得到私鑰加密的密文嗎

首先破解RSA是指 密文 ->明文 的過程!

假設明文m,密文c,私鑰d,公鑰e,RSA加密的流程如下:

1、兩個較大的互不相等的質數p和q

2、n = p * q

3、fn = (p - 1) * (q - 1)

4、e 與 fn 互質, 且1 < e < fn

5、d滿足 de % fn = 1

6、加解密:

c = (m^e) % n

m = (c^d) % n

上面的公式可以理解為通過公鑰加密,而通過私鑰解密。

第一種情況:已知明文和公鑰得到私鑰加密的密文,這個是加密過程,與私鑰d關系不大,加密過程主要在於n的值!

假設這種情況已知明文m,公鑰e,私鑰d,密文c有無數種。

第二種情況:已知明文密文和公鑰得到私鑰。

已知明文m,密文c,公鑰e求私鑰d,套入次公式:c= (m^e) % n,n的值也是不唯一的,所以私鑰d的值也不唯一。


在有正確答案做對比的情況下個人感覺第二種情況比較容易求出吧。

個人見解,歡迎討論。

㈧ RSA的公鑰和私鑰到底哪個才是用來加密和哪個用來解密

其實公鑰和私鑰都可以用來加密或解密---只要能保證用A加密,就用B解密就行。至於A是公鑰還是私鑰,其實可以根據不同的用途而定。

例如說,如果你想把某個消息秘密的發給某人,那你就可以用他的公鑰加密。因為只有他知道他的私鑰,所以這消息也就只有他本人能解開,於是你就達到了你的目的。

但是如果你想發布一個公告,需要一個手段來證明這確實是你本人發的,而不是其他人冒名頂替的。那你可以在你的公告開頭或者結尾附上一段用你的私鑰加密的內容(例如說就是你公告正文的一段話),那所有其他人都可以用你的公鑰來解密,看看解出來的內容是不是相符的。如果是的話,那就說明這公告確實是你發的---因為只有你的公鑰才能解開你的私鑰加密的內容,而其他人是拿不到你的私鑰的。

最後再說一下數字簽名。
數字簽名無非就兩個目的:
證明這消息是你發的;
證明這消息內容確實是完整的---也就是沒有經過任何形式的篡改(包括替換、缺少、新增)。

其實,上面關於「公告」那段內容,已經證明了第一點:證明這消息是你發的。
那麼要做到第二點,也很簡單,就是把你公告的原文做一次哈希(md5或者sha1都行),然後用你的私鑰加密這段哈希作為簽名,並一起公布出去。當別人收到你的公告時,他可以用你的公鑰解密你的簽名,如果解密成功,並且解密出來的哈希值確實和你的公告原文一致,那麼他就證明了兩點:這消息確實是你發的,而且內容是完整的。

其實概念很簡單:

  1. 小明想秘密給小英發送消息

  2. 小英手裡有一個盒子(public key),這個盒子只有小英手裡的鑰匙(private key)才打得開

  3. 小英把盒子送給小明(分發公鑰)

  4. 小明寫好消息放進盒子里,鎖上盒子(公鑰加密)

  5. 小明把盒子寄給小英(密文傳輸)

  6. 小英用手裡的鑰匙打開盒子,得到小明的消息(私鑰解密)

  7. 假設小剛劫持了盒子,因為沒有小英的鑰匙,他也打不開

㈨ java中RSA用私鑰加密公鑰解密問題

公鑰和私鑰可以互換的用,用公鑰加密私鑰解密,用私鑰加密公鑰解密都ok,方法一樣

㈩ rsa的私鑰加密信息與公鑰加密信息兩種方法有何區別

RSA 的 PKCS #1 padding 方案在加密前對明文信息進行了隨機數填充。 這個博客解析這個的 w屏w蔽w/spencerN/archive/2012/10/18/2729602.html

閱讀全文

與rsa私鑰加密相關的資料

熱點內容
伺服器一直崩應該用什麼指令 瀏覽:916
cm202貼片機編程 瀏覽:723
php構造函數帶參數 瀏覽:174
解壓電波歌曲大全 瀏覽:336
為啥文件夾移到桌面成word了 瀏覽:858
命令符的安全模式是哪個鍵 瀏覽:758
編程中學 瀏覽:956
單片機求助 瀏覽:992
ug加工側面排銑毛坯怎麼編程 瀏覽:271
程序員有關的介紹 瀏覽:736
支付寶使用的什麼伺服器 瀏覽:210
安卓看本地書用什麼軟體好 瀏覽:921
經傳軟體滾動凈利潤指標源碼 瀏覽:522
螢石雲視頻已加密怎麼解除 瀏覽:574
一命令四要求五建議 瀏覽:30
qq文件夾遷移不了 瀏覽:19
液體粘滯系數測定不確定度演算法 瀏覽:332
輕棧源碼 瀏覽:426
把圖片壓縮到500k 瀏覽:35
命令你自己 瀏覽:369