主題:雜亂大全06-資安與加密的那些事(4):RSA實作與應用(非對稱密鑰加密)
前言:接續前幾篇,本篇簡介非對稱金鑰加密後將講解RSA實際應用於Github情形
叮嚀:
$
代表對CMD或terminal(終端機)下指令
tags: encrypt
,RSA
本篇重點:
- 簡介非對稱金鑰加密、RSA
- 實作經驗
非對稱金鑰加密
公開金鑰密碼學也稱非對稱式密碼學是密碼學的一種演算法,它需要兩個金鑰,一個是公開密鑰,另一個是私有密鑰;公鑰用作加密,私鑰則用作解密。
白話來說:就是使用兩把鑰匙進行加密與解密,一支為公開金鑰,另一支為私人金鑰。
而在非對稱金鑰加密中最常見的方法如下,分成訊息加密與數位簽章
圖解:
RSA簡介
RSA加密演算法是一種非對稱加密演算法,在公開金鑰加密和電子商業中被廣泛使用。
RSA是由羅納德·李維斯特(Ron Rivest)、阿迪·薩莫爾(Adi Shamir)和倫納德·阿德曼(Leonard Adleman)在1977年一起提出的。
當時他們三人都在麻省理工學院工作。RSA 就是他們三人姓氏開頭字母拼在一起組成的
缺點:加密速度慢
NIST建議的RSA密鑰長度為至少2048位元
生成SSH金鑰 (應用於Github)
(step by step)
Step1 先安裝git
–
Step2 綁定Github
1 | $ git config --global user.name "Github用戶名" |
Step3 生成金鑰
(輸入完指令,接下來都按Enter即可)
1 | $ ssh-keygen -t rsa -C "註冊時GitHub的電子信箱" |
輸入完後會生成一個id_rsa.pub的SSH密鑰文件
Step4 至Github點選SSH Keys
- 網址:https://github.com/settings/keys
(點選”New SSH keys”)
Step5 輸入資料
1.title 隨便打
2.key的部分,貼上剛剛生成的id_rsa.pub
(通常在 C:/Users/你的使用者名稱/.ssh 底下)
補充: 要把裡面的內容全部複製
完成
Step6 檢查是否成功
1 | $ ssh git@github.com |
看到successfully authenticated就代表成功了
補充:
本次應用可以讓使用者於本地端進行commit遠端資料
也可以輕鬆了解RSA交付金鑰的幾個步驟
切記:不要交錯金鑰!!私鑰一旦上傳就必須重新製作
小結語:
RSA常見使用於SSL或是SSH上,非常推薦學習
後續:
結合對稱金鑰加密的速度與非對稱金鑰的安全性,而後延伸出SSL(TLS),成為訊息溝通的最主流加密方式
參考連結
生成 Github SSH RSA金鑰
https://wst24365888.github.io/hexo-github對稱加密vs非對稱加密
https://academy.binance.com/zt/security/symmetric-vs-asymmetric-encryptionSSL/TLS的二三事:
https://reurl.cc/MvWAKKSSL、TLS:
https://www.websecurity.digicert.com/zh/hk/security-topics/what-is-ssl-tls-https公開金鑰加密(非對稱式密碼學)–RSA
https://reurl.cc/9E0reO
<追隨前輩們的腳步,不停往前。>
- 若有任何問題↓
- 請聯繫我:
liao86221@gmail.com
- 或填表: https://forms.gle/4FB5Tmtd9A7XcXjF8