1:對稱性加密
這種加密方法加密解密都只用乙個密匙,加解密速度快,它要求傳送方和接收方在安全通訊之
前,商定乙個金鑰,這種加密演算法的安全性依賴於金鑰,洩漏金鑰就意味著任何人都可以對他
們傳送或接收的訊息解密,所以金鑰的保密性對通訊性至關重要。
常用的對稱性加密演算法有:des、3des、blowfish、rc2、aes以及國密的sm4,國密sm4是
為了保障商用密碼安全,國家商用密碼管理辦公室制定了一系列密碼標準。
2:非對稱性加密
這種加密演算法把密匙分成了兩個,乙個自己持有的叫私鑰,另乙個給對方,叫公鑰,公鑰加密
的資料只有私鑰能解開,私鑰加密的資料公鑰能解開。
非堆成加密是使用公鑰加密,私鑰解密。
非對稱演算法加密有rsa,elgamal、揹包演算法、rabin、d-h、ecc(橢圓曲線加密演算法)以
及國家商用密碼sm2演算法。
3:數字簽名、資訊摘要
數字簽名是使用非對稱性加密,對來方的訊息進行確認是訊息傳送方發出的,防止訊息偽造和
驗證訊息是否被篡改過。
數字簽名:
是傳送方使用私鑰加密,接收方使用公鑰解密,演算法有:
rsa:rsa數字簽名演算法主要包括md和sha兩類,有加解密,基於大整數分解問題。
dsa:僅包含數字簽名,使用dsa這種演算法的證書是沒法進行加密通訊的,基於離散
對數問題,演算法速度很快。
ecdsa:橢圓曲線數字簽名演算法,是ecc與dsa的結合,與傳統的數字簽名演算法相比,速
度快,強度高,簽名短。
資訊摘要:
單向雜湊函式得到乙個固定長度的雜湊值,是乙個不可逆過程,常用的資訊摘要算
法有:md演算法: message digest algorithm ,目前主流的是md5演算法,為第五版演算法,
之前有md2、md3、md4演算法。
sha演算法:安全雜湊演算法(secure hash algorithm)主要適用於數字簽名標準
(digital signature standard dss)裡面定義的數字簽名演算法(digital
signature algorithm dsa);
mac演算法:帶有密碼資訊的資訊摘要演算法,是對md和sha演算法的演變和改進,包括
hmacmd2、hmacmd4、hmacmd5、hmacsha-256等。
要達到防止偽造和驗證資料是否被篡改的目的,可以將整個資訊進行簽名,但是一般信
息過長,加密太慢,可以對資訊的唯一摘要進行加密,就要使用到摘要演算法(hash算
法),將明文資訊生成乙個較短的固定長度的值,比如使用md5將文件加密得到乙個固定
長度的值,然後將簽名後的摘要和資訊和傳送給接收方,接收方首先對發過來的資訊進
行解密,解密得到乙個摘要(md5),然後再對接收的資訊進行md5加密,得到的md5結果
匹配解密後的摘要,如果匹配成功的話證明沒有修改過,簽名方式使用signature。
4:加密和加簽的區別
加密:公鑰放在客戶端,並使用公鑰對資料進行加密,服務端拿到資料後用私鑰進行解密;
加簽:私鑰放在客戶端,並使用私鑰對資料進行加簽,服務端拿到資料後用公鑰進行驗籤。
加密完全為了加密;加簽主要是為了防惡意攻擊,防止別人模擬我們的客戶端對我們的伺服器
進行攻擊,導致伺服器癱瘓。
古典密碼演算法 替代密碼演算法
替代密碼演算法 的原理是使用替代法進行加密,就是將明文中的字元用其它字元替代後形成密文。例如 明文本母a b c d 用d e f g做對應替換後形成密文。替代密碼包括多種型別,如單錶替代密碼 多明碼替代密碼 多字母替代密碼 多表替代密碼等。下面我們介紹一種典型的單錶替代密碼,愷撒 caesar 密...
古典密碼演算法 替代密碼演算法
替代密碼演算法 的原理是使用替代法進行加密,就是將明文中的字元用其它字元替代後形成密文。例如 明文本母a b c d 用d e f g做對應替換後形成密文。替代密碼包括多種型別,如單錶替代密碼 多明碼替代密碼 多字母替代密碼 多表替代密碼等。下面我們介紹一種典型的單錶替代密碼,愷撒 caesar 密...
檢測密碼規範Java
題目原題 檢測字串是否是乙個有效的密碼,檢測的規則如下 1 密碼必須至少為8位數字密碼。2 密碼僅能包含字母和數字。3 密碼必須包含至少兩個數字。方法 一 普通方法 public class checkpassword public static boolean checkpasswordmetho...