KR101312374B1 - 데이터 크기 조정 장치 및 방법 - Google Patents

데이터 크기 조정 장치 및 방법 Download PDF

Info

Publication number
KR101312374B1
KR101312374B1 KR1020120039043A KR20120039043A KR101312374B1 KR 101312374 B1 KR101312374 B1 KR 101312374B1 KR 1020120039043 A KR1020120039043 A KR 1020120039043A KR 20120039043 A KR20120039043 A KR 20120039043A KR 101312374 B1 KR101312374 B1 KR 101312374B1
Authority
KR
South Korea
Prior art keywords
data
predetermined
string
converted
bits
Prior art date
Application number
KR1020120039043A
Other languages
English (en)
Other versions
KR20130012540A (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 소프트포럼 주식회사
Publication of KR20130012540A publication Critical patent/KR20130012540A/ko
Application granted granted Critical
Publication of KR101312374B1 publication Critical patent/KR101312374B1/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
    • HELECTRICITY
    • H03ELECTRONIC CIRCUITRY
    • H03MCODING; DECODING; CODE CONVERSION IN GENERAL
    • H03M7/00Conversion of a code where information is represented by a given sequence or number of digits to a code where the same, similar or subset of information is represented by a different sequence or number of digits
    • H03M7/30Compression; Expansion; Suppression of unnecessary data, e.g. redundancy reduction

Abstract

데이터 크기 조정 장치 및 방법이 개시된다. 본 발명의 실시예들은 선정된(predetermined) 문자열로 구성된 데이터가 입력되면, 입력 데이터를 구성하는 각 문자열 데이터를 선정된 개수의 비트(bit)열만으로 표현 가능한 데이터로 변환한 후 각 변환 데이터들을 소정의 개수로 구분하여 각 구분된 변환 데이터들 간의 데이터 병합을 수행함으로써, 데이터의 크기를 감소시킬 수 있는 기술에 대한 것이다.

Description

데이터 크기 조정 장치 및 방법{DATA SIZE ADJUSTMENT APPARATUS AND METHOD}
본 발명의 실시예들은 데이터베이스 등에 저장되는 데이터를 조작하여 상기 데이터의 크기를 감소시킬 수 있도록 하는 기법에 대한 것이다.
최근, 인터넷 등이 널리 보급됨에 따라, 사용자들은 전자상거래 사이트 등을 통해 쇼핑을 하거나, 인터넷뱅킹과 같은 웹 기반의 금융 거래를 이용하는 경우가 증가하고 있다.
보통, 사용자들이 이러한 웹 기반의 서비스를 이용하기 위해서는 보안 상의 문제로 웹 사이트에 회원으로 등록할 필요가 있다.
또한, 최근에는 대부분의 웹 사이트에서 사용자들을 회원으로 가입하도록 유도하여 가입된 회원만이 웹 사이트에서 제공하는 정보나 기능을 모두 이용할 수 있도록 제한을 두는 경우가 많다.
보통, 일반적인 웹 사이트에서는 회원 가입 시에 사용자들의 주민등록번호와 같은 개인 정보를 수집하는 경우가 많다. 이렇게 수집된 개인 정보는 각 사이트 운영사의 개인 정보 데이터베이스에 저장되어 관리되곤 한다.
이로 인해, 최근에는 키로깅(Keylogging), 스니핑(Sniffing), 피싱(Phishing) 등 점차 고도화되어 가고 있는 해킹 기술로 인해 개인 정보가 유출되어 경제적, 사회적 피해가 발생하는 경우가 비일비재하여 개인 정보 보호의 필요성이 증가하고 있다.
이에 따라, 각 사이트의 운영사는 개인 정보 데이터베이스에 저장되어 있는 회원들의 개인 정보의 유출을 방지하기 위해, 다양한 암호화 기술을 이용하여 회원들의 개인 정보를 암호화하여 개인 정보 데이터베이스에 저장해 두는 경우가 많다.
하지만, 일반적인 암호화 기술에서는 개인 정보 데이터베이스에 저장되어 있는 주민등록번호, 신용카드번호, 계좌번호 등의 데이터를 암호화할 때, 암호화 과정에서 데이터의 크기가 증가하는 경우가 발생할 수 있다.
예컨대, 13바이트(byte)의 주민등록번호 중 뒤에 6자리만 베이스(base)64 인코딩을 기초로 암호화하는 경우, "7자리의 평문+24바이트"의 암호화 결과 값이 나오게 되어, 평문 입력 값 보다 암호화 결과 값의 크기가 증가할 수 있다.
이에 따라, 개인 정보에 대한 데이터를 암호화하는 경우, 원래 값보다 크기가 커진 암호화 결과 값으로 인해, 개인 정보 데이터베이스에 저장되는 데이터의 크기가 증가하여 개인 정보 데이터베이스의 저장 한도를 초과하는 경우가 발생할 수 있다.
따라서, 개인 정보 데이터베이스에 저장되는 원본 데이터의 크기를 감소시켜, 상기 원본 데이터에 대한 암호화가 수행되더라도, 그 크기가 증가하는 것을 방지할 수 있도록 하는 기술에 대한 연구가 필요하다.
본 발명의 실시예들은 선정된(predetermined) 문자열로 구성된 데이터가 입력되면, 입력 데이터를 구성하는 각 문자열 데이터를 선정된 개수의 비트(bit)열만으로 표현 가능한 데이터로 변환한 후 각 변환 데이터들을 소정의 개수로 구분하여 각 구분된 변환 데이터들 간의 데이터 병합을 수행함으로써, 데이터의 크기를 감소시킬 수 있도록 한다.
또한, 본 발명의 실시예들은 데이터베이스 등에 데이터를 암호화하여 저장할 때, 상기 데이터에 대한 암호화를 수행하기 전에 상기 데이터의 크기를 감소시킬 수 있어서, 데이터 암호화에 따라 발생할 수 있는 저장 공간 용량 부족을 방지할 수 있도록 한다.
본 발명의 일실시예에 따른 데이터 크기 조정 장치는 적어도 하나의 선정된(predetermined) 문자열로 구성된 입력 데이터가 입력되면, 상기 입력 데이터를 구성하는 n(단, n은 자연수) 비트의 각 문자열 데이터를 상기 n이하의 선정된 제1 개수의 비트열만으로 표현 가능한 데이터로 변환하는 데이터 변환부, 상기 각 문자열 데이터에 대한 변환 데이터들을 선정된 제2 개수 별로 그룹화(grouping)하여 적어도 하나의 변환 데이터 그룹을 생성하는 그룹화부, 상기 적어도 하나의 변환 데이터 그룹 각각에 포함되어 있는 상기 선정된 제2 개수의 변환 데이터들을 병합하여 상기 적어도 하나의 변환 데이터 그룹 별로 상기 n 비트의 비트수를 갖는 적어도 하나의 병합 데이터를 생성하는 병합 데이터 생성부 및 상기 생성된 적어도 하나의 병합 데이터를 조합하여 출력 데이터를 생성하는 출력 데이터 생성부를 포함한다.
또한, 본 발명의 일실시예에 따른 데이터 크기 조정 방법은 적어도 하나의 선정된 문자열로 구성된 입력 데이터가 입력되면, 상기 입력 데이터를 구성하는 n(단, n은 자연수) 비트의 각 문자열 데이터를 상기 n이하의 선정된 제1 개수의 비트열만으로 표현 가능한 데이터로 변환하는 단계, 상기 각 문자열 데이터에 대한 변환 데이터들을 선정된 제2 개수 별로 그룹화하여 적어도 하나의 변환 데이터 그룹을 생성하는 단계, 상기 적어도 하나의 변환 데이터 그룹 각각에 포함되어 있는 상기 선정된 제2 개수의 변환 데이터들을 병합하여 상기 적어도 하나의 변환 데이터 그룹 별로 상기 n 비트의 비트수를 갖는 적어도 하나의 병합 데이터를 생성하는 단계 및 상기 생성된 적어도 하나의 병합 데이터를 조합하여 출력 데이터를 생성하는 단계를 포함한다.
본 발명의 실시예들은 선정된(predetermined) 문자열로 구성된 데이터가 입력되면, 입력 데이터를 구성하는 각 문자열 데이터를 선정된 개수의 비트(bit)열만으로 표현 가능한 데이터로 변환한 후 각 변환 데이터들을 소정의 개수로 구분하여 각 구분된 변환 데이터들 간의 데이터 병합을 수행함으로써, 데이터의 크기를 감소시킬 수 있다.
또한, 본 발명의 실시예들은 데이터베이스 등에 데이터를 암호화하여 저장할 때, 상기 데이터에 대한 암호화를 수행하기 전에 상기 데이터의 크기를 감소시킬 수 있어서, 데이터 암호화에 따라 발생할 수 있는 저장 공간 용량 부족을 방지할 수 있다.
도 1은 본 발명의 일실시예에 따른 데이터 크기 조정 장치의 구조를 도시한 도면이다.
도 2는 본 발명의 일실시예에 따른 데이터 크기 조정 장치가 변환 테이블을 참조하여 입력 데이터를 구성하는 각 문자열 데이터에 대해 데이터 변환을 수행하는 과정을 설명하기 위한 도면이다.
도 3은 본 발명의 일실시예에 따른 데이터 크기 조정 장치가 변환 데이터들을 병합하여 병합 데이터를 생성하는 과정을 설명하기 위한 도면이다.
도 4는 본 발명의 일실시예에 따른 데이터 크기 조정 방법을 도시한 순서도이다.
본 발명은 다양한 변경을 가할 수 있고 여러 가지 실시예를 가질 수 있는 바, 특정 실시예들을 도면에 예시하고 상세한 설명에 상세하게 설명하고자 한다. 그러나, 이는 본 발명을 특정한 실시 형태에 대해 한정하려는 것이 아니며, 본 발명의 사상 및 기술 범위에 포함되는 모든 변경, 균등물 내지 대체물을 포함하는 것으로 이해되어야 한다. 각 도면을 설명하면서 유사한 참조부호를 유사한 구성요소에 대해 사용하였다.
어떤 구성요소가 다른 구성요소에 "연결되어" 있다거나 "접속되어" 있다고 언급된 때에는, 그 다른 구성요소에 직접적으로 연결되어 있거나 또는 접속되어 있을 수도 있지만, 중간에 다른 구성요소가 존재할 수도 있다고 이해되어야 할 것이다. 반면에, 어떤 구성요소가 다른 구성요소에 "직접 연결되어" 있다거나 "직접 접속되어" 있다고 언급된 때에는, 중간에 다른 구성요소가 존재하지 않는 것으로 이해되어야 할 것이다.
본 출원에서 사용한 용어는 단지 특정한 실시예를 설명하기 위해 사용된 것으로, 본 발명을 한정하려는 의도가 아니다. 단수의 표현은 문맥상 명백하게 다르게 뜻하지 않는 한, 복수의 표현을 포함한다. 본 출원에서, "포함하다" 또는 "가지다" 등의 용어는 명세서상에 기재된 특징, 숫자, 단계, 동작, 구성요소, 부품 또는 이들을 조합한 것이 존재함을 지정하려는 것이지, 하나 또는 그 이상의 다른 특징들이나 숫자, 단계, 동작, 구성요소, 부품 또는 이들을 조합한 것들의 존재 또는 부가 가능성을 미리 배제하지 않는 것으로 이해되어야 한다.
다르게 정의되지 않는 한, 기술적이거나 과학적인 용어를 포함해서 여기서 사용되는 모든 용어들은 본 발명이 속하는 기술분야에서 통상의 지식을 가진 자에 의해 일반적으로 이해되는 것과 동일한 의미를 가지고 있다. 일반적으로 사용되는 사전에 정의되어 있는 것과 같은 용어들은 관련 기술의 문맥 상 가지는 의미와 일치하는 의미를 가지는 것으로 해석되어야 하며, 본 출원에서 명백하게 정의하지 않는 한, 이상적이거나 과도하게 형식적인 의미로 해석되지 않는다.
이하에서, 본 발명에 따른 실시예들을 첨부된 도면을 참조하여 상세하게 설명한다.
도 1은 본 발명의 일실시예에 따른 데이터 크기 조정 장치의 구조를 도시한 도면이다.
도 1을 참조하면, 본 발명의 일실시예에 따른 데이터 크기 조정 장치(110)는 데이터 변환부(111), 그룹화(grouping)부(112), 병합 데이터 생성부(113) 및 출력 데이터 생성부(114)를 포함한다.
데이터 변환부(111)는 적어도 하나의 선정된(predetermined) 문자열로 구성된 입력 데이터가 데이터 크기 조정 장치(110)에 입력되면, 상기 입력 데이터를 구성하는 n(단, n은 자연수) 비트(bit)의 각 문자열 데이터를 상기 n이하의 선정된 제1 개수의 비트열만으로 표현 가능한 데이터로 변환한다.
이때, 본 발명의 일실시예에 따르면, 데이터 크기 조정 장치(110)는 변환 테이블 관리부(115)를 더 포함할 수 있다.
변환 테이블 관리부(115)는 복수의 선정된 문자열 데이터들에 대한 정보와, 상기 복수의 선정된 문자열 데이터들에 대한 정보 각각에 대해 상기 선정된 제1 개수의 비트열만으로 표현 가능한 복수의 선정된 변환 데이터들에 대한 정보가 서로 대응되도록 저장된 변환 테이블을 저장하여 유지한다.
이때, 데이터 변환부(111)는 상기 변환 테이블을 참조하여 상기 각 문자열 데이터를 상기 선정된 제1 개수의 비트열만으로 표현 가능한 데이터로 변환할 수 있다.
관련하여, 도 2를 참조하여 데이터 변환부(111)의 동작에 대해 예를 들어 상세히 설명하기로 한다.
도 2는 본 발명의 일실시예에 따른 데이터 크기 조정 장치(110)가 변환 테이블을 참조하여 입력 데이터를 구성하는 각 문자열 데이터에 대해 데이터 변환을 수행하는 과정을 설명하기 위한 도면이다.
먼저, 변환 테이블 관리부(115)에는 하기의 표 1과 같은 변환 테이블이 저장되어 유지되고 있을 수 있다.
대상 문자열 문자열 데이터 값 변환 데이터 값
1 0x31 0x01
2 0x32 0x02
3 0x33 0x03
4 0x34 0x04
5 0x35 0x05
6 0x36 0x06
7 0x37 0x07
8 0x38 0x08
9 0x39 0x09
0 0x30 0x0A
- 0x2D 0x0B
= 0x3D 0x0C
_ 0x5F 0x0D
, 0x2C 0x0E
. 0x2E 0x0F
그외 해당 데이터 값 0x00
상기 표 1의 변환 테이블에 대해 좀 더 상세히 설명하면, 문자열 "1"에 대한 문자열 데이터 값은 아스키(American Standard Code for Information Interchange: ASCII) 코드 변환 규칙에 따라 16진수로 표현하면, "0x31"이 되고, "0x31"을 비트로 표현하면, 문자열 1개의 데이터 크기가 1바이트(byte)이므로, 8비트 값인 "00110001"이 된다.
여기서, 사용자는 상기 변환 테이블에 나타난 바와 같이, 문자열 "1"에 대한 데이터인 "0x31"에 대해, 4개의 비트열만으로 표현 가능한 데이터인 "0x01"을 변환 데이터로 대응시켜 저장해 놓을 수 있다. 이때, "0x01"을 비트로 표현하면, "00000001"이므로, 변환 데이터인 "0x01"은 8비트의 비트열 중 뒤의 4개의 비트열만으로 표현 가능한 데이터이다.
이러한 방식으로, 상기 변환 테이블에는 상기 표 1에 나타난 바와 같이, "1", "2", "3", "4", "5", "6", "7", "8", "9", "0", "-", "=", "_", ",", "." 이라는 선정된 문자열에 대한 8비트 크기의 문자열 데이터들에 대해, 8비트 중 뒤의 4개의 비트열만으로 표현 가능한 데이터들이 변환 데이터 정보로 대응되어 저장되어 있을 수 있다.
이때, 상기 표 1에 나타낸 변환 테이블에서 나머지 문자열들에 대한 문자열 데이터들은 모두 "null"로 처리될 수 있도록 "0x00"이라는 변환 데이터가 대응되어 있을 수 있다.
만약, 데이터 크기 조정 장치(110)에 "1234"라는 문자열로 구성된 입력 데이터가 입력되는 경우, 데이터 변환부(111)는 도 2에 도시된 바와 같이, 상기 변환 테이블을 참조하여 "1"이라는 문자열에 대한 문자열 데이터인 "0x31"(210)을 "0x01"(212)로 변환할 수 있다.
즉, "1"이라는 문자열에 대한 문자열 데이터의 비트열은 "00110001"(211)에서 "00000001"(213)로 변환될 수 있다.
또한, 데이터 변환부(111)는 상기 변환 테이블을 참조하여 "2"이라는 문자열에 대한 문자열 데이터인 "0x32"(220)를 "0x02"(222)로 변환할 수 있다.
즉, "2"라는 문자열에 대한 문자열 데이터의 비트열은 "00110010"(221)에서 "00000010"(223)으로 변환될 수 있다.
또한, 데이터 변환부(111)는 상기 변환 테이블을 참조하여 "3"이라는 문자열에 대한 문자열 데이터인 "0x33"(230)을 "0x03"(232)으로 변환할 수 있다.
즉, "3"이라는 문자열에 대한 문자열 데이터의 비트열은 "00110011"(231)에서 "00000011"(233)로 변환될 수 있다.
또한, 데이터 변환부(111)는 상기 변환 테이블을 참조하여 "4"라는 문자열에 대한 문자열 데이터인 "0x34"(240)를 "0x04"(242)로 변환할 수 있다.
즉, "4"라는 문자열에 대한 문자열 데이터의 비트열은 "00110100"(241)에서 "00000100"(243)으로 변환될 수 있다.
결국, 데이터 변환부(111)는 적어도 하나의 선정된 문자열로 구성된 입력데이터가 입력되면, 상기 입력 데이터를 구성하는 n 비트의 각 문자열 데이터를 상기 변환 테이블을 참조하여 상기 n이하의 선정된 제1 개수의 비트열만으로 표현 가능한 데이터로 변환할 수 있다.
데이터 변환부(111)를 통해 데이터 변환이 완료되면, 그룹화부(112)는 상기 각 문자열 데이터에 대한 변환 데이터들을 선정된 제2 개수 별로 그룹화하여 적어도 하나의 변환 데이터 그룹을 생성한다.
병합 데이터 생성부(113)는 상기 적어도 하나의 변환 데이터 그룹 각각에 포함되어 있는 상기 선정된 제2 개수의 변환 데이터들을 병합하여 상기 적어도 하나의 변환 데이터 그룹 별로 상기 n 비트의 비트수를 갖는 적어도 하나의 병합 데이터를 생성한다.
이때, 본 발명의 일실시예에 따르면, 병합 데이터 생성부(113)는 시프트(shift) 수행부(116) 및 논리 연산 수행부(117)를 포함할 수 있다.
시프트 수행부(116)는 상기 적어도 하나의 변환 데이터 그룹 각각에 포함되어 있는 상기 선정된 제2 개수의 변환 데이터들을 적어도 하나의 제1 변환 데이터와 적어도 하나의 제2 변환 데이터로 구분하고, 상기 적어도 하나의 제1 변환 데이터에 대해 상기 선정된 제1 개수만큼 비트열 시프트를 수행한다.
논리 연산 수행부(117)는 상기 비트열 시프트가 수행된 적어도 하나의 제1 변환 데이터와, 상기 적어도 하나의 제2 변환 데이터 간에 논리 연산을 수행하여 상기 적어도 하나의 변환 데이터 그룹 별로 상기 n 비트의 비트수를 갖는 상기 적어도 하나의 병합 데이터를 생성한다.
이하에서는 도 3을 참조하여, 본 발명의 일실시예에 따른 데이터 크기 조정 장치(110)가 병합 데이터를 생성하는 과정을 예를 들어 상세히 설명하기로 한다.
도 3은 본 발명의 일실시예에 따른 데이터 크기 조정 장치(110)가 변환 데이터들을 병합하여 병합 데이터를 생성하는 과정을 설명하기 위한 도면이다.
먼저, 앞서 도 2를 이용하여 설명한 예처럼, 데이터 크기 조정 장치(110)에 "1234"라는 문자열로 구성된 32비트 크기의 입력 데이터가 입력되었고, 변환 테이블 관리부(115)에는 상기 표 1과 같은 변환 테이블이 저장되어 있다고 가정하자.
이때, 데이터 변환부(111)는 상기 표 1의 변환 테이블을 참조하여 "1", "2", "3", "4"라는 각 문자열에 대한 8비트 크기의 각 문자열 데이터를 각각 4개의 비트열만으로 표현 가능한 데이터인 "0x01"(311), "0x02"(312), "0x03"(321) 및 "0x04"(322)로 변환할 수 있다.
그리고 나서, 그룹화부(112)는 각 문자열 데이터에 대한 변환 데이터들인 "0x01"(311), "0x02"(312), "0x03"(321) 및 "0x04"(322)를 선정된 제2 개수 별로 그룹화하여 적어도 하나의 변환 데이터 그룹을 생성할 수 있다.
본 예에서 그룹화부(112)는 "0x01"(311), "0x02"(312), "0x03"(321) 및 "0x04"(322)를 2개씩 그룹화하여 도 3의 도면부호 310에 도시된 바와 같이, "0x01"(311)과 "0x02"(312)를 제1 그룹으로 생성할 수 있고, 도 2의 도면부호 320에 도시된 바와 같이, "0x03"(321)과 "0x04"(322)를 제2 그룹으로 생성할 수 있다.
이렇게, 상기 변환 데이터들에 대한 그룹화가 완료되면, 병합 데이터 생성부(113)는 상기 제1 그룹에 속한 변환 데이터인 "0x01"(311)과 "0x02"(312)를 병합하여 8비트의 병합 데이터를 생성하고, 상기 제2 그룹에 속한 변환 데이터인 "0x03"(321)과 "0x04"(322)를 병합하여 8비트의 병합 데이터를 생성할 수 있다.
이와 관련하여, 상기 병합 데이터를 생성하기 위해, 시프트 수행부(116)는 도면부호 310에 도시된 바와 같이, 상기 제1 그룹에 속한 변환 데이터들을 각각 "0x01"(311)과 "0x02"(312)로 구분하고, "0x01"(311)에 대해 4개의 비트수만큼 비트열 시프트를 수행할 수 있다.
이때, 본 발명의 일실시예에 따르면, 시프트 수행부(116)는 "0x01"(311)에 대해 4개의 비트수만큼 좌측으로 비트열 시프트를 수행할 수 있다.
먼저, "0x01"(311)과 "0x02"(312)를 비트열로 표현하면, 각각 "00000001"(313)과 "000000010"(314)이 된다. 이때, 시프트 수행부(116)는 "00000001"(313)의 8개의 비트열 중 뒤의 4개의 비트열을 좌측으로 4개의 비트수만큼 비트열 시프트를 수행하여 "00010000"(315)을 생성할 수 있다.
그리고 나서, 논리 연산 수행부(117)는 비트열 시프트가 수행된 데이터인 "00010000"(315)과, "00000010"(314) 간에 논리 연산을 수행하여 8비트의 비트수를 갖는 병합 데이터를 생성할 수 있다.
이때, 논리 연산 수행부(117)는 비트열 시프트가 수행된 데이터인 "00010000"(315)과, "00000010"(314) 간에 배타적 논리합(XOR) 또는 논리합(OR) 중 어느 하나를 수행함으로써, 8비트의 병합 데이터 "00010010"(316)을 생성할 수 있다.
여기서, 8비트의 병합 데이터 "00010010"(316)을 16진수로 표현하면, "0x12"(317)이므로, 결국, 병합 데이터 생성부(113)는 상기 제1 그룹에서 "0x01"(311)과 "0x02"(312)를 병합하여 "0x12"(317)라는 새로운 병합 데이터를 생성할 수 있다.
앞서, 상기 제1 그룹에 대한 병합 데이터 생성 과정과 유사하게, 시프트 수행부(116)는 도면부호 320에 도시된 바와 같이, 상기 제2 그룹에 속한 변환 데이터들을 각각 "0x03"(321)과 "0x04"(322)로 구분하고, "0x03"(321)에 대해 4개의 비트수만큼 비트열 시프트를 수행할 수 있다.
이때, 본 발명의 일실시예에 따르면, 시프트 수행부(116)는 "0x03"(321)에 대해 4개의 비트수만큼 좌측으로 비트열 시프트를 수행할 수 있다.
먼저, "0x03"(321)과 "0x04"(322)를 비트열로 표현하면, 각각 "00000011"(323)과 "000000100"(324)이 된다. 이때, 시프트 수행부(116)는 "00000011"(323)의 8개의 비트열 중 뒤의 4개의 비트열을 좌측으로 4개의 비트수만큼 비트열 시프트를 수행하여 "00110000"(325)을 생성할 수 있다.
그리고 나서, 논리 연산 수행부(117)는 비트열 시프트가 수행된 데이터인 "00110000"(325)과, "00000100"(324) 간에 논리 연산을 수행하여 8비트의 비트수를 갖는 병합 데이터를 생성할 수 있다.
이때, 논리 연산 수행부(117)는 비트열 시프트가 수행된 데이터인 "00110000"(325)과, "00000100"(324) 간에 배타적 논리합 또는 논리합 중 어느 하나를 수행함으로써, 8비트의 병합 데이터 "00110100"(326)을 생성할 수 있다.
여기서, 8비트의 병합 데이터 "00110100"(326)을 16진수로 표현하면, "0x34"(327)이므로, 결국, 병합 데이터 생성부(113)는 상기 제2 그룹에서 "0x03"(321)과 "0x04"(322)를 병합하여 "0x34"(327)라는 새로운 병합 데이터를 생성할 수 있다.
결국, 병합 데이터 생성부(113)는 각각 8비트의 크기를 갖는 변환 데이터들인 "0x01"(311), "0x02"(312), "0x03"(321) 및 "0x04"(322)에 대해 "0x01"(311)과 "0x02"(312)를 병합하여 8비트의 크기를 갖는 병합 데이터 "0x12"(317)를 생성할 수 있고, "0x03"(321)과 "0x04"(322)를 병합하여 8비트의 크기를 갖는 병합 데이터 "0x34"(327)를 생성할 수 있다.
이렇게, 병합 데이터 생성부(113)를 통해 적어도 하나의 병합 데이터가 생성되면, 출력 데이터 생성부(114)는 상기 생성된 적어도 하나의 병합 데이터를 조합하여 출력 데이터를 생성한다.
앞서, 도 3을 기초로 설명한 예를 이용하면, 출력 데이터 생성부(114)는 병합 데이터 생성부(113)에서 생성된 병합 데이터인 "0x12"(317)와 "0x34"(327)를 조합하여 출력 데이터를 생성할 수 있다. 여기서, "0x12"(317)와 "0x34"(327)를 비트열로 표현하면, 각각 "00010010"(316)과 "00110100"(326)이 되기 때문에, 출력 데이터 생성부(114)에서 생성된 출력 데이터는 "00010010"(316)과 "00110100"(326)이 조합된 "0001001000110100"이 될 수 있다.
결국, 본 발명의 일실시예에 따른 데이터 크기 조정 장치(110)는 선정된 문자열로 구성된 데이터가 입력되면, 입력 데이터를 구성하는 각 문자열 데이터를 선정된 개수의 비트열만으로 표현 가능한 데이터로 변환한 후 각 변환 데이터들을 소정의 개수로 구분하여 각 구분된 변환 데이터들 간의 데이터 병합을 수행함으로써, 데이터의 크기를 감소시킬 수 있다.
관련하여, 앞서, 도 2와 도 3을 참조하여 설명한 예에서 데이터 크기 조정 장치(110)는 "1234"라는 문자열이 포함된 총 32비트의 입력 데이터 "00110001001100100011001100110100"을 최종적으로 16비트의 출력 데이터 "0001001000110100"으로 변환함으로써, 데이터의 크기를 반으로 감소시킬 수 있었다.
이로 인해, 본 발명의 일실시예에 따른 데이터 크기 조정 장치(110)는 데이터베이스 등에 데이터를 암호화하여 저장할 때, 상기 데이터에 대한 암호화를 수행하기 전에 상기 데이터의 크기를 감소시킬 수 있어서, 데이터 암호화에 따라 발생할 수 있는 저장 공간 용량 부족을 방지할 수 있다.
이때, 본 발명의 일실시예에 따르면, 데이터 크기 조정 장치(110)는 데이터 크기 조정 장치(110) 내에 별도의 암호화 모듈 없이, 데이터 크기 조정 장치(110)가 입력 데이터의 크기를 축소시킨 출력 데이터를 생성하면, 암호화 모듈이 탑재된 별도의 장치가 상기 출력 데이터를 암호화하도록 구현될 수도 있지만, 데이터 크기 조정 장치(110) 내에 암호화 모듈을 직접 포함시켜서, 데이터 크기 조정 장치(110)를 직접 암호화 가능한 장치로 활용할 수도 있다.
이와 관련하여, 본 발명의 일실시예에 따르면, 데이터 크기 조정 장치(110)는 암호화 수행부(118)를 더 포함할 수 있다.
암호화 수행부(118)는 출력 데이터 생성부(114)에서 생성된 출력 데이터에 대해 선정된 암호화 기법에 기초하여 암호화를 수행한다.
이때, 암호화 수행부(118)는 상기 출력 데이터에 대해 베이스(base)64 인코딩 기법에 기초하여 암호화를 수행할 수 있다.
도 4는 본 발명의 일실시예에 따른 데이터 크기 조정 방법을 도시한 순서도이다.
단계(S410)에서는 적어도 하나의 선정된 문자열로 구성된 입력 데이터가 입력되면, 상기 입력 데이터를 구성하는 n(단, n은 자연수) 비트의 각 문자열 데이터를 상기 n이하의 선정된 제1 개수의 비트열만으로 표현 가능한 데이터로 변환한다.
이때, 본 발명의 일실시예에 따르면, 상기 데이터 크기 조정 방법은 단계(S410)이전에 복수의 선정된 문자열 데이터들에 대한 정보와, 상기 복수의 선정된 문자열 데이터들에 대한 정보 각각에 대해 상기 선정된 제1 개수의 비트열만으로 표현 가능한 복수의 선정된 변환 데이터들에 대한 정보가 서로 대응되도록 저장된 변환 테이블을 유지하는 단계를 더 포함할 수 있다.
이때, 단계(S410)에서는 상기 변환 테이블을 참조하여 상기 각 문자열 데이터를 상기 선정된 제1 개수의 비트열만으로 표현 가능한 데이터로 변환할 수 있다.
단계(S420)에서는 상기 각 문자열 데이터에 대한 변환 데이터들을 선정된 제2 개수 별로 그룹화하여 적어도 하나의 변환 데이터 그룹을 생성한다.
단계(S430)에서는 상기 적어도 하나의 변환 데이터 그룹 각각에 포함되어 있는 상기 선정된 제2 개수의 변환 데이터들을 병합하여 상기 적어도 하나의 변환 데이터 그룹 별로 상기 n 비트의 비트수를 갖는 적어도 하나의 병합 데이터를 생성한다.
이때, 본 발명의 일실시예에 따르면, 단계(S430)에서는 상기 적어도 하나의 변환 데이터 그룹 각각에 포함되어 있는 상기 선정된 제2 개수의 변환 데이터들을 적어도 하나의 제1 변환 데이터와 적어도 하나의 제2 변환 데이터로 구분하고, 상기 적어도 하나의 제1 변환 데이터에 대해 상기 선정된 제1 개수만큼 비트열 시프트를 수행하는 단계 및 상기 비트열 시프트가 수행된 적어도 하나의 제1 변환 데이터와, 상기 적어도 하나의 제2 변환 데이터 간에 논리 연산을 수행하여 상기 적어도 하나의 변환 데이터 그룹 별로 상기 n 비트의 비트수를 갖는 상기 적어도 하나의 병합 데이터를 생성하는 단계를 포함할 수 있다.
이때, 본 발명의 일실시예에 따르면, 상기 비트열 시프트를 수행하는 단계는 상기 적어도 하나의 제1 변환 데이터에 대해 상기 선정된 제1 개수만큼 좌측으로 비트열 시프트를 수행할 수 있다.
또한, 본 발명의 일실시예에 따르면, 상기 논리 연산을 수행하여 상기 적어도 하나의 변환 데이터 그룹 별로 상기 n 비트의 비트수를 갖는 상기 적어도 하나의 병합 데이터를 생성하는 단계는 상기 비트열 시프트가 수행된 적어도 하나의 제1 변환 데이터와, 상기 적어도 하나의 제2 변환 데이터 간에 배타적 논리합 또는 논리합 중 어느 하나를 수행할 수 있다.
단계(S440)에서는 상기 생성된 적어도 하나의 병합 데이터를 조합하여 출력 데이터를 생성한다.
이때, 본 발명의 일실시예에 따르면, 상기 데이터 크기 조정 방법은 단계(S440)이후에 상기 출력 데이터에 대해 선정된 암호화 기법에 기초하여 암호화를 수행하는 단계를 더 포함할 수 있다.
이때, 상기 암호화를 수행하는 단계는 상기 출력 데이터에 대해 베이스64 인코딩 기법에 기초하여 암호화를 수행할 수 있다.
이상, 도 4를 참조하여 본 발명의 일실시예에 따른 데이터 크기 조정 방법에 대해 설명하였다. 여기서, 본 발명의 일실시예에 따른 데이터 크기 조정 방법은 도 1 내지 도 3을 이용하여 설명한 데이터 크기 조정 장치(110)의 동작에 대한 구성과 대응될 수 있으므로, 이에 대한 보다 상세한 설명은 생략하기로 한다.
본 발명의 일실시예에 따른 데이터 크기 조정 방법은 다양한 컴퓨터 수단을 통하여 수행될 수 있는 프로그램 명령 형태로 구현되어 컴퓨터 판독 가능 매체에 기록될 수 있다. 상기 컴퓨터 판독 가능 매체는 프로그램 명령, 데이터 파일, 데이터 구조 등을 단독으로 또는 조합하여 포함할 수 있다. 상기 매체에 기록되는 프로그램 명령은 본 발명을 위하여 특별히 설계되고 구성된 것들이거나 컴퓨터 소프트웨어 당업자에게 공지되어 사용 가능한 것일 수도 있다. 컴퓨터 판독 가능 기록 매체의 예에는 하드 디스크, 플로피 디스크 및 자기 테이프와 같은 자기 매체(magnetic media), CD-ROM, DVD와 같은 광기록 매체(optical media), 플롭티컬 디스크(floptical disk)와 같은 자기-광 매체(magneto-optical media), 및 롬(ROM), 램(RAM), 플래시 메모리 등과 같은 프로그램 명령을 저장하고 수행하도록 특별히 구성된 하드웨어 장치가 포함된다. 프로그램 명령의 예에는 컴파일러에 의해 만들어지는 것과 같은 기계어 코드뿐만 아니라 인터프리터 등을 사용해서 컴퓨터에 의해서 실행될 수 있는 고급 언어 코드를 포함한다. 상기된 하드웨어 장치는 본 발명의 동작을 수행하기 위해 하나 이상의 소프트웨어 모듈로서 작동하도록 구성될 수 있으며, 그 역도 마찬가지이다.
이상과 같이 본 발명에서는 구체적인 구성 요소 등과 같은 특정 사항들과 한정된 실시예 및 도면에 의해 설명되었으나 이는 본 발명의 보다 전반적인 이해를 돕기 위해서 제공된 것일 뿐, 본 발명은 상기의 실시예에 한정되는 것은 아니며, 본 발명이 속하는 분야에서 통상적인 지식을 가진 자라면 이러한 기재로부터 다양한 수정 및 변형이 가능하다.
따라서, 본 발명의 사상은 설명된 실시예에 국한되어 정해져서는 아니되며, 후술하는 특허청구범위뿐 아니라 이 특허청구범위와 균등하거나 등가적 변형이 있는 모든 것들은 본 발명 사상의 범주에 속한다고 할 것이다.
110: 데이터 크기 조정 장치
111: 데이터 변환부 112: 그룹화부
113: 병합 데이터 생성부 114: 출력 데이터 생성부
115: 변환 테이블 관리부 116: 시프트 수행부
117: 논리 연산 수행부 118: 암호화 수행부

Claims (13)

  1. 적어도 하나의 선정된(predetermined) 문자열로 구성된 입력 데이터가 입력되면, 상기 입력 데이터를 구성하는 n(단, n은 자연수) 비트의 각 문자열 데이터를 상기 n이하의 선정된 제1 개수의 비트열만으로 표현 가능한 데이터로 변환하는 데이터 변환부;
    상기 각 문자열 데이터에 대한 변환 데이터들을 선정된 제2 개수 별로 그룹화(grouping)하여 적어도 하나의 변환 데이터 그룹을 생성하는 그룹화부;
    상기 적어도 하나의 변환 데이터 그룹 각각에 포함되어 있는 상기 선정된 제2 개수의 변환 데이터들을 병합하여 상기 적어도 하나의 변환 데이터 그룹 별로 상기 n 비트의 비트수를 갖는 적어도 하나의 병합 데이터를 생성하는 병합 데이터 생성부; 및
    상기 생성된 적어도 하나의 병합 데이터를 조합하여 출력 데이터를 생성하는 출력 데이터 생성부
    를 포함하고,
    상기 병합 데이터 생성부는
    상기 적어도 하나의 변환 데이터 그룹 각각에 포함되어 있는 상기 선정된 제2 개수의 변환 데이터들을 적어도 하나의 제1 변환 데이터와 적어도 하나의 제2 변환 데이터로 구분하고, 상기 적어도 하나의 제1 변환 데이터에 대해 상기 선정된 제1 개수만큼 비트열 시프트(shift)를 수행하는 시프트 수행부; 및
    상기 비트열 시프트가 수행된 적어도 하나의 제1 변환 데이터와, 상기 적어도 하나의 제2 변환 데이터 간에 논리 연산을 수행하여 상기 적어도 하나의 변환 데이터 그룹 별로 상기 n 비트의 비트수를 갖는 상기 적어도 하나의 병합 데이터를 생성하는 논리 연산 수행부
    를 포함하는 데이터 크기 조정 장치.
  2. 제1항에 있어서,
    복수의 선정된 문자열 데이터들에 대한 정보와, 상기 복수의 선정된 문자열 데이터들에 대한 정보 각각에 대해 상기 선정된 제1 개수의 비트열만으로 표현 가능한 복수의 선정된 변환 데이터들에 대한 정보가 서로 대응되도록 저장된 변환 테이블을 저장하여 유지하는 변환 테이블 관리부
    를 더 포함하고,
    상기 데이터 변환부는
    상기 변환 테이블을 참조하여 상기 각 문자열 데이터를 상기 선정된 제1 개수의 비트열만으로 표현 가능한 데이터로 변환하는 데이터 크기 조정 장치.
  3. 삭제
  4. 제1항에 있어서,
    상기 시프트 수행부는
    상기 적어도 하나의 제1 변환 데이터에 대해 상기 선정된 제1 개수만큼 좌측으로 비트열 시프트를 수행하는 데이터 크기 조정 장치.
  5. 제1항에 있어서,
    상기 논리 연산 수행부는
    상기 비트열 시프트가 수행된 적어도 하나의 제1 변환 데이터와, 상기 적어도 하나의 제2 변환 데이터 간에 배타적 논리합(XOR) 또는 논리합(OR) 중 어느 하나를 수행하는 데이터 크기 조정 장치.
  6. 제1항에 있어서,
    상기 출력 데이터에 대해 선정된 암호화 기법에 기초하여 암호화를 수행하는 암호화 수행부
    를 더 포함하는 데이터 크기 조정 장치.
  7. 적어도 하나의 선정된(predetermined) 문자열로 구성된 입력 데이터가 입력되면, 상기 입력 데이터를 구성하는 n(단, n은 자연수) 비트의 각 문자열 데이터를 상기 n이하의 선정된 제1 개수의 비트열만으로 표현 가능한 데이터로 변환하는 단계;
    상기 각 문자열 데이터에 대한 변환 데이터들을 선정된 제2 개수 별로 그룹화(grouping)하여 적어도 하나의 변환 데이터 그룹을 생성하는 단계;
    상기 적어도 하나의 변환 데이터 그룹 각각에 포함되어 있는 상기 선정된 제2 개수의 변환 데이터들을 병합하여 상기 적어도 하나의 변환 데이터 그룹 별로 상기 n 비트의 비트수를 갖는 적어도 하나의 병합 데이터를 생성하는 단계; 및
    상기 생성된 적어도 하나의 병합 데이터를 조합하여 출력 데이터를 생성하는 단계
    를 포함하고,
    상기 적어도 하나의 병합 데이터를 생성하는 단계는
    상기 적어도 하나의 변환 데이터 그룹 각각에 포함되어 있는 상기 선정된 제2 개수의 변환 데이터들을 적어도 하나의 제1 변환 데이터와 적어도 하나의 제2 변환 데이터로 구분하고, 상기 적어도 하나의 제1 변환 데이터에 대해 상기 선정된 제1 개수만큼 비트열 시프트(shift)를 수행하는 단계; 및
    상기 비트열 시프트가 수행된 적어도 하나의 제1 변환 데이터와, 상기 적어도 하나의 제2 변환 데이터 간에 논리 연산을 수행하여 상기 적어도 하나의 변환 데이터 그룹 별로 상기 n 비트의 비트수를 갖는 상기 적어도 하나의 병합 데이터를 생성하는 단계
    를 포함하는 데이터 크기 조정 방법.
  8. 제7항에 있어서,
    복수의 선정된 문자열 데이터들에 대한 정보와, 상기 복수의 선정된 문자열 데이터들에 대한 정보 각각에 대해 상기 선정된 제1 개수의 비트열만으로 표현 가능한 복수의 선정된 변환 데이터들에 대한 정보가 서로 대응되도록 저장된 변환 테이블을 유지하는 단계
    를 더 포함하고,
    상기 변환하는 단계는
    상기 변환 테이블을 참조하여 상기 각 문자열 데이터를 상기 선정된 제1 개수의 비트열만으로 표현 가능한 데이터로 변환하는 데이터 크기 조정 방법.
  9. 삭제
  10. 제7항에 있어서,
    상기 비트열 시프트를 수행하는 단계는
    상기 적어도 하나의 제1 변환 데이터에 대해 상기 선정된 제1 개수만큼 좌측으로 비트열 시프트를 수행하는 데이터 크기 조정 방법.
  11. 제7항에 있어서,
    상기 논리 연산을 수행하여 상기 적어도 하나의 변환 데이터 그룹 별로 상기 n 비트의 비트수를 갖는 상기 적어도 하나의 병합 데이터를 생성하는 단계는
    상기 비트열 시프트가 수행된 적어도 하나의 제1 변환 데이터와, 상기 적어도 하나의 제2 변환 데이터 간에 배타적 논리합(XOR) 또는 논리합(OR) 중 어느 하나를 수행하는 데이터 크기 조정 방법.
  12. 제7항에 있어서,
    상기 출력 데이터에 대해 선정된 암호화 기법에 기초하여 암호화를 수행하는 단계
    를 더 포함하는 데이터 크기 조정 방법.
  13. 제7항 내지 제8항 또는 제10항 내지 제12항 중 어느 한 항의 방법을 수행하는 프로그램을 기록한 컴퓨터 판독 가능 기록 매체.
KR1020120039043A 2011-07-25 2012-04-16 데이터 크기 조정 장치 및 방법 KR101312374B1 (ko)

Applications Claiming Priority (2)

Application Number Priority Date Filing Date Title
KR20110073499 2011-07-25
KR1020110073499 2011-07-25

Publications (2)

Publication Number Publication Date
KR20130012540A KR20130012540A (ko) 2013-02-04
KR101312374B1 true KR101312374B1 (ko) 2013-09-27

Family

ID=47893216

Family Applications (1)

Application Number Title Priority Date Filing Date
KR1020120039043A KR101312374B1 (ko) 2011-07-25 2012-04-16 데이터 크기 조정 장치 및 방법

Country Status (1)

Country Link
KR (1) KR101312374B1 (ko)

Families Citing this family (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
KR101282653B1 (ko) * 2013-03-04 2013-07-12 소프트포럼 주식회사 데이터 치환 암호화 장치 및 방법

Citations (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JPH1056448A (ja) * 1996-08-08 1998-02-24 Rooreru Intelligent Syst:Kk 情報伝達方法、通信装置、及び記憶媒体
KR100349332B1 (ko) * 1999-05-26 2002-08-21 마츠시타 덴끼 산교 가부시키가이샤 데이터 암호화장치 및 방법
KR100362458B1 (ko) * 1998-04-27 2002-11-23 마츠시타 덴끼 산교 가부시키가이샤 암호화 처리장치, 암호화 처리방법 및 보안성을 손상시키지 않고 고속으로 암호화 처리를 실현하는 암호화 처리 프로그램을 기록하는 기록매체
JP2004004603A (ja) * 2002-04-03 2004-01-08 Matsushita Electric Ind Co Ltd 拡大鍵生成装置、暗号化装置および暗号化システム

Patent Citations (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JPH1056448A (ja) * 1996-08-08 1998-02-24 Rooreru Intelligent Syst:Kk 情報伝達方法、通信装置、及び記憶媒体
KR100362458B1 (ko) * 1998-04-27 2002-11-23 마츠시타 덴끼 산교 가부시키가이샤 암호화 처리장치, 암호화 처리방법 및 보안성을 손상시키지 않고 고속으로 암호화 처리를 실현하는 암호화 처리 프로그램을 기록하는 기록매체
KR100349332B1 (ko) * 1999-05-26 2002-08-21 마츠시타 덴끼 산교 가부시키가이샤 데이터 암호화장치 및 방법
JP2004004603A (ja) * 2002-04-03 2004-01-08 Matsushita Electric Ind Co Ltd 拡大鍵生成装置、暗号化装置および暗号化システム

Also Published As

Publication number Publication date
KR20130012540A (ko) 2013-02-04

Similar Documents

Publication Publication Date Title
US20190158296A1 (en) Redactable document signatures
US9172533B2 (en) Method and system for securing communication
KR101989813B1 (ko) 특정 포맷을 가지는 대체 데이터의 생성 및 검증
US11050552B2 (en) System and method for hashing a data string using an image
KR101768605B1 (ko) 전송 메시지에 대한 부인 방지가 가능한 데이터 전송 장치 및 방법
CN109845182A (zh) 密码消息与认证指令
US20150128032A1 (en) Generating Canonical Representations of JSON Documents
US20230315858A1 (en) Configurable code signing system and method
Dey Amalgamation of cyclic bit operation in sd-ei image encryption method: An advanced version of sd-ei method: Sd-ei ver-2
CN113922968A (zh) 访问令牌的生成及校验方法、装置、电子设备和存储介质
WO2021217939A1 (zh) 用于区块链数据处理的方法、装置及可读存储介质
KR101282653B1 (ko) 데이터 치환 암호화 장치 및 방법
WO2022028255A1 (zh) 一种针对手机企业微信的数据提取方法,系统以及存储介质
KR101312374B1 (ko) 데이터 크기 조정 장치 및 방법
Márquez-Corbella et al. Computational aspects of retrieving a representation of an algebraic geometry code
US20230025870A1 (en) Password authentication apparatus, password authentication method, and computer readable medium
CN104767622B (zh) 加密方法及装置
JP5427117B2 (ja) メッセージ認証子生成装置、メッセージ認証子検証装置、メッセージ認証子生成方法、メッセージ認証子検証方法、およびプログラム
CN116664123A (zh) 一种基于区块链技术的数字钱包设计方法
US11528146B1 (en) Fork table of an authenticated index data structure
KR101977128B1 (ko) 장문 텍스트열에 대한 고정 길이 암호화 장치 및 방법
Parikibandla et al. Low area field‐programmable gate array implementation of PRESENT image encryption with key rotation and substitution
US20130188790A1 (en) Cryptographic key
KR102466721B1 (ko) 전자 문서를 지식 데이터 문서로 변환하는 전자 장치 및 그 동작 방법
US20230379138A1 (en) Format-preserving data encryption

Legal Events

Date Code Title Description
A201 Request for examination
A302 Request for accelerated 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: 20160901

Year of fee payment: 4

FPAY Annual fee payment

Payment date: 20170901

Year of fee payment: 5

FPAY Annual fee payment

Payment date: 20180903

Year of fee payment: 6

FPAY Annual fee payment

Payment date: 20190902

Year of fee payment: 7