IP Library › Granted Patent US 11,632,231
Granted Patent B2
US 11,632,231 · App. 16/809,567 · Granted Apr 18, 2023

Substitute box, substitute method and apparatus thereof

Inventors: Wei Chiang (Taipei, TW); Hsi-Chia Chang (Hsinchu, TW); Chen-Yi Lee (Hsinchu, TW)
Assignee: NOVATEK Microelectronics Corp.
H04L9/003G06F7/588G06F21/72G06F21/755H04L9/0869G06F2207/7223H04L2209/08H04L2209/16
View Patent ↗
Loading inventors, assignments & file history…
Monitor This Case
Get email alerts when status or documents change.
Order Certified Copies
Most orders are placed with the USPTO same day — all within 24 business hours.
Order via The Patent Place →
Pre-filled with this patent's details
Quick Facts
Patent No.
US 11,632,231
App. No.
16/809,567
Granted
Apr 18, 2023
Kind
B2
Abstract

A substitute box includes a target input terminal, an obfuscation input terminal, a first output terminal and a second output terminal. The target input terminal is configured to receive a target input data. The obfuscation input terminal is configured to receive an obfuscation input data unrelated to a plaintext. The first output terminal is configured to output a first output data. The second output terminal is configured to output a second output data associated with the first output data. The first output data and the second output data are generated according to both the target input data and the obfuscation input data.

Claims (43)

1. A substitute box (Sbox), for implementing SM4 cipher, comprising:

a first logic circuit, configured to perform an inverse operation on target input data to find inversion data of the target input data;

a second logic circuit, configured to combine the inversion data with obfuscation input data to generate combination data, wherein the obfuscation input data is unrelated to a plaintext; and

a third logic circuit, configured to perform an affine operation on the obfuscation input data and the combination data to convert the obfuscation input data and the combination data into first output data and second output data, wherein the second output data is associated with the first output data, and the first output data and the second output data are generated according to both the target input data and the obfuscation input data.

2. The substitute box of claim 1 , wherein the inverse operation is performed according to Galois Field, wherein a generator polynomial of the inverse operation differs from x 8 +x 7 +x 6 +x 5 +x 4 +x 2 +1.

3. The substitute box of claim 1 , wherein the obfuscation input data is randomly generated from a random number generation circuit.

4. The substitute box of claim 1 , wherein the first output data and the second output data are randomized and associated with the plaintext or an encryption key.

5. The substitute box of claim 1 , wherein a number of bits in the target input data, a number of bits in the obfuscation input data, a number of bits in the first output data and a number of bits in the second output data are equal.

6. The substitute box of claim 1 , wherein the target input data is 8 bits, the obfuscation input data is 8 bits, the first output data is 8 bits, and the second output data is 8 bits.

7. An apparatus, for implementing SM4 cipher, comprising:

four substitute boxes, each of the four substitute boxes comprising:

a first logic circuit, configured to perform an inverse operation on one of four target input data to find inversion data of the target input data;

a second logic circuit, configured to combine the inversion data with one of four obfuscation input data to generate combination data, wherein the four obfuscation input data are unrelated to a plaintext; and

a third logic circuit, configured to perform an affine operation on the obfuscation input data and the combination data to convert the obfuscation input data and the combination data into one of four first output data and one of four second output data, wherein the first output data and the second output data are generated according to both the target input data and the obfuscation input data, and the second output data is associated with the first output data.

8. The apparatus of claim 7 , wherein a first generator polynomial of a first substitute box of the four substitute boxes differs from a second generator polynomial of a second substitute box of the four substitute boxes.

9. The apparatus of claim 7 , wherein a first inverse operation or a first affine operation of a first substitute box of the four substitute boxes differs from a second inverse operation or a second affine operation of a second substitute box of the four substitute boxes.

10. The apparatus of claim 7 , further comprising:

a reordering circuit, coupled to the four substitute boxes, wherein an input data is divided into a first target input data, a second target input data, a third target input data, and a fourth target input data of the four target input data, wherein the reordering circuit is configured to reorder the four target input data and assign the four target input data to the four substitute boxes.

11. The apparatus of claim 10 , wherein the input data is randomized before divided into the four target input data.

12. The apparatus of claim 10 , further comprising:

a recovery circuit, coupled to the four substitute boxes, wherein the four target input data ordered in a first sequence are reordered in a second sequence by the reordering circuit, wherein the four first output data ordered in the second sequence are reordered in the first sequence by the recovery circuit, wherein the four second output data ordered in the second sequence are reordered in the first sequence by the recovery circuit.

13. The apparatus of claim 7 , wherein the four obfuscation input data are randomly generated from a random number generation circuit.

14. The apparatus of claim 7 , wherein the four first output data and the four second output data are randomized and associated with the plaintext or an encryption key.

15. A substitute method, for implementing SM4 cipher, comprising:

receiving one of four target input data and one of four obfuscation input data, wherein the four obfuscation input data are unrelated to a plaintext;

performing an inverse operation on the target input data to find inversion data of the target input data;

combining the inversion data with the obfuscation input data to generate combination data; and

performing an affine operation on the obfuscation input data and the combination data to convert the obfuscation input data and the combination data into one of four first output data and one of four second output data, wherein the first output data and the second output data are generated according to both the target input data and the obfuscation input data, and the second output data is associated with the first output data.

16. The substitute method of claim 15 , further comprising:

performing, at a first logic circuit, the inverse operation on the target input data to generate the inversion data, wherein a generator polynomial of the inverse operation differs from x 8 +x 7 +x 6 +x 5 +x 4 +x 2 +1;

combining, at a second logic circuit coupled to the first logic circuit, the inversion data with the obfuscation input data to generate the combination data; and

performing, at a third logic circuit coupled to the second logic circuit, the affine operation on the obfuscation input data and the combination data to generate the first output data and the second output data.

17. The substitute method of claim 15 , further comprising:

performing inverse operations on the four target input data to generate four inversion data respectively;

combining the four inversion data with the four obfuscation input data into four combination data respectively; and

performing affine operations on the four obfuscation input data and the four combination data to generate the four first output data and the four second output data respectively, wherein a first inverse operation or a first affine operation differs from a second inverse operation or a second affine operation.

18. The substitute method of claim 15 , further comprising:

reordering the four target input data and assigning the four target input data to four substitute boxes.

19. The substitute method of claim 15 , further comprising:

reordering the four target input data ordered in a first sequence in a second sequence;

reordering the four first output data ordered in the second sequence in the first sequence; and

reordering the four second output data ordered in the second sequence in the first sequence.

20. The substitute method of claim 15 , wherein the four first output data and the four second output data are randomized and associated with the plaintext or an encryption key.

Assignments (1)
ASSIGNMENT OF ASSIGNOR'S INTEREST Recorded Mar 5, 2020
From: CHIANG, WEI; CHANG, HSI-CHIA; LEE, CHEN-YI
To: NOVATEK MICROELECTRONICS CORP.
Reel/Frame 052018/0678 →
Continuity (1)
Related Publication 20210281390A1 · Sep 9, 2021