一、對稱加密演算法
對稱加密也稱為常規加密、私鑰或單鑰加密。
乙個對稱加密由5部分組成:
- 明文(plaintext):這是原始資訊或資料,作為演算法的輸入。
- 加密演算法(encryption algorithm):加密演算法對明文進行各種替換和轉換。
- 金鑰(secret key):金鑰也是演算法的輸入。演算法進行的具體替換和轉換取決於金鑰。
- 密文(ciphertext):這是產生的已被打亂的訊息輸出。
- 解密演算法(decryption algorithm):本質上是加密演算法的反向執行。它使用密文和同一金鑰產生產生原始明文。
常用的演算法包括:
des(data encryption standard):資料加密標準,速度較快,適用於加密大量資料的場合。
3des(triple des):是基於des,對一塊資料用三個不同的金鑰進行三次加密,強度更高。
aes(advanced encryption standard):高階加密標準,是下一代的加密演算法標準,速度快,安全級別高;
資料加密標準(data encryption standard, des)於2023年被美國國家標準局(national bureau of standard, nbs),即現在國家標準和技術協會(national institute of standards and technology,nist)採納為聯邦46(fips pub 46)。這個演算法本身指的是資料加密演算法(data encryption algorithm)。des採用了64位的分組長度和56位的金鑰長度。它將64位的經過一系列的變換得到64位的輸出,解密則使用了相同的步驟和相同的金鑰。
下圖是des加密演算法的整體流程圖:
64位輸入明文先進行初始置換ip,然後進行16輪相同的函式作用,最後在進行乙個逆初始置換輸出64位的密文。上圖的右半部分是金鑰的產生和使用過程,首先64位金鑰壓縮置換後變為56位,然後進行迴圈左移和置換選擇得到子金鑰和每輪的輸入。
每輪的具體操作流程:
每輪的變換過程可以記為下面的公式:
明文輸入的64位,被分成兩部分l和r,r又作為下一輪迭代的l,r經過f函式的作用輸出32位的資料,再與本輪的l異或產生下一輪的r。
下**釋了s盒在f函式中的使用方法:
一共有8個s盒,每個s盒都輸入6位,輸出4位。盒si輸入的第一位和最後一位組成乙個二進位制數,用來選擇s盒4行代替值中的一行,中間4位組成的二進位制數用來選擇16列中的一列。選中的是十進位制數轉換成二進位制數後得到輸出的4位二進位制數。
對稱加密之DES加密演算法
演算法說明 作為des資料加密標準的演算法實現,dea data encryption algorithm 是一種被廣泛應用的基於金鑰的經典對稱分組加密演算法,這些年來,對尋找和研究該演算法的弱點進行了非常多的嘗試,使得des是現存加密演算法中被研究得最為徹底的乙個。即使在當今由於計算硬體發展飛速,...
對稱加密演算法 非對稱加密演算法
對稱加密演算法 對稱加密演算法是應用較早的加密演算法,技術成熟。在對稱加密演算法中,資料發信方將明文 原始資料 和加密金鑰一起經過特殊加密演算法處理後,使其變成複雜的加密密文傳送出去。收信方收到密文後,若想解讀原文,則需要使用加密用過的金鑰及相同演算法的逆演算法對密文進行解密,才能使其恢復成可讀明文...
DES加密演算法
命名空間 system.security.cryptography 定義訪問資料加密標準 des 演算法的加密服務提供程式 csp 版本的包裝物件。無法繼承此類。測試1加密頁面 protected void page load object sender,eventargs e response.r...