密码体制Feistel 密码的相关知识
文章目錄
- 1、分組密碼的概念
- 2、密碼體制
- 2.1、密碼體制的概念
- 2.2、密碼體制的三要素
- 2.3、密碼體制的組成
- 2.4、密碼體制的基本模式
- 3、Feistel 密碼
- 3.1、Feistel密碼的核心
- 3.2、Feistel密碼構造過程
- 3.3、Feistel密碼解密過程
- 3.4、影響Feistel 結構的因素
- 3.5、Feistel結構的特點
1、分組密碼的概念
分組密碼(block cipher) 的數學模型是:將明文消息編碼表示后的數字(簡稱明文數字)序列,劃分成長度為n的組(可看成長度為n的矢量),每組分別在密鑰的控制下變換成等長的輸出數字(簡稱密文數字)序列
2、密碼體制
2.1、密碼體制的概念
密碼體制也叫密碼系統,是指能完整地解決信息安全中的機密性、數據完整性、認證、身份識別、可控性及不可抵賴性等問題中的一個或幾個的一個系統。對一個密碼體制的正確描述,需要用數學方法清楚地描述其中的各種對象、參數、解決問題所使用的算法等
2.2、密碼體制的三要素
- 算法
- 密鑰個數
- 加密方式( 分組加密 流式加密)
2.3、密碼體制的組成
通常情況下,一個密碼體制由五元組{M,C,K,E,D}五個部分
- 明文信息空間Message:它是全體明文M的集合
- 密文信息空間Ciphertext:它是全體密文C的集合
- 密鑰空間Key:它是全體密鑰K的集合。其中每一個密鑰K均由加密密鑰Ke和解密密鑰Kd組成,即K=(Ke,Kd)
- 加密算法Encryption Algorithm:它是由M到C的加密變換,即 M→C; 也就是 C = ( M,Ke)
- 解密算法Decryption Algorithm:它是由C到M的加密變換,即 C→M; 也就是 M = ( C,Kd)
2.4、密碼體制的基本模式
通常的密碼體制采用移位法、代替法和代數方法來進行加密和解密的變換
可以采用一種或幾種方法結合的方式作為數據變換的基本模式
下面舉例說明:
移位法也叫置換法。移位法把明文中的字符重新排列,字符本身不變但其位置改變了。
3、Feistel 密碼
Feistel 密碼結構,在密碼學研究中,Feistel 密碼結構是用于分組密碼中的一種對稱結構
3.1、Feistel密碼的核心
Feistel密碼的核心是代替和置換
- 代換:每個明文元素或元素被唯一地替換為相應的密文元素或元素組
- 置換:明文元素的序列被替換為該序列的一個置換。也就是說,序列里沒有元素被添加進去,刪除或替換,但序列里的元素出現的順序改變了
3.2、Feistel密碼構造過程
令F 為輪函數;令K1,K2,……,Kn 分別為第1,2,……,n 輪的子密鑰。那么基本構造過程如下:
(1)將明文信息均分為兩塊:(L0,R0);
(2)在每一輪中,進行如下運算(i 為當前輪數):
所得的結果即為:(Ri+1,Li+1)
3.3、Feistel密碼解密過程
對于密文(Rn+1,Ln+1),我們將i 由n 向0 進行,即, i = n,n-1,……,0。然后對密文進行加密的逆向操作,如下:
(1)Ri = Li+1; (2)Li = Ri+1⊕F (Li+1,Ki)。(其中⊕為異或操作)所得結果為(L0,R0),即原來的明文信息。
Feistel密碼加解密過程
3.4、影響Feistel 結構的因素
(1)塊的大小:大的塊會提高加密的安全性,但是會降低加密、解密的速度。截止至2013年,比較流行的這種方案是64 bit。而128 bit 的使用也比較廣泛。
(2)密鑰的大小:同上。而 128 bit 正逐漸取代64 bit ,成為主流。
(3)循環次數(輪次數):每多進行一輪循環,安全性就會有所提高。現階段比較流行的是16輪。
(4)子密鑰的生成算法:生成算法越復雜,則會使得密碼被破譯的難度增強,即,信息會越安全。
(5)輪函數的復雜度:輪函數越復雜,則安全性越高。
3.5、Feistel結構的特點
1、加解密算法相同;
2、16輪加密(16輪解密);
3、子密鑰產生越復雜,密碼分析就越困難;
4、輪函數越復雜,抗攻擊能力就越強;
5、密鑰長度越長,安全性增強;
6、分組越長,安全性越高。
總結
以上是生活随笔為你收集整理的密码体制Feistel 密码的相关知识的全部內容,希望文章能夠幫你解決所遇到的問題。