KR102117758B1 - 전력 플랫폼 서버 환경상에서의 경량 암호 고속화 연산 처리 방법 - Google Patents

전력 플랫폼 서버 환경상에서의 경량 암호 고속화 연산 처리 방법 Download PDF

Info

Publication number
KR102117758B1
KR102117758B1 KR1020180084285A KR20180084285A KR102117758B1 KR 102117758 B1 KR102117758 B1 KR 102117758B1 KR 1020180084285 A KR1020180084285 A KR 1020180084285A KR 20180084285 A KR20180084285 A KR 20180084285A KR 102117758 B1 KR102117758 B1 KR 102117758B1
Authority
KR
South Korea
Prior art keywords
data
size
block
processing
data block
Prior art date
Application number
KR1020180084285A
Other languages
English (en)
Other versions
KR20200009649A (ko
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 KR1020180084285A priority Critical patent/KR102117758B1/ko
Publication of KR20200009649A publication Critical patent/KR20200009649A/ko
Application granted granted Critical
Publication of KR102117758B1 publication Critical patent/KR102117758B1/ko

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/06Cryptographic mechanisms or cryptographic arrangements for secret or secure communications; Network security protocols the encryption apparatus using shift registers or memories for block-wise or stream coding, e.g. DES systems or RC4; Hash functions; Pseudorandom sequence generators
    • H04L9/0618Block ciphers, i.e. encrypting groups of characters of a plain text message using fixed encryption transformation
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L2209/00Additional information or applications relating to cryptographic mechanisms or cryptographic arrangements for secret or secure communication H04L9/00
    • H04L2209/04Masking or blinding
    • H04L2209/046Masking or blinding of operations, operands or results of the operations
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L2209/00Additional information or applications relating to cryptographic mechanisms or cryptographic arrangements for secret or secure communication H04L9/00
    • H04L2209/20Manipulating the length of blocks of bits, e.g. padding or block truncation

Landscapes

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

Abstract

본 발명은 경량 암호 고속화 연산 처리 방법에 관한 것입니다.
구체적으로, 경량 암호 고속화 연산 처리 방법은 서버 환경 상에서의 고속 병렬 처리 기능에 기인하여, 대용량의 데이터에 대한 암호화 및 복호화 연산을 할 수 있다. 또한, 시간에 따른 데이터의 크기 변화에 맞춘 최적의 암호화 및 복호화 연산을 수행함으로써, 데이터의 크기 변화에도 고속의 암호화 및 복호화 연산을 처리할 수 있다.

Description

전력 플랫폼 서버 환경상에서의 경량 암호 고속화 연산 처리 방법{Lightweight Cryptographic Accelerated Operation Processing Method In Power Platform Server EnvironmentEnvironment}
아래의 설명은 전력 플랫폼 서버 환경상에서의 경량 암호 고속화 연산 처리 방법에 관한 것으로, 구체적으로는 응용 서비스에서 사용되는 서버 환경 상에서의 대용량의 데이터에 대한 암호화 및 복호화를 위한 연산이 필요하며, 시간에 따라 수집되는 대용량의 데이터의 양이 변화함에 따른 효율적인 암호화 및 복호화를 위한 연산이 필요함으로써, 서버 환경상에서의 효율적인 경량 암호를 연산할 수 있는 경량 암호 고속화 연산 처리 방법에 관한 것이다.
서버 환경은 최근 기술 발전으로 고성능의 프로세서를 장착하며, 대용량 데이터에 대한 효율적인 연산 처리를 위한 고속 병렬 처리 기능을 사용한다.
하지만, 암호화된 대용량의 데이터에 대한 고속화 처리 적용의 어려움과 시간 변화에 따라 응용 서비스를 위한 말단 디바이스 혹은 센서 등에서 받는 데이터의 양이 변화함에 따라 효율적인 암/복호화 연산이 필요한 상황이다. 또한, 대부분의 서버 환경 상에서의 암/복호화 기능에 있어서 이러한 효율성과 서비스 가용성 측면을 고려하지 않는다는 단점을 가지고 있다.
따라서, 서버 환경에서 시간 변화에 따른 대용량 데이터에 대한 암/복호화 기능의 고속화를 기반으로 서비스 가용성 측면에서의 로드 밸런싱(Load-Balancing) 기반의 암/복호화 연산 효율성과 보안성을 동시에 제공할 수 있는 처리 수단 및 방법이 요구된다.
본 발명은 서버 환경 상에서의 고속 병렬화 처리를 수행하기 위해 기인되어 대용량의 데이터에 대한 암호화 및 복호화를 연산함으로써, 대용량의 데이터에 대한 효율적인 암호화 및 복호화를 연산할 수 있게 하는 것을 목적으로 한다.
본 발명은 대용량의 데이터에 대한 암호화 및 복호화의 고속 연산 기능과 연동하고, 시간에 따른 데이터의 변화에 적응적으로 최적의 암호화 및 복호화를 연산함으로써, 대용량의 데이터의 크기가 변하더라도 고속으로 암호화 및 복호화를 연산하는 것을 목적으로 한다.
일실시예에 따른 경량 암호 고속화 연산 처리 서버가 수행하는 경량 암호 고속화 연산 처리 방법은 네트워크를 통해 데이터를 수신하는 단계; 상기 데이터의 크기 및 상기 데이터를 암호화 또는, 복호화하기 위한 블록 암호 유형에 따른 데이터 블록의 크기를 이용하여 데이터에 대한 연산 수행 횟수를 설정하는 단계; 및 상기 설정된 데이터에 대한 연산 수행 횟수를 대응하여 데이터 블록별 데이터를 암호화 또는, 복호화하는 단계를 포함할 수 있다.
일실시예에 따른 연산 수행 횟수를 설정하는 단계는 블록 암호 유형에 따른 데이터 블록의 크기의 우선 순위에 따라 데이터를 연속적으로 할당하여, 데이터 블록별로 데이터에 대한 연산 수행 횟수를 설정할 수 있다.
일실시예에 따른 연산 수행 횟수를 설정하는 단계는 블록 암호 유형에 따른 데이터 블록의 크기 중에서 처리 용량이 가장 큰 데이터 블록의 크기에 데이터를 우선적으로 할당한 후, 차순위에 처리 용량을 갖는 데이터 블록의 크기에 순차적으로 데이터를 할당할 수 있다.
일실시예에 따른 연산 수행 횟수를 설정하는 단계는 데이터의 크기를 기준으로 데이터 블록의 크기별로 연산을 수행하여, 연산한 결과로 나타나는 몫을 데이터 블록의 크기의 연산 수행 횟수로 설정하고, 연산한 결과로 나타나는 나머지를 차순위에 해당하는 데이터 블록의 크기와 연산을 수행하기 위한 데이터의 크기로 설정될 수 있다.
일실시예에 따른 연산 수행 횟수를 설정하는 단계는 데이터 블록의 크기 중에서 처리 용량이 가장 큰 데이터 블록의 크기에 대응하는 연산 수행 횟수부터 처리 용량이 가장 작은 데이터 블록의 크기에 대응하는 연산 수행 횟수까지 각 데이터 블록의 크기별 연산 수행 횟수를 설정할 수 있다.
일실시예에 따른 데이터 블록의 크기는 블록 암호 유형별로 데이터를 처리하기 위해 사용되는 평문/암호문의 블록 크기(bit) 및 마스터 키의 블록 크기(bit)를 포함할 수 있다.
일실시예에 따른 경량 암호 고속화 연산 처리 방법은 연산 수행 횟수를 수행한 이후에, 연산한 결과로 나타난 나머지에 해당하는 데이터의 크기와 데이터 블록의 크기 중에서 처리 용량이 가장 작은 데이터 블록의 크기를 비교하는 단계; 나머지에 해당하는 데이터의 크기가 처리 용량이 가장 작은 데이터 블록의 크기보다 작은 경우, 처리 용량이 가장 작은 데이터 블록에 블록 패딩 연산(Block Padding Operating)을 수행하는 단계; 및 블록 패딩 연산이 수행된 데이터 블록의 크기에 관한 연산 수행 횟수를 증가시키는 단계를 더 포함할 수 있다.
일실시예에 따른 암호화 또는, 복호화하는 단계는 블록 암호 유형에 따른 데이터 블록별 계산된 연산 수행 횟수를 대응하여 데이터를 병렬적으로 암호화 또는, 복호화할 수 있다.
일실시예에 따른 경량 암호 고속화 연산 처리 서버에 있어서, 프로세서를 포함하고, 프로세서는, 네트워크를 통해 연결된 사용자 단말로부터 데이터를 수신하고, 상기 데이터의 크기 및 상기 데이터를 암호화 또는, 복호화하기 위한 블록 암호 유형에 따른 데이터 블록의 크기를 이용하여 데이터에 대한 연산 수행 횟수를 설정하고, 상기 연산 수행 횟수를 설정하는 과정에서 발생된 나머지에 해당하는 데이터의 크기와 데이터 블록의 크기 중에서 처리 용량이 가장 작은 데이터 블록의 크기를 비교하고, 상기 나머지에 해당하는 데이터의 크기가 처리 용량이 가장 작은 데이터 블록의 크기보다 작은 경우, 처리 용량이 가장 작은 데이터 블록에 블록 패딩 연산을 수행하고, 상기 블록 패딩 연산이 수행된 데이터 블록의 크기에 관한 연산 수행 횟수를 증가시키고, 상기 설정된 데이터에 대한 연산 수행 횟수를 대응하여 데이터 블록별 데이터를 암호화 또는, 복호화할 수 있다.
일실시예에 따른 프로세서는 블록 암호 유형에 따른 데이터 블록의 크기의 우선 순위에 따라 상기 데이터를 연속적으로 할당하여, 데이터 블록별로 데이터에 대한 연산 수행 횟수를 설정할 수 있다.
본 발명은 서버 환경의 고속 병렬 기능을 기반으로 경량 암호에 대한 고속화 연산 처리를 수행함으로써, 대용량의 데이터에 대한 암/복호화를 원활하게 수행할 수 있다.
본 발명은 서버 환경에서 현재 처리하고자 하는 데이터의 크기를 고려하여, 다양한 데이터의 크기에 대한 암호화 및 복호화를 고속 병렬화 연산의 조합을 구성함으로써, 데이터의 크기의 변화에 따른 효율적이고 고성능의 암호화 및 복호화를 연산할 수 있다.
본 발명은 대용량의 데이터에 대한 고속화 연산 처리를 수행함으로써, 암호화 및 복호화를 통한 높은 보안성 및 가용성을 제공할 수 있다.
도 1은 일실시예에 따른 서버 환경 상에서의 데이터에 대한 암호화 및 복호화를 수행하는 경량 암호 고속화 연산 처리 서버의 전반적인 구성을 나타내는 도면이다.
도 2는 일실시예에 따른 블록 암호 유형에 따른 데이터 블록의 크기를 기반으로 데이터 블록별로 데이터에 대한 연산 수행 횟수를 설정하는 구성을 설명하기 위한 도면이다.
도 3은 일실시예에 따른 경량 암호 고속화 연산 처리 서버가 수행하는 경량 암호 고속화 연산 처리 방법을 설명하기 위한 흐름도이다.
이하에서, 첨부된 도면을 참조하여 실시예들을 상세하게 설명한다. 그러나, 실시예들에는 다양한 변경이 가해질 수 있어서 특허출원의 권리 범위가 이러한 실시예들에 의해 제한되거나 한정되는 것은 아니다. 실시예들에 대한 모든 변경, 균등물 내지 대체물이 권리 범위에 포함되는 것으로 이해되어야 한다.
실시예에서 사용한 용어는 단지 설명을 목적으로 사용된 것으로, 한정하려는 의도로 해석되어서는 안된다. 단수의 표현은 문맥상 명백하게 다르게 뜻하지 않는 한, 복수의 표현을 포함한다. 본 명세서에서, "포함하다" 또는 "가지다" 등의 용어는 명세서 상에 기재된 특징, 숫자, 단계, 동작, 구성요소, 부품 또는 이들을 조합한 것이 존재함을 지정하려는 것이지, 하나 또는 그 이상의 다른 특징들이나 숫자, 단계, 동작, 구성요소, 부품 또는 이들을 조합한 것들의 존재 또는 부가 가능성을 미리 배제하지 않는 것으로 이해되어야 한다.
다르게 정의되지 않는 한, 기술적이거나 과학적인 용어를 포함해서 여기서 사용되는 모든 용어들은 실시예가 속하는 기술 분야에서 통상의 지식을 가진 자에 의해 일반적으로 이해되는 것과 동일한 의미를 가지고 있다. 일반적으로 사용되는 사전에 정의되어 있는 것과 같은 용어들은 관련 기술의 문맥 상 가지는 의미와 일치하는 의미를 가지는 것으로 해석되어야 하며, 본 출원에서 명백하게 정의하지 않는 한, 이상적이거나 과도하게 형식적인 의미로 해석되지 않는다.
또한, 첨부 도면을 참조하여 설명함에 있어, 도면 부호에 관계없이 동일한 구성 요소는 동일한 참조부호를 부여하고 이에 대한 중복되는 설명은 생략하기로 한다. 실시예를 설명함에 있어서 관련된 공지 기술에 대한 구체적인 설명이 실시예의 요지를 불필요하게 흐릴 수 있다고 판단되는 경우 그 상세한 설명을 생략한다.
도 1은 일실시예에 따른 서버 환경 상에서의 데이터에 대한 암호화 및 복호화를 수행하는 경량 암호 고속화 연산 처리 서버의 전반적인 구성을 나타내는 도면이다.
도 1을 참고하면, 경량 암호 고속화 연산 처리 서버(101)는 응용 서비스에서 사용되는 서버 환경 상에서 대용량의 데이터에 대한 암호화 및 복호화를 수행할 수 있다. 이때, 경량 암호 고속화 연산 처리 서버(101)는 시간에 따라 변화하는 데이터의 크기를 고려하여 데이터의 크기에 따라 적응적으로 효율적인 암호화 및 복호화를 수행할 수 있다. 경량 암호 고속화 연산 처리 서버(101)는 경량 암호를 대한 고속 연산을 수행하며, 데이터를 병렬적으로 처리할 수 있다. 여기서, 경량 암호 고속화 연산 처리 서버(101)는 프로세서를 포함하며, 프로세서를 통해 대용량의 데이터에 관한 고속 병렬화 처리에 따른 암호화 및 복호화를 수행할 수 있다.
보다 구체적으로, 경량 암호 고속화 연산 처리 서버(101)는 네트워크를 통해 사용자 디바이스(102), 서비스 디바이스(103) 및 통신 장비들(미도시)과 데이터를 수신하거나 또는, 송신할 수 있다. 이때, 수신하거나 또는, 송신한 데이터는 사용자 디바이스(102), 서비스 디바이스(103) 및 통신 장비들에서 이미 암호화된 암호문이거나 또는, 암호화를 수행하기 위한 평문일 수 있다.
데이터로 암호문을 수신한 경우, 경량 암호 고속화 연산 처리 서버(101)는 암호문을 복호화 연산을 수행할 수 있는 형태로 변환할 수 있다. 그리고, 데이터로 평문을 수신한 경우, 경량 암호 고속화 연산 처리 서버(101)는 평문을 암호화 연산을 수행할 수 있는 형태로 변환할 수 있다.
경량 암호 고속화 연산 처리 서버(101)는 수신한 데이터의 크기에 따라 효율적으로 암호화-복호화를 수행하기 위하여, 데이터에 대한 연산 수행 횟수를 설정할 수 있다. 상세하게, 경량 암호 고속화 연산 처리 서버(101)는 데이터의 크기 및 데이터를 암호화 또는, 복호화하기 위한 블록 암호 유형에 따른 데이터 블록의 크기를 이용하여 데이터에 대한 연산 수행 횟수를 설정할 수 있다.
경량 암호 고속화 연산 처리 서버(101)는 블록 암호 유형에 따른 데이터 블록의 크기의 우선 순위에 따라 데이터를 연속적으로 할당함으로써, 데이터 블록별로 데이터에 대한 연산 수행 횟수를 설정할 수 있다. 여기서, 데이터 블록은 블록 암호 유형에 따라 지원하는 데이터 처리를 위해 지원하는 단위일 수 있다. 데이터 블록의 크기는, 블록 암호 유형별로 데이터를 처리하기 위해 사용되는 평문/암호문의 블록 크기(bit) 및 마스터 키의 블록 크기(bit)를 포함할 수 있다.
일례로, 블록 암호는 Simeck 경량 암호로, 고속 병렬화 처리를 지원할 수 있다. 블록 암호 유형은 Simeck32/64, Simeck64/128으로 구분될 수 있다. 경량 암호 고속화 연산 처리 서버(101)는 필요에 따라 블록 암호 유형을 적응적으로 설정하여 사용할 수 있다.
경량 암호 고속화 연산 처리 서버(101)는 블록 암호 유형에 따른 데이터 블록의 크기 중에서 처리 용량이 가장 큰 데이터 블록에 데이터를 우선적으로 할당한 후, 차순위에 처리 용량을 갖는 데이터 블록에 순차적으로 데이터를 할당할 수 있다. 자세하게, 경량 암호 고속화 연산 처리 서버(101)는 데이터를 '나눠지는 수', 데이터 블록을 '나누는 수'로 정의하고, 데이터와 데이터 블록에 간 나눗셈 연산을 수행할 수 있다. 이때, 나누는 수에 해당하는 데이터 블록은 처리 용량이 가장 큰 데이터 블록부터 처리 용량이 가장 작은 데이터 블록의 순서로 활용될 수 있다.
경량 암호 고속화 연산 처리 서버(101)는 연산한 결과로 나타나는 몫을 데이터 블록의 크기의 연산 수행 횟수로 설정하고, 연산한 결과로 나타나는 나머지를 차순위에 해당하는 데이터 블록의 크기와 연산을 수행하기 위한 데이터의 크기로 설정함으로써, 우선 순위에 따른 데이터 블록별 최적화된 연산 수행 횟수를 설정할 수 있다.
경량 암호 고속화 연산 처리 서버(101)는 연산 수행 횟수를 수행한 이후에, 연산한 결과로 나타난 나머지에 해당하는 데이터의 크기와 데이터 블록의 크기 중에서 처리 용량이 가장 작은 데이터 블록의 크기를 비교할 수 있다.
나머지에 해당하는 데이터의 크기가 처리 용량이 가장 작은 데이터 블록의 크기보다 작으면, 경량 암호 고속화 연산 처리 서버(101)는 처리 용량이 가장 작은 데이터 블록에 블록 패딩 연산(Block Padding Operating)을 수행할 수 있다.
경량 암호 고속화 연산 처리 서버(101)는 설정된 데이터에 대한 연산 수행 횟수를 대응하여 데이터 블록별 데이터를 암호화 또는, 복호화할 수 있다.
예컨대, 사용자 디바이스(102) 또는 서비스 디바이스(103)로부터 수신하여, 현재 처리할 데이터의 크기가 300 byte이며, 블록 암호 유형에 따른 데이터 블록의 크기가 64byte, 32byte, 24byte, 16byte, 8byte라고 가정할 수 있다.
경량 암호 고속화 연산 처리 서버(101)는 300byte 크기의 데이터를 기준으로 데이터 블록 간에 나눗셈 연산을 수행함으로써, 4회의 64byte 데이터 복호화, 1회의 32byte 데이터 복호화, 1회의 16byte 데이터 복호화를 수행함으로써 대용량의 데이터에 대한 고속화 복호화 기능을 수행 할 수 있다. 여기서, 1회의 16byte 데이터 복호화에서는 12byte 데이터에 대해 16byte 크기로 데이터 패딩 처리 연산(4byte)이 포함된 상태일 수 있다. 이는 다음과 같이 나타낼 수 있다.
300 = (64 byte * 4회) + (32 byte * 1회) + (16 byte (12 byte 데이터+ 4 byte 0 패딩 데이터) * 1회)
즉, 경량 암호 고속화 연산 처리 서버(101)는 6회의 복호화 과정이 수행되며, 사용되는 암호의 종류가 Simeck32/64인 경우, 기존 방식을 사용할 때는 300 byte = 2,400 bit = 32 bit * 75, 즉 75회의 복호화 과정이 수행될 수 있다. 따라서, 본 발명은 데이터의 크기와 블록 암호 유형의 데이터 블록 간 나눗셈 연산에 따른 수행 처리 횟수를 활용해 고속 병렬화 처리를 수행함으로써, 대용량의 데이터에 대한 고속의 암호화 및 복호화 수행이 가능할 수 있다.
다른 일례로, 블록 암호 유형에 따라 지원하는 데이터의 크기가 32 byte 일 경우, 경량 암호 고속화 연산 처리 서버(101)는 한 번에 32 byte 크기의 평문 혹은 암호문 데이터에 대해 암호화 및 복호화 연산을 수행할 수 있다.
결국, 경량 암호 고속화 연산 처리 서버(101)는 암호화 및 복호화 기능을 기반으로 연속으로 다양한 크기를 갖는 데이터를 암호화 및 복호화 연산을 수행함으로써, 암호화 및 복호화를 통한 높은 보안성 및 가용성을 제공할 수 있다.
경량 암호 고속화 연산 처리 서버(101)는 암호화 및 복호화 기능에 따른 최적화 연산을 수행한 결과인 대용량의 데이터에 대해 사용자 디바이스(102), 서비스 디바이스(103) 또는 통신장비들에 전송할 수 있는 형태로 최적화 연산이 수행된 데이터를 처리할 수 있다. 경량 암호 고속화 연산 처리 서버(101)는 최적화 연산을 수행한 결과인 대용량의 데이터를 사용 목적에 적합하도록 데이터를 처리하는 역할을 수행할 수 있다.
(1) 데이터를 송신하는 목적
대용량의 데이터를 송신하는 목적으로 사용되는 경우, 경량 암호 고속화 연산 처리 서버(101)는 대용량의 데이터를 사용 목적에 적합하도록 데이터를 처리할 수 있다. 자세하게, 사용자 디바이스(102)는 서비스 디바이스(103)의 요청에 따른 제어 정보 및 요청 정보를 경량 암호 고속화 연산 처리 서버(101)에 전달할 수 있다.
사용자 디바이스(102)로부터 제어 정보 및 요청 정보를 수신한 경우, 경량 암호 고속화 연산 처리 서버(101)는 전달된 제어 정보 및 요청 정보에 대해 암호화를 수행할 수 있다. 경량 암호 고속화 연산 처리 서버(101)는 암호화된 대용량의 데이터를 사용자 디바이스(102)로 전송할 수 있다.
예컨대, 300 byte의 연산 결과에 대응하는 대용량의 데이터에 대해 데이터를 송신의 경우, 경량 암호 고속화 연산 처리 서버(101)는 사용자 디바이스(102)에서 암호화된 대용량의 데이터를 처리할 수 있는 형태로 변환한 후, 사용자 디바이스(102)로 암호화된 대용량의 데이터를 전달할 수 있다.
(2) 응용 서비스로 활용하는 목적
대용량의 데이터를 응용 서비스에서 사용되는 경우, 경량 암호 고속화 연산 처리 서버(101)는 대용량의 데이터를 사용 목적에 적합하도록 데이터를 처리할 수 있다. 자세하게, 경량 암호 고속화 연산 처리 서버(101)는 사용자 디바이스(102)로부터 암호화된 데이터를 수신하여 복호화를 수행할 수 있다. 경량 암호 고속화 연산 처리 서버(101)는 복호화된 대용량의 데이터를 응용 서비스를 제공하는 서비스 디아비스(103)로 전달할 수 있다. 이때, 경량 암호 고속화 연산 처리 서버(101)는 서비스 디아비스(103)에서 복호화된 대용량의 데이터를 처리할 수 있는 형태로 변환한 후, 서비스 디바이스(103)로 복호화된 대용량의 데이터를 전달할 수 있다.
결국, 본 발명은 서버 환경 상의 고속 병렬 처리 기능을 대용량의 데이터에 대한 암호화 및 복호화 연산에 활용함으로써, 다양한 크기의 대용량 데이터에 대한 고속 암호화 및 복호화 기능을 수행 할 수 있다. 또한, 본 발명은 시간에 따른 데이터 용량 변화에 효율적으로 대응하기 위해 블록 암호 유형별 데이터 블록의 크기에 대한 암호화 및 복호화의 고속 연산 기능과 연동함으로써, 대용량의 데이터에 대한 고속의 암/복호화 수행기능을 통한 보안성 및 효율성을 제공할 수 있다.
또한, 본 발명은 블록 암호 유형에 따른 데이터 블록별 고속의 암/복호화 수행기능을 수행함으로써, 서비스 가용성 측면에서의 로드 밸런싱(Load-Balancing) 기반의 암/복호화 연산 효율성과 보안성을 동시에 제공할 수 있다.
도 2는 일실시예에 따른 블록 암호 유형에 따른 데이터 블록의 크기를 기반으로 데이터 블록별로 데이터에 대한 연산 수행 횟수를 설정하는 구성을 설명하기 위한 도면이다.
경량 암호 고속화 연산 처리 서버(101)는 서버 환경 상에서의 경량 암호에 대한 고속화 연산 처리를 수행할 수 있다. 경량 암호 고속화 연산 처리 서버(101)는 블록 암호 유형별로 지원하는 데이터 블록의 크기 및 종류를 고려하며, 처리해야 하는 데이터의 크기를 기반으로 각 지원 데이터 블록 크기 별 암호화 및 복호화 연산을 위한 최적화된 연산 수행 횟수를 계산할 수 있다.
도 2의 (a)에 도시된 표는 블록 암호 유형 및 블록 암호 유형별 지원하는 데이터 블록의 크기를 나타낼 수 있다. 자세하게, 블록 암호는 Simeck 경량 암호로, 고속 병렬화 처리를 지원하는 암호화 방법이다.
블록 암호 유형은 Simeck32/64, Simeck64/128으로 구분될 수 있으며, 일례로, 블록 암호 유형 'A'는 Simeck32/64이고, 블록 암호 유형 'B'는 Simeck64/128일 수 있다.
블록 암호 유형별로 지원하는 데이터 블록의 크기는 상이할 수 있다. 일례로, 블록 암호 유형 'A'는 Simeck32/64으로, 데이트 블록의 크기는 64bit, 48 bit, 32 bit, 16 bit로 구성될 수 있다. 블록 암호 유형 'B'는 Simeck64/128으로, 데이트 블록의 크기는 32bit, 24 bit, 16 bit, 8 bit로 구성될 수 있다.
본 발명에서 블록 암호 유형은 경량 암호 고속화 연산 처리 서버(101)에서 활용되는 필요 및 목적에 따라 적응적으로 변경될 수 있다. 이는 고속 연산을 위한 경량 암호 고속화 연산 처리 서버(101)에서 지원하는 속도 또는, 사용자 디바이스(102) 및 서비스 디아비스(103)에서 지원하는 속도에 의해 변경될 수 있다.
일례로, 경량 암호 고속화 연산 처리 서버(101)에서 사용하는 블록 암호 유형이 Simeck32/64이고, 16개의 데이터 블록에 대해 암호화를 수행한다고 가정할 때, 경량 암호 고속화 연산 처리 서버(101)는 1회 암호화 수행에 따른 512비트(16*32비트)에 해당하는 평문에 대한 암호화를 수행할 수 있다.
도 2의 (b)에 도시된 표는 도 2의 (a)에 도시된 표에 따라 블록 암호 유형별 지원하는 각각의 데이터 블록의 개수에 따라 암호화 및 병호화를 병렬화 처리를 수행하기 위해 수행 처리 횟수를 계산한 결과일 수 있다.
경량 암호 고속화 연산 처리 서버(101)는 연산 수행 횟수를 수행한 이후에, 연산한 결과로 나타난 나머지에 해당하는 데이터의 크기와 데이터 블록의 크기 중에서 처리 용량이 가장 작은 데이터 블록의 크기를 비교할 수 있다. 처리 용량이 가장 작은 데이터 블록의 크기는 암호 유형별 지원하는 최소의 암호화 및 복호화를 수행하기 위한 데이터 블록의 크기에 대응할 수 있다. 일례로, 블록 암호 유형 'A'에서 처리 용량이 가장 작은 데이터 블록의 크기는 '16bit'에 해당할 수 있다.
나머지에 해당하는 데이터의 크기가 처리 용량이 가장 작은 데이터 블록의 크기보다 작으면, 경량 암호 고속화 연산 처리 서버(101)는 처리 용량이 가장 작은 데이터 블록에 블록 패딩 연산을 수행할 수 있다. 이와 관련하여, 일반적으로 데이터를 블록으로 암호화할 때, 평문에 해당하는 블록의 크기는 64bit 또는, 128bit의 배수로 결정되지 않는다. 즉, 암호화 또는, 복호화를 위해 데이터 블록의 크기로 데이터의 크기를 할당한다고 할 때, 나눗셈 연산이 수행된 마지막에 해당하는 데이터는 처리 용량이 가장 작은 데이터 블록의 크기보다 작은 값을 가지거나, 존재하지 않는 경우가 발생할 수 있다.
여기서, 마지막에 해당하는 데이터가 존재하지 않는 경우에는, 마지막에 해당하는 데이터에 대한 처리를 무시할 수 있다. 반대로, 마지막에 해당하는 데이터가 존재하는 경우에는 블록에 대한 암호화 수행을 위해 가장 작은 데이터 블록의 크기에 기초하여 마지막에 해당하는 데이터에 블록 패딩을 추가해야 한다.
따라서, 경량 암호 고속화 연산 처리 서버(101)는 나머지에 해당하는 데이터의 크기와 데이터 블록의 크기 중에서 처리 용량이 가장 작은 데이터 블록의 크기를 비교함으로써, 암호화 수행을 위한 블록 패딩 연산의 수행 여부를 확인할 수 있다.
나머지에 해당하는 데이터의 크기가 처리 용량이 가장 작은 데이터 블록의 크기보다 작으면, 경량 암호 고속화 연산 처리 서버(101)는 처리 용량이 가장 작은 데이터 블록에 블록 패딩 연산을 수행할 수 있다.
일례로, 데이터의 크기가 300bit 이고, 블록 암호 종류에 따른 데이터 블록의 크기가 64bit - 48bit - 32bit - 16bit라고 가정할 때, 경량 암호 고속화 연산 처리 서버(101)는 우선 순위에 따라 데이터 블록별로 데이터에 대한 연산 수행 횟수를 설정할 수 있다.
연산 과정에서의 경량 암호 고속화 연산 처리 서버(101)는 최종적으로 나머지 데이터로 '12' bit를 도출할 수 있다. 여기서, 나머지 데이터인 '12' bit은 블록 암호 종류의 최소 블록 데이터의 크기인 16bit 보다 작은 크기임에 따라, 경량 암호 고속화 연산 처리 서버(101)는 나머지 데이터인 '12' bit에 '4'bit에 대한 블록 패팅 연산을 수행함으로써, 블록 암호 종류의 최소 블록 데이터의 크기인 16bit에 할당시킬 수 있다.
경량 암호 고속화 연산 처리 서버(101)는 블록 패딩 연산이 수행된 데이터 블록의 크기에 관한 연산 수행 횟수를 증가시킬 수 있다.
경량 암호 고속화 연산 처리 서버(101)는 계산된 데이터 블록의 크기별 최적화된 연산 수행 횟수를 기반으로 블록 암호 유형에 따른 지원 데이터 블록 크기별 대용량 데이터에 대한 암/복호화 연산을 수행할 수 있다. 경량 암호 고속화 연산 처리 서버(101)는 고속화 연산을 통해 블록 크기별 대용량 데이터에 대한 암/복호화 연산을 수행할 수 있다.
도 3은 일실시예에 따른 경량 암호 고속화 연산 처리 서버가 수행하는 경량 암호 고속화 연산 처리 방법을 설명하기 위한 흐름도이다.
단계(301)에서, 경량 암호 고속화 연산 처리 서버는 네트워크를 통해 데이터를 수신할 수 있다. 경량 암호 고속화 연산 처리 서버는 네트워크를 통해 연결된 사용자 디바이스, 서비스 디바이스 및 통신 장비들로부터 대용량의 데이터를 수신하거나 또는 송신할 수 있다.
단계(302)에서, 경량 암호 고속화 연산 처리 서버는 데이터의 크기 및 블록 암호 유형에 따른 데이터 블록의 크기를 이용하여 데이터에 대한 연산 수행 횟수를 설정할 수 있다. 암호 연산 처리 장치는 블록 암호 유형에 따른 데이터 블록의 크기의 우선 순위를 고려하여 데이터 블록별 데이터에 대한 연산 수행 횟수를 설정할 수 있다.
데이터 블록의 크기의 우선 순위는 데이터 블록의 크기 중에서 처리 용량이 가장 큰 데이터 블록의 크기부터 처리 용량이 가장 작은 데이터 블록의 크기까지의 일련의 순서일 수 있다. 일례로, 데이터 블록의 크기가 64bit, 32bit, 16bit, 8bit로 존재한다고 가정할 때, 우선 순위는 데이터 블록의 크기에 따른 처리 용량을 고려한 64bit - 32bit - 16bit - 8bit 같은 일련의 순서로 나타날 수 있다.
경량 암호 고속화 연산 처리 서버는 우선 순위에 따라, 처리 용량이 가장 큰 데이터 블록의 크기에 데이터를 우선적으로 할당한 후, 차순위에 처리 용량을 갖는 데이터 블록의 크기에 순차적으로 데이터를 할당할 수 있다. 즉, 경량 암호 고속화 연산 처리 서버는 64bit에 우선적으로 데이터를 할당하고, 차순위에 해당하는 32bit에 데이터를 할당하는 것으로, 데이터 블록의 크기에 따라 순차적으로 데이터를 각각 할당할 수 있다.
자세하게, 경량 암호 고속화 연산 처리 서버는 데이터 블록의 크기로 데이터의 크기를 나눗셈 연산할 수 있다. 나눗셈 연산에 따른 데이터의 크기를 데이터 블록의 크기로 나눈 몫은 데이터에 대한 나눗셈 연산을 수행한 데이터 블록의 연산 수행 횟수로 설정할 수 있다. 나눗셈 연산에 따른 나머지는 차순위에 해당하는 데이터 블록의 크기와 연산을 수행하기 위한 데이터의 크기로 설정될 수 있다.
일례로, 데이터의 크기는 '나눠지는 수'에 해당하고, 데이터 블록의 크기는 '나누는 수'에 해당할 수 있다. 그리고, 경량 암호 고속화 연산 처리 서버는 데이터의 크기를 데이터 블록의 크기로 나눗셈 연산한 결과에 따른 몫을 연산 수행 횟수로 설정하고, 나머지를 차순위에 해당하는 데이터 블록에 할당되는 데이터의 크기로 설정할 수 있다.
즉, 데이터의 크기가 300bit 이고, 블록 암호 종류에 따른 데이터 블록의 크기가 64bit - 32bit - 16bit - 8bit라고 가정할 때, 경량 암호 고속화 연산 처리 서버는 우선 순위에 따라 64bit부터 '300 / 64' 과 같은 나눗셈 연산을 수행할 수 있다. 수행한 결과로 몫은 '4' 이고, 나머지는 '44'로 연산될 수 있다. 여기서, 몫인 '4'는 64bit에 대한 데이터 블록의 연산 수행 횟수로 결정될 수 있다. 나머지인 '44'는 64bit의 차순위 데이터 블록의 크기에 해당하는 32bit에 대한 연산 수행 횟수를 결정하기 위한 데이터의 크기로 설정될 수 있다.
즉, 경량 암호 고속화 연산 처리 서버는 '44 / 32'와 같은 나눗셈 연산을 수행할 수 있다. 수행한 결과로 몫은 '1' 이고, 나머지는 '12'로 연산될 수 있다. 여기서, 몫인 '1'는 32bit에 대한 데이터 블록의 연산 수행 횟수로 결정될 수 있다. 나머지인 '12'는 32bit의 차순위 데이터 블록의 크기에 해당하는 16bit에 대한 연산 수행 횟수를 결정하기 위한 데이터의 크기로 설정될 수 있다.
단계(303)에서, 경량 암호 고속화 연산 처리 서버는 나머지에 해당하는 데이터의 크기와 데이터 블록의 크기 중에서 처리 용량이 가장 작은 데이터 블록의 크기를 비교할 수 있다.
나머지에 해당하는 데이터의 크기가 처리 용량이 가장 작은 데이터 블록의 크기보다 작으면(Yes), 단계(304)에서, 경량 암호 고속화 연산 처리 서버는 처리 용량이 가장 작은 데이터 블록에 블록 패딩 연산(Block Padding Operating)을 수행할 수 있다. 여기서, 경량 암호 고속화 연산 처리 서버는 데이터를 암호화할 때, 나머지에 해당하는 데이터에 대한 블록 패딩 연산을 수행할 수 있다. 그리고, 경량 암호 고속화 연산 처리 서버는 블록 패딩 연산이 수행된 데이터 블록의 크기에 관한 연산 수행 횟수를 증가시킬 수 있다.
또한, 경량 암호 고속화 연산 처리 서버는 데이터를 복호화할 때에 블록 패딩 연산이 적용된 데이터로부터 추가되었던 패딩을 제거하고, 데이터의 원문 즉, 평문의 실제 크기를 지정할 수 있다.
단계(305)에서, 경량 암호 고속화 연산 처리 서버는 설정된 데이터에 대한 연산 수행 횟수를 대응하여 데이터 블록별 데이터를 암호화 또는, 복호화할 수 있다. 다시 말해, 경량 암호 고속화 연산 처리 서버는 블록 암호 유형에 따른 데이터 블록별 계산된 연산 수행 횟수를 대응하여 데이터를 병렬적으로 암호화 또는, 복호화할 수 있다.
실시예에 따른 방법은 다양한 컴퓨터 수단을 통하여 수행될 수 있는 프로그램 명령 형태로 구현되어 컴퓨터 판독 가능 매체에 기록될 수 있다. 상기 컴퓨터 판독 가능 매체는 프로그램 명령, 데이터 파일, 데이터 구조 등을 단독으로 또는 조합하여 포함할 수 있다. 상기 매체에 기록되는 프로그램 명령은 실시예를 위하여 특별히 설계되고 구성된 것들이거나 컴퓨터 소프트웨어 당업자에게 공지되어 사용 가능한 것일 수도 있다. 컴퓨터 판독 가능 기록 매체의 예에는 하드 디스크, 플로피 디스크 및 자기 테이프와 같은 자기 매체(magnetic media), CD-ROM, DVD와 같은 광기록 매체(optical media), 플롭티컬 디스크(floptical disk)와 같은 자기-광 매체(magneto-optical media), 및 롬(ROM), 램(RAM), 플래시 메모리 등과 같은 프로그램 명령을 저장하고 수행하도록 특별히 구성된 하드웨어 장치가 포함된다. 프로그램 명령의 예에는 컴파일러에 의해 만들어지는 것과 같은 기계어 코드뿐만 아니라 인터프리터 등을 사용해서 컴퓨터에 의해서 실행될 수 있는 고급 언어 코드를 포함한다. 상기된 하드웨어 장치는 실시예의 동작을 수행하기 위해 하나 이상의 소프트웨어 모듈로서 작동하도록 구성될 수 있으며, 그 역도 마찬가지이다.
소프트웨어는 컴퓨터 프로그램(computer program), 코드(code), 명령(instruction), 또는 이들 중 하나 이상의 조합을 포함할 수 있으며, 원하는 대로 동작하도록 처리 장치를 구성하거나 독립적으로 또는 결합적으로(collectively) 처리 장치를 명령할 수 있다. 소프트웨어 및/또는 데이터는, 처리 장치에 의하여 해석되거나 처리 장치에 명령 또는 데이터를 제공하기 위하여, 어떤 유형의 기계, 구성요소(component), 물리적 장치, 가상 장치(virtual equipment), 컴퓨터 저장 매체 또는 장치, 또는 전송되는 신호 파(signal wave)에 영구적으로, 또는 일시적으로 구체화(embody)될 수 있다. 소프트웨어는 네트워크로 연결된 컴퓨터 시스템 상에 분산되어서, 분산된 방법으로 저장되거나 실행될 수도 있다. 소프트웨어 및 데이터는 하나 이상의 컴퓨터 판독 가능 기록 매체에 저장될 수 있다.
이상과 같이 실시예들이 비록 한정된 도면에 의해 설명되었으나, 해당 기술분야에서 통상의 지식을 가진 자라면 상기를 기초로 다양한 기술적 수정 및 변형을 적용할 수 있다. 예를 들어, 설명된 기술들이 설명된 방법과 다른 순서로 수행되거나, 및/또는 설명된 시스템, 구조, 장치, 회로 등의 구성요소들이 설명된 방법과 다른 형태로 결합 또는 조합되거나, 다른 구성요소 또는 균등물에 의하여 대치되거나 치환되더라도 적절한 결과가 달성될 수 있다.
그러므로, 다른 구현들, 다른 실시예들 및 특허청구범위와 균등한 것들도 후술하는 청구범위의 범위에 속한다.
101: 경량 암호 고속화 연산 처리 서버
102: 사용자 디바이스
103: 서비스 디바이스
104: 프로세서

Claims (10)

  1. 경량 암호 고속화 연산 처리 서버가 수행하는 경량 암호 고속화 연산 처리 방법에 있어서,
    네트워크를 통해 데이터를 수신하는 단계;
    상기 데이터의 크기 및 상기 데이터를 암호화 또는, 복호화하기 위한 블록 암호 유형에 따른 데이터 블록의 크기를 이용하여 데이터에 대한 연산 수행 횟수를 설정하는 단계; 및
    상기 설정된 데이터에 대한 연산 수행 횟수를 대응하여 데이터 블록별 데이터를 암호화 또는, 복호화하는 단계
    를 포함하고,
    상기 연산 수행 횟수를 설정하는 단계는,
    상기 블록 암호 유형에 따른 데이터 블록의 크기의 우선 순위에 따라 상기 데이터를 연속적으로 할당하여, 데이터 블록별로 데이터에 대한 연산 수행 횟수를 설정하는 경량 암호 고속화 연산 처리 방법.
  2. 삭제
  3. 경량 암호 고속화 연산 처리 서버가 수행하는 경량 암호 고속화 연산 처리 방법에 있어서,
    네트워크를 통해 데이터를 수신하는 단계;
    상기 데이터의 크기 및 상기 데이터를 암호화 또는, 복호화하기 위한 블록 암호 유형에 따른 데이터 블록의 크기를 이용하여 데이터에 대한 연산 수행 횟수를 설정하는 단계; 및
    상기 설정된 데이터에 대한 연산 수행 횟수를 대응하여 데이터 블록별 데이터를 암호화 또는, 복호화하는 단계
    를 포함하고,
    상기 연산 수행 횟수를 설정하는 단계는,
    상기 블록 암호 유형에 따른 데이터 블록의 크기 중에서 처리 용량이 가장 큰 데이터 블록에 데이터를 우선적으로 할당한 후, 차순위에 처리 용량을 갖는 데이터 블록에 순차적으로 데이터를 할당하는 경량 암호 고속화 연산 처리 방법.
  4. 경량 암호 고속화 연산 처리 서버가 수행하는 경량 암호 고속화 연산 처리 방법에 있어서,
    네트워크를 통해 데이터를 수신하는 단계;
    상기 데이터의 크기 및 상기 데이터를 암호화 또는, 복호화하기 위한 블록 암호 유형에 따른 데이터 블록의 크기를 이용하여 데이터에 대한 연산 수행 횟수를 설정하는 단계; 및
    상기 설정된 데이터에 대한 연산 수행 횟수를 대응하여 데이터 블록별 데이터를 암호화 또는, 복호화하는 단계
    를 포함하고,
    상기 연산 수행 횟수를 설정하는 단계는,
    상기 데이터의 크기를 기준으로 데이터 블록의 크기별로 연산을 수행하여,
    연산한 결과로 나타나는 몫을 데이터 블록의 크기의 연산 수행 횟수로 설정하고,
    연산한 결과로 나타나는 나머지를 차순위에 해당하는 데이터 블록의 크기와 연산을 수행하기 위한 데이터의 크기로 설정되는 경량 암호 고속화 연산 처리 방법.
  5. 경량 암호 고속화 연산 처리 서버가 수행하는 경량 암호 고속화 연산 처리 방법에 있어서,
    네트워크를 통해 데이터를 수신하는 단계;
    상기 데이터의 크기 및 상기 데이터를 암호화 또는, 복호화하기 위한 블록 암호 유형에 따른 데이터 블록의 크기를 이용하여 데이터에 대한 연산 수행 횟수를 설정하는 단계; 및
    상기 설정된 데이터에 대한 연산 수행 횟수를 대응하여 데이터 블록별 데이터를 암호화 또는, 복호화하는 단계
    를 포함하고,
    상기 연산 수행 횟수를 설정하는 단계는,
    데이터 블록의 크기 중에서 처리 용량이 가장 큰 데이터 블록의 크기에 대응하는 연산 수행 횟수부터 처리 용량이 가장 작은 데이터 블록의 크기에 대응하는 연산 수행 횟수까지 각 데이터 블록의 크기별 연산 수행 횟수를 설정하는 경량 암호 고속화 연산 처리 방법.
  6. 경량 암호 고속화 연산 처리 서버가 수행하는 경량 암호 고속화 연산 처리 방법에 있어서,
    네트워크를 통해 데이터를 수신하는 단계;
    상기 데이터의 크기 및 상기 데이터를 암호화 또는, 복호화하기 위한 블록 암호 유형에 따른 데이터 블록의 크기를 이용하여 데이터에 대한 연산 수행 횟수를 설정하는 단계; 및
    상기 설정된 데이터에 대한 연산 수행 횟수를 대응하여 데이터 블록별 데이터를 암호화 또는, 복호화하는 단계
    를 포함하,
    상기 데이터 블록의 크기는,
    블록 암호 유형별로 데이터를 처리하기 위해 사용되는 평문/암호문의 블록 크기(bit) 및 마스터 키의 블록 크기(bit)를 포함하는 경량 암호 고속화 연산 처리 방법.
  7. 경량 암호 고속화 연산 처리 서버가 수행하는 경량 암호 고속화 연산 처리 방법에 있어서,
    네트워크를 통해 데이터를 수신하는 단계;
    상기 데이터의 크기 및 상기 데이터를 암호화 또는, 복호화하기 위한 블록 암호 유형에 따른 데이터 블록의 크기를 이용하여 데이터에 대한 연산 수행 횟수를 설정하는 단계; 및
    상기 설정된 데이터에 대한 연산 수행 횟수를 대응하여 데이터 블록별 데이터를 암호화 또는, 복호화하는 단계
    를 포함하고,
    연산 수행 횟수를 수행한 이후에,
    상기 연산한 결과로 나타난 나머지에 해당하는 데이터의 크기와 데이터 블록의 크기 중에서 처리 용량이 가장 작은 데이터 블록의 크기를 비교하는 단계;
    상기 나머지에 해당하는 데이터의 크기가 처리 용량이 가장 작은 데이터 블록의 크기보다 작은 경우, 나머지에 해당하는 데이터에 블록 패딩 연산(Block Padding Operating)을 수행하는 단계; 및
    상기 블록 패딩 연산이 수행된 데이터에 대응하여 데이터 블록의 크기에 관한 연산 수행 횟수를 증가시키는 단계
    를 더 포함하는 경량 암호 고속화 연산 처리 방법.
  8. 경량 암호 고속화 연산 처리 서버가 수행하는 경량 암호 고속화 연산 처리 방법에 있어서,
    네트워크를 통해 데이터를 수신하는 단계;
    상기 데이터의 크기 및 상기 데이터를 암호화 또는, 복호화하기 위한 블록 암호 유형에 따른 데이터 블록의 크기를 이용하여 데이터에 대한 연산 수행 횟수를 설정하는 단계; 및
    상기 설정된 데이터에 대한 연산 수행 횟수를 대응하여 데이터 블록별 데이터를 암호화 또는, 복호화하는 단계
    를 포함하고,
    상기 암호화 또는, 복호화하는 단계는,
    상기 블록 암호 유형에 따른 데이터 블록별 계산된 연산 수행 횟수를 대응하여 데이터를 병렬적으로 암호화 또는, 복호화하는 경량 암호 고속화 연산 처리 방법.
  9. 경량 암호 고속화 연산 처리 서버에 있어서,
    프로세서를 포함하고,
    상기 프로세서는,
    네트워크를 통해 연결된 사용자 단말로부터 데이터를 수신하고,
    상기 데이터의 크기 및 상기 데이터를 암호화 또는, 복호화하기 위한 블록 암호 유형에 따른 데이터 블록의 크기를 이용하여 데이터에 대한 연산 수행 횟수를 설정하고,
    상기 연산 수행 횟수를 설정하는 과정에서 발생된 나머지에 해당하는 데이터의 크기와 데이터 블록의 크기 중에서 처리 용량이 가장 작은 데이터 블록의 크기를 비교하고,
    상기 나머지에 해당하는 데이터의 크기가 처리 용량이 가장 작은 데이터 블록의 크기보다 작은 경우, 나머지에 해당하는 데이터에 블록 패딩 연산을 수행하고,
    상기 블록 패딩 연산이 수행된 데이터에 대응하여 데이터 블록의 크기에 관한 연산 수행 횟수를 증가시키고,
    상기 설정된 데이터에 대한 연산 수행 횟수를 대응하여 데이터 블록별 데이터를 암호화 또는, 복호화하고,
    상기 프로세서는,
    상기 블록 암호 유형에 따른 데이터 블록의 크기의 우선 순위에 따라 상기 데이터를 연속적으로 할당하여, 데이터 블록별로 데이터에 대한 연산 수행 횟수를 설정하는 경량 암호 고속화 연산 처리 서버.
  10. 삭제
KR1020180084285A 2018-07-19 2018-07-19 전력 플랫폼 서버 환경상에서의 경량 암호 고속화 연산 처리 방법 KR102117758B1 (ko)

Priority Applications (1)

Application Number Priority Date Filing Date Title
KR1020180084285A KR102117758B1 (ko) 2018-07-19 2018-07-19 전력 플랫폼 서버 환경상에서의 경량 암호 고속화 연산 처리 방법

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
KR1020180084285A KR102117758B1 (ko) 2018-07-19 2018-07-19 전력 플랫폼 서버 환경상에서의 경량 암호 고속화 연산 처리 방법

Publications (2)

Publication Number Publication Date
KR20200009649A KR20200009649A (ko) 2020-01-30
KR102117758B1 true KR102117758B1 (ko) 2020-06-01

Family

ID=69321648

Family Applications (1)

Application Number Title Priority Date Filing Date
KR1020180084285A KR102117758B1 (ko) 2018-07-19 2018-07-19 전력 플랫폼 서버 환경상에서의 경량 암호 고속화 연산 처리 방법

Country Status (1)

Country Link
KR (1) KR102117758B1 (ko)

Citations (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2003304227A (ja) * 2002-04-08 2003-10-24 Matsushita Electric Ind Co Ltd 暗号通信装置、暗号通信方法及び暗号通信システム

Family Cites Families (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
KR101663274B1 (ko) * 2015-01-14 2016-10-07 주식회사 틸론 블록 암호 방식에서 패딩을 수행하는 암호화 장치, 복호화 장치 및 시스템

Patent Citations (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2003304227A (ja) * 2002-04-08 2003-10-24 Matsushita Electric Ind Co Ltd 暗号通信装置、暗号通信方法及び暗号通信システム

Non-Patent Citations (1)

* Cited by examiner, † Cited by third party
Title
논문 1(Gangqiang Yang외3,2015)*

Also Published As

Publication number Publication date
KR20200009649A (ko) 2020-01-30

Similar Documents

Publication Publication Date Title
JP7332300B2 (ja) ハードウェアオフロードを有するアクセラレートされたquicパケット処理のための技術
US9843440B2 (en) Encryptor/decryptor, electronic device including encryptor/decryptor, and method of operating encryptor/decryptor
EP3451574B1 (en) Data receiving device, data transmission system, and key generating device
CN103491573A (zh) 无线接入点的隧道加速
WO1999034548A2 (en) System and method for deriving an appropriate initialization vector for secure communications
KR101305627B1 (ko) 암호 연산 장치 및 메모리 시스템
WO2016088453A1 (ja) 暗号化装置、復号装置、暗号処理システム、暗号化方法、復号方法、暗号化プログラム、及び復号プログラム
US11563566B2 (en) Key splitting
JP2019161557A (ja) 暗号通信装置、暗号通信システム、暗号通信方法及びプログラム
KR20190080299A (ko) 차량 네트워크를 위한 보안 기법 및 그 장치
CN108063760B (zh) 一种分组加密的方法及其系统、分组解密的方法
CN113098675A (zh) 基于多项式完全同态的二进制数据加密系统及方法
KR102117758B1 (ko) 전력 플랫폼 서버 환경상에서의 경량 암호 고속화 연산 처리 방법
KR102130513B1 (ko) 비트치환 연산기, 확장 비트치환 연산기 및 이를 이용한 암호 장치
KR20080072345A (ko) 암호화 장치 및 그 방법
KR101790948B1 (ko) Drm 서비스 제공 장치 및 방법, drm 서비스를 이용한 콘텐츠 재생 장치 및 방법
CN113841360A (zh) 蝴蝶密钥扩展方案的实现
KR101445483B1 (ko) 조건부 프록시 재암호화 기법을 이용한 데이터 전송 방법 및 시스템
CN116415273A (zh) 基于国产密码算法的数据加解密系统及其方法
KR101865703B1 (ko) 키 생성 방법 및 장치, 암호화 장치 및 방법
WO2015173905A1 (ja) 暗号装置及び記憶システム及び復号装置及び暗号方法及び復号方法及び暗号プログラム及び復号プログラム
KR20210049412A (ko) Cbc 암호화 및 복호화를 통한 통신 방법 및 시스템
JP2020020928A (ja) 通信装置および通信プログラム
KR102319459B1 (ko) Hmac 기반 통신 방법 및 시스템
CN117768222A (zh) 数据流加密方法、系统、设备及存储介质

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