feistel密码_密码学中的Feistel密码

feistel密码

The Feistel Cipher is a structure used to create block ciphers. It has many rounds of encryption to increase security. In each round, different techniques are applied to the plain text to encrypt it. Each round has one substitution technique. The plain text after passing through all these rounds gets converted into the Ciphertext. The complete process of the encryption is explained as follows,

Feistel密码是用于创建分组密码的结构。 它具有多轮加密以提高安全性。 在每一轮中,将不同的技术应用于纯文本以对其进行加密。 每回合都有一种替代技术。 经过所有这些回合后的纯文本将转换为密文。 加密的完整过程说明如下:

Feistel密码加密过程 (The Feistel Cipher encryption process)

The process of encryption Feistel Cipher takes place as follows,

Feistel Cipher的加密过程如下:

  1. In this Cipher, the plain text is divided into two equal parts. The left part is denoted as L and the Right part is denoted as R.

    在此密码中,纯文本分为两个相等的部分。 左侧部分表示为L,右侧部分表示为R。

  2. Every round has an encryption function that is applied to the plain text. (It is applied only to one of the two divisions of the plain text, that is to the left one.)

    每个回合都有应用于纯文本的加密功能。 (它仅适用于纯文本的两个部分之一,即左边的部分。)

  3. The encryption function is applied on the left part of the plain text and the right part goes unchanged in every round.

    加密功能应用于纯文本的左侧,而右侧在每一轮中均保持不变。

  4. The encryption function has two parameters: Encryption key and Right part of the plain text.

    加密功能具有两个参数:加密密钥和纯文本的右侧部分。

  5. XOR operation is performed between the Left part and the encryption function.

    在左侧部分和加密功能之间执行XOR操作。

  6. The Right part becomes the Left part of the next round and the output of the XOR operation becomes the Right part of the next round. It means that the substituted right part and unchanged right part are swapped for the next round.

    右部分成为下一轮的左部分,异或运算的输出成为下一轮的右部分。 这意味着替换的右侧部分和未更改的右侧部分将交换到下一轮。

  7. Each round has a different encryption key or we can say that the key is round dependent, i.e. the key for every round is generated in advance.

    每个回合都有不同的加密密钥,或者我们可以说该密钥与回合相关,即,每个回合的密钥都是预先生成的。

  8. The process shown above is of a single round. The number of rounds depends upon the algorithm of the process.

    上面显示的过程是单回合。 轮数取决于过程的算法。

The difficult part of this algorithm is designing the round function because it must be applied in every round until the final ciphertext is received. The more the number of rounds, the more secure the data becomes.

该算法的困难部分是设计回合函数,因为必须在每个回合中应用它,直到接收到最终密文为止。 轮数越多,数据变得越安全。

Feistel Cipher in Cryptography


The process of one round is shown in the diagram

下一轮的过程如图所示

The decryption process of Feistel Cipher is given below,

Feistel密码的解密过程如下:

The decryption process of Feistel Cipher is almost the same as the encryption process. Just like we entered the plain text in the Feistel block, we have to do the same with the ciphertext. The ciphertext will be divided into two parts just like the plain text. The only difference is that the keys will be used in reverse order.

Feistel Cipher的解密过程与加密过程几乎相同。 就像我们在Feistel块中输入纯文本一样,我们也必须对密文进行相同的处理。 密文将与纯文本一样分为两部分。 唯一的区别是按键将以相反的顺序使用。

Number of rounds:

轮数:

The number of rounds depends upon how much security you want. Security is directly proportional to the number of rounds. But simultaneously it slows down the speed of encryption and decryption. The larger the number of rounds is, the creation of ciphertext from plain text and plain text from ciphertext will be slow.

轮数取决于所需的安全性。 安全性与回合数成正比。 但是同时会减慢加密和解密的速度。 轮数越大,从纯文本创建密文和从密文创建纯文本的速度将变慢。

翻译自: https://www.includehelp.com/cryptography/feistel-cipher.aspx

feistel密码

  • 2
    点赞
  • 7
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值