차분 오류 공격은 부채널 공격 기법 중 하나로 DES, AES, ARIA, SEED 등 대표적인 블록 암호 안전성 분석에 널리 사용되었다. PRESENT는 80/128-비트 비밀키를 사용하는 31-라운드 SPN 구조의 64-비트 블록 암호이다. 기제안된 PRESENT에 대한 차분 오류 공격들은 8~64개의 오류를 주입하여 80/128-비트 비밀키를 복구하였다. 본 논문에서는 이를 개선하여 PRESENT-80에 대해 2개의 오류를 주입하여 평균 1.7개의 비밀키를 남기고, PRESENT-128에 대해 3개의 오류를 주입하여 $2^{22.3}$개의 비밀키 후보를 구한다. 이 후 전수 조사를 통해 비밀키를 유일하게 복구한다. 이 공격은 기제안된 PRESENT의 차분 오류 공격보다 더 적은 수의 오류를 주입하여 효과적으로 비밀키를 복구한다.
본 논문에서는 국내 표준 128비트 블록 암호화 알고리즘인 SEED를 하드웨어로 설계할 경우 면적-성능간의 trade-off 관계를 보여준다. 본 논문에서 다음 4가지 유형의 설계 구조를 비교한다. (1) Design 1 : 16 라운드 완전 파이프라인 방식, (2) Design 2 : 단일 라운드의 반복 사용 방식 (3) Design 3 : G 함수 공유 및 반복 사용 방식 (4) Design 4 : 단일 라운드 내부 파이프라인 방식. (1),(2),(3)의 방식은 기존의 논문들에서 제안한 각기 다른 설계 방식이며 (4)번 설계 방식이 본 논문에서 새롭게 제안한 설계 방식이다. 본 논문에서 새롭게 제안한 방식은, F 함수 내의 G 함수들을 파이프라인 방식으로 연결하여 면적 요구량을 (2)번에 비해서 늘이지 않으면서도 파이프라인과 공유블록 사용의 효과로 성능을 Design 2와 Design 3보다 높인 설계 방식이다. 본 논문에서 4가지 각기 다른 방식을 각각 실제 하드웨어로 설계하고 FPGA로 구현하여 성능 및 면적 요구량을 비교 분석한다. 실험 분석 결과, 본 논문에서 새로 제안한 F 함수 내부 3단 파이프라인 방식이 Design 1 방식을 제외하고 가장 throughput 이 높다. 제안된 Design 4 가 단위 면적당 출력성능(throughput)면에서 다른 모든 설계 방식에 비해서 최대 2.8배 우수하다. 따라서, 새로이 제안된 SEED 설계가 기존의 설계 방식들에 비해서 면적대비 성능이 가장 효율적이라고 할 수 있다.
스트림 암호는 1회용 패드(one time pad)형 암호 알고리즘으로 랜덤한 비트(또는 문자)들의 열을 열쇠로 사용하여 평문과 XOR과 같은 간단한 연산을 통해 암호화하므로 알고리즘의 안전성은 사용되는 열쇠의 난수성에 의존한다. 그러므로 사용되는 열쇠에 대해 주기, 선형복잡도, 비선형도, 상관면역도 등의 수학적 분석을 통해 보다 안전한 암호시스템을 설계할 수 있는 장점이 있다. 스트림 암호에서의 암호화 열쇠는 고유다항식을 가지고 LFSR(linear feedback shift register)에서 열쇠이진 수열을 생성하여 사용한다. 이 고유다항식 중 비도가 가장 우수한 다항식이 바로 원시다항식이다. 원시다항식은 스트림 암호뿐만 아니라 8차 원시 다항식을 사용한 블록암호인 SEED암호, 그리고 24차 원시 다항식을 사용하여 설계한 공개열쇠암호인 CR(Chor-Rivest) 암호 등에서도 널리 이용되고 있다. 본 논문의 주요내용은 이러한 암호알고리즘을 연구하는데 사용되는 갈루아(Galois)체에서의 원시다항식에 대한 개념과 다양한 성질들을 고찰해 보고 소수 p의 값이 2이상인 경우 $F_p$에서의 기약다항식과 원시다항식의 개수를 구하는 정리를 증명해 보았다. 이러한 연구는 보다 비도가 높은 원시다항식을 찾아 새로운 암호알고리즘을 개발하는 기반 연구가 될 수 있다.
본 논문에서는 국내 표준 128비트 블록 암호화 알고리즘인 SEED를 소형 내장형(8-bit/ 16-bit) 시스템에 탑재하도록 저가의 FPGA로 구현하는 방법을 제안한다. 대부분 8-bit 또는 16-bit의 소규모 내장형 시스템들의 프로세서들은 그 저장용량과 처리속도의 한계 때문에 상대적으로 계산양이 많아 부담이 되는 암호화 과정은 별도의 하드웨어 처리기를 필요로 한다. SEED 회로가 다른 논리 블록들과 함께 하나의 칩에 집적되기 위해서는 적정한 성능을 유지하면서도 면적 요구량이 최소화되는 설계가 되어야 한다. 그러나, 표준안 사양의 구조대로 그대로 구현할 경우 저가의 FPGA에 수용하기에는 면적 요구량이 지나치게 커지게 되는 문제점이 있다. 따라서, 본 논문에서는 면적이 큰 연산 모듈의 공유를 최대화하고 최근 시판되는 FPGA 칩의 특성들을 설계에 반영하여 저가의 FPGA 하나로 SEED와 주변 회로들을 구현할 수 있도록 설계하였다. 본 논문의 설계는 Xilinx 사의 저가 칩인 Spartan-II 계열의 XC2S100 시리즈 칩을 대상으로 구현하였을 때, 65%의 면적을 차지하면서 66Mpbs 이상의 throughput을 내는 결과를 얻었다. 이러한 성능은 작은 면적을 사용하면서도 목표로 하는 소형 내장형 시스템에서 사용하기에 충분한 성능이다.
본 논문에서는 우리나라 128 비트 블록 암호 알고리즘 표준인 SEED와 유사한 구조를 가지는 암호방식에서 최적화한 S 박스와 G 함수를 구성하는 방식을 제안한다. S 박스는 비선형 함수와 아편변환으로 구성한다. 비선형함수는 차분공격과 선형공격에 강한 특성을 가지며, '0'과 '1'을 제외하고 입력과 출력이 같은 고정점과 출력이 입력의 1의 보수가 되는 역고정점을 가지지 않는 GF(2$^{8}$ ) 상의 역수로 구성한다. 아핀변환은 입력과 출력간의 상관을 최저로 하면서 고정점과 역고정점이 없도록 구성한다. G 함수는 4개의 S 박스 출력을 GF(2$_{8}$ ) 상의 4$\times$4 행렬식을 사용하여 확산선형변환한다. G 함수는 MDS(Maximum Distance Separable) 코드를 생성하구 SAC(Strict Avalanche Criterion)를 만족하고, 고정점과 역고정점 및 출력이 입력의 2의 보수가 되는 약한 입력이 없으며, 하드웨어 구현이 용이하도록 구성한다. 본 논문에서 제안한 S 박스와 G 함수는 차분공격과 선형공격에 강하고, 약한 입력이 없으며, 하드웨어 구현이 용이하며, 확산 특성이 우수하므로 안전성이 높은 암호 방식의 구성 요소로 활용할 수 있다.
본 논문에서는 국내 표준 128비트 블록 암호화 알고리즘인 SEED와 UART를 통합하여 최저가의 FPGA로 구현하는 방법을 제안한다. 논문[11베서 구현한 면적 요구량이 최소로 구현된 SEED암호화 모듈의 유용성을 실제 내장형 시스템에 적응하여 그 실효성을 보여주는 것이 본 논문의 목적이다. 우리가 구현한 회로는 SEED 를 통해 암호화를 한 후 UART를 이용하여 외부와의 통신할 수도 있고, SEED를 건너뛰고 UART 단독만 이웅하여 외부와 통신을 할 수도 있다. 또한, SEED 자체를 coprocessor로 이용하여 암호화/복호화 가능만 사용할 수도 있도록 설계하였다. 구현 결과, 10만 게이트를 갖는 Xilinx사의 Spartan-ll 계열의 xc2s100시리 즈 칩을 사용하였을 때, SEED와 UART와 주변 논리 회로를 합하여 84% 이하의 면적을 차지 하였고, 최대 41.3Mhz클럭에서 동작하였으며, SEED의 암호화 처리 Througput은 54.SSMbps로서 UART를 이용하여 통신하는데 전혀 문제가 없었다.
Kim, Hee-Seok;Cho, Young-In;Choi, Doo-Ho;Han, Dong-Guk;Hong, Seok-Hie
ETRI Journal
/
제33권2호
/
pp.267-274
/
2011
This paper proposes an efficient masking method for the block cipher SEED that is standardized in Korea. The nonlinear parts of SEED consist of two S-boxes and modular additions. However, the masked version of these nonlinear parts requires excessive RAM usage and a large number of operations. Protecting SEED by the general masking method requires 512 bytes of RAM corresponding to masked S-boxes and a large number of operations corresponding to the masked addition. This paper proposes a new-style masked S-box which can reduce the amount of operations of the masking addition process as well as the RAM usage. The proposed masked SEED, equipped with the new-style masked S-box, reduces the RAM requirements to 288 bytes, and it also reduces the processing time by 38% compared with the masked SEED using the general masked S-box. The proposed method also applies to other block ciphers with the same nonlinear operations.
본 논문에서는 128-bit 블록암호인 SEED 알고리즘을 하드웨어로 구현하는데 있어서 면적을 줄이고 연산속도를 증가시키는 회로구조에 대하여 논하였고 설계결과를 기술하였다. 연산속도를 증가시키기 위해 Pipelined systolic array 구조를 사용하였으며, 입출력 회로에 어떤 버퍼도 사용하지 않는 간단한 구조이다. 이 회로는 10 MHz 클럭을 사용하여 최대 320 Mbps의 암호화 속도를 달성할 수 있다. 회로설계의 목표를 고속 암호화와 회로구조의 단순화에 두었다.
본 논문에서는 $GF({2^n})$상 곱셈의 복잡도와 규칙도를 GF(2)상의 다항식 곱셈을 표현하는 행렬식의 행과 열의 해밍 가중치를 이용하여 정의한다 차분공격에 강한 블록 암호 알고리즘을 만들기 위해서는 치환계층과 확산계층의 $GF({2^n})$상 곱셈의 복잡도와 규칙도가 높아야함을 실험을 통하여 보인다. 실험 결과를 활용하여 우리나라 표준인 128 비트 블록 암호 알고리즘인 SEED의 S 박스와 G 함수를 구성하는 방식을 제안한다. S 박스는 비 선형함수와 아핀변환으로 구성한다. 비 선형함수는 차분공격과 선형공격에 강한 특성을 가지며, '0'과 '1'을 제외하고 입력과 출력이 같은 고정점과 출력이 입력의 1의 보수가 되는 역고정점을 가지지 않는 $GF({2^8})$ 상의 역수로 구성한다. 아핀변환은 입력과 출력간의 상관을 최저로 하면서 고정점과 역고정점이 없도록 구성한다. G 함수는 4개의 S 박스 출력을 $GF({2^8}) 상의 4 {\times} 4$ 행렬식을 사용하여 선형변환한다. 선형변환 행렬식 성분은 높은 복잡도와 규칙도를 가지도록 구성한다 또한 MDS(Maximum Distance Separable) 코드를 생성하고, SAC(Strict Avalanche Criterion)를 만족하고, 고정점과 역고정점 및 출력이 입력의 2의 보수가 되는 약한 입력이 없도록 G 함수를 구성한다. 비선형함수와 아핀변환 및 G 함수의 원시다항식은 각기 다른 것을 사용한다. 본 논문에서 제안한 S 박스와 G 함수는 차분공격과 선형공격에 강하고, 약한 입력이 없으며, 확산 특성이 우수하므로 안전성이 높은 암호 방식의 구성 요소로 활용할 수 있다.
정보보호 평가는 크게 시스템 평가인 CC(Common Criteria)평가와 암호모듈 평가인 CMVP(Cryptographic Module Validation Program)평가로 나눌 수 있다. 본 논문은 국내 표준 암호 알고리즘 SEED를 북미의 CMVP의 3가지 블록 알고리즘 시험방법인 KAT(Known Answer Test), MCT(Monte C미개 Test), MMT(Multi-block Message Test)를 JAVA환경에 적용하여 시범 구현하였다. 테스트 방법으로 CMVP의 MOVS, TMOVS, AESAVS를 선정하여 FIPS 표준을 적용하였다. 구현 환경으로는 JCE기반의 Cryptix를 채택하여 CMVP의 블록 암호 알고리즘 테스트 시스템 중 일부를 구현하였다.
본 웹사이트에 게시된 이메일 주소가 전자우편 수집 프로그램이나
그 밖의 기술적 장치를 이용하여 무단으로 수집되는 것을 거부하며,
이를 위반시 정보통신망법에 의해 형사 처벌됨을 유념하시기 바랍니다.
[게시일 2004년 10월 1일]
이용약관
제 1 장 총칙
제 1 조 (목적)
이 이용약관은 KoreaScience 홈페이지(이하 “당 사이트”)에서 제공하는 인터넷 서비스(이하 '서비스')의 가입조건 및 이용에 관한 제반 사항과 기타 필요한 사항을 구체적으로 규정함을 목적으로 합니다.
제 2 조 (용어의 정의)
① "이용자"라 함은 당 사이트에 접속하여 이 약관에 따라 당 사이트가 제공하는 서비스를 받는 회원 및 비회원을
말합니다.
② "회원"이라 함은 서비스를 이용하기 위하여 당 사이트에 개인정보를 제공하여 아이디(ID)와 비밀번호를 부여
받은 자를 말합니다.
③ "회원 아이디(ID)"라 함은 회원의 식별 및 서비스 이용을 위하여 자신이 선정한 문자 및 숫자의 조합을
말합니다.
④ "비밀번호(패스워드)"라 함은 회원이 자신의 비밀보호를 위하여 선정한 문자 및 숫자의 조합을 말합니다.
제 3 조 (이용약관의 효력 및 변경)
① 이 약관은 당 사이트에 게시하거나 기타의 방법으로 회원에게 공지함으로써 효력이 발생합니다.
② 당 사이트는 이 약관을 개정할 경우에 적용일자 및 개정사유를 명시하여 현행 약관과 함께 당 사이트의
초기화면에 그 적용일자 7일 이전부터 적용일자 전일까지 공지합니다. 다만, 회원에게 불리하게 약관내용을
변경하는 경우에는 최소한 30일 이상의 사전 유예기간을 두고 공지합니다. 이 경우 당 사이트는 개정 전
내용과 개정 후 내용을 명확하게 비교하여 이용자가 알기 쉽도록 표시합니다.
제 4 조(약관 외 준칙)
① 이 약관은 당 사이트가 제공하는 서비스에 관한 이용안내와 함께 적용됩니다.
② 이 약관에 명시되지 아니한 사항은 관계법령의 규정이 적용됩니다.
제 2 장 이용계약의 체결
제 5 조 (이용계약의 성립 등)
① 이용계약은 이용고객이 당 사이트가 정한 약관에 「동의합니다」를 선택하고, 당 사이트가 정한
온라인신청양식을 작성하여 서비스 이용을 신청한 후, 당 사이트가 이를 승낙함으로써 성립합니다.
② 제1항의 승낙은 당 사이트가 제공하는 과학기술정보검색, 맞춤정보, 서지정보 등 다른 서비스의 이용승낙을
포함합니다.
제 6 조 (회원가입)
서비스를 이용하고자 하는 고객은 당 사이트에서 정한 회원가입양식에 개인정보를 기재하여 가입을 하여야 합니다.
제 7 조 (개인정보의 보호 및 사용)
당 사이트는 관계법령이 정하는 바에 따라 회원 등록정보를 포함한 회원의 개인정보를 보호하기 위해 노력합니다. 회원 개인정보의 보호 및 사용에 대해서는 관련법령 및 당 사이트의 개인정보 보호정책이 적용됩니다.
제 8 조 (이용 신청의 승낙과 제한)
① 당 사이트는 제6조의 규정에 의한 이용신청고객에 대하여 서비스 이용을 승낙합니다.
② 당 사이트는 아래사항에 해당하는 경우에 대해서 승낙하지 아니 합니다.
- 이용계약 신청서의 내용을 허위로 기재한 경우
- 기타 규정한 제반사항을 위반하며 신청하는 경우
제 9 조 (회원 ID 부여 및 변경 등)
① 당 사이트는 이용고객에 대하여 약관에 정하는 바에 따라 자신이 선정한 회원 ID를 부여합니다.
② 회원 ID는 원칙적으로 변경이 불가하며 부득이한 사유로 인하여 변경 하고자 하는 경우에는 해당 ID를
해지하고 재가입해야 합니다.
③ 기타 회원 개인정보 관리 및 변경 등에 관한 사항은 서비스별 안내에 정하는 바에 의합니다.
제 3 장 계약 당사자의 의무
제 10 조 (KISTI의 의무)
① 당 사이트는 이용고객이 희망한 서비스 제공 개시일에 특별한 사정이 없는 한 서비스를 이용할 수 있도록
하여야 합니다.
② 당 사이트는 개인정보 보호를 위해 보안시스템을 구축하며 개인정보 보호정책을 공시하고 준수합니다.
③ 당 사이트는 회원으로부터 제기되는 의견이나 불만이 정당하다고 객관적으로 인정될 경우에는 적절한 절차를
거쳐 즉시 처리하여야 합니다. 다만, 즉시 처리가 곤란한 경우는 회원에게 그 사유와 처리일정을 통보하여야
합니다.
제 11 조 (회원의 의무)
① 이용자는 회원가입 신청 또는 회원정보 변경 시 실명으로 모든 사항을 사실에 근거하여 작성하여야 하며,
허위 또는 타인의 정보를 등록할 경우 일체의 권리를 주장할 수 없습니다.
② 당 사이트가 관계법령 및 개인정보 보호정책에 의거하여 그 책임을 지는 경우를 제외하고 회원에게 부여된
ID의 비밀번호 관리소홀, 부정사용에 의하여 발생하는 모든 결과에 대한 책임은 회원에게 있습니다.
③ 회원은 당 사이트 및 제 3자의 지적 재산권을 침해해서는 안 됩니다.
제 4 장 서비스의 이용
제 12 조 (서비스 이용 시간)
① 서비스 이용은 당 사이트의 업무상 또는 기술상 특별한 지장이 없는 한 연중무휴, 1일 24시간 운영을
원칙으로 합니다. 단, 당 사이트는 시스템 정기점검, 증설 및 교체를 위해 당 사이트가 정한 날이나 시간에
서비스를 일시 중단할 수 있으며, 예정되어 있는 작업으로 인한 서비스 일시중단은 당 사이트 홈페이지를
통해 사전에 공지합니다.
② 당 사이트는 서비스를 특정범위로 분할하여 각 범위별로 이용가능시간을 별도로 지정할 수 있습니다. 다만
이 경우 그 내용을 공지합니다.
제 13 조 (홈페이지 저작권)
① NDSL에서 제공하는 모든 저작물의 저작권은 원저작자에게 있으며, KISTI는 복제/배포/전송권을 확보하고
있습니다.
② NDSL에서 제공하는 콘텐츠를 상업적 및 기타 영리목적으로 복제/배포/전송할 경우 사전에 KISTI의 허락을
받아야 합니다.
③ NDSL에서 제공하는 콘텐츠를 보도, 비평, 교육, 연구 등을 위하여 정당한 범위 안에서 공정한 관행에
합치되게 인용할 수 있습니다.
④ NDSL에서 제공하는 콘텐츠를 무단 복제, 전송, 배포 기타 저작권법에 위반되는 방법으로 이용할 경우
저작권법 제136조에 따라 5년 이하의 징역 또는 5천만 원 이하의 벌금에 처해질 수 있습니다.
제 14 조 (유료서비스)
① 당 사이트 및 협력기관이 정한 유료서비스(원문복사 등)는 별도로 정해진 바에 따르며, 변경사항은 시행 전에
당 사이트 홈페이지를 통하여 회원에게 공지합니다.
② 유료서비스를 이용하려는 회원은 정해진 요금체계에 따라 요금을 납부해야 합니다.
제 5 장 계약 해지 및 이용 제한
제 15 조 (계약 해지)
회원이 이용계약을 해지하고자 하는 때에는 [가입해지] 메뉴를 이용해 직접 해지해야 합니다.
제 16 조 (서비스 이용제한)
① 당 사이트는 회원이 서비스 이용내용에 있어서 본 약관 제 11조 내용을 위반하거나, 다음 각 호에 해당하는
경우 서비스 이용을 제한할 수 있습니다.
- 2년 이상 서비스를 이용한 적이 없는 경우
- 기타 정상적인 서비스 운영에 방해가 될 경우
② 상기 이용제한 규정에 따라 서비스를 이용하는 회원에게 서비스 이용에 대하여 별도 공지 없이 서비스 이용의
일시정지, 이용계약 해지 할 수 있습니다.
제 17 조 (전자우편주소 수집 금지)
회원은 전자우편주소 추출기 등을 이용하여 전자우편주소를 수집 또는 제3자에게 제공할 수 없습니다.
제 6 장 손해배상 및 기타사항
제 18 조 (손해배상)
당 사이트는 무료로 제공되는 서비스와 관련하여 회원에게 어떠한 손해가 발생하더라도 당 사이트가 고의 또는 과실로 인한 손해발생을 제외하고는 이에 대하여 책임을 부담하지 아니합니다.
제 19 조 (관할 법원)
서비스 이용으로 발생한 분쟁에 대해 소송이 제기되는 경우 민사 소송법상의 관할 법원에 제기합니다.
[부 칙]
1. (시행일) 이 약관은 2016년 9월 5일부터 적용되며, 종전 약관은 본 약관으로 대체되며, 개정된 약관의 적용일 이전 가입자도 개정된 약관의 적용을 받습니다.