Ⅰ 目前常用的加密方法主要有兩種是什麼
目前常用的加密方法主要有兩種,分別為:私有密鑰加密和公開密鑰加密。私有密鑰加密法的特點信息發送方與信息接收方均需採用同樣的密鑰,具有對稱性,也稱對稱加密。公開密鑰加密,又稱非對稱加密,採用一對密鑰,一個是私人密鑰,另一個則是公開密鑰。
私有密鑰加密
私有密鑰加密,指在計算機網路上甲、乙兩用戶之間進行通信時,發送方甲為了保護要傳輸的明文信息不被第三方竊取,採用密鑰A對信息進行加密而形成密文M並發送給接收方乙,接收方乙用同樣的一把密鑰A對收到的密文M進行解密,得到明文信息,從而完成密文通信目的的方法。
這種信息加密傳輸方式,就稱為私有密鑰加密法。
私有密鑰加密的特點:
私有密鑰加密法的一個最大特點是:信息發送方與信息接收方均需採用同樣的密鑰,具有對稱性,所以私有密鑰加密又稱為對稱密鑰加密。
私有密鑰加密原理:
私有加密演算法使用單個私鑰來加密和解密數據。由於具有密鑰的任意一方都可以使用該密鑰解密數據,因此必須保證密鑰未被授權的代理得到。
公開密鑰加密
公開密鑰加密(public-key cryptography),也稱為非對稱加密(asymmetric cryptography),一種密碼學演算法類型,在這種密碼學方法中,需要一對密鑰,一個是私人密鑰,另一個則是公開密鑰。
這兩個密鑰是數學相關,用某用戶密鑰加密後所得的信息,只能用該用戶的解密密鑰才能解密。如果知道了其中一個,並不能計算出另外一個。因此如果公開了一對密鑰中的一個,並不會危害到另外一個的秘密性質。稱公開的密鑰為公鑰;不公開的密鑰為私鑰。
Ⅱ 有多少種密碼方式除了摩斯密碼外還有什麼密碼
1、RSA演算法密碼
RSA演算法是第一個能同時用於加密和數字簽名的演算法,也易於理解和操作。RSA演算法是一種非對稱密碼演算法,所謂非對稱,就是指該演算法需要一對密鑰,使用其中一個加密,則需要用另一個才能解密。
2、ECC加密法密碼
ECC演算法也是一個能同時用於加密和數字簽名的演算法,也易於理解和操作。同RSA演算法是一樣是非對稱密碼演算法使用其中一個加密,用另一個才能解密。
3、三分密碼
首先隨意製造一個3個3×3的Polybius方格替代密碼,包括26個英文字母和一個符號。然後寫出要加密的訊息的三維坐標。訊息和坐標四個一列排起,再順序取橫行的數字,三個一組分開,將這三個數字當成坐標,找出對應的字母,便得到密文。
4、柵欄加密法密碼
柵欄加密法是一種比較簡單快捷的加密方法。柵欄加密法就是把要被加密的文件按照一上一下的寫法寫出來,再把第二行的文字排列到第一行的後面。
5、針孔加密法密碼
這種加密法誕生於近代。由於當時郵費很貴,但是寄送報紙則花費很少。於是人們便在報紙上用針在需要的字下面刺一個孔,等到寄到收信人手裡,收信人再把刺有孔的文字依次排列,連成文章。
Ⅲ 所有加密方法。類似於摩斯密碼一類的
第一層是先破解摩斯電碼,按照網上的密碼表可得到:2
3
9
4
3
3
3
1
3
1
5
2
9
4
通過觀察得到,偶數位置上都不大於4,可能是手機數字對密碼,隨即得到:c
z
f
d
d
k
z
常見的密碼有qwe=abc,柵欄密碼,埃特巴什,凱撒。凱撒排除,因為你沒有給出密匙。柵欄一會考慮,因為位數是奇數。
其餘的依次用一下,分別得到:v
t
n
m
m
r
t【qwe=abc】
,x
a
u
w
w
p
a
【埃特巴什】
最後再在以上的基礎上分別用qwe和埃特巴什得到:e
g
n
o
o
i
g【埃特巴什】,u
k
g
b
b
j
k
看著並沒有具體含義,所以從頭來。把qwe倒著用用得到:e
m
y
r
r
a
m
最後把他倒過來:marry
me
希望可以幫到你,我重新組織一下
第一步:摩斯密碼,第二步,手機鍵盤,第三步倒著用qwe,第四步,倒序
這里皇上,希望對你有幫助。
Ⅳ 開發中常見的加密方式及應用
開發中常見的加密方式及應用
一、base64
簡述:Base64是網路上最常見的用於傳輸8Bit 位元組碼 的編碼方式之一,Base64就是一種基於64個可列印字元來表示二進制數據的方法。所有的數據都能被編碼為並只用65個字元就能表示的文本文件。( 65字元:A~Z a~z 0~9 + / = )編碼後的數據~=編碼前數據的4/3,會大1/3左右(圖片轉化為base64格式會比原圖大一些)。
應用:Base64編碼是從二進制到字元的過程,可用於在 HTTP 環境下傳遞較長的標識信息。例如,在Java Persistence系統Hibernate中,就採用了Base64來將一個較長的唯一 標識符 (一般為128-bit的UUID)編碼為一個字元串,用作HTTP 表單 和HTTP GET URL中的參數。在其他應用程序中,也常常需要把二進制 數據編碼 為適合放在URL(包括隱藏 表單域 )中的形式。此時,採用Base64編碼具有不可讀性,需要解碼後才能閱讀。
命令行進行Base64編碼和解碼
編碼:base64 123.png -o 123.txt
解碼:base64 123.txt -o test.png -D Base64編碼的原理
原理:
1)將所有字元轉化為ASCII碼;
2)將ASCII碼轉化為8位二進制;
3)將二進制3個歸成一組(不足3個在後邊補0)共24位,再拆分成4組,每組6位;
4)統一在6位二進制前補兩個0湊足8位;
5)將補0後的二進制轉為十進制;
6)從Base64編碼表獲取十進制對應的Base64編碼;
Base64編碼的說明:
a.轉換的時候,將三個byte的數據,先後放入一個24bit的緩沖區中,先來的byte占高位。
b.數據不足3byte的話,於緩沖區中剩下的bit用0補足。然後,每次取出6個bit,按照其值選擇查表選擇對應的字元作為編碼後的輸出。
c.不斷進行,直到全部輸入數據轉換完成。
d.如果最後剩下兩個輸入數據,在編碼結果後加1個「=」;
e.如果最後剩下一個輸入數據,編碼結果後加2個「=」;
f.如果沒有剩下任何數據,就什麼都不要加,這樣才可以保證資料還原的正確性。
二、HASH加密/單向散列函數
簡述:Hash演算法特別的地方在於它是一種單向演算法,用戶可以通過Hash演算法對目標信息生成一段特定長度(32個字元)的唯一的Hash值,卻不能通過這個Hash值重新獲得目標信息。對用相同數據,加密之後的密文相同。 常見的Hash演算法有MD5和SHA。由於加密結果固定,所以基本上原始的哈希加密已經不再安全,於是衍生出了加鹽的方式。加鹽:先對原始數據拼接固定的字元串再進行MD5加密。
特點:
1) 加密 後密文的長度是定長(32個字元的密文)的
2)如果明文不一樣,那麼散列後的結果一定不一樣
3)如果明文一樣,那麼加密後的密文一定一樣(對相同數據加密,加密後的密文一樣)
4)所有的加密演算法是公開的
5)不可以逆推反算(不能根據密文推算出明文),但是可以暴力 破解 ,碰撞監測
原理:MD5消息摘要演算法,屬Hash演算法一類。MD5演算法對輸入任意長度的消息進行運行,產生一個128位的消息摘要。
1)數據填充
對消息進行數據填充,使消息的長度對512取模得448,設消息長度為X,即滿足X mod 512=448。根據此公式得出需要填充的數據長度。
填充方法:在消息後面進行填充,填充第一位為1,其餘為0。
2)添加信息長度
在第一步結果之後再填充上原消息的長度,可用來進行的存儲長度為64位。如果消息長度大於264,則只使用其低64位的值,即(消息長度 對264取模)。
在此步驟進行完畢後,最終消息長度就是512的整數倍。
3)數據處理
准備需要用到的數據:
4個常數:A = 0x67452301, B = 0x0EFCDAB89, C = 0x98BADCFE, D = 0x10325476;
4個函數:F(X,Y,Z)=(X & Y) | ((~X) & Z);G(X,Y,Z)=(X & Z) | (Y & (~Z));H(X,Y,Z)=X ^ Y ^ Z;I(X,Y,Z)=Y ^ (X | (~Z));
把消息分以512位為一分組進行處理,每一個分組進行4輪變換,以上面所說4個常數為起始變數進行計算,重新輸出4個變數,以這4個變數再進行下一分組的運算,如果已經是最後一個分組,則這4個變數為最後的結果,即MD5值。
三、對稱加密
經典演算法:
1)DES數據加密標准
DES演算法的入口參數有三個:Key、Data、Mode。其中Key為8個位元組共64位,是DES演算法的工作密鑰;Data也為8個位元組64位,是要被加密或被解密的數據;Mode為DES的工作方式,有兩種:加密或解密。
DES演算法是這樣工作的:如Mode為加密,則用Key去把數據Data進行加密, 生成Data的密碼形式(64位)作為DES的輸出結果;如Mode為解密,則用Key去把密碼形式的數據Data解密,還原為Data的明碼形式(64位)作為DES的輸出結果。在通信網路的兩端,雙方約定一致的Key,在通信的源點用Key對核心數據進行DES加密,然後以密碼形式在公共通信網(如電話網)中傳輸到通信網路的終點,數據到達目的地後,用同樣的Key對密碼數據進行解密,便再現了明碼形式的核心數據。這樣,便保證了核心數據(如PIN、MAC等)在公共通信網中傳輸的安全性和可靠性。
2)3DES使用3個密鑰,對消息進行(密鑰1·加密)+(密鑰2·解密)+(密鑰3·加密)
3)AES高級加密標准
如圖,加密/解密使用相同的密碼,並且是可逆的
四、非對稱加密
特點:
1)使用公鑰加密,使用私鑰解密
2)公鑰是公開的,私鑰保密
3)加密處理安全,但是性能極差
經典演算法RSA:
1)RSA原理
(1)求N,准備兩個質數p和q,N = p x q
(2)求L,L是p-1和q-1的最小公倍數。L = lcm(p-1,q-1)
(3)求E,E和L的最大公約數為1(E和L互質)
(4)求D,E x D mode L = 1
五、數字簽名
原理以及應用場景:
1)數字簽名的應用場景
需要嚴格驗證發送方身份信息情況
2)數字簽名原理
(1)客戶端處理
對"消息"進行HASH得到"消息摘要"
發送方使用自己的私鑰對"消息摘要"加密(數字簽名)
把數字簽名附著在"報文"的末尾一起發送給接收方
(2)服務端處理
對"消息" HASH得到"報文摘要"
使用公鑰對"數字簽名"解密
對結果進行匹配
六、數字證書
簡單說明:
證書和駕照很相似,裡面記有姓名、組織、地址等個人信息,以及屬於此人的公鑰,並有認證機構施加數字簽名,只要看到公鑰證書,我們就可以知道認證機構認證該公鑰的確屬於此人。
數字證書的內容:
1)公鑰
2)認證機構的數字簽名
證書的生成步驟:
1)生成私鑰openssl genrsa -out private.pem 1024
2)創建證書請求openssl req -new -key private.pem -out rsacert.csr
3)生成證書並簽名,有效期10年openssl x509 -req -days 3650 -in rsacert.csr -signkey private.pem -out rsacert.crt
4)將PEM格式文件轉換成DER格式openssl x509 -outform der -in rsacert.crt -out rsacert.der
5)導出P12文件openssl pkcs12 -export -out p.p12 -inkey private.pem -in rsacert.crt
iOS開發中的注意點:
1)在iOS開發中,不能直接使用PEM格式的證書,因為其內部進行了Base64編碼,應該使用的是DER的證書,是二進制格式的;
2)OpenSSL默認生成的都是PEM格式的證書。
七、https
HTTPS和HTTP的區別:
超文本傳輸協議HTTP協議被用於在Web瀏覽器和網站伺服器之間傳遞信息。HTTP協議以明文方式發送內容,不提供任何方式的數據加密,如果攻擊者截取了Web瀏覽器和網站伺服器之間的傳輸報文,就可以直接讀懂其中的信息,因此HTTP協議不適合傳輸一些敏感信息,比如信用卡號、密碼等。
為了解決HTTP協議的這一缺陷,需要使用另一種協議:安全套接字層超文本傳輸協議HTTPS。為了數據傳輸的安全,HTTPS在HTTP的基礎上加入了SSL協議,SSL依靠證書來驗證伺服器的身份,並為瀏覽器和伺服器之間的通信加密。
HTTPS和HTTP的區別主要為以下四點:
1)https協議需要到ca申請證書,一般免費證書很少,需要交費。
2)http是 超文本傳輸協議 ,信息是明文傳輸,https則是具有 安全性 的 ssl 加密傳輸協議。
3)http和https使用的是完全不同的連接方式,用的埠也不一樣,前者是80,後者是443。
4)http的連接很簡單,是無狀態的;HTTPS協議是由SSL+HTTP協議構建的可進行加密傳輸、身份認證的 網路協議 ,比http協議安全。
5)SSL:Secure Sockets Layer安全套接字層;用數據加密(Encryption)技術,可確保數據在網路上傳輸過程中不會被截取及竊聽。目前一般通用之規格為40 bit之安全標准,美國則已推出128 bit之更高安全標准,但限制出境。只要3.0版本以上之I.E.或Netscape 瀏覽器 即可支持SSL。目前版本為3.0。SSL協議位於TCP/IP協議與各種應用層協議之間,為數據通訊提供安全支持。SSL協議可分為兩層:SSL記錄協議(SSL Record Protocol):它建立在可靠的傳輸協議(如TCP)之上,為高層協議提供數據封裝、壓縮、加密等基本功能的支持。SSL握手協議(SSL Handshake Protocol):它建立在SSL記錄協議之上,用於在實際的數據傳輸開始前,通訊雙方進行身份認證、協商加密演算法、交換加密密鑰等。
Ⅳ 世界上各種密碼的形式
1、二方密碼:
二方密碼(en:Two-square_cipher)比四方密碼用更少的矩陣。
得出加密矩陣的方法和四方密碼一樣。
例如用「example」和「keyword」作密匙,加密lp。首先找出第一個字母(L)在上方矩陣的位置,再找出第二個字母(P)在下方矩陣的位置:
E X A M P
L B C D F
G H I J K
N O R S T
U V W Y Z
K E Y W O
R D A B C
F G H I J
L M N P S
T U V X Z
在上方矩陣找第一個字母同行,第二個字母同列的字母;在下方矩陣找第一個字母同列,第二個字母同行的字母,那兩個字母就是加密的結果:
E X A M P
L B C D F
G H I J K
N O R S T
U V W Y Z
K E Y W O
R D A B C
F G H I J
L M N P S
T U V X Z
help me的加密結果:
he lp me
HE DL XW
這種加密法的弱點是若兩個字同列,便採用原來的字母,例如he便加密作HE。約有二成的內容都因此而暴露。
2、四方密碼
四方密碼用4個5×5的矩陣來加密。每個矩陣都有25個字母(通常會取消Q或將I,J視作同一樣,或改進為6×6的矩陣,加入10個數字)。
首先選擇兩個英文字作密匙,例如example和keyword。對於每一個密匙,將重復出現的字母去除,即example要轉成exampl,然後將每個字母順序放入矩陣,再將餘下的字母順序放入矩陣,便得出加密矩陣。
將這兩個加密矩陣放在右上角和左下角,餘下的兩個角放a到z順序的矩陣:
a b c d e E X A M P
f g h i j L B C D F
k l m n o G H I J K
p r s t u N O R S T
v w x y z U V W Y Z
K E Y WO a b c d e
R D A BC f g h i j
F G H I J k l m n o
L M N P S p r s t u
T U V X Z v w x y z
加密的步驟:
兩個字母一組地分開訊息:(例如hello world變成he ll ow or ld)
找出第一個字母在左上角矩陣的位置
a b c d e E X A M P
f g h i j L B C D F
k l m n o G H I J K
p r s t u N O R S T
v w x y z U V W Y Z
K E Y W O a b c d e
R D A B C f g h i j
F G H I J k l m n o
L M N P S p r s t u
T U V X Z v w x y z
同樣道理,找第二個字母在右下角矩陣的位置:
a b c d e E X A M P
f g h i j L B C D F
k l m n o G H I J K
p r s t u N O R S T
v w x y z U V W Y Z
K E Y W O a b c d e
R D A B C f g h i j
F G H I J k l m n o
L M N P S p r s t u
T U V X Z v w x y z
找右上角矩陣中,和第一個字母同行,第二個字母同列的字母:
a b c d e E X A M P
f g h i j L B C D F
k l m n o G H I J K
p r s t u NO R S T
v w x y z U V W Y Z
K E Y W O a b c d e
R D A B C f g h i j
F G H I J k l m n o
L M N P S p r s t u
T U V X Z v w x y z
找左下角矩陣中,和第一個字母同列,第二個字母同行的字母:
a b c d e E X A M P
f g h i j L B C D F
k l m n o G H I J K
p r s t u N O R S T
v w x y z U V W Y Z
K E Y W O a b c d e
R D A B C f g h i j
F G H I J k l m n o
L M N P S p r s t u
T U V X Z v w x y z
這兩個字母就是加密過的訊息。
he lp me ob iw an ke no bi的加密結果:
FY GM KY HO BX MF KK KI MD
3、三分密碼
首先隨意製造一個3個3×3的Polybius方格替代密碼,包括26個英文字母和一個符號。然後寫出要加密的訊息的三維坐標。訊息和坐標四個一列排起,再順序取橫行的數字,三個一組分開,將這三個數字當成坐標,找出對應的字母,便得到密文。
(5)全部密文加密方式擴展閱讀:
加密方法:
替換加密法:用一個字元替換另一個字元的加密方法。
換位加密法:重新排列明文中的字母位置的加密法。
回轉輪加密法:一種多碼加密法,它是用多個回轉輪,每個回轉輪實現單碼加密。這些回轉輪可以組合在一起,在每個字母加密後產生一種新的替換模式。
多碼加密法:一種加密法,其替換形式是:可以用多個字母來替換明文中的一個字母。
夾帶法:通過隱藏消息的存在來隱藏消息的方法。
Ⅵ 數據加密的方法和類型
數據加密方法有鏈路加密、節點加密和端到端加密。所謂數據加密(Data Encryption)技術是指將一個信息(或稱明文,plain text)經過加密鑰匙(Encryption key)及加密函數轉換,變成無意義的密文(cipher text),而接收方則將此密文經過解密函數、解密鑰匙(
Ⅶ 加密方式有幾種
加密方式的種類:
1、MD5
一種被廣泛使用的密碼散列函數,可以產生出一個128位(16位元組)的散列值(hash value),用於確保信息傳輸完整一致。MD5由美國密碼學家羅納德·李維斯特(Ronald Linn Rivest)設計,於1992年公開,用以取代MD4演算法。這套演算法的程序在 RFC 1321 標准中被加以規范。
2、對稱加密
對稱加密採用單鑰密碼系統的加密方法,同一個密鑰可以同時用作信息的加密和解密,這種加密方法稱為對稱加密,也稱為單密鑰加密。
3、非對稱加密
與對稱加密演算法不同,非對稱加密演算法需要兩個密鑰:公開密鑰(publickey)和私有密鑰(privatekey)。公開密鑰與私有密鑰是一對,如果用公開密鑰對數據進行加密,只有用對應的私有密鑰才能解密。
如果用私有密鑰對數據進行加密,那麼只有用對應的公開密鑰才能解密。因為加密和解密使用的是兩個不同的密鑰,所以這種演算法叫作非對稱加密演算法。
(7)全部密文加密方式擴展閱讀
非對稱加密工作過程
1、乙方生成一對密鑰(公鑰和私鑰)並將公鑰向其它方公開。
2、得到該公鑰的甲方使用該密鑰對機密信息進行加密後再發送給乙方。
3、乙方再用自己保存的另一把專用密鑰(私鑰)對加密後的信息進行解密。乙方只能用其專用密鑰(私鑰)解密由對應的公鑰加密後的信息。
在傳輸過程中,即使攻擊者截獲了傳輸的密文,並得到了乙的公鑰,也無法破解密文,因為只有乙的私鑰才能解密密文。
同樣,如果乙要回復加密信息給甲,那麼需要甲先公布甲的公鑰給乙用於加密,甲自己保存甲的私鑰用於解密。
Ⅷ 加密方式有幾種
加密方式的種類:
1、MD5
一種被廣泛使用的密碼散列函數,可以產生出一個128位(16位元組)的散列值(hash value),用於確保信息傳輸完整一致。MD5由美國密碼學家羅納德·李維斯特(Ronald Linn Rivest)設計,於1992年公開,用以取代MD4演算法。這套演算法的程序在 RFC 1321 標准中被加以規范。
2、對稱加密
對稱加密採用單鑰密碼系統的加密方法,同一個密鑰可以同時用作信息的加密和解密,這種加密方法稱為對稱加密,也稱為單密鑰加密。
3、非對稱加密
與對稱加密演算法不同,非對稱加密演算法需要兩個密鑰:公開密鑰(publickey)和私有密鑰(privatekey)。公開密鑰與私有密鑰是一對,如果用公開密鑰對數據進行加密,只有用對應的私有密鑰才能解密。
如果用私有密鑰對數據進行加密,那麼只有用對應的公開密鑰才能解密。因為加密和解密使用的是兩個不同的密鑰,所以這種演算法叫作非對稱加密演算法。
(8)全部密文加密方式擴展閱讀
非對稱加密工作過程
1、乙方生成一對密鑰(公鑰和私鑰)並將公鑰向其它方公開。
2、得到該公鑰的甲方使用該密鑰對機密信息進行加密後再發送給乙方。
3、乙方再用自己保存的另一把專用密鑰(私鑰)對加密後的信息進行解密。乙方只能用其專用密鑰(私鑰)解密由對應的公鑰加密後的信息。
在傳輸過程中,即使攻擊者截獲了傳輸的密文,並得到了乙的公鑰,也無法破解密文,因為只有乙的私鑰才能解密密文。
同樣,如果乙要回復加密信息給甲,那麼需要甲先公布甲的公鑰給乙用於加密,甲自己保存甲的私鑰用於解密。