KR101129335B1 - Data distribution storing and restoring methods and apparatuses - Google Patents

Data distribution storing and restoring methods and apparatuses Download PDF

Info

Publication number
KR101129335B1
KR101129335B1 KR1020100053515A KR20100053515A KR101129335B1 KR 101129335 B1 KR101129335 B1 KR 101129335B1 KR 1020100053515 A KR1020100053515 A KR 1020100053515A KR 20100053515 A KR20100053515 A KR 20100053515A KR 101129335 B1 KR101129335 B1 KR 101129335B1
Authority
KR
South Korea
Prior art keywords
value
split
size
xor operation
plain text
Prior art date
Application number
KR1020100053515A
Other languages
Korean (ko)
Other versions
KR20110133870A (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 KR1020100053515A priority Critical patent/KR101129335B1/en
Publication of KR20110133870A publication Critical patent/KR20110133870A/en
Application granted granted Critical
Publication of KR101129335B1 publication Critical patent/KR101129335B1/en

Links

Images

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F16/00Information retrieval; Database structures therefor; File system structures therefor
    • G06F16/10File systems; File servers
    • G06F16/18File system types
    • G06F16/182Distributed file systems
    • G06F16/1834Distributed file systems implemented based on peer-to-peer networks, e.g. gnutella
    • G06F16/1837Management specially adapted to peer-to-peer storage networks
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F16/00Information retrieval; Database structures therefor; File system structures therefor
    • G06F16/10File systems; File servers
    • G06F16/18File system types
    • G06F16/182Distributed file systems
    • G06F16/184Distributed file systems implemented as replicated file system
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F16/00Information retrieval; Database structures therefor; File system structures therefor
    • G06F16/20Information retrieval; Database structures therefor; File system structures therefor of structured data, e.g. relational data
    • G06F16/27Replication, distribution or synchronisation of data between databases or within a distributed database system; Distributed database system architectures therefor
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F8/00Arrangements for software engineering
    • G06F8/60Software deployment
    • G06F8/65Updates

Landscapes

  • Engineering & Computer Science (AREA)
  • Theoretical Computer Science (AREA)
  • General Engineering & Computer Science (AREA)
  • Physics & Mathematics (AREA)
  • General Physics & Mathematics (AREA)
  • Databases & Information Systems (AREA)
  • Data Mining & Analysis (AREA)
  • Software Systems (AREA)
  • Computer Security & Cryptography (AREA)
  • Computing Systems (AREA)
  • Storage Device Security (AREA)

Abstract

AONT 암호화 모드를 사용하여 안전성을 향상시키고 효율성 측면에서 XOR 연산을 적용한 대용량 데이터의 분산 저장 및 복원을 위한 방법 및 그 장치가 제공된다. 다수의 난수를 기초로 하여 평문을 다수의 분할값으로 분할한다. 상기 다수의 분할값을 분할한 크기에 비례하여 오름 차순 또는 내림 차순으로 정렬한다. 최후미의 분할 값은 그대로 내리고 다음으로 최후미의 값과 바로 앞에 붙어있는 분할값과 XOR 연산을 한 결과값을 앞에 붙이게 되며, 이를 제일 앞의 분할값까지 계산하여 결과값을 얻고, 뒤의 평문 분할 크기와 앞의 평문 분할 크기가 다른 경우에는 앞의 크기와 동일하게 뒤의 분할 평문값을 앞에서부터 크기를 맞춘 후 마지막 부분은 삭제하며, 상기 오름 차순 또는 내림 차순 정렬된 평문 분할값에 대한 XOR 연산을 수행한다. 상기 단계들을 다수 회 반복하여 다수의 비밀 분산 데이터를 구성하여 다수의 데이터베이스에 각각 분산 저장한다.A method and apparatus for distributed storage and retrieval of a large amount of data using an AONT encryption mode to improve safety and applying an XOR operation in terms of efficiency are provided. Based on a plurality of random numbers, the plain text is divided into a plurality of split values. The plurality of split values are arranged in ascending or descending order in proportion to the divided size. The last split value is lowered as it is, followed by the last split value, the split value immediately preceding it, and the result of performing the XOR operation. If the split size is different from the previous plain text split size, the rear part plain text value is adjusted from the front to the same size as the previous size, and the last part is deleted, and the XOR of the plain text split value sorted in ascending or descending order is deleted. Perform the operation. The above steps are repeated a plurality of times to construct a plurality of secret distributed data, each distributed and stored in a plurality of databases.

Description

데이터 분산 저장 및 복원 방법 및 그 장치{Data distribution storing and restoring methods and apparatuses}Data distribution storing and restoring methods and apparatuses

본 발명은 데이터 분산 저장 및 복원에 관한 것으로, 더 상세하게는 데이터를 분산 저장하고 복원하는 방법 및 그 장치에 관한 것이다.The present invention relates to data distribution storage and retrieval, and more particularly, to a method and apparatus for distributed storage and retrieval of data.

기업은 종이 형태로 보유하는 있는 기밀 정보도 적지 않지만 향후 이러한 데이터의 급격한 디지털화가 진행될 것으로 예상됨에 따라 기업 내 PC 검색뿐만이 아니라 회의실에 있는 공유 PC로부터 검색하기도 하고 외부 출장지로부터 휴대 단말 등으로 접근하는 경우도 증가하고 있다. 또한, 유비쿼터스 시대에는 과거와 달리 대용량의 데이터들이 다양한 유통채널을 통해 발생하고 있다. 예를 들면, CRM의 고객 정보, 센서 정보 등 실시간으로 데이터들의 저장이 이루어지고 있다. 유비쿼터스 컴퓨팅 환경이 본격화됨에 따라 사용자의 위치정보 등 실시간으로 관리해야 할 데이터가 기하급수적으로 증가되고 있으며 향후 대부분의 기업에서 대용량 데이터베이스를 관리해야 할 전망이다. 그러나 네트워크 취약성 및 사용자의 다양한 이용형태로부터 악의적인 공격자나 내부 사용자에 의한 프라이버시 침해가 발생할 수 있어 이에 대한 보안 대책이 시급한 실정이다. 대용량 데이터베이스 시스템에 기존의 암호화 방식만으로 보안성을 유지하기는 현실적으로 어려우며, 이를 보완하기 위하여 데이터 분산 보안관리가 매우 안전한 방법으로 각광받고 있다. 그러나 기존의 비밀 분산 방식을 여기에 적용할 경우, 비밀 분산정보(Share)가 원 데이터의 크기와 동일하게 되어 대용량 데이터베이스에 적용하는데 적합하지 않다. While there are not a lot of confidential information that companies have in paper form, it is expected that the rapid digitization of such data will proceed in the future, so that not only the PC search in the company but also the search in the shared PC in the meeting room and the mobile terminal from the external business trip are accessed. Is also increasing. In addition, in the ubiquitous era, unlike the past, a large amount of data is generated through various distribution channels. For example, data is stored in real time, such as customer information and sensor information of CRM. As the ubiquitous computing environment is in full swing, data to be managed in real time, such as user's location information, is increasing exponentially, and most companies are expected to manage large databases in the future. However, privacy vulnerabilities by malicious attackers or internal users can occur from network vulnerabilities and various types of users, so security measures are urgently needed. It is practically difficult to maintain security only by the existing encryption method in a large database system, and in order to compensate for this, data distributed security management has been spotlighted as a very secure method. However, if the existing secret distribution method is applied to it, the secret distribution information (Share) becomes the same as the original data size, which is not suitable for large databases.

인터넷상에서 대용량 데이터의 급속한 유통 및 지속적인 증가로 인해 서비스 시스템의 비용과 확장성이 인터넷 서비스 업체의 경쟁력 확보에 중요한 요소가 되고 있다. 구글, 야후 등 글로벌 인터넷 서비스 업체들은 인터넷 서비스 플랫폼의 중요성을 인식하고 자체 연구 개발을 수행, 저가 상용 노드를 기반으로 한 대규모 클러스터 기반의 분산 컴퓨팅 플랫폼 기술을 개발 활용하고 있다.Due to the rapid distribution and continuous increase of large amounts of data on the Internet, the cost and scalability of service systems have become an important factor in securing the competitiveness of Internet service providers. Global Internet service companies such as Google and Yahoo recognize the importance of the Internet service platform, conduct their own research and development, and develop and utilize large-scale cluster-based distributed computing platform technology based on low-cost commercial nodes.

이와 같이 인터넷 서비스 데이터량의 지속적인 증가로 대량의 원시 데이터로부터 정보를 가공 처리하는 과정, 체계화된 정보의 저장 관리 및 유용한 정보를 추출하기 위한 분석 등에 분산 컴퓨팅 기술을 적용하는 움직임이 활발히 진행되고 있다.As a result of the continuous increase in the amount of Internet service data, there is an active movement to apply distributed computing technology to the process of processing information from a large amount of raw data, to manage and store structured information, and to analyze useful information.

대용량 데이터 처리 및 저장 관리가 필요한 대표적인 어플리케이션으로는 인터넷 서비스 분야뿐만 아니라 예를 들면, 비즈니스 인텔리전스 등 다른 응용 영역으로 확대하여 클라우드 서비스로 제공하려는 비즈니스 모델이 제시되고 있다. 클라우드 서비스는 크게 컴퓨팅 인프라를 서비스로 제공하는 IaaS, 응용을 개발 및 운영할 수 있는 소프트웨어 플랫폼을 서비스로 제공하는 PaaS, 개인이나 기업에서 필요로 하는 소프트웨어를 서비스로 제공, 이용할 수 있게 하는 SaaS 등으로 구분된다. 특히, PaaS 서비스는 어플리케이션 분야에 따라 소프트웨어 플랫폼의 구성 요소가 달라진다. 현재 PaaS 서비스로 논의되고 있는 서비스 중 하나가 대규모 데이터 관리 및 처리 서비스이다. 이는 데이터량이 지속적으로 증가하고 있어 많은 어플리케이션에서 대규모 데이터 처리 및 관리가 필요해지고 있는 상황이기 때문이다.Representative applications that require large data processing and storage management have been proposed to provide not only Internet services but also other application areas such as business intelligence to provide cloud services. Cloud services include IaaS, which provides computing infrastructure as a service, PaaS, which provides a software platform for developing and operating applications, and SaaS, which provides software and services needed by individuals and businesses. Are distinguished. In particular, PaaS services have different components of the software platform depending on the application field. One of the services currently being discussed as PaaS services is large-scale data management and processing services. This is because the amount of data is continuously increasing, which requires large data processing and management in many applications.

또한, 네트워크 환경이 진화됨에 따라 네트워크 접속형 스토리지의 이용도 증가함과 동시에 단말의 스토리지 대용량화에 따라 네트워크상의 여러 다른 장소에 데이터를 저장할 수 있는 안전하고 효율적인 네트워크 스토리지 환경이 구현되고 있다. 데이터에의 접근 권한은 부서나 직책 등에 따라 다양하게 설정될 수 있다. 데이터는 접근이 제어되는 데이터베이스를 통해 교환될 뿐만이 아니라 메일이나 인스턴트 메신저 또는 USB 메모리에 의한 데이터 이동 등 다양한 형태로 교환될 것이다. In addition, as the network environment has evolved, the use of network-connected storage has increased, and a safe and efficient network storage environment capable of storing data at various locations on the network has been implemented as the storage capacity of the terminal increases. Access rights to the data can be set in various ways according to the department or position. The data will not only be exchanged through a database that is controlled for access, but also in various forms, such as moving data by mail, instant messenger or USB memory.

이와 같이, 의료 데이터, 영상 콘텐츠의 이용이나 기업의 영업 비밀 관리상의 이용 등의 대용량 데이터가 보다 소형화된 단말에서 이용되는 분산 컴퓨팅 환경에서의 데이터 유통이 가능하고 향후에는 모든 의료정보가 디지털화되고 네트워크를 통해 교환될 것이다. In this way, data can be distributed in a distributed computing environment where a large amount of data, such as the use of medical data, image content, or corporate trade secret management, is used in a smaller terminal. Will be exchanged.

한편, 의료 데이터는 의료 기관 외부의 데이터 센터에 저장되기도 한다. 여기서, 의사가 PC를 사용하여 의료기록을 쓰거나 읽는 것 외에 간호사나 환자 자신이 유비쿼터스 단말을 이용하여 각각의 가중치 부여를 통해 접근 권한 범위 내에서 정보를 확인하고 입력하게 된다. 본 발명에서는 권한 범위를 설정하는 가중치를 이용하여 분산 저장된 데이터의 보안 관리를 수행한다.Medical data may also be stored in data centers outside medical institutions. Here, in addition to writing or reading medical records using a PC, a nurse or a patient himself or herself checks and inputs information within a range of access authority through each weighting using a ubiquitous terminal. In the present invention, security management of distributed and stored data is performed by using a weight for setting a range of authority.

데이터의 안전한 저장 관리 문제의 해결이 시급한 실정으로서 보안상의 위험성을 고려하여 데이터를 암호화한다. 그러나 암호화 방식은 암복호화에 많은 시간이나 메모리를 필요로 한다. AES(Advanced Encryption Standard) 등의 암호화 방식은 비밀 정보 전체가 암호화되기 때문에 키가 해독될 경우, 비밀 정보가 완전하게 유출될 수 있다. 따라서 키 분배 및 관리의 어려움이 존재한다. As it is urgent to solve the problem of secure storage management of data, data is encrypted in consideration of security risks. However, encryption requires a lot of time or memory to decrypt. In the encryption method such as AES (Advanced Encryption Standard), the entire secret information is encrypted, so if the key is decrypted, the secret information can be completely leaked. Thus, there are difficulties in key distribution and management.

비밀 분산 방식은 암호화 방식과 달리 키의 수명이 없기 때문에 공인인증서를 갱신하는 문제가 없으며 운용 면에서 큰 비용을 줄일 수 있다. 하지만, 기존의 비밀 분산 방식은 원 데이터를 분산 저장했을 경우, 분산된 정보인 비밀 분산 정보(Share) 크기와 원 데이터의 크기가 같게 되어 저장해야 할 데이터량이 증가하게 된다. 최근 암호화하기 전에 평문에 적절한 변환을 수행(암호화 모드)하여 기존 암호화 방식의 효율성을 저하하지 않고 안전성을 향상시킬 수 있다는 것이 알려져 있다.Unlike the encryption method, the secret distribution method has no key lifetime, so there is no problem of renewing the certificate, and the operation cost can be greatly reduced. However, in the conventional secret distribution method, when the original data is distributed and stored, the size of the original data is the same as the size of the secret distributed information (Share), which is distributed information, and the amount of data to be stored increases. Recently, it is known that by performing proper conversion (encryption mode) on plain text before encryption, it is possible to improve safety without deteriorating the efficiency of the existing encryption scheme.

본 발명은 종래의 문제점을 해결하기 위한 것으로, AONT 암호화 모드를 사용하여 안전성을 향상시키고 효율성 측면에서 XOR 연산을 적용한 대용량 데이터의 분산 저장 및 복원을 위한 방법 및 그 장치를 제공함에 그 목적이 있다.Disclosure of Invention The present invention has been made to solve a conventional problem, and an object thereof is to provide a method and apparatus for distributed storage and restoration of large-capacity data using an AONT encryption mode to improve security and applying XOR operation in terms of efficiency.

상기한 목적을 달성하기 위하여, 본 발명에 따른 데이터 분산 저장 방법은 (i) 다수의 난수를 기초로 하여 평문을 다수의 분할값으로 분할하는 단계; (ii) 상기 다수의 분할값을 분할한 크기에 비례하여 오름 차순 또는 내림 차순으로 정렬하는 단계; (iii) 최후미의 분할 값은 그대로 내리고 다음으로 최후미의 값과 바로 앞에 붙어있는 분할값과 XOR 연산을 한 결과값을 앞에 붙이게 되며, 이를 제일 앞의 분할값까지 계산하여 결과값을 얻고, 뒤의 평문 분할 크기와 앞의 평문 분할 크기가 다른 경우에는 앞의 크기와 동일하게 뒤의 분할 평문값을 앞에서부터 크기를 맞춘 후 마지막 부분은 삭제하며, 상기 오름 차순 또는 내림 차순 정렬된 평문 분할값에 대한 XOR 연산을 수행하는 단계; 및 (iv) 단계 (ii) 및 (iii)를 다수 회 반복하여 다수의 비밀 분산 데이터를 구성하여 다수의 데이터베이스에 각각 분산 저장하는 단계를 포함하는 것을 특징으로 한다.In order to achieve the above object, the data distributed storage method according to the present invention comprises the steps of: (i) dividing the plain text into a plurality of split values based on a plurality of random numbers; (ii) sorting the plurality of split values in ascending or descending order in proportion to the divided size; (iii) The last split value is lowered as it is, followed by the split value immediately preceding the last value, and the result value of the XOR operation, which is calculated to the first split value to obtain the result value. If the size of the rear plain text split is different from the size of the previous plain text split, the rear part of the plain text is adjusted to the same size as the previous size, and the last part is deleted. The plain text split is sorted in the ascending or descending order. Performing an XOR operation on the; And (iv) repeating steps (ii) and (iii) a plurality of times to construct a plurality of secret distributed data, each of which is distributed and stored in a plurality of databases.

본 발명에 따른 데이터 분산 저장 방법은 (a) 다수의 데이터베이스에 분산 저장된 다수의 비밀 분산 데이터를 독출하여 애그리게이션을 수행하는 단계; (b) 앞의 크기와 다른 경우, 최후미의 분할값을 그대로 내리고 그대로 내린값과 XOR 연산을 수행하는 하는데 바로 앞과 XOR 연산을 거친 결과값과 다시 XOR 연산을 수행하며, 앞 부분의 크기가 클 경우 뒤의 작은 부분을 반복하여 사용하는 방식으로 상기 애그리게이션 결과값에 대한 XOR 연산을 수행하는 단계; 및 (c) 저장된 시드 데이터를 기초로 하여 상기 XOR 연산 결과값을 오름 차순으로 정렬하는 단계; 및 (d) 단계 (a) 내지 (c)를 다수 회 반복하여 평문을 복원하는 단계를 포함하는 것을 특징으로 한다.According to an aspect of the present invention, there is provided a method for distributing and storing data, comprising: (a) reading a plurality of secret distributed data stored in a plurality of databases and performing aggregation; (b) If it is different from the previous size, the last split value is lowered as it is and the XOR operation is performed with the lowered value as it is. The result of the previous and XOR operation and the XOR operation are again performed. Performing an XOR operation on the aggregation result value in such a manner that a small part of the back is repeatedly used if large; And (c) sorting the result of the XOR operation in ascending order based on the stored seed data. And (d) repeating steps (a) to (c) a plurality of times to restore the plain text.

데이터 분산 저장 장치는 다수의 난수를 발생하는 난수 발생기; 상기 발생된 다수의 난수를 시드 값으로서 저장하는 시드 버퍼; 상기 다수의 난수를 기초로 하여 평문을 다수의 분할값으로 분할하는 분할부; 상기 다수의 분할값을 분할한 크기에 비례하여 오름 차순 또는 내림 차순으로 정렬하는 정렬부; 및 최후미의 분할 값은 그대로 내리고 다음으로 최후미의 값과 바로 앞에 붙어있는 분할값과 XOR 연산을 한 결과값을 앞에 붙이게 되며, 이를 제일 앞의 분할값까지 계산하여 결과값을 얻고, 뒤의 평문 분할 크기와 앞의 평문 분할 크기가 다른 경우에는 앞의 크기와 동일하게 뒤의 분할 평문값을 앞에서부터 크기를 맞춘 후 마지막 부분은 삭제하며, 상기 오름 차순 또는 내림 차순 정렬된 평문 분할값에 대한 XOR 연산을 수행하는 XOR 연산부를 포함하는 것을 특징으로 한다.The distributed data storage device includes a random number generator for generating a plurality of random numbers; A seed buffer which stores the generated plurality of random numbers as a seed value; A division unit that divides the plain text into a plurality of division values based on the plurality of random numbers; An alignment unit to sort the plurality of split values in ascending or descending order in proportion to the divided size; And the last split value is lowered as it is, and then the last split value and the previous split value and the result of XOR operation are prepended, and the result is calculated by calculating to the first split value and If the size of the plain text split is different from the size of the previous plain text split, the last part is deleted after adjusting the size of the split back plain text from the front, and then deletes the last part. It characterized in that it comprises an XOR operator for performing the XOR operation.

본 발명에 따른 데이터 복원 장치는 저장된 다수의 비밀 분산 데이터를 독출하여 애그리게이션을 수행하고, 앞의 크기와 다른 경우, 최후미의 분할값을 그대로 내리고 그대로 내린값과 XOR 연산을 수행하는 하는데 바로 앞과 XOR 연산을 거친 결과값과 다시 XOR 연산을 수행하며, 앞 부분의 크기가 클 경우 뒤의 작은 부분을 반복하여 사용하는 방식으로 상기 애그리게이션 결과값에 대한 XOR 연산을 수행하는 XOR 연산부; 저장된 시드 데이터를 기초로 하여 상기 XOR 연산부의 연산 결과값을 오름 차순으로 정렬하는 정렬부; 및 상기 정렬부에 의해 정렬된 상기 XOR 연산부의 연산 결과값을 리버팅하여 시드 데이터로서 재 정렬하는 리버팅부를 포함하는 것을 특징으로 한다. The data recovery apparatus according to the present invention reads a plurality of stored secret distributed data to perform aggregation, and if it is different from the previous size, directly lowers the last split value and performs the XOR operation with the lowered value. An XOR operation for performing the XOR operation on the aggregation result value by repeatedly performing the XOR operation with the result value which has undergone the XOR operation and repeating the small part of the rear part when the size of the front part is large; An alignment unit to sort the calculation result of the XOR operation unit in ascending order based on the stored seed data; And a reversing unit for reversing the calculation result values of the XOR operator arranged by the sorting unit and reordering the seed data as seed data.

본 발명의 실시예에 따른 방법 및 장치는 기존의 비밀 분산 알고리즘에 비해 다음과 같은 장점이 있다.Method and apparatus according to an embodiment of the present invention has the following advantages over the conventional secret distribution algorithm.

리던던시의 최소화Minimize Redundancy

비밀 분산 데이터의 총 합계는 평문과 동일한 크기이며, 이러한 점은 기존의 비밀 분산 방식들과 큰 차이점이 있다. 즉, 기존 임계치 기반 비밀 분산 방식은 리던던시가 존재하며, 이러한 점은 비밀 분산의 총 사이즈가 비밀 조각의 개수만큼 증가하는 문제점이 존재하였다. 본 발명은 비밀 분산의 총 사이즈가 평문과 동일하므로, 리던던시의 최소화가 가능하여 효율적인 처리가 가능하다. The total sum of secret distributed data is the same size as plain text, which is a big difference from the existing secret distributed methods. That is, the existing threshold-based secret distribution scheme has redundancy, and this has a problem in that the total size of the secret distribution increases by the number of secret pieces. In the present invention, since the total size of secret dispersion is the same as that of the plain text, redundancy can be minimized and efficient processing is possible.

크기의 가변성Size variability

기존 비밀 분산 방식은 비밀 분산 정보(share)의 크기를 가변적으로 처리할 수 없다. 즉, 비밀 분산 정보의 사이즈는 평문과 동일하게 출력되며, 이러한 점은 현실적으로, 각 비밀 분산 정보별로 취급의 다양성을 갖지 못한다는 문제가 있다. 본 발명의 방법은 각 비밀 분산 정보의 크기가 가변적이며, 각 비밀 분산 정보의 크기를 자유롭게 조절할 수 있다. 이러한 점은 비밀 분산 정보의 취급이 용이하다는 이점이 있다.The existing secret distribution method cannot variably handle the size of secret distribution information (share). That is, the size of the secret distributed information is output in the same manner as the plain text, and this point has a problem in that, in reality, it does not have a variety of handling for each secret distributed information. In the method of the present invention, the size of each secret distribution information is variable, and the size of each secret distribution information can be freely adjusted. This has the advantage of easy handling of secret distributed information.

암호학적 특성Cryptographic characteristics

본 발명의 방법은 평문의 사이즈와 결과물의 사이즈가 동일하다는 점에서 암호학적 특성이 있다. 이러한 특성은 기존의 암호화 방식과 유사한 성격을 갖게 하나, 방대한 평문에 대하여 기억할 수 있거나 저장할 수 있는 만큼의 데이터를 별도로 분산하여 보관할 수 있으며, 복호화가 키의 소유 여부에 의하여 결정되는 것이 아니라는 점에서 차이가 있다. 이러한 점은 키 관리의 번거로움이 없다는 큰 장점이 있다.The method of the present invention has cryptographic characteristics in that the size of the plain text and the size of the result are the same. This characteristic is similar to the existing encryption method, but it can store and store as much data as can be stored or stored for a large amount of plain text, and the difference is that decryption is not determined by ownership of the key. There is. This is a big advantage that there is no hassle of key management.

비밀 조각 개수의 가변성Variability in Number of Secret Pieces

기존의 임계치 기반 비밀 분산 알고리즘은 비밀 조각의 개수가 비밀 분산 단계에서 결정되어 지며, 한번 비밀 조각으로 분할한 이후에는 비밀 조각의 개수 재조정이 불가능하다. 그러나 본 발명의 방법은 비밀 조각 병합할 수 있다는 특성이 있으므로, 비밀 조각을 모두 생성한 이후에도 비밀 조각의 개수를 자유롭게 조절할 수 있다. 이러한 점은 비밀 조각의 취급을 용이하게 한다.In the existing threshold-based secret distribution algorithm, the number of secret fragments is determined at the secret distribution stage, and once divided into secret fragments, the number of secret fragments cannot be readjusted. However, since the method of the present invention has the property of merging secret fragments, the number of secret fragments can be freely adjusted even after generating all secret fragments. This facilitates the handling of secret pieces.

고속 비밀 분산/복원Fast Secret Dispersion / Restore

본 발명의 방법은 XOR과 의사 난수를 기반으로 작동되므로, Shamir의 알고리즘에 비하여 매우 효율적이다. 또한, 연산 과정에서 블록 단위의 제한을 받지 않고 기억장치로 연산할 수 있는 전체 길이를 한번에 처리할 수 있다는 장점이 있다. The method of the present invention operates on the basis of XOR and pseudorandom numbers, which is very efficient compared to Shamir's algorithm. In addition, there is an advantage that the entire length that can be calculated by the storage device can be processed at a time without being limited by the block unit in the calculation process.

대용량 데이터베이스 적합성Large Database Suitability

대용량 데이터베이스의 취급상 요구사항으로, 다음과 같은 부분을 들 수 있다. (1) 고속 처리가 가능하여야 함, (2) 입력하는 데이터는 가능한 줄일 것, (3) 용량이 큰 데이터베이스일수록 더 많은 데이터가 입력되어야 한다.The handling requirements for large databases include the following: (1) High speed processing should be possible. (2) Data input should be reduced as much as possible. (3) Larger database should be input more data.

본 발명의 방법에 대하여 앞서 언급한 주요 특징으로, XOR과 의사 난수를 기반으로 하는 고속 처리가 가능하다는 점과, 리던던시가 존재하지 않는다는 특성, 비밀 분산 사이즈를 가변적으로 조절할 수 있다는 점에서 위의 세 가지 요구사항을 모두 만족한다. 즉, 본 발명은 대용량 데이터베이스에 적합하다.As the above-mentioned main features of the method of the present invention, it is possible to perform high-speed processing based on XOR and pseudorandom numbers, the absence of redundancy, and the ability to variably control the secret dispersion size. It satisfies all two requirements. That is, the present invention is suitable for a large database.

본 발명은 기밀성이 높은 의료데이터, 고객의 개인정보를 포함하는 영업 비밀 등의 대용량 데이터가 외부에 일부가 유출되더라도 가용성을 유지할 수 있고 효율적으로 분산 관리하는 알고리즘으로서의 이용이 기대된다.The present invention is expected to be used as an algorithm that can maintain availability and efficiently distribute and manage a large amount of large data such as highly confidential medical data and trade secrets containing personal information of customers.

도 1은 OAEP 암호화 모드를 설명하는 도면이다.
도 2는 효율적인 비분리 암호화 모드를 설명하는 도면이다.
도 3은 본 발명의 실시예에 따른 비밀 분산 알고리즘을 나타낸 도면이다.
도 4는 본 발명의 실시예에 따른 소프트웨어 기능을 나타낸 구성도이다.
도 5는 본 발명의 실시예에 따른 데이터 분산 장치의 구성을 나타낸 블록도이다.
도 6 및 도 7은 도 5에 도시된 데이터 분산 장치에 의한 데이터 분산 과정을 설명하는 도면들이다.
도 8은 본 발명의 실시예에 따른 데이터 복원 장치의 구성을 나타낸 블록도이다.
도 9 및 도 10은 도 5에 도시된 데이터 복원 장치에 의한 데이터 복원 과정을 설명하는 도면들이다.
1 is a diagram illustrating an OAEP encryption mode.
2 is a diagram illustrating an efficient non-separated encryption mode.
3 is a diagram illustrating a secret distribution algorithm according to an embodiment of the present invention.
4 is a block diagram showing a software function according to an embodiment of the present invention.
5 is a block diagram showing the configuration of a data distribution device according to an embodiment of the present invention.
6 and 7 are diagrams illustrating a data distribution process by the data distribution apparatus illustrated in FIG. 5.
8 is a block diagram showing the configuration of a data recovery apparatus according to an embodiment of the present invention.
9 and 10 are diagrams illustrating a data restoration process by the data restoration apparatus illustrated in FIG. 5.

이하, 본 발명의 실시예을 첨부 도면을 참조하여 상세히 설명한다. Hereinafter, embodiments of the present invention will be described in detail with reference to the accompanying drawings.

본 발명에서 쓰이는 용어는 다음과 같다.

Figure 112010036474560-pat00001
는 EXCLUSIVE-OR(XOR) 연산,?는 비트 연결, m는 평문, s는 평문 블록 수, 및 R은 라운드 회수를 나타낸다.The terms used in the present invention are as follows.
Figure 112010036474560-pat00001
Denotes an EXCLUSIVE-OR (XOR) operation,? Denotes a bit connection, m denotes plaintext, s denotes the number of plaintext blocks, and R denotes the number of rounds.

OAEP(Optimal Asymmetric Encryption Padding) 암호화 모드Optimal Asymmetric Encryption Padding (OAEP) Encryption Mode

OAEP는 1994년 Bellare와 Rogaway에 의해 도입되었다. 도 1은 OAEP 암호화 모드를 설명하는 도면이다. 도 1을 참조하면, 사용자는 보안 파라미터 k를 입력으로 암호화 모드 f: {0, 1}k → {0,1}k로 한다. 평문의 크기는 n 비트로 하고, n = k - k0 - k1이 되는 k0, k1을 선택한다. 여기서, H: {0, 1}n+k1→ {0,1}k0는 해쉬 함수이고 H: {0, 1}k0→ {0,1}n+k1는 발생기(generator)로 한다. 평문은 m ∈ {0,1}n이고 r ∈ {0,1}k0은 랜덤하게 선택한다.OAEP was introduced in 1994 by Bellare and Rogaway. 1 is a diagram illustrating an OAEP encryption mode. Referring to FIG. 1, the user sets encryption mode f: {0, 1} k → {0,1} k as a security parameter k. The size of the plain text is n bits, and k 0 and k 1 are selected such that n = k-k 0 -k 1 . Here, H: {0, 1} n + k1 → {0,1} k0 is a hash function and H: {0, 1} k0 → {0,1} n + k1 is a generator. Plain text is m ∈ {0,1} n and r ∈ {0,1} k0 is chosen at random.

m ∈ {0,1}n m ∈ {0,1} n

r ∈ {0,1}k0 r ∈ {0,1} k0

X = (m?0)k1

Figure 112010036474560-pat00002
G(r)X = (m? 0) k1
Figure 112010036474560-pat00002
G (r)

Y = r

Figure 112010036474560-pat00003
H(X)Y = r
Figure 112010036474560-pat00003
H (X)

c = f(X?Y)c = f (X? Y)

AONT (All Or Nothing Transform) 암호화 모드AONT (All Or Nothing Transform) Encryption Mode

AONT는 비밀키를 사용하지 않고 평문을 변환하는 스크램블(scramble)부와 비밀키를 사용하여 데이터를 암호화하는 암호화(encryption)부로 구성된다. 도 2는 효율적인 비분리 암호화 모드를 설명하는 도면이다. 비트의 연결을 ?, 비트간 배타적 논리합을

Figure 112010036474560-pat00004
로 나타낸다. 여기서, h: {0, 1}*→ {0,1}l는 해쉬 함수이고 g: {0, 1}l→ {0,1}* 는 발생기(generator)로 한다. m을 L 비트의 평문, 송신자와 수신자가 공유하는 비밀키를 k로 한다. 난수 r과 평문 m을 다음과 같이 암호화한다. 이때, 암호문은 c = c(1)?c(2)이다. 도 2는 효율적인 비분리 암호화 모드를 나타낸다.AONT is composed of a scramble section for converting plain text without using a secret key and an encryption section for encrypting data using a secret key. 2 is a diagram illustrating an efficient non-separated encryption mode. Bit concatenation?
Figure 112010036474560-pat00004
Respectively. Where h: {0, 1} * → {0,1} l is a hash function and g: {0, 1} l → {0,1} * is a generator. Let m be the L-bit plaintext and the secret key shared by the sender and receiver. Encrypt the random number r and the plaintext m as follows: At this time, the ciphertext is c = c (1) -c (2) . 2 shows an efficient non-separated encryption mode.

c(1)= m

Figure 112010036474560-pat00005
g(r) c (1) = m
Figure 112010036474560-pat00005
g (r)

c(2)= r

Figure 112010036474560-pat00006
k
Figure 112010036474560-pat00007
h(c(1))c (2) = r
Figure 112010036474560-pat00006
k
Figure 112010036474560-pat00007
h (c (1) )

비분리 암호화 모드는 OAEP(Optimal Asymmetric Encryption Padding)와 유사하다. 기존의 OAEP에서는 스크램블부에 비밀키를 사용하지 않지만 본 암호화 모드는 비밀키를 사용한다. 따라서 OAEP에 암호화 기능을 부가하여 암호화부를 생략함으로써 처리 속도를 향상시킬 수 있다.Non-separated encryption mode is similar to Optimal Asymmetric Encryption Padding (OAEP). Conventional OAEP does not use a secret key in scrambled part, but this encryption mode uses a secret key. Therefore, the processing speed can be improved by adding an encryption function to the OAEP to omit the encryption unit.

본 발명의 AONT 암호화 모드는 OAEP에 근거하여 고속처리가 가능하고 분산데이터의 개수 및 크기를 유연하게 설정가능하며 분산된 데이터 크기의 합계가 원 데이터의 크기와 동일하다.In the AONT encryption mode of the present invention, high-speed processing is possible based on OAEP, the number and size of distributed data can be set flexibly, and the sum of the distributed data sizes is the same as the original data size.

배타적 논리합(XOR) 임계치 비밀 분산 방식XOR threshold secret distribution

비밀 분산 방식은 1979년에 Shamir에 의해 제안되었다. 그 중 다항식 보간법을 사용하는 Shamir의 (k, n) 임계치 비밀 분산 방식은 비밀 정보를 n개의 분산정보로 분할하여 n개의 분산 정보 중 임의의 k개가 모이면 원래의 비밀 정보를 복원할 수 있는 방식이다. 이때, 정보의 분산 복원시 k-1차 다항식을 처리해야 한다. 하지만, 다항식 연산은 계산 부하의 크기가 실제 애플리케이션에 적용할 때 문제가 되고 있다. A secret distribution scheme was proposed by Shamir in 1979. Among them, Shamir's (k, n) threshold secret distribution method, which uses polynomial interpolation, divides secret information into n distribution information, and restores the original secret information when any k of n distribution information is collected. to be. At this time, the k-1st polynomial must be processed when the information is distributed and restored. However, polynomial operations become a problem when the magnitude of the computational load is applied to real applications.

제1 문헌인 石津晴崇, 荻原利彦, "전자 데이터의 장기 보관에 관한 고찰," 전자정보통신 2004년합대 강연 논문집, D-9-10, 2004., 제2 문헌인 J. Kurihara, S. Kiyomoto, K. Fukushima, and T. Tanaka, "A fast (3, n)-threshold secret sharing scheme using exclusive-or operations," IEICE Trans. Fundamentals, vol.E91-A, No. 1. pp.127-138, Jan. 2008., 및 제3 문헌인 Y. Fujii, M. Tada, N. Hosaka, K. Tochikubo, and T. Kato, "A fast (2, n)-threshold scheme and its application," Proc. CSS2005, pp.631-636, 2005에서 XOR 연산만으로 비밀 정보의 분산 복원을 할 수 있는 고속의 임계치 비밀 분산 방식을 제안하였다. 石津 晴 崇, 荻 原 利 彦, "A Study on the Long-Term Storage of Electronic Data," Lectures on Electronic Information and Communication 2004, D-9-10, 2004., J. Kurihara, S. Kiyomoto, K. Fukushima, and T. Tanaka, "A fast (3, n) -threshold secret sharing scheme using exclusive-or operations," IEICE Trans. Fundamentals, vol. E91-A, No. 1.pp. 127-138, Jan. 2008., and in the third document Y. Fujii, M. Tada, N. Hosaka, K. Tochikubo, and T. Kato, "A fast (2, n) -threshold scheme and its application," Proc. In CSS2005, pp.631-636, 2005, we proposed a fast threshold secret distribution method that can perform distributed reconstruction of secret information only by XOR operation.

본 발명에서는 고속으로 비밀 정보의 분산 복원이 가능한 배타적 논리합을 이용한다. 한편, Kurihara 등은 2008년 XOR 기반의 (k,n) 임계치 비밀 분산 방식을 제안하였다. 이 방식은 임계치 k값을 확장할 수 있는 알고리즘으로, 평문 S와 비밀 분산 연산에 필요한 난수를 발생시켜 이에 대한 XOR을 취함으로 비밀 분산 조각을 생성한다.In the present invention, an exclusive logical OR that enables distributed recovery of secret information at high speed is used. Meanwhile, Kurihara et al. Proposed an XOR-based (k, n) threshold secret distribution scheme in 2008. This algorithm is an algorithm that can extend the threshold k, and generates a secret distributed fragment by generating a random number necessary for the plaintext S and the secret distributed operation and taking an XOR thereof.

AONT 기반의 데이터 분산 보안관리 방식AONT-based data distribution security management method

이하, AONT 변환과 배타적 논리합(XOR) 연산을 이용한 새로운 알고리즘을 제안한다. 본 발명의 실시예에 따른 비밀 분산 알고리즘은 도 3과 같다. 본 발명에 따른 방식은 l의 사이즈를 가진 평문 P에 대하여 zn/l의 사이즈를 갖는 비밀 조각 Sn을 생성하며, 전체 비밀 조각 사이즈의 합계와 평문의 사이즈는 같으며, 다음 수학식 1과 같이 표현될 수 있다.In the following, we propose a new algorithm using AONT transform and XOR operation. Secret distribution algorithm according to an embodiment of the present invention is shown in FIG. The method according to the present invention generates a secret piece S n having a size of z n / l for a plain text P having a size of l, and the sum of the total secret piece sizes and the size of the plain text are the same, Can be expressed as:

Figure 112010036474560-pat00008
Figure 112010036474560-pat00008

기존의 Shamir의 방식이나 Kurihara가 제안한 비밀 분산 방식에 비하여 큰 장점을 갖는다. 즉, 기존 비밀 분산 방식은 각 조각 사이즈의 합계가 평문 크기ㅧn과 같으므로, 데이터베이스 저장시 데이터베이스마다 평문과 동일한 저장 공간을 필요로 하나, 본 발명의 방법은 각 비밀 조각의 크기의 합계가 평문과 동일하여 각 데이터베이스당 평균 n/l만큼의 저장공간을 필요로 한다. 이러한 특성은 대용량 데이터베이스에 매우 적합하다.It has a great advantage over the conventional Shamir method or the secret distribution method proposed by Kurihara. That is, in the conventional secret distribution method, since the sum of each fragment size is equal to the plaintext size ㅧ n, the storage space of the database requires the same storage space as the plaintext for each database. Is equivalent to n / l of storage space for each database. This feature is well suited for large databases.

이하, 본 발명의 실시예에 따른 데이터 분산 장치를 도 4 및 도 5를 참조하여 설명한다. 도 4는 본 발명의 실시예에 따른 소프트웨어 기능을 나타낸 구성도이다.Hereinafter, a data dispersing apparatus according to an embodiment of the present invention will be described with reference to FIGS. 4 and 5. 4 is a block diagram showing a software function according to an embodiment of the present invention.

도 5는 본 발명의 실시예에 따른 데이터 분산 장치의 구성을 나타낸 블록도이다.5 is a block diagram showing the configuration of a data distribution device according to an embodiment of the present invention.

본 발명의 실시예에 따른 데이터 분산 장치는 난수 발생기(110), 시드 버퍼(120), 분할부(130), 정렬부(140), 및 XOR 연산부(150)를 포함한다.The data distribution apparatus according to the exemplary embodiment of the present invention includes a random number generator 110, a seed buffer 120, a divider 130, an alignment unit 140, and an XOR operator 150.

난수 발생기(110)는 다수의 난수를 발생한다. 시드 버퍼(120)는 상기 발생된 다수의 난수를 시드 값으로서 저장한다. 분할부(130)는 상기 다수의 난수를 기초로 하여 평문(10)을 다수의 분할값으로 분할한다.The random number generator 110 generates a plurality of random numbers. The seed buffer 120 stores the generated plurality of random numbers as a seed value. The division unit 130 divides the plain text 10 into a plurality of division values based on the plurality of random numbers.

정렬부(140)는 상기 다수의 분할값을 분할한 크기에 비례하여 오름 차순 또는 내림 차순으로 정렬한다.The sorter 140 sorts the plurality of split values in ascending or descending order in proportion to the divided size.

XOR 연산부(150)는 최후미의 분할 값은 그대로 내리고 다음으로 최후미의 값과 바로 앞에 붙어있는 분할값과 XOR 연산을 한 결과값을 앞에 붙이게 되며, 이를 제일 앞의 분할값까지 계산하여 결과값을 얻고, 뒤의 평문 분할 크기와 앞의 평문 분할 크기가 다른 경우에는 앞의 크기와 동일하게 뒤의 분할 평문값을 앞에서부터 크기를 맞춘 후 마지막 부분은 삭제하며, 상기 오름 차순 또는 내림 차순 정렬된 평문 분할값에 대한 XOR 연산을 수행한다. XOR 연산부(150)는 짝수번째 라운드에서는 내림 차순의 결과값에 대한 인버팅한 결과값에 대한 XOR 연산을 수행한다.The XOR operator 150 lowers the last split value as it is, and then attaches the last split value, the split value immediately preceding the split value, and the result value of the XOR operation, and calculates the split value up to the first split value. If the rear plain text split size is different from the front plain text split size, the rear part plain text value is adjusted from the front to the same size as the front size, and the last part is deleted, and the ascending or descending order is sorted. Performs an XOR operation on the plain text split value. The XOR operator 150 performs an XOR operation on the inverted result value of the result values in descending order in the even round.

이하, 본 발명의 실시예에 따른 데이터 분산 저장 방법을 도 6 및 도 7을 참조하여 설명한다. 도 6 및 도 7은 도 5에 도시된 데이터 분산 장치에 의한 데이터 분산 과정을 설명하는 도면들이다.Hereinafter, a data distribution storage method according to an embodiment of the present invention will be described with reference to FIGS. 6 and 7. 6 and 7 are diagrams illustrating a data distribution process by the data distribution apparatus illustrated in FIG. 5.

도 4 내지 도 6을 참조하면, 난수 발생기(110)는 다수의 난수를 발생하고, 분할부(120)는 상기 다수의 난수를 기초로 하여 평문 m을 분할한다. 정렬부(130)는 분할된 평문을 크기가 작은 순으로 오름 차순 혹은 내림 차순으로 정렬한 후, XOR 연산부(140)는 각각의 분할된 평문과 XOR 연산을 수행한다. 이 과정에서, 짝수번째 라운드에서는 내림 차순의 결과값에 대하여 반전시킨다. 이러한 반복을 16회 수행한 후 나온 결과값에 대하여 분할된 조각을 비밀 분산조각으로 구성하고 각 비밀 분산 조각(Share)은 DB(300)에 분산 저장하여 관리한다. 이하에 데이터 분산 저장 방법을 상세히 설명한다.4 to 6, the random number generator 110 generates a plurality of random numbers, and the division unit 120 divides the plain text m based on the plurality of random numbers. After the sorting unit 130 sorts the divided plain text in ascending or descending order, the XOR operator 140 performs an XOR operation with each divided plain text. In this process, the even numbered rounds are inverted against the result in descending order. After performing 16 iterations, the fragments are divided into secret scatter pieces for the result value, and each secret scatter piece (Share) is distributed and managed in the DB 300. The data distributed storage method will be described in detail below.

① 크기가 L인 평문 m에 대하여 난수 발생기(110)로 L 미만의 균일한 난수 ri(i=1,2,....t)을 적절한 개수만큼 발생시킨다. 여기서, BBS의 난수 발생기를 사용한다.① For the plaintext m of size L, the random number generator 110 generates a uniform number of random numbers r i (i = 1, 2,... T) less than L as appropriate. Here, a random number generator of BBS is used.

② 난수 r, 즉 3, 5, 2, 3, 1의 난수에 기준하여 평문 m을 m1, m2,....ms(i=1,2,....s)으로 분할하고, 분할한 크기에 비례하여 오름 차순으로 재구성한다. 이때, 재구성하여도 크기는 평문과 동일하다.② divide the plaintext m into m 1 , m 2 , .... m s (i = 1,2, .... s) based on the random number r, i.e. random numbers of 3, 5, 2, 3, 1. Reconstruct in ascending order proportional to the size of the partition. At this time, the size is the same as the plain text even if reconstructed.

Figure 112010036474560-pat00009
Figure 112010036474560-pat00009

③ 오름 차순 정렬된 평문 ms?m2?....?m1은 XOR 연산부(150)의 XOR 연산을 통하여 결과값 02를 생성한다. XOR 연산은 먼저, 최후미의 분할 값 m1은 그대로 내리고 다음으로 최후미의 m1과 바로 앞에 붙어있는 평문 분할값과 XOR 연산한 결과값을 앞에 붙이게 된다. 이를 제일 앞의 평문 분할값 ms까지 계산한 결과값으로 다음 수학식 2와 같이 02를 얻을 수 있게 된다. ③ The plain text m s ? M 2 ? ....? M 1 sorted in ascending order generates the result value 02 through the XOR operation of the XOR operator 150. In the XOR operation, the splitting value m 1 at the end is lowered as it is, followed by the plaintext splitting value immediately preceding the last m 1, and the result of the XOR operation. As a result of calculating this to the first plaintext split value m s , 02 can be obtained as shown in Equation 2 below.

Figure 112010036474560-pat00010
Figure 112010036474560-pat00010

이때, 뒤의 평문 분할 크기와 앞의 평문 분할 크기가 다른 경우에는 앞의 평문 분할 크기와 동일하여야 연산이 가능하므로 앞의 크기와 동일하게 뒤의 분할 평문값을 앞에서부터 크기를 맞춘 후 마지막 부분은 삭제하고 XOR 연산을 수행하게 된다.   In this case, when the size of the rear plain text split is different from the size of the previous plain text split, the operation is possible only when the size of the previous plain text split is the same. Delete and perform XOR operation.

④ 다음으로, 도 7을 참조하면, 02의 결과값 S에서 다시 난수 ri를 기준으로 02를 S1, S2, ....,Ss(i=1,2,....s)로 분할한 후 다음 수학식 3과 같이 내림 차순으로 재구성한다.④ Next, 7, 02 to 02 with reference back to the random number r i from the result S S 1, S 2, the ...., S s (i = 1,2 , .... s After dividing by), it is reconstructed in descending order as shown in Equation 3 below.

Figure 112010036474560-pat00011
Figure 112010036474560-pat00011

그리고 내림 차순으로 재구성한 값에 대해 인버팅시키고 위의 ③번과 같은 XOR 연산을 수행하여 03의 결과값(SO3)을 생성한다.Invert the values reconstructed in descending order and perform the XOR operation as in ③ above to generate a result value (S O3 ) of 03.

Figure 112010036474560-pat00012
Figure 112010036474560-pat00012

⑤ 앞서 기술한 절차를 016의 결과값 SO16이 생성될때 까지 16회 반복하고 최종적으로 생성된 016 값의 분해된 조각을 기준으로 비밀 분산 정보(Share)를 구성하고 다수, 즉 k개의 데이터베이스(300)에 저장한다.⑤ of the procedures previously described 016 results S O16 is repeated 16 times to produce when and configure the final secret based on the decomposition fragment of the resulting 016 value distribution information (Share) and a plurality, that is, k number of databases (300 ).

본 발명의 실시예에 따른 비밀 분산 알고리즘을 정리하면 표 1과 같다.Table 1 summarizes the secret distribution algorithm according to an embodiment of the present invention.

입력 : P ∈ {0,1}nl
출력 : S1,...,Sn

1. BBS 난수 발생기(110)에 의해 ri(i=1,...,t)를 발생한다.
2. Calculate set S ⊂ {S0,...,St -1} which LENGTH(Si)=ri and Si=SUBSTRING(P)ri ri+1
3. for R←0 to 16 do
4. for i←0 to n-1 do
5. if R mod 1 = 0 then
6. b←MAX(S)
7. ai←b
8. discard MAX(S)
9. else
10. b←MIN(S)
11. ai←Invert(b)
12. discard MIN(S)
13. end if
14. end for i
15. for j←0 to n-1 do
16. if j=n-1 then
17. Sj←Sj||(aj)
18. else
19. Sj←(ajPADD(aj+1)aj)
20. end if
21. end for j
22. end for R
23. return (S1,...,Sn)
Input: P ∈ {0,1} nl
Output: S 1 , ..., S n

1. R i (i = 1, ..., t) is generated by the BBS random number generator 110.
Calculate set S ⊂ {S 0 , ..., S t -1 } which LENGTH (S i ) = r i and S i = SUBSTRING (P) r i ri + 1
3.for R ← 0 to 16 do
4.for i ← 0 to n-1 do
5.if R mod 1 = 0 then
6. b ← MAX (S)
7. a i ← b
8. discard MAX (S)
9. else
10.b ← MIN (S)
11.a i ← Invert (b)
12. discard MIN (S)
13. end if
14. end for i
15.for j ← 0 to n-1 do
16.if j = n-1 then
17.S j ← S j || (a j )
18. else
19.S j ← (a j PADD (a j + 1 ) aj )
20. end if
21.end for j
22. end for R
23. return (S 1 , ..., S n )

이하, 본 발명의 실시예에 따른 데이터 복원 장치를 도 4 및 도 8을 참조하여 설명한다. 도 8은 본 발명의 실시예에 따른 데이터 복원 장치의 구성을 나타낸 블록도이다.Hereinafter, a data recovery apparatus according to an embodiment of the present invention will be described with reference to FIGS. 4 and 8. 8 is a block diagram showing the configuration of a data recovery apparatus according to an embodiment of the present invention.

도 4 및 도 8을 참조하면, 본 발명의 실시예에 따른 데이터 복원 장치는 XOR 연산부(210), 정렬부(220), 및 리버팅부(240)를 포함한다.4 and 8, a data recovery apparatus according to an embodiment of the present invention includes an XOR operator 210, an alignment unit 220, and a reversing unit 240.

XOR 연산부(210)는 다수의 데이터베이스(300)에 저장된 다수의 비밀 분산 데이터를 독출하여 애그리게이션을 수행하고, 앞의 크기와 다른 경우, 최후미의 분할값을 그대로 내리고 그대로 내린값과 XOR 연산을 수행하는 하는데 바로 앞과 XOR 연산을 거친 결과값과 다시 XOR 연산을 수행하며, 앞 부분의 크기가 클 경우 뒤의 작은 부분을 반복하여 사용하는 방식으로 상기 애그리게이션 결과값에 대한 XOR 연산을 수행한다.The XOR operator 210 performs aggregation by reading a plurality of secret distributed data stored in a plurality of databases 300, and if it is different from the previous size, lowers the splitting value of the last end as it is and performs the XOR operation with the lowered value. The XOR operation is performed again with the result value which went through the previous and XOR operation, and if the size of the front part is large, the XOR operation is performed on the aggregation result value by repeatedly using the small part of the rear part. .

정렬부(220)는 시드 버퍼(230)에 저장된 시드 데이터를 기초로 하여 상기 XOR 연산부의 연산 결과값을 오름 차순으로 정렬한다.The sorter 220 sorts the calculation result of the XOR operator in ascending order based on the seed data stored in the seed buffer 230.

리버팅부(240)는 상기 정렬부(220)에 의해 정렬된 상기 XOR 연산부(210)의 연산 결과값을 리버팅하여 시드 데이터로서 재 정렬한다.The reversing unit 240 reverses the calculation result values of the XOR operation unit 210 arranged by the alignment unit 220 and rearranges the seed data as seed data.

이하, 본 발명의 실시예에 따른 데이터 복원 방법을 도 9 및 도 10을 참조하여 설명한다. 도 9 및 도 10은 도 5에 도시된 데이터 복원 장치에 의한 데이터 복원 과정을 설명하는 도면들이다.Hereinafter, a data restoration method according to an embodiment of the present invention will be described with reference to FIGS. 9 and 10. 9 and 10 are diagrams illustrating a data restoration process by the data restoration apparatus illustrated in FIG. 5.

도 9를 참조하면, 분산 저장된 DB(300)에서 각 비밀 분산 데이터를 애그러게이션(Aggregation)한다.Referring to FIG. 9, each secret distributed data is aggregated in a distributed and stored DB 300.

각 비밀 분산 데이터는 데이터 분산단계와 역순으로 XOR 연산 및 오름 차순/내림 차순을 반복 수행한다. 이 과정에서, 홀수 번째 라운드에서는 내림 차순의 결과값에 대하여 리버트를 취함을 16회 반복함으로써 평문을 복원할 수 있다.Each secret distributed data repeats the XOR operation and the ascending / descending order in the reverse order of the data distribution step. In this process, the plain text can be restored by repeating the repetition 16 times in the odd round in the descending order.

① 우선, k개의 데이터베이스(300)에 분산 저장된 데이터를 가져와서 Aggregation을 수행한다. 그리고 분할된 016 값에 대해 XOR 연산을 수행한다. 여기서, 분산 단계 ③과 같이 XOR 연산을 수행하는데 XOR 연산시 앞의 크기와 다른 경우, 분산 저장 과정에서처럼 연산하고자 하는 분할값의 크기를 맞추기 위해 마지막 부분을 삭제하는 것이 아니라 여기에서는 우선, 최후미의 분할값을 그대로 내리고 그대로 내린 값과 XOR 연산을 수행하는 하는데 바로 앞과 바로 뒤의 XOR 연산이 아니라 바로 앞과 XOR 연산을 거친 결과값과 다시 XOR 연산을 수행하는 것이다. 이때 앞 부분의 크기가 클 경우 뒤의 작은 부분을 반복하여 사용한다. ① First, data is distributed and stored in k databases 300 to perform aggregation. The XOR operation is performed on the divided 016 value. Here, if the XOR operation is performed as in the dispersion step ③, and it is different from the previous size during the XOR operation, instead of deleting the last part in order to match the size of the partition value to be calculated as in the distributed storage process, here, first, the last The XOR operation is performed by lowering the partition value as it is and performing the XOR operation with the lowered value. Instead of the XOR operation immediately before and after, the XOR operation is performed again with the result value after the XOR operation. At this time, if the size of the front part is large, repeat the small part of the back.

② 수행된 결과값에서 난수로 다시 분할한 후 리버트를 취한다. 도 9를 참조하면, 현재 순서가 내림 차순으로 정렬되어 5, 3, 3, 2, 1의 순으로 되어 있고, 이를 시드 값인 3, 5, 2, 3, 1로 재 정렬한다. 이 경우 중복되는 3과 3의 경우에는 앞에 있는 것을 먼저 사용한다. 여기서, 동일 시드 범위 내의 랜덤 값은 알 수 있다. 분산시 BBS 난수 발생기로 각 라운드마다 난수를 생성하게 되는데 이를 시드 버퍼(230)에 저장하는 것이다. 도 10을 참조하면, 오름차순을 해야 하는데 이는, 기억하고 있는 시드 값이 (2,4,3,1,4)인데 이를 오름차순 정렬하면 1,2,3,4,4 순으로 정렬이 가능하다. 그리고 XOR연산을 수행한 후, seed(2,4,3,1,4)으로 재정렬 하는 것이다.② Divide the result into a random number and take the reverse. Referring to FIG. 9, the current order is sorted in descending order and is in the order of 5, 3, 3, 2, and 1, and is rearranged by seed values 3, 5, 2, 3, and 1. In this case, in the case of overlapping 3 and 3, the first one is used first. Here, random values within the same seed range can be known. When distributed, the BBS random number generator generates random numbers for each round, and stores them in the seed buffer 230. Referring to FIG. 10, an ascending order must be performed. The stored seed values are (2,4,3,1,4), and the ascending order can be arranged in the order of 1,2,3,4,4. And after performing the XOR operation, rearrange it to seed (2,4,3,1,4).

③ 위의 ① 및 ②의 반복을 통해 평문값(10)을 최종적으로 얻을 수 있다. ③ The plain text value 10 can be finally obtained by repeating ① and ② above.

본 발명의 실시예에 따른 비밀 복원 알고리즘을 정리하면 표 2와 같다.Table 2 summarizes the secret recovery algorithm according to the embodiment of the present invention.

입력 : S1,...,Sn
출력 : Plaintext P

1. BBS 난수 발생기에 의해 ri(i=1,...,t)를 발생한다.
2. Calculate set S ⊂ {S0,...,St-1} which LENGTH(Si)=ri and Si=SUBSTRING(P)ri ri+1
3. for R←0 to 16 do
4. for i←0 to n-1 do
5. if R mod 1 = 1 then
6. b←MAX(S)
7. ai←b
8. discard MAX(S)
9. else
10. b←MIN(S)
11. ai←Invert(b)
12. discard MIN(S)
13. end if
14. end for i
15. for j←n-1 to 0 do
16. if j=n-1 then
17. Sj←Sj||(aj)
18. else
19. Sj←(ajPADD(Sj+1)aj)
20. end if
21. end for j
22. end for R
23. return (S1,...,Sn)
Input: S 1 , ..., S n
Output: Plaintext P

Generate r i (i = 1, ..., t) by the BBS random number generator.
Calculate set S ⊂ {S 0 , ..., S t-1 } which LENGTH (S i ) = r i and S i = SUBSTRING (P) r i ri + 1
3.for R ← 0 to 16 do
4.for i ← 0 to n-1 do
5.if R mod 1 = 1 then
6. b ← MAX (S)
7. a i ← b
8. discard MAX (S)
9. else
10.b ← MIN (S)
11.a i ← Invert (b)
12. discard MIN (S)
13. end if
14. end for i
15.for j ← n-1 to 0 do
16.if j = n-1 then
17.S j ← S j || (a j )
18. else
19.S j ← (a j PADD (S j + 1 ) aj )
20. end if
21.end for j
22. end for R
23. return (S 1 , ..., S n )

본 발명의 방법과 기존 알고리즘을 정리하면 표 3과 같다.Table 3 summarizes the method and the existing algorithm of the present invention.

Shamir(종래)Shamir (conventional) Kurihara(종래)Kurihara (conventional) 본 발명 방법Invention method 비밀 조각 평균 사이즈Secret piece average size ll ll n/ln / l 안전성 증명 가능여부Whether safety can be proved 고속처리 가능여부Whether high speed processing is possible 대용량 DBMS 적합성Large DBMS Suitability 비밀 조각 사이즈 가변성Secret piece size variability 비밀 조각 개수 가변성Secret piece count variability

표 3에서, ○는 우수, △는 보통, 및 ㅧ는 미흡을 각각 나타낸다.In Table 3, ○ represents excellent, Δ represents normal, and ㅧ represents inadequate.

Claims (7)

(i) 다수의 난수를 기초로 하여 평문을 다수의 분할값으로 분할하는 단계;
(ii) 상기 다수의 분할값을 분할한 크기에 비례하여 오름 차순 또는 내림 차순으로 정렬하는 단계;
(iii) 최후미의 분할 값은 그대로 내리고 다음으로 최후미의 값과 바로 앞에 붙어있는 분할값과 XOR 연산을 한 결과값을 앞에 붙이게 되며, 이를 제일 앞의 분할값까지 계산하여 결과값을 얻고, 뒤의 평문 분할 크기와 앞의 평문 분할 크기가 다른 경우에는 앞의 크기와 동일하게 뒤의 분할 평문값을 앞에서부터 크기를 맞춘 후 마지막 부분은 삭제하며, 상기 오름 차순 또는 내림 차순 정렬된 평문 분할값에 대한 XOR 연산을 수행하는 단계; 및
(iv) 단계 (iii)의 결과를 상기 다수의 분할값으로 사용하여, 단계 (ii) 및 (iii)를 다수 회 반복하여 다수의 비밀 분산 데이터를 구성하여 다수의 데이터베이스에 각각 분산 저장하는 단계를 포함하고,
단계 (iii)에서 상기 오름 차순 또는 내림 차순 정렬된 평문 분할값에 대한 XOR 연산으로서, 짝수번째 라운드에서는 내림 차순의 결과값에 대한 인버팅한 결과값에 대한 XOR 연산을 수행하며,
상기 평문의 사이즈는 상기 다수의 비밀 분산 데이터의 전체 합계 사이즈와 같은 데이터 분산 저장 방법.
(i) dividing the plain text into a plurality of split values based on the plurality of random numbers;
(ii) sorting the plurality of split values in ascending or descending order in proportion to the divided size;
(iii) The last split value is lowered as it is, followed by the split value immediately preceding the last value, and the result value of the XOR operation, which is calculated to the first split value to obtain the result value. If the size of the rear plain text split is different from the size of the previous plain text split, the rear part of the plain text is adjusted to the same size as the previous size, and the last part is deleted. The plain text split is sorted in the ascending or descending order. Performing an XOR operation on the; And
(iv) using the result of step (iii) as the plurality of split values, repeating steps (ii) and (iii) a plurality of times to construct a plurality of secret distributed data, each distributed and stored in a plurality of databases; Including,
An XOR operation on the ascending or descending sorted plaintext split values in step (iii), performing an XOR operation on the inverted result values for the descending result values in the even rounds,
And the size of the plain text is equal to the total sum size of the plurality of secret distributed data.
삭제delete (a) 다수의 데이터베이스에 분산 저장된 다수의 비밀 분산 데이터를 독출하여 애그리게이션을 수행하는 단계;
(b) 앞의 크기와 다른 경우, 최후미의 분할값을 그대로 내리고 그대로 내린값과 XOR 연산을 수행하는 하는데 바로 앞과 XOR 연산을 거친 결과값과 다시 XOR 연산을 수행하며, 앞 부분의 크기가 클 경우 뒤의 작은 부분을 반복하여 사용하는 방식으로 상기 애그리게이션 결과값에 대한 XOR 연산을 수행하는 단계; 및
(c) 저장된 시드 데이터를 기초로 하여 상기 XOR 연산 결과값을 오름 차순으로 정렬하는 단계; 및
(d) 단계 (a) 내지 (c)를 다수 회 반복하여 평문을 복원하는 단계를 포함하고,
상기 정렬된 상기 XOR 연산 결과값을 리버팅하여 시드 데이터로서 재 정렬하되, 상기 연산 결과값 중 중복되는 값이 있는 경우 앞에 있는 값을 먼저 사용하는 단계를 더 포함하며,
상기 다수의 비밀 분산 데이터의 전체 합계 사이즈는 상기 평문의 사이즈와 같은 데이터 복원 방법.
(a) performing aggregation by reading a plurality of secret distributed data distributed and stored in a plurality of databases;
(b) If it is different from the previous size, the last split value is lowered as it is and the XOR operation is performed with the lowered value as it is. The result of the previous and XOR operation and the XOR operation are again performed. Performing an XOR operation on the aggregation result value in such a manner that a small part of the back is repeatedly used if large; And
(c) sorting the result of the XOR operation in ascending order based on the stored seed data; And
(d) repeating steps (a) to (c) a plurality of times to restore the plain text,
Reversing the sorted XOR arithmetic result and reordering it as seed data, but using a preceding value first when there is a duplicate value among the arithmetic result,
And a total sum size of the plurality of secret distributed data is equal to the size of the plain text.
삭제delete 다수의 난수를 발생하는 난수 발생기;
상기 발생된 다수의 난수를 시드 값으로서 저장하는 시드 버퍼;
상기 다수의 난수를 기초로 하여 평문을 다수의 분할값으로 분할하는 분할부;
상기 다수의 분할값을 분할한 크기에 비례하여 오름 차순 또는 내림 차순으로 정렬하는 정렬부; 및
최후미의 분할 값은 그대로 내리고 다음으로 최후미의 값과 바로 앞에 붙어있는 분할값과 XOR 연산을 한 결과값을 앞에 붙이게 되며, 이를 제일 앞의 분할값까지 계산하여 결과값을 얻고, 뒤의 평문 분할 크기와 앞의 평문 분할 크기가 다른 경우에는 앞의 크기와 동일하게 뒤의 분할 평문값을 앞에서부터 크기를 맞춘 후 마지막 부분은 삭제하며, 상기 오름 차순 또는 내림 차순 정렬된 평문 분할값에 대한 XOR 연산을 수행하는 XOR 연산부를 포함하고,
상기 XOR 연산부는 짝수번째 라운드에서는 내림 차순의 결과값에 대한 인버팅한 결과값에 대한 XOR 연산을 수행하며,
상기 평문의 사이즈는 상기 다수의 비밀 분산 데이터의 전체 합계 사이즈와 같은 데이터 분산 저장 장치.
A random number generator for generating a plurality of random numbers;
A seed buffer which stores the generated plurality of random numbers as a seed value;
A division unit that divides the plain text into a plurality of division values based on the plurality of random numbers;
An alignment unit to sort the plurality of split values in ascending or descending order in proportion to the divided size; And
The last split value is lowered as it is, followed by the last split value, the split value immediately preceding it, and the result of performing the XOR operation. If the split size is different from the previous plain text split size, the rear part plain text value is adjusted from the front to the same size as the previous size, and the last part is deleted, and the XOR of the plain text split value sorted in ascending or descending order is deleted. Including an XOR operation unit for performing the operation,
The XOR operator performs an XOR operation on the inverted result value of the result value in descending order in the even round.
And the size of the plain text is equal to the total sum size of the plurality of secret distributed data.
삭제delete 제3항에 기재된 데이터 복원 방법을 수행하는 데이터 복원 장치에 있어서,
저장된 다수의 비밀 분산 데이터를 독출하여 애그리게이션을 수행하고, 앞의 크기와 다른 경우, 최후미의 분할값을 그대로 내리고 그대로 내린값과 XOR 연산을 수행하는 하는데 바로 앞과 XOR 연산을 거친 결과값과 다시 XOR 연산을 수행하며, 앞 부분의 크기가 클 경우 뒤의 작은 부분을 반복하여 사용하는 방식으로 상기 애그리게이션 결과값에 대한 XOR 연산을 수행하는 XOR 연산부;
저장된 시드 데이터를 기초로 하여 상기 XOR 연산부의 연산 결과값을 오름 차순으로 정렬하는 정렬부; 및
상기 정렬부에 의해 정렬된 상기 XOR 연산부의 연산 결과값을 리버팅하여 시드 데이터로서 재 정렬하고, 상기 연산 결과값 중 중복되는 값이 있는 경우 앞에 있는 값을 먼저 사용하는 리버팅부를 포함하는 데이터 복원 장치.
A data restoration apparatus for performing the data restoration method according to claim 3,
Aggregate by reading a lot of stored secret distributed data, and if it is different from the previous size, lower the last split value as it is, and perform the lowered value and the XOR operation. An XOR operation unit performing an XOR operation on the aggregation result value by repeatedly performing a small XOR operation after the XOR operation is repeated;
An alignment unit to sort the calculation result of the XOR operation unit in ascending order based on the stored seed data; And
Revert the data including a reversing unit reversing the calculation result values of the XOR operation unit sorted by the sorting unit and reordering as seed data, and using the preceding value first when there are duplicate values among the calculation result values. Device.
KR1020100053515A 2010-06-07 2010-06-07 Data distribution storing and restoring methods and apparatuses KR101129335B1 (en)

Priority Applications (1)

Application Number Priority Date Filing Date Title
KR1020100053515A KR101129335B1 (en) 2010-06-07 2010-06-07 Data distribution storing and restoring methods and apparatuses

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
KR1020100053515A KR101129335B1 (en) 2010-06-07 2010-06-07 Data distribution storing and restoring methods and apparatuses

Publications (2)

Publication Number Publication Date
KR20110133870A KR20110133870A (en) 2011-12-14
KR101129335B1 true KR101129335B1 (en) 2012-03-26

Family

ID=45501359

Family Applications (1)

Application Number Title Priority Date Filing Date
KR1020100053515A KR101129335B1 (en) 2010-06-07 2010-06-07 Data distribution storing and restoring methods and apparatuses

Country Status (1)

Country Link
KR (1) KR101129335B1 (en)

Cited By (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
KR20200081891A (en) 2018-12-28 2020-07-08 이명신 Medical image segmentation storage and provision system

Families Citing this family (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
KR101451828B1 (en) * 2013-08-30 2014-10-16 박상윤 Data encryption and decryption device and method
KR101711378B1 (en) * 2015-09-22 2017-03-02 동국대학교 산학협력단 Batch processing apparatus and method for offline shopping using user terminal
KR101936273B1 (en) * 2016-08-23 2019-01-08 주식회사 한컴시큐어 Database encryption apparatus for encryption scheduling optimized for large database and operating method thereof
KR102030785B1 (en) * 2019-04-26 2019-10-10 주식회사그린존시큐리티 An apparatus for obfuscating data of IoT devices using pseudorandom number and a method therefor

Citations (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
KR19990027040A (en) * 1997-09-27 1999-04-15 서정일 Encryption method and device
JP2004171207A (en) * 2002-11-19 2004-06-17 Nec Corp Data protection/storage method and server
JP4107370B2 (en) * 1999-12-20 2008-06-25 大日本印刷株式会社 Distributed data archiving system
KR20090052130A (en) * 2007-11-20 2009-05-25 주식회사 안철수연구소 Data protection method using data partition

Patent Citations (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
KR19990027040A (en) * 1997-09-27 1999-04-15 서정일 Encryption method and device
JP4107370B2 (en) * 1999-12-20 2008-06-25 大日本印刷株式会社 Distributed data archiving system
JP2004171207A (en) * 2002-11-19 2004-06-17 Nec Corp Data protection/storage method and server
KR20090052130A (en) * 2007-11-20 2009-05-25 주식회사 안철수연구소 Data protection method using data partition

Cited By (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
KR20200081891A (en) 2018-12-28 2020-07-08 이명신 Medical image segmentation storage and provision system

Also Published As

Publication number Publication date
KR20110133870A (en) 2011-12-14

Similar Documents

Publication Publication Date Title
CN110008717B (en) Decision tree classification service system and method supporting privacy protection
Wang et al. Secure and efficient access to outsourced data
US7715565B2 (en) Information-centric security
Thirumalai et al. Secured E-Mail System using Base 128 Encoding Scheme
US20120134492A1 (en) Data Encryption and Decryption Method and Apparatus
CN105320613B (en) System and method for dynamic data storage
KR101129335B1 (en) Data distribution storing and restoring methods and apparatuses
KR20150073753A (en) Apparatus and methdo for giving the compressed encryption functionality to integer-based homomorphic encryption schemes
US20070195952A1 (en) Method And System For Computational Transformation
Wang et al. Degradation and encryption for outsourced PNG images in cloud storage
Murugeshwari et al. Data Mining with Privacy Protection Using Precise Elliptical Curve Cryptography.
Jaspin et al. Efficient and secure file transfer in cloud through double encryption using AES and RSA Algorithm
CN109145624A (en) A kind of more chaos text encryption algorithms based on Hadoop platform
KR101553986B1 (en) System and method of distrubuted data storage, restoration
Huang et al. YI Cloud: Improving user privacy with secret key recovery in cloud storage
CN107484161B (en) A kind of efficient information push based on mobile self-grouping network and safe sharing method
CN117155675A (en) Fine granularity access control method supporting data security classification in double cloud environment
CN104660704B (en) A kind of website user's data processing method
KR101330071B1 (en) Security apparatus and method for protecting numeric data in database
CN115883145A (en) Order-preserving encryption method and decryption method based on random sampling
Dweik et al. A survey of lightweight image encryption for IoT
Abdulameer A cryptosystem for database security based on RC4 algorithm
Sasikumar et al. Comprehensive Review and Analysis of Cryptography Techniques in Cloud Computing
Havrylov et al. Application of Arithmetic Coding Methods in Cryptographic Information Protection Systems.
Kanchanadevi et al. An Attribute based encryption scheme with dynamic attributes supporting in the hybrid cloud

Legal Events

Date Code Title Description
A201 Request for examination
E902 Notification of reason for refusal
AMND Amendment
E601 Decision to refuse application
X091 Application refused [patent]
AMND Amendment
X701 Decision to grant (after re-examination)
GRNT Written decision to grant
FPAY Annual fee payment

Payment date: 20150112

Year of fee payment: 4

FPAY Annual fee payment

Payment date: 20160217

Year of fee payment: 5

FPAY Annual fee payment

Payment date: 20170203

Year of fee payment: 6

FPAY Annual fee payment

Payment date: 20180123

Year of fee payment: 7

FPAY Annual fee payment

Payment date: 20200310

Year of fee payment: 9