KR20190135663A - 보안이 강화된 ofb 모드의 암호화 방법 - Google Patents

보안이 강화된 ofb 모드의 암호화 방법 Download PDF

Info

Publication number
KR20190135663A
KR20190135663A KR1020180060941A KR20180060941A KR20190135663A KR 20190135663 A KR20190135663 A KR 20190135663A KR 1020180060941 A KR1020180060941 A KR 1020180060941A KR 20180060941 A KR20180060941 A KR 20180060941A KR 20190135663 A KR20190135663 A KR 20190135663A
Authority
KR
South Korea
Prior art keywords
output statement
unit
encryption method
ofb mode
encryption
Prior art date
Application number
KR1020180060941A
Other languages
English (en)
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 KR1020180060941A priority Critical patent/KR20190135663A/ko
Publication of KR20190135663A publication Critical patent/KR20190135663A/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
    • H04L9/0637Modes of operation, e.g. cipher block chaining [CBC], electronic codebook [ECB] or Galois/counter mode [GCM]

Landscapes

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

Abstract

본 발명은 출력문(Seed)과 평문(Plain Text)에 대하여 배타적 논리합(XOR)을 통해 암호문(Encrypted Text)을 생성하는 OFB 모드의 암호화 방법에 있어서, 출력문을 생성하는 B-1단계, 상기 출력문을 일정단위의 데이터 블록으로 분할하여 단위 출력문을 생성하는 B-2단계, 상기 단위 출력문의 데이터 값에 따라, 상기 단위 출력문의 비트열 순서를 변경시키는 B-3단계 및 순서가 변경된 단위 출력문과 평문에 대하여 배타적 논리합을 통해 암호문을 생성하는 C단계를 포함하여 이루어져, 보다 안정적이고 보안이 강화된 OFB 모드의 암호화 방법에 관한 것이다.

Description

보안이 강화된 OFB 모드의 암호화 방법{Security-enhanced OFB mode encryption method}
본 발명은 보안이 강화된 OFB 모드의 암호화 방법에 관한 것으로, 입력 레지스터에 기반을 두어 블록 암호화하여 그 출력의 비트열과 평문 비트열 사이의 배타적 논리합(XOR)을 통해 암호화하는 OFB(Output Feedback) 모드에서, 출력 비트열의 출력값에 따라 데이터의 순서를 변경하여 평문 비트열과 배타적 논리합(XOR)을 수행함으로써 보안이 보다 강화된 OFB모드의 암호화 방법이다.
암호화(Encryption)는 데이터 송수신 시에 외부의 해킹이나 제3자의 개입으로 인하여 데이터 내용이 변경되는 것을 방지하기 위해, 데이터를 직관적으로 의미를 알 수 없는 형식인 암호문으로 변경하는 과정을 의미한다. 그리고 사용자는 데이터를 암호문의 형태로 송수신함으로써, 보다 보안이 강화되어 자신들의 주요 정보가 외부로 노출이 되지 않도록 한다.
이와 같은 암호화는 송신지 및 수신자가 사전에 키(Key)를 가지고 있어, 이를 토대로 데이터를 암호문으로 변경하도록 제공한다. 그리고 현재의 암호화 방식은 OFB(Output Feedback) 모드, CFB(Cipher Feedback) 모드 및 CTR(Counter) 모드 등 처리 알고리즘에 따라 여러 형태로 분류된다. 이때 상기 OFB 모드는 도 1에서 도시된 바와 같이 무선 통신 상 데이터를 암호화하는데 있어서, 키(Key)와 IV(Initial Vector)를 암호화 알고리즘을 통해 서로 조합하여 출력문(Seed)을 생성하고, 생성된 출력문(Seed)의 비트열을 평문(Plain Text)의 비트열과 배타적 논리합(XOR)을 취함으로써 암호문(Encrypted Text)을 생성하도록 형성된다.
상기한 바와 같은 OFB 모드는 암호문을 형성함으로써 사용자의 정보를 보호하는 장점이 있으나, 현재는 해킹 기술이 점진적으로 발전함에 따라 종래의 방식의 보안성능이 상대적으로 낮아지는 문제점이 있다. 이와 같은 문제점을 해결하기 위해 한국등록특허공보 제10-1807259호("암호화 장치 및 방법", 2017.12.08.) 및 한국등록특허공보 제10-1817424호("암호화 방법, 복호화 방법 및 그 장치", 2018.02.22.)에서는 종래의 OFB 모드를 향상시키는 방법들을 각자 개시하고 있으나, 제10-1807259호의 추가 인코딩 방법을 통한 방법이나 제10-1817424호의 시간 데이터와의 XOR연산을 통해 비밀키를 갱신하는 것은 데이터의 처리 속도가 느려지는 단점이 수반될 수 밖에 없는 문제점이 있다.
KR 10-1807259 B1("암호화 장치 및 방법") 2017.12.08. KR 10-1817424 B1("암호화 방법, 복호화 방법 및 그 장치") 2018.02.22.
본 발명은 종래기술의 문제점을 해결하기 위해 안출된 것으로, OFB 모드의 출력 비트열의 출력값에 따라 비트열 내 데이터의 순서를 변경한 후에 평문 비트열과 배타적 논리합을 수행하도록 이루어져 보다 보안이 강화된 OFB 모드의 암호화 방법이다.
상기한 바와 같은 목적을 달성하기 위해 본 발명은, 출력문(Seed)과 평문(Plain Text)에 대하여 배타적 논리합(XOR)을 통해 암호문(Encrypted Text)을 생성하는 OFB 모드의 암호화 방법에 있어서, 출력문을 생성하는 B-1단계, 상기 출력문을 일정단위의 데이터 블록으로 분할하여 단위 출력문을 생성하는 B-2단계, 상기 단위 출력문의 데이터 값에 따라, 상기 단위 출력문의 비트열 순서를 변경시키는 B-3단계 및 순서가 변경된 단위 출력문과 평문에 대하여 배타적 논리합을 통해 암호문을 생성하는 C단계를 포함하여 이루어질 수 있다.
이때 본 발명은 상기 B-1단계 이전, 일정단위의 단위 출력문의 데이터 값에 따라 출력문의 비트열 순서에 대한 변경 방법을 설정하는 B-0단계를 더 포함하여 이루어질 수 있다.
또한 상기 B-0단계는, 단위 출력문의 일정단위를 8비트(bit)로 설정하되, 상기 변경 방법의 수는
Figure pat00001
사이로 결정되는 것을 특징으로 할 수 있다.
아울러 본 발명은 상기 B-1단계 이전, IV(Initial Vector) 및 키(Key)에 대하여 암호화 알고리즘을 통해 서로 조합하여 출력문을 생성하는 A단계를 더 포함하여 이루어질 수 있다.
상기와 같은 본 발명의 구성에 의한 OFB 모드의 암호화 방법은, 출력 비트열의 출력값에 따라 출력 비트열 내의 데이터의 순서를 변경하도록 제공되어, replay나 attack 등을 통해 해킹하는 것을 보다 방지할 수 있는 장점이 있다.
아울러 본 발명은 비트열의 출력값에 따라서 변경 방법을 설정하고, 상기 변경 방법에 따라 비트열의 출력값 내의 데이터의 순서를 변경하도록 제공됨에 따라, 중도에 발생되는 몇몇의 오류로 인해서 전체 시스템을 리셋 할 필요가 없어 보다 안정적인 암호화 환경을 제공할 수 있다.
도 1은 암호화를 위한 OFB 모드의 구성도.
도 2 및 도 3은 본 발명의 일 실시예에 따른 비트열 순서에 대한 변경 방법을 설정하는 것을 도시한 도면.
도 4는 기존 OFB 모드의 배타적 논리합을 도시한 도면.
도 5 및 도 6은 본 발명의 일 실시예에 따른 비트열 순서가 변경된 OFB 모드의 배타적 논리합을 도시한 도면.
이하 첨부한 도면들을 참조하여 본 발명의 다양한 실시예에 따른 보안이 강화된 OFB 모드의 암호화 방법을 상세히 설명한다. 다음에 소개되는 도면들은 당업자에게 본 발명의 사상이 충분히 전달될 수 있도록 하기 위해 예로서 제공되는 것이다. 따라서 본 발명은 이하 제시되는 도면들에 한정되지 않고 다른 형태로 구체화될 수도 있다. 또한 명세서 전반에 걸쳐서 동일한 참조번호들은 동일한 구성요소들을 나타낸다.
이때 사용되는 기술 용어 및 과학 용어에 있어서 다른 정의가 없다면, 이 발명이 속하는 기술 분야에서 통상의 지식을 가진 자가 통상적으로 이해하고 있는 의미를 가지며, 하기의 설명 및 첨부 도면에서 본 발명의 요지를 불필요하게 흐릴 수 있는 공지 기능 및 구성에 대한 설명은 생략한다.
도 1은 암호화를 위한 OFB 모드의 구성도이며, 도 2 및 도 3은 본 발명의 일 실시예에 따른 비트열 순서에 대한 변경 방법을 설정하는 것을 도시한 도면을 나타낸다. 먼저 도 1을 참조하면, OFB(Output Feedback) 모드는 키(Key)와 IV(Initial Vector)를 암호화 알고리즘을 통해 서로 조합하여 출력문(Seed)을 생성하고, 상기 출력문의 비트열과 평문(Plain Text)의 비트열에 대해서 배타적 논리합(XOR)을 취함으로써 암호문(Encrypted Text)을 생성하도록 이루어진다. 이때 상기 IV는 Initialization Vector 또는 Initial Vector의 준말로 초기화벡터를 뜻하며, 비트라인으로 제공되어 스트림 암호 또는 블록 암호를 임의의 암호화 사용 모드에서 실행할 때 스트림을 생성하기 위해 요구된다. OFB 모드에서는 일반적으로 상기 IV가 암호화를 위한 비트스트림으로 바로 사용되며, 키와 IV를 통해 출력문이 생성되면 상기 출력문을 평문과 배타적 논리합을 취함으로써 암호문을 생성하도록 이루어진다.
이어 도 2 및 도 3을 참조하면, 본 발명의 OFB 모드의 암호화 방법은, 키와 IV를 통해 생성된 출력문을 평문과 배타적 논리합을 취하여 암호문을 생성하는 것에서, 생성된 출력문 내의 비트열 순서를 섞어 보안적 요소를 강화도록 제공될 수 있다. 이에 대해서 암호화 단계별로 설명하자면 다음과 같다.
본 발명의 OFB 모드의 암호화 방법은, 출력문(Seed)과 평문(Plain Text)에 대하여 배타적 논리합(XOR)을 통해 암호문(Encrypted Text)을 생성하는 OFB 모드의 암호화 방법에 있어서, 출력문을 생성하는 B-1단계, 상기 출력문을 일정단위의 데이터 블록으로 분할하여 단위 출력문을 생성하는 B-2단계, 상기 단위 출력문의 데이터 값에 따라, 상기 단위 출력문의 비트열 순서를 변경시키는 B-3단계 및 순서가 변경된 단위 출력문과 평문에 대하여 배타적 논리합을 통해 암호문을 생성하는 C단계를 포함하여 이루어질 수 있다.
이때 본 발명의 OFB 모드의 암호화 방법은, 상기 B-1 단계 이전, 일정단위의 단위 출력문의 데이터 값에 따라 출력문의 비트열 순서에 대한 변경 방법을 설정하는 B-0단계를 더 포함하여 이루어질 수 있으며, 도 2 및 도 3의 경우에는 위와 같이 비트열 순서에 대한 변경 방법을 설정하는 것을 도시한 도면이다.
먼저 도 2를 참조하면, 본 발명은 B-0단계에서 출력문의 데이터 값에 따라 출력문 내의 비트열 순서를 여러 방법을 통해 변경하도록 설정될 수 있다. 출력문은 각 비트별로 0 또는 1인 이진수 데이터 값이 생성될 수 있으며, B-0단계는 출력문을 8비트, 16비트, 32비트 등 일정한 비트열 단위로 분할된 단위 출력문을 설정하고, 상기 단위 출력문 내의 데이터 값에 따라 적어도 하나 이상의 변경 방법이 설정될 수 있다. 이를 보다 명확하게 도시하기 위해 상기 출력문의 데이터 값을 최소유효비트(LSB : Least Significant Bit)를 기준으로 표현하자면 다음과 같다.
상기 단위 출력문이 n+1개의 비트열을 가지도록 분할되었다고 가정하면, 본 발명은 LSB, LSB+1, ..., LSB+(n-1), LSB+n의 비트에 각각 2진수 데이터가 형성될 수 있다. 그리고 n+1개의 비트열을 가진 상기 단위 출력문은 최대
Figure pat00002
(=N)의 경우의 수가 도출될 수 있으며, 이에 따라 본 발명의 변경 방법의 수는
Figure pat00003
사이의 수로 결정되는 것을 특징으로 할 수 있다.
아울러 본 발명은 단위 출력문 내에 소영역을 설정하여 이를 토대로 변경 방법을 제공하도록 이루어질 수 있다. 이를 명확하게 표현하고자 수치를 가정하면, 도 3에서 도시된 바와 같이 변경 방법의 수가 8가지이고, 해당 변경 방법은 하위 3개의 비트 데이터에 따라 변경 방법이 결정되도록 형성될 수 있다. 이때 상기 단위 출력문은 3비트 이상으로 이루어질 수 있다. 즉,
Figure pat00004
으로 각각의 비트열 수가 설정될 수 있으며, 출력문은 단위출력문보다 크게 형성되는 것이 바람직하다.
도 4는 기존 OFB 모드의 배타적 논리합을 도시한 도면이며, 도 5 및 도 6은 본 발명의 일 실시예에 따른 비트열 순서에 대한 변경 방법을 설정하는 것을 도시한 도면을 나타낸다. 먼저 도 4를 참조하면, 8비트의 단위 출력문으로 출력문이 분할되는 경우, 상기 단위 출력문은 최하위 비트인 LSB+0으로부터 최상위 비트인 LSB+7까지 이루어질 수 있다. 이를 보다 명확히 표현하고자 LSB를 생략하고 0 내지 7 사이의 수를 각 비트의 자리를 표현한다. 이때 상기 단위 출력문과 배타적 논리합이 이루어지는 평문 또한 8비트로 분할되어, 8비트의 암호화된 구문을 생성하도록 제공될 수 있다.
도 5 및 도 6은 변경 방법에 대한 실시예에 관한 것으로, 도 5는 단위 출력문의 하위 3개의 비트가 000인 경우에 변경 방법 1에 따라 이루어지는 것이라 가정하고, 도 6은 하위 3개의 비트가 001인 경우에 변경 방법 2에 따라 이루어지는 것으로 가정한다.
이때 도 5는 상기 단위 출력문은 7부터 0까지 내림차순으로 정렬된 비트열이, 변경 방법 1에 따라 순서가 변경되어 비트 7과 비트 2의 데이터가 변경되고, 비트 5와 비트 0의 데이터가 변경될 수 있다. 그리고 본 발명은 비트열의 순서가 변경된 단위 출력문과 평문과의 배타적 논리합을 통해 암호화된 구문을 생성하도록 제공될 수 있다.
그리고 도 6은 상기 단위 출력문은 7부터 0까지 내림차순으로 정렬된 비트열이, 변경 방법 2에 따라 순서가 변경되어 비트 7과 비트 2의 데이터가 변경되고, 비트 5와 비트 0의 데이터가 변경되며, 비트 6과 비트 3의 데이터가 변경될 수 있다. 그리고 본 발명은 비트열의 순서가 변경된 단위 출력문과 평문과의 배타적 논리합을 통해 암호화된 구문을 생성하도록 제공될 수 있다.
이때 변경 방법은 비트열 내의 비트 순서를 변경하는 것이므로, 위에서 기재한 바의 경우에 한정하지는 않는다. 아울러, 본 발명은 하위 A개의 비트가 기준이 아닌 상위 A개의 비트나 지정된 위치의 비트 값에 따라 변경 방법을 결정하는 기준이 될 수 있다. 이를 통해 본 발명은 평문과 배타적 논리합을 취하는 단위 출력문 내 비트 순서가 매번 변경되기 때문에, 보다 보안요소가 강화된 암호문을 제공하는 장점이 있다.
이상과 같이 본 발명에서는 구체적인 구성요소 등과 같은 특정 사항들과 한정된 실시예 도면에 의해 설명되었으나, 이는 본 발명의 보다 전반적인 이해를 돕기 위해서 제공된 것일 뿐, 본 발명은 상기의 일 실시예에 한정되는 것이 아니며, 본 발명이 속하는 분야에서 통상의 지식을 가진 자라면 이러한 기재로부터 다양한 수정 및 변형이 가능하다.
따라서, 본 발명의 사상은 설명된 실시예에 국한되어 정해져서는 아니 되며, 후술되는 특허 청구 범위뿐 아니라 이 특허 청구 범위와 균등하거나 등가적 변형이 있는 모든 것들은 본 발명의 사상의 범주에 속한다고 할 것이다.

Claims (4)

  1. 출력문(Seed)과 평문(Plain Text)에 대하여 배타적 논리합(XOR)을 통해 암호문(Encrypted Text)을 생성하는 OFB 모드의 암호화 방법에 있어서,
    B-1) 출력문을 생성하는 단계;
    B-2) 상기 출력문을 일정단위의 데이터 블록으로 분할하여 단위 출력문을 생성하는 단계;
    B-3) 상기 단위 출력문의 데이터 값에 따라, 상기 단위 출력문의 비트열 순서를 변경시키는 단계; 및
    C) 순서가 변경된 단위 출력문과 평문에 대하여 배타적 논리합을 통해 암호문을 생성하는 단계;
    를 포함하여 이루어지는 OFB 모드의 암호화 방법.
  2. 제1항에 있어서,
    상기 B-1 단계 이전,
    B-0) 일정단위의 단위 출력문의 데이터 값에 따라 출력문의 비트열 순서에 대한 변경 방법을 설정하는 단계;
    를 더 포함하는 OFB 모드의 암호화 방법
  3. 제2항에 있어서,
    상기 B-0 단계는,
    단위 출력문의 일정단위를 8비트(bit)로 설정하되,
    상기 변경 방법의 수는
    Figure pat00005
    사이로 결정되는 것을 특징으로 하는 OFB 모드의 암호화 방법.
  4. 제1항에 있어서,
    상기 B-1 단계 이전,
    A) IV(Initial Vector) 및 키(Key)에 대하여 암호화 알고리즘을 통해 서로 조합하여 출력문을 생성하는 단계;
    를 더 포함하는 것을 특징으로 하는 OFB 모드의 암호화 방법.
KR1020180060941A 2018-05-29 2018-05-29 보안이 강화된 ofb 모드의 암호화 방법 KR20190135663A (ko)

Priority Applications (1)

Application Number Priority Date Filing Date Title
KR1020180060941A KR20190135663A (ko) 2018-05-29 2018-05-29 보안이 강화된 ofb 모드의 암호화 방법

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
KR1020180060941A KR20190135663A (ko) 2018-05-29 2018-05-29 보안이 강화된 ofb 모드의 암호화 방법

Publications (1)

Publication Number Publication Date
KR20190135663A true KR20190135663A (ko) 2019-12-09

Family

ID=68837521

Family Applications (1)

Application Number Title Priority Date Filing Date
KR1020180060941A KR20190135663A (ko) 2018-05-29 2018-05-29 보안이 강화된 ofb 모드의 암호화 방법

Country Status (1)

Country Link
KR (1) KR20190135663A (ko)

Citations (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
KR101807259B1 (ko) 2013-11-04 2017-12-08 한국전자통신연구원 암호화 장치 및 방법
KR101817424B1 (ko) 2016-05-12 2018-02-22 중앙대학교 산학협력단 암호화 방법, 복호화 방법 및 그 장치

Patent Citations (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
KR101807259B1 (ko) 2013-11-04 2017-12-08 한국전자통신연구원 암호화 장치 및 방법
KR101817424B1 (ko) 2016-05-12 2018-02-22 중앙대학교 산학협력단 암호화 방법, 복호화 방법 및 그 장치

Similar Documents

Publication Publication Date Title
CN110650010B (zh) 一种非对称密钥中的私钥生成和使用方法、装置和设备
KR101088420B1 (ko) 데이터 암호 처리 방법 및 장치
US6055316A (en) System and method for deriving an appropriate initialization vector for secure communications
US8213607B2 (en) Method for securely extending key stream to encrypt high-entropy data
US5345508A (en) Method and apparatus for variable-overhead cached encryption
US7945049B2 (en) Stream cipher using multiplication over a finite field of even characteristic
WO2001086860A1 (en) Stream-cipher method and apparatus
JP6346942B2 (ja) パスワードへの攻撃を阻害すること
CN108063760B (zh) 一种分组加密的方法及其系统、分组解密的方法
US20080243977A1 (en) Pseudorandom number generator and encrytion device using the same
Nazarkevych et al. Data protection based on encryption using Ateb-functions
CN104486756B (zh) 一种密笺短信的加解密方法及系统
WO2008156514A2 (en) Low complexity encryption method for content that is coded by a rateless code
CN111480312A (zh) 流密码处理
CN108494554B (zh) 一种基于双明文的数据对称加密方法
US11165758B2 (en) Keystream generation using media data
KR20080072345A (ko) 암호화 장치 및 그 방법
JP2007500481A (ja) Desアルゴリズムに基づく暗号化方法。
KR20190037980A (ko) 퍼베이시브 컴퓨팅을 위한 효과적인 초경량 블록 암호 시스템
KR20190135663A (ko) 보안이 강화된 ofb 모드의 암호화 방법
CN111049639B (zh) 一种基于fpga的动态数据加解密实现方法
KR101583285B1 (ko) 확장 키를 이용한 블록 암호화 방법 및 그 방법에 따른 장치
KR102097702B1 (ko) 저지연 블록 암호 운영모드를 위한 키 생성 방법
CN113315622A (zh) 包括双编码器的安全电路和包括安全电路的加密解密器
KR101375670B1 (ko) 데이터의 암호화/복호화 방법 및 이를 적용한 버스 시스템

Legal Events

Date Code Title Description
A201 Request for examination
E902 Notification of reason for refusal
E601 Decision to refuse application