Cryptographic Algorithms 密碼演算法

更新於 發佈於 閱讀時間約 5 分鐘
  • Cryptographic concepts 密碼學概念

Encryption and Decryption 加密與解密 - Encoding and Decoding 編碼與解碼

明文(Plaintext)是未編碼的訊息
密文(Ciphertext)是編碼訊息
    • 密碼分析(Cyptanalysis)是破解密碼系統
    • Hashing algorithms 哈希演算法
    • Encryption ciphers 加密密碼
      • Symmetric 對稱
      • Asymmetric 不對稱


  • Symmetric encryption 對稱加密

Same secret key encrypts and decrypts 使用相同的密碼進行加密與解密

    • Alice與Bob進行加密文件傳送前,需要先見面將鑰匙交給對方,之後才能使用這把鑰匙進行加密與解密。
      • 缺點:傳送過程中易被串改、保管密碼不易
      • 優點:快速,適合大量資料批量加密
    • AES/AES256 (Advanced Encryption Standard)
      • 256-bit 鑰匙比 126-bit 鑰匙強
      • 密碼越長也需要更多的資源來處理加解密問題
AES-128 加密
此選項使用 128 位元金鑰,以速度和安全性之間的平衡而聞名。AES-128 為一般數據安全需求提供強大的保護,包括安全檔案共享和需要高速的應用程式中的基本數據保護。

AES-192 加密
使用 192 位元金鑰,這個版本的 AES 提供比 AES-128 更高的安全等級。雖然速度稍慢,但 AES-192 常用於需要更強加密但不希望承擔 AES-256 額外計算需求的行業。它適合用於政府或監管環境中的安全通信

AES-256 加密
AES 最安全的版本,AES-256 使用 256 位元金鑰,對於當前技術來說幾乎不受暴力破解攻擊的影響。雖然它是計算上最密集的,但在需要最大安全性的應用中,如金融交易、雲端儲存和數據備份中被偏好使用。
AES-256 廣泛應用於需要頂級安全的行業,如醫療保健和金融服務。


  • Key length 密碼長度

更長的鑰匙長度更能防止暴力密碼攻擊


  • Asymmetric encryption 非對稱加密

使用公鑰加密私鑰解密,或私要加密公鑰解密。

    • Public/private key pair
      • 公鑰與私鑰無法透過推導得出 (可能性非常小)
      • 私鑰必須保密
    • Bob 將公鑰透過網路傳送給 Alice,Alice 用此公鑰加密文件,Bob 透過私鑰進行解密
      • 缺點:緩慢(不是合用於大量數據)、公鑰可能遭串改
      • 優點:中間人竊取到公鑰或加密文件都無法進行解密。
    • RSA 密碼 (麻省理工教授Rivest,南加大教授Shamir,以色列密碼學家Adelman 三位發明家姓氏組成)
      • 2048-bit or better
      • 接收端產生公鑰與私鑰,將公鑰透過網際網路傳送給傳送端,傳送端用公鑰進行加密後透過網際網路傳送給接收端,最後接收端使用私鑰進行解密。
圖片來自 https://nordvpn.com/zh-tw/blog/rsa-jiami/

圖片來自 https://nordvpn.com/zh-tw/blog/rsa-jiami/


    • ECC 密碼 (Elliptic Curve Cryptography) 橢圓曲線密碼學
      • 256-bit or better
      • 相較RSA 長度較短、安全性較高,因此速度快,頻寬要求低。
  • Hashing 哈希演算法
    • Non-reversible 不可回朔
    • 家密得出的結果是固定長度,不會因為檔案大小而有不同。
    • 用於辨識文件是否有被更動過,用於識別完整性
    • SHA (Secure Hash Algorithm) 安全雜湊演算法
      • 256-bit or better
    • MD5 (Message Digest Algorithm)
      • only 128-bit


  • Digital signatures 數位簽名

非對稱是加密與哈希演算法共用

    • Alice 將傳送的訊息進行 hash 後,用Alice的私鑰進行加密,生成數位簽名。Bob 收到數位簽名與訊息後,用 Alice 的公鑰進行解密並確認 hash 結果是否一致。
      • 缺點:密鑰管理、信任機構(CA)依賴性。
      • 優點:防止偽造和冒充,
    • 數位簽章提供完整性身分驗證不可否認性
      • 身分驗證 - 私鑰簽名,因此可確認身分。
      • 不可否認性 - 簽名者無法否認自己簽署過文件,這在法律和商業交易中非常重要。



avatar-img
0會員
8內容數
隨手紀錄 學習的痕跡
留言0
查看全部
avatar-img
發表第一個留言支持創作者!
XYZ 的其他內容
Security control categories 安全控制類別 Managerial 管理控制 涉及制定和執行安全政策和程序,以管理和保護組織的資產。例如風險評估、資產管理和安全審計。 Operational 操作控制 涉及日常運營活動,以確保安全措施的有效實施。例如員工培訓、變更管理
Security Concepts Information security CIA triad Cybersecurity framework Gap analysis Access control IAM and AAA Security Controls Security co
Security control categories 安全控制類別 Managerial 管理控制 涉及制定和執行安全政策和程序,以管理和保護組織的資產。例如風險評估、資產管理和安全審計。 Operational 操作控制 涉及日常運營活動,以確保安全措施的有效實施。例如員工培訓、變更管理
Security Concepts Information security CIA triad Cybersecurity framework Gap analysis Access control IAM and AAA Security Controls Security co
你可能也想看
Google News 追蹤
Thumbnail
/ 大家現在出門買東西還會帶錢包嗎 鴨鴨發現自己好像快一個禮拜沒帶錢包出門 還是可以天天買滿買好回家(? 因此為了記錄手機消費跟各種紅利優惠 鴨鴨都會特別注意銀行的App好不好用! 像是介面設計就是會很在意的地方 很多銀行通常會為了要滿足不同客群 會推出很多App讓使用者下載 每次
Thumbnail
在這個章節中,我們介紹了HTML的基本概念,包括其作為結構化標記語言的特性、應用領域,以及主要使用者。這些知識為後續的深入學習和實踐奠定了基礎,幫助讀者了解HTML在現代網頁開發中的重要性。
Thumbnail
本篇文章講解了字符編碼的基礎知識,包括ASCII, Unicode 和 UTF-8的誕生背景、解決的問題以及轉換方式。瞭解這些知識有助於解決在讀檔案時用錯誤的編碼方式轉換就會出現亂碼等問題。文章內容涉及電腦技術中的字符編碼相關歷史緣由,可幫助讀者解決相關疑問。
Thumbnail
※ OPP第一大核心-封裝 封裝的精神在於將「方法」、「屬性」和「邏輯」包裝在類別裡面,透過類別的實例來實現。這樣外部物件不需要了解內部的實現細節,只需要知道如何使用該類別提供的接口即可。換句話說,封裝是將內部細節隱藏起來,只暴露必要的部分給使用者。 封裝的核心概念是,使用者如果想要接觸資料,只
首先定義符號: 因此我們有​ 其中 再定義State Avtion Value.Function、Value Function和Advantage Function分別為: 接著我定義 此外觀察上述定義,能有 因此我有以下展開 這時回顧 因此我有 結合之後得到 移項之後得到 接
Thumbnail
Creative Coding 作品變化概念,有或沒有的差別,隨機性,色彩模式的調整...等
Thumbnail
關於程式語言的學習,只要掌握住幾個基本特性要熟悉幾種程式語言也不困難,這三個基本特性就是…
Thumbnail
介紹C++ 語法 資料型態,架構說明 程式語言為人類與電腦溝通的工具 程式設計流程: 定義問題 -> 問題分析 -> 撰寫演算法 ->程式撰寫 -> 程式執行及維護
Thumbnail
最近有專案需求要在 Web 上進行一個掃描條碼辨識的動作,做了一些功課,有 Open Source 方案跟商業解決方案,整理起來分享給大家。
Thumbnail
/ 大家現在出門買東西還會帶錢包嗎 鴨鴨發現自己好像快一個禮拜沒帶錢包出門 還是可以天天買滿買好回家(? 因此為了記錄手機消費跟各種紅利優惠 鴨鴨都會特別注意銀行的App好不好用! 像是介面設計就是會很在意的地方 很多銀行通常會為了要滿足不同客群 會推出很多App讓使用者下載 每次
Thumbnail
在這個章節中,我們介紹了HTML的基本概念,包括其作為結構化標記語言的特性、應用領域,以及主要使用者。這些知識為後續的深入學習和實踐奠定了基礎,幫助讀者了解HTML在現代網頁開發中的重要性。
Thumbnail
本篇文章講解了字符編碼的基礎知識,包括ASCII, Unicode 和 UTF-8的誕生背景、解決的問題以及轉換方式。瞭解這些知識有助於解決在讀檔案時用錯誤的編碼方式轉換就會出現亂碼等問題。文章內容涉及電腦技術中的字符編碼相關歷史緣由,可幫助讀者解決相關疑問。
Thumbnail
※ OPP第一大核心-封裝 封裝的精神在於將「方法」、「屬性」和「邏輯」包裝在類別裡面,透過類別的實例來實現。這樣外部物件不需要了解內部的實現細節,只需要知道如何使用該類別提供的接口即可。換句話說,封裝是將內部細節隱藏起來,只暴露必要的部分給使用者。 封裝的核心概念是,使用者如果想要接觸資料,只
首先定義符號: 因此我們有​ 其中 再定義State Avtion Value.Function、Value Function和Advantage Function分別為: 接著我定義 此外觀察上述定義,能有 因此我有以下展開 這時回顧 因此我有 結合之後得到 移項之後得到 接
Thumbnail
Creative Coding 作品變化概念,有或沒有的差別,隨機性,色彩模式的調整...等
Thumbnail
關於程式語言的學習,只要掌握住幾個基本特性要熟悉幾種程式語言也不困難,這三個基本特性就是…
Thumbnail
介紹C++ 語法 資料型態,架構說明 程式語言為人類與電腦溝通的工具 程式設計流程: 定義問題 -> 問題分析 -> 撰寫演算法 ->程式撰寫 -> 程式執行及維護
Thumbnail
最近有專案需求要在 Web 上進行一個掃描條碼辨識的動作,做了一些功課,有 Open Source 方案跟商業解決方案,整理起來分享給大家。