密码学加密算法分类_密码学中的国际数据加密算法(IDEA)

密码学加密算法分类

Introduction

介绍

International Data Encryption Algorithm (IDEA) is a type of cryptography as a block cipher algorithm designed by "Xuejia Lai" and "James L.Massey" of ETH-Zürich and was first published in the 1991 year. Then, the original algorithm went through a few modifications and finally named as International Data Encryption Algorithm (IDEA) as follows. The mentioned algorithm works on 64-bit plain text and cipher text block at one time in the algorithm. Then, For encryption, the 64-bit plain text is divided into four 16 bits sub-blocks of the algorithm. In our discussion, we denote these four blocks as P1 (16 bits), P2 (16 bits), P3 (16 bits) and P4 (16 bits) as the divide of 4 blocks. Here, each of these blocks goes through 8 ROUNDS and one OUTPUT TRANSFORMATION phase at the end of the operation. In each of these eight rounds, some as arithmetic and logical operations are performed by this algorithm. Therefore, the eight ROUNDS are the same sequences of operations are repeated after every round in the cryptography.International Data Encryption Algorithm (IDEA) is a type of cryptography as a block cipher algorithm designed by "Xuejia Lai" and "James L.Massey" of ETH-Zürich and was first published in the 1991 year. Then, the original algorithm went through a few modifications and finally named as International Data Encryption Algorithm (IDEA) as follows. The mentioned algorithm works on 64-bit plain text and cipher text block at one time in the algorithm. Then, For encryption, the 64-bit plain text is divided into four 16 bits sub-blocks of the algorithm. In our discussion, we denote these four blocks as P1 (16 bits), P2 (16 bits), P3 (16 bits) and P4 (16 bits) as the divide of 4 blocks. Here, each of these blocks goes through 8 ROUNDS and one OUTPUT TRANSFORMATION phase at the end of the operation. In each of these eight rounds, some as arithmetic and logical operations are performed by this algorithm. Therefore, the eight ROUNDS are the same sequences of operations are repeated after every round in the cryptography.

国际数据加密算法(IDEA)是一种加密技术,它是由ETH-Zürich的“ Xuejia Lai”和“ James L.Massey”设计的一种分组密码算法,于1991年首次发布。 然后,对原始算法进行了一些修改,最终将其命名为国际数据加密算法(IDEA),如下所示。 提到的算法在该算法中一次可处理64位纯文本和密文块。 然后,为了进行加密,将64位纯文本分为该算法的四个16位子块。 在我们的讨论中,我们将这四个块表示为P1(16位),P2(16位),P3(16位)和P4(16位)作为4个块的划分。 在此,每个块在操作结束时都要经过8个回合和一个输出转换阶段。 在这八个回合的每个回合中,此算法都会执行一些算术和逻辑运算。 因此,在密码学中的每个回合之后,八个ROUNDS都是相同的操作序列。国际数据加密算法(IDEA)是一种密码学,它是由“学家来”和“詹姆斯·马塞(James L.Massey)”设计的分组密码算法。于1991年首次出版。 然后,对原始算法进行了一些修改,最终将其命名为国际数据加密算法(IDEA),如下所示。 提到的算法在该算法中一次可处理64位纯文本和密文块。 然后,为了进行加密,将64位纯文本分为该算法的四个16位子块。 在我们的讨论中,我们将这四个块表示为P1(16位),P2(16位),P3(16位)和P4(16位)作为4个块的划分。 在此,每个块在操作结束时都要经过8个回合和一个输出转换阶段。 在这八个回合的每个回合中,此算法都会执行一些算术和逻辑运算。 因此,在密码学中的每一轮之后,八个ROUNDS是相同的操作序列。

At the last phase, i.e., the OUTPUT TRANSFORMATION phase, we perform only arithmetic operations with 4 keys in the cryptography.  International Data Encryption Algorithm (IDEA) is a type of cryptography as a block cipher algorithm designed by "Xuejia Lai" and "James L.Massey" of ETH-Zürich and was first published in the 1991 year. Then, the original algorithm went through a few modifications and finally named as International Data Encryption Algorithm (IDEA) as follows. The mentioned algorithm works on 64-bit plain text and cipher text block at one time in the algorithm. Then, For encryption, the 64-bit plain text is divided into four 16 bits sub-blocks of the algorithm. In our discussion, we denote these four blocks as P1 (16 bits), P2 (16 bits), P3 (16 bits) and P4 (16 bits) as the divide of 4 blocks. Here, each of these blocks goes through 8 ROUNDS and one OUTPUT TRANSFORMATION phase at the end of the operation. In each of these eight rounds, some as arithmetic and logical operations are performed by this algorithm. Therefore, the eight ROUNDS are the same sequences of operations are repeated after every round in the cryptography. At the last phase, i.e., the OUTPUT TRANSFORMATION phase, we perform only arithmetic operations with 4 keys in the cryptography.

在最后一个阶段,即输出转换阶段,我们仅使用密码学中的4个密钥执行算术运算。 国际数据加密算法(IDEA)是一种加密技术,它是由ETH-Zürich的“ Xuejia Lai”和“ James L.Massey”设计的一种分组密码算法,于1991年首次发布。 然后,对原始算法进行了一些修改,最终将其命名为国际数据加密算法(IDEA),如下所示。 提到的算法在该算法中一次可处理64位纯文本和密文块。 然后,为了进行加密,将64位纯文本分为该算法的四个16位子块。 在我们的讨论中,我们将这四个块表示为P1(16位),P2(16位),P3(16位)和P4(16位)作为4个块的划分。 在此,每个块在操作结束时都要经过8个回合和一个输出转换阶段。 在这八个回合的每个回合中,此算法都会执行一些算术和逻辑运算。 因此,在密码学中的每一轮之后,八个ROUNDS是相同的操作序列。 在最后一个阶段,即输出转换阶段,我们仅使用密码学中的4个密钥执行算术运算。

It is an IDEA, unlike the other block cipher algorithms is studied by the Swiss firm of Ascom. However, be unique in permit with permission with free noncommercial use of their algorithm which the result that IDEA is best known as the block cipher algorithm used within the popular encryption for the message character.The algorithm is suggested in its own right. It has some steps which make it appear that it might be a non-invertible hash function instead of a block cipher in the cryptography. Also, it is told in that it entirely ignores the use of any S-boxes or given lookup table in the cryptography.

它是一种IDEA,与瑞士Ascom公司研究的其他分组密码算法不同。 但是,在允许自由使用非商业用途的算法的情况下,在许可方面是唯一的,其结果是IDEA最广为人知的消息字符流行加密中使用的分组密码算法。 它具有一些步骤,使其看起来可能是不可逆的哈希函数,而不是密码术中的分组密码。 而且,据告知,它完全忽略了密码术中对任何S盒或给定查询表的使用。

Here, IDEA uses 52 subkeys and every 16 bits long of character. Here, two are used during each round in the IDEA proper and four are used before every round and after the last round. It has eight rounds and at last output round which includes 4 keys.The original text or plaintext block in IDEA is divided into four blocks and each 16 bits long. Mainly, three operations are used in IDEA to combine two 16 bit values to produce a 16-bit result as ciphertext as addition, XOR, and multiplication. Here,  Addition is normal addition with carries the modulo 65,536. Multiplication, as used in IDEA, requires some need for explanation.

在这里,IDEA使用52个子项,每16位字符长。 这里,在IDEA适当的每一轮中使用了两个,在每一轮之前和最后一轮之后使用了四个。 它有8个回合,最后一个输出回合包含4个键.IDEA中的原始文本或纯文本块分为四个块,每个块长16位。 在IDEA中,主要使用三个运算来组合两个16位值以产生一个16位结果,作为密文的加法,XOR和乘法。 在此,加法是正常的加法运算,带有65,536的模。 IDEA中使用的乘法需要一些解释。

Now, Multiplication by zero always produces zero and is not invertible in the message. Multiplication modulo n is also not invertible whenever it is by a number that is not relatively prime to n like this. The main single way multiplication is used in IDEA, it must be always invertible in the message form in the cryptography.

现在,乘以零总是产生零,并且在消息中不可逆。 乘模n每次也不是不可逆的,就不能像这样对n进行质数运算。 在IDEA中使用主要的单向乘法,它必须始终以密码形式的消息形式可逆。

IDEA的框图 (Block Diagram of IDEA)

IDEA (1)

The plaintext of 64-bit input block-divided into 4 part (16 bits each) Declare p1 to p4:

将64位输入块的明文分为4部分(每个16位)声明p1至p4:

  • Therefore, from plaintext p1 to p4 will be the inputs for the initial round of the algorithm in this.

    因此,从明文p1到p4将是此算法的初始回合的输入。

  • Here, are 8 such rounds.

    这是8个这样的回合。

  • Then, the key is made up of 128 bits.

    然后,密钥由128位组成。

  • In every round, 6 sub-keys will be produced by key generation.

    在每个回合中,将通过密钥生成来产生6个子密钥。

  • Each one of the sub-keys includes 16 bits of character.

    每个子键都包含16位字符。

  • All these sub-keys will be put on the 4 input blocks p1 to p4 in the operation.

    在操作中,所有这些子键都将放置在4个输入块p1至p4上。

  • There will be last actions include Output Transformation which usually benefits simply 4 sub-Keys at the last key generation.

    最后会有动作,包括输出转换,通常在最后一个密钥生成时仅受益于4个子密钥。

  • The last output created is 4 blocks of ciphertext C1 to C4 as each one of 16 bits and combine them to make a ciphertext.

    创建的最后一个输出是密文C1至C4的4个块,分别为16位,并将它们组合在一起以形成密文。

  • They are mixed to create the last 64-bit ciphertext block by this operation.

    通过此操作将它们混合在一起以创建最后的64位密文块。

加密步骤 (Steps of Encryption Process)

IDEA (2)

输出转换 (Output Transformation)

  • It can be done a one-time procedure.

    可以完成一次性过程。

  • They require places by the end of the 8th round in the operation.

    他们需要在行动的第8轮结束时获得位置。

  • Here, the input towards the Output transformation is, a 64-bit value divided into 4 sub-blocks (state R1 to R4 every among 16 bits) from the message.

    此处,输出转换的输入是一个64位的值,该值从消息分为4个子块(状态位R1至R4,每16位)。

  • The cryptography bit of four 16 bits Sub-keys (K1 to K4) is used here.

    这里使用四个16位子密钥(K1至K4)的加密位。

  • Now, the process of the outcome transformation can be as follows until now.

    到目前为止,结果转换的过程可以如下。

解密 (Decryption)

The Decryption implements like encryption, but the order of the round keys is generated, and the subkeys for the odd rounds are inversed into this. Therefore, the values of subkeys K1-K4 are replaced by the inverse of K49-K52 for the respective group operation in the cryptography, K5, and K6 of each group should be replaced by K47 and K48 for decryption in this operation in the cryptography.

解密的实现与加密类似,但是生成了回合密钥的顺序,并且奇数回合的子密钥也与此相反。 因此,对于密码学中的各个组操作,将子密钥K1-K4的值替换为K49-K52的倒数;对于密码学中的该操作,每个组的K5和K6应由K47和K48进行解密。

安全 (Security)

The implemented analyzed IDEA to measure its strength against differential cryptoanalysis and concluded that it is immune under certain assumptions in this. No successful linear or algebraic weaknesses have been reported for this view. In fact of 2007, the best attack applied to all keys could break IDEA reduced to 6 rounds as the full IDEA cipher uses 8.5 rounds as having output transformation in last having 4 keys. Required, that a "break" is an attack that requires less than 2128 operations into this algorithm; the 6-round attack requires 264 known plaintexts or original text and 2126.8 operations for the algorithm in the cryptography.The implemented analyzed IDEA to measure its strength against differential cryptoanalysis and concluded that it is immune under certain assumptions in this. No successful linear or algebraic weaknesses have been reported for this view. In fact of 2007, the best attack applied to all keys could break IDEA reduced to 6 rounds as the full IDEA cipher uses 8.5 rounds as having output transformation in last having 4 keys. Required, that a "break" is an attack that requires less than 2128 operations into this algorithm; the 6-round attack requires 264 known plaintexts or original text and 2126.8 operations for the algorithm in the cryptography.

已执行的已分析IDEA可以衡量其抵抗差分密码分析的强度,并得出结论认为在某些假设下它是不受干扰的。 对于这种观点,没有成功的线性或代数弱点的报道。 实际上,在2007年,应用于所有密钥的最佳攻击可能会将IDEA减少到6轮,因为完整的IDEA密码使用8.5轮作为最后具有4个密钥的输出转换。 要求“突破”是一种要求对该算法进行少于2128次操作的攻击。 6轮攻击需要264个已知的纯文本或原始文本以及2126.8个密码算法进行运算。实施的分析IDEA可以衡量其抵抗差分密码分析的强度,并得出结论认为在某些假设下它是免疫的。 对于这种观点,没有成功的线性或代数弱点的报道。 实际上,在2007年,应用于所有密钥的最佳攻击可能会将IDEA减少到6轮,因为完整的IDEA密码使用8.5轮作为最后具有4个密钥的输出转换。 要求“突破”是一种要求对该算法进行少于2128次操作的攻击。 6轮攻击需要264个已知的纯文本或原始文本以及2126.8个密码算法的运算。

The Bruce Schneier thought highly of IDEA in 1996, writing as follows: "According to my opinion, it is the best and most secure block algorithm available to the public at this time for the algorithm." Wherever, by 1999 he was no longer recommending IDEA due to the availability of faster algorithms, some progress in its cryptanalysis, and the issue of patents in the cryptography cryptoanalysis.Since in 2011  the full 8.5-round of IDEA was break using a meet-in-the-middle attack by this algorithm. In fact, in 2012, full 8.5-round IDEA was broken using a narrow-bicliques attack, with a reduction of cryptographic strength of about 2 bits of the character, similar to the effect of the previous bicliques attack on AES; however, this attack does not threaten the security of IDEA in practice in the algorithm of cryptography.

布鲁斯·施耐尔(Bruce Schneier)在1996年对IDEA给予了高度评价,他写道:“根据我的观点,这是目前公众可以使用的最好,最安全的块算法。” 无论何时何地,由于速度更快的算法的可用性,其密码分析的某些进展以及密码学密码分析的专利问题,到1999年,他不再推荐IDEA。自2011年以来,IDEA的8.5轮全面比赛被打破,此算法的中间攻击。 实际上,在2012年,完整的8.5轮IDEA使用了窄双斜方攻击而被破坏,使字符的加密强度降低了约2位,类似于先前对AES的双斜攻击的影响。 但是,这种攻击实际上不会在加密算法中威胁到IDEA的安全性。

It will very secure and safe to implement or encrypt or decrypt by this algorithm IDEA.

通过此算法IDEA实施,加密或解密将非常安全。

Image source: https://www.educba.com/idea-algorithm/

图片来源: https : //www.educba.com/idea-algorithm/

翻译自: https://www.includehelp.com/cryptography/international-data-encryption-algorithm-idea.aspx

密码学加密算法分类

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.mzph.cn/news/380180.shtml

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

如何定位溢出点位置

程序&#xff1a; #include <stdio.h> void exploit() {system("/bin/sh"); } void func() {char str[20];read(0,str,50);printf("the str is:%s\n",str); } int main() {func();return 0; }关掉保护机制&#xff1a; gcc -no-pie -fno-stack-pro…

【竞赛题解】2021年广东工业大学第十五届文远知行杯程序设计竞赛(同步赛)

B 找山坡 题意&#xff1a;在数组中找到两相等元素相距最大的距离且这两元素间的元素都不小于该两端值 思路&#xff1a;采用单调栈 例如&#xff1a;a[] { 2 3 5 4 6 3 }&#xff0c;栈内存储元素的坐标&#xff08;从1开始&#xff09;&#xff0c;便于计算距离 首先将a[…

操作系统中的处理机调度调度_操作系统中的流程分类和调度

操作系统中的处理机调度调度处理 (Process) In the operating system, there are numerous task and application program run simultaneously. A program is stored in the hard disk or any other form of secondary storage. When the program is executed it must be loade…

NX机制及绕过策略-ret2libc

程序&#xff1a; 1.c #include <stdio.h> void exploit() {system("/bin/sh"); } void func() {char str[0x20];read(0,str,0x50); } int main() {func();return 0; }0x01 NX介绍 溢出攻击的本质在于冯诺依曼计算机模型对数据和代码没有明确区分这一先天性缺…

【竞赛题解】第22次CCF计算机软件能力认证 B

今天&#xff08;准确说是昨天&#xff0c;一下子就过12点了&#xff09;下午刚参加了CSP认证考试&#xff0c;大概是考了220&#xff08;前两题AC&#xff0c;第三题太折磨了懒得看了&#xff0c;后面两题各混了10分&#xff09;&#xff0c;唯一有点参与感的就是B题了&#x…

gbd调试64位程序关键

程序&#xff1a; 4.c&#xff1a; #include<stdio.h> void exploit() {system("/bin/sh"); } void main() {char buf[20];gets(buf); }编译&#xff1a; gcc -no-pie -fno-stack-protector -m64 -o 4.exe 4.cNX保护&#xff0c;栈数据不可执行 使用命令&…

fcfs调度算法_FCFS:先来先服务调度算法

fcfs调度算法The FCFS, which stands for First Come First Serve Scheduling Algorithm, is a non-preemptive scheduling algorithm, which means that if a process once starts executing in the processor, then it cannot be preempted in between the processing. Thus,…

nhibernate学习之三级联(Ternary Associations)篇

1) 学习目标通过进一步学习Nhibernate基础知识&#xff0c;掌握用Nhiberate实现对级联的支持&#xff0c;通过一个简单的用户角色权限系统来体验nhibernate对级联的强大支持。2&#xff09;开发环境和必要准备 开发环境为:windows 2003,Visual studio .Net 2005,Sql server 200…

【竞赛题解】Codeforces Round #715 (Div. 2) C

C. The Sports Festival 题意&#xff1a;对于给定的整型数组aaa&#xff0c;每次选择其中一个元素aia_iai​&#xff08;不能重复选择同一元素&#xff09;&#xff0c;每次计算已选择的元素的极差&#xff08;最大元素减最小元素的差&#xff09;&#xff0c;输出最后极差和…

C和汇编---sizeof运算符和strlen函数

sizeof sizeof是C语言的内置运算符&#xff0c;以字节为单位给出指定类型的大小。 程序&#xff1a; #include <stdio.h>int main(void) {int a8;int b sizeof(a);//printf("a占用字节%u\n",sizeof(a));printf("a占用字节%d\n",b);return 0; }反汇…

[原]Asp.net替换不同版本的Dll文件碰到的问题以及解决办法.

情景还原: 今天一个朋友说网站不能上传图片,我检查后发现一直卡住在上传页面,一直滚动,是个Fckeditor控件2.6.3的. 经过google以后得到的结论是图片上传成功,但是没有返回结果,在服务器上可以看到上传的图片. 说明是上传控件有问题,程序不能返回结果. 再google以后发现有人已经…

【桶】220.存在重复元素 III 【LeetCode】

220.存在重复元素 III 【LeetCode】 给你一个整数数组 nums 和两个整数 k 和 t。请你判断是否存在 两个不同下标i和j&#xff0c;使得 abs(nums[i] - nums[j]) < t&#xff0c;同时又满足 abs(i - j) < k。 如果存在则返回 true&#xff0c;不存在返回 false。 示例 1…

远控免杀专题12--Green-Hat-Suite免杀

0x01 免杀能力一览表 几点说明&#xff1a; 1、上表中标识 √ 说明相应杀毒软件未检测出病毒&#xff0c;也就是代表了Bypass。 2、为了更好的对比效果&#xff0c;大部分测试payload均使用msf的windows/meterperter/reverse_tcp模块生成。 3、由于本机测试时只是安装了360全…

远控免杀专题 13----zirikatu免杀

0x01 免杀能力一览表 几点说明&#xff1a; 1、上表中标识 √ 说明相应杀毒软件未检测出病毒&#xff0c;也就是代表了Bypass。 2、为了更好的对比效果&#xff0c;大部分测试payload均使用msf的windows/meterperter/reverse_tcp模块生成。 3、由于本机测试时只是安装了360全…

UML 的九种模型图

1. UML的模型图 UML 的模型图能够将被建模的系统的某一个方面的某一部分以图形的方式表示出来&#xff0c;不同的视图通过将多个不同的模型图有机组合在一起就能够描述系统模型的某方面的特征。UML的模型图是有模型元素构成的&#xff0c;模型元素以图标的形式直观形象的表达…

【莫队】区间众数(Codeforces Round #716 (Div. 2) D)

D. Cut and Stick &#xff08;赛后补题&#xff09;借本题学习莫队算法以及区间众数的求法 题意&#xff1a;对于整型数组&#xff0c;每次询问[L,R][L,R][L,R]区间问最少分为多少个子序列&#xff0c;使得每个子序列的众数xxx的个数cntxcnt_xcntx​不大于 ⌈len2⌉\left \l…

如何正确使用SqlConnection

以前曾见过有人这样写代码&#xff1a; public class Service1 : IService1{private SqlConnection conn new SqlConnection();public void Method1(){//do something with conn;}public void Method2(){//do something with conn;}public void Method3(){//do something with…

远控免杀专题 14 ---AVIator

0x01 免杀能力一览表 几点说明&#xff1a; 1、上表中标识 √ 说明相应杀毒软件未检测出病毒&#xff0c;也就是代表了Bypass。 2、为了更好的对比效果&#xff0c;大部分测试payload均使用msf的windows/meterperter/reverse_tcp模块生成。 3、由于本机测试时只是安装了360全…

【Web开发】级联查询(Ajax/ jQuery/ Servlet)

实现级联查询 共有两个下拉框&#xff0c;第一级为学院&#xff0c;第二级为学院开设的科目。 实现的功能为&#xff1a;当改变学院的选择&#xff0c;第二级下拉框需变为对应学院开设的科目内容。 结果预览&#xff1a; jsp页面 <% page contentType"text/html;…

远控免杀专题(15)-DKMC免杀

0x01 免杀能力一览表 几点说明&#xff1a; 1、上表中标识 √ 说明相应杀毒软件未检测出病毒&#xff0c;也就是代表了Bypass。 2、为了更好的对比效果&#xff0c;大部分测试payload均使用msf的windows/meterperter/reverse_tcp模块生成。 3、由于本机测试时只是安装了360全…