$\require{mediawiki-texvc}$

연합인증

연합인증 가입 기관의 연구자들은 소속기관의 인증정보(ID와 암호)를 이용해 다른 대학, 연구기관, 서비스 공급자의 다양한 온라인 자원과 연구 데이터를 이용할 수 있습니다.

이는 여행자가 자국에서 발행 받은 여권으로 세계 각국을 자유롭게 여행할 수 있는 것과 같습니다.

연합인증으로 이용이 가능한 서비스는 NTIS, DataON, Edison, Kafe, Webinar 등이 있습니다.

한번의 인증절차만으로 연합인증 가입 서비스에 추가 로그인 없이 이용이 가능합니다.

다만, 연합인증을 위해서는 최초 1회만 인증 절차가 필요합니다. (회원이 아닐 경우 회원 가입이 필요합니다.)

연합인증 절차는 다음과 같습니다.

최초이용시에는
ScienceON에 로그인 → 연합인증 서비스 접속 → 로그인 (본인 확인 또는 회원가입) → 서비스 이용

그 이후에는
ScienceON 로그인 → 연합인증 서비스 접속 → 서비스 이용

연합인증을 활용하시면 KISTI가 제공하는 다양한 서비스를 편리하게 이용하실 수 있습니다.

초록
AI-Helper 아이콘AI-Helper

암호화 작업은 많은 연산시간을 요한다. 본 논문에서는 암호화에 수반되는 연산시간을 분석하기 위해 평문의 압축과 가변의 블록 크기, 라운드 횟수의 사용자 설정 및 단계별 작업과정의 선택적 적용 등의 네 가지 원리에 기초해서 AES 구조를 확장하였다. 실험은 C++로 수행하였으며 실험을 통해 최적의 입력 블록 크기를 도출하였다.

Abstract AI-Helper 아이콘AI-Helper

Cryptography is primarily a computationally intensive process. In this paper we expand AES scheme for analysis of computation time with four criteria, first is the compression of plain data, second is the variable size of block, third is the selectable round, fourth is the selective function of whol...

주제어

AI 본문요약
AI-Helper 아이콘 AI-Helper

* AI 자동 식별 결과로 적합하지 않은 문장이 있을 수 있으니, 이용에 유의하시기 바랍니다.

제안 방법

  • 본 논문에서는 AES 암호 알고리즘을 구성하는 알고리즘 단계를 유연하게 선택적으로 적용가능하게 하고, 알고리즘 효율의 최대변수가 되는 데이터 블록과 키 블록의 크기를 가변으로 적용할 수 있도록 하였으며, 라운드 횟수를 사용자 지정한도만큼 반복할 수 있도록 확장하여, 알고리즘의 주요 변수에 대해 실행시간을 벤치마킹함으로써 효율적 구현을 위한 실험도구로 활용할 수 있도록 하였다. Ⅱ장에서는 AES 확장 알고리즘의 작업과정을, Ⅲ장에서는 실험 및 결과를 Ⅳ장에서 결론을 기술하였다.
  • 본 논문에서는 암호화가 진행되는 다양한 목적 시스템의 플랫폼을 고려하여 자료 유형과 크기에 적합한 암호화 변수들인 평문 블록의 크기, 키 크기, 알고리즘 내부의 라운드 횟수 등을 사용자 요구와 실행 자원의 수용범위에 맞게 선택적으로 설정하여 암호화 할 수 있도록 AES 구조를 확장하였다. 실험결과, 진행된 플랫폼에서의 최적의 암호화 계수로 30✕30의 데이터 입력 블록 크기를 찾을 수 있었다.
  • 알고리즘 입력 전단에서 평문 데이터 블록의 크기를 결정하고, 데이터 블록에 대해 사용자 입력 암호화키와 applyKey 작업 과정 진행 결과에 대해 subBytes 작업을 진행한다. 이후, ShiftRows 과정을 n번째 행(n-1번 왼쪽 쉬프트)까지 수행하며, 현재까지의 암호화블록에 대해 키 스케줄에 의해 만들어진 키와 XOR 연산 이후, MixColumns 작업을 진행한다.
  • 암호화 대상 시스템에 맞는 다양한 설계 변수들을 설계자가 선별적으로 선택할 수 있도록 하는 목적함수를 만족시키기 위해 제안 모델에서 확장된 부분은, 입력 블록의 선택적 지정(2✕2(32비트)∼N✕N), 암호화 연산의 선택적 삭제 또는 신규 함수의 적용, 라운드 횟수의 선택적 적용 등이며, 진행과정은 그림 2와 같다.
  • 암호화 연산을 반복 수행하는 라운드는 입력 데이터 블록의 개수만큼 반복 실행되므로 블록의 입력 횟수를 줄여서 결과적으로 총 라운드 수를 줄일 수 있다. 이를 위해 입력 전단의 평문을 압축하여 암호화함으로써 라운드 수를 줄였다. 그림 9에서 압축 소요 시간을 포함하는 암호화 효율에서 압축 후 암호화 시간(AC)이 현격한 효율을 보임을 확인할 수 있다.
  • 확장 모델의 구현은 Intel 2.4Ghz CPU와 2G RAM의 플랫폼에서 Code::Blocks C++로 구현하여 MinGW GCC로 컴파일 하였으며, 실험은 일반 문자조합으로 구성된 단순 텍스트 파일과, 특수문자와 그래프가 추가된 혼합파일 각 20종에 대해 진행하였으며 실험 데이터는 표 1과 같다.
본문요약 정보가 도움이 되었나요?

질의응답

핵심어 질문 논문에서 추출한 답변
AES-Rijndael은 어떻게 암호문을 생성하는가? AES-Rijndael은 대칭 블록 암호화 알고리즘이며 SubBytes, ShiftRow, MixColumns 및 AddRoundKey의 연산을 4행 4열의 바이트 행렬인 128 비트의 데이터 블록(State)으로 분할하여 각 블록에 대해 반복 실행함으로써 암호문을 생성하며 과정은 그림 1과 같다. 암호화 연산은 평문과 최초 비밀 키 사이에 AddRoundKey가 이루어진 다음에, 네 가지 변환들이 순서대로 처음 (n-1)번의 라운드에 대하여 동일하게 반복된다.
AES-Rijndael에서 암호화 연산은 어떻게 수행되는가? AES-Rijndael은 대칭 블록 암호화 알고리즘이며 SubBytes, ShiftRow, MixColumns 및 AddRoundKey의 연산을 4행 4열의 바이트 행렬인 128 비트의 데이터 블록(State)으로 분할하여 각 블록에 대해 반복 실행함으로써 암호문을 생성하며 과정은 그림 1과 같다. 암호화 연산은 평문과 최초 비밀 키 사이에 AddRoundKey가 이루어진 다음에, 네 가지 변환들이 순서대로 처음 (n-1)번의 라운드에 대하여 동일하게 반복된다. AddRoundKey에서는 각 라운드를 위해 생성된 라운드 키를 이용하게 되고 마지막 n번째 라운드에서는 MixColumns가 수행되지 않으며 복호화는 암호화 과정의 역순으로 진행된다[6].
AES의 구현에 있어 까다로운 점은 무엇인가? 블록 암호화 기법인 AES의 경우 구현상의 복잡도는 블록의 크기에 비례하여 커지므로 너무 크게 설정하면 효율성이 떨어지게 되고, 너무 작게 설정하면 여러 유형의 암호 공격으로부터 안전할 수 없게 된다[4-5]. 뿐만 아니라, 암호문의 견고성은 라운드 횟수를 늘리고 입력키를 크게 설정함으로써 향상시킬 수 있다[5].
질의응답 정보가 도움이 되었나요?

저자의 다른 논문 :

관련 콘텐츠

저작권 관리 안내
섹션별 컨텐츠 바로가기

AI-Helper ※ AI-Helper는 오픈소스 모델을 사용합니다.

AI-Helper 아이콘
AI-Helper
안녕하세요, AI-Helper입니다. 좌측 "선택된 텍스트"에서 텍스트를 선택하여 요약, 번역, 용어설명을 실행하세요.
※ AI-Helper는 부적절한 답변을 할 수 있습니다.

선택된 텍스트

맨위로