Java小工匠聊密碼學 對稱加密 概述

2021-09-20 08:49:09 字數 1266 閱讀 5761

對稱加密演算法是應用較早的加密演算法,技術成熟。在對稱加密演算法中,資料發信方將明文「原始資料」和「加密金鑰「一起經過特殊加密演算法處理後,使其變成複雜的加密密文傳送出去。收信方收到密文後,若想解讀原文,則需要使用加密用過的金鑰及相同演算法的逆演算法對密文進行解密,才能使其恢復成可讀明文。在對稱加密演算法中,使用的金鑰只有乙個,發收信雙方都使用這個金鑰對資料進行加密和解密,這就要求解密方事先必須知道加密金鑰。

image.png

(1)加密金鑰與解密金鑰相同,加密演算法與解密演算法互逆

(2)演算法公開、計算量小、加密速度快、加密效率高。

(3)雙方使用相同的金鑰,安全性得不到保障。

(1)ecb:電子密碼本

最基本的加密模式,也就是通常理解的加密,相同的明文將永遠加密成相同的密文,無初始向量,容易受到密碼本重放攻擊,一般情況下很少用。

(2)cbc:密碼連線

明文被加密前要與前面的密文進行異或運算後再加密,因此只要選擇不同的初始向量,相同的密文加密後會形成不同的密文,這是目前應用最廣泛的模式。cbc加密後的密文是上下文相關的,但明文的錯誤不會傳遞到後續分組,但如果乙個分組丟失,後面的分組將全部作廢(同步錯誤)。

(3)cfb:密文反饋

類似於自同步序列密碼,分組加密後,按8位分組將密文和明文進行移位異或後得到輸出同時反饋回移位暫存器,優點最小可以按位元組進行加解密,也可以是n位的,cfb也是上下文相關的,cfb模式下,明文的乙個錯誤會影響後面的密文(錯誤擴散)。

(4)ofb:輸出反饋

將分組密碼作為同步序列密碼執行,和cfb相似,不過ofb用的是前乙個n位密文輸出分組反饋回移位暫存器,ofb沒有錯誤擴散問題。

(5) ctr : 計數器

計算器模式不常見,在ctr模式中, 有乙個自增的運算元,這個運算元用金鑰加密之後的輸出和明文異或的結果得到密文,相當於一次一密。這種加密方式簡單快速,安全可靠,而且可以並行加密,但是在計算器不能維持很長的情況下,金鑰只能使用一次。

image.png

(1) nopadding

(2) pkcs5padding

(3) iso 10126

(1)des(data encryption standard):資料加密標準,速度較快,適用於加密大量資料的場合;

(2)3des(triple des):是基於des,對一塊資料用三個不同的金鑰進行三次加密,強度更高;

(3)aes(advanced encryption standard):高階加密標準,是下一代的加密演算法標準,速度快,安全級別高,目前 aes 標準的乙個實現是 rijndael 演算法;

image

區塊鏈密碼學之對稱加密

對稱加密,顧名思義就是公鑰和私鑰都是同乙個,只有一把金鑰,那麼金鑰的共享就需要特別注意,容易洩露。但是由於它的加密效率高 速度快 占用空間小 主要用在大量資料的加密,往往需要提前分發金鑰。對稱密碼從實現上可以分為兩種 分組密碼和序列密碼。前者將明文切分為定長資料塊作為基本加密單位,應用最為廣泛。後者...

密碼學 對稱與非對稱加密 雜湊演算法

目錄 密碼學密碼學發展 對稱加密體制 非對稱加密體制 混合加密 數字信封 雜湊演算法 加密和解密秘鑰相同,或者由乙個能很容易的推出另乙個。對稱加密演算法如 des 3des aes加密等 優點 缺點 加密和解密秘鑰不相同。其中,對外公開的秘鑰,稱為公鑰。不對外公開的秘鑰,稱為私鑰。對稱加密演算法如 ...

密碼學常見基本概念 對稱加密

對稱加密 對稱加密也叫私鑰加密,指加解密使用相同秘鑰的加密演算法。資料發信方將明文 原始資料 和加密金鑰一起經過特殊加密演算法處理後,使其變成複雜的加密密文傳送出去。收信方收到密文後,若想解讀原文,則需要使用加密用過的金鑰及相同演算法的逆演算法對密文進行解密,才能使其恢復成可讀明文。在對稱加密演算法...