WO2021071054A1 - 재부팅없이 무한 연산이 가능한 동형 암호 기반의 동적 궤환 제어기의 구성 방법 - Google Patents

재부팅없이 무한 연산이 가능한 동형 암호 기반의 동적 궤환 제어기의 구성 방법 Download PDF

Info

Publication number
WO2021071054A1
WO2021071054A1 PCT/KR2020/008097 KR2020008097W WO2021071054A1 WO 2021071054 A1 WO2021071054 A1 WO 2021071054A1 KR 2020008097 W KR2020008097 W KR 2020008097W WO 2021071054 A1 WO2021071054 A1 WO 2021071054A1
Authority
WO
WIPO (PCT)
Prior art keywords
controller
control data
dynamic control
matrix
equation
Prior art date
Application number
PCT/KR2020/008097
Other languages
English (en)
French (fr)
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 WO2021071054A1 publication Critical patent/WO2021071054A1/ko
Priority to US17/382,599 priority Critical patent/US11843688B2/en

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/008Cryptographic mechanisms or cryptographic arrangements for secret or secure communications; Network security protocols involving homomorphic encryption
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F17/00Digital computing or data processing equipment or methods, specially adapted for specific functions
    • G06F17/10Complex mathematical operations
    • G06F17/16Matrix or vector computation, e.g. matrix-matrix or matrix-vector multiplication, matrix factorization
    • 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/08Key distribution or management, e.g. generation, sharing or updating, of cryptographic keys or passwords
    • H04L9/088Usage controlling of secret information, e.g. techniques for restricting cryptographic keys to pre-authorized uses, different access levels, validity of crypto-period, different key- or password length, or different strong and weak cryptographic algorithms

Definitions

  • the present invention relates to a method for processing dynamic control data based on homogeneous encryption, and more particularly, to a method of configuring a dynamic feedback controller based on homogeneous encryption capable of infinite computation without rebooting.
  • the computation unit (the cyber part), the physical system (the physical part) and the communication unit (the link between the cyber part and the physical part) are collectively referred to as a cyber-physical system.
  • a method of encrypting and using a control signal may be adopted.
  • a decryption process is required.
  • the controller For decryption, the controller must own the secret key, but in such an environment, the secret key may be stolen by a hacker, so there is a security vulnerability.
  • Korean Patent No. 10-1919940 registered on November 19, 2018, proposes a method for solving the state variable update problem during bootstrapping.
  • This patent introduces multiple controllers and proposes a method in which one controller updates state variables while one controller is bootstrapping.
  • this method uses several controllers, it is difficult to apply them in practice due to cost issues and increased complexity, and since the controller still has a limit of rebooting, it is difficult to shorten the required computation time.
  • the present invention provides a dynamic control data processing method capable of infinitely performing calculations between homomorphic ciphertexts without rebooting by completely removing the bootstrapping, which is recognized as inevitably accompanying the processing of dynamic control data based on isomorphic encryption. It aims to do.
  • the method for processing dynamic control data includes a controlled unit, a controller, a decoding module for decoding a control signal received from the controller, an actuator for receiving and operating a decoded control signal from the decoding module, and a controlled unit. It is performed in an environment including a sensor that detects the output and a homogeneous encryption module that homogeneously encrypts the signal of the sensor.
  • the scaling factor 1/s is greater than 1, and the resolution r may be greater than 0.
  • the method for processing dynamic control data comprises: a 2-1 step of performing Kalman observable decomposition on a state equation of a controller; A second step of calculating R 1 and T 1 so that T 1 (F 11 -R 1 H 1 ) T 1 -1 becomes an integer matrix may be included.
  • the eigenvalues of the matrix (F 11 -R 1 H 1 ) are A 2-2-2 step of calculating R 1 so as to be;
  • I can.
  • the method for processing dynamic control data according to the present invention may further include a third step in which the controller receives the encrypted control signal Enc(u(t)) from the actuator side.
  • the first encryption unit Is referred to as a second encryption unit, the first encryption unit receives and calculates the encryption value Enc(y(t)) of the output detected by the sensor, and the second encryption unit calculates the encryption value Enc(u) of the controller output from the actuator side. (t)) can be received and calculated.
  • R 1 can be calculated through the pole placement method.
  • the dynamic control data processing method according to the present invention can be performed by a computer program stored in a computer-readable recording medium. Further, a computer program for performing the dynamic control data processing method according to the present invention may be stored in a computer-readable recording medium.
  • FIG. 1 is an exemplary block diagram of an environment in which a method for processing dynamic control data according to the present invention is performed.
  • FIG. 2 is a flowchart of a dynamic data processing method according to the present invention.
  • FIG. 3 is a block diagram of an example of an electronic computing device that implements the present invention.
  • Encryption/decryption can be applied to the information (data) transmission process performed in this specification as needed, and expressions describing the information (data) transmission process in this specification and claims are all encrypted/decrypted, even if not stated otherwise. It should be construed as including cases.
  • expressions in the form of "transmitted from A to B (transmitted)" or “received from A by B” include those transmitted (transmitted) or received with another medium in the middle, and directly from A to B It does not just express what is transmitted (delivered) or received.
  • the order of each step is to be understood without limitation, unless the preceding step must be performed logically and temporally prior to the subsequent step.
  • the present invention is performed by an electronic computing device (also referred to as a “terminal”) such as a computer capable of electronic calculation, a server computer, a mobile device such as a smart phone and a tablet PC, and the mathematical calculation of each step of the present invention, which will be described later, and Calculation may be implemented as an operation according to the execution of a computer program by a known coding method for performing the corresponding operation or calculation and/or a coding designed suitable for the present invention.
  • a computer program for implementing the present invention can be stored in a recording medium readable by an electronic computing device such as a computer.
  • the electronic computing device may transmit and receive data through a communication network with another electronic computing device and/or through a direct communication connection.
  • module means a logical combination of universally or individually applied hardware and software that performs the function.
  • dynamic control data is defined as control data that becomes meaningless or loses its value significantly if it is not processed within a certain period of time, and effectively disappears
  • dynamic controller means a controller made of a dynamic system. It includes a controller in which the state variable is updated every operation time by maintaining the state variable inside the controller.
  • value is defined as a concept including not only a scalar value, but also a matrix, vector, or polynomial.
  • the meaning of obtaining a predetermined value by performing an operation such as encryption or hashing on a specific value means not only the specific value, but also the modified value of the specific value (for example, a predetermined value is additionally calculated or It is defined as including an operation such as encryption or hash for another value calculated through a process such as changing a corresponding specific value according to a predetermined rule.
  • controller 10 is a discrete-time linear time-invariant controller.
  • any person who understands the technical idea of the present invention and has ordinary knowledge in the control field can apply the present invention to other types of linear controllers or time-varying controllers without any difficulty.
  • Dec(*) refers to a value obtained by decoding the values in parentheses
  • Enc(*) refers to a value obtained by isomorphically encoding the values in parentheses.
  • a variable marked with "-" at the top means a value obtained by homogeneously encoding the variable.
  • FIG. 1 shows an example of a control environment for performing dynamic control data processing according to the present invention.
  • This environment includes a controller 10, an actuator 20, a decryption module 25, a controlled unit 30, a sensor 40, and an encryption module 45.
  • Devices such as the controller 10, the decryption module 25, and the encryption module 45 performing the present invention may be a kind of electronic computing device, and FIG. 3 shows an example of such an electronic computing device.
  • the present invention can be implemented by various types of electronic computing devices.
  • An example of an electronic computing device that performs each step of the present invention is shown in FIG. 13.
  • the electronic processing unit 309 includes a processor (for example, a central processing unit (CPU) 310), a memory 320, a wired or wireless communication unit 330, and at least one input unit. 340, and at least one output unit 350, but the included components are not limited to the listed components.
  • a processor for example, a central processing unit (CPU) 310
  • memory 320 for example, a central processing unit (CPU) 310
  • a wired or wireless communication unit 330 for example, a central processing unit (CPU) 310
  • wired or wireless communication unit 330 for example, a central processing unit (CPU) 310
  • wired or wireless communication unit 330 for example, a central processing unit (CPU) 310
  • wired or wireless communication unit 330 for example, a central processing unit (CPU) 310
  • each component of the electronic computing device 309 may also be changed in an appropriate manner by a person skilled in the art according to the claims to be described later. Therefore, the structure of the apparatus shown in FIG. 3 is merely exemplary and should not be construed as limiting the scope of the present invention.
  • the processor 310 may control the operation of the electronic computing device 309.
  • the processor 310 may be operated to control and interact with various components installed in the electronic computing device 309 as shown in FIG. 3.
  • the memory 320 may store program instructions or data executed by the processor 310.
  • the process (step) described herein may be stored in the memory 320 in the form of program instructions for execution of the processor 310.
  • the communication unit 330 may allow the electronic computing device 309 to transmit data to at least one external device or to receive data from at least one external device through a communication network.
  • the input unit 340 may allow the electronic computing device 309 to receive various types of inputs such as audio/video input, user input, and data input.
  • the input unit 340 is, for example, at least one camera 342 (ie, “image acquisition unity”), a touch panel 344, and a microphone (not shown) in order to accept various types of input. ), a sensor 346, a keyboard, a mouse, and at least one button or switch (not shown).
  • image acquisition unit used herein may refer to the camera 342, but is not limited thereto.
  • the output unit 350 may display information on the display screen 352 so that the user can see it.
  • the display screen 352 may be configured to accept at least one input, such as a user tapping or pressing the screen 352 through a variety of known mechanisms.
  • the output unit 350 may further include a light source 354.
  • the electronic computing device 309 although shown as a single device, may also consist of multiple separate devices that can be connected and interact with each other while in use.
  • the actuator 20 and the decoding module 25 are shown in FIG. 1 as separate components, the actuator 20 and the decoding module 25 may be integrally configured.
  • the sensor 40 and the encryption module 45 are also shown in FIG. 1 as separate components, the sensor 40 and the encryption module 45 may be integrally configured. At least one of the decryption module 25 and the encryption module 45 may be integrally configured with the controller 10.
  • Decryption and encryption can use either a symmetric key method or a public key encryption method.
  • the decryption module 25 and the encryption module 45 have the same key
  • the decryption module 25 is a private key
  • the encryption module 45 is a public key. Can have.
  • the actuator 20 controls the controlled unit 30 according to the control command u(t) of the controller 10.
  • the sensor 40 detects the output of the controlled unit 30.
  • the encryption module 45 is a value obtained by homomorphic encryption of the signal detected by the sensor 40. Is input to the controller 10 as a controller input value.
  • the decryption module 25 is an encrypted controller output signal value that is an output of the controller 10. Is decoded and provided to the actuator 20, and the corresponding value is re-encrypted and input to the controller 10 as a controller input value.
  • Equation 1 the matrices F, G, H, and J are assumed to be real matrices.
  • homomorphic encryption system of the control system according to the present invention is configured as follows.
  • Equation 3 If the ciphertext of Equation 3 is integerized using a scaling factor of 1/s and a resolution (r), it is as follows.
  • 1/s is greater than or equal to 1, and r is greater than 0.
  • the scaling factor is accumulated as the homomorphic ciphertext operation is repeated, so that further operations are performed after a certain period of time. It becomes impossible. This is because the state variable x(t) of the controller is not a value that disappears after the operation, but is used for the next operation while remaining internally. On the other hand, since y(t) and u(t) are generated as new values each time, the scaling factor does not accumulate even if the operation is repeated.
  • Equation 6 may be converted as follows using u(t) of Equation 1, a scaling factor (1/s), and a resolution (r). For convenience of explanation, an encrypted state variable value is used. Depending on the characteristics of the operation of the homomorphic ciphertext, the equations of the plaintext operation and the ciphertext operation can be expressed in the same way.
  • Equation 7 is performed in step 210 of FIG. 2.
  • Equation 7 Is referred to as the first encryption unit, Is referred to as a second encryption unit.
  • the controller 10 receives the Enc(u(t)) value required for the above calculation from the actuator side as shown in FIG. 1. It can be implemented to enable two-way communication between the actuator side and the controller 10, and the actuator side receiving the encrypted control signal, that is, Enc(u(t)), which is the output of the controller 10, decrypts the encrypted signal. After re-encryption, it can be returned to the controller 10. Enc(y(t)) required for the calculation of the first encryption unit is received from the sensor 40.
  • step 220 A process of finding a coordinate transformation matrix T and a matrix R capable of transforming a matrix into an integer matrix (step 220) will be described.
  • Kalman observable decomposition is performed on the equation of state of the controller 10.
  • Kalman observable decomposition for the coordinate transformed controller as above always guarantees the following.
  • Equation 8 the performance of the controller converted as in Equations 8 to 10 is completely equivalent to the performance of the controller in Equation 1.
  • Equation 9 is removed from the controller and only Equation 8 and Equation 10 are designed, the performance is completely the same.
  • Equation 9 If the matrices F and H given in Equation 1 are observable, even if Kalman observable decomposition is performed, part of Equation 9 does not appear. In general, it is necessary to consider even the case where F and H are not observable, so in the end, considering the transformed controller of Equations 8 to 10, which has completely the same performance as the controller of Equation 1, where F 11 and H 1 are observable, R and The state matrix of the controller by finding the matrices R 1 and T 1 of the order smaller than T and transforming Equation 8 into coordinates as shown in Equation 7 using T 1 Is made into an integer matrix.
  • R 1 that satisfies the following conditions is calculated for (F 11 , H 1 ).
  • R 1 can be calculated using the pole placement method. For example, it can be calculated using Matlab's "place" function.
  • T 1 can be calculated using, for example, Matlab's "canon" function. All elements of the unmarked part of the matrix above are "0".
  • Equation 8 and Equation 10 can replace Equation 1
  • the state matrix of Equation 7 can be replaced with Equation 11, and Equation 7 can be expressed as follows (step 230).
  • Equation 7 When Equation 7 is replaced with Equation 12, the state matrix becomes an integer matrix, so that the scaling factor is not used, so that even if the controller 10 repeats the homomorphic control data processing, the operation of the homomorphic ciphertext can be infinitely continued.

Landscapes

  • Engineering & Computer Science (AREA)
  • Physics & Mathematics (AREA)
  • Mathematical Physics (AREA)
  • General Physics & Mathematics (AREA)
  • Computer Security & Cryptography (AREA)
  • Computational Mathematics (AREA)
  • Data Mining & Analysis (AREA)
  • Mathematical Analysis (AREA)
  • Mathematical Optimization (AREA)
  • Pure & Applied Mathematics (AREA)
  • Theoretical Computer Science (AREA)
  • Signal Processing (AREA)
  • Computer Networks & Wireless Communication (AREA)
  • Algebra (AREA)
  • Databases & Information Systems (AREA)
  • Software Systems (AREA)
  • General Engineering & Computer Science (AREA)
  • Computing Systems (AREA)
  • Information Retrieval, Db Structures And Fs Structures Therefor (AREA)
  • Storage Device Security (AREA)

Abstract

본 발명에 의한 동적 제어 데이터의 처리 방법은, 피제어부와, 제어기와, 제어기로부터 수신한 제어신호를 복호화하는 복호화 모듈과, 복호화 모듈로부터 복호화된 제어신호를 수신하여 작동하는 액츄에이터와, 피제어부의 출력을 검지하는 센서와, 센서의 신호를 동형 암호화하는 동형 암호화 모듈을 포함하는 환경에서 수행된다. 상기 제어기의 상태 방정식은 x(t+1) = (F-RH)x(t) + (G-RJ)y(t) + Ru(t); u(t) = Hx(t) + Jy(t)로 주어진다. 본 발명에 의한 동적 제어 데이터 처리 방법은, 좌표 변환 행렬 T(z(t)Tx(t))에 의해 상기 상태 방정식의 동형 암호화된 상태 방정식을 변환하되, T(F-RH)T -1이 정수 행렬이 되도록 하는 행렬 R과 T를 산출하여 변환된 상태 방정식을 완성하는 제1 단계를 포함한다. 스케일링 팩터 1/s는 1보다 크며, 레졸루션 r은 0보다 클 수 있다.

Description

[규칙 제26조에 의한 보정 29.06.2020] 재부팅없이 무한 연산이 가능한 동형 암호 기반의 동적 궤환 제어기의 구성 방법
본 발명은 동형 암호 기반의 동적 제어 데이터 처리 방법에 대한 것으로서, 좀 더 자세하게는 재부팅없이 무한 연산이 가능한 동형 암호 기반의 동적 궤환 제어기 구성 방법에 대한 것이다.
네트워크 통신으로 컴퓨터에 물리적 시스템이 연결될수록 실제 제어 시스템이 해커의 목표가 될 가능성이 높아진다. 일반적으로 연산부(computation; 사이버 부분), 물리적 시스템(물리적 부분)와 통신부(사이버 파트와 물리적 부분간의 링크)를 통칭하여 사이버-물리 시스템(cyber-physical system)이라고 한다.
사이버-물리 시스템의 개방성 및 연결성으로 인해 악성 공격에 취약할 수 밖에 없는데, 산업 플랜트 등이 악성 해커의 공격에 노출된다면 대규모 사고를 초래할 수도 있고 작게는 개별 플랜트 등이 오작동할 수 있다.
그러한 문제를 예방하기 위하여 제어 신호를 암호화하여 사용하는 방법이 채택될 수 있는데, 암호화된 데이터를 제어기가 연산을 하기 위해서는 복호화 과정이 필요하다.
복호화를 위해서는 제어기가 비밀키를 소유하고 있어야 하는데 그러한 환경에서는 비밀키가 해커에 의해서 탈취될 가능성이 있기 때문에 보안상 취약점이 존재한다.
이러한 문제를 해결하기 위하여 제어 데이터를 동형 암호화하고, 암호화된 제어 데이터를 연산하는 기술적 사상이 2013년 12월 25일에 공개된 유럽특허출원공개 EP 2 677 680 A1에 기재되어 있다. 그런데 동형 암호문은 연산을 거듭할수록 내부 노이즈가 증가하고, 실수를 정수화하는 과정에서 포함되는 스케일링 팩터(비례 정수)가 누적되는 등의 한계로 인해 나중에는 더 이상의 연산이 불가능하게 된다. 그러한 경우 제어기를 부트스트래핑(재부팅)해야 하는데, 부트스트래핑을 하는 동안은 제어기가 암호화된 상태 변수를 업데이트하지 못하므로 제어기 동작이 멈추는 문제가 있었다.
2018년 11월 19일에 등록공고된 한국특허 제10-1919940호는, 부트스트래핑을 하는 동안에 상태 변수 업데이트 문제를 해결하기 위한 방법을 제안하고 있다. 이 특허는 다중 제어기를 도입하여 어느 하나의 제어기가 부트 스트래핑을 하는 동안에 다른 제어기가 상태 변수를 업데이트하는 방법을 제안하고 있다. 그러나 이 방법은 제어기를 여러 개 사용하므로 비용 문제와 복잡도 상승으로 인해 실제 적용에 어려움이 있고, 제어기가 여전히 재부팅을 해야 하는 한계를 가지고 있기 때문에 소요 연산 시간을 짧게 하기도 어려운 문제가 있었다.
본 발명은 동형 암호에 기반한 동적 제어 데이터의 처리에 필연적으로 수반되는 것으로 인식되는 재부팅 과정(bootstrapping)을 아예 원천적으로 제거함으로써 재부팅없이도 동형 암호문간의 연산을 무한히 수행할 수 있는 동적 제어 데이터 처리 방법을 제공하는 것을 목적으로 한다.
본 발명에 의한 동적 제어 데이터의 처리 방법은, 피제어부와, 제어기와, 제어기로부터 수신한 제어신호를 복호화하는 복호화 모듈과, 복호화 모듈로부터 복호화된 제어신호를 수신하여 작동하는 액츄에이터와, 피제어부의 출력을 검지하는 센서와, 센서의 신호를 동형 암호화하는 동형 암호화 모듈을 포함하는 환경에서 수행된다.
상기 제어기의 상태 방정식은
Figure PCTKR2020008097-appb-img-000001
로 주어진다.
본 발명에 의한 동적 제어 데이터 처리 방법은, 좌표 변환 행렬 T(z(t)=Tx(t))에 의해 상기 상태 방정식의 동형 암호화된 상태 방정식을
Figure PCTKR2020008097-appb-img-000002
로 변환하되,
Figure PCTKR2020008097-appb-img-000003
가 정수 행렬이 되도록 하는 행렬 R과 T를 산출하여 변환된 상태 방정식을 완성하는 제1 단계를 포함한다.
스케일링 팩터 1/s는 1보다 크며, 레졸루션 r은 0보다 클 수 있다.
본 발명에 의한 동적 제어 데이터 처리 방법은 제어기의 상태 방정식에 대해서 Kalman observable decomposition을 수행하는 제2-1 단계와; T 1(F 11-R 1H 1)T 1 -1이 정수 행렬이 되도록 하는 R 1 및 T 1을 산출하는 제2-2 단계를 포함할 수 있다. 상기 제2-2 단계는, 행렬 F 11의 고유값(eigen value)을
Figure PCTKR2020008097-appb-img-000004
로 산출하는 제2-2-1 단계와; 행렬 (F 11-R 1H 1)의 고유값이
Figure PCTKR2020008097-appb-img-000005
이 되도록 하는 R 1을 산출하는 제2-2-2 단계와; 행렬 (F 11-R 1H 1)을 modal canonical form으로 변환하는 행렬 T 1을 산출하는 제2-2-3 단계와; 산출된 T 1과 R 1을 이용하여 정수 행렬 (T 1(F 11-R 1H 1)T 1 -1)을 산출하여 상태 방정식에 상태 행렬로서 반영하는 제2-2-4 단계를 포함할 수 있다.
본 발명에 의한 동적 제어 데이터 처리 방법은, 제어기가 액츄에이터측으로부터 암호화된 제어 신호(Enc(u(t))를 수신하는 제3 단계를 더 포함할 수 있다.
Figure PCTKR2020008097-appb-img-000006
를 제1 암호화부,
Figure PCTKR2020008097-appb-img-000007
를 제2 암호화부로 지칭하면, 제1 암호화부는 센서가 감지한 출력의 암호화값(Enc(y(t))를 수신하여 연산하고, 제2 암호화부는 액츄에이터측으로부터 제어기 출력의 암호화값(Enc(u(t))를 수신하여 연산할 수 있다.
R 1은 pole placement 방법을 통해서 산출할 수 있다.
본 발명에 의한 동적 제어 데이터 처리 방법은, 컴퓨터 판독 가능 기록매체에 저장된 컴퓨터 프로그램에 의해서 수행될 수 있다. 또한, 본 발명에 의한 동적 제어 데이터 처리 방법을 수행하는 컴퓨터 프로그램은 컴퓨터 판독 가능 기록 매체에 저장될 수 있다.
본 발명에 의하면, 상태 행렬이 실계수 행렬로 주어진 임의의 동형 암호 기반 선형 동적 제어기에 대해서, 재부팅없이 동형 암호문간의 연산을 무한히 수행할 수 있으므로 종래의 다중 제어기를 도입하는 방법에 비해서 현저하게 비용이 저감되며, 연산 속도 역시 짧게 할 수 있는 작용효과가 제공된다.
도 1은 본 발명에 의한 동적 제어 데이터 처리 방법이 수행되는 환경의 예시적인 블록도.
도 2는 본 발명에 의한 동적 데이터의 처리 방법의 흐름도.
도 3은 본 발명을 수행하는 전자적 연산 장치의 일례의 블록도.
이하에서는 첨부 도면을 참조하여 본 발명에 대해서 자세하게 설명한다.
본 명세서에서 수행되는 정보(데이터) 전송 과정은 필요에 따라서 암호화/복호화가 적용될 수 있으며, 본 명세서 및 특허청구범위에서 정보(데이터) 전송 과정을 설명하는 표현은 별도로 언급되지 않더라도 모두 암호화/복호화하는 경우도 포함하는 것으로 해석되어야 한다. 본 명세서에서 "A로부터 B로 전송(전달)" 또는 "A가 B로부터 수신"과 같은 형태의 표현은 중간에 다른 매개체가 포함되어 전송(전달) 또는 수신되는 것도 포함하며, A로부터 B까지 직접 전송(전달) 또는 수신되는 것만을 표현하는 것은 아니다. 본 발명의 설명에 있어서 각 단계의 순서는 선행 단계가 논리적 및 시간적으로 반드시 후행 단계에 앞서서 수행되어야 하는 경우가 아니라면 각 단계의 순서는 비제한적으로 이해되어야 한다. 즉 위와 같은 예외적인 경우를 제외하고는 후행 단계로 설명된 과정이 선행 단계로 설명된 과정보다 앞서서 수행되더라도 발명의 본질에는 영향이 없으며 권리범위 역시 단계의 순서에 관계없이 정의되어야 한다. 그리고 본 명세서에서 “A 또는 B”는 A와 B 중 어느 하나를 선택적으로 가리키는 것 뿐만 아니라 A와 B 모두를 포함하는 것도 의미하는 것으로 정의된다. 또한, 본 명세서에서 "포함"이라는 용어는 포함하는 것으로 나열된 요소 이외에 추가로 다른 구성요소를 더 포함하는 것도 포괄하는 의미를 가진다.
본 발명은 전자적 연산이 가능한 컴퓨터, 서버 컴퓨터, 스마트폰 및 태블릿PC와 같은 모바일 디바이스 등의 전자적 연산 장치(“단말기”로도 지칭한다)에 의해서 수행되며, 후술하는 본 발명의 각 단계의 수학적 연산 및 산출은 해당 연산 또는 산출을 하기 위해 공지되어 있는 코딩 방법 및/또는 본 발명에 적합하게 고안된 코딩에 의해서 컴퓨터 프로그램의 실행에 따른 연산으로 구현될 수 있다. 본 발명을 실행하는 컴퓨터 프로그램은 컴퓨터 등의 전자적 연산장치에 의해 판독 가능한 기록 매체에 저장될 수 있다. 전자적 연산 장치는 다른 전자적 연산 장치와 통신망을 통해서 및/또는 직접적인 통신 연결을 통해서 데이터 송수신이 가능할 수 있다.
본 명세서에서 설명하는 예시적인 실시예는 본 명세서에 개시(開示)되는 장치의 구조, 기능, 제작 및 용도와 방법의 원리에 대한 전반적인 이해를 제공한다. 이러한 하나 이상의 실시예가 첨부 도면에 도시되어 있다. 당업자라면 여기에 구체적으로 기재되고 첨부 도면에 도시되어 있는 장치 및 방법이 비제한적이고 예시적인 실시예이며 본 발명의 권리범위는 특허청구범위에 의해서 정의된다는 점을 이해할 것이다. 하나의 예시적인 실시예와 관련되어 도시되고 설명되는 특징은 다른 실시예의 특징과도 결합될 수 있다. 그러한 수정(modification) 또는 변경(variation)은 본 발명의 권리범위에 포함되도록 의도된다.
본 명세서의 첨부 도면에 도시되어 있는 장치의 각 구성요소는 도면에 명시적으로 도시된 형태, 크기, 치수뿐만 아니라 본 발명이 의도하는 기능을 수행할 수 있는 형태, 크기, 치수라면 어느 것이든 적용될 수 있다. 또한, 본 발명의 구성요소로서 설명되는 부품 등의 개수는, 따로 언급되지 않더라도 발명의 작동이 불가능하지 않는 범위에서 필요에 따라 다르게 선택될 수 있다.
본 명세서에서 "모듈"이라 함은 범용적 또는 개별적으로 적용되는 하드웨어와 그 기능을 수행하는 소프트웨어의 논리적 결합을 의미한다.
본 명세서에서는 본 발명의 설명에 필요한 필수적인 구성요소만을 설명하며, 본 발명의 본질과 관계가 없는 구성요소는 언급하지 아니한다. 그리고 언급되는 구성요소만을 포함하는 배타적인 의미로 해석되어서는 아니되며 다른 구성요소도 포함할 수 있는 비배타적인 의미로 해석되어야 한다.
본 명세서에서 "동적 제어 데이터"라고 함은, 일정 시간 내에 처리되지 않으면 무의미해지거나 그 가치가 현저히 떨어져서 사실상 효용성이 사라지는 제어 데이터로 정의되며, "동적 제어기"라고 함은 동적 시스템으로 만들어진 제어기라는 뜻으로 제어기 내부에 상태 변수를 유지하여 매 연산시간마다 상태변수가 갱신되는 형태의 제어기를 포함한다.
그리고 본 명세서에서 "값"이라 함은 스칼라값 뿐만 아니라 행렬, 벡터 또는 다항식도 포함하는 개념으로 정의된다.
본 명세서에서 특정값에 대해 암호화 또는 해쉬 등과 같은 연산을 하여 소정의 값을 획득한다는 의미는 해당 특정값 뿐만 아니라 해당 특정값의 변형값(예를 들어, 특정값에 소정의 값을 추가로 연산하거나 소정의 규칙에 따라서 해당 특정값을 변화시키는 등의 과정을 통해서 산출된 다른 값)에 대한 암호화 또는 해쉬 등의 연산도 포함하는 것으로 정의된다.
본 명세서에서는 설명의 편의를 위해 제어기(10)가 이산시간 선형 시불변 제어기(discrete-time linear time-invariant controller)인 것으로 가정한다. 그러나 본 발명의 기술적 사상을 이해한, 제어 분야에서 통상의 지식을 가지는 사람이라면, 다른 형태의 선형 제어기 또는 시변 제어기에도 본 발명을 별다른 어려움 없이 적용할 수 있다.
본 명세서에서 Dec(*)은 괄호안의 값을 복호화한 값이며, Enc(*)는 괄호안의 값을 동형암호화한 값을 의미한다. 그리고 상부에 "-"가 표시된 변수는 해당 변수를 동형 암호화한 값을 의미한다.
본 명세서에서
Figure PCTKR2020008097-appb-img-000008
는 내부의 값 "*"의 반올림값을 의미한다.
도 1에는 본 발명에 의한 동적 제어 데이터 처리를 수행하는 제어 환경의 일례가 도시되어 있다.
이 환경은, 제어기(10)와, 액츄에이터(20)와, 복호화 모듈(25)과, 피제어부(30)와, 센서(40)와, 암호화 모듈(45)을 포함한다.
본 발명을 수행하는 제어기(10)와, 복호화 모듈(25)과, 암호화 모듈(45) 등의 장치는 일종의 전자적 연산 장치가 될 수 있는데 도 3에는 그러한 전자적 연산 장치의 예가 도시되어 있다.
본 발명은 다양한 형태의 전자적 연산 장치에 의해서 수행될 수 있다. 본 발명의 각 단계를 수행하는 전자적 연산 장치의 일례가 도 13에 도시되어 있다. 도 3에 도시된 바와 같이 전자적 연산 장치(309)는 프로세서(예를 들어 중앙 처리 유니트(CPU) 310)와, 메모리(320)와, 유선 또는 무선 통신 유니트(330)와, 적어도 하나의 입력 유니트(340), 및 적어도 하나의 출력 유니트(350)를 포함하지만, 포함하는 구성요소는 열거된 구성요소에 제한되지 않는다. 도 3에 도시된 구조는 단지 설명의 목적으로 단순화되어 제공되는 것이라는 점이 이해되어야 한다. 전자적 연산 장치(309)의 구조는 후술하는 특허청구범위에 따라서 당업자에 의해 적절한 방식으로 변경될 수 있다. 또한, 전자적 연산 장치(309)의 각 구성요소 역시 후술하는 특허청구범위에 따라서 당업자에 의해 적절한 방식으로 변경될 수 있다. 그러므로, 도 3에 도시된 장치의 구조는 단지 예시적이며 본 발명의 권리범위를 제한하는 것으로 해석되어서는 아니된다.
프로세서(310)는 전자적 연산 장치(309)의 작동을 제어할 수 있다. 더 자세하게는 프로세서(310)는 도 3에 도시된 바와 같은 전자적 연산 장치(309)에 설치된 여러 구성요소를 제어하고 상호작용하도록 작동될 수 있다. 예를 들어, 메모리(320)는 프로세서(310)에 의해 실행되는 프로그램 명령이나 데이터를 저장할 수 있다. 본 명세서에서 설명하는 프로세스(단계)는 프로세서(310)의 실행을 위해 메모리(320)에 프로그램 명령어의 형태로 저장될 수 있다. 통신 유니트(330)는 전자적 연산 장치(309)가 통신 네트워크를 통해서 적어도 하나의 외부 장치로 데이터를 전송하거나 적어도 하나의 외부 장치로부터 데이터를 수신하도록 할 수 있다. 입력 유니트(340)는 전자적 연산 장치(309)가 오디오/비디오 입력, 사용자 입력, 데이터 입력 등의 다양한 형태의 입력을 수신하도록 할 수 있다. 이러한 목적을 위해 입력 유니트(340)는 다양한 형태의 입력을 받아들이기 위해서 예를 들어, 적어도 하나의 카메라(342, 즉 "이미지 획득 유니티")와, 터치 패널(344)과, 마이크로폰(도시되지 않음), 센서(346), 키보드, 마우스, 적어도 하나의 버튼이나 스위치(도시되지 않음) 등과 같은 다양한 입력 장치를 포함할 수 있다. 본 명세서에서 사용되는 "이미지 획득 유니트"라는 용어는 카메라(342)를 가리킬 수 있지만 그것에 제한되는 것은 아니다. 출력 유니트(350)는, 사용자가 볼 수 있도록 디스플레이 스크린(352)에 정보를 표시할 수 있다. 디스플레이 스크린(352)은 공지되어 있는 다양한 메커니즘을 통해서 사용자 태핑(tapping)이나 스크린(352)을 누르는 것과 같은 적어도 하나의 입력을 받아들이도록 구성될 수 있다. 출력 유니트(350)는, 광원(354)을 더 포함할 수 있다. 전자적 연산 장치(309)는, 단일 장치로 도시되어 있지만, 사용되는 동안 서로 연결되고 상호작용할 수 있는 다중의 분리된 장치로 구성될 수도 있다.
액츄에이터(20)와 복호화 모듈(25)은 별도의 구성요소로 도 1에 도시되어 있지만, 액츄에이터(20)와 복호화 모듈(25)은 일체로 구성될 수도 있다. 센서(40)와 암호화 모듈(45)도 별도의 구성요소로 도 1에 도시되어 있지만, 센서(40)와 암호화 모듈(45)은 일체로 구성될 수도 있다. 복호화 모듈(25)과 암호화 모듈(45) 중 적어도 어느 하나는 제어기(10)와 일체로 구성될 수도 있다.
복호화와 암호화는 대칭키 방식을 사용할 수도 있고, 공개키 암호화 방식을 사용할 수도 있다. 대칭키 방식인 경우에는, 복호화 모듈(25)과 암호화 모듈(45)이 동일한 키를 가지고 있으며, 공개키 암호화 방식인 경우에는 복호화 모듈(25)은 비밀키를, 암호화 모듈(45)은 공개키를 가질 수 있다.
액츄에이터(20)는 제어기(10)의 제어 명령 u(t)에 따라서 피제어부(30)를 제어한다. 센서(40)는 피제어부(30)의 출력을 감지한다. 암호화 모듈(45)은 센서(40)가 감지한 신호를 동형 암호화한 값인
Figure PCTKR2020008097-appb-img-000009
를 제어기 입력값으로서 제어기(10)로 입력한다. 복호화 모듈(25)은 제어기(10)의 출력인 암호화된 제어기 출력 신호값인
Figure PCTKR2020008097-appb-img-000010
를 복호화하여 액츄에이터(20)에 제공하는 동시에 해당 값을 재암호화하여 제어기 입력값으로서 제어기(10)로 입력한다.
본 발명에 의한 제어 시스템의 상태 방정식은 다음과 같이 정의된다.
Figure PCTKR2020008097-appb-img-000011
Figure PCTKR2020008097-appb-img-000012
수학식 1에서 행렬 F, G, H, J는 실수 행렬로 가정한다.
본 발명에 의한 제어 시스템의 동형 암호 시스템이 다음과 같이 구성된다고 가정한다.
평문 공간:
Figure PCTKR2020008097-appb-img-000013
(모듈로(modulo) N이 자연수인 정수의 집합)
암호문 공간 :
Figure PCTKR2020008097-appb-img-000014
Figure PCTKR2020008097-appb-img-000015
일 때, Dec(Enc(m 1)*Enc(m 2)) = m 1 + m 2 이면 동형 암호 시스템은 덧셈에 대해 동형인(additively homomorphic) 시스템으로 지칭된다.
Enc:
Figure PCTKR2020008097-appb-img-000016
, Dec:
Figure PCTKR2020008097-appb-img-000017
;
Figure PCTKR2020008097-appb-img-000018
이면, 정수 행렬 K와 암호행렬 c의 연산은 다음과 같이 정리할 수 있다.
Figure PCTKR2020008097-appb-img-000019
즉 Dec(K·Enc( m)) = K m 가 성립한다. 여기에서
Figure PCTKR2020008097-appb-img-000020
이다.
다음과 같은 정적 제어기(static controller) 입력값과 출력값의 암호화 및 복호화에 대해서 설명한다.
피제어부의 입력:
Figure PCTKR2020008097-appb-img-000021
피제어부의 출력:
Figure PCTKR2020008097-appb-img-000022
Figure PCTKR2020008097-appb-img-000023
평문 공간
Figure PCTKR2020008097-appb-img-000024
는 다음과 같이 정의된다.
Figure PCTKR2020008097-appb-img-000025
스케일링 팩터(scaling factor) 1/s와 레졸루션(r)을 이용하여 수학식 3의 암호문을 정수화하면 다음과 같다.
Figure PCTKR2020008097-appb-img-000026
여기에서 1/s는 1보다 크거나 같으며, r은 0보다 크다.
Figure PCTKR2020008097-appb-img-000027
이고,
Figure PCTKR2020008097-appb-img-000028
의 조건을 만족하는 충분히 큰 1/s와 1/r에 대해서는 다음과 같은 관계가 성립한다.
Figure PCTKR2020008097-appb-img-000029
동적 제어기인 경우에 실수 상태 행렬 F를 전술한 바와 같은 스케일링 팩터와 레졸루션을 이용하여 정수 상태 행렬로 변환하면, 동형 암호문 연산이 거듭될수록 스케일링 팩터가 누적되어서 어느 시간이 경과한 후에는 더 이상의 연산이 불가능해진다. 이는 제어기의 상태 변수 x(t)가 연산 후 사라지는 값이 아니라 내부적으로 남아 있는 상태에서 그 다음번 연산에 사용되기 때문이다. 반면에, y(t) 및 u(t)는 매번 새로운 값으로 생성되기 때문에 연산이 거듭되더라도 스케일링 팩터가 누적되지 않는다.
본 발명에서는 상태 변수 x(t)의 상태 행렬 F를 스케일링 팩터를 사용하지 않고 아예 정수 행렬로 변환함으로써 동형 암호문의 연산을 무한히 제한없이 수행할 수 있게 한다. 그 구체적이 방법에 대해서 이하에 설명한다.
수학식 1의 상태 방정식을 좌표 변환 행렬 T(z=Tx)를 이용하여 다음과 같이 변환한다.(단계 200)
Figure PCTKR2020008097-appb-img-000030
수학식 6은 수학식 1의 u(t)와 스케일링 팩터(1/s) 및 레졸루션(r)을 이용하여 다음과 같이 변환될 수 있다. 설명의 편의를 위해 암호화된 상태 변수값을 사용한다. 동형 암호문의 연산의 특징에 의해서 평문 연산과 암호문의 연산의 연산식은 동일하게 표현할 수 있다.
Figure PCTKR2020008097-appb-img-000031
수학식 7은 도 2의 단계(210)에서 수행된다.
수학식 7에서
Figure PCTKR2020008097-appb-img-000032
를 제1 암호부로 지칭하고,
Figure PCTKR2020008097-appb-img-000033
를 제2 암호부로 지칭한다.
제어기(10)는 상기 연산에 필요한 Enc(u(t))값을 도 1에 도시된 바와 같이 액츄에이터측으로부터 수신한다. 액츄에이터측과 제어기(10) 사이에 쌍방향 통신이 가능하도록 구현할 수 있으며, 제어기(10)의 출력인 암호화된 제어신호 즉 Enc(u(t))를 수신한 액츄에이터측이 그 암호화된 신호를 복호화한 후 재암호화하여 제어기(10)로 되돌려 줄 수 있다. 제1 암호부의 연산을 위해 필요한 Enc(y(t))는 센서(40)로부터 수신한다.
다음으로
Figure PCTKR2020008097-appb-img-000034
를 정수 행렬로 변환할 수 있는 좌표 변환 행렬 T와 행렬 R을 찾는 과정(단계 220) 대해서 설명한다.
먼저 제어기(10)의 상태 방정식에 대해서 Kalman observable decomposition을 수행한다.
수학식 1의 상태 방정식을 가지는 제어기에 대해서 Kalman observable decomposition을 수행하면 좌표 변환을 통해서 다음과 같이 변환된다. 먼저 좌표변환 행렬
Figure PCTKR2020008097-appb-img-000035
을 찾아서 w=Wx로 표현하는데, w 1 = W 1x, w 2 = W 2x로 정의해서 다음의 수학식 8 내지 10으로 표현할 수 있다.
Figure PCTKR2020008097-appb-img-000036
Figure PCTKR2020008097-appb-img-000037
Figure PCTKR2020008097-appb-img-000038
위와 같이 좌표 변환된 제어기에 대한 Kalman observable decomposition은 항상 다음을 보장한다.
첫째, (F 11, H 1)은 관측 가능한 성질을 가진다.
둘째, 수학식 8 내지 10과 같이 변환된 제어기의 성능은 수학식 1의 제어기의 성능과 완전히 동등하다. 또한, 상기 제어기에서 수학식 9를 제거하고 수학식 8과 수학식 10만 설계해도 성능은 완전히 동일하다.
수학식 1에서 주어진 행렬 F, H가 관측 가능한 경우라면 Kalman observable decomposition을 해도 수학식 9 부분은 나타나지 않는다. 일반적으로 F, H가 관측 가능하지 않은 경우까지 고려해야 하므로, 결국 F 11과 H 1이 관측가능한, 수학식 1의 제어기와 완전히 동일한 성능을 가지는 수학식 8 내지 10의 변환된 제어기를 고려해서 R과 T보다 차수가 더 작은 행렬 R 1과 T 1을 찾아서 수학식 8을 T 1을 이용해 수학식 7과 같이 좌표 변환한 제어기의 상태 행렬
Figure PCTKR2020008097-appb-img-000039
을 정수 행렬로 만든다.
이하에서는 R 1과 T 1을 찾는 방법에 대해서 설명한다.
F 11(
Figure PCTKR2020008097-appb-img-000040
)이 다음과 같이 m 1개의 실수 고유값(eigen value)을 가지고, 2m 2(=n 1-m 1)개의 복소수 고유값을 가지는 것으로 가정한다.
eig(F 11) =
Figure PCTKR2020008097-appb-img-000041
다음으로 (F 11, H 1)에 대해서 다음과 같은 조건을 만족하는 R 1을 산출한다.
eig(F 11 - R 1H 1) =
Figure PCTKR2020008097-appb-img-000042
R 1은 pole placement 방법을 사용하여 산출할 수 있다. 예를 들어, 매트랩(Matlab)의 "place" 함수를 이용해서 산출할 수 있다.
행렬 T 1을 찾아서 다음과 같은 modal canonical form으로 변환한다. 그렇게 변환된 다음 행렬은 정수 행렬이 된다.
Figure PCTKR2020008097-appb-img-000043
T 1의 산출은 예를 들어 매트랩(Matlab)의 "canon" 함수를 이용해서 산출할 수 있다. 위 행렬에서 표시되지 않은 부분의 원소는 모두 "0"이다.
수학식 8과 수학식 10이 수학식 1을 대체할 수 있으므로 수학식 7의 상태 행렬을 수학식 11로 대체할 수 있으며 수학식 7은 아래와 같이 표시될 수 있다(단계 230).
Figure PCTKR2020008097-appb-img-000044
수학식 7이 상기 수학식 12로 대체되면 상태 행렬이 정수 행렬이 됨으로써 스케일링 팩터를 사용하지 않게 되므로 제어기(10)가 동형 제어 데이터 처리를 거듭하더라도 동형 암호문의 연산을 무한히 계속할 수 있게 된다.
이상 첨부 도면을 참고하여 본 발명에 대해서 설명하였지만 본 발명의 권리범위는 후술하는 특허청구범위에 의해 결정되며 전술한 실시예 및/또는 도면에 제한되는 것으로 해석되어서는 아니된다. 그리고 특허청구범위에 기재된 발명의, 당업자에게 자명한 개량, 변경 및 수정도 본 발명의 권리범위에 포함된다는 점이 명백하게 이해되어야 한다.
본 출원은 다음과 같은 대한민국 국가연구개발사업의 결과물이다.
과제고유번호: 1711109827
과제번호: 2017R1E1A1A03070342
부처명: 과학기술정보통신부
과제관리(전문)기관명: 한국연구재단
연구사업명: 개인기초연구(과기정통부) (R&D)
연구과제명: 연결된 Cyber-Physical & Human System을 위한 제어 이론 연구
과제수행기관명: 서울대학교
연구기간: 2020.03.01 ~ 2021.02.28

Claims (11)

  1. 피제어부와, 제어기와, 제어기로부터 수신한 제어신호를 복호화하는 복호화 모듈과, 복호화 모듈로부터 복호화된 제어신호를 수신하여 작동하는 액츄에이터와, 피제어부의 출력을 검지하는 센서와, 센서의 신호를 동형 암호화하는 동형 암호화 모듈을 포함하는 환경에서 상기 제어기가 수행하는 동적 제어 데이터의 처리 방법에 있어서,
    상기 제어기의 상태 방정식은
    Figure PCTKR2020008097-appb-img-000045
    이며,
    좌표 변환 행렬 T(z(t)=Tx(t))에 의해 상기 상태 방정식의 동형 암호화된 상태 방정식을
    Figure PCTKR2020008097-appb-img-000046
    로 변환하되,
    Figure PCTKR2020008097-appb-img-000047
    가 정수 행렬이 되도록 하는 행렬 R과 T를 산출하여 변환된 상태 방정식을 완성하는 제1 단계를 포함하며,
    스케일링 팩터 1/s는 1보다 크며, 레졸루션 r은 0보다 큰,
    동적 제어 데이터 처리 방법.
  2. 청구항 1에 있어서,
    제어기의 상태 방정식에 대해서 Kalman observable decomposition을 수행하는 제2-1 단계와,
    T 1(F 11-R 1H 1)T 1 -1이 정수 행렬이 되도록 하는 R 1 및 T 1을 산출하는 제2-2 단계를 포함하며,
    상기 제2-2 단계는,
    행렬 F 11의 고유값(eigen value)을
    Figure PCTKR2020008097-appb-img-000048
    로 산출하는 제2-2-1 단계와,
    행렬 (F 11-R 1H 1)의 고유값이
    Figure PCTKR2020008097-appb-img-000049
    이 되도록 하는 R 1을 산출하는 제2-2-2 단계와,
    행렬 (F 11-R 1H 1)을 modal canonical form으로 변환하는 행렬 T 1을 산출하는 제2-2-3 단계와,
    산출된 T 1과 R 1을 이용하여 정수 행렬 (T 1(F 11-R 1H 1)T 1 -1)을 산출하여 상태 방정식에 상태 행렬로서 반영하는 제2-2-4 단계를 포함하는,
    동적 제어 데이터 처리 방법.
  3. 청구항 1 또는 청구항 2에 있어서,
    제어기가 액츄에이터측으로부터 암호화된 제어 신호(Enc(u(t))를 수신하는 제3 단계를 더 포함하는,
    동적 제어 데이터 처리 방법.
  4. 청구항 3에 있어서,
    Figure PCTKR2020008097-appb-img-000050
    를 제1 암호화부,
    Figure PCTKR2020008097-appb-img-000051
    를 제2 암호화부로 하며,
    제1 암호화부는 센서가 감지한 출력의 암호화값(Enc(y(t))를 수신하여 연산하고, 제2 암호화부는 액츄에이터측으로부터 제어기 출력의 암호화값(Enc(u(t))를 수신하여 연산하는,
    동적 제어 데이터 처리 방법.
  5. 청구항 4에 있어서,
    R 1은 pole placement 방법을 통해서 산출하는,
    동적 제어 데이터 처리 방법.
  6. 전자적 연산 장치에 청구항 1 또는 청구항 2의 동적 제어 데이터의 처리 방법을 실행시키기 위한 프로그램을 기록한 컴퓨터 판독 가능 기록 매체.
  7. 전자적 연산 장치에 청구항 3의 동적 제어 데이터의 처리 방법을 실행시키기 위한 프로그램을 기록한 컴퓨터 판독 가능 기록 매체.
  8. 전자적 연산 장치에 청구항 4의 동적 제어 데이터의 처리 방법을 실행시키기 위한 프로그램을 기록한 컴퓨터 판독 가능 기록 매체.
  9. 전자적 연산 장치에 청구항 1 또는 청구항 2의 동적 제어 데이터의 처리 방법을 실행시키기 위하여 컴퓨터 판독 가능 기록 매체에 저장된 컴퓨터 프로그램.
  10. 전자적 연산 장치에 청구항 3의 동적 제어 데이터의 처리 방법을 실행시키기 위하여 컴퓨터 판독 가능 기록 매체에 저장된 컴퓨터 프로그램.
  11. 전자적 연산 장치에 청구항 4의 동적 제어 데이터의 처리 방법을 실행시키기 위하여 컴퓨터 판독 가능 기록 매체에 저장된 컴퓨터 프로그램.
PCT/KR2020/008097 2019-10-10 2020-06-23 재부팅없이 무한 연산이 가능한 동형 암호 기반의 동적 궤환 제어기의 구성 방법 WO2021071054A1 (ko)

Priority Applications (1)

Application Number Priority Date Filing Date Title
US17/382,599 US11843688B2 (en) 2019-10-10 2021-07-22 Method for dynamic feedback control based on homomorphic encryption which carries out unlimited arithmetic operations without bootstrapping

Applications Claiming Priority (2)

Application Number Priority Date Filing Date Title
KR1020190125503A KR102306635B1 (ko) 2019-10-10 2019-10-10 재부팅없이 무한 연산이 가능한 동형 암호 기반의 동적 궤환 제어기의 구성 방법
KR10-2019-0125503 2019-10-10

Related Child Applications (1)

Application Number Title Priority Date Filing Date
US17/382,599 Continuation-In-Part US11843688B2 (en) 2019-10-10 2021-07-22 Method for dynamic feedback control based on homomorphic encryption which carries out unlimited arithmetic operations without bootstrapping

Publications (1)

Publication Number Publication Date
WO2021071054A1 true WO2021071054A1 (ko) 2021-04-15

Family

ID=75437199

Family Applications (1)

Application Number Title Priority Date Filing Date
PCT/KR2020/008097 WO2021071054A1 (ko) 2019-10-10 2020-06-23 재부팅없이 무한 연산이 가능한 동형 암호 기반의 동적 궤환 제어기의 구성 방법

Country Status (3)

Country Link
US (1) US11843688B2 (ko)
KR (1) KR102306635B1 (ko)
WO (1) WO2021071054A1 (ko)

Cited By (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN113660076A (zh) * 2021-07-15 2021-11-16 南京大学 基于可重构技术的同态加密系统及同态加密执行方法

Families Citing this family (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
WO2024076504A1 (en) * 2022-10-03 2024-04-11 Board Of Regents, The University Of Texas System Method and system using homomorphically encrypted nonlinear dynamic controller

Citations (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US20190268135A1 (en) * 2017-04-11 2019-08-29 The Governing Council Of The University Of Toronto Method of Operation for a Configurable Number Theoretic Transform (NTT) Butterfly Circuit For Homomorphic Encryption

Family Cites Families (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
EP2677680A1 (en) 2012-06-19 2013-12-25 ABB Research Ltd. Processing operational data of an industrial system
KR101919940B1 (ko) 2017-02-08 2018-11-19 서울대학교산학협력단 완전 동형 암호 방법에 의한 동적 데이터의 처리 방법
EP3562043B1 (en) * 2018-04-27 2023-06-07 University Of Cyprus Methods for compression of multivariate correlated data for multi-channel communication

Patent Citations (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US20190268135A1 (en) * 2017-04-11 2019-08-29 The Governing Council Of The University Of Toronto Method of Operation for a Configurable Number Theoretic Transform (NTT) Butterfly Circuit For Homomorphic Encryption

Non-Patent Citations (4)

* Cited by examiner, † Cited by third party
Title
CHEON JUNG HEE; HAN KYOOHYUNG; KIM HYUNTAE; KIM JUNSOO; SHIM HYUNGBO: "Need for Controllers Having Integer Coefficients in Homomorphically Encrypted Dynamic System", 2018 IEEE CONFERENCE ON DECISION AND CONTROL (CDC), IEEE, 17 December 2018 (2018-12-17), pages 5020 - 5025, XP033503700, DOI: 10.1109/CDC.2018.8619600 *
KOGISO KIMINAO; FUJITA TAKAHIRO: "Cyber-security enhancement of networked control systems using homomorphic encryption", 2015 54TH IEEE CONFERENCE ON DECISION AND CONTROL (CDC), IEEE, 15 December 2015 (2015-12-15), pages 6836 - 6843, XP032863185, DOI: 10.1109/CDC.2015.7403296 *
MITRA ARITRA; SUNDARAM SHREYAS: "Secure distributed observers for a class of linear time invariant systems in the presence of Byzantine adversaries", 2016 IEEE 55TH CONFERENCE ON DECISION AND CONTROL (CDC), IEEE, 12 December 2016 (2016-12-12), pages 2709 - 2714, XP033030728, DOI: 10.1109/CDC.2016.7798671 *
MURGUIA CARLOS, FAROKHI FARHAD, SHAMES IMAN: "Secure and Private Implementation of Dynamic Controllers Using Semihomomorphic Encryption", IEEE TRANSACTIONS ON AUTOMATIC CONTROL., IEEE SERVICE CENTER, LOS ALAMITOS, CA., US, vol. 65, no. 9, 1 September 2020 (2020-09-01), US, pages 3950 - 3957, XP055802093, ISSN: 0018-9286, DOI: 10.1109/TAC.2020.2992445 *

Cited By (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN113660076A (zh) * 2021-07-15 2021-11-16 南京大学 基于可重构技术的同态加密系统及同态加密执行方法

Also Published As

Publication number Publication date
KR102306635B1 (ko) 2021-09-28
KR20210042668A (ko) 2021-04-20
US11843688B2 (en) 2023-12-12
US20210351914A1 (en) 2021-11-11

Similar Documents

Publication Publication Date Title
WO2020022598A1 (ko) 암호문에 대한 근사 연산을 수행하는 장치 및 방법
WO2021071054A1 (ko) 재부팅없이 무한 연산이 가능한 동형 암호 기반의 동적 궤환 제어기의 구성 방법
WO2018147497A1 (ko) 완전 동형 암호 방법에 의한 동적 데이터의 처리 방법
WO2014069778A1 (ko) 아이디 기반 암호화, 복호화 방법 및 이를 수행하기 위한 장치
KR20010041069A (ko) 공유 메모리 상호 접속을 구비하는 암호 처리기 및 그 방법
JP2016512374A5 (ko)
CN109564553A (zh) 多阶段存储器完整性方法和装置
CA2571450A1 (en) Encrypted keyboard
WO2017105072A1 (ko) 생체 정보 기반 인증 장치 그리고 이의 동작 방법
WO2020166879A1 (en) Apparatus for performing threshold design on secret key and method thereof
Zhang et al. Hybrid encryption algorithms for medical data storage security in cloud database
WO2020111403A1 (ko) 스트림 암호 기반의 제로-워터마킹을 이용한 영상 보안 방법, 서버, 및 컴퓨터 판독 가능한 기록 매체
WO2023158193A1 (ko) 동형 암호를 기반으로 하는 데이터 처리 방법 및 장치
WO2020218708A1 (ko) 홈 재활 서비스를 제공하기 위한 처방 정보를 암호화 및 복호화하는 방법 및 의사 단말
WO2019103360A1 (ko) Iot 경량단말 환경에서 프록시 재암호화 기반의 데이터 관리 방법 및 시스템
WO2023169532A1 (zh) 图像加密方法、图像解密方法、图像处理装置及存储介质
WO2015199325A1 (ko) 유한체 gf(3n)상에서 쉬프트 된 다항식 기저를 이용한 이차 미만의 공간복잡도를 갖는 병렬 곱셈기, 그 방법 및 이를 기록한 기록매체
WO2022154241A1 (ko) 재부팅 및 제어신호의 재암호화가 필요없으며 무한 연산이 가능한 동형암호화기반의 동적 데이터 처리 방법
WO2021256841A1 (ko) 동형 암호 시스템에 대한 시뮬레이션 장치 및 방법
Wang et al. A medical image encryption algorithm based on synchronization of time-delay chaotic system
CN115170380A (zh) 一种基于混沌映射的图像分层置乱加密方法
JPWO2009090689A1 (ja) 暗号化装置及び暗号処理方法
WO2021025185A1 (ko) 안티-인버전 함수를 이용한 화이트박스 암호 인코딩 장치 및 방법
WO2020222547A1 (ko) 암호화 및 복호화를 수행하는 전자 장치 및 그 제어 방법
WO2023224182A1 (en) Method and device for performing homomorphic permutation

Legal Events

Date Code Title Description
121 Ep: the epo has been informed by wipo that ep was designated in this application

Ref document number: 20875290

Country of ref document: EP

Kind code of ref document: A1

NENP Non-entry into the national phase

Ref country code: DE

122 Ep: pct application non-entry in european phase

Ref document number: 20875290

Country of ref document: EP

Kind code of ref document: A1