IP Library › Granted Patent US 12,177,327
Granted Patent B2
US 12,177,327 · App. 17/245,309 · Granted Dec 24, 2024

Encryption device and operation method thereof

Inventors: Jae-hyeok Kim (Seoul, KR); Hong-mook Choi (Bucheon-si, KR); Ji-su Kang (Seoul, KR); Hyun-il Kim (Seongnam-si, KR); Jong-hoon Shin (Hwaseong-si, KR); Hye-soo Lee (Yongin-si, KR)
Assignee: SAMSUNG ELECTRONICS CO., LTD.
H04L9/002A61K38/1793A61K39/0011C07K7/06C07K7/08C07K14/47C07K14/4748C07K14/705G01N33/505G01N33/5091G01N33/56966G01N33/56972A61K2039/55566G01N2333/5409G01N2333/57H04L2209/08H04L2209/24
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 12,177,327
App. No.
17/245,309
Granted
Dec 24, 2024
Kind
B2
Abstract

An encryption device for performing virtual and real operations and a method of operating the encryption device. The method includes performing a virtual operation; when a real operation request signal is received, determining whether the virtual operation being performed is completed; and in response to the virtual operation being completed, performing a real operation in response to the real operation request signal.

Claims (59)

1. A method of operating an encryption device, the method comprising:

performing a plurality of virtual operations comprising an encryption operation using at least one of dummy data or a dummy encryption key;

when a real operation request signal is received while a current virtual operation of the plurality of virtual operations is in progress, continuing to perform the current virtual operation;

in response to an end of the current virtual operation, without stopping the encryption operation performing a real operation in which the encryption operation is performed, based on data to be encrypted and an encryption key associated with the data to be encrypted, that is requested by the real operation request signal,

wherein the plurality of virtual operations are performed to mask the real operation.

2. The method of claim 1 , further comprising receiving a delay number from outside of the encryption device,

wherein

in response to the end of the current virtual operation, continuing to perform the plurality of current virtual operations a number of times equal to the delay number before the real operation is performed.

3. The method of claim 2 , wherein the delay number comprises a value received from a host outside the encryption device.

4. The method of claim 2 , wherein the delay number comprises a random value received from a random value generator outside the encryption device.

5. The method of claim 1 , wherein each of the plurality of virtual operations and the real operation comprises a plurality of round operations, and

one round of the virtual operation and one round of the real operation each comprise a plurality of sub-round operations.

6. The method of claim 5 , wherein the plurality of sub-round operations are classified into real sub-round operations and virtual sub-round operations, and

the method further comprises forming a plurality of rounds, each comprising a real sub-round operation and a plurality of virtual sub-round operations of a first number.

7. The method of claim 6 , wherein the encryption device further comprises a counter and a real sub-round operation register configured to store a random value, and

the forming of the plurality of rounds comprises:

initializing the counter and the random value and starting forming a first round;

sequentially counting, by the counter, the plurality of sub-round operations and deriving a count value;

performing the real sub-round operation when the count value is equal to the random value, and performing one virtual sub-round operation when the count value is different from the random value; and

completing the first round when the count value is equal to a reference count value.

8. The method of claim 6 , wherein the first number is a value obtained by 2 n - 1 , where n is a positive integer.

9. The method of claim 6 , wherein the virtual operation comprises the encryption operation based on the dummy data and the dummy encryption key, and

wherein the encryption device comprises a plurality of virtual operation registers, each of which is configured to store the dummy data and the dummy encryption key on which the virtual sub-round operations are based.

10. The method of claim 9 , further comprising:

receiving a plurality of random bits;

selecting one of the plurality of virtual operation registers, based on the plurality of random bits; and

performing a sub-round operation based on the dummy data and the dummy encryption key stored in the one of the plurality of virtual operation registers.

11. A method of operating an encryption device for performing a virtual operation and a real operation, each of which comprises a plurality of round operations each comprising a plurality of sub-round operations classified into real sub-round operations and virtual sub-round operations, the method comprising:

initializing a count value and a random value regarding the plurality of sub-round operations and starting forming a round comprising the plurality of sub-round operations including one real sub-round operation of an encryption operation based on data to be encrypted and an encryption key associated with the data to be encrypted and a plurality of virtual sub-round operations of the encryption operation based on at least one of dummy data or a dummy encryption key;

deriving the count value by counting the plurality of sub-round operations;

without stopping the encryption operation performing the one real sub-round operation when the count value is equal to the random value, and one of the plurality of virtual sub-round operations when the count value is different from the random value; and

when the count value is equal to a reference count value, completing the round,

wherein the virtual operation is performed to mask the real operation.

12. The method of claim 11 , wherein a sum of a first number of times that the one real sub-round operation is performed and a second number of times that the plurality of virtual sub-round operations are performed is equal to 2n, where n is a positive integer, and

wherein the one real sub-round operation and the plurality of virtual sub-round operations are comprised in the round.

13. The method of claim 11 , further comprising:

without stopping the encryption operation performing the virtual operation;

when a real operation request signal is received, determining whether the plurality of round operations comprised in the virtual operation, which is being performed, are completed; and

in response to the plurality of round operations being completed, performing the real operation in response to the real operation request signal.

14. The method of claim 13 , further comprising receiving a delay number from the outside of the encryption device,

wherein the performing of the real operation comprises:

in response to the plurality of round operations being completed, without stopping the encryption operation performing the virtual operation a number of times equal to the delay number before the real operation is performed.

15. The method of claim 11 , wherein the encryption device comprises a first virtual operation register and a second virtual operation register, each of which is configured to store the dummy data and the dummy encryption key on which the plurality of virtual sub-round operations are based,

wherein the method further comprises:

selecting one of the first virtual operation register and the second virtual operation register based on a random bit; and

performing a sub-round operation based on the dummy data and the dummy encryption key stored in the selected one of the first virtual operation register and the second virtual operation register.

16. The method of claim 15 , wherein the random value comprises the random bit.

17. An encryption device for performing a virtual operation and a real operation, each comprising a plurality of round operations each comprising a plurality of sub-round operations classified into real sub-round operations of an encryption operation based on data to be encrypted and an encryption key corresponding to the data to be encrypted and virtual sub-round operations of the encryption operation based on at least one of dummy data or a dummy encryption key, the encryption device comprising:

a first virtual operation register configured to store first dummy data and a first dummy encryption key on which the virtual sub-round operations are based;

a second virtual operation register configured to store second dummy data and a second dummy encryption key on which the virtual sub-round operations are based; and

a first multiplexer configured to receive a first output from the first virtual operation register and a second output from the second virtual operation register, without stopping the encryption operation select one of the first output or the second output based on a random bit, and output the one of the first output or the second output that is selected,

wherein the virtual operation is performed to mask the real operation.

18. The encryption device of claim 17 , further comprising:

a real operation register configured to store real data and a real encryption key on which the real sub-round operations are based; and

a second multiplexer configured to receive a third output from the real operation register and a fourth output from the first multiplexer, without stopping the encryption operation select one of the third output or the fourth output in response to a real sub-round operation performance signal, and output the one of the third output or the fourth output that is selected.

19. The encryption device of claim 17 , further comprising:

a data function module configured to perform the encryption operation based on the virtual operation and the real operation; and

an encryption/decryption controller configured to receive a delay number from the outside of the encryption device, and when the data function module receives a real operation performance request while the virtual operation is being performed, without stopping the encryption operation control the data function module to perform the virtual operation a number of times equal to the delay number.

20. The encryption device of claim 17 , wherein each of the plurality of round operations comprises one real sub-round operation and a plurality of virtual sub-round operations.

Priority Claims (2)
KR 10-2017-0134252 · Oct 16, 2017 · national
KR 10-2018-0027082 · Mar 7, 2018 · national
Continuity (2)
Continuation 16157242 · Oct 11, 2018
Related Publication 20210284703A1 · Sep 16, 2021