IP Library › Patent Application 16157242
Patent Application
App. No. 16/157,242

ENCRYPTION DEVICE AND OPERATION METHOD THEREOF

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 None
App. No.
16/157,242
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 (55)

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

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.

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

wherein the performing of the virtual operation comprises:

in response to the virtual operation being completed, performing the virtual operation 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 virtual operation 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 encryption device comprises a plurality of virtual operation registers, each of which is configured to store dummy data and a 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 a plurality of sub-round operations including one real sub-round operation and a plurality of virtual sub-round operations;

deriving a count value by counting the sub-round operations;

performing the one real sub-round operation when the count value is equal to the random value, and performing 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.

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 2 n , 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:

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, 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 dummy data and a 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 and virtual sub-round operations, 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, 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.

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, 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 an 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, 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.

Assignments (1)
ASSIGNMENT OF ASSIGNOR'S INTEREST Recorded Oct 11, 2018
From: KIM, JAE-HYEOK; CHOI, HONG-MOOK; KANG, JI-SU; KIM, HYUN-IL; SHIN, JONG-HOON; LEE, HYE-SOO
To: SAMSUNG ELECTRONICS CO., LTD.
Reel/Frame 047132/0076 →