CN110166223A - A kind of Fast Software implementation method of the close SM4 of state - Google Patents
A kind of Fast Software implementation method of the close SM4 of state Download PDFInfo
- Publication number
- CN110166223A CN110166223A CN201910428748.4A CN201910428748A CN110166223A CN 110166223 A CN110166223 A CN 110166223A CN 201910428748 A CN201910428748 A CN 201910428748A CN 110166223 A CN110166223 A CN 110166223A
- Authority
- CN
- China
- Prior art keywords
- bit
- data
- close
- software implementation
- transformation
- 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.)
- Granted
Links
Classifications
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L9/00—Cryptographic mechanisms or cryptographic arrangements for secret or secure communications; Network security protocols
- H04L9/06—Cryptographic mechanisms or cryptographic arrangements for secret or secure communications; Network security protocols the encryption apparatus using shift registers or memories for block-wise or stream coding, e.g. DES systems or RC4; Hash functions; Pseudorandom sequence generators
- H04L9/0618—Block ciphers, i.e. encrypting groups of characters of a plain text message using fixed encryption transformation
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L2209/00—Additional information or applications relating to cryptographic mechanisms or cryptographic arrangements for secret or secure communication H04L9/00
- H04L2209/12—Details relating to cryptographic hardware or logic circuitry
- H04L2209/125—Parallelization or pipelining, e.g. for accelerating processing of cryptographic operations
Landscapes
- Engineering & Computer Science (AREA)
- Computer Security & Cryptography (AREA)
- Computer Networks & Wireless Communication (AREA)
- Signal Processing (AREA)
- Storage Device Security (AREA)
- Complex Calculations (AREA)
Abstract
The present invention provides the Fast Software implementation methods of the close SM4 of state a kind of, this method comprises: data layout step, key schedule step, iterate to calculate step, data deformat step, inverted sequence calculates step.The present invention uses bit microtomy, SIMD technology and compound field technique, realize the parallel encryption of 256 groups of clear-text messages, nonlinear transformation in SM4 is realized in compositum, and merge nonlinear transformation and linear transformation compression, so that the calculating of the synthesis displacement T in SM4 Encryption Algorithm is by an original GF (28) on inversion operation, affine transformation, 4 ring shift lefts and 4 XOR operation are reduced to a GF (2 twice4) on inversion operation, affine transformation, three times finite field gf (2 twice4) on multiplying and 4 times after operation, reduce computation complexity, improve execution efficiency.
Description
Technical field
The present invention relates to computer security technical field, especially a kind of SM4 encryption method
Background technique
The basic task of cryptographic system when data encryption.By the relationship of encryption key and decruption key, current various numbers
Two major classes can be divided into according to encryption system: symmetric password encryption system and public key cryptography encryption system.Common symmetric cryptography side
Method has DES, AES, IDEA, RC6 etc..
SM4 is a block cipher, and plaintext, key, ciphertext are all 128 bits, and encryption and decryption keys are identical.It is logical
The nonlinear iteration round function of 32 circulations is crossed to realize encryption and decryption.Including nonlinear transformation s box, and by recycling
The linear transformation that exclusive or is constituted.Other than the s box of 256 bytes, other two groups of parameters FK and cK (specific data are also defined
Reference password number board web).Basic process is that 128 bit keys are divided into 4 groups for one group according to 32 bit first, then according to key
Expansion algorithm generates 32 group of 32 bit round key;Again 128 bit datas of input also according to one group of 32 bit be divided into 4 groups into
Row loop computation.
Summary of the invention
The present invention proposes following improved optimization method for software for the defects of current software implementation method.
A kind of Fast Software implementation method of the close SM4 of state, comprising:
The data of 256 group of 128 bit are expressed as X by data layout step[256][128], X[i]Indicate i-th group of data, i=
0,1 .., 255, there are bit matrix transposed transform TRANS256 (): X[128][256]=TRANS (X[256][128]), feature exists
In inputting as 256*128 bit, export as 128*256 bit, realize and the same bit of 256 groups of data is gathered in same
In counterfoil;
Kth wheel encryption key is denoted as RK by key schedule stepK, [32], k=0,1 ..., 31, there are transformation TRANS32
(): TRKK, [32] [256]=TRANS32 (RKK, [32]), which is characterized in that it defines { }256It indicates that element is repeated 256 times and spelled
It is connected together, then TRKK, [i]={ RKK, [i]}256, realize and i-th of bit of key RK replicated into 256 i-th for being stored in TRK;
Step is iterated to calculate, the data after data layout are denoted asX256It indicates
Two-dimensional array X[128][256],It is directed toward X[128][256]The i-th * 32, i=0,1,2,3, by the kth wheel after key schedule
Encryption key is denoted asCarry out 32 iterative calculation: Wherein,For XOR operation;
Data deformat step, there are identical bit matrix transposition TRANS256 (): X[256][128]=TRANS256
(X[1286][256]), which is characterized in that by the data after iterative calculation from 128 group of 256 bit data organizer after slice
Formula is restored to normal 256 group of 128 bit data;
Inverted sequence calculates step, enables256 group of 128 bit then exported
Encryption data be expressed as
Wherein, outputting and inputting for T of synthesis displacement is all 32*256 bit, compound by nonlinear transformation τ and linear transformation L
Into T ()=L (τ ()).
Further, regard 256 group of 128 bit data as two 128 groups of 128 bit datas, simultaneously using SIMD thought
Row realizes data layout and data deformat, completes bit matrix transposition using 7 groups of masks.16 systems of 7 groups of masks indicate are as follows:
MASK0=55555555555555555555555555555555555555555555555555 55555555555555
MASK1=33333333333333333333333333333333333333333333333333 33333333333333
MASK2=0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F 0F0F0F0F0F0F0F
MASK3=00FF00FF00FF00FF00FF00FF00FF00FF00FF00FF00FF00FF00 FF00FF00FF00FF
MASK4=0000FFFF0000FFFF0000FFFF0000FFFF0000FFFF0000FFFF00 00FFFF0000FFFF
MASK5=00000000FFFFFFFF00000000FFFFFFFF00000000FFFFFFFF00 000000FFFFFFFF
MASK6=0000000000000000FFFFFFFFFFFFFFFF0000000000000000FF FFFFFFFFFFFFFF
Every group of mask is 128 bits.
Further, 256 group of 32 bit input data is expressed as:Wherein,It is 8*256 bit, then
Further, the function s () in the nonlinear transformation τ in synthesis transformation T are as follows: s (x256)=I (x256*A1+
C1)*A2+C2, wherein I () is compositum GF ((24)2) on inversion operation, x256For the row vector of 8*256 bit, A1, C1,
A2, C2Form it is as follows:
C1={ 10001110 }
C2={ 11010011 }
Further,
Select h, g ∈ GF ((24)2), h=(h1* x+h0) it is g=(g1* x+g0) inverse element, wherein h1, h0, g1, g0∈
GF(24).So have
Wherein, the size of h, g are 8*256 bits,For XOR operation, multiplication and invert as finite field gf (24) on operation,
Thus by compositum GF ((24)2) on invert and be converted to finite field gf (24) on multiplication and invert.
Definition < <
< indicates ring shift left operation,Indicate XOR operation;It is known
It enablesThenEnable B256=τ (A256), then It can obtain:
Wherein,For exclusive or plus, so as to which linear transformation optimization is fallen.
Further, a is enabled256, b256, c256∈GF(24), and c256=a256*b256Then (2 GF4) on multiplying are as follows:
Wherein,For exclusive or addition, with the default expression of operation.
Further, a is enabled256, c256∈GF(24), and c256=(a256)-1Then (2 GF4) on inversion operation are as follows:
Wherein ,+be or or operation ,~be inverse, with the default expression of operation.
Technical effect of the invention are as follows: handled using bit microtomy using AVX2 parallel instructions in conjunction with SIMD thought
256 groups of data are decomposed the calculating in SM4 in synthesis displacement T, using compositum decomposition technique so that SM4 Encryption Algorithm
In nonlinear transformation calculating inverted by an original GF (2^8), twice affine transformation be reduced to a GF (2^4) invert,
Affine transformation, the three times multiplying on GF (2^4) twice, reduce computation complexity, maximize parallel data processing, improve
Execution efficiency.
Detailed description of the invention
Fig. 1 is the system architecture diagram for the SM4 encryption method that the present invention designs;
Fig. 2 is the diagram of compositum inversion algorithms in the present invention.
Specific embodiment
It 1 and 2 is specifically described with reference to the accompanying drawing
Fig. 1 shows the SM4 encryption method that the present invention designs, this method comprises:
The data of 256 group of 128 bit are expressed as X by data layout step[256][128], X[i]Indicate i-th group of data, i=
0,1 .., 255, there are bit matrix transposed transform TRANS256 (): X[128][256]=TRANS (X[256][128]), feature exists
In inputting as 256*128 bit, export as 128*256 bit, realize and the same bit of 256 groups of data is gathered in same
In counterfoil;
Kth wheel encryption key is denoted as RK by key schedule stepK, [32], k=0,1 ..., 31, there are transformation TRANS32
(): TRKK, [32] [256]=TRANS32 (RKK, [32]), which is characterized in that it defines { }256It indicates that element is repeated 256 times and spelled
It is connected together, then TRKK, [i]={ RKK, [i]}256, realize and i-th of bit of key RK replicated into 256 i-th for being stored in TRK;
Step is iterated to calculate, the data after data layout are denoted asX256It indicates
Two-dimensional array X[128][256],It is directed toward X[128][256]The i-th * 32, i=0,1,2,3, by the kth wheel after key schedule
Encryption key is denoted asCarry out 32 iterative calculation: Wherein,For XOR operation;
Data deformat step, there are identical bit matrix transposition TRANS256 (): X[256][128]=TRANS256
(X[1286][256]), which is characterized in that by the data after iterative calculation from 128 group of 256 bit data organizer after slice
Formula is restored to normal 256 group of 128 bit data;
Inverted sequence calculates step, enables256 group of 128 bit then exported
Encryption data be expressed as
Wherein, outputting and inputting for T of synthesis displacement is all 32*256 bit, compound by nonlinear transformation τ and linear transformation L
Into T ()=L (τ ()).
In data layout step, need to complete bit matrix transposition by 7 groups of masks.256 group of 128 bit data is seen
Two 128 groups of 128 bit datas are done, it is complete using 7 groups of masks using the Parallel Implementation data layout of SIMD thought and data deformat
At bit matrix transposition.16 systems of 7 groups of masks indicate are as follows:
MASK0=55555555555555555555555555555555555555555555555555 55555555555555
MASK1=33333333333333333333333333333333333333333333333333 33333333333333
MASK2=0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F 0F0F0F0F0F0F0F
MASK3=00FF00FF00FF00FF00FF00FF00FF00FF00FF00FF00FF00FF00 FF00FF00FF00FF
MASK4=0000FFFF0000FFFF0000FFFF0000FFFF0000FFFF0000FFFF00 00FFFF0000FFFF
MASK5=00000000FFFFFFFF00000000FFFFFFFF00000000FFFFFFFF00 000000FFFFFFFF
MASK6=0000000000000000FFFFFFFFFFFFFFFF0000000000000000FF FFFFFFFFFFFFFF
Every group of mask is 128 bits.
In actual encrypted calculating, 256 group of 32 bit input data is expressed as:Its
In,It is 8*256 bit, then
Here is emphasis of the invention, by finite field gf (28) on invert and be converted to compositum GF ((24)2) on ask
It is inverse, reduce computation complexity.The function s () in nonlinear transformation τ in synthesis transformation T are as follows: s (x256)=I (x256*A1+
C1)*A2+C2, wherein I () is compositum GF ((24)2) on inversion operation, x256For the row vector of 8*256 bit, A1, C1,
A2, C2Form it is as follows:
C1={ 10001110 }
C2={ 11010011 }
Further,
Select h, g ∈ GF ((24)2), h=(h1* x+h0) it is g=(g1* x+g0) inverse element, wherein h1, h0, g1, g0∈
GF(24).So have
Wherein, the size of h, g are 8*256 bits,For XOR operation, multiplication and invert as finite field gf (24) on operation,
Thus by compositum GF ((24)2) on invert and be converted to finite field gf (24) on multiplication and invert.
It, can be directly different with target by the result of linear displacement or, to which optimization is fallen to move due to using bit to be sliced
Bit manipulation.Definition< <
< indicates ring shift left operation,Indicate XOR operation;It is known
It enablesThenEnable B256=τ (A256), then It can obtain:
Further, a is enabled256, b256, c256∈GF(24), and c256=a256*b256Then (2 GF4) on multiplying are as follows:
Wherein,For exclusive or addition, with the default expression of operation.
Enable a256, c256∈GF(24), and c256=(a256)-1Then (2 GF4) on inversion operation are as follows:
Wherein ,+be or or operation ,~be inverse, with the default expression of operation.
A kind of shortcut technique of software realization block cipher algorithm is compound domain decomposition method: the complicated finite field of S box is transported
It calculates isomorphism to be mapped in compositum and realizes, result is obtained by operation is opened so as to avoid memory without tabling look-up when encryption and decryption operation
Pin.The input data of S box inquiring arithmetic is 8 bits, and output data is also 8 bits, and the software checking book algorithm of SM4 algorithm needs
8 bit of 256x=2048 bit sizes space is occupied in memory.S box operation is mapped in compositum and realizes by the present invention, nothing
Any look-up table need to be stored in advance, the operation of S box is completed by logical operation, computation complexity is greatly reduced, improves execution
Efficiency.
It should be noted last that: above embodiments only illustrate and not to limitation technical solution of the present invention, although reference
Above-described embodiment describes the invention in detail, those skilled in the art should understand that: it still can be to this hair
Bright the latter's equivalent replacement of modifying without departing from the spirit or scope of the invention, or any substitutions should all
It is included within the scope of the claims of the present invention.
Claims (9)
1. a kind of Fast Software implementation method of the close SM4 of state characterized by comprising
Data layout step:
The data of 256 group of 128 bit are expressed as X[256][128], X[i]Indicate i-th group of data, i=0,1 ..., 255, there are ratios
Special matrix transposed transform TRANS256 (): so that X[128][256]=TRANS (X[256][128]), it inputs as 256*128 bit, it is defeated
It is out 128*256 bit, the same bit of 256 groups of data is gathered in same memory block by realization;
Key schedule step:
Kth wheel encryption key is denoted as RKK, [32], k=0,1 ..., 31, there are transformation TRANS32 (): TRKK, [32] [256]=
TRANS32(RKK, [32]), it defines { }256It indicates that element is repeated 256 times and is stitched together, then TRKK, [i]=
{RKK, [i]}256, realize and i-th of bit of key RK replicated into 256 i-th for being stored in TRK;
Iterate to calculate step:
Data after data layout are denoted asX256Indicate two-dimensional array X[128][256],It is directed toward X[128][256]The i-th * 32, i=0,1,2,3, the kth wheel encryption key after key schedule is denoted asCarry out 32 iterative calculation: Wherein,For XOR operation;
Data deformat step:
There are bit matrix transposition TRANS256 (): X[256][128]=TRANS256 (X[128][256]), it will be after iterative calculation
Data be restored to normal 256 group of 128 bit data from 128 group of 256 bit data organizational form after slice;
Inverted sequence calculates step:
It enablesThe encryption data of 256 group of 128 bit then exported is expressed as
Wherein, outputting and inputting for T of synthesis displacement is all 32*256 bit, is combined by nonlinear transformation τ and linear transformation L
T ()=L (τ ()).
2. the Fast Software implementation method of the close SM4 of state according to claim 1, which is characterized in that by 256 group of 128 bit
Data regard two 128 groups of 128 bit datas as, realize data layout and data deformat, complete bit matrix using 7 groups of masks
Transposition;16 systems of 7 groups of masks indicate are as follows:
MASK0=55555555555555555555555555555555555555555555555555 55555555555555
MASK1=33333333333333333333333333333333333333333333333333 33333333333333
MASK2=OFOFOFOFOFOFOFOFOFOFOFOFOFOFOFOFOFOFOFOFOFOFOFOFOF OFOFOFOFOFOFOF
MASK3=OOFFOOFFOOFFOOFFOOFFOOFFOOFFOOFFOOFFOOFFOOFFOOFFOO FFOOFFOOFFOOFF
MASK4=OOOOFFFFOOOOFFFFOOOOFFFFOOOOFFFFOOOOFFFFOOOOFFFFOO OOFFFFOOOOFFFF
MASK5=OOOOOOOOFFFFFFFFOOOOOOOOFFFFFFFFOOOOOOOOFFFFFFFFOO OOOOOOFFFFFFFF
MASK6=OOOOOOOOOOOOOOOOFFFFFFFFFFFFFFFFOOOOOOOOOOOOOOOOFF FFFFFFFFFFFFFF
Every group of mask is 128 bits.
3. the Fast Software implementation method of the close SM4 of state according to claim 1, which is characterized in that in iterative calculation step
In: 256 group of 32 bit input data is expressed as:Wherein,It is 8*
256 bits, then
4. the Fast Software implementation method of the close SM4 of state according to claim 3, which is characterized in that by finite field gf (28) on
Affine transformation in conjunction with isomorphism mapping matrix, thus by finite field gf (28) on affine transformation twice be transformed to compositum GF
((24)2) on affine transformation, synthesis transformation T in nonlinear transformation τ in function S () are as follows: S (x256)=I (x256*A1+
C1)*A2+C2, wherein I () is compositum GF ((24)2) on inversion operation, x256For the row vector of 8*256 bit, A1, C1,
A2, C2Form it is as follows:
C1={ 10001110 }
C2={ 11010011 }.
5. according to right want 4 described in the close SM4 of state Fast Software implementation method, which is characterized in that
6. the Fast Software implementation method of the close SM4 of state according to claim 4, which is characterized in that selection h, g ∈ GF ((24)2), h
=(h1* x+h0) it is g=(g1* x+g0) inverse element, wherein h1, h0, g1, g0∈GF(24);So have
Wherein, the size of h, g are 8*256 bits,For XOR operation, multiplication and invert as finite field gf (24) on operation, from
And further by compositum GF ((24)2) on once invert and be converted to finite field gf (24) on once invert and multiplication three times.
7. the Fast Software implementation method of the close SM4 of state according to claim 5, which is characterized in that definition < < < indicates ring shift left operation,
Indicate XOR operation;It is knownIt enables Then Enable B256=τ (A256), thenWherein, 0≤k≤
31, it can obtain:
Wherein,Plus, by sectioning, it may be implemented linear transformation by four times original ring shift lefts and four times for exclusive or
Excluslve-OR simpllfy is four exclusive or, and ring shift left can optimize to fall by direct index.
8. the Fast Software implementation method of the close SM4 of state according to claim 6, which is characterized in that enable a256, b256, c256∈GF
(24) and c256=a256*b256, then (2 GF4) on multiplying are as follows:
Wherein,For exclusive or addition, with the default expression of operation.
9. the Fast Software implementation method of the close SM4 of state according to claim 6, which is characterized in that enable a256, c256∈GF(24), and c256=(a256)-1, then GF
(24) on inversion operation are as follows:
Wherein ,+be or or operation ,~be inverse, with the default expression of operation.
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201910428748.4A CN110166223B (en) | 2019-05-22 | 2019-05-22 | Rapid implementation method of cryptographic block cipher algorithm SM4 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201910428748.4A CN110166223B (en) | 2019-05-22 | 2019-05-22 | Rapid implementation method of cryptographic block cipher algorithm SM4 |
Publications (2)
Publication Number | Publication Date |
---|---|
CN110166223A true CN110166223A (en) | 2019-08-23 |
CN110166223B CN110166223B (en) | 2021-08-13 |
Family
ID=67631792
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN201910428748.4A Active CN110166223B (en) | 2019-05-22 | 2019-05-22 | Rapid implementation method of cryptographic block cipher algorithm SM4 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN110166223B (en) |
Cited By (8)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN111736902A (en) * | 2020-07-16 | 2020-10-02 | 北京炼石网络技术有限公司 | Parallel computing method and device of SM4 based on SIMD (Single instruction multiple data) instructions and readable storage medium |
CN111865559A (en) * | 2020-06-16 | 2020-10-30 | 郑州信大捷安信息技术股份有限公司 | Rapid realization method and device for SM4 algorithm |
CN112507644A (en) * | 2020-12-03 | 2021-03-16 | 湖北大学 | Optimized SM4 algorithm linear layer circuit |
CN113922948A (en) * | 2021-10-13 | 2022-01-11 | 中国人民解放军国防科技大学 | Compound domain round function-based SM4 cryptographic algorithm data encryption method and system |
CN114091086A (en) * | 2022-01-14 | 2022-02-25 | 麒麟软件有限公司 | Rapid realization method of SM4 algorithm based on bit slice |
CN114143413A (en) * | 2021-11-26 | 2022-03-04 | 佛山芯珠微电子有限公司 | Image data PUF (physical unclonable function) security encryption system and encryption method |
CN114244496A (en) * | 2021-12-01 | 2022-03-25 | 华南师范大学 | SM4 encryption and decryption algorithm parallelization realization method based on tower domain optimization S box |
CN114710285A (en) * | 2022-05-19 | 2022-07-05 | 北京大学 | High-performance SM4 bit slice optimization method for heterogeneous parallel architecture |
Citations (7)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN1719766A (en) * | 2005-07-21 | 2006-01-11 | 北京中星微电子有限公司 | Sbox module optimizing method and circuit in AES encryption and decryption circuit |
CN104639314A (en) * | 2014-12-31 | 2015-05-20 | 深圳先进技术研究院 | Device based on AES (advanced encryption standard) encryption/decryption algorithm and pipelining control method |
CN105490802A (en) * | 2015-11-27 | 2016-04-13 | 桂林电子科技大学 | Improved SM4 parallel encryption and decryption communication method based on GPU (Graphics Processing Unit) |
CN105515758A (en) * | 2015-11-27 | 2016-04-20 | 桂林电子科技大学 | Data parallel cryptographic communication method and system based on Modbus protocol |
US20160231991A1 (en) * | 2015-02-05 | 2016-08-11 | Weng Tianxiang | Systematic method of coding wave-pipelined circuits in HDL |
CN106712930A (en) * | 2017-01-24 | 2017-05-24 | 北京炼石网络技术有限公司 | SM4 encryption method and device |
CN108650072A (en) * | 2018-03-28 | 2018-10-12 | 杭州朔天科技有限公司 | It is a kind of to support a variety of symmetric cryptographic algorithm chips and its anti-attack circuit implementation method |
-
2019
- 2019-05-22 CN CN201910428748.4A patent/CN110166223B/en active Active
Patent Citations (7)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN1719766A (en) * | 2005-07-21 | 2006-01-11 | 北京中星微电子有限公司 | Sbox module optimizing method and circuit in AES encryption and decryption circuit |
CN104639314A (en) * | 2014-12-31 | 2015-05-20 | 深圳先进技术研究院 | Device based on AES (advanced encryption standard) encryption/decryption algorithm and pipelining control method |
US20160231991A1 (en) * | 2015-02-05 | 2016-08-11 | Weng Tianxiang | Systematic method of coding wave-pipelined circuits in HDL |
CN105490802A (en) * | 2015-11-27 | 2016-04-13 | 桂林电子科技大学 | Improved SM4 parallel encryption and decryption communication method based on GPU (Graphics Processing Unit) |
CN105515758A (en) * | 2015-11-27 | 2016-04-20 | 桂林电子科技大学 | Data parallel cryptographic communication method and system based on Modbus protocol |
CN106712930A (en) * | 2017-01-24 | 2017-05-24 | 北京炼石网络技术有限公司 | SM4 encryption method and device |
CN108650072A (en) * | 2018-03-28 | 2018-10-12 | 杭州朔天科技有限公司 | It is a kind of to support a variety of symmetric cryptographic algorithm chips and its anti-attack circuit implementation method |
Non-Patent Citations (3)
Title |
---|
李军 等: "SM4分组密码算法可编程实现研究", 《通信技术》 * |
梁浩 等: "基于复合域的SM4算法的设计与实现", 《微电子学与计算机》 * |
郎欢 等: "SM4的快速软件实现技术", 《中国科学院大学学报》 * |
Cited By (14)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN111865559B (en) * | 2020-06-16 | 2022-02-18 | 郑州信大捷安信息技术股份有限公司 | Rapid realization method and device for SM4 algorithm |
CN111865559A (en) * | 2020-06-16 | 2020-10-30 | 郑州信大捷安信息技术股份有限公司 | Rapid realization method and device for SM4 algorithm |
CN111736902B (en) * | 2020-07-16 | 2022-04-19 | 北京炼石网络技术有限公司 | Parallel computing method and device of SM4 based on SIMD (Single instruction multiple data) instructions and readable storage medium |
CN111736902A (en) * | 2020-07-16 | 2020-10-02 | 北京炼石网络技术有限公司 | Parallel computing method and device of SM4 based on SIMD (Single instruction multiple data) instructions and readable storage medium |
CN112507644B (en) * | 2020-12-03 | 2021-05-14 | 湖北大学 | Optimized SM4 algorithm linear layer circuit |
CN112507644A (en) * | 2020-12-03 | 2021-03-16 | 湖北大学 | Optimized SM4 algorithm linear layer circuit |
CN113922948A (en) * | 2021-10-13 | 2022-01-11 | 中国人民解放军国防科技大学 | Compound domain round function-based SM4 cryptographic algorithm data encryption method and system |
CN113922948B (en) * | 2021-10-13 | 2023-10-03 | 中国人民解放军国防科技大学 | SM4 data encryption method and system based on composite domain round function |
CN114143413A (en) * | 2021-11-26 | 2022-03-04 | 佛山芯珠微电子有限公司 | Image data PUF (physical unclonable function) security encryption system and encryption method |
CN114143413B (en) * | 2021-11-26 | 2023-11-03 | 佛山芯珠微电子有限公司 | Image data PUF (physical unclonable function) secure encryption system and encryption method |
CN114244496A (en) * | 2021-12-01 | 2022-03-25 | 华南师范大学 | SM4 encryption and decryption algorithm parallelization realization method based on tower domain optimization S box |
CN114244496B (en) * | 2021-12-01 | 2023-07-18 | 华南师范大学 | SM4 encryption and decryption algorithm parallelization realization method based on tower domain optimization S box |
CN114091086A (en) * | 2022-01-14 | 2022-02-25 | 麒麟软件有限公司 | Rapid realization method of SM4 algorithm based on bit slice |
CN114710285A (en) * | 2022-05-19 | 2022-07-05 | 北京大学 | High-performance SM4 bit slice optimization method for heterogeneous parallel architecture |
Also Published As
Publication number | Publication date |
---|---|
CN110166223B (en) | 2021-08-13 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN110166223A (en) | A kind of Fast Software implementation method of the close SM4 of state | |
CN106788974B (en) | Mask S box, grouping key calculation unit, device and corresponding construction method | |
Zhou et al. | Quantum image encryption based on generalized Arnold transform and double random-phase encoding | |
CN106921487B (en) | Reconfigurable S-box circuit structure | |
CN106685663B (en) | The encryption method and circuit of error problem concerning study in a kind of annulus | |
Chen et al. | High performance data encryption with AES implementation on FPGA | |
CN106712930A (en) | SM4 encryption method and device | |
Belazi et al. | Algebraic analysis of a RGB image encryption algorithm based on DNA encoding and chaotic map | |
CN104639314A (en) | Device based on AES (advanced encryption standard) encryption/decryption algorithm and pipelining control method | |
Das et al. | Programmable cellular automata based efficient parallel AES encryption algorithm | |
KR20180081559A (en) | Generate key sequence for encryption operation | |
CN110880967B (en) | Method for parallel encryption and decryption of multiple messages by adopting packet symmetric key algorithm | |
CN107181586B (en) | Reconfigurable S-box circuit structure | |
CN111736902B (en) | Parallel computing method and device of SM4 based on SIMD (Single instruction multiple data) instructions and readable storage medium | |
KR100800468B1 (en) | Hardware cryptographic engine and method improving power consumption and operation speed | |
Coron et al. | Side-channel masking with pseudo-random generator | |
CN109033892B (en) | Round conversion multiplexing circuit based on synthetic matrix and AES decryption circuit | |
Singh et al. | An efficient hardware design and implementation of advanced encryption standard (AES) algorithm | |
JP5689826B2 (en) | Secret calculation system, encryption apparatus, secret calculation apparatus and method, program | |
GADED et al. | Composite field arithematic based s-box for aes algorithm | |
Acharya | Image encryption using a new chaos based encryption algorithm | |
Buell | Modern symmetric ciphers—Des and Aes | |
KR20050092698A (en) | A small hardware implementation of the subbyte function of rijndael | |
CN110266481A (en) | Rear quantum Encrypt and Decrypt method and decryption device based on matrix | |
Bajaj et al. | AES algorithm for encryption |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
PB01 | Publication | ||
PB01 | Publication | ||
SE01 | Entry into force of request for substantive examination | ||
SE01 | Entry into force of request for substantive examination | ||
GR01 | Patent grant | ||
GR01 | Patent grant |