密碼學加密算法分類_密碼學中的國際數據加密算法(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.pswp.cn/news/380180.shtml
繁體地址,請注明出處:http://hk.pswp.cn/news/380180.shtml
英文地址,請注明出處:http://en.pswp.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…

.net知識和學習方法系列(六)關于數值類型

過年總是忙&#xff0c;沒有更多的時間來寫博客&#xff0c;不過還是挺想念這塊地方的。 本次博客說一下數值類型吧&#xff01; 不管那種語言&#xff0c;都為數據類型一說&#xff0c;在C#中也是&#xff0c;不過C#的數據類型分了兩類&#xff0c;一是值類型&#xff0c;一是…

【競賽題解】2021年廣東工業大學第十五屆文遠知行杯程序設計競賽(同步賽)

B 找山坡 題意&#xff1a;在數組中找到兩相等元素相距最大的距離且這兩元素間的元素都不小于該兩端值 思路&#xff1a;采用單調棧 例如&#xff1a;a[] { 2 3 5 4 6 3 }&#xff0c;棧內存儲元素的坐標&#xff08;從1開始&#xff09;&#xff0c;便于計算距離 首先將a[…

[轉]JAVA AES 加密算法

本文轉自&#xff1a;http://blog.sina.com.cn/s/blog_7c8eb1590100svr0.html package com.siro.tools;import javax.crypto.Cipher;import javax.crypto.spec.IvParameterSpec;import javax.crypto.spec.SecretKeySpec;import sun.misc.BASE64Decoder;import sun.misc.BASE64E…

java中Scanner類中 next()與nextLine()的區別

問題&#xff1a;提示用戶輸入一個英文字符串或者要解密的字符串&#xff0c;然后通過掃描儀獲取用戶輸入的字符串&#xff0c;經過加密或者解密后&#xff0c;把字符串輸出。 import java.util.Scanner;public class Encryption {public static void main(String[] args) {Sca…

操作系統中的處理機調度調度_操作系統中的流程分類和調度

操作系統中的處理機調度調度處理 (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介紹 溢出攻擊的本質在于馮諾依曼計算機模型對數據和代碼沒有明確區分這一先天性缺…

網站SEO策略的制定

在對一個網站做SEO的時候&#xff0c;SEO技術水平類似的人&#xff0c;營銷效果可能天壤之別&#xff0c;這是因為網站SEO策略的制定的不同&#xff01;-----這個是最根本的。 SEO技術非常的簡單&#xff0c;因為SEO不是去尋找搜索引擎的漏洞&#xff0c;而是根據搜索引…

Python | 程序從列表中刪除范圍內的所有元素

Given a list and we have to remove elements in a range from the list in Python. 給定一個列表&#xff0c;我們必須從Python中的列表中刪除范圍內的元素。 刪除列表(開始索引&#xff0c;結束索引) (del list(start_index, end_index)) del() method is used to remove a…

面向對象 (接口 Interface)

1&#xff0c;面向對象(接口的概述及其特點) A:接口概述 從狹義的角度講就是指java中的interface從廣義的角度講對外提供規則的都是接口 B:接口特點 a:接口用關鍵字interface表示 interface 接口名 {}b:類實現接口用implements表示 class 類名 implements 接口名 {}c:接口…

android unbound prefix

少一個命名空間加上就行了&#xff1a;xmlns:android"http://schemas.android.com/apk/res/android" 轉載于:https://www.cnblogs.com/nizuimeiabc1/archive/2011/10/09/4254310.html

【競賽題解】第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;棧數據不可執行 使用命令&…

C#全局鼠標鍵盤Hook (備查)

using System; using System.Collections.Generic; using System.Reflection; using System.Runtime.InteropServices; using System.Text; using System.Windows.Forms; namespace DCIEngine.FrameWork.Snap { /// <summary> /// 這個類可以讓你得到一個在…

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,…

親和數

Problem Description 古希臘數學家畢達哥拉斯在自然數研究中發現&#xff0c;220的所有真約數(即不是自身的約數)之和為&#xff1a; 1245101120224455110&#xff1d;284。 1* 220220&#xff1b;2* 110220&#xff1b;4* 55220&#xff1b;5* 44220&#xff1b;10*20220;…

轉:JNI jstring與c++字符串類型轉換函數

jstring與c字符串類型轉換函數 jstring str2jstring(JNIEnv* env,const char* pat) {//定義java String類 strClassjclass strClass (env)->FindClass("Ljava/lang/String;");//獲取String(byte[],String)的構造器,用于將本地byte[]數組轉換為一個新Stringjmetho…

python字符串轉浮點數_如何在Python中檢查字符串是否為數字(浮點數)?

python字符串轉浮點數Using python it is very to interconvert the datatypes of a variable. A string can be easily converted to an integer or a float. However, asserting a string to be a float is a task by itself. Python provides an option to assert if a stri…

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;輸出最后極差和…