KR101224021B1 - Encryption and decryption apparatus and method - Google Patents

Encryption and decryption apparatus and method Download PDF

Info

Publication number
KR101224021B1
KR101224021B1 KR1020110041072A KR20110041072A KR101224021B1 KR 101224021 B1 KR101224021 B1 KR 101224021B1 KR 1020110041072 A KR1020110041072 A KR 1020110041072A KR 20110041072 A KR20110041072 A KR 20110041072A KR 101224021 B1 KR101224021 B1 KR 101224021B1
Authority
KR
South Korea
Prior art keywords
encryption
decryption
module
execution
algorithm
Prior art date
Application number
KR1020110041072A
Other languages
Korean (ko)
Other versions
KR20120122737A (en
Inventor
이효승
김정현
Original Assignee
(주)네오와인
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 (주)네오와인 filed Critical (주)네오와인
Priority to KR1020110041072A priority Critical patent/KR101224021B1/en
Publication of KR20120122737A publication Critical patent/KR20120122737A/en
Application granted granted Critical
Publication of KR101224021B1 publication Critical patent/KR101224021B1/en

Links

Images

Classifications

    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L9/00Cryptographic mechanisms or cryptographic arrangements for secret or secure communications; Network security protocols
    • H04L9/14Cryptographic mechanisms or cryptographic arrangements for secret or secure communications; Network security protocols using a plurality of keys or algorithms
    • H04L9/16Cryptographic mechanisms or cryptographic arrangements for secret or secure communications; Network security protocols using a plurality of keys or algorithms the keys or algorithms being changed during operation

Landscapes

  • Engineering & Computer Science (AREA)
  • Computer Security & Cryptography (AREA)
  • Computer Networks & Wireless Communication (AREA)
  • Signal Processing (AREA)
  • Storage Device Security (AREA)

Abstract

본 발명은 암복호화 장치 및 방법을 제공한다. 암복호화 장치는 순차적으로 동작하도록 직렬로 연결된 n개의 암복호화 모듈 중 사용자가 선택한 암복호화 모듈을 동작시키기 위한 모듈 선택 신호를 사용자로부터 수신하여 전달하는 모듈 제어부, 선택된 암복호화 모듈에 저장된 하나 이상의 암호화 알고리즘의 실행횟수를 결정하기 위한 신호로서, 선택된 암복호화 모듈마다 별개로 설정 가능한 카운트 신호를 사용자로부터 수신하여 전달하는 알고리즘 실행 제어부 및 직렬로 연결된 n개의 암복호화 모듈을 포함하며, 모듈 제어부로부터 전달된 모듈 선택 신호에 기초하여 n개의 암복호화 모듈을 선택된 암복호화 모듈을 포함하는 동작 온 그룹 및 암호화 동작을 수행하지 않는 동작 오프 그룹으로 분류하며, 알고리즘 실행 제어부로부터 전달된 카운트 신호에 기초하여 결정한 실행횟수에 따른 실행 시 마다 저장된 암호화 알고리즘 중 어느 하나를 이용하여 암호화를 수행하는 암복호화부를 포함한다.The present invention provides an encryption and decryption apparatus and method. The encryption / decryption apparatus is a module control unit for receiving and transmitting a module selection signal for operating an encryption / decryption module selected by a user among n encryption / decryption modules serially connected to operate sequentially, one or more encryption algorithms stored in the selected encryption / decryption module. A signal for determining the number of times of execution, comprising: an algorithm execution control unit for receiving and transmitting a count signal that can be set separately for each selected encryption / decoding module, and n encryption / decoding modules connected in series, and the module transmitted from the module control unit. Based on the selection signal, the n encryption / decryption modules are classified into an operation on group including the selected encryption / decryption module and an operation off group that does not perform an encryption operation, and are determined based on the number of executions determined based on the count signal transmitted from the algorithm execution control unit. Running along It includes an encryption and decryption unit for performing encryption by using any one of the stored encryption algorithm for each time.

Description

암복호화 장치 및 방법{Encryption and decryption apparatus and method}Encryption and decryption apparatus and method

본 발명은 암복호화 장치 및 방법에 관한 것으로, 보다 상세하게는 순차적으로 동작하도록 직렬로 연결된 복수의 암호화 모듈 중 사용자가 선택한 암호화 모듈에서 사용자가 카운트 하려는 알고리즘 실행횟수에 따른 실행 시 마다 미리 저장된 하나 이상의 암호화 알고리즘을 적용하여 암호화의 강도를 조절하는 암복호화 장치 및 방법에 관한 것이다.The present invention relates to an encryption and decryption apparatus and a method, and more particularly, at least one pre-stored at each execution according to the number of algorithm execution to be counted by the user in the encryption module selected by the user among a plurality of serially connected encryption modules to operate sequentially The present invention relates to an encryption and decryption apparatus and method for adjusting the strength of encryption by applying an encryption algorithm.

최근 디지털 TV, DVD(digital versatile disc) 녹화/재생기, 디지털 녹화기(Personal Video Recoder), MP3(MPEG Audio Layer-3) 플레이어 등과 같은 멀티미디어 장치의 사용자가 증가함에 따라, 멀티미디어 장치에 구비된 저장 매체 또는 별도의 외부 저장 매체에 기록된 멀티미디어 컨텐츠를 안전하게 보호하려는 움직임도 활발해 지고 있다. Recently, as the number of users of multimedia devices such as digital TVs, digital versatile disc (DVD) recorders / players, personal video recorders, MP3 players, and the like increases, There is also an active movement to secure multimedia contents recorded on separate external storage media.

특히, 컨텐츠를 안전하게 보호하기 위하여 암복호화 장치가 구비된 멀티미디어 장치가 출시되고 있다. 그러나, 종래 암복호화 장치는 용량이 큰 표준화된 암호화 알고리즘을 사용하므로 프로그램 메모리가 적은 MCU(microcontroller unit)가 장착되는 제품 및 하드웨어를 대상하는 하는 가전제품에서는 적용하기 부적합한 문제점이 있다.In particular, a multimedia device equipped with an encryption / decryption device has been released to secure contents. However, since the conventional encryption and decryption apparatus uses a standardized encryption algorithm with a large capacity, there is a problem that is unsuitable for application in a home appliance targeting hardware and a product equipped with a microcontroller unit (MCU) having a small program memory.

본 발명의 목적은 상세하게는 순차적으로 동작하도록 직렬로 연결된 복수의 암호화 모듈 중 사용자가 선택한 암호화 모듈에서 사용자가 카운트 하려는 알고리즘 실행횟수의 실행 시 마다 미리 저장된 하나 이상의 암호화 알고리즘을 적용하여 암호화의 강도를 조절할 수 있는 암복호화 장치 및 방법에 관한 것이다.In detail, an object of the present invention is to apply strength of encryption by applying one or more encryption algorithms stored in advance for each execution of an algorithm to be counted by a user in an encryption module selected by a user among a plurality of serially connected encryption modules to operate sequentially. The present invention relates to an adjustable encryption and decryption apparatus and method.

상기 기술적 과제를 해결하기 위한 본 발명의 암복호화 장치는 순차적으로 동작하도록 직렬로 연결된 n개의 암복호화 모듈 중 사용자가 선택한 암복호화 모듈을 동작시키기 위한 모듈 선택 신호를 상기 사용자로부터 수신하여 전달하는 모듈 제어부; 상기 선택된 암복호화 모듈에 저장된 암호화 알고리즘의 실행횟수를 결정하기 위한 신호로서, 상기 선택된 암복호화 모듈마다 별개로 설정 가능한 카운트 신호를 상기 사용자로부터 수신하여 전달하는 알고리즘 실행 제어부; 및 상기 직렬로 연결된 n개의 암복호화 모듈을 포함하며, 상기 모듈 제어부로부터 전달된 모듈 선택 신호에 기초하여 상기 n개의 암복호화 모듈을 상기 선택된 암복호화 모듈을 포함하는 동작 온 그룹 및 암호화 동작을 수행하지 않는 동작 오프 그룹으로 분류하며, 상기 알고리즘 실행 제어부로부터 전달된 카운트 신호에 기초하여 결정한 실행횟수에 따른 실행 시 상기 저장된 암호화 알고리즘 중 어느 하나를 이용하여 암호화를 수행하는 암복호화부를 포함하는 것을 특징으로 한다.The encryption / decryption apparatus of the present invention for solving the above technical problem is a module control unit for receiving and transmitting a module selection signal for operating an encryption / decoding module selected by a user from among n encryption / decoding modules serially connected to operate sequentially. ; An algorithm execution control unit configured to receive and transmit a count signal separately settable for each selected encryption / decryption module from the user as a signal for determining the number of executions of an encryption algorithm stored in the selected encryption / decryption module; And n encryption / decryption modules connected in series, wherein the n encryption / decryption modules include the selected encryption / decryption module based on a module selection signal transmitted from the module control unit. And an encryption / decryption unit configured to perform encryption using any one of the stored encryption algorithms when executing according to the number of executions determined based on the count signal transmitted from the algorithm execution control unit. .

상기 사용자로부터 암호화할 데이터 및 상기 사용자의 고유 식별번호를 수신하여 상기 암복호화부로 전달하는 수신부를 더 포함하는 것을 특징으로 한다.And receiving unit for receiving data to be encrypted from the user and a unique identification number of the user and transmitting the encrypted data to the encryption / decryption unit.

상기 암복호화부는 상기 데이터 및 상기 사용자의 고유 식별번호를 상기 동작 온 그룹 및 상기 동작 오프 그룹을 통해 암호화하여 최종 암호화 결과값을 생성하는 것을 특징으로 한다.The encryption / decryption unit encrypts the data and the unique identification number of the user through the operation on group and the operation off group to generate a final encryption result.

상기 암복호화부로부터 상기 최종 암호화 결과값을 전달받아 출력하는 출력부를 더 포함하는 것을 특징으로 한다.And an output unit for receiving and outputting the final encryption result value from the encryption / decryption unit.

상기 n개의 암복호화 모듈은 각각 암호화를 수행하기 위한 암호화 알고리즘을 미리 저장하는 것을 특징으로 한다.The n encryption / decryption modules each store an encryption algorithm for performing encryption in advance.

상기 선택된 암복호화 모듈은 각각 상기 저장된 암호화 알고리즘을 이용하여 암호화 실행값을 생성하는 것을 특징으로 한다.Each of the selected encryption / decryption modules generates an encryption execution value by using the stored encryption algorithm.

상기 n개의 암복호화 모듈 중 i번째 암복호화 모듈이 동작 오프 그룹에 속하는 경우, 상기 i번째 암복호화 모듈은 상기 암호화 실행값을 이용하여 암호화를 수행하지 않고 다음에 연결된 (i+1)번째 암복호화 모듈로 상기 암호화 실행값을 전달하는 것을 특징으로 한다.If an i-th decryption module of the n-decryption modules belongs to an operation off group, the i-th decryption module does not perform encryption using the encryption execution value and then (i + 1) th decryption connected next. The encryption execution value is transmitted to the module.

상기 복수의 암복호화 모듈은 상기 모듈 선택 신호에 기초하여 상기 동작 온 그룹 또는 상기 동작 오프 그룹 중 어느 하나에 포함되어 동작할 지를 결정하여 상기 암호화 실행값을 생성하는 알고리즘 실행부; 및 상기 알고리즘 실행부로부터 상기 암호화 실행값을 전달받는 결과 전달부를 더 포함하는 것을 특징으로 한다.The plurality of encryption / decryption modules may include an algorithm execution unit configured to determine whether to operate in one of the operation on group or the operation off group based on the module selection signal to generate the encryption execution value; And a result transfer unit that receives the encryption execution value from the algorithm execution unit.

상기 알고리즘 실행부는 상기 동작 온 그룹에 포함되는 경우, 상기 실행횟수에 따른 실행 시 상기 저장된 암호화 알고리즘 중 어느 하나를 이용하여 상기 암호화 실행값을 생성하는 것을 특징으로 한다.
When included in the operation on group, the algorithm execution unit generates the encryption execution value by using any one of the stored encryption algorithms when executing according to the execution frequency.

상기 기술적 과제를 해결하기 위한 암복호화 방법은 순차적으로 동작하도록 직렬로 연결된 n개의 암복호화 모듈, 상기 n개의 암복호화 모듈 중 사용자가 선택한 암복호화 모듈을 동작시키기 위한 모듈 선택 신호를 전달하는 모듈 제어부 및 저장된 암호화 알고리즘을 실행하는 실행횟수를 결정하기 위한 카운트 신호를 전달하는 알고리즘 실행 제어부를 포함하는 암복호화 장치에서 암호화를 수행하는 방법에 있어서, 상기 모듈 제어부로부터 전달된 상기 모듈 선택 신호에 기초하여 상기 n개의 암복호화 모듈을 상기 선택된 암복호화 모듈을 포함하는 동작 온 그룹 및 암호화 동작을 수행하지 않는 동작 오프 그룹으로 분류하는 단계; 상기 알고리즘 실행 제어부로부터 전달된 상기 선택된 암복호화 모듈마다 별개로 설정 가능한 상기 카운트 신호에 기초하여 상기 실행횟수를 결정하는 단계; 및 상기 실행횟수에 따른 실행 시 상기 저장된 암호화 알고리즘을 이용하여 순차적으로 암호화를 수행하는 단계를 포함하는 것을 특징으로 한다.An encryption / decryption method for solving the technical problem includes a module control unit for transmitting a module selection signal for operating an encryption / decoding module selected by a user among the n encryption / decoding modules serially connected to operate sequentially; 10. A method for performing encryption in an encryption / decryption apparatus comprising an algorithm execution control unit for transmitting a count signal for determining the number of executions for executing a stored encryption algorithm, wherein the n is based on the module selection signal transmitted from the module control unit. Classifying four encryption / decryption modules into an operation on group including the selected encryption / decryption module and an operation off group that does not perform an encryption operation; Determining the number of executions based on the count signal that can be set separately for each of the selected encryption / decryption modules transmitted from the algorithm execution control unit; And sequentially performing encryption using the stored encryption algorithm when executing according to the number of executions.

상기 사용자로부터 암호화할 데이터 및 상기 사용자의 고유 식별번호를 수신하는 단계를 더 포함하는 것을 특징으로 한다.And receiving data to be encrypted from the user and a unique identification number of the user.

상기 데이터 및 상기 사용자의 고유 식별번호를 상기 동작 온 그룹 및 상기 동작 오프 그룹을 통해 암호화하여 최종 암호화 결과값을 생성하는 것을 특징으로 한다.And encrypting the data and the unique identification number of the user through the operation on group and the operation off group to generate a final encryption result.

상기 암호화를 수행하는 단계는 상기 최종 암호화 결과값을 전달받아 출력하는 단계를 더 포함하는 것을 특징으로 한다.The performing of the encryption may further include receiving and outputting the final encryption result.

상기 암호화를 수행하는 단계는 상기 데이터 및 상기 사용자의 고유 식별번호에 상기 저장된 암호화 알고리즘을 적용하여 암호화 실행값을 생성하는 단계를 더 포함하는 것을 특징으로 한다.The performing of the encryption may further include generating an encryption execution value by applying the stored encryption algorithm to the data and the unique identification number of the user.

상기 n개의 암복호화 모듈 중 i번째 암복호화 모듈이 동작 오프 그룹에 속하는 경우,If the i-th decryption module of the n decryption module belongs to the operation off group,

상기 암호화를 수행하는 단계는 상기 암호화 실행값이 상기 i번째 암복호화 모듈로 전달되는 단계; 및 상기 i번째 암복호화 모듈에서 상기 암호화 실행값을 이용하여 암호화를 수행하지 않고 다음에 연결된 (i+1)번째 암복호화 모듈로 상기 암호화 실행값을 전달하는 단계를 더 포함하는 것을 특징으로 한다.The performing of the encryption may include: transmitting the encryption execution value to the i th encryption / decryption module; And transmitting the encryption execution value to the (i + 1) th encryption module next connected without performing encryption using the encryption execution value in the i-th encryption / decryption module.

상기 n개의 암복호화 모듈은 각각 암호화를 수행하기 위한 암호화 알고리즘을 미리 저장하는 것을 특징으로 한다.The n encryption / decryption modules each store an encryption algorithm for performing encryption in advance.

본 발명의 암복호화 장치는 순차적으로 동작하도록 직렬로 연결된 복수의 암호화 모듈을 이용하여 암호화의 강도를 조절함에 따라 종래 병렬로 연결된 암호화 모듈에서 암호화가 진행될 때마다 암호화 모듈 이외의 다른 장치를 통해 출력 데이터가 다시 해당 암호화 모듈로 입력되어 암호화가 진행되었던 것과 달리, 암호화 모듈 이외의 별도의 다른 장치 없이 최초 한번의 데이터 입력만으로 순차적으로 동작하는 암호화 모듈을 통해 암호화를 수행할 수 있으므로 암복호화 장치를 보다 소형으로 단순하게 제작할 수 있다.As the encryption / decryption apparatus of the present invention adjusts the strength of encryption by using a plurality of serially connected encryption modules so as to operate sequentially, output data through devices other than the encryption module each time encryption proceeds in a conventionally connected encryption module. Is again inputted into the corresponding encryption module, and the encryption is performed. Since the encryption can be performed through the encryption module that operates sequentially with only one data input without any other device other than the encryption module, the encryption / decryption device is smaller. Can be produced simply.

그리고, 본 발명의 암복호화 장치는 복수의 암호화 모듈 중 사용자의 선택한 암호화 모듈에서 사용자가 카운트 하려는 알고리즘 실행횟수의 실행 시 마다 미리 저장된 저용량의 암호화 알고리즘을 이용하여 암호화를 수행함에 따라 종래 용량이 큰 표준화된 암호화 알고리즘을 반복적으로 사용하여 암호화를 수행했던 것보다 빠르게 암호화를 수행할 수 있다.Further, the encryption / decryption apparatus of the present invention performs standardization using a low-capacity encryption algorithm stored in advance every time the user executes the number of algorithm executions to be counted by the user's selected encryption module among a plurality of encryption modules. It is possible to perform encryption faster than using encryption by repeatedly using the encrypted encryption algorithm.

또한, 본 발명의 암복호화 장치는 저용량의 암호화 알고리즘을 사용하여 암호화 강도를 제어하므로 프로그램 메모리가 적은 MCU(microcontroller unit)가 장착되는 제품 및 하드웨어를 대상하는 하는 가전 제품에서도 암복호화 장치를 적용하여 암호화 강도를 제어할 수 있다.In addition, since the encryption / decryption apparatus of the present invention controls the encryption strength using a low-capacity encryption algorithm, the encryption / decryption apparatus is applied to a home appliance that targets a product and a hardware equipped with a microcontroller unit (MCU) having a small program memory. The intensity can be controlled.

도 1은 본 발명의 실시예에 따른 암복호화 장치를 개략적으로 나타내는 도면이다.
도 2는 본 발명의 실시예에 따른 모듈 선택 신호가 저장된 레지스터의 한 예를 나타내는 도면이다.
도 3은 본 발명의 실시예에 따른 카운트 신호가 저장된 레지스터의 한 예를 나타내는 도면이다.
도 4는 본 발명의 실시예에 따른 암호화를 수행하는 암복호화 장치의 한 예를 개략적으로 나타내는 도면이다.
도 5는 본 발명의 실시예에 따른 암복호화 장치에서 암호화를 수행하는 순서를 나타내는 순서도이다.
도 6은 본 발명의 실시예에 따른 동작 온 그룹에 포함되는 암복호화 모듈에서 미리 저장된 암호화 알고리즘을 이용하여 암호화를 수행하는 방법을 나타내는 순서도이다.
1 is a diagram schematically showing an encryption / decryption apparatus according to an embodiment of the present invention.
2 is a diagram illustrating an example of a register in which a module selection signal is stored according to an embodiment of the present invention.
3 is a diagram illustrating an example of a register in which a count signal is stored according to an exemplary embodiment of the present invention.
4 is a diagram schematically showing an example of an encryption / decryption apparatus for performing encryption according to an embodiment of the present invention.
5 is a flowchart illustrating a procedure of performing encryption in an encryption / decryption apparatus according to an embodiment of the present invention.
6 is a flowchart illustrating a method of performing encryption using an encryption algorithm stored in advance in an encryption / decryption module included in an operation on group according to an embodiment of the present invention.

본 발명을 첨부된 도면을 참조하여 상세히 설명하면 다음과 같다. 여기서, 반복되는 설명, 본 발명의 요지를 불필요하게 흐릴 수 있는 공지 기능, 및 구성에 대한 상세한 설명은 생략한다. 본 발명의 실시형태는 당 업계에서 평균적인 지식을 가진 자에게 본 발명을 보다 완전하게 설명하기 위해서 제공되는 것이다. 따라서, 도면에서의 요소들의 형상 및 크기 등은 보다 명확한 설명을 위해 과장될 수 있다.
The present invention will now be described in detail with reference to the accompanying drawings. Hereinafter, a repeated description, a known function that may obscure the gist of the present invention, and a detailed description of the configuration will be omitted. Embodiments of the present invention are provided to more fully describe the present invention to those skilled in the art. Accordingly, the shape and size of elements in the drawings may be exaggerated for clarity.

도 1은 본 발명의 실시예에 따른 암복호화 장치를 개략적으로 나타내는 도면이다. 도 2는 본 발명의 실시예에 따른 모듈 선택 신호가 저장된 레지스터의 한 예를 나타내는 도면이며, 도 3은 본 발명의 실시예에 따른 카운트 신호가 저장된 레지스터의 한 예를 나타내는 도면이다.1 is a diagram schematically showing an encryption / decryption apparatus according to an embodiment of the present invention. 2 is a diagram illustrating an example of a register in which a module selection signal is stored according to an embodiment of the present invention, and FIG. 3 is a diagram illustrating an example of a register in which a count signal is stored according to an embodiment of the present invention.

도 1에 도시한 바와 같이, 본 발명의 실시예에 따른 암복호화 장치(100)는 순차적으로 동작하도록 직렬로 연결된 암복호화 모듈(120a-120n) 중 사용자가 선택한 암복호화 모듈을 동작시키며, 암복호화 모듈에 미리 저장된 하나 이상의 암호화 알고리즘을 번갈아 가며 실행하는 횟수(이하, "실행횟수"라고 함)를 결정하여, 실행횟수에 따른 실행 시 마다 해당 암호화 알고리즘 중 어느 하나를 이용하여 계층적으로 암호화의 강도를 조절한다. As shown in FIG. 1, the encryption / decryption apparatus 100 according to an embodiment of the present invention operates an encryption / decryption module selected by a user among the encryption / decryption modules 120a-120n connected in series to sequentially operate. Determines the number of times to execute one or more encryption algorithms stored in the module alternately (hereinafter referred to as "execution number"), and uses the one of the corresponding encryption algorithms hierarchically for each execution according to the number of executions. Adjust

이러한, 암복호화 장치(100)는 수신부(110), 암복호화부(120), 모듈 제어부(130), 알고리즘 실행 제어부(140) 및 출력부(150)를 포함한다.
The encryption / decryption apparatus 100 includes a receiver 110, an encryption / decryptor 120, a module controller 130, an algorithm execution controller 140, and an output unit 150.

수신부(110)는 암호화할 데이터 및 사용자 고유 식별번호를 사용자로부터 전달받는다. 수신부(110)는 암호화할 데이터 및 사용자 고유 식별번호를 암복호화부(140)로 전달한다.The receiver 110 receives data to be encrypted and a user's unique identification number from the user. The receiver 110 transmits data to be encrypted and a user unique identification number to the encryption / decryption unit 140.

암복호화부(120)는 수신부(110)로부터 전달된 데이터 및 사용자 고유 식별번호를 전달받으며, 서로 다른 암호화를 수행하기 위해 순차적으로 동작하도록 직렬로 연결되어 있는 n개의 암복호화 모듈(120a-120n)을 포함한다. 암복호화부(120)는 모듈 제어부(130)로부터 전달된 모듈 선택 신호에 기초하여 n개의 암복호화 모듈(120a-120n)을 사용자가 선택한 암복호화 모듈을 포함하는 동작 온 그룹 및 암호화 동작을 수행하지 않는 동작 오프 그룹으로 분류한다. 그리고, 암복호화부(120)는 알고리즘 실행 제어부(140)로부터 전달된 카운트 신호에 기초하여 암복호화 모듈에 저장된 암호화 알고리즘을 실행하는 실행횟수를 결정하며, 데이터 및 사용자 고유 식별번호에 저장된 암호화 알고리즘을 적용하여 계층적으로 암호화한다.The encryption / decryption unit 120 receives data transmitted from the reception unit 110 and a user unique identification number, and n encryption / decryption modules 120a to 120n connected in series to sequentially operate to perform different encryption. It includes. The encryption / decryption unit 120 does not perform an operation on group and encryption operation including an encryption / decryption module selected by the user based on the module selection signal transmitted from the module control unit 130. Do not classify as off-group. The encryption / decryption unit 120 determines the number of executions of executing the encryption algorithm stored in the encryption / decryption module based on the count signal transmitted from the algorithm execution control unit 140, and determines the encryption algorithm stored in the data and the user identification number. Apply and encrypt hierarchically.

구체적으로, 암복호화 모듈(120a-120n)은 사용자가 입력한 모듈 선택 신호(CS)에 기초하여 동작 온 그룹 및 동작 오프 그룹 중 어느 하나에 포함되어 동작할 지가 결정되며, 서로 다른 암호화 기능을 수행한다. 여기서, 모듈 선택 신호(CS)는 동작 온 그룹 및 동작 오프 그룹 중 어느 하나에 포함되어 암호화 동작을 수행할 지를 결정하는 값을 포함하며, 그 값은 도 2에 도시한 바와 같이 각 암복호화 모듈의 개수에 대응하는 레지스터(200)(R11-R1n)에 저장된다. 즉, 사용자의 선택에 따라 모듈 선택 신호(CS)는 임의로 변경 가능하며, 선택된 값에 따라 동작 온 그룹에 포함되는 사용자가 선택하는 암복호화 모듈의 개수를 제어하여 암호화 레벨을 차별화할 수 있다. 본 발명의 실시예에서는 암복호화 모듈을 동작시키기 위한 값을 "1"로 설정하며, 암복호화 모듈을 동작시키지 않는 값을 "0"으로 설정한다.In detail, the encryption / decryption modules 120a to 120n determine whether to be included in one of an operation on group and an operation off group based on the module selection signal CS input by the user, and perform different encryption functions. do. Here, the module selection signal CS includes a value which is included in one of an operation on group and an operation off group to determine whether to perform an encryption operation, and the value is shown in FIG. 2. It is stored in registers 200 (R11-R1n) corresponding to the number. That is, the module selection signal CS may be arbitrarily changed according to the user's selection, and the encryption level may be differentiated by controlling the number of encryption / decryption modules selected by the user included in the operation on group according to the selected value. In an embodiment of the present invention, a value for operating the encryption / decryption module is set to "1", and a value for not operating the encryption / decryption module is set to "0".

이러한 암복호화 모듈(120a-120n)은 각각 알고리즘 실행부(121a-121n) 및 결과 전달부(122a-122n)를 포함한다. 본 발명의 실시예에 따른 암복호화 모듈(120a-120n)의 구성 및 기능은 동일하므로 암복호화 모듈(120a)을 이용하여 구성 및 기능에 대하여 구체적으로 설명한다.The encryption / decryption modules 120a-120n include algorithm execution units 121a-121n and result transfer units 122a-122n, respectively. Since the configuration and functions of the encryption / decryption modules 120a to 120n according to the embodiment of the present invention are the same, the configuration and functions will be described in detail using the encryption / decryption module 120a.

알고리즘 실행부(121a)는 수신부(110)로부터 전달된 암호화할 데이터 및 사용자 고유 식별번호를 전달받는다. 알고리즘 실행부(121a)는 사용자가 입력한 카운트 신호(LS)에 기초하여 실행횟수를 결정한다. 여기서, 카운트 신호(LS)는 저장된 암호화 알고리즘을 실행하는 실행횟수를 포함하며, 사용자가 선택한 암복호화 모듈마다 별개의 값으로 설정된다. 이러한 실행횟수는 도 3에 도시한 바와 같이 각 암복호화 모듈의 개수에 대응하는 레지스터(300)(R21-R2n)에 저장된다. 즉, 사용자의 선택에 따라 카운트 신호(LS)는 임의로 변경 가능하며, 선택된 실행횟수에 따른 실행 시 마다 저장된 암호화 알고리즘 중 어느 하나를 이용하여 암호화 레벨의 강도를 차별화할 수 있다.The algorithm execution unit 121a receives data to be encrypted and a user unique identification number transmitted from the reception unit 110. The algorithm execution unit 121a determines the number of executions based on the count signal LS input by the user. Here, the count signal LS includes the number of executions for executing the stored encryption algorithm, and is set to a separate value for each encryption / decryption module selected by the user. The number of executions is stored in the registers 300 (R21-R2n) corresponding to the number of each encryption / decryption modules as shown in FIG. That is, the count signal LS may be arbitrarily changed according to the user's selection, and the strength of the encryption level may be differentiated using any one of stored encryption algorithms at each execution according to the selected number of executions.

알고리즘 실행부(121a)는 실행횟수에 따른 실행 시 마다 미리 저장된 암호화 알고리즘 중 어느 하나를 이용하여 암호화를 수행한다. 여기서, 본 발명의 실시예에 따른 미리 저장된 암호화 알고리즘은 종래 암호화에 사용되던 용량이 큰 알고리즘과 달리 프로그램 메모리가 적은 MCU(microcontroller unit)가 장착되는 제품 및 하드웨어를 대상하는 하는 전자 제품에서는 적용할 수 있도록 최적화된 용량을 갖는다.The algorithm execution unit 121a performs encryption using any one of pre-stored encryption algorithms at each execution according to the number of executions. Here, the pre-stored encryption algorithm according to an embodiment of the present invention can be applied to electronic products targeting hardware and products equipped with a microcontroller unit (MCU) having a small program memory, unlike algorithms having a large capacity used in conventional encryption. Has an optimized capacity.

예를 들어, 알고리즘 실행부(121a)의 실행횟수가 3회인 경우, 알고리즘 실행부(121a)는 "1회" 반복에서는 하나 이상의 암호화 알고리즘 중 제1 알고리즘을 적용하여 암호화할 데이터와 사용자 고유 식별번호를 연산하고 제1 연산값을 생성한다. 그리고, 알고리즘 실행부(121a)는 "2회" 반복에서는 제1 연산값에 제1 알고리즘과 다른 제2 알고리즘을 적용하여 제2 연산값을 생성한다. 알고리즘 실행부(121a)는 "3회" 반복에서는 제2 연산값에 제1 및 제2 알고리즘과 다른 제3 알고리즘을 적용하여 제3 연산값, 즉 암호화 실행값을 생성한다.For example, when the number of execution times of the algorithm execution unit 121a is three times, the algorithm execution unit 121a applies the first algorithm of one or more encryption algorithms in a "one time" repetition to encrypt the data and the user unique identification number. And calculates a first operation value. The algorithm execution unit 121a generates a second calculation value by applying a second algorithm different from the first algorithm to the first calculation value in the "twice" iteration. In the "three times" iteration, the algorithm execution unit 121a applies a third algorithm different from the first and second algorithms to the second operation value to generate a third operation value, that is, an encryption execution value.

결과 전달부(122a)는 알고리즘 실행부(121a)로부터 암호화 실행값을 전달받는다. 결과 전달부(122a)는 다음 차례의 암복호화 모듈(120b)로 암호화 실행값을 전달한다. 그러면, 암복호화 모듈(120b)는 암복호화 모듈(120a)에서 암호화 실행값을 생성한 것과 같이 모듈 선택 신호(CS) 및 카운트 신호(LS)에 기초하여 암호화를 수행한다.The result transfer unit 122a receives the encryption execution value from the algorithm execution unit 121a. The result delivery unit 122a transmits the encryption execution value to the next encryption / decryption module 120b. Then, the encryption / decryption module 120b performs encryption based on the module selection signal CS and the count signal LS as the encryption execution value is generated by the encryption / decryption module 120a.

동일한 방법으로, 나머지 암복호화 모듈(120c-120n)들 역시 모듈 선택 신호(CS) 및 카운트 신호(LS)에 기초하여 동작여부를 결정하고 암호화를 수행한다.
In the same manner, the remaining encryption / decryption modules 120c-120n also determine whether to operate based on the module selection signal CS and the count signal LS and perform encryption.

한편, 모듈 제어부(130)는 사용자가 선택한 암복호화 모듈을 동작시키기 위한 모듈 선택 신호(CS)를 사용자로부터 전달받는다. 모듈 제어부(130)는 계층적 암호화를 위해 암호화할 데이터 및 사용자 고유 식별번호가 암복호화 모듈(120a)로 전달되면 암호화의 수행이 시작된 것으로 판단하여 각 암복호화 모듈(120a-120n)로 모듈 선택 신호(CS)를 전달한다. Meanwhile, the module controller 130 receives a module selection signal CS for operating the encryption / decryption module selected by the user from the user. When the data to be encrypted and the user's unique identification number are transmitted to the encryption / decryption module 120a for the hierarchical encryption, the module controller 130 determines that the encryption has been started, and then selects a module selection signal to each encryption / decryption module 120a-120n. Pass (CS).

알고리즘 실행 제어부(140)는 암복호화 모듈(120a-120n)에 미리 저장된 하나 이상의 암호화 알고리즘을 번갈아 가며 실행하기 위한 실행횟수를 결정하기 위해 카운트 신호(LS)를 전달받는다.The algorithm execution control unit 140 receives a count signal LS to determine the number of execution times for alternately executing one or more encryption algorithms previously stored in the encryption / decryption modules 120a-120n.

알고리즘 실행 제어부(140)는 암호화할 데이터 및 사용자 고유 식별번호가 암복호화 모듈(120a)로 전달되면 암호화의 수행이 시작된 것으로 판단하여 각 암복호화 모듈(120a-120n)로 카운트 신호(LS)를 전달한다.When the data to be encrypted and the user identification number are transmitted to the encryption / decryption module 120a, the algorithm execution control unit 140 determines that encryption is started, and transmits a count signal LS to each encryption / decryption module 120a-120n. do.

본 발명의 실시예에서는 암호화할 데이터 및 사용자 고유 식별번호가 암복호화 모듈(120a)로 전달되면 암호화 동작이 시작된 것으로 판단하였으나, 본 발명은 이에 한정되지 않으며, 암호와 동작의 시작을 알리는 다른 신호가 전달될 수도 있다.In the exemplary embodiment of the present invention, when the data to be encrypted and the user's unique identification number are transmitted to the encryption / decryption module 120a, it is determined that the encryption operation is started, but the present invention is not limited thereto. It may be delivered.

출력부(150)는 암복호화부(120)로부터 사용자의 선택에 따라 암호화 강도가 조절된 최종 암호화 결과값을 전달받는다. 출력부(150)는 최종 최종 암호화 결과값을 출력한다.
The output unit 150 receives the final encryption result value of which the encryption strength is adjusted according to the user's selection from the encryption / decryption unit 120. The output unit 150 outputs the final final encryption result value.

다음은 본 발명의 실시예에 따른 암복호화 장치에서 암호화를 수행하는 한 예를 구체적으로 설명한다.Next, an example of performing encryption in an encryption / decryption apparatus according to an embodiment of the present invention will be described in detail.

도 4는 본 발명의 실시예에 따른 암호화를 수행하는 암복호화 장치의 한 예를 개략적으로 나타내는 도면이다.4 is a diagram schematically showing an example of an encryption / decryption apparatus for performing encryption according to an embodiment of the present invention.

도 4에서는 이해를 돕기 위해 도 1과 구성은 동일하나 복수의 암복호화 모듈(120a-120n) 중 암복호화 모듈(120a-120c)만 연결되어 있으며, 암복호화 모듈(120b)는 동작 오프 그룹이며, 암복호화 모듈(120a, 120c)는 동작 온 그룹으로 분류된 것으로 가정한다. 이러한 분류를 위해, 사용자는 암복호화 모듈(120a-120d)에 대응하는 값(1/0/1)을 모듈 선택 신호(CS)로 선택하였으며, 알고리즘 실행횟수의 값(3/0/2)을 카운트 신호(LS)로 선택한 것으로 가정한다.In FIG. 4, the configuration is the same as that of FIG. 1, but only the encryption / decryption modules 120a-120c of the plurality of encryption / decryption modules 120a-120n are connected, and the encryption / decryption module 120b is an operation off group. It is assumed that the encryption / decryption modules 120a and 120c are classified into operation on groups. For this classification, the user selects the value (1/0/1) corresponding to the encryption / decryption modules 120a-120d as the module selection signal CS, and selects the value (3/0/2) of the algorithm execution count. Assume that the count signal LS is selected.

모듈 제어부(130)는 사용자로부터 모듈 선택 신호(CS=1/0/1)를 전달받아 그 값을 해당 레지스터(R11=1, R12=0, R13=1)에 저장하고, 해당 암복호화 모듈로 전달한다. 그리고, 알고리즘 실행 제어부(140)는 사용자로부터 카운트 신호(LS=3/0/2)를 전달받아 그 값을 해당 레지스터(R21=3, R22=0, R23=2)에 저장하고, 해당 암복호화 모듈로 전달한다.The module controller 130 receives the module selection signal (CS = 1/0/1) from the user and stores the value in the corresponding register (R11 = 1, R12 = 0, R13 = 1), and sends the module to the corresponding encryption / decryption module. To pass. The algorithm execution control unit 140 receives the count signal LS = 3/0/2 from the user and stores the value in the registers R21 = 3, R22 = 0, and R23 = 2. Pass it to the module.

구체적으로, 모듈 제어부(130)는 사용자가 입력한 데이터 및 사용자 고유 식별번호가 암복호화 모듈(120a)로 전달되면, 계층적 암호화의 수행이 시작된 것으로 판단하여 암복호화 모듈(120a)로 레지스터(R11)에 저장된 값(1)을 전달하며, 암복호화 모듈(120b)로 레지스터(R12)에 저장된 값(0)을 전달하며, 암복호화 모듈(120c)로 레지스터(R13)에 저장된 값(1)을 전달한다. 즉, 모듈 선택 신호(CS)의 값으로 "0"이 전달된 암복호화 모듈(120b)은 동작 오프 그룹에 포함되어 암호화를 수행하지 않으며, "1"이 전달된 암복호화 모듈(120a) 및 암복호화 모듈(120c)은 동작 온 그룹에 포함되어 암호화를 수행한다.In detail, when the data input by the user and the user unique identification number are transmitted to the encryption / decryption module 120a, the module controller 130 determines that the hierarchical encryption is started, and then registers the register R11 to the encryption / decryption module 120a. The value 1 stored in the register R12 is transmitted to the encryption / decryption module 120b, and the value 1 stored in the register R13 is transferred to the encryption / decryption module 120c. To pass. That is, the encryption / decryption module 120b, to which "0" is transmitted as the value of the module selection signal CS, is included in the operation off-group and does not perform encryption. The decryption module 120c is included in the operation on group to perform encryption.

알고리즘 실행 제어부(140)는 암호화할 데이터 및 사용자 고유 식별번호가 암복호화 모듈(120a)로 전달되면, 계층적 암호화의 수행이 시작된 것으로 판단하여 암복호화 모듈(120a)로 레지스터(R21)에 저장된 값(3)을 전달하며, 암복호화 모듈(120b)로 레지스터(R22)에 저장된 값(0)을 전달하며, 암복호화 모듈(120c)로 레지스터(R23)에 저장된 값(2)을 전달한다. When the algorithm execution control unit 140 transmits the data to be encrypted and the user's unique identification number to the encryption / decryption module 120a, the algorithm execution control unit 140 determines that the hierarchical encryption has been started and stores the value stored in the register R21 by the encryption / decryption module 120a. (3), a value 0 stored in the register R22 is transmitted to the encryption / decryption module 120b, and a value 2 stored in the register R23 is transmitted to the encryption / decryption module 120c.

이처럼 모듈 제어부(130) 및 알고리즘 실행 제어부(140)로부터 신호가 전달되면, 암복호화 모듈(120a)의 알고리즘 실행부(121a)는 동작 온 그룹이므로, 암호화를 수행하기 위해 "3회"의 실행횟수 중 "1회" 반복에서는 미리 저장된 제1 알고리즘을 적용하여 암호화할 데이터와 사용자 고유 식별번호를 연산하고 제1 연산값을 생성한다. 알고리즘 실행부(121a)는 "2회" 반복에서는 제1 연산값에 제2 알고리즘을 적용하여 제2 연산값을 생성하며, "3회" 반복에서는 제2 연산값에 제3 알고리즘을 적용하여 제3 연산값, 즉 암호화 실행값(Y1)을 생성한다. 알고리즘 실행부(121a)는 암호화 실행값(Y1)을 결과 전달부(122a)로 전달한다. 그러면, 결과 전달부(122a)는 다음 계층의 암복호화 모듈(120b)로 암호화 실행값(Y1)을 전달한다.When the signal is transmitted from the module control unit 130 and the algorithm execution control unit 140 as described above, since the algorithm execution unit 121a of the encryption / decryption module 120a is an operation on group, the number of executions of "three times" to perform encryption is performed. In the " once " iteration, the data to be encrypted and the user's unique identification number are calculated by applying the previously stored first algorithm, and the first calculation value is generated. The algorithm execution unit 121a generates a second operation value by applying the second algorithm to the first operation value in the "twice" iteration, and applies the third algorithm to the second operation value in the "three times" iteration. 3 Generate an operation value, that is, an encryption execution value Y1. The algorithm execution unit 121a transfers the encryption execution value Y1 to the result transfer unit 122a. Then, the result delivery unit 122a delivers the encryption execution value Y1 to the encryption / decryption module 120b of the next layer.

그러면 다음 암복호화 모듈(120b)은 암호화 실행값(Y1)을 암복호화 모듈(120a)로부터 전달받는다. 암복호화 모듈(120b)은 동작 오프 그룹이므로 암호화 2단계를 수행하지 않는다. 따라서, 암복호화 모듈(120b)는 암복호화 모듈(120a)로부터 전달된 암호화 실행값(Y1) 그대로를 다음 암복호화 모듈(120c)로 전달한다. Then, the next decryption module 120b receives the encryption execution value Y1 from the decryption module 120a. The encryption / decryption module 120b does not perform the second encryption step because it is an operation off group. Therefore, the encryption / decryption module 120b transfers the encryption execution value Y1 as it is from the encryption / decryption module 120a to the next encryption / decryption module 120c.

암복호화 모듈(120c)은 암호화 실행값(Y1)을 암복호화 모듈(120b)로부터 전달받는다. 암복호화 모듈(120c)의 알고리즘 실행부(121c)는 동작 온 그룹이므로, 암호화를 수행하기 위해 "2회"의 실행횟수 중 "1회" 반복에서는 미리 저장된 제1 알고리즘을 적용하여 제1 연산값을 생성한다. 알고리즘 실행부(121c)는 "2회" 반복에서는 제1 연산값에 제2 알고리즘을 적용하여 제2 연산값, 즉 암호화 실행값(Y2)을 생성한다. 알고리즘 실행부(121c)는 암호화 실행값(Y2)을 결과 전달부(122c)로 전달한다. 그러면, 결과 전달부(122c)는 암복호화 모듈(120c)이 암복호화부(120)의 마지막 모듈이므로 암호화 실행값(Y2), 즉 최종 암호화 결과값을 출력부(150)로 전달한다.
The encryption / decryption module 120c receives the encryption execution value Y1 from the encryption / decryption module 120b. Since the algorithm execution unit 121c of the encryption / decryption module 120c is an operation on group, a first operation value is applied by applying a first algorithm previously stored in the "once" repetition of the "two times" execution times to perform encryption. Create The algorithm execution unit 121c generates the second operation value, that is, the encryption execution value Y2, by applying the second algorithm to the first operation value in the " twice " iteration. The algorithm execution unit 121c transfers the encryption execution value Y2 to the result transfer unit 122c. Then, the result transfer unit 122c transfers the encryption execution value Y2, that is, the final encryption result value to the output unit 150 since the encryption / decryption module 120c is the last module of the encryption / decryption unit 120.

도 5는 본 발명의 실시예에 따른 암복호화 장치에서 암호화를 수행하는 순서를 나타내는 순서도이다.5 is a flowchart illustrating a procedure of performing encryption in an encryption / decryption apparatus according to an embodiment of the present invention.

도 5를 참고하면, 본 발명의 실시예에 따른 모듈 제어부(130)는 사용자로부터 모듈 선택 신호(CS)를 전달받으며, 알고리즘 실행 제어부(140)는 사용자로부터 카운트 신호(LS)를 전달받는다(S100).Referring to FIG. 5, the module control unit 130 according to an embodiment of the present invention receives a module selection signal CS from a user, and the algorithm execution control unit 140 receives a count signal LS from a user (S100). ).

모듈 제어부(130)는 사용자가 입력한 암호화할 데이터 및 사용자 고유 식별번호가 암복호화 모듈(120a)로 전달되면, 계층적 암호화의 수행이 시작된 것으로 판단하여 모듈 선택 신호(CS)를 암복호화부(120)의 각 암복호화 모듈(120a-120n)로 전달한다. 또한, 알고리즘 실행 제어부(140)도 카운트 신호(LS)를 암복호화부(120)의 각 암복호화 모듈(120a-120n)로 전달한다(S110).When the data to be encrypted and the user's unique identification number input by the user are transmitted to the encryption / decryption module 120a, the module control unit 130 determines that the hierarchical encryption has been started, and outputs the module selection signal CS. Transfer to each encryption / decryption module 120a-120n. In addition, the algorithm execution control unit 140 also transmits the count signal LS to each of the decryption modules 120a-120n of the decryption unit 120 (S110).

암복호화부(120)는 모듈 선택 신호에 기초하여 암복호화 모듈(120a-120n)을 사용자가 선택한 암복호화 모듈을 포함하는 동작 온 그룹 및 암호화 동작을 수행하지 않는 동작 오프 그룹으로 분류한다(S120).The encryption / decryption unit 120 classifies the encryption / decryption modules 120a-120n into an operation on group including an encryption / decryption module selected by the user and an operation off group that does not perform an encryption operation based on the module selection signal (S120). .

암복호화부(120)는 카운트 신호에 기초하여 동작 온 그룹에 포함되는 사용자가 선택한 암복호화 모듈의 실행횟수를 결정한다(S130). 암복호화부(120)는 실행횟수에 따른 실행 시 마다 저장된 암호화 알고리즘 중 어느 하나를 이용하여 암호화를 수행하여 최종 암호화 결과값을 생성한다(S140).
The encryption / decoding unit 120 determines the number of times of execution of the encryption / decryption module selected by the user included in the operation on group based on the count signal (S130). The encryption / decryption unit 120 performs encryption by using any one of the stored encryption algorithms at each execution according to the number of executions to generate a final encryption result value (S140).

도 6은 본 발명의 실시예에 따른 동작 온 그룹에 포함되는 암복호화 모듈에서 하나 이상의 암호화 알고리즘 중 어느 하나를 이용하여 암호화를 수행하는 방법을 나타내는 순서도이다. 6 is a flowchart illustrating a method of performing encryption using any one or more encryption algorithms in an encryption / decryption module included in an operation on group according to an embodiment of the present invention.

본 발명의 실시예에 따른 순차적으로 동작하도록 직렬로 연결된 암복호화 모듈(120a-120n) 중 암복호화 모듈(120a)이 동작 온 그룹에 포함된 것으로 가정하여 설명한다.It is assumed that the encryption / decryption module 120a is included in the operation on group among the encryption / decryption modules 120a-120n connected in series to sequentially operate according to an embodiment of the present invention.

도 6에 도시한 바와 같이, 암복호화 모듈(120a)은 카운트 신호(LS)에 기초하여 실행횟수를 결정한다(S200). As shown in FIG. 6, the encryption / decryption module 120a determines the number of times of execution based on the count signal LS (S200).

암복호화 모듈(120a)은 미리 저장된 하나 이상의 암호화 알고리즘 중 어느 하나를 적용하여 암호화 연산값을 생성한다(S210). 동작 암복호화 모듈(120a)은 실행횟수가 종료되었는지를 판단한다(S220).The encryption / decryption module 120a generates an encryption operation value by applying any one or more previously stored encryption algorithms (S210). The operation encryption / decryption module 120a determines whether the number of times of execution is terminated (S220).

S220 단계에서 판단결과 실행횟수가 종료되지 않은 경우, 암복호화 모듈(120a)은 S210 단계로 돌아가 사용되지 않은 하나 이상의 암호화 알고리즘 중 다른 하나를 적용하여 암호화 연산값을 생성한다.If the result of the determination in step S220 is not finished, the encryption / decryption module 120a returns to step S210 to generate an encryption operation value by applying another one of the one or more unused encryption algorithms.

S220 단계에서 판단결과 실행횟수가 종료된 경우, 암복호화 모듈(120a)은 암호화 실행값을 다음 순차의 암복호화 모듈로 전달한다(S230).
When the number of times of execution is determined in step S220, the encryption / decryption module 120a transmits the encryption execution value to the next encryption / decryption module (S230).

전술한 바와 같이 본 발명의 실시예에 따른 암복호화 장치는 사용자의 제어에 따라 암호화 알고리즘의 실행횟수에 대응하는 개수의 서로 다른 알고리즘을 적용하여 계층적으로 암호화의 강도를 조절할 수 있으며, 동일한 방법을 반대로 적용하여 복호화를 수생할 수도 있다.
As described above, the encryption / decryption apparatus according to the embodiment of the present invention may control the strength of encryption hierarchically by applying different algorithms corresponding to the number of executions of the encryption algorithm under the control of the user. Conversely, decoding can also be applied.

이와 같이, 본 발명의 실시예에 따른 암복호화 장치는 순차적으로 동작하도록 직렬로 연결된 복수의 암호화 모듈을 이용하여 암호화의 강도를 조절함에 따라 종래 병렬로 연결된 암호화 모듈에서 암호화가 진행될 때마다 암호화 모듈 이외의 다른 장치를 통해 출력 데이터가 다시 해당 암호화 모듈로 입력되어 암호화가 진행되었던 것과 달리, 암호화 모듈 이외의 별도의 다른 장치와 제어 없이 최초 한번의 데이터 입력만으로 순차적으로 동작하는 암호화 모듈을 통해 암호화를 수행할 수 있으므로 암복호화 장치를 보다 소형으로 단순하게 제작할 수 있다.As described above, the encryption / decryption apparatus according to the embodiment of the present invention controls the strength of encryption by using a plurality of serially connected encryption modules to operate sequentially. Unlike the output data is input again through the other encryption module to the corresponding encryption module and the encryption is in progress, encryption is performed through the encryption module which operates sequentially with only one data input without control with another device other than the encryption module. As a result, the encryption / decryption apparatus can be made more compact and simple.

그리고, 본 발명의 암복호화 장치는 복수의 암호화 모듈 중 사용자의 선택한 암호화 모듈에서 사용자가 카운트 하려는 알고리즘 실행횟수마다 미리 저장된 저용량의 하나 이상의 암호화 알고리즘을 이용하여 암호화를 수행함에 따라 종래 용량이 큰 표준화된 암호화 알고리즘을 반복적으로 사용하여 암호화를 수행했던 것보다 빠르게 암호화를 수행할 수 있다.In addition, the encryption / decryption apparatus of the present invention performs standardization by using one or more encryption algorithms of low capacity stored in advance for every number of algorithm executions that the user wants to count in a user's selected encryption module among a plurality of encryption modules. By using encryption algorithms repeatedly, you can perform encryption faster than you did.

또한, 본 발명의 암복호화 장치는 저용량의 암호화 알고리즘을 사용하여 암호화 강도를 제어하므로 프로그램 메모리가 적은 MCU(microcontroller unit)가 장착되는 제품 및 하드웨어를 대상하는 하는 가전 제품에서도 암복호화 장치를 적용하여 암호화 강도를 제어할 수 있다.
In addition, since the encryption / decryption apparatus of the present invention controls the encryption strength using a low-capacity encryption algorithm, the encryption / decryption apparatus is applied to a home appliance that targets a product and a hardware equipped with a microcontroller unit (MCU) having a small program memory. The intensity can be controlled.

이상에서와 같이 도면과 명세서에서 최적의 실시예가 개시되었다. 여기서 특정한 용어들이 사용되었으나, 이는 단지 본 발명을 설명하기 위한 목적에서 사용된 것이지 의미 한정이나 특허청구범위에 기재된 본 발명의 범위를 제한하기 위하여 사용된 것은 아니다. 그러므로, 본 기술 분야의 통상의 지식을 가진자라면 이로부터 다양한 변형 및 균등한 타 실시예가 가능하다는 점을 이해할 것이다. 따라서, 본 발명의 진정한 기술적 보호범위는 첨부된 특허청구범위의 기술적 사상에 의해 정해져야 할 것이다.As described above, an optimal embodiment has been disclosed in the drawings and specification. Although specific terms have been employed herein, they are used for purposes of illustration only and are not intended to limit the scope of the invention as defined in the claims or the claims. Therefore, those skilled in the art will understand that various modifications and equivalent other embodiments are possible from this. Accordingly, the true scope of the present invention should be determined by the technical idea of the appended claims.

100: 암복호화 장치
110: 수신부
120: 암복호화부
130: 모듈 제어부
140: 알고리즘 실행 제어부
150: 출력부
100: encryption and decryption device
110:
120: encryption and decryption department
130: module control unit
140: algorithm execution control unit
150: output unit

Claims (16)

순차적으로 동작하도록 직렬로 연결된 n개의 암복호화 모듈 중 사용자가 선택한 암복호화 모듈을 동작시키기 위한 모듈 선택 신호를 상기 사용자로부터 수신하여 전달하는 모듈 제어부;
상기 선택된 암복호화 모듈에 저장된 하나 이상의 암호화 알고리즘의 실행횟수를 결정하기 위한 신호로서, 상기 선택된 암복호화 모듈마다 별개로 설정 가능한 카운트 신호를 상기 사용자로부터 수신하여 전달하는 알고리즘 실행 제어부; 및
상기 직렬로 연결된 n개의 암복호화 모듈을 포함하며, 상기 모듈 제어부로부터 전달된 모듈 선택 신호에 기초하여 상기 n개의 암복호화 모듈을 상기 선택된 암복호화 모듈을 포함하는 동작 온 그룹 및 암호화 동작을 수행하지 않는 동작 오프 그룹으로 분류하며, 상기 알고리즘 실행 제어부로부터 전달된 카운트 신호에 기초하여 결정한 실행횟수에 따른 실행 시 마다 상기 저장된 암호화 알고리즘 중 어느 하나를 이용하여 암호화를 수행하는 암복호화부를 포함하며,
상기 n개의 암복호화 모듈은 각각 암호화를 수행하기 위한 암호화 알고리즘을 미리 저장하고, 상기 선택된 암복호화 모듈은 각각 상기 저장된 암호화 알고리즘을 이용하여 암호화 실행값을 생성하며,
상기 n개의 암복호화 모듈 중 i번째 암복호화 모듈이 동작 오프 그룹에 속하는 경우,
상기 i번째 암복호화 모듈은,
상기 암호화 실행값을 이용하여 암호화를 수행하지 않고 다음에 연결된 (i+1)번째 암복호화 모듈로 상기 암호화 실행값을 전달하는 것을 특징으로 하는 암복호화 장치.
A module control unit for receiving and transmitting a module selection signal for operating an encryption / decoding module selected by a user from among n encryption / decoding modules serially connected to operate sequentially;
An algorithm execution controller configured to receive and transmit a count signal separately settable for each selected encryption / decryption module from the user as a signal for determining the number of executions of one or more encryption algorithms stored in the selected encryption / decryption module; And
And the n encryption / decryption modules connected in series, wherein the n encryption / decryption modules do not perform an operation on group including the selected encryption / decryption module based on a module selection signal transmitted from the module controller. An encryption and decryption unit classified into an operation off group and performing encryption using any one of the stored encryption algorithms at each execution according to the execution frequency determined based on the count signal transmitted from the algorithm execution control unit.
The n encryption / decryption modules respectively store an encryption algorithm for performing encryption in advance, and each of the selected encryption / decryption modules generates an encryption execution value using the stored encryption algorithm.
If the i-th decryption module of the n decryption module belongs to the operation off group,
The i-th encryption and decryption module,
And encrypting the encryption execution value to the next (i + 1) th encryption / decryption module connected without performing encryption using the encryption execution value.
청구항 1에 있어서,
상기 사용자로부터 암호화할 데이터 및 상기 사용자의 고유 식별번호를 수신하여 상기 암복호화부로 전달하는 수신부를 더 포함하는 것을 특징으로 하는 암복호화 장치.
The method according to claim 1,
And a receiver configured to receive data to be encrypted from the user and a unique identification number of the user and transmit the received data to the encryption / decryption unit.
청구항 2에 있어서,
상기 암복호화부는,
상기 데이터 및 상기 사용자의 고유 식별번호를 상기 동작 온 그룹 및 상기 동작 오프 그룹을 통해 암호화하여 최종 암호화 결과값을 생성하는 것을 특징으로 하는 암복호화 장치.
The method according to claim 2,
The encryption and decryption unit,
And encrypting the data and the unique identification number of the user through the operation on group and the operation off group to generate a final encryption result.
청구항 3에 있어서,
상기 암복호화부로부터 상기 최종 암호화 결과값을 전달받아 출력하는 출력부를 더 포함하는 것을 특징으로 하는 암복호화 장치.
The method according to claim 3,
And an output unit for receiving and outputting the final encryption result from the encryption / decryption unit.
삭제delete 삭제delete 삭제delete 청구항 1에 있어서,
상기 n개의 암복호화 모듈은,
상기 모듈 선택 신호에 기초하여 상기 동작 온 그룹 또는 상기 동작 오프 그룹 중 어느 하나에 포함되어 동작할 지를 결정하여 상기 암호화 실행값을 생성하는 알고리즘 실행부; 및
상기 알고리즘 실행부로부터 상기 암호화 실행값을 전달받는 결과 전달부를 더 포함하는 것을 특징으로 하는 암복호화 장치.
The method according to claim 1,
The n encryption and decryption modules,
An algorithm execution unit configured to determine whether to operate in one of the operation on group or the operation off group based on the module selection signal to generate the encryption execution value; And
And a result transfer unit for receiving the encryption execution value from the algorithm execution unit.
청구항 8에 있어서,
상기 알고리즘 실행부는,
상기 동작 온 그룹에 포함되는 경우, 상기 실행횟수에 따른 실행 시 마다 상기 저장된 암호화 알고리즘 중 어느 하나를 이용하여 상기 암호화 실행값을 생성하는 것을 특징으로 하는 암복호화 장치.
The method according to claim 8,
The algorithm execution unit,
When included in the operation on group, the encryption and decryption apparatus for generating the encryption execution value using any one of the stored encryption algorithm for each execution according to the number of executions.
순차적으로 동작하도록 직렬로 연결된 n개의 암복호화 모듈, 상기 n개의 암복호화 모듈 중 사용자가 선택한 암복호화 모듈을 동작시키기 위한 모듈 선택 신호를 전달하는 모듈 제어부 및 저장된 암호화 알고리즘을 실행하는 실행횟수를 결정하기 위한 카운트 신호를 전달하는 알고리즘 실행 제어부를 포함하는 암복호화 장치에서 암호화를 수행하는 방법에 있어서,
상기 모듈 제어부로부터 전달된 상기 모듈 선택 신호에 기초하여 상기 n개의 암복호화 모듈을 상기 선택된 암복호화 모듈을 포함하는 동작 온 그룹 및 암호화 동작을 수행하지 않는 동작 오프 그룹으로 분류하는 단계;
상기 알고리즘 실행 제어부로부터 전달된 상기 선택된 암복호화 모듈마다 별개로 설정 가능한 상기 카운트 신호에 기초하여 상기 실행횟수를 결정하는 단계; 및
상기 실행횟수에 따른 실행 시 마다 상기 저장된 암호화 알고리즘을 이용하여 순차적으로 암호화를 수행하는 단계를 포함하며,
상기 n개의 암복호화 모듈은 각각 암호화를 수행하기 위한 암호화 알고리즘을 미리 저장하고,
상기 암호화를 수행하는 단계는,
상기 선택된 암복호화 모듈이 각각 상기 저장된 암호화 알고리즘을 이용하여 암호화 실행값을 생성하는 단계를 더 포함하며,
상기 n개의 암복호화 모듈 중 i번째 암복호화 모듈이 동작 오프 그룹에 속하는 경우, 상기 암호화를 수행하는 단계는,
상기 암호화 실행값이 상기 i번째 암복호화 모듈로 전달되는 단계; 및
상기 i번째 암복호화 모듈에서 상기 암호화 실행값을 이용하여 암호화를 수행하지 않고 다음에 연결된 (i+1)번째 암복호화 모듈로 상기 암호화 실행값을 전달하는 것을 특징으로 하는 암복호화 방법.
Determining the number of execution times to execute the stored encryption algorithm, the module control unit for transmitting the module selection signal for operating the encryption module selected by the user of the n encryption and decryption modules serially connected to operate sequentially Claims [1] A method for performing encryption in an encryption / decryption apparatus comprising an algorithm execution control unit for transmitting a count signal for performing the step.
Classifying the n encryption / decryption modules into an operation on group including the selected encryption / decryption module and an operation off group that does not perform an encryption operation based on the module selection signal transmitted from the module controller;
Determining the number of executions based on the count signal that can be set separately for each of the selected encryption / decryption modules transmitted from the algorithm execution control unit; And
Performing encryption sequentially using the stored encryption algorithm each time the execution is performed according to the number of executions,
The n encryption / decryption modules previously store encryption algorithms for performing encryption, respectively.
Performing the encryption,
Generating, by the selected encryption / decryption module, an encryption execution value using the stored encryption algorithm, respectively;
If an i-th decryption module of the n encryption / decryption modules belongs to an operation off group, the performing of the encryption may include:
Passing the encryption execution value to the i th encryption / decryption module; And
And the i-th encryption / decryption module transfers the encryption execution value to the next (i + 1) th encryption / decryption module connected next without performing encryption using the encryption execution value.
청구항 10에 있어서,
상기 사용자로부터 암호화할 데이터 및 상기 사용자의 고유 식별번호를 수신하는 단계를 더 포함하는 것을 특징으로 하는 암복호화 방법.
The method of claim 10,
And receiving data to be encrypted from the user and a unique identification number of the user.
청구항 11에 있어서,
상기 데이터 및 상기 사용자의 고유 식별번호를 상기 동작 온 그룹 및 상기 동작 오프 그룹을 통해 암호화하여 최종 암호화 결과값을 생성하는 것을 특징으로 하는 암복호화 방법.
The method of claim 11,
And encrypting the data and the unique identification number of the user through the operation on group and the operation off group to generate a final encryption result.
청구항 12에 있어서,
상기 암호화를 수행하는 단계는,
상기 최종 암호화 결과값을 전달받아 출력하는 단계를 더 포함하는 것을 특징으로 하는 암복호화 방법.
The method of claim 12,
Performing the encryption,
And receiving and outputting the final encryption result value.
삭제delete 삭제delete 삭제delete
KR1020110041072A 2011-04-29 2011-04-29 Encryption and decryption apparatus and method KR101224021B1 (en)

Priority Applications (1)

Application Number Priority Date Filing Date Title
KR1020110041072A KR101224021B1 (en) 2011-04-29 2011-04-29 Encryption and decryption apparatus and method

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
KR1020110041072A KR101224021B1 (en) 2011-04-29 2011-04-29 Encryption and decryption apparatus and method

Publications (2)

Publication Number Publication Date
KR20120122737A KR20120122737A (en) 2012-11-07
KR101224021B1 true KR101224021B1 (en) 2013-01-21

Family

ID=47508952

Family Applications (1)

Application Number Title Priority Date Filing Date
KR1020110041072A KR101224021B1 (en) 2011-04-29 2011-04-29 Encryption and decryption apparatus and method

Country Status (1)

Country Link
KR (1) KR101224021B1 (en)

Citations (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JPH1074044A (en) * 1996-04-16 1998-03-17 Vlsi Technol Inc Method for encoding digital data and apparatus therefor
KR20040093185A (en) * 2002-03-29 2004-11-04 가부시키가이샤 엔티아이 Communication device
JP2008199572A (en) * 2007-01-15 2008-08-28 Matsushita Electric Ind Co Ltd Confidential information processing apparatus, confidential information processing device, and confidential information processing method
KR20090131696A (en) * 2008-06-19 2009-12-30 삼성전자주식회사 Enc/decryption device and security storage device including the same

Patent Citations (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JPH1074044A (en) * 1996-04-16 1998-03-17 Vlsi Technol Inc Method for encoding digital data and apparatus therefor
KR20040093185A (en) * 2002-03-29 2004-11-04 가부시키가이샤 엔티아이 Communication device
JP2008199572A (en) * 2007-01-15 2008-08-28 Matsushita Electric Ind Co Ltd Confidential information processing apparatus, confidential information processing device, and confidential information processing method
KR20090131696A (en) * 2008-06-19 2009-12-30 삼성전자주식회사 Enc/decryption device and security storage device including the same

Also Published As

Publication number Publication date
KR20120122737A (en) 2012-11-07

Similar Documents

Publication Publication Date Title
US20200382274A1 (en) Secure Analytics Using an Encrypted Analytics Matrix
US8789196B2 (en) System and method for providing content protection of linearly consumed content with a bidirectional protocol for license acquisition
US20180212775A1 (en) Secure Analytics Using Homomorphic and Injective Format-Preserving Encryption
US20100146137A1 (en) Synchronizing Buffer Map Offset in Peer-to-Peer Live Media Streaming Systems
KR102079626B1 (en) System for hiding information using lightweight mutual authentication based on biometric in mobile environment, method thereof and computer recordable medium storing program to perform the method
US7903820B2 (en) Key production system
US20160087792A1 (en) Techniques for distributing secret shares
US9118441B2 (en) Layout-optimized random mask distribution system and method
US20080084995A1 (en) Method and system for variable and changing keys in a code encryption system
US20140064490A1 (en) Management of encryption keys for broadcast encryption and transmission of messages using broadcast encryption
US10491374B2 (en) Apparatus and method for encryption
US8879733B2 (en) Random bit stream generator with guaranteed minimum period
US20210026603A1 (en) Random Number Generator and Method of Generating Output Random Number
US11328097B2 (en) Encryption circuit for performing virtual encryption operations
CN106034021B (en) Lightweight dual-mode compatible AES encryption and decryption module and method thereof
CN105357003B (en) Data encryption method and device
US20210284703A1 (en) Encryption device and operation method thereof
CN102696038A (en) Storage device and method for providing a scalable content protection system
KR20110054067A (en) Method to enforce by a management center the access rules for a broadcast product
WO2008154230A2 (en) Method and apparatus for expansion key generation for block ciphers
EP3127271B1 (en) Obfuscated performance of a predetermined function
US20180097630A1 (en) Techniques for secure authentication
US9537655B2 (en) Random number generating device, cipher processing device, storage device, and information processing system
US10289831B2 (en) Display driver integrated circuit for certifying an application processor and a mobile apparatus having the same
US20220029782A1 (en) Apparatus and method for processing non-polynomial operation on encrypted messages

Legal Events

Date Code Title Description
A201 Request for examination
E902 Notification of reason for refusal
E701 Decision to grant or registration of patent right
GRNT Written decision to grant
FPAY Annual fee payment

Payment date: 20160111

Year of fee payment: 4

FPAY Annual fee payment

Payment date: 20161222

Year of fee payment: 5

FPAY Annual fee payment

Payment date: 20171213

Year of fee payment: 6

FPAY Annual fee payment

Payment date: 20190114

Year of fee payment: 7

FPAY Annual fee payment

Payment date: 20200204

Year of fee payment: 8