雜亂大全06-資安與加密的那些事(4):RSA實作與應用(非對稱密鑰加密)

  • 主題:雜亂大全06-資安與加密的那些事(4):RSA實作與應用(非對稱密鑰加密)

  • 前言:接續前幾篇,本篇簡介非對稱金鑰加密後將講解RSA實際應用於Github情形

  • 叮嚀: $ 代表對CMD或terminal(終端機)下指令

tags: encrypt,RSA

本篇重點:

  1. 簡介非對稱金鑰加密、RSA
  2. 實作經驗

非對稱金鑰加密

公開金鑰密碼學也稱非對稱式密碼學是密碼學的一種演算法,它需要兩個金鑰,一個是公開密鑰,另一個是私有密鑰;公鑰用作加密,私鑰則用作解密。

白話來說:就是使用兩把鑰匙進行加密與解密,一支為公開金鑰,另一支為私人金鑰。

而在非對稱金鑰加密中最常見的方法如下,分成訊息加密與數位簽章

圖解:
image


RSA簡介

RSA加密演算法是一種非對稱加密演算法,在公開金鑰加密和電子商業中被廣泛使用。
RSA是由羅納德·李維斯特(Ron Rivest)、阿迪·薩莫爾(Adi Shamir)和倫納德·阿德曼(Leonard Adleman)在1977年一起提出的。
當時他們三人都在麻省理工學院工作。RSA 就是他們三人姓氏開頭字母拼在一起組成的

缺點:加密速度慢


生成SSH金鑰 (應用於Github)

(step by step)

Step1 先安裝git

Step2 綁定Github

1
2
$ git config --global user.name "Github用戶名"
$ git config --global user.email "註冊時GitHub的電子信箱"

Step3 生成金鑰

(輸入完指令,接下來都按Enter即可)

1
$ ssh-keygen -t rsa -C "註冊時GitHub的電子信箱"

輸入完後會生成一個id_rsa.pub的SSH密鑰文件


Step4 至Github點選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),成為訊息溝通的最主流加密方式


參考連結


<追隨前輩們的腳步,不停往前。>