Re: [問題] openssl rsa 產生key的過程

作者: filiaslayers (司馬雲)   2018-07-18 10:53:35
懶著用推文,直接回
跟據RSA的原理,他是用非對稱式的金鑰在做加解密
假設做出來的金鑰是A跟B,兩邊是不能互推的
也就是說只有A你得不到B,反之亦然
但是,私鑰跟公鑰不等於A跟B的關系
私鑰比較像是A+B,而公鑰只有A或B
我不知道為什麼你會覺得流程應該要有public key
因為A、B是等價的,沒有所謂哪一把是public key
叫private key,是因為他包含了A+B的資訊
所以才能夠由private key推得public key
也就是由A+B產生只有A或B的key
至於要產生純A與純B,我是沒找過
但這種可能就不叫public key與private key了
※ 引述《bdvstg (bdvstg)》之銘言:
: 大家好
: 我對openssl 產生RSA public key / private key
: 的過程有些疑惑 來這邊請教大家
: 我看網路上的文件 (有關openssl 產生 RSA key的)
: 都是先產生private key (解密用私鑰)
: 再使用這個private key去產生public key(加密用公鑰)
: 但是依據我看
: https://hackernoon.com/how-does-rsa-work-f44918df914b
: (推薦想看原理的人看這篇)
: 再去對照 wiki
: https://en.wikipedia.org/wiki/RSA_(cryptosystem)
: 發現流程應該是先會有public key,然後才會有private key
: 流程跟openssl是相反的
: 而且產生完key pair後,只要刪除關鍵的資訊 (第一篇文章的 L=6 )
: 應該是無法由任意一邊推出另一邊才對
: 但是openssl卻可以藉由private key產生public key
: 這樣是不是說openssl 產生出來的 private key有包含那些關鍵的資訊?
: 那這樣的話
: openssl有沒有辦法產生無法推出公鑰的私鑰
: 有的話關鍵字要怎麼下或是要怎麼做?
: 底下題外話
: 目前在寫電子產品軟體的更新的部分,正在研究更新包的流程
: 想要弄一個只有我可以製作更新包的方法
: 由於產品是要賣的,且有console可以連
: 所以密碼甚麼的都是有機會被看到的,原本在用的des3就首先被我捨棄了
: 非對稱式的首先就想到RSA
: 但是在測試過程中就發現怎麼跟我想的不一樣,所以上來發問
作者: bdvstg (bdvstg)   2018-07-18 12:00:00
叫private key,是因為他包含了A+B的資訊這句話對我衝擊好大XDDD會有這樣的誤解大概是因為我大多只用公鑰加密 用私鑰解密我一直以為AB是單向 看到你的回文 試過才發現是雙向 謝謝
作者: ckc1ark (偽物)   2018-07-18 14:16:00
私鑰簽章 公鑰驗證 只是用詞不同而已 做一樣的事

Links booklink

Contact Us: admin [ a t ] ucptt.com