KR101247482B1 - Apparatus for adiabatic logic against power analysis attack - Google Patents
Apparatus for adiabatic logic against power analysis attack Download PDFInfo
- Publication number
- KR101247482B1 KR101247482B1 KR1020090079900A KR20090079900A KR101247482B1 KR 101247482 B1 KR101247482 B1 KR 101247482B1 KR 1020090079900 A KR1020090079900 A KR 1020090079900A KR 20090079900 A KR20090079900 A KR 20090079900A KR 101247482 B1 KR101247482 B1 KR 101247482B1
- Authority
- KR
- South Korea
- Prior art keywords
- logic
- charge
- adiabatic
- adiabatic logic
- calculator
- Prior art date
Links
Images
Classifications
-
- H—ELECTRICITY
- H03—ELECTRONIC CIRCUITRY
- H03K—PULSE TECHNIQUE
- H03K19/00—Logic circuits, i.e. having at least two inputs acting on one output; Inverting circuits
- H03K19/02—Logic circuits, i.e. having at least two inputs acting on one output; Inverting circuits using specified components
- H03K19/08—Logic circuits, i.e. having at least two inputs acting on one output; Inverting circuits using specified components using semiconductor devices
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F21/00—Security arrangements for protecting computers, components thereof, programs or data against unauthorised activity
- G06F21/70—Protecting specific internal or peripheral components, in which the protection of a component leads to protection of the entire computer
- G06F21/78—Protecting specific internal or peripheral components, in which the protection of a component leads to protection of the entire computer to assure secure storage of data
- G06F21/79—Protecting specific internal or peripheral components, in which the protection of a component leads to protection of the entire computer to assure secure storage of data in semiconductor storage media, e.g. directly-addressable memories
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F7/00—Methods or arrangements for processing data by operating upon the order or content of the data handled
- G06F7/38—Methods or arrangements for performing computations using exclusively denominational number representation, e.g. using binary, ternary, decimal representation
- G06F7/48—Methods or arrangements for performing computations using exclusively denominational number representation, e.g. using binary, ternary, decimal representation using non-contact-making devices, e.g. tube, solid state device; using unspecified devices
- G06F7/57—Arithmetic logic units [ALU], i.e. arrangements or devices for performing two or more of the operations covered by groups G06F7/483 – G06F7/556 or for performing logical operations
-
- H—ELECTRICITY
- H03—ELECTRONIC CIRCUITRY
- H03K—PULSE TECHNIQUE
- H03K19/00—Logic circuits, i.e. having at least two inputs acting on one output; Inverting circuits
- H03K19/20—Logic circuits, i.e. having at least two inputs acting on one output; Inverting circuits characterised by logic function, e.g. AND, OR, NOR, NOT circuits
Landscapes
- Engineering & Computer Science (AREA)
- Physics & Mathematics (AREA)
- General Engineering & Computer Science (AREA)
- Computer Hardware Design (AREA)
- Theoretical Computer Science (AREA)
- Computing Systems (AREA)
- General Physics & Mathematics (AREA)
- Computer Security & Cryptography (AREA)
- Mathematical Physics (AREA)
- Logic Circuits (AREA)
- Software Systems (AREA)
- Computational Mathematics (AREA)
- Mathematical Analysis (AREA)
- Mathematical Optimization (AREA)
- Pure & Applied Mathematics (AREA)
- Power Engineering (AREA)
Abstract
전력분석공격에 안전한 단열 논리 회로가 제공된다. 상기 논리 연산 장치는, 한 클록 연산 동안 공급된 전하의 적어도 일부를 회수하여 사용하는 단열 논리 연산부, 상기 단열 논리 연산부에 연결되어 상기 단열 논리 연산부의 내의 기생 커패시턴스 차이를 제거하는는 제1 소자 블록, 및 상기 클록 연산 이후 상기 단열 논리 연산부의 각 노드의 잔여 전하를 재조정하는 제2 소자 블록을 포함할 수 있다.Insulated logic circuits are provided that are safe against power analysis attacks. The logic computing device may include: an adiabatic logic calculator configured to recover and use at least a portion of the charge supplied during one clock operation; a first element block connected to the adiabatic logic calculator to remove parasitic capacitance differences in the adiabatic logic calculator; And a second device block that readjusts the remaining charge of each node of the adiabatic logic calculator after the clock operation.
부채널 공격, 단열 논리 회로, Side-channel attack, Adiabatic logic, ECRL Side-channel attack, Adiabatic logic, ECRL
Description
본 발명의 일부 실시예들은 부채널 공격(Side-channel attack)을 방지하는 논리 연산회로에 관한 것으로서, 특히 전력 분석 공격(Power analysis attack)에 안전한 단열 논리회로(Adiabatic logic)에 관한 것이다.Some embodiments of the present invention relate to logic computing circuitry that prevents side-channel attacks, and more particularly to adiabatic logic that is safe from power analysis attacks.
과거에는 암호 시스템의 보안성에 있어서, 비밀키를 이용한 암호화 알고리즘이 중요하게 여겨졌다. 따라서, 암호화 시스템의 보안을 위한 연구들은 비밀키 및 암호화 알고리즘에 대한 직접적 공격을 방어하는 데에 초점이 맞추어졌다.In the past, cryptographic algorithms using secret keys were considered important in the security of cryptographic systems. Thus, studies for security of cryptographic systems have focused on defending direct attacks against secret keys and cryptographic algorithms.
그러나, 실제 암호화 시스템은 여러 개의 입력/출력 신호(이를 테면, 전압 혹은 전류의 크기 등) 및 여러 가지 누설 정보(leakage information)(이를테면, 전자기파 방사, 전력 변화 등)와 같은 물리적인 값의 측정에 의한 간접적 공격에 취약한 면이 있었다.In practice, however, cryptographic systems are used to measure physical values such as multiple input / output signals (such as the magnitude of voltage or current) and various leakage information (such as electromagnetic radiation, power changes, etc.). It was vulnerable to indirect attacks.
칩을 파괴(depacking)하지 않고 이러한 물리적 값을 측정함으로써 암호화 시스템을 무력하게 만드는 행위를 비 침습 공격(Non-invasive attack)이라 한다. 그리고, 이 비 침습 공격 중, 입력 값, 출력 값 기타 부가적인 (물리적) 정보를 이 용하여 암호화 시스템을 무력하게 만드는 행위를 부채널 공격(Side-channel attack)이라 한다.The act of incapacitating cryptographic systems by measuring these physical values without depacking the chip is called a non-invasive attack. And, during this non-invasive attack, the action of disabling the encryption system by using input value, output value and additional (physical) information is called side-channel attack.
암호화 시스템에 대한 공격은, 상기 시스템 내의 각 모듈의 연산에 대한 분석으로도 이해될 수 있는데, 상기 부채널 공격에는 분석 방법에 따라 몇 가지가 있다. 타이밍 공격(Timing attack)은 연산에 따라 연산 시간의 차이가 나는 것을 이용하여 암호의 내용을 파악하는 것이고, 전력 소모 분석 공격(Power consumption analysis attack)은 암호화/복호화 시의 소모 전력을 측정하여 암호의 내용을 파악하는 것이며, 전자기 분석 공격(Differential electromagnetic attack)은 연산 시의 전자기파 누설을 측정하여 암호의 내용을 파악하는 것이다.An attack on an encryption system can also be understood as an analysis of the operation of each module in the system. There are several subchannel attacks depending on an analysis method. Timing attack is to grasp the contents of the cipher using the difference in the calculation time according to the operation, and the power consumption analysis attack measures the power consumption of the cipher / decryption. It is to grasp the contents, and the differential electromagnetic attack is to grasp the contents of the cipher by measuring the leakage of electromagnetic waves during the operation.
상기 부채널 공격 방법들 중 전력 소모 분석 공격은 단순히 전력 분석 공격(Power analysis attack)이라고도 하며, 연산 시의 전원의 전류 값을 측정하여 단순 분석하는 SPA(Simple power analysis), 전류를 통계적으로 분석하는 DPA(Differential power analysis), 및 여러 DPA의 조합으로 고차원 분석을 하는 HO-DPA(High-order differential power analysis)로 나뉠 수 있다.Among the subchannel attack methods, the power consumption analysis attack is also referred to simply as a power analysis attack, and a simple power analysis (SPA), which simply analyzes the current value of the power source at the time of operation, and analyzes the current statistically Differential power analysis (DPA), and high-order differential power analysis (HO-DPA) for high-dimensional analysis by a combination of several DPAs.
이러한 부채널 공격에 대응하기 위한 방어 기법에는, 전력 소모와 데이터(주로 비밀키)의 연관성을 제거하기 위해 전력 소모량을 동일하거나 랜덤하게 만드는 하이딩(Hiding) 기법과, 연산 중간 과정의 데이터를 랜덤하게 만들어 전력 소모와 데이터(주로 비밀키)의 상관 관계를 없애는 마스킹(Masking) 기법이 있다.In order to cope with such side channel attacks, a defense scheme includes a hiding technique that equalizes or randomizes power consumption to remove the association between power consumption and data (primarily a secret key), and randomly randomizes data in the middle of an operation. There is a masking technique that eliminates the correlation between power consumption and data (mostly secret keys).
그 중 하이딩 기법을 구현함에 있어서는, 소프트웨어적 접근(Software approach)방식과 하드웨어적 접근(Hardware approach)방식이 있으며, 후자에 따르 면 연산의 종류와 전원 전류 값 사이의 연관 관계를 숨기고 입출력 값 패턴에 따른 전류 값의 차이를 없앨 수 있기 때문에, 그에 대한 관심이 높아지고 있다.Among them, there are software approach and hardware approach in implementing the hiding scheme. According to the latter, the relation between operation type and power current value is hidden and Since the difference in the current value can be eliminated, there is a growing interest in it.
특히 셀(Cell) 단위로 전력 분석에 의한 공격을 방지하기 위한 하이딩 기법을 구현하기 위한 방법들, 이를테면 셀의 입출력 값을 항상 (1, 0)의 set으로 만드는 Dual-Rail Logic 구현 방법, 입력 값을 넣기 전에 출력 값을 미리 1 또는 0으로 만들어 주는 Precharge Logic, 및 그 둘의 결합인 Dual-Rail Precharge Logic에 대한 관심이 높아지고 있다.In particular, methods for implementing a hiding technique to prevent attacks by power analysis in units of cells, for example, dual-rail logic implementation method of making the input / output value of a cell always set to (1, 0), input value There is a growing interest in Precharge Logic, which allows the output value to be either 1 or 0 before inserting, and Dual-Rail Precharge Logic, a combination of both.
한편, 암호화 시스템을 비롯한 전자 시스템에 있어서 소비전력 감소는 매우 중요한 이슈이며, 이를 위하여 논리 연산을 위한 장치의 전원에 있어서, 정전압 전원 VDD를 사용하지 않고, 주기적 파형을 갖는 Vclk를 사용하여, 매 클록의 연산 마다 사용된 전하의 적어도 일부가 회수되도록 하여 전력 소모를 줄이기 위해 개발된 회로를 단열 논리 회로(Adiabatic Logic) 라 하며, 여기에는 ECRL(Effective Charge Recover Logic), PFAL(Positive Feedback Adiabatic Logic), 2N-2N2P, 등의 Logic Family가 있다.On the other hand, power consumption reduction is a very important issue in electronic systems including encryption systems. For this purpose, in the power supply of the device for logic operation, instead of using the constant voltage power supply V DD, and using Vclk having a periodic waveform, Circuits developed to reduce power consumption by recovering at least a portion of the charge used for each clock operation are called adiabatic logic (ECRL), which includes effective charge recover logic (ECRL) and positive feedback adiabatic logic (PFAL). , 2N-2N2P, etc.
본 발명의 실시예들은, 전력분석공격에 안전하며, 전력 소모도 매우 작은 단열 논리 연산 장치(Adiabatic Logic)를 제공하기 위한 것이다.Embodiments of the present invention are to provide adiabatic logic (Adiabatic Logic), which is safe for power analysis attacks and very low power consumption.
보다 구체적으로, 본 발명의 일부 실시예는, 입출력 값에 관계 없이 Adiabatic Logic 내에서 소모되는 전류가 동일하도록 전류 경로가 형성되는 단열 논리 연산 장치를 제공하기 위한 것이다.More specifically, some embodiments of the present invention provide an adiabatic logic computing device in which a current path is formed such that a current consumed in an Adiabatic Logic is the same regardless of an input / output value.
또한 본 발명의 일부 실시예는, Adiabatic Logic의 연산 전후의 전하(Charge)를 재배열하여, 입출력 값의 변화에 따른 전류 패턴의 차이를 없앤 단열 논리 연산 장치를 제공하기 위한 것이다.In addition, some embodiments of the present invention are to provide an adiabatic logic computing device that rearranges the charge before and after the calculation of Adiabatic Logic, thereby eliminating the difference in the current pattern according to the change in the input / output value.
본 발명의 일 실시예에 따르면, 전력분석공격에 안전한 논리 연산 장치에 있어서, 한 클록 연산 동안 공급된 전하의 적어도 일부를 회수하여 사용하는 단열 논리(Adiabatic Logic) 연산부, 상기 단열 논리 연산부에 연결되어 상기 단열 논리 연산부에서 입출력 값에 관계없이 소모되는 전류가 동일하도록 전류 경로를 조정해주는 제1 소자 블록, 및 상기 클록 연산 이후 상기 단열 논리 연산부의 각 노드의 잔여 전하를 재조정하여 전하 분포를 균일하게 하는 제2 소자 블록을 포함하는 논리 연산 장치가 제공된다.According to an embodiment of the present invention, a logic arithmetic unit safe for a power analysis attack, an adiabatic logic calculation unit for recovering and using at least a portion of the charge supplied during one clock operation, connected to the adiabatic logic operation unit A first element block for adjusting a current path so that the current consumed by the adiabatic logic calculating unit is the same regardless of an input / output value, and after the clock operation, the residual charges of each node of the adiabatic logic calculating unit are readjusted to make the charge distribution uniform There is provided a logic computing device comprising a second element block.
여기서 상기 제1 소자 블록은, 전류 경로 조절용 트랜지스터 및 항상 꺼져 있는 더미(dummy) 트랜지스터 중 적어도 하나를 포함하여 구성될 수 있다.The first device block may include at least one of a current path control transistor and a dummy transistor that is always turned off.
한편, 상기 제2 소자 블록은, 적어도 하나의 전하 분배 소자(charge sharing element)를 포함할 수 있다. 또한, 상기 제2 소자 블록은, 적어도 하나의 전하 방전 소자(discharge element)를 포함할 수 있으며, 적어도 하나의 전하 복구 소자(charge recovery element)를 포함할 수도 있다.Meanwhile, the second device block may include at least one charge sharing element. In addition, the second device block may include at least one charge discharge element, and may also include at least one charge recovery element.
본 발명의 일 실시예에 따르면, 상기 단열 논리 연산부는 유효 전하 복구 로직(Efficient Charge Recovery Logic, ECRL) 타입, 2N-2N2P 타입, 또는 포지티브 피드백 단열 로직(Positive Feed-back Adiabatic Logic, PFAL) 타입 중 어느 하나일 수 있다. 다만, 상기 열거된 단일 논리 회로는 예시적인 것에 불과하며, 본 발명이 특정한 단일 논리 회로에의해 제한적으로 해석되어서는 안 된다.According to an embodiment of the present invention, the adiabatic logic calculating unit may include an effective charge recovery logic (ECRL) type, a 2N-2N2P type, or a positive feedback adiabatic logic (PFAL) type. It can be either. However, the above-listed single logic circuit is merely exemplary and the present invention should not be limitedly interpreted by a specific single logic circuit.
여기서, 상기 단열 논리 연산부는 NAND, AND, NOR, OR, XOR, XNOR 중 어느 하나의 논리 연산을 수행하기 위한 것일 수 있다.Here, the adiabatic logic calculator may be for performing any one of NAND, AND, NOR, OR, XOR, XNOR.
본 발명의 다른 일 실시예에 따르면, 전력분석공격에 안전한 논리 연산 장치에 있어서, 한 클록 연산 동안 공급된 전하의 적어도 일부를 회수하여 사용하는 단열 논리 연산부-상기 단열 논리 연산부는 전류 소모를 동일하게 조정하기 위한 전류 경로를 만들어주는 회로로 구성됨-, 및 상기 클록 연산 이후 상기 단열 논리 연산부의 각 노드의 잔여 전하를 재조정하여 전하 분포를 균일하게 하는 제2 소자 블록을 포함하는 논리 연산 장치가 제공된다.According to another embodiment of the present invention, a logic arithmetic unit safe for a power analysis attack, the adiabatic logic calculation unit for recovering and using at least a portion of the charge supplied during one clock operation-the adiabatic logic operation unit equal current consumption And a second element block for regulating a residual charge of each node of the adiabatic logic calculating section after the clock operation to uniformize the charge distribution. .
여기서 상기 단열 논리 연산부는 2N-2N2P 타입일 수 있다.Here, the adiabatic logic calculation unit may be a 2N-2N2P type.
한편, 본 실시예에서 상기 제2 소자 블록은, 적어도 하나의 전하 분배 소자(charge sharing element), 적어도 하나의 전하 방전 소자(discharge element), 또는 적어도 하나의 전하 복구 소자(charge recovery element)를 포함하여 구성될 수 있다.Meanwhile, in the present embodiment, the second element block includes at least one charge sharing element, at least one charge discharge element, or at least one charge recovery element. It can be configured.
본 발명의 또 다른 일 실시예에 따르면, 전력분석공격에 안전한 논리 연산 장치에 있어서, 쌍대성(duality)을 갖는 2 개의 NMOS 풀-다운 네트워크(NMOS pull-down network)를 이용하여 제1 입력 값과 제2 입력 값의 NAND 연산을 수행하는 유 효 전하 복구 로직(ECRL) 타입의 단열 논리 연산부로 이루어진 논리 연산 장치가 제공된다. 이 논리 연산 장치는 상기 단열 논리 연산부의 제1 출력 노드 및 상기 제2 출력 노드에 연결되어 입출력 값에 관계없이 전류 소모를 동일하게 만들어주는 제1 소자 블록, 및 상기 NAND 연산 수행 후, 상기 논리 연산 장치 내의 각 노드들의 전하를 재분배하는 제2 소자 블록을 포함하도록 한다.According to another embodiment of the present invention, in a logic arithmetic device safe for power analysis attack, the first input value using two NMOS pull-down network having duality (duality) And a logic arithmetic unit of an effective charge recovery logic (ECRL) type for performing a NAND operation of the second input value. The logic unit is connected to a first output node and the second output node of the adiabatic logic unit, the first element block to make current consumption equal regardless of an input / output value, and after the NAND operation is performed, the logic operation is performed. Include a second device block that redistributes the charge of each node in the device.
본 발명의 일부 실시예 따르면, 입출력 값에 관계 없이 Adiabatic Logic 내에서 소모되는 전류가 동일하도록 전류 경로가 형성되므로, 부채널 공격(특히 전력 분석 공격)이 방지될 수 있다.According to some embodiments of the present invention, since the current path is formed such that the current consumed in the Adiabatic Logic is the same regardless of the input / output value, the subchannel attack (especially the power analysis attack) can be prevented.
본 발명의 일부 실시예는, Adiabatic Logic의 연산 전후의 전하를 재배열하여, 입출력 값에 따른 전류 패턴의 차이가 제거되므로, 부채널 공격이 방지될 수 있다.Some embodiments of the present invention rearrange the charges before and after the calculation of the Adiabatic Logic to eliminate the difference in the current pattern according to the input and output values, thereby preventing the subchannel attack.
이하에서, 본 발명의 일부 실시예를, 첨부된 도면을 참조하여 상세하게 설명한다. 그러나, 본 발명이 실시예들에 의해 제한되거나 한정되는 것은 아니다. 각 도면에 제시된 동일한 참조 부호는 동일한 부재를 나타낸다.Hereinafter, some embodiments of the present invention will be described in detail with reference to the accompanying drawings. However, the present invention is not limited to or limited by the embodiments. Like reference symbols in the drawings denote like elements.
도 1은 본 발명의 일 실시예에 따른 논리 연산 장치를 도시한다.1 illustrates a logic operation apparatus according to an embodiment of the present invention.
논리 연산 장치(100)는 단열 논리 연산부(Adiabatic logic)(110), 제1 소자 블록(120) 및 제2 소자 블록(130)을 포함할 수 있다.The
상기 단열 논리 연산부(110)는, 정전압 방식의 전원(fixed voltage power supply)으로부터 전력을 공급받는 대신, 시간에 따라 전압이 상승 및 하강하는 방식의 전원 Vclk로부터 전력을 공급받는다.The
상기 Vclk는 매 클록(clock) 마다, 상기 단열 논리 연산부(110)에 전하(charge)를 공급하여 논리 연산의 출력 노드 전압을 생성하였다가(evaluate phase 및 hold phase), 상기 공급된 전하 중 적어도 일부를 다시 회수(recovery phase)함으로써, 에너지 소모(energy dissipation)를 감소시킨다. 이러한 방식의 논리 회로를 단열 논리 회로(Adiabatic logic)이라 한다.The Vclk supplies a charge to the adiabatic
상기 단열 논리 연산부(110)는 암호화 시스템 내의 모듈의 적어도 일부로서 사용될 수 있다. 이 때, 전원 Vclk으로부터 상기 암호화 시스템으로 공급/회수되는 전류의 값 등의 물리적 데이터가 측정될 가능성이 존재하고, 상기 물리적 데이터의 분석에 의해 내부 모듈의 연산 종류 등이 전력 분석 기법의 공격 방식들(SPA, DPA 등)에 의해 파악될 수도 있다.The
이는, 상기 단열 논리 연산부(110)에 입력/출력 되는 값의 논리적 레벨(Logic level) 차이에 따라, 전류 패턴이 상이한 경우에 발생된다. 본 발명의 실시예들에 따르면, 상기 전류 패턴이 입력/출력되는 데이터에 관계 없이 일정한 형태로 나타나므로(또는 매우 유사하여 의미 있는 차이 분석이 어려운 정도), 전력 분석 기법에 의한 부채널 공격(Side-channel attack)이 방지된다.This is generated when the current pattern is different according to a logical level difference between values input / output to the adiabatic
논리 연산의 입력 값(및 출력 값)의 변화에 따른, (외부에서 측정될 수 있는) 전류 입력/출력의 차이를 만드는 원인에는 여러 가지가 있을 수 있으나, 그 중 중요한 원인 두 가지는, 연산 회로의 비대칭성(Asymmetry)과 논리 연산의 입력(출 력값)에 따라, 회로 내부에 형성되는 전류 경로가 달라지고 이로 인해 충전/방전되는 기생 커패시턴스 차이로 인한 노드간 전하량의 불균형(Charge unbalance between nodes)이다.There can be many reasons for making a difference in current input / output (measured externally) as the input value (and output value) of a logic operation changes, but two of the important reasons are Depending on the asymmetry and the input (output value) of the logic operation, the current path formed inside the circuit changes, resulting in a charge unbalance between nodes due to the parasitic capacitance difference that is charged / discharged. .
본 발명의 일 실시예에 따르면, 논리 연산을 수행하는 상기 단열 논리 연산부(110)에 제1 소자 블록(120)이 연결됨으로써 상기 단열 논리 연산부(110)의 전류 소모 형태가 일정해지며, 또한 제2 소자 블록(130)이 연결됨으로써 회로 내부의 각 노드들의 전하의 균형(Charge balance between nodes)이 제공된다.According to an embodiment of the present invention, the
본 발명의 일 실시예에 따르면, 상기 제1 소자 블록의 구성은 상기 단열 논리 연산부(110)가 수행하는 논리 연산의 연산 식 및/또는 Truth 테이블을 참조하여 결정될 수 있다.According to an embodiment of the present disclosure, the configuration of the first element block may be determined by referring to an operation expression and / or a truth table of a logic operation performed by the adiabatic
이를 테면, 논리 연산 "OR"를 위한 논리 식이 아래 수학식에 제시되어 있다.For example, the logical expression for the logical operation "OR" is shown in the equation below.
[수학식 1][Equation 1]
Y = A + BY = A + B
= A + B*1 = A + B * 1
= A + B*(A+Ab) = A + B * (A + Ab)
= A + A*B + Ab*B = A + A * B + Ab * B
= A(1+B) + Ab*B = A (1 + B) + Ab * B
= A*A + Ab*B = A * A + Ab * B
상기 수학식 1에서, Ab는 논리 값 A의 역(invert)인 "A bar"이다. 상기 수 학식 1에서 알 수 있듯이 논리 식 A + B = A*A + Ab*B이고, 이 경우 양 변의 논리 식에 공히 적용되는 Truth 테이블은 아래 표 1과 같다.In Equation 1, Ab is " A bar " which is an invert of the logical value A. As can be seen from Equation 1, the logical formula A + B = A * A + Ab * B, and in this case, the Truth table applied to the logical expressions of both sides is shown in Table 1 below.
[표 1][Table 1]
A B YA B Y
0 0 00 0 0
0 1 10 1 1
1 0 11 0 1
1 1 11 1 1
하나의 예를 더 들자면, 논리 연산 "AND"를 위한 논리 식이 아래 수학식에 나타나 있다.To give one more example, the logical expression for the logical operation "AND" is shown in the equation below.
[수학식 2]&Quot; (2) "
Y = A * BY = A * B
= 0 + (A * B) = 0 + (A * B)
= (Ab * 0) + (A * B) = (Ab * 0) + (A * B)
또는 = (Ab * A) +(A * B)Or = (Ab * A) + (A * B)
상기 수학식 2에서, Ab 대신 어떤 값이 오더라도 등식은 성립한다. 그러나, Ab를 쓴 것은 각 논리 식에 따른 전하의 트랩(Charge trap)을 염두에 둔 것이며, 이는 도 2 이하를 통해 보다 상세히 후술한다.In Equation 2, the equation holds regardless of the value of Ab. However, the use of Ab is a charge trap (Charge trap) in accordance with each logical formula in mind, which will be described later in more detail through FIG.
그리고, "0"은 항상 꺼져 있는 트랜지스터(이를 dummy라 함, 이하 같음)는 이를테면 게이트(Gate)가 접지되어 있는 NMOS에 의해 구현될 수 있다.And, "0" is a transistor that is always off (it is called a dummy, hereinafter equal) may be implemented by, for example, an NMOS with a gate (Gate) is grounded.
상기 수학식 2에서 알 수 있듯이, A * B = (Ab * 0) + (A * B)이고, 양 변의 논리 식에 공히 적용되는 Truth 테이블은 아래 표 2과 같다.As can be seen in Equation 2, A * B = (Ab * 0) + (A * B), and the Truth table that is applied to both sides of the logic equation is shown in Table 2 below.
[표 2][Table 2]
A B YA B Y
0 0 00 0 0
0 1 00 1 0
1 0 01 0 0
1 1 11 1 1
상기 수학식들을 통해 살펴본 바와 같이, 복수 개의 트랜지스터(이를테면, N 타입 또는 P 타입의 Metal-Oxide Silicon Field Effect Transistor, 이하 NMOS 또는 PMOS)로 구성되는 논리 회로의 경우, 결과 값에 영향을 주지 않는 몇 개의 트랜지스터를 추가하는 것이 가능하다.As described through the above equations, in the case of a logic circuit composed of a plurality of transistors (for example, N-type or P-type Metal-Oxide Silicon Field Effect Transistors, hereinafter, NMOS or PMOS), some of them do not affect the result value. It is possible to add four transistors.
이런 방식으로 복수 개의 트랜지스터 등의 소자를 추가함으로써 전류 소모가 비대칭(Asymmetry)인 회로의 전류 소모 형태를 비슷하게 바꿀 수 있는데, 상기 추가 되는 복수 개의 소자의 각각 또는 전체가 상기 제1 소자 블록(120)으로 이해될 수 있다. 상기 제1 소자 블록(120)의 내부 구성을 결정하는 보다 상세한 과정은, 도 2 이하를 참조하여 보다 상세히 후술한다.In this manner, by adding a plurality of elements such as transistors, the current consumption form of a circuit in which current consumption is asymmetric can be similarly changed. Each or all of the plurality of additional elements may be the
한편, 제2 소자 블록(130)은 단열 논리 연산부(110)의 한 클록 연산에 의한 결과 값 도출이 끝난 이후에, 논리 연산 장치(100)의 각 노드들에 존재하는 잔여 전하 사이의 불균형을 제거하기 위한 소자로 구성된다.Meanwhile, the
이를 테면, 상기 제2 소자 블록(130)은, 각 노드들과 접지(GND) 사이에 연결되는 복수 개의 NMOS 소자 또는 각 노드들과 전원(Vclk) 사이에 연결되는 복수개의 PMOS들일 수도 있고, 회로 내부의 노드들 사이에 연결되는 복수 개의 NMOS 또는 PMOS 소자들일 수도 있다.For example, the
제2 소자 블록(130)의 구현에 대한 보다 상세한 내용은, 도 2 이하의 실시예들, 특히 도 5 내지 도 7을 참조하여 후술한다. More details of the implementation of the
도 2는 본 발명의 일 실시예에 따라, 단열 논리 연산부(Adiabatic logic)가 유효 전하 복구 로직(ECRL) 방식의 NAND 게이트로 구성된 논리 연산 장치를 도시한다.FIG. 2 illustrates a logic operation device in which adiabatic logic is configured by an NAND gate of an effective charge recovery logic (ECRL) method according to an embodiment of the present invention.
단열 논리 연산부(200)는 쌍대성을 갖는 왼쪽과 오른쪽의 두 개의 풀-다운 네트워크(pull-down network)를 포함한다. NMOS N1과 N2는 A = 1이고 B = 1인 경우, 출력인 Y 단자의 논리 값을 0으로 끌어 내린다. 이 경우, PMOS P1이 켜지고(turned on), 출력의 역 단자인 Yb는 Vclk이 된다. 한편, Ab = 0이고, Bb = 0이므로, 오른쪽 pull-down 네트워크는 개방되고, P0도 꺼진다(turned off).The
따라서, 단열 논리 연산부(200)는, Y = NAND(A, B) 연산을 수행한다.Therefore, the adiabatic
본 발명의 일 실시예에 따르면, Vclk는 Wait phase - Evaluate phase - Hold phase - Recovery phase 의 사이클(cycle)로(이와 같은 동작은 Vclk를 도시하여 설명하는 것이 바람직) 구성되는 전압 클록을 갖는다. 따라서, 출력 노드들에 있던 전하의 적어도 일부가 Vclk로 다시 회수되고, 결과적으로 전력 소모가 정전 압(VDD)의 경우에 비해 작다.According to one embodiment of the present invention, Vclk has a voltage clock that is configured in a cycle of Wait phase-Evaluate phase-Hold phase-Recovery phase (such an operation is preferably illustrated by illustrating Vclk). Thus, at least some of the charge that was at the output nodes is recovered back to Vclk, and consequently the power consumption is smaller than in the case of the electrostatic voltage V DD .
그러나, 단열 논리 연산부(200)의 두 개의 Pull-down network는 비대칭이며, 따라서 (A, B)의 논리 값에 따른 전류의 차이가 발생된다. 즉, Vclk와 단열 논리 연산부(200) 사이의 전류 패턴 분석에 의하여 A, B의 논리값이 노출될 가능성이 있다.However, the two pull-down networks of the
따라서, 이러한 가능성을 줄이기 위해 제1 소자 블록(120) 및/또는 제2 소자 블록(130)이 추가될 수 있으며, 이는 도 3 내지 도 4를 참조하여 후술한다.Thus, in order to reduce this possibility, the
도 3은 본 발명의 일 실시예에 따라, 도 2의 단열 논리 연산부의 대칭성을 제공하기 위한 제1 소자 블록이 연결된 논리 연산 장치를 도시한다.FIG. 3 illustrates a logic operation device connected with a first element block for providing symmetry of the adiabatic logic operation unit of FIG. 2, according to an embodiment of the present invention.
제1 소자 블록 중 일부인 블록(310)은 A*B의 Pull-down network에 병렬 연결되는 NMOS 트랜지스터 N5 및 dummy 트랜지스터 N6로써 구성된다. 상기 수학식 2를 참조하면, A*B = (A*B) + (Ab*0) 이므로, 블록(310)을 추가하여도, 출력 노드 Y 의 값에는 영향을 주지 않음을 알 수 있다.
또한, 제1 소자 블록 중 다른 일부인 블록(320)은 (Ab + Bb)의 Pull-down network에 연결되는데, 여기서 B 입력을 받는 트랜지스터 N7은 Ab 입력을 받는 트랜지스터 N3에, 그리고 Bb 입력을 받는 트랜지스터 N8은 역시 Bb 입력을 받는 트랜지스터 N4에 각각 직렬 연결 된다. 상기 수학식 1을 변형하면, Ab + Bb = Ab*B + Bb*Bb인 점은 쉽게 알 수 있으므로, 블록(320)을 추가하여도, 출력 노드 Yb의 값에는 영향을 주지 않음을 알 수 있다.In addition, block 320, which is another part of the first element block, is connected to the pull-down network of (Ab + Bb), where transistor N7 receiving B input is connected to transistor N3 receiving Ab input and transistor receiving Bb input. N8 is also connected in series to transistor N4, which also receives the Bb input. By modifying Equation 1, it can be easily seen that Ab + Bb = Ab * B + Bb * Bb, and it can be seen that adding
따라서, 도 2의 단열 논리 연산부(200)에 제1 소자 블록(310 및 320)이 연결된 논리 연산 장치(300)는 논리 연산 결과에 영향을 받지 않으면서도 대칭성(Symmetry)을 갖는다. 즉, 전원에서 바라볼 때, Y 노드 측에 연결된 커패시턴스나 Yb 노드 측에 연결된 커패시턴스 등이 동일하다. 이러한 커패시턴스 값이 전원으로부터 공급되는 전류값을 결정하기 때문에, 이는 데이터에 관계없이 전원으로부터 공급/회수되는 전류값을 일정하게 유지하기 위하여 매우 중요하다.Accordingly, the
여기서, N5에 Ab가 입력되는 것은 다음과 같이 이해될 수 있다.Here, it can be understood that Ab is input to N5 as follows.
도 2의 단열 논리 연산부(200)에서, (A, B) = (0, 0)인 경우 및 (A, B) = (0, 1)인 경우에는 Y 노드의 아래쪽은 개방(open) 상태이고 Yb 노드는 접지 상태이다. 그리고, (A, B) = (1, 1)인 경우에는 Yb 노드의 아래쪽이 개방 상태이고 Y 노드는 접지 상태이다. 즉, 출력 값이 1이 되는 노드의 경우, 아래쪽으로 전하 이동이 없다.In the adiabatic
그러나, (A, B) = (1, 0)인 경우에는 Y 노드의 아래쪽 트랜지스터인 N1이 켜지므로(turned on) N1과 N2 사이의 노드에 존재하는 기생 커패시턴스에 전하의 충전이 있을 수 있다. 따라서, 논리적 레벨이 1이 되는 Y 노드의 아래쪽이 완전히 개방되지 못하므로, 위의 세 가지 경우와 차이가 있다. 따라서 Vclk에서 회로로 전류를 공급하거나, 또는 회수할 때 전하량의 차이가 있게 되고, 이는 결국 전류의 차이로 나타난다.However, when (A, B) = (1, 0), since the lower transistor N1 of the Y node is turned on, there may be a charge of charge in the parasitic capacitance present at the node between N1 and N2. Therefore, the lower part of the Y node whose logical level is 1 is not completely opened, which is different from the above three cases. Therefore, there is a difference in charge amount when supplying or retrieving a current from the circuit to Vclk, which results in a difference in current.
따라서, 도 3에서 제1 소자 블록의 일부로서 블록(310)이 추가되고, 트랜지스터 N5는 Ab 입력을 받도록 구성되었다.Thus, block 310 is added as part of the first device block in FIG. 3, and transistor N5 is configured to receive an Ab input.
한편, 한 클록 연산의 종료 이후에 논리 연산 장치(300)의 각 노드 사이의 전하량 차이에 의하여 입력 데이터에 따른 전류 패턴이 감지되는 것을 방지하기 위해, 전하의 재분배 혹은 방전을 위한 제2 소자 블록(130)이 추가적으로 연결될 수 있다.On the other hand, in order to prevent the current pattern according to the input data from being detected by the difference in the amount of charge between the nodes of the
도 4는 본 발명의 일 실시예에 따라, 도 3의 논리 연산 장치의 각 노드의 전하를 균일하게 재분배하는 전하 조절용 제2 소자 블록이 연결된 논리 연산 장치(400)를 도시한다.FIG. 4 illustrates a
상술한 바와 같이, 제2 소자 블록(130)은 하나 또는 복수 개의 트랜지스터를 포함할 수 있다. 본 실시예에서 제2 소자 블록(130)은 복수 개의 NMOS 트랜지스터들을 포함한다. 각 NMOS 트랜지스터들은 입력 값 D를 받아서, 논리 연산 장치(400)의 각 노드들을 접지시킬 수 있도록 배치된다. 즉, 논리 연산 장치(400)의 한 클록 연산 이후에 D 값이 NMOS 트랜지스터의 문턱 전압 이상으로 입력되는 경우, 논리 연산 장치(400)의 각 노드는 접지되고, 따라서 상기 각 노드의 잉여 전하는 사라진다. 따라서, 외부로부터의 전력 분석이 더욱 힘들어진다.As described above, the
본 실시예에서와 같이, 제2 소자 블록이 논리 연산 장치(400)의 각 노드를 접지함으로써 입력 데이터에 따른 노드 간 전하 차이를 해소할 수도 있으나, 본 발명은 이에 한정되지 않고, 노드 간 전하 불균형을 해소할 수 있는 구성이라면 어떠한 방식이라도 포함할 수 있다.As in the present embodiment, the second element block may solve the difference in charge between nodes according to the input data by grounding each node of the
이를 테면, 상기 실시예와 같은 전하 방전(Discharge) 방식뿐만 아니라, 대칭되는 노드들 사이를 단락시켜 전하를 공유하게 하는 방식(Charge sharing), 각 노드들과 전압 Vclk 사이를 단락시켜 전하를 복구시키는 방식(Charge recovery), 또는 이 중 두 가지 이상의 반식의 혼용 등이 가능하다.For example, as well as a charge discharge method as in the above embodiment, a method of shorting between symmetrical nodes to share charges, and shorting between each node and the voltage Vclk to recover charges Charge recovery, or a mixture of two or more of them, is possible.
이러한 제2 소자 블록(130) 구성 방식의 종류는 도 5 내지 도 7을 참조하여 이해될 수 있다.The type of the
도 5는 본 발명의 일 실시예에 따라 제2 소자 블록(130) 내에 포함될 수 있는 전하 분배(Charge sharing) 트랜지스터를 도시한다.5 illustrates a charge sharing transistor that may be included in the
노드(501)과 노드(502)는 논리 연산 장치 내에서 서로 대칭하는 두 개의 노드를 대표한다. 상기 논리 연산 장치의 한 클록 연산이 종료된 이후, 노드(501)과 노드(502)의 잔여 전하량이 서로 다른 경우, 외부로부터의 전력 분석 기법을 사용한 부채널 공격에 취약할 수 있다.
따라서, 문턱 전압 이상의 D 전압에 의해 노드(501)와 노드(502) 사이를 단락(short)하여, 전하량을 공유하게 하는 방식(Charge sharing)의 소자(510)가 제2 소자 블록으로서 상기 논리 연산 장치 내에 포함될 수 있다.Accordingly, the
도 6은 본 발명의 일 실시예에 따라 제2 소자 블록(130) 내에 포함될 수 있는 방전(Discharge) 트랜지스터를 도시한다.6 illustrates a discharge transistor that may be included in the
상기 도 5의 경우와 마찬가지로, 논리 연산 장치의 한 클록 연산이 종료된 이후, 노드(601)과 노드(602)의 잔여 전하량이 서로 다른 경우, 외부로부터의 전력 분석 기법을 사용한 부채널 공격에 취약할 수 있다.As in the case of FIG. 5, after one clock operation of the logic operation device is terminated, if the remaining charge amounts of the
따라서, 문턱 전압 이상의 D 전압에 의해 노드(601)와 노드(602)를 각각 접지하는 두 개의 NMOS 트랜지스터가 제2 소자 블록(610)으로서 상기 논리 연산 장치 에 포함될 수 있다.Accordingly, two NMOS transistors that respectively ground the
도 7은 본 발명의 일 실시예에 따라 제2 소자 블록(130) 내에 포함될 수 있는 전하 복구(Charge recover) 트랜지스터를 도시한다.7 illustrates a charge recover transistor that may be included in the
본 실시예에서는 논리 연산 장치의 한 클록 연산 이후, 문턱 전압 이상의 D 전압에 의해 노드(701)와 노드(702)의 각각을 Vclk와 단락시켜, 전하량을 보충해서 서로 동일하게 한다. 이 경우 블록(710)이 제2 소자 블록(130)으로서 논리 연산 장치에 포함될 수 있다. 도 6의 경우와는 반대 원리라고 볼 수 있다.In this embodiment, after one clock operation of the logic arithmetic unit, each of the
상기한 바와 같이, 제2 소자 블록(130)은 블록(510), 블록(610), 블록(710) 중의 어느 하나, 또는 두 개 이상의 조합에 의해 구현될 수 있다. 다만, 본 발명은 이에 한정되지 않고, 양 노드 간의 전하 불균형을 재조정할 수 있는 방법이라면, 본 발명의 사상을 벗어나지 않는 범위에서 다른 응용이 가능하다.As described above, the
도 8은 본 발명의 일 실시예에 따라, 단열 논리 연산부(Adiabatic logic)가 2N-2N2P 방식의 XOR/XNOR 게이트로 선택된 논리 연산 장치(800)를 도시한다.8 illustrates a
XOR 연산은 Y = Ab*B + A*Bb로 표현되며, 두 개의 쌍대적(dual) Pull-down network로 표현하는 경우, 도 8과 같이 표현될 수 있다. XNOR의 경우는 XOR의 경우와 Y/Yb 노드가 반대일 뿐, Pull-down network의 구성은 동일하다.The XOR operation is expressed as Y = Ab * B + A * Bb, and when expressed as two dual pull-down networks, it may be expressed as shown in FIG. 8. In the case of XNOR, the Y / Yb node is the opposite of XOR, and the pull-down network configuration is the same.
그런데, 논리 연산 장치(800)의 경우, 기본 구성만으로 회로의 대칭성(Symmetry)이 존재한다. 따라서, 별도의 상기 제1 소자 블록(120)이 연결되지 않더라도 전류 패스(Path)의 균형이 확보된다.By the way, in the case of the
따라서, 클록 연산 이후 각 노드들 사이의 전하 불균형을 해소하기 위한 제 2 소자 블록(130)만 연결됨으로써 전력 분석 기법에 의한 부채널 공격에 대비할 수 있다. 논리 연산 장치(800)에 제2 소자 블록(130)이 연결된 구성은 도 9에서 제시된다.Therefore, since only the
도 9는 본 발명의 일 실시예에 따라 도8의 논리 연산 장치의 각 노드의 전하를 방전하는 전하 조절용 제2 소자 블록이 연결된 논리 연산 장치(900)를 도시한다.FIG. 9 illustrates a
본 실시예에서 논리 연산 장치(900)의 각 노드로부터 접지 사이에 방전 트랜지스터(Discharge transistors)가 연결되었다. 각 트랜지스터들(N2, N5, N8, N9, N12, 및 N15)은, 한 클록 연산 이후 문턱 전압 이상의 D 전압을 입력 받아, 논리 연산 장치(900)의 모든 노드들을 접지한다.In the present embodiment, discharge transistors are connected between each node of the
물론, 다른 실시예에서는, 제2 소자 블록이 상기 전하 방전(Discharging)뿐만 아니라, 전하 분배(Charge sharing), 전하 복구(Charge recovery), 또는 둘 이상의 조합에 의해 구현되는 것도 가능하다.Of course, in other embodiments, the second device block may be implemented by not only the charge discharging, but also by charge sharing, charge recovery, or a combination of two or more.
도 10은 본 발명의 일 실시예에 따라, 포지티브 피드백 단열 로직(Positive Feed-back Adiabatic Logic, PFAL) 타입으로 선택되는 단열 논리 연산부(Adiabatic logic)(1000) 를 도시한다.FIG. 10 illustrates an
PFAL 타입의 논리 연산부(1000)은 쌍대적으로 구성되는 두 개의 Pull-up network인 F와 Fb, 그리고 출력들 Y 및 Yb의 피드백 연결을 특징으로 한다.The
이 PFAL 타입의 논리 연산부(1000)가 NAND 연산을 위해 구성된 예가 도 11에 제시된다.An example in which the PFAL type
도 11은 본 발명의 일 실시예에 따라, 상기 도 10의 PFAL 타입의 단열 논리 연산부가 NAND 연산을 수행하는 연산부인 경우의 논리 연산 장치(1110)를 도시한다.FIG. 11 illustrates a logic operation device 1110 when the PFAL type adiabatic logic operation unit of FIG. 10 is an operation unit that performs a NAND operation, according to an embodiment of the present invention.
Pull-up network F 부분은 A 입력을 받는 트랜지스터 N3와 B 입력을 받는 트랜지스터 N4의 직렬 연결로 구성되고, 쌍대적(dual) Pull-up network Fb 부분은 Ab 입력을 받는 트랜지스터 N11과 Bb 입력을 받는 트랜지스터 N14의 병렬 연결로 구성된다.The pull-up network F part consists of a series connection of transistor N3 receiving A input and transistor N4 receiving B input, and the dual pull-up network Fb part receiving transistor N11 and Bb input receiving Ab input. It consists of a parallel connection of transistors N14.
이 경우, 두 개의 Pull-up network들 간의 대칭성(Symmetry)가 존재하지 않으므로, 외부의 전력 분석 기법에 의한 부채널 공격에 대비하기 위해 제1 소자 블록(120)이 추가될 필요가 있다. 이 경우의 일 예가 도 12를 참조하여 후술된다.In this case, since there is no symmetry between the two pull-up networks, the
도 12는 본 발명의 일 실시예에 따라, 상기 도 11의 단열 논리 연산부의 대칭성을 제공하기 위한 제1 소자 블록이 연결된 논리 연산 장치를 도시한다.FIG. 12 illustrates a logic operation device connected to a first element block for providing symmetry of the adiabatic logic operation unit of FIG. 11, according to an embodiment of the present invention.
먼저, 블록(1210)이 제1 소자 블록의 일부로서 추가된 것을 설명한다.First, the
논리식 A*B = 0 + A*B이고, 또한 논리식 0 + A*B = (Ab*0) + A*B 이므로, A*B = (Ab*0) + A*B의 등식이 성립한다. 여기서, 논리식 내의 "0"은 상기한 바와 같이 접지된 입력이 연결된 dummy 트랜지스터로 실현된다. N6에 Ab 입력이 있는 이유는, 도 3을 참조하여 상술한 바와 같다.Since A * B = 0 + A * B, and also 0 + A * B = (Ab * 0) + A * B, the equation A * B = (Ab * 0) + A * B holds. Here, " 0 " in the logic expression is realized as a dummy transistor to which the grounded input is connected as described above. The reason why there is an Ab input to N6 is as described above with reference to FIG. 3.
한편, 블록(1220)의 경우, 수학식 2를 조금 변형하면, 논리식 Ab + Bb = B*Ab + Bb*Bb의 등식이 성립함을 쉽게 알 수 있다.On the other hand, in the case of
따라서, B를 입력으로 하는 NMOS N10이 N11에 직렬 연결되고, Bb를 입력으 로 하는 N13이 N14에 직렬으로 연결됨으로써, 논리 연산 장치(1200)의 대칭성(Symmetry)이 확보된다.Therefore, NMOS N10 with B as an input is connected in series with N11, and N13 with Bb as an input in series with N14, thereby ensuring symmetry of the
상기 논리 연산 장치(1200)의 각 노드 간의 전하 불균형을 해소하기 위한 제2 소자 블록(130)의 추가는 도 13을 참조한 실시예에 의해 확인될 수 있다.The addition of the
도 13은 본 발명의 일 실시예에 따라, 상기 도 12의 논리 연산 장치의 각 노드의 전하를 균일하게 재분배하는 전하 조절용 제2 소자 블록이 연결된 논리 연산 장치(1300)를 도시한다.FIG. 13 illustrates a
본 실시예에서, NMOS 트랜지스터 N5, N8, N12, 및 N15는 논리 연산 장치(1300)의 한 클록 연산 후, 문턱 전압 이상의 전압 R을 입력 받아 각각 연결된 노드와 Vclk를 단락시킴으로써 전하를 복구한다. 즉, 상기한 전하 복구(Charge recovery) 방식에 의한 전하 균형을 제공한다.In this embodiment, the NMOS transistors N5, N8, N12, and N15 recover a charge by inputting a voltage R equal to or greater than a threshold voltage after a clock operation of the
한편, NMOS 트랜지스터 N2 및 N9은, 상기 논리 연산 장치(1300)의 한 클록 연산 후, 각각 출력 Y 노드 및 Yb 노드를 접지시켜, 전하 방전(Discharge)에 의한 전하 균형을 제공한다.On the other hand, the NMOS transistors N2 and N9 ground the output Y node and the Yb node after one clock operation of the
이렇게 기본 단열 연산 블록(1100)에 블록(1210) 및 블록(1220)으로 구현되는 제1 소자 블록이 추가 연결되고, 또한 Recovery 트랜지스터 및 Discharge 트랜지스터로 구현되는 제2 소자 블록이 추가 연결되어, 논리 연산 장치(1300)은 전력 분석 기법을 이용한 부채널 공격으로부터 안전하게 된다.In this way, the first device block implemented as the
물론, 제2 소자 블록의 구성이 Charge sharing을 이용할 수도 있음은, 상기한 바와 같다.Of course, as described above, the configuration of the second element block may use charge sharing.
이상과 같이 본 발명은 비록 한정된 실시예와 도면에 의해 설명되었으나, 본 발명은 상기의 실시예에 한정되는 것은 아니며, 본 발명이 속하는 분야에서 통상의 지식을 가진 자라면 이러한 기재로부터 다양한 수정 및 변형이 가능하다.As described above, the present invention has been described by way of limited embodiments and drawings, but the present invention is not limited to the above embodiments, and those skilled in the art to which the present invention pertains various modifications and variations from such descriptions. This is possible.
그러므로, 본 발명의 범위는 설명된 실시예에 국한되어 정해져서는 아니 되며, 후술하는 특허청구범위뿐 아니라 이 특허청구범위와 균등한 것들에 의해 정해져야 한다.Therefore, the scope of the present invention should not be limited to the described embodiments, but should be determined by the equivalents of the claims, as well as the claims.
도 1은 본 발명의 일 실시예에 따른 논리 연산 장치를 도시한다.1 illustrates a logic operation apparatus according to an embodiment of the present invention.
도 2는 본 발명의 일 실시예에 따라, 단열 논리 연산부(Adiabatic logic)가 유효 전하 복구 로직(ECRL) 방식의 NAND 게이트로 구성된 논리 연산 장치를 도시한다.FIG. 2 illustrates a logic operation device in which adiabatic logic is configured by an NAND gate of an effective charge recovery logic (ECRL) method according to an embodiment of the present invention.
도 3은 본 발명의 일 실시예에 따라, 도 2의 단열 논리 연산부의 대칭성을 제공하기 위한 제1 소자 블록이 연결된 논리 연산 장치를 도시한다.FIG. 3 illustrates a logic operation device connected with a first element block for providing symmetry of the adiabatic logic operation unit of FIG. 2, according to an embodiment of the present invention.
도 4는 본 발명의 일 실시예에 따라, 도 3의 논리 연산 장치의 각 노드의 전하를 균일하게 재분배하는 전하 조절용 제2 소자 블록이 연결된 논리 연산 장치를 도시한다.FIG. 4 illustrates a logic operation device connected with a second element block for charge regulation that uniformly redistributes charges of respective nodes of the logic operation device of FIG. 3, according to an embodiment of the present invention.
도 5는 본 발명의 일 실시예에 따라 제2 소자 블록 내에 포함될 수 있는 전하 분배(Charge sharing) 트랜지스터를 도시한다.5 illustrates a charge sharing transistor that may be included in a second device block in accordance with an embodiment of the present invention.
도 6은 본 발명의 일 실시예에 따라 제2 소자 블록 내에 포함될 수 있는 방전(Discharge) 트랜지스터를 도시한다.6 illustrates a discharge transistor that may be included in a second device block according to one embodiment of the present invention.
도 7은 본 발명의 일 실시예에 따라 제2 소자 블록 내에 포함될 수 있는 전하 복구(Charge recover) 트랜지스터를 도시한다.7 illustrates a charge recover transistor that may be included in a second device block in accordance with one embodiment of the present invention.
도 8은 본 발명의 일 실시예에 따라, 단열 논리 연산부(Adiabatic logic)가 2N-2N2P 방식의 XOR/XNOR 게이트로 선택된 논리 연산 장치를 도시한다.FIG. 8 illustrates a logic operation apparatus in which adiabatic logic is selected as an XOR / XNOR gate of a 2N-2N2P scheme according to an embodiment of the present invention.
도 9는 본 발명의 일 실시예에 따라 도8의 논리 연산 장치의 각 노드의 전하를 방전하는 전하 조절용 제2 소자 블록이 연결된 논리 연산 장치를 도시한다.FIG. 9 illustrates a logic operation device to which a second element block for charge regulation for discharging charges of each node of the logic operation device of FIG. 8 is connected according to an embodiment of the present invention.
도 10은 본 발명의 일 실시예에 따라, 포지티브 피드백 단열 로직(Positive Feed-back Adiabatic Logic, PFAL) 타입으로 선택되는 단열 논리 연산부(Adiabatic logic) 를 도시한다.FIG. 10 illustrates adiabatic logic selected as a positive feed-back Adiabatic Logic (PFAL) type according to one embodiment of the present invention.
도 11은 본 발명의 일 실시예에 따라, 상기 도 10의 PFAL 타입의 단열 논리 연산부가 NAND 연산을 수행하는 연산부인 경우의 논리 연산 장치를 도시한다.FIG. 11 illustrates a logic operation apparatus when the adiabatic logic operation unit of the PFAL type of FIG. 10 is an operation unit that performs a NAND operation, according to an embodiment of the present invention.
도 12는 본 발명의 일 실시예에 따라, 상기 도 11의 단열 논리 연산부의 대칭성을 제공하기 위한 제1 소자 블록이 연결된 논리 연산 장치를 도시한다.FIG. 12 illustrates a logic operation device connected to a first element block for providing symmetry of the adiabatic logic operation unit of FIG. 11, according to an embodiment of the present invention.
도 13은 본 발명의 일 실시예에 따라, 상기 도 12의 논리 연산 장치의 각 노드의 전하를 균일하게 재분배하는 전하 조절용 제2 소자 블록이 연결된 논리 연산 장치를 도시한다.FIG. 13 illustrates a logic operation device connected to a second element block for charge regulation that uniformly redistributes charges of respective nodes of the logic operation device of FIG. 12 according to an embodiment of the present invention.
Claims (17)
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
KR1020090079900A KR101247482B1 (en) | 2009-08-27 | 2009-08-27 | Apparatus for adiabatic logic against power analysis attack |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
KR1020090079900A KR101247482B1 (en) | 2009-08-27 | 2009-08-27 | Apparatus for adiabatic logic against power analysis attack |
Publications (2)
Publication Number | Publication Date |
---|---|
KR20110022352A KR20110022352A (en) | 2011-03-07 |
KR101247482B1 true KR101247482B1 (en) | 2013-03-29 |
Family
ID=43930784
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
KR1020090079900A KR101247482B1 (en) | 2009-08-27 | 2009-08-27 | Apparatus for adiabatic logic against power analysis attack |
Country Status (1)
Country | Link |
---|---|
KR (1) | KR101247482B1 (en) |
Families Citing this family (3)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
KR101646705B1 (en) * | 2009-12-01 | 2016-08-09 | 삼성전자주식회사 | Cryptographic device for implementing s-box |
WO2012133966A1 (en) * | 2011-03-31 | 2012-10-04 | 한양대학교 산학협력단 | Apparatus safe from power consumption analysis attack for encrypting and method for operating same |
KR102238621B1 (en) * | 2019-05-30 | 2021-04-09 | 한양대학교 산학협력단 | Secure power supply circuit |
Citations (3)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
JPH10190442A (en) | 1996-12-25 | 1998-07-21 | Sharp Corp | Cmos logic circuit |
KR20070009920A (en) * | 2005-07-16 | 2007-01-19 | 학교법인 포항공과대학교 | Complementary logic circuit for constant power consumption |
US7417468B2 (en) | 2003-09-17 | 2008-08-26 | The Regents Of The University Of California | Dynamic and differential CMOS logic with signal-independent power consumption to withstand differential power analysis |
-
2009
- 2009-08-27 KR KR1020090079900A patent/KR101247482B1/en not_active IP Right Cessation
Patent Citations (3)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
JPH10190442A (en) | 1996-12-25 | 1998-07-21 | Sharp Corp | Cmos logic circuit |
US7417468B2 (en) | 2003-09-17 | 2008-08-26 | The Regents Of The University Of California | Dynamic and differential CMOS logic with signal-independent power consumption to withstand differential power analysis |
KR20070009920A (en) * | 2005-07-16 | 2007-01-19 | 학교법인 포항공과대학교 | Complementary logic circuit for constant power consumption |
Also Published As
Publication number | Publication date |
---|---|
KR20110022352A (en) | 2011-03-07 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
US8390311B2 (en) | Apparatus for clocked power logic against power analysis attack | |
US11861047B2 (en) | Masked gate logic for resistance to power analysis | |
Tiri et al. | A dynamic and differential CMOS logic with signal independent power consumption to withstand differential power analysis on smart cards | |
Zussa et al. | Investigation of timing constraints violation as a fault injection means | |
EP2489127B1 (en) | High utilization universal logic array with variable circuit topology and logistic map circuit to realize a variety of logic gates with constant power signatures | |
Hettwer et al. | Lightweight side-channel protection using dynamic clock randomization | |
Lu et al. | 1.32 GHz high-throughput charge-recovery AES core with resistance to DPA attacks | |
Juretus et al. | Reducing logic encryption overhead through gate level key insertion | |
US7881465B2 (en) | Circuit and method for calculating a logic combination of two encrypted input operands | |
KR101247482B1 (en) | Apparatus for adiabatic logic against power analysis attack | |
CN104682950A (en) | Time delay-based double-track pre-charge logic NAND gate circuit and Time delay-based double-track pre-charge logic exclusive or gate circuit | |
Mayhew et al. | On-chip nanoscale capacitor decoupling architectures for hardware security | |
CN111758242A (en) | Method and apparatus for Differential Power Analysis (DPA) resilient security in a cryptographic processor | |
US20050213757A1 (en) | Decryption circuit, encryption circuit, logic cell, and method of performing a dual-rail logic operation in single-rail logic environment | |
US20140292371A1 (en) | Multi-threshold dual-spacer dual-rail delay-insensitive logic (mtd3l) circuit design | |
US20100329446A1 (en) | Logic circuit and method for calculating an encrypted result operand | |
Saravanan et al. | An energy efficient XOR gate implementation resistant to power analysis attacks | |
Fadaeinia et al. | BSPL: Balanced Static Power Logic | |
De et al. | Designing DPA resistant circuits using BDD architecture and bottom pre-charge logic | |
Mayhew et al. | Integrated capacitor switchbox for security protection | |
Palma et al. | Current balancing random body bias in fdsoi cryptosystems as a countermeasure to leakage power analysis attacks | |
US11799627B2 (en) | Protection against side-channel attacks by balancing cell drive polarity | |
US11556674B2 (en) | Synchronization circuit for threshold implementation of S-box | |
US20180315351A1 (en) | Reduced Overhead Gate Level Logic Encryption | |
Immaculate et al. | Analysis of leakage power attacks on DPA resistant logic styles: A survey |
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: 20151214 Year of fee payment: 4 |
|
FPAY | Annual fee payment |
Payment date: 20161227 Year of fee payment: 5 |
|
FPAY | Annual fee payment |
Payment date: 20180102 Year of fee payment: 6 |
|
LAPS | Lapse due to unpaid annual fee |