CN1190034C - A Block Cipher Encryption Method - Google Patents

A Block Cipher Encryption Method Download PDF

Info

Publication number
CN1190034C
CN1190034C CNB011404752A CN01140475A CN1190034C CN 1190034 C CN1190034 C CN 1190034C CN B011404752 A CNB011404752 A CN B011404752A CN 01140475 A CN01140475 A CN 01140475A CN 1190034 C CN1190034 C CN 1190034C
Authority
CN
China
Prior art keywords
level
content
original
shift
key
Prior art date
Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
Expired - Fee Related
Application number
CNB011404752A
Other languages
Chinese (zh)
Other versions
CN1426191A (en
Inventor
张玉安
冯登国
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
Institute of Software of CAS
Original Assignee
Institute of Software of CAS
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Application filed by Institute of Software of CAS filed Critical Institute of Software of CAS
Priority to CNB011404752A priority Critical patent/CN1190034C/en
Publication of CN1426191A publication Critical patent/CN1426191A/en
Application granted granted Critical
Publication of CN1190034C publication Critical patent/CN1190034C/en
Anticipated expiration legal-status Critical
Expired - Fee Related legal-status Critical Current

Links

Images

Landscapes

  • Storage Device Security (AREA)

Abstract

本发明涉及一种“荡秋千”式的分组密码加密方法,包括:将明文数据按某固定长度分组成各明文组数据;设置密钥,并由密钥形成一个由256个元素构成的S盒(替换表);将明文组数据作为移位寄存器的初态;按第一种非线性逻辑右移一定拍数,再按第二种非线性逻辑左移一定拍数,再右移再左移象荡秋千一样重复执行至预设的轮数时停止;将得到的移位寄存器状态输出,作为与明文组对应的密文组。明、密文组间的非线性逻辑关系由反馈变量多次经过S盒构成。移位寄存器的状态变化,巧妙地实施明文的混合与扩散。本方法拥有良好的抵抗密钥相关攻击、线性攻击和差分攻击的性能,有安全、快速、易实现、逻辑结构简洁、严谨的特点。

Figure 01140475

The present invention relates to a "swing" block cipher encryption method, comprising: grouping plaintext data into plaintext group data according to a certain fixed length; setting a key, and forming an S-box consisting of 256 elements from the key (replacement table); use the plaintext group data as the initial state of the shift register; move right by a certain number of beats according to the first nonlinear logic, then move left by a certain number of beats according to the second nonlinear logic, then move right and then left It stops when the preset number of rounds is repeated like swinging on a swing; the obtained state of the shift register is output as the ciphertext group corresponding to the plaintext group. The non-linear logical relationship between the plaintext and ciphertext groups is formed by the feedback variable passing through the S-box for many times. The state change of the shift register cleverly implements the mixing and diffusion of plaintext. This method has good performance against key-related attacks, linear attacks and differential attacks, and has the characteristics of safety, speed, easy implementation, concise and rigorous logical structure.

Figure 01140475

Description

一种分组密码加密方法A Block Cipher Encryption Method

技术领域technical field

本发明涉及信息加密技术领域,更确切地说是涉及一种利用电子计算机技术及编码技术,形成动态电子密码的方法。The present invention relates to the technical field of information encryption, and more precisely relates to a method for forming a dynamic electronic password by utilizing electronic computer technology and coding technology.

背景技术Background technique

对信息进行加密,以防止非法人员获得信息系统中的机密信息,是保证信息安全的一个极其重要的技术手段。可靠的加密方案可以使一些敏感信息、甚至机密信息能放心大胆地在公共信道上传输或存贮在没有防护措施的介质上。Encrypting information to prevent illegal personnel from obtaining confidential information in the information system is an extremely important technical means to ensure information security. A reliable encryption scheme can enable some sensitive information, even confidential information, to be safely and boldly transmitted on public channels or stored on media without protective measures.

分组加密方法是以现代电子密码形式实现信息保密的重要技术方案之一,分组密码开始于(据公开资料)七十年代中期出现的DES。与序列密码相比,分组密码的一个突出优点是用户的密钥可以重复使用。分组加密算法的实现技术是先将明文数据分成若干个长度为n比特的明文组,再将每一个n比特的明文组用别的n比特的符号来代替,从而形成n比特的密文(即密文组)。因此分组加密方法的基本特征是一种代替作业。解密过程则是将n比特的密文组逆代为原始的n比特的明文组。目前,国际上公认的分组大小n为128和64。The block encryption method is one of the important technical schemes for realizing information security in the form of modern electronic ciphers. The block cipher began (according to public information) with the DES that appeared in the mid-1970s. A prominent advantage of block ciphers over sequence ciphers is that the user's key can be reused. The realization technology of the block encryption algorithm is to first divide the plaintext data into several plaintext groups with a length of n bits, and then replace each n-bit plaintext group with another n-bit symbol to form an n-bit ciphertext (ie ciphertext group). The essential feature of the block encryption method is therefore a substitution operation. The decryption process is to invert the n-bit ciphertext group into the original n-bit plaintext group. Currently, the internationally recognized packet sizes n are 128 and 64.

随着分组密码技术的发展,特别是近年来开展的征集密码加密标准的活动,陆续公开了一些分组密码算法。如1997年4月NIST发起征集AE8(AdvancedEncryption Standard)后,有15个分组密码方案获得了候选资格;2000年1月欧洲开始征集欧洲标准,共有17个分组密码方案参选。目前,韩国、日本和俄罗斯等国家都已制定了各自的加密标准,中国制定自己的加密标准已经事在必行。With the development of block cipher technology, especially in the activities of soliciting cipher encryption standards in recent years, some block cipher algorithms have been published successively. For example, after NIST initiated the call for AE8 (Advanced Encryption Standard) in April 1997, 15 block cipher schemes were eligible for candidates; in January 2000, Europe began to collect European standards, and a total of 17 block cipher schemes participated in the election. At present, countries such as South Korea, Japan, and Russia have formulated their own encryption standards, and it is imperative for China to formulate its own encryption standards.

显然,如果能设计出一种优良的加密方案,并将其广泛地服务于社会,将有利于推动国民经济各个重要领域的信息基础设施建设,自然是利国利民之举,因此,发明性能优良且拥有技术特色的加密方案成为我们的心愿。Obviously, if an excellent encryption scheme can be designed and widely served to the society, it will be beneficial to promote the construction of information infrastructure in various important fields of the national economy, which is naturally beneficial to the country and the people. Therefore, the invention can An excellent encryption scheme with technical features has become our wish.

在AES和欧洲加密标准征集中,共征集了30多个分组密码方案,如RIJNDAEL、RC6、MARS、TWOFISH、IDEA、SAFER++等等。这些方案基本代表了当前国际分组密码算法的水平、特点、风格和基本方向。当然,除了上述30多个方案外,还有一些其它的方案。In the collection of AES and European encryption standards, more than 30 block cipher schemes were collected, such as RIJNDAEL, RC6, MARS, TWOFISH, IDEA, SAFER++ and so on. These schemes basically represent the level, characteristics, style and basic direction of the current international block cipher algorithm. Of course, in addition to the above-mentioned more than 30 programs, there are some other programs.

分组密码算法设计的基本前提是确保和提高安全性能。综观已有的分组密码方案,存在的问题是加解密速度较慢,而且许多算法的逻辑结构较复杂,不易程序实现或难以在微型电路芯片上实现。因而,很有必要发掘这方面的潜力。The basic premise of block cipher algorithm design is to ensure and improve security performance. Looking at the existing block cipher schemes, the existing problems are that the speed of encryption and decryption is slow, and the logical structure of many algorithms is relatively complicated, which is difficult to program or realize on a microcircuit chip. Therefore, it is necessary to tap the potential in this area.

另一方面,随着半个世纪以来移位寄存器理论的逐渐成熟,移位寄存器被广泛地应用于生成伪随机序列上,特别是用于生成拥有良好统计特性的长周期序列。移位寄存器序列密码,是将移位寄存器应用于现代序列电子密码设计之中,将其作为生成伪随机密钥流序列的基础。近年来随着密码编码和分析技术的不断深入,在众多分组密码方案中有部分方案的明密文变换过程可以看作是由移位寄存器完成的,不过或多或少都存在加解密速度较慢和逻辑结构实现较复杂的问题。On the other hand, with the gradual maturity of the theory of shift registers in the past half century, shift registers are widely used to generate pseudo-random sequences, especially for generating long-period sequences with good statistical properties. The shift register sequence cipher is to apply the shift register to the modern sequence electronic cipher design, and use it as the basis for generating pseudo-random key stream sequence. In recent years, with the deepening of cipher coding and analysis technology, in many block cipher schemes, some schemes can be regarded as completing the plaintext conversion process by shift registers, but there are more or less slower encryption and decryption speeds. Slow and logical structure to implement more complex problems.

发明内容Contents of the invention

本发明的目的是设计一种分组密码加密方法,全部利用移位寄存器实现明密文的变换过程,具有安全性可靠、加解密速度快、算法逻辑易于实现等特点。The purpose of the present invention is to design a block cipher encryption method, all using shift registers to realize the transformation process of plain ciphertext, which has the characteristics of safety and reliability, fast encryption and decryption speed, and easy implementation of algorithm logic.

实现本发明目的的技术方案是这样的:一种分组密码加密方法,其特征在于包括以下处理步骤:The technical scheme that realizes the object of the present invention is such: a kind of block cipher encryption method is characterized in that comprising the following processing steps:

A.将明文数据按每组M字节(M×8比特)分成明文组,M为偶数;A. The plaintext data is divided into plaintext groups according to each group of M bytes (M * 8 bits), and M is an even number;

B.设置密钥K,并由密钥K形成256元的替换表(S盒);B. Key K is set, and a 256-yuan replacement table (S box) is formed by key K;

C.设置一个Z/(28)环上的M级移位寄存器,将M字节明文组数据对应置入M级移位寄存器中;C. Set a M-level shift register on the Z/(2 8 ) ring, and put the M byte plaintext group data into the M-level shift register correspondingly;

D.进行右移反馈,将M级移位寄存器的各级由左到右依次编号第0级、第1级、......、第M-1级,左半边的移位方式是将原第0级的内容反馈到第1级、原第1级的内容反馈到第2级、......、原第M/2-2级的内容反馈到第M/2-1级,原第M/2-1级的内容反馈到第0级,右半边的移位方式是将原第M/2级的内容反馈到第M/2+1级、原第M/2+1级的内容反馈到第M/2+2级、......、原第M-2级的内容反馈到第M-1级,原第M/2级的内容经过S盒后所得的替换值与原第M-1级的内容、原第M/2-1级的内容三者相加,再对和数模256后反馈到第M/2级,按设置的移位幅度j,右移M级移位寄存器共j拍;D. Carry out right-shift feedback, and number the stages of the M-stage shift register from left to right in order of level 0, level 1, ..., level M-1, and the shifting method of the left half is Feedback the content of the original level 0 to level 1, the content of the original level 1 to level 2, ..., the content of the original level M/2-2 to the level M/2-1 Level, the content of the original level M/2-1 is fed back to level 0, and the shift method of the right half is to feed back the content of the original level M/2 to the level M/2+1, the original M/2+ The content of level 1 is fed back to level M/2+2,..., the content of the original level M-2 is fed back to level M-1, and the content of the original level M/2 is obtained after passing through the S box The replacement value is added to the content of the original M-1 level and the content of the original M/2-1 level, and then fed back to the M/2 level after the sum of digital and analog 256, according to the set shift range j , and move the M-stage shift register to the right for a total of j beats;

E.进行左移反馈,将M级移位寄存器的各级由左到右依次编号第0级、第1级、......、第M-1级,右半边的移位方式是将原第M/2+1级的内容反馈到第M/2级、原第M/2+2级的内容反馈到第M/2+1级、......、原第M-1级的内容反馈到第M-2级,原第M/2级的内容反馈到第M-1级,左半边的移位方式是将原第M/2-1级的内容反馈到第M/2-2级、原第M/2-2级的内容反馈到第M/2-3级、......、原第1级的内容反馈到第0级,原第M/2-1级的内容经过S盒后所得的替换值与原第0级的内容和原第M/2级的内容三者相加,再对和数模256后反馈到第M/2-1级,按设置的移位幅度j,左移M级移位寄存器共j拍;E. For left-shift feedback, number the stages of the M-level shift register from left to right in order of level 0, level 1, ..., level M-1, and the shifting method of the right half is Feedback the content of the original level M/2+1 to the level M/2, the content of the original level M/2+2 to the level M/2+1,..., the original M- The content of level 1 is fed back to level M-2, the content of the original level M/2 is fed back to level M-1, and the shifting method of the left half is to feed back the content of the original level M/2-1 to level M /2-2 level, the content of the original M/2-2 level is fed back to the M/2-3 level,..., the content of the original level 1 is fed back to the 0th level, the original M/2 level The replacement value obtained after the content of level 1 passes through the S box is added to the content of the original level 0 and the content of the original level M/2, and then fed back to the level M/2-1 after the sum of the digital model 256 , according to the set shift range j, shift the M-stage shift register to the left for a total of j beats;

F.重复执行步骤D、E,直至达到预设的右移和左移轮数时停止;F. Repeat steps D and E until the preset number of right and left shifting rounds is reached and stop;

G.将停止移位后的M级移位寄存器内容作为对该明文组加密所得到的密文组。G. Use the contents of the M-level shift register after the shift is stopped as the ciphertext group obtained by encrypting the plaintext group.

所述的M值为8、12、16或20,所对应的分组大小分别为64比特、96比特、128比特和160比特。The value of M is 8, 12, 16 or 20, and the corresponding packet sizes are 64 bits, 96 bits, 128 bits and 160 bits respectively.

所述的步骤B进一步包括以下处理步骤:Described step B further comprises the following processing steps:

b1.在所设置的密钥K的长度小于32字节时,先将其循环派生为32字节,标记为第0至第31字节;b1. When the length of the set key K is less than 32 bytes, it is first cyclically derived to 32 bytes, marked as the 0th to 31st bytes;

b2.将第0至第31字节密钥符自身左循环串移1位,即将每个字符的最高比特移到最低位,构成第32字节至第63字节密钥,再将第32字节至第63字节密钥符自身左循环串移1位,构成第64字节至第95字节密钥,连续执行本步骤直至形成256字节长度的密钥;b2. Shift the 0th to 31st byte key symbol itself to the left by 1 bit, that is, move the highest bit of each character to the lowest bit to form the 32nd to 63rd byte key, and then the 32nd byte From the byte to the 63rd byte, the key symbol itself is cyclically shifted to the left by 1 bit to form the key from the 64th byte to the 95th byte, and this step is performed continuously until a key with a length of 256 bytes is formed;

b3.建立编号为0至255的密钥数组单元,将256字节长度的密钥按每数组单元放一个字节,依次顺序放入数组单元中;b3. Establish a key array unit numbered from 0 to 255, put a key with a length of 256 bytes into each array unit, and put it into the array unit in sequence;

b4.建立编号为0至255的变换数组单元,并将其数值分别置为0至255;b4. Establish transformation array units numbered from 0 to 255, and set their values to 0 to 255 respectively;

b5.设立一个记忆单元m和一个计数单元i,并约定m的初始值为0,以i计数单元中的内容为地址查出当前密钥数组单元中的数和当前变换数组单元中的数,将它们与记忆单元m的值三者加和,并对该和数模256后做为记忆单元m的新值;b5. Set up a memory unit m and a counting unit i, and agree that the initial value of m is 0, take the content in the counting unit of i as the address to find out the number in the current key array unit and the number in the current transformation array unit, Add them together with the value of the memory unit m, and use the sum as the new value of the memory unit m after modulo 256;

b6.按编号为步骤b5中的i及获得的m的新值,将变换数组单元中地址为m的单元中的数值与地址为255-i单元中的数值交换,将变换数组单元中地址为i单元中的数值与地址为255-m的单元中的数值交换;b6. be numbered as the new value of i in the step b5 and the m that obtains, the numerical value in the unit that address is m in the conversion array unit and the address are the numerical value exchange in the 255-i unit, the address in the conversion array unit is The value in the unit i is exchanged with the value in the unit whose address is 255-m;

b7.将步骤b5获得的记忆单元m的新值左循环串移一位;b7. The new value of the memory unit m obtained in step b5 is shifted one bit in the left loop;

b8.重复执行步骤b5、b6、b7,直至使计数单元i的值由0计满255,最后由变换数组单元构成256元的替换表(S盒)。b8. Steps b5, b6, and b7 are repeatedly executed until the value of the counting unit i is counted from 0 to 255, and finally a 256-element replacement table (S box) is formed by transforming the array unit.

所述步骤D、E中的经过S盒,是根据S盒输入值查询以该数值编号的变换数组单元,并将该变换数组单元中的数值作为输出值。Passing through the S box in the steps D and E is to query the transformation array unit numbered with the numerical value according to the input value of the S box, and use the numerical value in the transformation array unit as the output value.

所述步骤D、E中,在所述的各右移和左移变换中,移位幅度j是任意预置的不少于M/2的自然数。In the steps D and E, in each of the right-shift and left-shift transformations, the shift magnitude j is an arbitrarily preset natural number not less than M/2.

所述步骤F中,所述的右移和左移轮数不小于2。In the step F, the number of right shifting and left shifting wheels is not less than 2.

本发明的方法,采用先右移反馈固定拍、再左移反馈固定拍,再右移反馈另一固定拍、再左移反馈另一固定拍,...,就象荡秋千一样,故称作“荡秋千”式的分组密码加密方法。The method of the present invention adopts moving right to feed back a fixed beat, then moving left to feed back a fixed beat, then moving right to feed back another fixed beat, and then moving left to feed back another fixed beat, just like swinging on a swing, so it is called As a "swing" block cipher encryption method.

象本发明方法这样,将移位寄存器运用于分组密码方案中,而且明密文的变换过程全部由移位寄存器状态的演变来完成,是独具匠心的一种技术方案。Like the method of the present invention, the shift register is used in the block cipher scheme, and the conversion process of the plaintext is all completed by the evolution of the shift register state, which is a unique technical solution.

本发明的方法,是基于移位寄存器状态变化实施的分组加密方法,其明密文变换的全部过程均由移位寄存器逻辑实现,其主要环节包括移位寄存器的反馈逻辑、S盒的设置、移位寄存器状态的移位幅度(拍数)及右移和左移轮数控制。将明文组作为移位寄存器的初始状态,经过非线性逻辑的多次反馈递归后,再将所得的移位寄存器的状态作为密文组输出。其中明密文间的非线性逻辑关系是由于反馈变量多次经过S盒构成。如果将明密文变换看作是一个大置换,“荡秋千”式的分组密码加密方法则给出了由移位寄存器的多次非线性反馈实现的既能抗线性攻击、又能抗差分攻击的良性大置换。其中S盒是非线性反馈逻辑中的一个重要组成部分,它是由密钥决定的。知道密钥的用户,可自如地正向或逆向作移位寄存器的状态推排,逆向推排移位寄存器状态的过程就是解密的过程。攻击者则难以从高度复杂的多次非线性复合中分离出非线性反馈逻辑,或者密钥因素。The method of the present invention is a block encryption method implemented based on shift register state changes, and the entire process of its plaintext conversion is realized by shift register logic, and its main links include the feedback logic of the shift register, the setting of the S box, The shift amplitude (number of beats) of the shift register state and the number of right shift and left shift rounds are controlled. The plaintext group is used as the initial state of the shift register, and the obtained state of the shift register is output as the ciphertext group after multiple feedback recursions of nonlinear logic. Among them, the non-linear logical relationship between plaintext and ciphertext is formed because the feedback variable passes through the S-box for many times. If the plaintext transformation is regarded as a large permutation, the "swing" type block cipher encryption method provides a multi-time non-linear feedback of the shift register, which can resist both linear attack and differential attack. benign large replacement. Among them, the S-box is an important part of the nonlinear feedback logic, which is determined by the key. Users who know the key can freely push forward or reverse the state of the shift register. The process of reversely pushing the state of the shift register is the process of decryption. It is difficult for an attacker to separate the nonlinear feedback logic, or the key factor, from the highly complex multi-time nonlinear composition.

本发明的方法,其安全依据是当攻击者不占有S盒的情况下,将无法进行移位寄存器状态的推排与演变。The security basis of the method of the present invention is that when the attacker does not occupy the S box, the pushing and evolution of the state of the shift register will not be possible.

本发明的算法流程容易利用软件编程实现,且适合在微型电路芯片上实现。The algorithm flow of the present invention is easy to realize by software programming, and is suitable for realization on a microcircuit chip.

本发明的方法是拥有安全、快速、易于实现等特点的分组密码加密方法,其主要特点是:由非线性移位寄存器状态变换完成明密文的混合与扩散;采用右移反馈、左移反馈、再右移反馈、再左移反馈这种荡秋千式的移位方式。具体实施中,明文数据的分组大小除了128比特外还可以有64、96、160等多种选择。The method of the present invention is a block cipher encryption method with the characteristics of safety, fastness, and easy implementation, and its main features are: the mixing and diffusion of plaintext and ciphertext are completed by the state transformation of the nonlinear shift register; , then move to the right for feedback, and then move to the left for feedback, which is a swing-style shifting method. In a specific implementation, besides 128 bits, the packet size of the plaintext data can also have multiple options such as 64, 96, and 160 bits.

附图说明Description of drawings

图1是选择16级移位寄存器时的右移反馈结构示意图;Fig. 1 is a schematic diagram of a right-shift feedback structure when a 16-stage shift register is selected;

图2是选择16级移位寄存器时的左移反馈结构示意图;Fig. 2 is a schematic diagram of a left-shift feedback structure when a 16-stage shift register is selected;

图3是选择8级移位寄存器时的右移反馈结构示意图;Fig. 3 is a schematic diagram of a right-shift feedback structure when an 8-stage shift register is selected;

图4是选择8级移位寄存器时的左移反馈结构示意图。FIG. 4 is a schematic diagram of a left-shift feedback structure when an 8-stage shift register is selected.

具体实施方式Detailed ways

以128比特分组为例,参见图1、图2,令Q是环Z/(28)上的一个16级移位寄存器。生成密码过程包括图1结构所示的右移反馈逻辑和图2所示的左移反馈逻辑两种反馈方式。Taking 128-bit grouping as an example, see Fig. 1 and Fig. 2, let Q be a 16-stage shift register on the ring Z/(2 8 ). The process of generating a password includes two feedback modes: the right-shift feedback logic shown in the structure shown in FIG. 1 and the left-shift feedback logic shown in FIG. 2 .

图中11、12为模256加法, 为S盒,S盒是一个由密钥预置的由256个元素构成的替换表。11 and 12 in the figure are modulo 256 addition, It is an S box, and the S box is a substitution table composed of 256 elements preset by a key.

其加密流程是:将16字节明文数据依次放入移存器Q的第0至15级。应用者可以根据自己的意愿规定轮数和每轮反馈拍数(即回荡幅度),如设定轮数为3,每轮反馈拍数依次为10、9、8,则按图1逻辑将Q右移反馈10拍,再按图2逻辑将Q左移反馈10拍,再按图1逻辑右移反馈9拍,再按图2逻辑左移反馈9拍,再按图1逻辑右移反馈8拍,再按图2逻辑左移反馈8拍,然后将得到的16级移位寄存器的16字节状态作为密文组输出。The encryption process is: put 16 bytes of plaintext data into the 0th to 15th levels of the shift register Q in sequence. The user can specify the number of rounds and the number of feedback beats in each round (that is, the echo amplitude) according to their own wishes. For example, if the number of rounds is set to 3, and the number of feedback beats in each round is 10, 9, and 8 in sequence, the Q Move the feedback to the right by 10 beats, then move Q to the left for 10 beats according to the logic in Figure 2, then move the feedback to the right by 9 beats according to the logic in Figure 1, then move the feedback to the left by 9 beats according to the logic in Figure 2, and then move the feedback to the right by 8 according to the logic in Figure 1 beat, and then follow the logical left shift feedback in Figure 2 for 8 beats, and then output the obtained 16-byte state of the 16-stage shift register as a ciphertext group.

右移反馈时,左半边的移位方式是将原第0级的内容反馈到第1级、原第1级的内容反馈到第2级、......、原第6级的内容反馈到第7级,原第7级的内容反馈到第0级。右半边的移位方式是将原第8级的内容反馈到第9级、原第9级的内容反馈到第10级、......、原第14级的内容反馈到第15级。原第8级的内容经过S盒后所得的替换值与原第15级的内容和原第7级的内容三者加和并模256后反馈到第8级。When the feedback is shifted to the right, the shift method of the left half is to feed back the content of the original level 0 to level 1, the content of the original level 1 to level 2, ..., the content of the original level 6 Feedback to level 7, the content of the original level 7 is fed back to level 0. The shifting method of the right half is to feed back the content of the original level 8 to level 9, the content of the original level 9 to level 10, ..., the content of the original level 14 to level 15 . The replacement value of the original 8th level content after passing through the S box, the content of the original 15th level and the original 7th level content are summed and modulo 256, and then fed back to the 8th level.

左移反馈时,右半边的移位方式是原第9级的内容反馈到第8级、原第10级的内容反馈到第9级、......、原第15级的内容反馈到第14级,原第8级的内容反馈到第15级。左半边的移位方式是原第7级的内容反馈到第6级、原第6级的内容反馈到第5级、......、原第1级的内容反馈到第0级,原第7级的内容经过S盒后所得的替换值与原第0级的内容和原第8级的内容三者加和并模256后反馈到第7级。When the feedback is shifted to the left, the shift method of the right half is that the content of the original 9th level is fed back to the 8th level, the content of the original 10th level is fed back to the 9th level, ..., the content of the original 15th level is fed back At the 14th level, the content of the original 8th level is fed back to the 15th level. The shifting method of the left half is that the content of the original level 7 is fed back to level 6, the content of the original level 6 is fed back to level 5, ..., the content of the original level 1 is fed back to level 0, The replacement value of the original level 7 content after passing through the S box, the content of the original level 0 and the content of the original level 8 are summed and modulo 256, and then fed back to level 7.

实施时使用者可以自己设定轮数和移位反馈拍数。轮数越大或拍数越大,则安全性越高、运算速度越慢。During implementation, the user can set the number of rounds and the number of displacement feedback beats by himself. The greater the number of rounds or the greater the number of beats, the higher the security and the slower the calculation speed.

又如当分组为64比特(8个字节)时,参见图3、图4,图中21、22为模256加法,Q′是环Z/(28)上的8级移位寄存器。从左到右各级编号为第0至第7级。加密过程包括如图3结构所示的右移反馈和如图4结构所示的左移反馈两种反馈方式。Another example is when the packet is 64 bits (8 bytes), see Fig. 3 and Fig. 4, 21 and 22 in the figure are modulo 256 addition, and Q' is an 8-stage shift register on the ring Z/(2 8 ). The levels are numbered from 0 to 7 from left to right. The encryption process includes two feedback modes, the right-shift feedback shown in the structure shown in FIG. 3 and the left-shift feedback shown in the structure shown in FIG. 4 .

应用者可根据自己的意愿规定轮数和每轮反馈拍数(即回荡幅度),比如规定轮数为4和每轮反馈拍数依次为7、5、6、5。其加密流程是:将8字节明文数据依次放入移存器Q′的第0至7级,按图3逻辑将Q′先右移反馈7拍,再按图4逻辑将Q′左移反馈7拍,再按图3逻辑将Q′右移反馈5拍,再按图4逻辑将Q′左移反馈5拍,再分别按图3、图4逻辑右移反馈6拍、左移反馈6拍,再分别按图3、图4逻辑右移反馈5拍、左移反馈5拍,然后将得到的移位寄存器Q′的8字节状态做为密文输出。Users can specify the number of rounds and the number of feedback beats in each round (ie the reverberation range) according to their wishes, for example, the number of rounds is 4 and the number of feedback beats in each round is 7, 5, 6, 5 in sequence. The encryption process is: put 8 bytes of plaintext data into the 0th to 7th levels of the shift register Q' in sequence, shift Q' to the right according to the logic in Figure 3 and feed back 7 beats, and then shift Q' to the left according to the logic in Figure 4 Feedback 7 beats, then move Q′ to the right for 5 beats according to the logic in Figure 3, then move Q’ to the left for 5 beats according to the logic in Figure 4, and then move to the right for 6 beats and left feedback according to the logic in Figure 3 and Figure 4 respectively 6 beats, and then respectively according to Fig. 3 and Fig. 4 logic right shift feedback 5 beats, left shift feedback 5 beats, and then the obtained 8-byte state of the shift register Q' is output as ciphertext.

同理,还可设计出分组块为96比特或160比特时的“荡秋千”式的分组加密情形。Similarly, it is also possible to design a "swing" type packet encryption situation when the block size is 96 bits or 160 bits.

本发明方法中,S盒的预置是极其重要的组成部分,因其操作是按一字节进行的,即8比特进8比特出,因此S盒是由密钥预置的256元置换表(28=256)。其预置步骤如下:In the method of the present invention, the preset of the S box is an extremely important component, because its operation is carried out by one byte, that is, 8 bits are entered and 8 bits are output, so the S box is a 256-element replacement table preset by the key (28=256). The preset steps are as follows:

1).如果密钥长度少于32字节,先将其经循环填充派生为32字节,并将这32字节编号为第0至31;1). If the length of the key is less than 32 bytes, it is firstly derived into 32 bytes through cyclic padding, and the 32 bytes are numbered as 0 to 31;

2).将第0至31字节密钥符自身左循环串移1位构成第32至第63字节密钥,将第32至63字节密钥符自身左循环串移1位构成第64至第95字节密钥,......,依此类推,直至派生出第224至255字节密钥,并将这256字节密钥对应放入密钥数组单元Key[0]-Key[255]中,设其中的任一个密钥数组单元为Key[i];2). Shift the 0th to 31st byte key symbol itself to the left by 1 bit to form the 32nd to 63rd byte key, and shift the 32nd to 63rd byte key symbol to the left by 1 bit to form the 32nd to 63rd byte key symbol itself The 64th to 95th byte key, ..., and so on, until the 224th to 255th byte key is derived, and the 256 byte key is correspondingly put into the key array unit Key[0 ]-Key[255], set any one of the key array units as Key[i];

3).设置变换数组S[0]-S[255],并对它们分别初始预置为数值0-255,设其中的任一个变换数组为S[i],令m为一个记忆单元,并初始预置m=0,然后,对i=0到255做以下操作:3). Set the transformation arrays S[0]-S[255], and preset them as values 0-255 respectively, set any one of the transformation arrays as S[i], let m be a memory unit, and Initially preset m=0, then, do the following operations for i=0 to 255:

{给m赋新值:m←(m+Key[i]+s[i])mod 256;{Assign a new value to m: m←(m+Key[i]+s[i]) mod 256;

交换S[m]与S[255-i];Exchange S[m] and S[255-i];

交换S[i]与S[255-m];Exchange S[i] and S[255-m];

m左循环串移一位;m Left circular shift one bit;

}}

经上述操作所得到的S[0]-S[255]即为该密钥装置所设置的S盒,显然S[0]-S[255]是一个可逆的替换表。The S[0]-S[255] obtained through the above operations is the S-box set by the key device, and obviously S[0]-S[255] is a reversible substitution table.

下面以密钥为16进制符号“61 62 63 64 65 66 67 68 69 6a”为例,即键盘输入八单位ASCII字符a b c d e f g h i j,给出按128比特分组情况下加密一组明文的基本过程及中间结果。The following takes the key as the hexadecimal symbol "61 62 63 64 65 66 67 68 69 6a" as an example, that is, the keyboard enters the eight-unit ASCII character a b c d e f g h i j, and the case of grouping by 128 bits is given The basic process and intermediate results of encrypting a set of plaintext.

首先生成S盒。First generate the S-box.

将10字节密钥循环派生为32字节,即“61 62 63 64 65 66 67 68 69 6a61 62 63 64 65 66 67 68 69 6a  61 62 63 64 65 66 67 68 69 6a 61 62”;Round-robin derivation of a 10-byte key into 32 bytes, i.e. "61 62 63 64 65 66 67 68 69 6a61 62 63 64 65 66 67 68 69 6a 61 62 63 64 65 66 67 68 69 6a 61 62";

然后对S盒作2×256=512次换位,每换位64次,将32字节密钥左循环串移一位,即每个字节的最高位反馈移位到该字节的最低位,最后生成的S[0]-S[255]是:Then do 2×256=512 transpositions on the S box, every 64 transpositions, shift the 32-byte key to the left by one bit, that is, the highest bit of each byte is feedback shifted to the lowest bit of the byte bit, the last generated S[0]-S[255] is:

e5 a7 eb a0 63 7e c2 e4 d0 4e f5 e1 41 0e 73 1ce5 a7 eb a0 63 7e c2 e4 d0 4e f5 e1 41 0e 73 1c

c1 a6 99 c7 fe 03 4f 5a da ce 64 71 45 d6 00 6ac1 a6 99 c7 fe 03 4f 5a da ce 64 71 45 d6 00 6a

ee f7 e9 c6 52 d4 7b bc 48 2d 56 6d a8 a4 93 20ee f7 e9 c6 52 d4 7b bc 48 2d 56 6d a8 a4 93 20

6f 36 85 46 9d 67 96 c5 22 1d 19 ef c8 27 b5 976f 36 85 46 9d 67 96 c5 22 1d 19 ef c8 27 b5 97

9f 82 ae 75 3f bf b2 d7 87 ac 76 42 0f 2e e7 799f 82 ae 75 3f bf b2 d7 87 ac 76 42 0f 2e e7 79

50 3c 7f 0d b6 fd 21 13 e8 8b a3 b4 f6 dc fa b350 3c 7f 0d b6 fd 21 13 e8 8b a3 b4 f6 dc fa b3

91 06 26 8f 30 5e f3 54 2c 3b 61 65 cc 15 2a 3591 06 26 8f 30 5e f3 54 2c 3b 61 65 cc 15 2a 35

83 5d 6b 8d aa f4 bb ed 77 cb f8 47 32 04 e0 2483 5d 6b 8d aa f4 bb ed 77 cb f8 47 32 04 e0 24

db 1f fb cd b8 07 34 88 12 44 0b 55 72 94 a2 7cdb 1f fb cd b8 07 34 88 12 44 0b 55 72 94 a2 7c

ca d5 ea 33 9a 9e c4 d3 ab 0c a1 cf 70 d9 f9 6eca d5 ea 33 9a 9e c4 d3 ab 0c a1 cf 70 d9 f9 6e

4c 05 23 09 4b 5c 74 17 ec de 02 49 f2 80 c3 af4c 05 23 09 4b 5c 74 17 ec de 02 49 f2 80 c3 af

86 18 d1 f0 bd 89 53 78 28 4d 40 c0 8a 51 7d 6086 18 d1 f0 bd 89 53 78 28 4d 40 c0 8a 51 7d 60

68 4a d8 37 10 e6 e2 dd 3a 69 98 62 b9 7a c9 9068 4a d8 37 10 e6 e2 dd 3a 69 98 62 b9 7a c9 90

df 6c 5b 57 92 a9 d2 b7 43 84 2b ad 39 16 08 11df 6c 5b 57 92 a9 d2 b7 43 84 2b ad 39 16 08 11

95 ff 29 ba 8e 9b 31 25 a5 b0 fc 01 38 66 59 3e95 ff 29 ba 8e 9b 31 25 a5 b0 fc 01 38 66 59 3e

e3 8c f1 be 1e 0a b1 2f 1b 3d 81 9c 5f 14 58 1a。e3 8c f1 be 1e 0a b1 2f 1b 3d 81 9c 5f 14 58 1a.

用P表示明文,用T和U表示移位寄存器的中间结果,用C表示密文。当用16进制表示的明文为“61 62 63 64 65 66 67 68 69 6a 6b 6c 6d 6e 6f 70”时,由明文到密文的变化过程是:Use P to represent the plaintext, use T and U to represent the intermediate results of the shift register, and use C to represent the ciphertext. When the plaintext expressed in hexadecimal is "61 62 63 64 65 66 67 68 69 6a 6b 6c 6d 6e 6f 70", the change process from plaintext to ciphertext is:

明文P=(61 62 63 64 65 66 67 68 69 6a 6b 6c 6d 6e 6f 70);Plaintext P=(61 62 63 64 65 66 67 68 69 6a 6b 6c 6d 6e 6f 70);

按图1结构右移反馈10拍According to the structure in Figure 1, move the feedback to the right by 10 beats

P’=(67 68 61 62 63 64 65 66 5f d2 d3 a3 47 4f 52 ad);P'=(67 68 61 62 63 64 65 66 5f d2 d3 a3 47 4f 52 ad);

按图2结构左移反馈10拍According to the structure in Figure 2, move the feedback to the left by 10 beats

T=(bc 8f 26 2e 4a 89 5c 4f d3 a3 47 4f 52 ad 5f d2);T=(bc 8f 26 2e 4a 89 5c 4f d3 a3 47 4f 52 ad 5f d2);

按图1结构右移反馈9拍According to the structure in Figure 1, move the feedback to the right for 9 beats

T’=(4f bc 8f 26 2e 4a 89 5c eb 7f b3 fa 73 5c bb 32);T'=(4f bc 8f 26 2e 4a 89 5c eb 7f b3 fa 73 5c bb 32);

按图2结构左移反馈9拍According to the structure in Figure 2, move left to feed back 9 beats

U=(aa 44 5f 54 5c 3a a7 32 7f b3 fa 73 5c bb 32 eb);U=(aa 44 5f 54 5c 3a a7 32 7f b3 fa 73 5c bb 32 eb);

按图1结构右移反馈8拍According to the structure in Figure 1, move the feedback to the right for 8 beats

C’=(aa 44 5f 54 5c 3a a7 32 69 ba ae 8b 96 a9 5b 41);C'=(aa 44 5f 54 5c 3a a7 32 69 ba ae 8b 96 a9 5b 41);

按图2结构左移反馈8拍,得密文According to the structure in Figure 2, move to the left and feed back 8 beats to get the ciphertext

C=(98 a9 eb e0 87 6b 67 c7 69 ba ae 8b 96 a9 5b 41)。C=(98 a9 eb e0 87 6b 67 c7 69 ba ae 8b 96 a9 5b 41).

本发明的“荡秋千”式的分组加密生成过程,很容易用软件编程实现,例如用C语言编程时,当设定轮数为3,各轮的右移和左移拍数分别为10、9、8的情况下,在PIII500微机上加解密速度可达230Mb/s,所需的存储单元量不足300字节,即S盒占用256字节,密钥符实际占用32字节,而且生成S盒后这32个字节空间还可用于移位寄存器状态及中间结果存储。The packet encryption generation process of "swinging on a swing" formula of the present invention is easy to realize by software programming, for example, when programming in C language, when the number of rounds is set to 3, the number of right shift and left shift beats of each round is respectively 10, In the case of 9 and 8, the encryption and decryption speed on the PIII500 microcomputer can reach 230Mb/s, and the required storage unit is less than 300 bytes, that is, the S box occupies 256 bytes, and the key symbol actually occupies 32 bytes, and the generated The 32-byte space after the S box can also be used for shift register status and intermediate result storage.

本发明方法,通过对密钥雪崩效应和明文雪崩效应的基本分析,说明其有良好的抵抗密钥相关攻击、线性攻击和差分攻击的性能,除了具有安全、快速、易于实现等特点外,其最突出的特点是算法逻辑结构简洁、严谨,可有效地实施明文的混合与扩散。The method of the present invention, through the basic analysis of the key avalanche effect and the plaintext avalanche effect, shows that it has good performance against key-related attacks, linear attacks and differential attacks. In addition to being safe, fast, and easy to implement, its The most prominent feature is that the algorithm logic structure is concise and rigorous, which can effectively implement the mixing and diffusion of plaintext.

本发明的“荡秋千”式的分组密码加密方法,在加解密速度方面快于RIJNDAEL、MARS、TWOFISH等著名算法,算法的逻辑结构比它们简洁,且易于程序实现,也很适合在微型芯片上实现。The "swing" type block cipher encryption method of the present invention is faster than well-known algorithms such as RIJNDAEL, MARS, TWOFISH, etc. in terms of encryption and decryption speed. The logic structure of the algorithm is simpler than them, and it is easy to program and is also very suitable for microchip accomplish.

Claims (6)

1.一种分组密码加密方法,其特征在于包括以下处理步骤:1. A block cipher encryption method, characterized in that comprising the following processing steps: A.将明文数据按每组M字节分成明文组,M为偶数;A. Divide the plaintext data into plaintext groups according to each group of M bytes, and M is an even number; B.设置密钥K,并由密钥K形成256元的替换表S盒;B. Set the key K, and form a 256-yuan replacement table S box from the key K; C.设置一个Z/(28)环上的M级移位寄存器,将M字节明文组数据对应置入M级移位寄存器中;C. Set a M-level shift register on the Z/(2 8 ) ring, and put the M byte plaintext group data into the M-level shift register correspondingly; D.进行右移反馈,将M级移位寄存器的各级由左到右依次编号第0级、第1级、......、第M-1级,左半边的移位方式是将原第0级的内容反馈到第1级、原第1级的内容反馈到第2级、......、原第M/2-2级的内容反馈到第M/2-1级,原第M/2-1级的内容反馈到第0级,右半边的移位方式是将原第M/2级的内容反馈到第M/2+1级、原第M/2+1级的内容反馈到第M/2+2级、......、原第M-2级的内容反馈到第M-1级,原第M/2级的内容经过S盒后所得的替换值与原第M-1级的内容、原第M/2-1级的内容三者相加,再对和数模256后反馈到第M/2级,按设置的移位幅度j,右移M级移位寄存器共j拍;D. Carry out right-shift feedback, and number the stages of the M-stage shift register from left to right in order of level 0, level 1, ..., level M-1, and the shifting method of the left half is Feedback the content of the original level 0 to level 1, the content of the original level 1 to level 2, ..., the content of the original level M/2-2 to the level M/2-1 Level, the content of the original level M/2-1 is fed back to level 0, and the shift method of the right half is to feed back the content of the original level M/2 to the level M/2+1, the original M/2+ The content of level 1 is fed back to level M/2+2,..., the content of the original level M-2 is fed back to level M-1, and the content of the original level M/2 is obtained after passing through the S box The replacement value is added to the content of the original M-1 level and the content of the original M/2-1 level, and then fed back to the M/2 level after the sum of digital and analog 256, according to the set shift range j , and move the M-stage shift register to the right for a total of j beats; E.进行左移反馈,将M级移位寄存器的各级由左到右依次编号第0级、第1级、......、第M-1级,右半边的移位方式是将原第M/2+1级的内容反馈到第M/2级、原第M/2+2级的内容反馈到第M/2+1级、......、原第M-1级的内容反馈到第M-2级,原第M/2级的内容反馈到第M-1级,左半边的移位方式是将原第M/2-1级的内容反馈到第M/2-2级、原第M/2-2级的内容反馈到第M/2-3级、......、原第1级的内容反馈到第0级,原第M/2-1级的内容经过S盒后所得的替换值与原第0级的内容和原第M/2级的内容三者相加,再对和数模256后反馈到第M/2-1级,按设置的移位幅度j,左移M级移位寄存器共j拍;E. For left-shift feedback, number the stages of the M-level shift register from left to right in order of level 0, level 1, ..., level M-1, and the shifting method of the right half is Feedback the content of the original level M/2+1 to the level M/2, the content of the original level M/2+2 to the level M/2+1,..., the original M- The content of level 1 is fed back to level M-2, the content of the original level M/2 is fed back to level M-1, and the shifting method of the left half is to feed back the content of the original level M/2-1 to level M /2-2 level, the content of the original M/2-2 level is fed back to the M/2-3 level,..., the content of the original level 1 is fed back to the 0th level, the original M/2 level The replacement value obtained after the content of level 1 passes through the S box is added to the content of the original level 0 and the content of the original level M/2, and then fed back to the level M/2-1 after the sum of the digital model 256 , according to the set shift range j, shift the M-stage shift register to the left for a total of j beats; F.重复执行步骤D、E,直至达到预设的右移和左移轮数时停止;F. Repeat steps D and E until the preset number of right and left shifting rounds is reached and stop; G.将停止移位后的M级移位寄存器内容作为对该明文组加密所得到的密文组。G. Use the contents of the M-level shift register after the shift is stopped as the ciphertext group obtained by encrypting the plaintext group. 2.根据权利要求1所述的方法,其特征在于:所述的M值为8、12、16或20,所对应的分组大小分别为64比特、96比特、128比特和160比特。2. The method according to claim 1, characterized in that: the value of M is 8, 12, 16 or 20, and the corresponding packet sizes are 64 bits, 96 bits, 128 bits and 160 bits respectively. 3.根据权利要求1所述的方法,其特征在于:所述的步骤B进一步包括以下处理步骤:3. The method according to claim 1, characterized in that: described step B further comprises the following processing steps: b1.在所设置的密钥K的长度小于32字节时,先将其循环派生为32字节,标记为第0至第31字节;b1. When the length of the set key K is less than 32 bytes, it is first cyclically derived to 32 bytes, marked as the 0th to 31st bytes; b2.将第0至第31字节密钥符自身左循环串移1位,即将每个字符的最高比特移到最低位,构成第32字节至第63字节密钥,再将第32字节至第63字节密钥符自身左循环串移1位,构成第64字节至第95字节密钥,连续执行本步骤直至形成256字节长度的密钥;b2. Shift the 0th to 31st byte key symbol itself to the left by 1 bit, that is, move the highest bit of each character to the lowest bit to form the 32nd to 63rd byte key, and then the 32nd byte From the byte to the 63rd byte, the key symbol itself is cyclically shifted to the left by 1 bit to form the key from the 64th byte to the 95th byte, and this step is performed continuously until a key with a length of 256 bytes is formed; b3.建立编号为0至255的密钥数组单元,将256字节长度的密钥按每数组单元放一个字节,依次顺序放入数组单元中;b3. Establish a key array unit numbered from 0 to 255, put a key with a length of 256 bytes into each array unit, and put it into the array unit in sequence; b4.建立编号为0至255的变换数组单元,并将其数值分别置为0至255;b4. Establish transformation array units numbered from 0 to 255, and set their values to 0 to 255 respectively; b5.设立一个记忆单元m和一个计数单元i,并约定m的初始值为0,以i计数单元中的内容为地址查出当前密钥数组单元中的数和当前变换数组单元中的数,将它们与记忆单元m的值三者加和,并对该和数模256后做为记忆单元m的新值;b5. Set up a memory unit m and a counting unit i, and agree that the initial value of m is 0, take the content in the counting unit of i as the address to find out the number in the current key array unit and the number in the current transformation array unit, Add them together with the value of the memory unit m, and use the sum as the new value of the memory unit m after modulo 256; b6.按编号为步骤b5中的i及获得的m的新值,将变换数组单元中地址为m的单元中的数值与地址为255-i单元中的数值交换,将变换数组单元中地址为i单元中的数值与地址为255-m的单元中的数值交换;b6. be numbered as the new value of i in the step b5 and the m that obtains, the numerical value in the unit that address is m in the conversion array unit and the address are the numerical value exchange in the 255-i unit, the address in the conversion array unit is The value in the unit i is exchanged with the value in the unit whose address is 255-m; b7.将步骤b5获得的记忆单元m的新值左循环串移一位;b7. The new value of the memory unit m obtained in step b5 is shifted one bit in the left loop; b8.重复执行步骤b5、b6、b7,直至使计数单元i的值由0计满255,最后由变换数组单元构成256元的替换表S盒。b8. Steps b5, b6, and b7 are repeatedly executed until the value of the counting unit i is counted from 0 to 255, and finally a 256-element substitution table S box is formed by transforming the array unit. 4.根据权利要求1所述的方法,其特征在于:所述步骤D、E中的经过S盒,是根据S盒输入值查询以该数值编号的变换数组单元,并将该变换数组单元中的数值作为输出值。4. The method according to claim 1, characterized in that: passing through the S box in the steps D and E is to query the transformation array unit numbered with the numerical value according to the input value of the S box, and transfer the transformation array unit in the transformation array unit value as the output value. 5.根据权利要求1所述的方法,其特征在于:所述步骤D、E中,在所述的各右移和左移变换中,移位幅度j是任意预置的不少于M/2的自然数。5. The method according to claim 1, characterized in that: in the steps D and E, in each of the described right-shift and left-shift transformations, the shift magnitude j is arbitrarily preset and not less than M/ The natural number of 2. 6.根据权利要求1所述的方法,其特征在于:所述步骤F中,所述的右移和左移轮数不小于2。6. The method according to claim 1, characterized in that: in the step F, the number of right-shift and left-shift wheels is not less than two.
CNB011404752A 2001-12-10 2001-12-10 A Block Cipher Encryption Method Expired - Fee Related CN1190034C (en)

Priority Applications (1)

Application Number Priority Date Filing Date Title
CNB011404752A CN1190034C (en) 2001-12-10 2001-12-10 A Block Cipher Encryption Method

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
CNB011404752A CN1190034C (en) 2001-12-10 2001-12-10 A Block Cipher Encryption Method

Publications (2)

Publication Number Publication Date
CN1426191A CN1426191A (en) 2003-06-25
CN1190034C true CN1190034C (en) 2005-02-16

Family

ID=4675894

Family Applications (1)

Application Number Title Priority Date Filing Date
CNB011404752A Expired - Fee Related CN1190034C (en) 2001-12-10 2001-12-10 A Block Cipher Encryption Method

Country Status (1)

Country Link
CN (1) CN1190034C (en)

Families Citing this family (10)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US7130427B2 (en) * 2003-07-17 2006-10-31 Motorola, Inc. Method for providing point-to-point encryption in a communication system
CN100534030C (en) * 2005-10-17 2009-08-26 浙江大学 Output-Ciphertext Hybrid Feedback Chaotic Stream Cipher Encryption and Decryption Method
CN101013938B (en) * 2007-01-12 2010-04-07 广州市诚毅科技软件开发有限公司 Encryption method of block cipher
CN101257383B (en) * 2008-03-28 2010-06-09 中国科学院软件研究所 A Fast S-box Transparency Detection Method
CN101420295B (en) * 2008-12-01 2011-11-16 刘江海 Ciphering method for bit reassigning and mutual replacing on different positions of the same byte
CN101923802B (en) * 2009-06-12 2012-05-23 中国科学院数据与通信保护研究教育中心 Method and device for implementing sequence cipher
US8400676B2 (en) * 2009-09-30 2013-03-19 Konica Minolta Laboratory U.S.A., Inc. In place line splitting process and method for multiple beam printers
CN101719823B (en) * 2009-10-30 2012-07-11 中国科学院软件研究所 A Method of Realizing S-box Linear Transformation in Cryptographic Algorithms
CN103825723B (en) * 2014-01-24 2019-05-03 深圳市太和物联信息技术有限公司 A kind of encryption method and device
CN106100826B (en) * 2016-06-08 2019-06-07 大唐微电子技术有限公司 A kind of data conversion method and device

Also Published As

Publication number Publication date
CN1426191A (en) 2003-06-25

Similar Documents

Publication Publication Date Title
Pavithran et al. A novel cryptosystem based on DNA cryptography and randomly generated mealy machine
CN108365947B (en) A kind of image encryption method based on Feistel network Yu dynamic DNA encoding
CN1190034C (en) A Block Cipher Encryption Method
US7190791B2 (en) Method of encryption using multi-key process to create a variable-length key
CN101394268B (en) Advanced ciphering system and method based on broad sense information field
CN1914590A (en) Pseudo random number generation device and pseudo random number generation program
CN112199696B (en) Encryption and decryption method based on white-box block cipher
CN101383703A (en) Dynamic Encryption System and Method Based on Generalized Information Domain
CN114710261A (en) AES key arrangement method
CN1523810A (en) Method of designing optimum encryption function and optimized encryption apparatus in a mobile communication system
CN116418481A (en) Text privacy data double encryption protection method, device and equipment
CN1180351C (en) Encryption methods for hardened garbled block ciphers
CN1801693A (en) Short block processing method in block encryption algorithm
Saarinen The STRIBOBr1 authenticated encryption algorithm
CN109214972B (en) An Image Encryption Method Based on Chaos Pseudorandom DNA Enhancement
CN103199992A (en) Safe frequency hopping sequence construction method based on evolution codes
CN101826959B (en) Byte-oriented key stream generation method and encryption method
CN101778142A (en) Anonymization method for reserving network address prefix combining bit string and hash function
CN1677921A (en) Method for enciphering data through programmable device
CN1540917A (en) Pseudo-random squence generator and associated method
CN1281023C (en) Discrete Data Block Encryption Method
CN1813439A (en) Method for generating pseudo-random sequence
CN1286855A (en) Binary Block Encryption Transformation
CN1929372A (en) Highly effective quantum key distribution method
CN110532763B (en) Password construction method and system based on high-order orthomorphism replacement

Legal Events

Date Code Title Description
C10 Entry into substantive examination
SE01 Entry into force of request for substantive examination
C06 Publication
PB01 Publication
C10 Entry into substantive examination
SE01 Entry into force of request for substantive examination
C14 Grant of patent or utility model
GR01 Patent grant
CF01 Termination of patent right due to non-payment of annual fee
CF01 Termination of patent right due to non-payment of annual fee

Granted publication date: 20050216

Termination date: 20161210