加密演算法概述

2021-08-09 19:56:26 字數 1290 閱讀 7111

在程式設計中我覺的最重要的有三個部分程式語言,演算法和資料結構。如果失掉了演算法和資料結構那但留下程式語言也就沒有存在的必要了。因為前幾天工作中前端人員寫好了加密演算法,我在後端進行解析,同時把返回前端的資料也進行加密。我根據這種情況來介紹一下。本篇文章主要講一下加密的一些概念。

在密碼學中有幾個重要的概念:

私鑰(private key)——私有的鑰匙

公鑰(public key)——公開的鑰匙

金鑰(secret key)——秘密的鑰匙,分為對稱金鑰與非對稱金鑰

根據密碼演算法所使用的加密金鑰和解密金鑰是否相同、能否由加密過程推導出解密過程(或者由解密過程推導出加密過程),可將密碼體制分為對稱密碼體制(也叫作單鑰密碼體制、秘密金鑰密碼體制、對稱金鑰密碼體制)和非對稱密碼體制(也叫作雙鑰密碼體制、公開金鑰密碼體制、非對稱金鑰密碼體制)。

對稱金鑰加密,又稱私鑰加密或會話金鑰加密演算法,即資訊的傳送方和接收方使用同乙個金鑰去加密和解密資料。它的最大優勢是加/解密速度快,適合於對大資料量進行加密,但金鑰管理困難。

非對稱金鑰加密系統,又稱公鑰金鑰加密。它需要使用不同的金鑰來分別完成加密和解密操作,乙個公開發布,即公開金鑰,另乙個由使用者自己秘密儲存,即私用金鑰。資訊傳送者用公開金鑰去加密,而資訊接收者則用私用金鑰去解密。公鑰機制靈活,但加密和解密速度卻比對稱金鑰加密慢得多。非對稱金鑰加密技術採用一對匹配的金鑰進行加密、解密,具有兩個金鑰,乙個是公鑰乙個是私鑰,它們具有這種性質:每把金鑰執行一種對資料的單向處理,每把的功能恰恰與另一把相反,一把用於加密時,則另一把就用於解密。用公鑰加密的檔案只能用私鑰解密,而私鑰加密的檔案只能用公鑰解密。 公共金鑰是由其主人加以公開的,而私人金鑰必須保密存放。為傳送乙份保密報文,傳送者必須使用接收者的公共金鑰對資料進行加密,一旦加密,只有接收方用其私人金鑰才能加以解密。 相反地,使用者也能用自己私人金鑰對資料加以處理。換句話說,金鑰對的工作是可以任選方向的。

人們通常將兩者結合在一起使用,例如,對稱金鑰加密系統用於儲存大量資料資訊,然後在用公開金鑰加密系統來加密金鑰。

非對稱例項

目前為止,rsa是應用最多的公鑰加密演算法,能夠抵抗已知的絕大多數密碼攻擊,已被iso推薦為公鑰資料加密標準。rsa演算法中,每個通訊主體都有兩個鑰匙,乙個公鑰(public key)用來對資料進行加密; 乙個私鑰(private key)用來對資料進行解密。

對稱例項

des(data encryption standard,資料加密標準)

3des(triple des、desede,進行了三重des加密的演算法)

aes(advanced encryption standard,高階資料加密標準,aes演算法可以有效抵制針對des的攻擊演算法)

加密演算法簡單概述

基本過程就是對原來為明文的檔案或資料按某種演算法進行處理,使其成為不可讀的一段 通常稱為 密 文 使其只能在輸入相應的金鑰之後才能顯示出本來內容,通過這樣的途徑來達到保護資料不被非法人竊取 閱讀 的目的。該過程的逆過程為解密,即將該編碼資訊轉化為其原來資料的過程。功能 對稱 symmetric 演算...

加密演算法整理概述

加密技術通常分為兩大類 對稱式 和 非對稱式 對稱式加密 加密和解密使用同乙個金鑰,通常稱之為 session key 如des,它的session key長度為56bits。非對稱式加密 加密和解密所使用的不是同乙個金鑰,通常有兩個金鑰,稱為 公鑰 和 私鑰 如rsa。des 金鑰較短,加密處理簡...

常用加密演算法概述

題外話 最近某人在參加ctf比賽,為了尋找共同話題,並督促很久沒動過腦的我學習,也給我講解了幾道題。經過考慮,加密方面的題和我的專業相符些,所以決定先攻破這方面的一些習題,權作打發時間了。在此總結一些作題過程中涉及的演算法,加深記憶。1.base64 概述 把明文對應成64個字元的加密演算法。方法 ...