KR101517947B1 - 중간키를 이용한 전력분석공격 방어방법 - Google Patents
중간키를 이용한 전력분석공격 방어방법 Download PDFInfo
- Publication number
- KR101517947B1 KR101517947B1 KR1020120129593A KR20120129593A KR101517947B1 KR 101517947 B1 KR101517947 B1 KR 101517947B1 KR 1020120129593 A KR1020120129593 A KR 1020120129593A KR 20120129593 A KR20120129593 A KR 20120129593A KR 101517947 B1 KR101517947 B1 KR 101517947B1
- Authority
- KR
- South Korea
- Prior art keywords
- algorithm
- hidden
- key
- encryption algorithm
- plaintext
- Prior art date
Links
Images
Classifications
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L9/00—Cryptographic mechanisms or cryptographic arrangements for secret or secure communications; Network security protocols
- H04L9/002—Countermeasures against attacks on cryptographic mechanisms
- H04L9/003—Countermeasures against attacks on cryptographic mechanisms for power analysis, e.g. differential power analysis [DPA] or simple power analysis [SPA]
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L9/00—Cryptographic mechanisms or cryptographic arrangements for secret or secure communications; Network security protocols
- H04L9/14—Cryptographic mechanisms or cryptographic arrangements for secret or secure communications; Network security protocols using a plurality of keys or algorithms
- H04L9/16—Cryptographic 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)
- Management, Administration, Business Operations System, And Electronic Commerce (AREA)
- Data Exchanges In Wide-Area Networks (AREA)
Abstract
본 발명은 중간키를 이용한 전력분석공격 방어방법을 제공한다. 이와 같은 본 발명에 따른 중간키를 이용한 전력분석공격 방어방법은 평문(p)을 암호문(c)으로 변경시키는 암호화 알고리즘으로 입력되는 비밀키(k)를 랜덤하게 변경시키는 방법의 제공으로 전력분석공격 자체가 불가능해지도록 하거나, 별도의 숨김연산 알고리즘이 암호화알고리즘과 연동되어 중간키(k')나 중간 평문(p')을 거쳐 평문이 암호문으로 생성되도록 하여 암호화 알고리즘이 공개되어 알려지더라도 전력분석공격에 대한 방어를 안정되고 안전하게 수행할 수 있게 된다.
본 발명은 평문(p)과 비밀키(k)를 입력받아 암호문(c)을 생성시키는 공개된 암호화 알고리즘(f)에 대한 전력분석공격을 방어하기 위한 방법에 있어서, 현재 공개되어 있지 않은 연산 프로세스를 갖는 숨김연산 알고리즘으로 평문(p)을 중간 평문(p')으로 변경시키는 데이터처리와, 현재 공개되어 있지 않은 연산 프로세스를 갖는 숨김연산 알고리즘으로 비밀키(k)를 중간키(k')로 변경시키는 데이터처리와, 비밀키(k)를 불규칙적으로 변경시키는 키 랜덤 알고리즘으로 비밀키(k)를 중간키(k')로 변경시키는 데이터처리 군 중에서 선택된 어느 하나를 수행한 후 상기 공개된 암호화 알고리즘(f)을 수행하도록 하여 암호 알고리즘(f)의 중간값 추정에 의한 전력분석공격이 방지되도록 한다.
본 발명은 평문(p)과 비밀키(k)를 입력받아 암호문(c)을 생성시키는 공개된 암호화 알고리즘(f)에 대한 전력분석공격을 방어하기 위한 방법에 있어서, 현재 공개되어 있지 않은 연산 프로세스를 갖는 숨김연산 알고리즘으로 평문(p)을 중간 평문(p')으로 변경시키는 데이터처리와, 현재 공개되어 있지 않은 연산 프로세스를 갖는 숨김연산 알고리즘으로 비밀키(k)를 중간키(k')로 변경시키는 데이터처리와, 비밀키(k)를 불규칙적으로 변경시키는 키 랜덤 알고리즘으로 비밀키(k)를 중간키(k')로 변경시키는 데이터처리 군 중에서 선택된 어느 하나를 수행한 후 상기 공개된 암호화 알고리즘(f)을 수행하도록 하여 암호 알고리즘(f)의 중간값 추정에 의한 전력분석공격이 방지되도록 한다.
Description
본 발명은 중간키를 이용한 전력분석공격 방어방법에 관한 것으로, 좀더 구체적으로는 평문(p)을 암호문(c)으로 변경시키는 암호화 알고리즘으로 입력되는 비밀키(k)를 랜덤하게 변경시키는 방법의 제공으로 전력분석공격 자체가 불가능해지도록 하거나, 별도의 숨김연산 알고리즘이 암호화알고리즘과 연동되어 중간키(k')나 중간 평문(p')을 거쳐 평문이 암호문으로 생성되도록 하여 단순한 구조로도 전력분석공격에 대한 방어를 안정되고 안전하게 수행할 수 있는 중간키를 이용한 전력분석공격 방어방법에 관한 것이다.
대칭 암호시스템은 도 1에서와 같이 평문(p)와 비밀키(k)가 입력되는 암호화 알고리즘을 통해 암호문(c)을 생성시키고, 생성된 암호문(c)을 비밀키(k)와 함께 복호화 알고리즘에 입력하여 평문(p)으로 해독하게 된다.
여기서 암호화 알고리즘(f)과 암호문(c)은 알려진 값이고, 비밀키(k)는 알려지지 않은 값임에 따라, 비밀키(k)를 알지 못하면 암호문(c)을 복호화하여 평문(p)으로 해독하지 못하게 되므로, 암호 시스템에 대한 공격은 이 비밀키(k)를 알아내려는 시도에서 시작된다. 따라서, 비밀키(k)를 보호하는 것이 암호시스템 공격에 대한 방어에 매우 중요하다.
한편, 암호시스템에 대한 공격방법 중의 하나인 전력분석공격 방법은 프로세서나 논리연산 소자에 의한 수치연산 시 결과값에 따라 소모전력량이 크기가 달라지는 현상을 이용한 공격 방법이다. 암호문(c)으로부터 비밀키(k)를 찾는 것이 매우 어려우므로, 암호화 알고리듬 연산시의 소모전력을 측정한 후 통계적으로 분석함으로써 비밀키(k)를 찾게 되는데, 이때 측정된 소모전력을 전력신호라 한다. 전력신호분석 공격은 전력신호 측정단계, 연산 중간값 추정단계, 통계적 상관도 분석단계의 3단계를 거쳐 암호시스템을 공격하게 된다.
전력신호 측정단계는 도 2에서와 같이 암호화 알고리즘 실행 과정에서 알려진 평문(p)과 비밀키(k)가 연산하는 시점(t)를 선택하여, 평문(p)와 비밀키(k)가 연산하는 시점(t)에서의 전력신호(Tt)를 측정하는 단계이다. 연산 중간값 추정단계는 도 3에서와 같이 가능한 모든 비밀키(Ki)에 대해 시점(t)에서 연산 중간값(Cit)를 추정한다. 여기서 비밀키(k)가 1 바이트인 경우 i=0, ...... ,255 이다. 통계적 상관도 분석단계는 Cit와 Tt의 관계에 대한 통계적인 상관도 분석을 수행하여 상관계수(ri)를 구한다. 비밀키(k)와 일치하는 ki에 의해 구해진 상관계수는 높은 값을 가지게 되고, 비밀키(k)와 일치하지 않는 ki에 의해 구해진 상관계수는 낮은 값을 가지게 되므로, 높은 값을 갖는 상관계수를 도출하는 ki를 비밀키(k)로 추정함으로써 비밀키(k)를 찾을 수 있게 된다.
상기와 같은 전력분석공격에 대응하여 암호시스템을 방어하기 위한 시스템이나 암호화방법이 다양한 방식으로 개발되었는데, 이와 관련한 기술로는 대한민국 등록특허공보 등록번호 제10-0772550호 "전력분석공격에 안전한 메세지 블라이딩 방법", 등록번호 제10-0731575호 "전력분석공격에 대응하는 암호화 방법", 등록번호 제10-0402156호 "전력분석공격을 방지할 수 있는 타원곡선암호화방법 및 그 시스템" 등이 안출되어 있다.
그러나, 상기와 같은 종래의 전력분석공격 방어시스템이나 방어방법은 복잡한 방어 알고리즘을 제공하는 문제점이 있었다.
따라서 본 발명은 이와 같은 종래 기술의 문제점을 개선하여, 현재 공개되어 있지 않은 숨김연산 알고리즘에 의해 평문(P)이나 비밀키(k)가 중간 평문(p')이나 중간키(k')로 변경된 후 암호화 알고리즘으로 입력되어 암호문이 생성되도록 함에 따라 전력분석공격 방법에서의 중간값 추정이 불가능해지도록 하여 전력분석공격에 대한 방어가 단순한 방어구조로도 안정되고 안전하게 수행될 수 있도록 하는 새로운 형태의 중간키를 이용한 전력분석공격 방어방법을 제공하는 것을 목적으로 한다.
또한, 본 발명은 비밀키(k)가 입력될 때마다 비밀키(k)를 불규칙적으로 변경시키는 키 랜덤 알고리즘에 의해 불규칙적으로 생성된 변동 중간키(k")가 암호화 알고리즘으로 입력되어 암호문이 생성되도록 함에 따라 암호화 알고리즘 실행시 중간키가 매번 변하게 되어 전력분석이 불가능해지면서 전력분석공격에 대한 방어가 단순한 방어구조로도 안정되고 안전하게 수행될 수 있도록 하는 새로운 형태의 중간키를 이용한 전력분석공격 방어방법을 제공하는 것을 목적으로 한다.
상술한 목적을 달성하기 위한 본 발명의 특징에 의하면, 본 발명은 평문(p)과 비밀키(k)를 입력받아 암호문(c)을 생성시키는 공개된 암호화 알고리즘(f)에 대한 전력분석공격을 방어하기 위한 방법에 있어서, 현재 공개되어 있지 않은 연산 프로세스를 갖는 숨김연산 알고리즘으로 평문(p)을 중간 평문(p')으로 변경시키는 데이터처리와, 현재 공개되어 있지 않은 연산 프로세스를 갖는 숨김연산 알고리즘으로 비밀키(k)를 중간키(k')로 변경시키는 데이터처리와, 비밀키(k)를 불규칙적으로 변경시키는 키 랜덤 알고리즘으로 비밀키(k)를 중간키(k')로 변경시키는 데이터처리 군 중에서 선택된 어느 하나를 수행한 후 상기 공개된 암호화 알고리즘(f)을 수행하도록 하여 암호 알고리즘(f)의 중간값 추정에 의한 전력분석공격이 방지되도록 하는 중간키를 이용한 전력분석공격 방어방법을 제공한다.
이와 같은 본 발명에 따른 중간키를 이용한 전력분석공격 방어방법은 현재 공개되어 있지 않은 연산 프로세스를 갖는 제1숨김연산 알고리즘을 설정하는 숨김연산 알고리즘 설정단계와; 상기 제1숨김연산 알고리즘을 공개된 암호화 알고리즘(f)과 연동시키는 숨김연산 알고리즘-암호화 알고리즘 연동단계와; 공개된 암호화 알고리즘의 구동 이전에 상기 제1숨김연산 알고리즘이 구동되도록 하되, 상기 제1숨김연산 알고리즘은 상기 비밀키(k)를 입력받아 상기 비밀키(k)를 중간키(k')로 변경시키게 되는 숨김연산 알고리즘 구동단계 및; 상기 중간키(k')와 평문(p)을 입력받아 암호화 알고리즘을 수행하는 암호화 알고리즘 구동단계를 포함할 수 있다.
이와 같은 본 발명에 따른 중간키를 이용한 전력분석공격 방어방법은 현재 공개되어 있지 않은 연산 프로세스를 갖는 제2숨김연산 알고리즘을 설정하는 숨김연산 알고리즘 설정단계와; 상기 제2숨김연산 알고리즘을 공개된 암호화 알고리즘(f)과 연동시키는 숨김연산 알고리즘-암호화 알고리즘 연동단계와; 공개된 암호화 알고리즘의 구동 이전에 상기 제2숨김연산 알고리즘이 구동되도록 하되, 상기 제2숨김연산 알고리즘은 상기 평문(p)을 입력받아 상기 평문(p)을 중간 평문(p')으로 변경시키게 되는 숨김연산 알고리즘 구동단계 및; 상기 중간 평문(p')을 입력받아 암호화 알고리즘을 수행하는 암호화 알고리즘 구동단계를 포함할 수 있다.
이와 같은 본 발명에 따른 중간키를 이용한 전력분석공격 방어방법은 현재 공개되어 있지 않은 연산 프로세스를 갖는 제1숨김연산 알고리즘과 제2숨김연산 알고리즘을 각각 설정하는 숨김연산 알고리즘 설정단계와; 상기 제1숨김연산 알고리즘과 제2숨김연산 알고리즘을 공개된 암호화 알고리즘(f)과 연동시키는 숨김연산 알고리즘-암호화 알고리즘 연동단계와; 공개된 암호화 알고리즘의 구동 이전에 상기 제1숨김연산 알고리즘과 제2숨김연산 알고리즘이 각각 구동되도록 하되, 상기 제1숨김연산 알고리즘은 상기 비밀키(k)를 입력받아 상기 비밀키(k)를 중간키(k')로 변경시키게 되고, 상기 제2숨김연산 알고리즘은 상기 평문(p)을 입력받아 상기 평문(p)을 중간 평문(p')으로 변경시키게 되는 숨김연산 알고리즘 구동단계 및; 상기 중간 평문(p')과 중간키(k')를 입력받아 암호화 알고리즘을 수행하는 암호화 알고리즘 구동단계를 포함할 수 있다.
이와 같은 본 발명에 따른 중간키를 이용한 전력분석공격 방어방법은 상기 암호화 알고리즘 구동단계 이후에 상기 숨김연산 알고리즘과 연동된 암호화 알고리즘으로 생성된 중간 암호문(c')을 원래의 암호문(c)으로 변경시키되 현재 공개되어 있지 않은 연산 프로세스를 갖는 역숨김연산 알고리즘을 구동시키는 역숨김연산 알고리즘 구동단계가 수행되도록 할 수 있다.
이와 같은 본 발명에 따른 중간키를 이용한 전력분석공격 방어방법은 비밀키(k)가 입력될 때마다 비밀키(k)를 불규칙적으로 변경시키는 키 랜덤 알고리즘을 설정하는 키 랜덤 알고리즘 설정단계와; 상기 키 랜덤 알고리즘을 공개된 암호화 알고리즘(f)과 연동시키는 키 랜덤 알고리즘-암호화 알고리즘 연동단계와; 공개된 암호화 알고리즘의 구동 이전에 상기 키 랜덤 알고리즘이 구동되도록 하되, 상기 키 랜덤 알고리즘은 상기 비밀키(k)를 입력받아 상기 비밀키(k)를 랜덤하게 변동 중간키(k")로 변경시키게 되는 키 랜덤 알고리즘 구동단계 및; 상기 변동 중간키(k")를 입력받아 암호화 알고리즘을 수행하는 암호화 알고리즘 구동단계를 포함할 수 있다.
본 발명에 의한 중간키를 이용한 전력분석공격 방어방법에 의하면, 현재 공개되어 있지 않은 숨김연산 알고리즘으로 평문(P)이나 비밀키(k)를 중간 평문(p')이나 중간키(k')로 변경시키거나, 키 랜덤 알고리즘으로 비밀키(k)의 입력 시점마다 비밀키(k)를 불규칙적으로 변동 중간키(k")로 변경시킨 후 암호화 알고리즘으로 입력하여 암호문을 생성함으로써 전력분석이 불가능해지면서 전력분석공격에 대한 방어가 단순한 구조로도 안정되고 안전하게 수행되는 효과가 있다.
도 1은 일반적인 암호시스템을 보여주기 위한 도면;
도 2는 전력분석공격 방법에서의 전력신호 측정단계를 보여주기 위한 도면;
도 3은 전력분석공격 방법에서의 연산 중간값 추정단계를 보여주기 위한 도면;
도 4의 (a)와 (b)는 숨김연산 알고리즘을 이용한 본 발명에 따른 중간키를 이용한 전력분석공격 방어방법을 실행하기 위한 절차를 보여주기 위한 블록도;
도 5는 본 발명의 제1실시예에 따른 중간키를 이용한 전력분석공격 방어방법을 보여주기 위한 도면;
도 6은 본 발명의 제2실시예에 따른 중간키를 이용한 전력분석공격 방어방법을 보여주기 위한 도면;
도 7은 본 발명의 제3실시예에 따른 중간키를 이용한 전력분석공격 방어방법을 보여주기 위한 도면;
도 8은 키 랜덤 알고리즘을 이용한 본 발명에 따른 중간키를 이용한 전력분석공격 방어방법을 보여주기 위한 도면;
도 9는 본 발명의 제4실시예에 따른 중간키를 이용한 전력분석공격 방어방법을 보여주기 위한 도면;
도 10은 본 발명의 제5실시예에 따른 중간키를 이용한 전력분석공격 방어방법을 보여주기 위한 도면;
도 11은 본 발명의 제6실시예에 따른 중간키를 이용한 전력분석공격 방어방법을 보여주기 위한 도면이다.
도 2는 전력분석공격 방법에서의 전력신호 측정단계를 보여주기 위한 도면;
도 3은 전력분석공격 방법에서의 연산 중간값 추정단계를 보여주기 위한 도면;
도 4의 (a)와 (b)는 숨김연산 알고리즘을 이용한 본 발명에 따른 중간키를 이용한 전력분석공격 방어방법을 실행하기 위한 절차를 보여주기 위한 블록도;
도 5는 본 발명의 제1실시예에 따른 중간키를 이용한 전력분석공격 방어방법을 보여주기 위한 도면;
도 6은 본 발명의 제2실시예에 따른 중간키를 이용한 전력분석공격 방어방법을 보여주기 위한 도면;
도 7은 본 발명의 제3실시예에 따른 중간키를 이용한 전력분석공격 방어방법을 보여주기 위한 도면;
도 8은 키 랜덤 알고리즘을 이용한 본 발명에 따른 중간키를 이용한 전력분석공격 방어방법을 보여주기 위한 도면;
도 9는 본 발명의 제4실시예에 따른 중간키를 이용한 전력분석공격 방어방법을 보여주기 위한 도면;
도 10은 본 발명의 제5실시예에 따른 중간키를 이용한 전력분석공격 방어방법을 보여주기 위한 도면;
도 11은 본 발명의 제6실시예에 따른 중간키를 이용한 전력분석공격 방어방법을 보여주기 위한 도면이다.
이하, 본 발명의 실시예를 첨부된 도면 도 4 내지 도 11에 의거하여 상세히 설명한다. 한편, 도면과 상세한 설명에서 일반적인 전력분석공격, 전력분석공격 방어방법 등으로부터 이 분야의 종사자들이 용이하게 알 수 있는 구성 및 작용에 대한 도시 및 언급은 간략히 하거나 생략하였다. 특히 도면의 도시 및 상세한 설명에 있어서 본 발명의 기술적 특징과 직접적으로 연관되지 않는 요소의 구체적인 기술적 구성 및 작용에 대한 상세한 설명 및 도시는 생략하고, 본 발명과 관련되는 기술적 구성만을 간략하게 도시하거나 설명하였다.
전력분석공격 방어방법은 평문(p)과 비밀키(k)를 입력받아 암호문(c)을 생성시키는 공개된 암호화 알고리즘(f)에 대한 전력분석공격을 방어하기 위한 방법을 제공하는 것으로, 본 발명에 따른 중간키를 이용한 전력분석공격 방어방법은 현재시점에서 프로그래머에 의해 새롭게 설계되어 현재까지 외부에 공개되어 있지 않게 된 신규 연산 프로세스를 갖는 숨김연산 알고리즘으로 평문(p)을 중간 평문(p')으로 변경시키는 데이터처리를 수행한 후 공개된 암호화 알고리즘(f)을 수행하도록 하여 암호 알고리즘(f)의 중간값 추정에 의한 전력분석공격이 방지되도록 할 수 있다. 또한, 본 발명에 따른 중간키를 이용한 전력분석공격 방어방법은 현재 공개되어 있지 않은 연산 프로세스를 갖는 숨김연산 알고리즘으로 비밀키(k)를 중간키(k')로 변경시키는 데이터처리를 수행한 후 공개된 암호화 알고리즘(f)을 수행하도록 하여 암호 알고리즘(f)의 중간값 추정에 의한 전력분석공격이 방지되도록 할 수 있다. 그리고, 본 발명에 따른 중간키를 이용한 전력분석공격 방어방법은 비밀키(k)를 불규칙적으로 변경시키는 키 랜덤 알고리즘으로 비밀키(k)를 중간키(k')로 변경시키는 데이터처리를 수행한 후 공개된 암호화 알고리즘(f)을 수행하도록 하여 암호 알고리즘(f)의 중간값 추정에 의한 전력분석공격이 방지되도록 할 수 있다.
이를 위한 본 발명에 따른 중간키를 이용한 전력분석공격 방어방법은 도 4의 (a)에서와 같이 숨김연산 알고리즘 설정단계, 숨김연산 알고리즘-암호화 알고리즘 연동단계, 숨김연산 알고리즘 구동단계, 암호화 알고리즘 구동단계를 거쳐 수행될 수 있다. 여기서, 암호화 알고리즘 구동단계 이후에 도 4의 (b)에서와 같이 역숨김연산 알고리즘 구동단계가 수행될 수도 있다.
도 4의 (a)와 (b)에서와 같이 숨김연산 알고리즘을 이용한 전력분석공격 방어방법은 도 5 내지 도 7에 도시되어 있다.
도 5에 도시된 본 발명의 제1실시예에 따른 중간키를 이용한 전력분석공격 방어방법은 현재 공개되어 있지 않은 연산 프로세스를 갖는 제1숨김연산 알고리즘을 설정하는 숨김연산 알고리즘 설정단계, 제1숨김연산 알고리즘을 공개된 암호화 알고리즘(f)과 연동시키는 숨김연산 알고리즘-암호화 알고리즘 연동단계, 공개된 암호화 알고리즘의 구동 이전에 상기 제1숨김연산 알고리즘이 구동되도록 하되 제1숨김연산 알고리즘은 상기 비밀키(k)를 입력받아 비밀키(k)를 중간키(k')로 변경시키게 되는 숨김연산 알고리즘 구동단계, 중간키(k')와 평문(p)을 입력받아 암호화 알고리즘을 수행하는 암호화 알고리즘 구동단계, 현재 공개되어 있지 않은 연산 프로세스를 갖는 제1역숨김연산 알고리즘을 구동시켜 암호화 알고리즘 구동단계에서 생성된 중간 암호문(c')을 원래의 암호문(c)으로 변경시키는 역숨김연산 알고리즘 구동단계를 거쳐 수행된다.
도 6에 도시된 본 발명의 제2실시예에 따른 중간키를 이용한 전력분석공격 방어방법은 현재 공개되어 있지 않은 연산 프로세스를 갖는 제2숨김연산 알고리즘을 설정하는 숨김연산 알고리즘 설정단계, 제2숨김연산 알고리즘을 공개된 암호화 알고리즘(f)과 연동시키는 숨김연산 알고리즘-암호화 알고리즘 연동단계, 공개된 암호화 알고리즘의 구동 이전에 제2숨김연산 알고리즘이 구동되도록 하되 제2숨김연산 알고리즘은 평문(p)을 입력받아 평문(p)을 중간 평문(p')으로 변경시키게 되는 숨김연산 알고리즘 구동단계, 중간 평문(p')을 입력받아 암호화 알고리즘을 수행하는 암호화 알고리즘 구동단계, 현재 공개되어 있지 않은 연산 프로세스를 갖는 제2역숨김연산 알고리즘을 구동시켜 암호화 알고리즘 구동단계에서 생성된 중간 암호문(c')을 원래의 암호문(c)으로 변경시키는 역숨김연산 알고리즘 구동단계를 거쳐 수행된다.
도 7에 도시된 본 발명의 제2실시예에 따른 중간키를 이용한 전력분석공격 방어방법은 현재 공개되어 있지 않은 연산 프로세스를 갖는 제1숨김연산 알고리즘과 제2숨김연산 알고리즘을 각각 설정하는 숨김연산 알고리즘 설정단계, 제1숨김연산 알고리즘과 제2숨김연산 알고리즘을 공개된 암호화 알고리즘(f)과 연동시키는 숨김연산 알고리즘-암호화 알고리즘 연동단계, 공개된 암호화 알고리즘의 구동 이전에 제1숨김연산 알고리즘과 제2숨김연산 알고리즘이 각각 구동되도록 하되 제1숨김연산 알고리즘은 비밀키(k)를 입력받아 비밀키(k)를 중간키(k')로 변경시키게 되고 제2숨김연산 알고리즘은 평문(p)을 입력받아 평문(p)을 중간 평문(p')으로 변경시키게 되는 숨김연산 알고리즘 구동단계, 중간 평문(p')과 중간키(k')를 입력받아 암호화 알고리즘을 수행하는 암호화 알고리즘 구동단계, 현재 공개되어 있지 않은 연산 프로세스를 갖는 제3역숨김연산 알고리즘을 구동시켜 암호화 알고리즘 구동단계에서 생성된 중간 암호문(c')을 원래의 암호문(c)으로 변경시키는 역숨김연산 알고리즘 구동단계를 거쳐 수행된다.
또한, 본 발명에 따른 중간키를 이용한 전력분석공격 방어방법은 도 8과 도 9에서와 같이 비밀키(k)가 입력될 때마다 비밀키(k)를 불규칙적으로 변경시키는 키 랜덤 알고리즘을 설정하는 키 랜덤 알고리즘 설정단계, 키 랜덤 알고리즘을 공개된 암호화 알고리즘(f)과 연동시키는 키 랜덤 알고리즘-암호화 알고리즘 연동단계, 공개된 암호화 알고리즘의 구동 이전에 키 랜덤 알고리즘이 구동되도록 하되 키 랜덤 알고리즘은 비밀키(k)를 입력받아 비밀키(k)를 랜덤하게 변동 중간키(k")로 변경시키게 되는 키 랜덤 알고리즘 구동단계, 변동 중간키(k")를 입력받아 암호화 알고리즘을 수행하는 암호화 알고리즘 구동단계를 거쳐 수행된다.
여기서, 키 랜덤 알고리즘이 적용된 본 발명에 따른 중간키를 이용한 전력분석공격 방어방법은 도 10에서와 같이 블록암호를 생성시키는 블록 암호화 알고리즘에 적용될 수도 있고, 도 11에서와 같이 스트림 암호를 생성시키는 스트림 암호화 알고리즘에도 적용될 수 있다.
한편, 키 랜덤 알고리즘이 적용된 본 발명에 따른 중간키를 이용한 전력분석공격 방어방법과 숨김연산 알고리즘이 적용된 본 발명에 따른 중간키를 이용한 전력분석공격 방어방법은 서로 조합되어 수행될 수 있다. 즉 키 랜덤 알고리즘에 의해 불규칙적으로 변경되는 변동 중간키(k")를 다시 제1숨김연산 알고리즘에 입력하여 2차 중간키를 생성시킨 후 암호화 알고리즘으로 입력함으로써 전력분석공격에 좀더 안정되게 안전하게 방어를 수행할 수 있게 된다.
상기와 같이 구성되는 본 발명의 실시예에 따른 중간키를 이용한 전력분석공격 방어방법은 현재 공개되어 있지 않은 숨김연산 알고리즘으로 평문(P)이나 비밀키(k)를 중간 평문(p')이나 중간키(k')로 변경시키거나, 키 랜덤 알고리즘으로 비밀키(k)의 입력 시점마다 비밀키(k)를 불규칙적으로 변동 중간키(k")로 변경시킨 후 암호화 알고리즘으로 입력하여 암호문을 생성함으로써 전력분석이 불가능해지면서 전력분석공격에 대한 방어가 단순한 구조로도 안정되고 안전하게 수행되는 것이다.
상술한 바와 같은, 본 발명의 실시예에 따른 중간키를 이용한 전력분석공격 방어방법을 상기한 설명 및 도면에 따라 도시하였지만, 이는 예를 들어 설명한 것에 불과하며 본 발명의 기술적 사상을 벗어나지 않는 범위 내에서 다양한 변화 및 변경이 가능하다는 것을 이 분야의 통상적인 기술자들은 잘 이해할 수 있을 것이다.
Claims (5)
- 평문(p)과 비밀키(k)를 입력받아 암호문(c)을 생성시키는 공개된 암호화 알고리즘(f)에 대한 전력분석공격을 방어하기 위한 방법에 있어서,
현재시점에서 프로그래머에 의해 새롭게 설계되어 현재까지 외부에 공개되어 있지 않게 된 신규 연산 프로세스를 갖는 숨김연산 알고리즘으로 평문(p)을 중간 평문(p')으로 변경시키는 데이터처리와, 현재 공개되어 있지 않은 연산 프로세스를 갖는 숨김연산 알고리즘으로 비밀키(k)를 중간키(k')로 변경시키는 데이터처리와, 비밀키(k)를 불규칙적으로 변경시키는 키 랜덤 알고리즘으로 비밀키(k)를 중간키(k')로 변경시키는 데이터처리 군 중에서 선택된 어느 하나를 수행한 후 상기 공개된 암호화 알고리즘(f)을 수행하도록 하여 암호 알고리즘(f)의 중간값 추정에 의한 전력분석공격이 방지되도록 하는 것을 특징으로 하는 중간키를 이용한 전력분석공격 방어방법. - 제 1항에 있어서,
현재 공개되어 있지 않은 연산 프로세스를 갖는 제1숨김연산 알고리즘을 설정하는 숨김연산 알고리즘 설정단계와;
상기 제1숨김연산 알고리즘을 공개된 암호화 알고리즘(f)과 연동시키는 숨김연산 알고리즘-암호화 알고리즘 연동단계와;
공개된 암호화 알고리즘의 구동 이전에 상기 제1숨김연산 알고리즘이 구동되도록 하되, 상기 제1숨김연산 알고리즘은 상기 비밀키(k)를 입력받아 상기 비밀키(k)를 중간키(k')로 변경시키게 되는 숨김연산 알고리즘 구동단계 및;
상기 중간키(k')와 평문(p)을 입력받아 암호화 알고리즘을 수행하는 암호화 알고리즘 구동단계를 포함하는 것을 특징으로 하는 중간키를 이용한 전력분석공격 방어방법. - 제 1항에 있어서,
현재 공개되어 있지 않은 연산 프로세스를 갖는 제2숨김연산 알고리즘을 설정하는 숨김연산 알고리즘 설정단계와;
상기 제2숨김연산 알고리즘을 공개된 암호화 알고리즘(f)과 연동시키는 숨김연산 알고리즘-암호화 알고리즘 연동단계와;
공개된 암호화 알고리즘의 구동 이전에 상기 제2숨김연산 알고리즘이 구동되도록 하되, 상기 제2숨김연산 알고리즘은 상기 평문(p)을 입력받아 상기 평문(p)을 중간 평문(p')으로 변경시키게 되는 숨김연산 알고리즘 구동단계 및;
상기 중간 평문(p')을 입력받아 암호화 알고리즘을 수행하는 암호화 알고리즘 구동단계를 포함하는 것을 특징으로 하는 중간키를 이용한 전력분석공격 방어방법. - 제 1항에 있어서,
현재 공개되어 있지 않은 연산 프로세스를 갖는 제1숨김연산 알고리즘과 제2숨김연산 알고리즘을 각각 설정하는 숨김연산 알고리즘 설정단계와;
상기 제1숨김연산 알고리즘과 제2숨김연산 알고리즘을 공개된 암호화 알고리즘(f)과 연동시키는 숨김연산 알고리즘-암호화 알고리즘 연동단계와;
공개된 암호화 알고리즘의 구동 이전에 상기 제1숨김연산 알고리즘과 제2숨김연산 알고리즘이 각각 구동되도록 하되, 상기 제1숨김연산 알고리즘은 상기 비밀키(k)를 입력받아 상기 비밀키(k)를 중간키(k')로 변경시키게 되고, 상기 제2숨김연산 알고리즘은 상기 평문(p)을 입력받아 상기 평문(p)을 중간 평문(p')으로 변경시키게 되는 숨김연산 알고리즘 구동단계 및;
상기 중간 평문(p')과 중간키(k')를 입력받아 암호화 알고리즘을 수행하는 암호화 알고리즘 구동단계를 포함하는 것을 특징으로 하는 중간키를 이용한 전력분석공격 방어방법. - 제 1항 또는 제 3항에 있어서,
비밀키(k)가 입력될 때마다 비밀키(k)를 불규칙적으로 변경시키는 키 랜덤 알고리즘을 설정하는 키 랜덤 알고리즘 설정단계와;
상기 키 랜덤 알고리즘을 공개된 암호화 알고리즘(f)과 연동시키는 키 랜덤 알고리즘-암호화 알고리즘 연동단계와;
공개된 암호화 알고리즘의 구동 이전에 상기 키 랜덤 알고리즘이 구동되도록 하되, 상기 키 랜덤 알고리즘은 상기 비밀키(k)를 입력받아 상기 비밀키(k)를 랜덤하게 변동 중간키(k")로 변경시키게 되는 키 랜덤 알고리즘 구동단계 및;
상기 변동 중간키(k")를 입력받아 암호화 알고리즘을 수행하는 암호화 알고리즘 구동단계를 포함하는 것을 특징으로 하는 중간키를 이용한 전력분석공격 방어방법.
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
KR1020120129593A KR101517947B1 (ko) | 2012-11-15 | 2012-11-15 | 중간키를 이용한 전력분석공격 방어방법 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
KR1020120129593A KR101517947B1 (ko) | 2012-11-15 | 2012-11-15 | 중간키를 이용한 전력분석공격 방어방법 |
Publications (2)
Publication Number | Publication Date |
---|---|
KR20140065531A KR20140065531A (ko) | 2014-05-30 |
KR101517947B1 true KR101517947B1 (ko) | 2015-05-07 |
Family
ID=50892336
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
KR1020120129593A KR101517947B1 (ko) | 2012-11-15 | 2012-11-15 | 중간키를 이용한 전력분석공격 방어방법 |
Country Status (1)
Country | Link |
---|---|
KR (1) | KR101517947B1 (ko) |
Families Citing this family (2)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
KR102151309B1 (ko) * | 2018-10-24 | 2020-10-26 | 동서대학교 산학협력단 | 알고리즘의 방어기술 적용방법 |
KR102072335B1 (ko) * | 2019-08-14 | 2020-01-31 | 동서대학교 산학협력단 | 스크램블러를 이용한 aes 암호 알고리즘에 대한 전력분석공격 방어기술 적용방법 |
-
2012
- 2012-11-15 KR KR1020120129593A patent/KR101517947B1/ko active IP Right Grant
Also Published As
Publication number | Publication date |
---|---|
KR20140065531A (ko) | 2014-05-30 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
US8595513B2 (en) | Method and system for protecting a cryptography device | |
EP2829010B1 (en) | Updating key information | |
US20080201398A1 (en) | Determination of a Modular Inverse | |
CN101006677A (zh) | 用于实施加密运算的方法和装置 | |
Grosso et al. | Efficient masked S-boxes processing–a step forward– | |
KR20090006176A (ko) | 평문 판정 방법 | |
JP7155173B2 (ja) | 外部監視攻撃からモジュラーインバージョン演算を保護すること | |
Grosso et al. | Masking vs. multiparty computation: how large is the gap for AES? | |
Grosso et al. | Masking vs. multiparty computation: how large is the gap for AES? | |
CN103607276A (zh) | 新型基于随机函数的抗已知明文密文对攻击的分组加密方法 | |
Bhat et al. | Impact of computational power on cryptography | |
Poddar et al. | A cache trace attack on CAMELLIA | |
Martinasek et al. | Power analysis attack based on the MLP in DPA contest v4 | |
KR101517947B1 (ko) | 중간키를 이용한 전력분석공격 방어방법 | |
Jap et al. | Differential fault attack on LEA | |
Yoshikawa et al. | Round addition DFA on 80-bit Piccolo and TWINE | |
Ullagaddi et al. | Symmetric synchronous stream encryption using images | |
Kim et al. | New Type of Collision Attack on First‐Order Masked AESs | |
CN104125061A (zh) | 使用rsa加密算法的电子部件中的防攻击方法 | |
JP2015534415A (ja) | メッセージへの全単射アルゴリズムの適用によるコードの真正性を制御するための制御方法およびデバイス | |
Lone et al. | Common attacks on RSA and its variants with possible countermeasures | |
Wang et al. | Efficient collision attacks on smart card implementations of masked AES | |
EP4113894B1 (en) | Method for performing cryptographic operations in a processing device, corresponding processing device and computer program product | |
Wei et al. | An effective differential fault analysis on the Serpent cryptosystem in the Internet of Things | |
Zhang et al. | Design principles for trusted platform modules protected with power analysis |
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: 20180411 Year of fee payment: 4 |
|
FPAY | Annual fee payment |
Payment date: 20190401 Year of fee payment: 5 |