KR101945885B1 - Method for Authenticating Evaluation Results of Homomorphic-Encrypted Data - Google Patents

Method for Authenticating Evaluation Results of Homomorphic-Encrypted Data Download PDF

Info

Publication number
KR101945885B1
KR101945885B1 KR1020170086342A KR20170086342A KR101945885B1 KR 101945885 B1 KR101945885 B1 KR 101945885B1 KR 1020170086342 A KR1020170086342 A KR 1020170086342A KR 20170086342 A KR20170086342 A KR 20170086342A KR 101945885 B1 KR101945885 B1 KR 101945885B1
Authority
KR
South Korea
Prior art keywords
function
secret
message
random
rti
Prior art date
Application number
KR1020170086342A
Other languages
Korean (ko)
Other versions
KR20190005540A (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 KR1020170086342A priority Critical patent/KR101945885B1/en
Publication of KR20190005540A publication Critical patent/KR20190005540A/en
Application granted granted Critical
Publication of KR101945885B1 publication Critical patent/KR101945885B1/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
    • 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/0861Generation of secret information including derivation or calculation of cryptographic keys or passwords
    • H04L9/0869Generation of secret information including derivation or calculation of cryptographic keys or passwords involving random numbers or seeds
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L2209/00Additional information or applications relating to cryptographic mechanisms or cryptographic arrangements for secret or secure communication H04L9/00
    • H04L2209/04Masking or blinding

Landscapes

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

Abstract

본 발명에 의한 암호문 위변조 판단 방법이 수행되는 환경은, 기초 정보를 수집하는 정보 수집부와, 기초 정보를 암호화하는 암호화모듈과, 암호화 모듈의 결과값인 암호문을 수신하여 복호화하는 복호화 모듈과, 복호화된 데이터에 기반하여 제어되는 몸체부를 포함하는 시스템을 포함한다.
보안 인수(

Figure 112017065159907-pat00148
)에 따라 암호문의 집합(C)와 메시지의 집합(M)이 정해지며, 메시지 집합에서 암호문의 집합으로 보내는 비밀함수(s)로서 역함수가 존재하는 비밀함수(s)가 설정되며, 비밀키(K)가 정해진다.
본 발명에 의한 암호문 위변조 판단 방법은, 암호화 모듈이 메시지를 비밀함수(s)를 이용하여 암호문의 집합으로 보내는 인코딩을 수행하는 제1 단계와; 암호화 모듈이 메시지 각각에 부여되는 고유 번호(id)를, 비밀키(K)를 사용하는 의사 난수 함수(FK)에 의해 생성된 암호문의 집합(C)의 랜덤 원소에 대응시키는 제2 단계와; 암호화 모듈이 제1 단계에서 생성한 인코딩 메시지를 제2 단계에서 생성한 랜덤 원소를 이용하여 마스킹하여 암호화 값(
Figure 112017065159907-pat00149
)을 생성하는 제3 단계와; 복호화 모듈이 암호문의 위변조를 검증하는 제4 단계를 포함한다.
검증하는 제4 단계는, 메시지 각각의 고유 번호(id)를, 비밀키(K)를 사용하는 의사 난수 함수를 이용하여 암호문의 집합(C)의 랜덤 원소에 대응시키는 제4-1 단계와; 제4-1 단계에서 생성된 랜덤 원소를 이용하여 마스킹을 제거하는 제4-2 단계와; 비밀함수의 역함수를 이용하여 메시지를 복호화하는 제4-3 단계와; 제4-2 단계에서 마스킹을 제거하여 획득한 값이 비밀함수의 치역에 있는지 여부를 검증하고 참인 경우에만 제4-3 단계에서 복호화된 값을 출력하는 제4-4 단계를 포함한다.An environment in which the cipher forgery determination method according to the present invention is performed includes an information collection unit for collecting basic information, an encryption module for encrypting basic information, a decryption module for receiving and decrypting a cipher text as a result value of the encryption module, And a body that is controlled based on the received data.
Security Arguments (
Figure 112017065159907-pat00148
A set of ciphertexts (C) and a set of messages (M) are defined in accordance with a set of ciphertexts and a secret function (s) having an inverse function is set as a secret function (s) K) is determined.
A method of determining a cryptogram forgery and falsification according to the present invention includes: a first step of performing an encoding in which an encryption module sends a message as a set of ciphertexts using a secret function (s); The encryption module is a unique identifier (id) is assigned to a message, respectively, and a second step of corresponding the random element of the ciphertext set (C) of the produced by the pseudo-random number function (F K) using the secret key (K) ; The encryption module encrypts the encoding message generated in the first step by using the random element generated in the second step,
Figure 112017065159907-pat00149
); ≪ / RTI > And a fourth step in which the decryption module verifies the forgery and corruption of the cipher text.
The fourth step of verifying is a step 4-1 of associating the unique number id of each message with a random element of the set of ciphertexts C using a pseudo-random number function using the secret key K; A fourth step of removing masking using the random element generated in step 4-1; A fourth step of decrypting the message using an inverse function of the secret function; And a fourth step of verifying whether the value obtained by removing the masking in the step 4-2 is in the range of the secret function and outputting the decrypted value in the step 4-3 only when the value is true.

Description

동형 암호화된 데이터의 연산의 위변조를 판단하는 방법{Method for Authenticating Evaluation Results of Homomorphic-Encrypted Data}Method for Authenticating Evaluation of Homomorphic-Encrypted Data "

본 발명은 동형 암호화된 데이터를 암호화된 상태에서 연산한 결과를 검증하는 방법에 대한 것이다.The present invention relates to a method for verifying the result of computing the same-encrypted data in an encrypted state.

동형 암호화된 데이터는 암호화된 상태에서 연산을 수행한 결과가, 평문을 연산한 결과를 암호화한 값이 되기 때문에 데이터의 연산에 있어서 평문 정보를 제공하지 않아도 된다. 따라서, 암호화된 민감한 평문 정보가 제3자에게 노출되지 않으면서도 데이터의 연산 결과를 얻을 수 있는 장점이 있다.Since the result of performing the operation in the encrypted state of the encrypted data is a value obtained by encrypting the result of the calculation of the plain text, it is not necessary to provide the plain text information in the operation of the data. Therefore, there is an advantage that the computed result of the data can be obtained without exposing the encrypted sensitive plaintext information to a third party.

그런데 동형 암호화된 상태에서 연산한 결과가 중간에 위변조되지는 않은지 여부를 검증하지 않으면, 심각한 문제가 발생한다.However, serious problems arise if it is not verified whether or not the result of the operation in the same encryption state is forged in the middle.

예를 들어, 최근에 널리 연구되고 실제로도 많이 사용되는 무인기(드론)나 자율 주행 차량의 경우, 피제어 대상인 드론이나 자율 주행 차량이 획득한 제어 기초 신호(속도, 주행 방향, 차량의 다른 정보 등)를 동형 암호화하고, 그 암호화된 데이터를 연산하여 암호화된 제어 신호를 획득한 후, 복호화하여 제어 신호를 얻으면, 비록 제어 기초 신호가 중간에 노출되지는 않지만, 만약 중간에서 연산을 위변조하는 경우에는, 피제어 대상의 제어에 심각한 오류를 발생시킬 수 있는 문제가 있다.For example, in the case of unmanned drones (autonomous vehicles) or autonomous vehicles that have been widely studied and are widely used in recent years, the control basic signals (speed, running direction, other information of the vehicle, etc.) acquired by the controlled drones or self- If the encrypted control signal is obtained and decrypted to obtain the control signal, even if the control basis signal is not exposed in the middle, if the operation is forged in the middle, There is a problem that a serious error may be caused in the control of the controlled object.

이를 해결하기 위해 동형인증암호의 개념이 제시된 바 있는데, 현재까지 제시된 동형인증암호는 매우 낮은 효율성을 가지는 문제가 있다.To solve this problem, the concept of homogeneous authentication cryptosystem has been proposed. However, there is a problem that the homogeneous authentication cryptosystem presented so far has very low efficiency.

예를 들어, 2013년 Asiacrypt에서 발표된 "Homomorphic Authenticated Encryption Secure Against Chosen-Ciphertext Attack" 논문이 동형인증암호의 개념을 제시하고 스킴을 설계하고 있지만, 이 기술은 인수 분해와 AGCD(Approximate Greatest Common Divisor) 문제에 기반하여 정수환 위에서 설계되었고, 암호화된 상태에서 수행하려는 연산에 지수적으로 암호문의 크기가 증가하는 이유로 실용적으로 사용하기에는 매우 낮은 효율성을 보여서 실제로 적용하기에는 많은 문제를 내포하고 있다.For example, the paper "Homomorphic Authenticated Encryption Secure Against Chosen-Ciphertext Attack" published by Asiacrypt in 2013 proposes the concept of the same type of authentication cryptosystem and designs the scheme. However, this technique is based on factorization and Approximate Greatest Common Divisor (AGCD) It is designed on the basis of the problem, and since the size of the ciphertext exponentially increases in the operation to be performed in the encrypted state, it is very low efficiency to be practically used.

본 발명은 이러한 종래 기술의 문제점을 해결하여 효율성이 높은 동형인증암호 방법을 제시하여 동형암호화된 정보를 연산한 결과가 위변조되었는지 여부를 검증하는 방법을 제공하는 것을 목적으로 한다.It is an object of the present invention to provide a method for verifying whether a result of the calculation of the same-type encrypted information is falsified by suggesting a homogeneous authentication encryption method with high efficiency by solving the problems of the related art.

본 발명에 의한 암호문 위변조 판단 방법이 수행되는 환경은, 기초 정보를 수집하는 정보 수집부와, 기초 정보를 암호화하는 암호화모듈과, 암호화 모듈의 결과값인 암호문을 수신하여 복호화하는 복호화 모듈과, 복호화된 데이터에 기반하여 제어되는 몸체부를 포함하는 시스템을 포함한다.An environment in which the cipher forgery determination method according to the present invention is performed includes an information collection unit for collecting basic information, an encryption module for encrypting basic information, a decryption module for receiving and decrypting a cipher text as a result value of the encryption module, And a body that is controlled based on the received data.

보안 인수(

Figure 112017065159907-pat00001
)에 따라 암호문의 집합(C)와 메시지의 집합(M)이 정해지며, 메시지 집합에서 암호문의 집합으로 보내는 비밀함수(s)로서 역함수가 존재하는 비밀함수(s)가 설정되며, 비밀키(K)가 정해진다.Security Arguments (
Figure 112017065159907-pat00001
A set of ciphertexts (C) and a set of messages (M) are defined in accordance with a set of ciphertexts and a secret function (s) having an inverse function is set as a secret function (s) K) is determined.

본 발명에 의한 암호문 위변조 판단 방법은, 암호화 모듈이 메시지를 비밀함수(s)를 이용하여 암호문의 집합으로 보내는 인코딩을 수행하는 제1 단계와; 암호화 모듈이 메시지 각각에 부여되는 고유 번호(id)를, 비밀키(K)를 사용하는 의사 난수 함수(FK)에 의해 생성된 암호문의 집합(C)의 랜덤 원소에 대응시키는 제2 단계와; 암호화 모듈이 제1 단계에서 생성한 인코딩 메시지를 제2 단계에서 생성한 랜덤 원소를 이용하여 마스킹하여 암호화 값(

Figure 112017065159907-pat00002
)을 생성하는 제3 단계와; 복호화 모듈이 암호문의 위변조를 검증하는 제4 단계를 포함한다.A method of determining a cryptogram forgery and falsification according to the present invention includes: a first step of performing an encoding in which an encryption module sends a message as a set of ciphertexts using a secret function (s); The encryption module is a unique identifier (id) is assigned to a message, respectively, and a second step of corresponding the random element of the ciphertext set (C) of the produced by the pseudo-random number function (F K) using the secret key (K) ; The encryption module encrypts the encoding message generated in the first step by using the random element generated in the second step,
Figure 112017065159907-pat00002
); ≪ / RTI > And a fourth step in which the decryption module verifies the forgery and corruption of the cipher text.

검증하는 제4 단계는, 메시지 각각의 고유 번호(id)를, 비밀키(K)를 사용하는 의사 난수 함수를 이용하여 암호문의 집합(C)의 랜덤 원소에 대응시키는 제4-1 단계와; 제4-1 단계에서 생성된 랜덤 원소를 이용하여 마스킹을 제거하는 제4-2 단계와; 비밀함수의 역함수를 이용하여 메시지를 복호화하는 제4-3 단계와; 제4-2 단계에서 마스킹을 제거하여 획득한 값이 비밀함수의 치역에 있는지 여부를 검증하고 참인 경우에만 제4-3 단계에서 복호화된 값을 출력하는 제4-4 단계를 포함한다.The fourth step of verifying is a step 4-1 of associating the unique number id of each message with a random element of the set of ciphertexts C using a pseudo-random number function using the secret key K; A fourth step of removing masking using the random element generated in step 4-1; A fourth step of decrypting the message using an inverse function of the secret function; And a fourth step of verifying whether the value obtained by removing the masking in the step 4-2 is in the range of the secret function and outputting the decrypted value in the step 4-3 only when the value is true.

암호문의 집합이

Figure 112017065159907-pat00003
으로, 메시지의 집합이
Figure 112017065159907-pat00004
로 설정되면, 비밀함수(s)는
Figure 112017065159907-pat00005
(A: 역행렬이 존재하는 k by k 행렬; H: (n-k) by k 행렬)가 될 수 있다.A set of ciphertext
Figure 112017065159907-pat00003
, A set of messages
Figure 112017065159907-pat00004
, The secret function (s) is < RTI ID = 0.0 >
Figure 112017065159907-pat00005
(A: k by k matrix in which the inverse matrix exists, H: (nk) by k matrix).

본 발명에 의한 암호문 연산의 위변조 판단 방법이 실행되는 환경은, 기초 정보를 수집하는 정보 수집부와, 기초 정보를 동형 암호화하는 암호화모듈과, 동형 암호화된 암호화 데이터를 수신하여 연산하는 중앙 제어부와, 중앙 제어부의 연산 결과값을 수신하여 복호화하는 복호화 모듈과, 복호화된 데이터에 기반하여 제어되는 몸체부를 포함하는 시스템을 포함한다.The environment in which the forgery and falsification determination method of a cryptographic operation according to the present invention is executed includes an information collecting unit for collecting basic information, an encryption module for encrypting basic information in the same manner, a central control unit for receiving and computing encrypted data, A decoding module for receiving and decoding operation result values of the central control unit, and a body including a body unit controlled based on the decoded data.

보안 인수(

Figure 112017065159907-pat00006
)에 따라 암호문의 선형공간(C)와 메시지의 선형공간(M)이 정해지며, 메시지 공간에서 암호문의 공간으로 보내는 비밀선형함수(s)로서 역함수가 존재하는 비밀선형함수(s)가 설정되며, 비밀키(K)가 정해진다.Security Arguments (
Figure 112017065159907-pat00006
, A secret linear function (s) having an inverse function is set as a secret linear function (s) to be sent from a message space to a space of a cipher text in a linear space (C) of a cipher text and a linear space , And a secret key (K) are determined.

본 발명에 의한 암호문 연산의 위변조 판단 당법은, 암호화 모듈이 메시지를 비밀선형함수(s)를 이용하여 암호문의 공간으로 보내는 인코딩을 수행하는 제1 단계와; 암호화 모듈이 메시지 각각에 부여되는 고유 번호(id)를, 비밀키(K)를 사용하는 의사 난수 함수(FK)에 의해 생성된 암호문의 공간 속의 랜덤 원소에 대응시키는 제2 단계와; 암호화 모듈이 제1 단계에서 생성한 인코딩 메시지를 제2 단계에서 생성한 암호문의 공간 속의 랜덤 원소를 이용하여 마스킹하여 암호화 값(

Figure 112017065159907-pat00007
)을 생성하는 제3 단계와; 중앙 제어부가, 제3 단계에서 마스킹된 암호화 값에 대해서 선형 연산을 수행하여 암호화된 제어 신호(
Figure 112017065159907-pat00008
)를 산출하는 제4 단계와; 복호화 모듈이 연산의 위변조를 검증하는 제5 단계를 포함한다.According to another aspect of the present invention, there is provided a method for judging forgery of a cryptographic operation, the method comprising: a first step of performing encoding such that the encryption module sends a message to a space of a ciphertext using a secret linear function (s); Second step of the encryption module corresponding to the unique number (id) is assigned to each message, the pseudo-random number function (F K) a random element in the area of the ciphertext generated by using the secret key (K) and; The encryption module encrypts the encoding message generated in the first step by using a random element in the space of the cipher text generated in the second step,
Figure 112017065159907-pat00007
); ≪ / RTI > The central control unit performs a linear operation on the encrypted value masked in the third step to generate an encrypted control signal
Figure 112017065159907-pat00008
); And a fifth step in which the decryption module verifies the forgery and corruption of the operation.

연산의 위변조를 검증하는 제5 단계는, 메시지 각각의 고유 번호(id)를, 비밀키(K)를 사용하는 의사 난수 함수를 이용하여 암호문의 공간(C) 속의 랜덤 원소에 대응시키는 제5-1 단계와; 제5-1 단계에서 생성된 랜덤 원소를 이용하여 마스킹을 제거하는 제5-2 단계와; 비밀선형함수의 역함수를 이용하여 제어 신호를 복호화하는 제5-3 단계와; 제5-2 단계에서 마스킹을 제거하여 획득한 값이 비밀선형함수의 치역에 있는지 여부를 검증하고 참인 경우에만 제5-3 단계에서 복호화된 값을 출력하는 제5-4 단계를 포함한다.The fifth step of verifying the forgery and falsification of the operation is the fifth step of verifying the forgery and falsification of the operation by using the pseudo random number function using the secret key K to associate the unique number id of each message with the random element in the space C of the ciphertext, Step 1; A fifth step of removing masking using the random element generated in step 5-1; Decrypting the control signal using an inverse function of the secret linear function; And a fifth step of verifying whether the value obtained by removing the masking in the step 5-2 is in the range of the secret linear function and outputting the decoded value in the step 5-3 only when the value is true.

암호문의 선형공간이

Figure 112017065159907-pat00009
으로, 메시지의 선형공간이
Figure 112017065159907-pat00010
로 설정되면, 비밀선형함수(s)는
Figure 112017065159907-pat00011
(A: 역행렬이 존재하는 k by k 행렬; H: (n-k) by k 행렬)가 될 수 있다.The linear space of a cipher
Figure 112017065159907-pat00009
, The linear space of the message
Figure 112017065159907-pat00010
, The secret linear function s is set to
Figure 112017065159907-pat00011
(A: k by k matrix in which the inverse matrix exists, H: (nk) by k matrix).

암호문 연산의 위변조 판단 방법의 제3 단계는 인코딩된 메시지(

Figure 112017065159907-pat00012
)에 랜덤 벡터(
Figure 112017065159907-pat00013
;
Figure 112017065159907-pat00014
)를 더하거나 뺌으로써 암호화 값(
Figure 112017065159907-pat00015
)을 생성하는 단계가 될 수 있고, 제4 단계의 암호화된 제어 신호(
Figure 112017065159907-pat00016
)는
Figure 112017065159907-pat00017
(fj는 선형함수의 계수)에 의해 산출될 수 있다.The third step of the forgery and falsification method of the cipher text operation is the encoding of the encoded message
Figure 112017065159907-pat00012
) To a random vector (
Figure 112017065159907-pat00013
;
Figure 112017065159907-pat00014
) To add or subtract the encryption value (
Figure 112017065159907-pat00015
, And the encrypted control signal of the fourth step (step < RTI ID = 0.0 >
Figure 112017065159907-pat00016
)
Figure 112017065159907-pat00017
(f j is a coefficient of a linear function).

제5-2 단계는, 제3 단계에서 랜덤 벡터를 더한 경우에는,

Figure 112017065159907-pat00018
로, 제3 단게에서 랜덤 벡터를 뺀 경우에는
Figure 112017065159907-pat00019
에 의해서 마스킹을 제거하는 단계가 될 수 있다. 그리고 제5-3 단계에서 복호화값(
Figure 112017065159907-pat00020
)은
Figure 112017065159907-pat00021
에 의해 산출될 수 있고, 제5-4 단계에서 비밀함수의 치역에 있는지 여부를 검증하는 단계는,
Figure 112017065159907-pat00022
가 참인지 여부를 판단하는 단계가 될 수 있다.Step 5-2, when the random vector is added in the third step,
Figure 112017065159907-pat00018
, And when the random vector is subtracted from the third stage
Figure 112017065159907-pat00019
The masking may be removed. In step 5-3, the decoded value (
Figure 112017065159907-pat00020
)silver
Figure 112017065159907-pat00021
And the step of verifying whether or not it is in the range of the secret function in step 5-4,
Figure 112017065159907-pat00022
Quot; is < / RTI > true.

본 발명의 다른 실시 형태에 의한 암호문 연산의 위변조 판단 방법은, 암호화 모듈이 랜덤 벡터(

Figure 112017065159907-pat00023
;
Figure 112017065159907-pat00024
; GK는 FK와 같은 비밀키를 사용하는 의사 난수 함수)를 저장하는 제6 단계를 더 포함할 수 있다.According to another aspect of the present invention, there is provided a method of judging a forgery and falsification of a cryptographic operation,
Figure 112017065159907-pat00023
;
Figure 112017065159907-pat00024
; And G K is a pseudo-random number function using a secret key such as F K ).

이 실시 형태에서 제3 단계는 인코딩된 메시지(

Figure 112017065159907-pat00025
)에 랜덤 벡터(
Figure 112017065159907-pat00026
;
Figure 112017065159907-pat00027
)를 더하거나 뺌으로써 암호화 값(
Figure 112017065159907-pat00028
)을 생성하는 단계가 될 수 있고, 제4 단계의 암호화된 제어 신호(
Figure 112017065159907-pat00029
)는
Figure 112017065159907-pat00030
(fj는 선형함수의 계수)에 의해 산출될 수 있다. 제5-2 단계는, 복호화 모듈이 의사 난수 함수(GK)를 이용하여 랜덤 벡터(
Figure 112017065159907-pat00031
)를 산출하고, 제3 단계에서 랜덤 벡터를 더한 경우에는 검증 벡터(
Figure 112017065159907-pat00032
)를 산출하고, 제3 단계에서 랜덤 벡터를 뺀 경우에는 검증 벡터(
Figure 112017065159907-pat00033
)를 산출하는 단계가 될 수 있다. 제5-3 단계에서 복호화값(
Figure 112017065159907-pat00034
)은
Figure 112017065159907-pat00035
에 의해 산출될 수 있으며, 제5-4 단계에서 비밀함수의 치역에 있는지 여부를 검증하는 단계는,
Figure 112017065159907-pat00036
가 참인지 여부를 판단하는 단계가 될 수 있다.The third step in this embodiment is to send the encoded message (
Figure 112017065159907-pat00025
) To a random vector (
Figure 112017065159907-pat00026
;
Figure 112017065159907-pat00027
) To add or subtract the encryption value (
Figure 112017065159907-pat00028
, And the encrypted control signal of the fourth step (step < RTI ID = 0.0 >
Figure 112017065159907-pat00029
)
Figure 112017065159907-pat00030
(f j is a coefficient of a linear function). In step 5-2, the decryption module decrypts the random vector (GK) using the pseudo-random number function
Figure 112017065159907-pat00031
In the case where a random vector is added in the third step, a verification vector (
Figure 112017065159907-pat00032
). When the random vector is subtracted in the third step, the verification vector (
Figure 112017065159907-pat00033
). ≪ / RTI > In step 5-3, the decoded value (
Figure 112017065159907-pat00034
)silver
Figure 112017065159907-pat00035
And verifying whether or not the secret function is in the range of the secret function in operation 5-4,
Figure 112017065159907-pat00036
Quot; is < / RTI > true.

본 발명의 또 다른 실시 형태에 의하면 상기 시스템이 연산부를 더 포함할 수 있다. 센서부 또는 암호화 모듈의 계산 능력이 부족한 경우에 암호화 등에 필요한 연산을 수행하는 별도의 연산부를 추가하는 실시 형태이다.According to another embodiment of the present invention, the system may further include an operation unit. An additional operation unit for performing an operation necessary for encryption and the like is added when the calculation capability of the sensor unit or the encryption module is insufficient.

이 실시 형태에 의한 암호문 연산의 위변조 방법은, 암호화 모듈이 랜덤 벡터(

Figure 112017065159907-pat00037
;
Figure 112017065159907-pat00038
; GK는 FK와 같은 비밀키를 사용하는 의사 난수 함수)를 저장하는 제6 단계와; 연산부가 FK와 GK에 대해서 벡터값(
Figure 112017065159907-pat00039
)을 산출하여 중앙 제어부에 전달하는 제7 단계를 더 포함할 수 있다.In the method of forging and falsifying a cryptographic operation according to this embodiment, when the encryption module is a random vector
Figure 112017065159907-pat00037
;
Figure 112017065159907-pat00038
; G K is a pseudo-random number function using a secret key such as F K ; The arithmetic operation is performed on the vector values F k and G K (
Figure 112017065159907-pat00039
) To the central control unit.

이 실시 형태에서 제3 단계는 인코딩된 메시지(

Figure 112017065159907-pat00040
)에 랜덤 벡터(
Figure 112017065159907-pat00041
;
Figure 112017065159907-pat00042
)를 더하거나 뺌으로써 암호화 값(
Figure 112017065159907-pat00043
)을 생성하는 단계가 될 수 있고, 제4 단계의 암호화된 제어 신호(
Figure 112017065159907-pat00044
)는
Figure 112017065159907-pat00045
(fj는 선형함수의 계수)에 의해 산출될 수 있다. 제5-2 단계는, 복호화 모듈이 의사 난수 함수(GK)를 이용하여 랜덤 벡터(
Figure 112017065159907-pat00046
)를 산출하고, 제3 단계에서 랜덤 벡터를 더한 경우에는 검증 벡터(
Figure 112017065159907-pat00047
)를 산출하고, 제3 단계에서 랜덤 벡터를 뺀 경우에는 검증 벡터(
Figure 112017065159907-pat00048
)를 산출하는 단계가 될 수 있다. 제5-3 단계에서 복호화값(
Figure 112017065159907-pat00049
)은
Figure 112017065159907-pat00050
에 의해 산출될 수 있으며. 제5-4 단계에서 비밀함수의 치역에 있는지 여부를 검증하는 단계는,
Figure 112017065159907-pat00051
가 참인지 여부를 판단하는 단계가 될 수 있다.The third step in this embodiment is to send the encoded message (
Figure 112017065159907-pat00040
) To a random vector (
Figure 112017065159907-pat00041
;
Figure 112017065159907-pat00042
) To add or subtract the encryption value (
Figure 112017065159907-pat00043
, And the encrypted control signal of the fourth step (step < RTI ID = 0.0 >
Figure 112017065159907-pat00044
)
Figure 112017065159907-pat00045
(f j is a coefficient of a linear function). In step 5-2, the decryption module decrypts the random vector (GK) using the pseudo-random number function
Figure 112017065159907-pat00046
In the case where a random vector is added in the third step, a verification vector (
Figure 112017065159907-pat00047
). When the random vector is subtracted in the third step, the verification vector (
Figure 112017065159907-pat00048
). ≪ / RTI > In step 5-3, the decoded value (
Figure 112017065159907-pat00049
)silver
Figure 112017065159907-pat00050
Lt; / RTI > The step of verifying whether or not the secret function is in the range of the secret function in operation 5-4,
Figure 112017065159907-pat00051
Quot; is < / RTI > true.

본 발명에 의하면, 암호문의 위변조 여부 및 동형 암호화된 정보의 연산을 위변조하는 것을 미리 판단하고 방지할 수 있는 효과가 제공된다.According to the present invention, there is provided an effect that a forgery and falsification of a cipher text and an operation of the same-ciphered information can be determined and prevented in advance.

도 1은 본 발명이 실행되는 환경을 도시한 도면.
도 2는 본 발명에 의한 검증 방법의 흐름도.
도 3은 본 발명이 실행되는 환경의 다른 예를 도시한 도면.
BRIEF DESCRIPTION OF THE DRAWINGS Fig. 1 shows an environment in which the invention is practiced. Fig.
2 is a flow chart of a verification method according to the present invention;
3 is a diagram showing another example of an environment in which the present invention is executed.

이하에서는 첨부 도면을 참조하여 본 발명에 대해서 자세하게 설명한다.Hereinafter, the present invention will be described in detail with reference to the accompanying drawings.

본 명세서에서 수행되는 정보(데이터) 전송 과정은 필요에 따라서 암호화/복호화가 적용될 수 있으며, 본 명세서 및 특허청구범위에서 정보(데이터) 전송 과정을 설명하는 표현은 별도로 언급되지 않더라도 모두 암호화/복호화하는 경우도 포함하는 것으로 해석되어야 한다. 본 명세서에서 "A로부터 B로 전송(전달)" 또는 "A가 B로부터 수신"과 같은 형태의 표현은 중간에 다른 매개체가 포함되어 전송(전달) 또는 수신되는 것도 포함하며, A로부터 B까지 직접 전송(전달) 또는 수신되는 것만을 표현하는 것은 아니다. 본 발명의 설명에 있어서 각 단계의 순서는 선행 단계가 논리적 및 시간적으로 반드시 후행 단계에 앞서서 수행되어야 하는 경우가 아니라면 각 단계의 순서는 비제한적으로 이해되어야 한다. 즉 위와 같은 예외적인 경우를 제외하고는 후행 단계로 설명된 과정이 선행 단계로 설명된 과정보다 앞서서 수행되더라도 발명의 본질에는 영향이 없으며 권리범위 역시 단계의 순서에 관계없이 정의되어야 한다. 그리고 본 명세서에서 “A 또는 B”은 A와 B 중 어느 하나를 선택적으로 가리키는 것 뿐만 아니라 A와 B 모두를 포함하는 것도 의미하는 것으로 정의된다. 또한, 본 명세서에서 "포함"이라는 용어는 포함하는 것으로 나열된 요소 이외에 추가로 다른 구성요소를 더 포함하는 것도 포괄하는 의미를 가진다.Encryption / decryption may be applied to the information (data) transmission process performed in the present specification, and expressions describing the process of transmitting information (data) in the present specification and claims are not limited to encryption / decryption Should be construed as including. Expressions of the form "transfer from A to B" or "receive from A" in this specification include transmission (transfer) or reception of another medium in between, It does not just represent transmission (forwarding) or receiving. In the description of the present invention, the order of each step should be understood to be non-limiting, unless the preceding step must be performed logically and temporally before the next step. That is to say, except for the exceptional cases mentioned above, even if the process described in the following stage is performed before the process described in the preceding stage, it does not affect the essence of the invention and the scope of the right should be defined regardless of the order of the stages. &Quot; A " or " B " is defined herein to mean not only selectively pointing to either A or B, but also including both A and B. It is also to be understood that the term "comprising " is intended to encompass further including other elements in addition to the elements listed as being included.

본 명세서에서 "모듈"이라 함은 범용적인 하드웨어와 그 기능을 수행하는 소프트웨어의 논리적 결합을 의미한다. As used herein, the term "module" refers to a logical combination of general purpose hardware and software that performs its functions.

본 명세서에서는 본 발명의 설명에 필요한 필수적인 구성요소만을 설명하며, 본 발명의 본질과 관계가 없는 구성요소는 언급하지 아니한다. 그리고 언급되는 구성요소만을 포함하는 배타적인 의미로 해석되어서는 아니되며 다른 구성요소도 포함할 수 있는 비배타적인 의미로 해석되어야 한다.Only essential components necessary for explanation of the present invention are described in this specification, and components not related to the essence of the present invention are not mentioned. And should not be construed in an exclusive sense that includes only the recited elements, but should be interpreted in a non-exclusive sense to include other elements as well.

본 발명은 전자적 연산이 가능한 컴퓨터 등의 전자적 연산 장치에 의해서 수행되며, 후술하는 본 발명의 각 단계의 수학적 연산 및 산출은 해당 연산 또는 산출을 하기 위해 공지되어 있는 코딩 방법 및/또는 본 발명에 적합하게 고안된 코딩에 의해서 컴퓨터 연산으로 구현될 수 있다.The present invention is implemented by an electronic computing device such as a computer capable of electronic computation, and the mathematical computation and computation of each step of the present invention to be described later can be applied to a coding method and / Lt; RTI ID = 0.0 &

본 명세서에서 "값"이라 함은 스칼라값 뿐만 아니라 벡터 및 행렬도 포함하는 광의의 개념으로 정의된다.As used herein, the term "value" is defined as the notion of a wide range of vectors and matrices as well as scalar values.

도 1에는 본 발명이 실행되는 환경의 일례가 도시되어 있다. 피제어 장치(1)는 몸체부(10)와, 구동부(20)와, 구동제어부(30)와, 센서부(40)를 포함한다. 피제어 장치(1)는 예를 들어, 드론이나 자율주행차가 될 수도 있고, 또는 플랜트가 될 수도 있다. 몸체부(10)는 구동부(20)의 작동에 의해서 전자적 또는 기계적 동작을 하는 부분이다. 구동부(20)는 구동 제어부(30)의 제어 신호를 수신하여 몸체부(10)에 동작 신호를 제공한다. 센서부(40)는 피제어 장치(1)의 동작을 위해 기초 정보를 수집하는 부분이다. 기초 정보는 예를 들어, 속도, 고도, 온도 등과 같이 센서 등을 통해서 수집되는 정보로서 제어 신호를 생성할 때 입력되는 정보가 될 수 있다.Fig. 1 shows an example of an environment in which the present invention is executed. The controlled device 1 includes a body portion 10, a driving portion 20, a driving control portion 30, and a sensor portion 40. The controlled device 1 may be, for example, a drone, an autonomous vehicle, or a plant. The body portion 10 is a portion that performs an electronic or mechanical operation by the operation of the driving portion 20. [ The driving unit 20 receives the control signal of the driving control unit 30 and provides an operation signal to the body 10. The sensor unit 40 is a part for collecting basic information for the operation of the controlled device 1. [ The basic information may be information that is collected through a sensor, such as a speed, an altitude, a temperature, and the like, and may be input when a control signal is generated.

센서부(40)는 암호화 모듈(45)을 포함하는데, 암호화 모듈(45)은 센서부(40)가 수집한 기초 정보를 동형 암호화한다. 동형 암호화된 기초 정보는 통신망(3)을 통해서 중앙 제어부(2)로 전달된다.The sensor unit 40 includes an encryption module 45. The encryption module 45 encrypts the basic information collected by the sensor unit 40 in the same manner. The basic information encrypted in the same format is transmitted to the central control unit 2 through the communication network 3.

구동 제어부(30)는 복호화 모듈(35)을 포함하는데, 복호화 모듈(35)은 중앙 제어부(2)로부터 전달받은 암호화된 제어 신호를 복호화한다. 그리고 후술하는 바와 같이 중앙 제어부(2)로부터 전달받은 암호화된 제어 신호의 위변조 여부를 판단할 수 있다.The drive control unit 30 includes a decryption module 35. The decryption module 35 decrypts the encrypted control signal transmitted from the central control unit 2. [ As described later, it is possible to determine whether the encrypted control signal transmitted from the central control unit 2 is forged or not.

도 1과 같은 환경에서는, 센서부(40)가 수집한 기초 정보가 동형 암호화된 상태로 중앙 제어부(2)에 전달되고, 중앙 제어부(2)는 동형 암호화된 기초 정보를 토대로 연산을 수행함으로써 암호화된 상태의 제어 신호를 생성할 수 있다. 중앙 제어부(2)는 복호화키를 가지고 있지 않기 때문에 악의의 해커가 중앙 제어부(2)를 공격하더라도 기초 정보를 알아 내거나, 생성된 제어 신호를 복호화할 수 없다.1, the basic information collected by the sensor unit 40 is transmitted to the central control unit 2 in the same encryption state, and the central control unit 2 performs calculation based on the same basic information that has been encrypted, The control signal can be generated. Since the central control unit 2 does not have a decryption key, even if a malicious hacker attacks the central control unit 2, it can not obtain basic information or decrypt the generated control signal.

그런데 동형 암호화되어서 제공되는 기초 정보를 제3자가 중간에서 탈취하고 그것을 암호화된 상태로 연산을 한 후 그 위변조된 암호화된 제어 신호를 구동 제어부(30)로 전달할 가능성이 존재한다. 그와 같이 위변조된 제어 신호를 받아서 피제어 장치(1)를 제어하게 되면 커다란 위험이 발생하거나 피제어 장치(1)에 위협이 될 수 있다.However, there is a possibility that a third party takes the basic information provided in the same encrypted form, operates it in an encrypted state, and transmits the encrypted encrypted control signal to the drive control unit 30. Controlling the controlled device 1 by receiving such a forged control signal may cause a great danger or may be a threat to the controlled device 1. [

본 발명은 아래에서 보는 바와 같은 방법을 통해서 제어 신호의 위변조 여부를 확인하고, 위변조된 제어 신호로 판단된 경우에는 해당 제어 신호를 사용하지 않도록 함으로써 그러한 위험이나 위협을 제거한다. 본 발명은 또한, 암호문 자체를 위변조하는지 여부도 판별할 수 있다.The present invention confirms whether a control signal is forged or falsified through a method as described below, and eliminates the danger or threat by not using the control signal when judged as a forged control signal. The present invention can also discriminate whether or not the cipher text itself is forged or altered.

도 2에는 본 발명에 의한 연산의 위변조 여부 판단 방법의 흐름도가 도시되어 있다.FIG. 2 is a flowchart of a method for determining whether or not an operation is forged or falsified according to the present invention.

위변조 판단 방법의 실행에 앞서서, 보안 인수(

Figure 112017065159907-pat00052
)에 따라서 암호문의 선형공간(C)와 메시지의 선형공간(M)이 정해지고, 메시지 공간(M)에서 암호문의 공간(C)으로 보내는 역함수가 존재하는 선형비밀함수(s) 및 비밀키(K)가 정해진다.Prior to execution of the forgery / alteration determination method,
Figure 112017065159907-pat00052
The linear space C of the ciphertext and the linear space M of the message are determined in accordance with the secret key S and the linear secret function s and secret key s in which the inverse function is sent from the message space M to the space C of the ciphertext, K) is determined.

암호문 자체의 위변조를 판단할 때에는, 암호문의 집합(C)과 메시지의 집합(M)이 정해지고, 메시지 집합(M)에서 암호문의 집합(C)로 보내는 역함수가 존재하는 비밀함수(s)와 비밀키(K)가 정해진다.In determining the forgery of the ciphertext itself, a set of ciphertexts (C) and a set of messages (M) are defined, and a secret function (s) in which an inverse function is sent from the message set M to the set of ciphertexts The secret key K is determined.

암호문의 선형 공간은

Figure 112017065159907-pat00053
로 정해지고, 메시지의 선형 공간은
Figure 112017065159907-pat00054
로 정해질 수 있으며, 이 경우 선형비밀함수 s는 예를 들어 다음과 같이 정해질 수 있다.The linear space of a cipher
Figure 112017065159907-pat00053
, And the linear space of the message is
Figure 112017065159907-pat00054
, And in this case the linear secret function s can be defined, for example, as:

암호문 자체의 위변조를 판단할 때에는, 암호문의 집합이

Figure 112017065159907-pat00055
로 정해지고, 메시지의 선형 공간은
Figure 112017065159907-pat00056
로 정해진다.When judging the forgery of the cipher text itself, a set of ciphertexts
Figure 112017065159907-pat00055
, And the linear space of the message is
Figure 112017065159907-pat00056
Respectively.

Figure 112017065159907-pat00057
Figure 112017065159907-pat00057

비밀행렬 A: k by k 행렬Secret matrix A: k by k matrix

비밀행렬 H: (n-k) by k 행렬The secret matrix H: (n-k) by k matrix

암호문 자체의 위변조를 판단할 때의 비밀함수(s)는 수학식 1과 같이 정해질 수 있다.The secret function (s) when judging the forgery and falsification of the cipher text itself can be determined as shown in Equation (1).

단계(200)에서는 센서부(40)가 수집한 기초 정보의 메시지를 암호화 모듈(45)이 비밀함수(s)를 이용하여 암호문의 선형공간(또는 암호문 자체의 위변조를 판단할 때에는 집합)으로 보내는 인코딩을 수행하여 인코딩된 메시지(

Figure 112017065159907-pat00058
)를 생성한다.In step 200, the encryption module 45 sends a message of the basic information collected by the sensor unit 40 to the linear space of the ciphertext (or the set when the ciphertext itself is judged to be fake) by using the secret function s Encode the encoded message (
Figure 112017065159907-pat00058
).

위에서 예로 든 비밀함수를 사용하는 경우는 다음과 같이 인코딩 메시지가 생성된다.If you use the above example secret function, the encoding message is generated as follows.

Figure 112017065159907-pat00059
Figure 112017065159907-pat00059

암호화 모듈(45)은 메시지의 고유 id를, 비밀키 K를 사용하는 의사 난수 함수(FK)를 이용하여 생성된 랜덤 벡터에 다음과 같이 대응시킨다(단계 205).The encryption module 45 associates the unique ID of the message with the random vector generated using the pseudo-random number function F K using the secret key K as follows (step 205).

랜덤 벡터는 암호문의 집합 내지 선형공간(C)에 포함되며, "랜덤 원소"로도 표현한다.A random vector is included in a set of ciphertexts or a linear space (C), and is expressed as "random element ".

Figure 112017065159907-pat00060
Figure 112017065159907-pat00060

메시지의 고유 id는 메시지 각각에 부여되는 임의의 값으로서 서로 중복될 확률이 극히 적은 큰 공간에서 추출될 수 있다.The unique id of a message can be extracted in a large space with an extremely small probability of overlapping with each other as an arbitrary value assigned to each message.

FK는 비밀키 K를 사용하는 해쉬함수가 될 수 있으며, 공지되어 있는 다른 의사 난수 함수(psuedo-random function)를 사용할 수 있다. idj는 j번째 메시지(mj)의 고유 번호 id를 의미한다. 의사 난수 함수 FK는 암호화 모듈(45)과 복호화 모듈(35)이 공유한다.F K may be a hash function using the secret key K, and may use other known pseudo-random function. The id j refers to the unique id number of the j-th message (m j). The pseudo-random number function F K is shared by the encryption module 45 and the decryption module 35.

단계(210)에서는 단계(200)에서 인코딩된 메시지를 단계(205)에서 생성한 랜덤 벡터를 이용하여 마스킹하여 암호화된 메시지(

Figure 112017065159907-pat00061
)를 다음과 같이 생성한다.In step 210, the encoded message in step 200 is masked using the random vector generated in step 205 to generate an encrypted message
Figure 112017065159907-pat00061
) Is generated as follows.

Figure 112017065159907-pat00062
Figure 112017065159907-pat00062

위 마스킹에서

Figure 112017065159907-pat00063
는 인코딩 메시지에 더해졌지만, 선형 연산이라면 다른 방식으로 예를 들어 인코딩 메시지에 뺄셈으로 연산하여 마스킹할 수도 있다.From the top masking
Figure 112017065159907-pat00063
May be added to the encoding message, but may be masked in a different way if it is a linear operation, for example, by subtracting it from the encoding message.

마스킹된 메시지를 수신한 중앙 제어부(2)는 암호화된 메시지를 연산하여 제어 신호(

Figure 112017065159907-pat00064
)를 다음과 같이 산출한다(단계 215).Upon receiving the masked message, the central control unit 2 computes the encrypted message and generates a control signal
Figure 112017065159907-pat00064
) Is calculated as follows (step 215).

Figure 112017065159907-pat00065
Figure 112017065159907-pat00065

Figure 112017065159907-pat00066
는 제어신호의 생성을 위한 선형 함수 f의 계수를 의미한다.
Figure 112017065159907-pat00066
Means the coefficient of the linear function f for generation of the control signal.

c'은 암호화된 상태의 제어 신호로서 산출된 후에 중앙 제어부(2)가 구동 제어부(30)로 전달한다.c 'is calculated as a control signal in the encrypted state, and then the central control unit 2 transmits the control signal to the drive control unit 30. [

암호문 자체의 위변조를 판단할 때에는 위와 같은 제어 신호의 산출이 필수적인 것은 아니다.The calculation of the control signal as described above is not indispensable when judging the forgery or falsification of the cipher text itself.

구동 제어부(30)의 복호화 모듈(35)은 암호화 모듈(45)과 동일한 의사 난수 함수 FK를 이용하여 랜덤 벡터(

Figure 112017065159907-pat00067
)를 생성하여, 메시지의 고유 번호(id)와 랜덤 벡터를 대응시킨다(단계 220).The decryption module 35 of the drive control unit 30 uses the same pseudo-random number function F K as the encryption module 45 to generate a random vector
Figure 112017065159907-pat00067
And associates a unique number (id) of the message with a random vector (step 220).

복호화 모듈(35)은 다음과 같이 마스킹을 제거하여 검증 벡터를 산출한다(단계 225).The decryption module 35 removes the masking as follows to calculate a verification vector (step 225).

수학식 4와 같이 마스킹을 한 경우라면 다음과 같이 마스킹을 제거하여 검증 벡터(

Figure 112017065159907-pat00068
)를 산출한다.If the masking is performed as shown in Equation (4), the masking is removed as follows and the verification vector
Figure 112017065159907-pat00068
).

Figure 112017065159907-pat00069
Figure 112017065159907-pat00069

마스킹을 수학식 4가 아니라 아래 수학식 7와 같이 할 수도 있다.The masking may be performed as shown in Equation (7) instead of Equation (4).

Figure 112017065159907-pat00070
Figure 112017065159907-pat00070

만약 그런 경우라면, 검증 벡터(

Figure 112017065159907-pat00071
)는 다음 수학식과 같이 산출된다.If this is the case,
Figure 112017065159907-pat00071
) Is calculated according to the following equation.

Figure 112017065159907-pat00072
Figure 112017065159907-pat00072

암호문 자체의 위변조를 판단하는 경우이고, 마스킹을 수학식 4와 같이 했다면 마스킹을 제거한 검증 벡터(

Figure 112017065159907-pat00073
)는 다음과 같이 산출할 수 있다.If the masking is determined as shown in Equation (4), a masking-free verification vector (
Figure 112017065159907-pat00073
) Can be calculated as follows.

Figure 112017065159907-pat00074
Figure 112017065159907-pat00074

마스킹을 수학식 7과 같이 했다면 검증벡터(

Figure 112017065159907-pat00075
)는 다음과 같이 산출할 수 있다.If the masking is as shown in Equation 7,
Figure 112017065159907-pat00075
) Can be calculated as follows.

Figure 112017065159907-pat00076
Figure 112017065159907-pat00076

복호화 모듈(35)은 수신한 암호화된 제어 신호(c')을 비밀함수(s)의 역함수를 이용하여 복호화함으로써 평문 상태의 제어 신호(m')을 산출한다(단계 230).The decryption module 35 calculates the plaintext control signal m 'by decoding the received encrypted control signal c' using the inverse function of the secret function s (step 230).

앞서 예로 든 실시예에 따르면 복호화된 제어 신호는 다음과 같은 수학식에 의해 산출된다.According to the above-described embodiment, the decoded control signal is calculated by the following equation.

Figure 112017065159907-pat00077
Figure 112017065159907-pat00077

암호문 자체의 위변조를 판단하는 경우에는 위 수학식 11에

Figure 112017065159907-pat00078
가 아니라
Figure 112017065159907-pat00079
이 입력되어 평문 메시지
Figure 112017065159907-pat00080
으로 복호화된다.In the case of judging the forgery or falsification of the cipher text itself,
Figure 112017065159907-pat00078
Not
Figure 112017065159907-pat00079
This is a plain text message
Figure 112017065159907-pat00080
.

산출된 제어 신호를 바로 사용하지 않고 검증 벡터(

Figure 112017065159907-pat00081
)가 비밀함수(s)의 치역에 있는지 여부를 검증식을 통해서 확인하고(단계 235), 검증식이 참인 경우에만 복호화된 제어 신호를 출력해서 사용하며(단계 245), 검증식이 참이 아니면 제어 신호의 출력을 금지한다.Without using the calculated control signal directly, the verification vector (
Figure 112017065159907-pat00081
(Step 235). If the verification expression is true, the decrypted control signal is output and used (step 245). If the verification expression is not true, the control signal Is prohibited.

암호문 자체의 위변조를 판단하는 경우에, 검증 벡터(

Figure 112017065159907-pat00082
)가 비밀함수(s)의 치역에 있는지 여부를 검증식을 통해서 확인하고, 검증식이 참인 경우에만 암호문의 위변조되지 않은 것으로 판단한다.In the case of judging the forgery or falsification of the cipher text itself,
Figure 112017065159907-pat00082
) Is in the range of the secret function (s) through a verification formula, and judges that the ciphertext is not forged or falsified only when the verification expression is true.

전술한 바와 같은 예시적 실시예에 따르면 검증식은 다음과 같다.According to an exemplary embodiment as described above, the verification equation is as follows.

Figure 112017065159907-pat00083
Figure 112017065159907-pat00083

암호문 자체의 위변조를 판단하는 경우의 검증식은 다음과 같다.The verification equation for judging the forgery or falsification of the cipher text itself is as follows.

Figure 112017065159907-pat00084
Figure 112017065159907-pat00084

만약, 제3자가 중간에서 동형 암호화된 기초 정보를 탈취해서 위변조된 제어 신호를 복호화 모듈에 전달하거나 암호문 자체를 위변조하는 경우에는 위 검증식(수학식 12 또는 수학식 13)은 참이 될 수 없다.If the third party seizes the basic information encrypted in the middle and transmits the forged control signal to the decryption module or forge the cipher text itself, the above verification equation (Expression 12 or Expression 13) can not be true .

위에서 예로 든 실시예에서는 복호화 모듈(35)이 수학식 6 또는 8과 같은 검증식을 계산해야 하는데 설계 사양에 따라서 복호화 모듈(35)의 계산량을 줄이기 위해서 다음과 같은 변형된 실시예를 고려해 볼 수 있다.In the above embodiment, the decryption module 35 needs to calculate the verification equation such as Equation 6 or 8, but in order to reduce the calculation amount of the decryption module 35 according to the design specification, the following modified embodiment may be considered have.

다음 관계식을 만족하는, 메시지 id에 대응하는 랜덤 벡터를 미리 계산해서 저장하고 사용하면 계산량을 줄일 수 있다.The amount of computation can be reduced by precomputing and storing the random vector corresponding to the message id that satisfies the following relation:

Figure 112017065159907-pat00085
Figure 112017065159907-pat00085

여기에서 GK는 비밀키 K를 이용하는 해쉬 함수와 같은 의사 난수 함수를 의미하고, id는 복호화 모듈(35)에 입력되는 제어 신호에 부여되는 고유한 값을 의미한다.Here, G K denotes a pseudo-random number function such as a hash function using the secret key K, and id denotes a unique value given to the control signal input to the decryption module 35.

이 실시예에서는, 제어 신호를 입력받은 복호화 모듈(35)이 랜덤 벡터(

Figure 112017065159907-pat00086
)를 계산할 필요 없이 의사 난수 함수 GK를 이용해서 제어 신호의 id에 대해서 랜덤 벡터(
Figure 112017065159907-pat00087
)를 생성할 수 있다.In this embodiment, the decoding module 35, which receives the control signal,
Figure 112017065159907-pat00086
) Of the control signal using the pseudo-random number function G K without using the random vector (
Figure 112017065159907-pat00087
Can be generated.

복호화 모듈(35)은 검증 벡터(

Figure 112017065159907-pat00088
)를 다음과 같이 산출한다.The decryption module 35 decrypts the verification vector (
Figure 112017065159907-pat00088
) Is calculated as follows.

Figure 112017065159907-pat00089
Figure 112017065159907-pat00089

검증 벡터가 비밀함수의 치역에 존재하는지 여부를 확인하고, 참인 경우에만 복호화된 제어 신호를 출력해서 사용한다. 마스킹 단계에서 랜덤 벡터를 빼는 연산을 한다면 검증 벡터(

Figure 112017065159907-pat00090
)는
Figure 112017065159907-pat00091
가 된다.Whether or not the verification vector exists in the range of the secret function, and outputs the decrypted control signal only when the verification vector is true. If the random vector is subtracted from the masking step,
Figure 112017065159907-pat00090
)
Figure 112017065159907-pat00091
.

제한된 횟수의 제어 통신이 수행된다면, 이 실시예에 의해서 특정 성질을 만족하는 랜덤 벡터(

Figure 112017065159907-pat00092
)를 암호화 모듈(45)에 저장하여 마스킹에 사용하고, 복호화 모듈(35)은 매번 랜덤 벡터를 계산하지 않아도 되므로 효율적일 수 있다.If a limited number of control communications are performed, a random vector ("
Figure 112017065159907-pat00092
) Is stored in the encryption module 45 and used for masking, and the decryption module 35 does not have to calculate the random vector every time, so it can be efficient.

한편, 이 실시예에서 암호화 모듈(45)의 연산 능력이 부족한 경우에는, 별도의 연산부(50)를 두고 이 연산부(50)가 연산하게 하고 그 연산 결과를 중앙 제어부(2)로 전달해서 제어 신호를 생성하게 할 수도 있다. 그러한 실시예가 도 3에 도시되어 있다.When the computing module 45 has insufficient computing capability in this embodiment, a separate computing unit 50 is provided to allow the computing unit 50 to perform computation, and the computation result is transmitted to the central control unit 2, . ≪ / RTI > Such an embodiment is shown in Fig.

이 실시예에서는 연산부(50)가 센서부(40)로부터 기초 정보를 입력받아서, 의사 난수 함수 FK와 GK에 대해서 다음과 같은 수학식을 통해 벡터(

Figure 112017065159907-pat00093
)를 산출하고, 이 값을 중앙 제어부(2)로 전달한다.In this embodiment, the arithmetic unit 50 receives basic information from the sensor unit 40, and calculates pseudo-random number functions F K and G K using the following equation
Figure 112017065159907-pat00093
), And transfers this value to the central control unit 2.

Figure 112017065159907-pat00094
Figure 112017065159907-pat00094

전술한 실시예에서는 암호화된 기초 정보 메시지를 연산하는 과정이 수학식 5에 따르지만, 본 실시예에서는 중앙 제어부(2)가 다음과 같은 연산을 통해서 제어 신호를 산출한다.In the above-described embodiment, the process of calculating the encrypted basic information message is according to Equation 5. In this embodiment, however, the central control unit 2 calculates the control signal through the following calculation.

Figure 112017065159907-pat00095
Figure 112017065159907-pat00095

검증 과정은 전술한 실시예와 동일하게 수행된다.The verification process is performed in the same manner as in the above embodiment.

본 발명에 의하면, 비밀함수(s)를 구성하는 행렬 A, H가 비밀행렬이며, k 차원의 메시지는 수학식 2에 따라서 비밀 공간으로 들어간다.According to the present invention, the matrices A and H constituting the secret function (s) are the secret matrix, and the k-dimensional message enters the secret space according to Equation (2).

행렬 A와 H를 알 수 없는 해커가 비밀공간 위의 원소를 만들 수 있는 확률은

Figure 112017065159907-pat00096
로서 극히 낮은 확률이다. 따라서 비밀행렬을 알지 못하는 해커가 의도적으로 신호를 주입하거나 변조한 경우에는 랜덤 벡터를 이용한 마스킹을 제거했을 때 비밀 공간에 들어있지 않게 되고, 검증식을 통과할 수 없다.The probability that a hacker who does not know the matrices A and H can make an element on the secret space
Figure 112017065159907-pat00096
Which is an extremely low probability. Therefore, when a hacker who does not know the secret matrix intentionally injects or modulates a signal, when the masking using the random vector is removed, it is not included in the secret space and can not pass the verification equation.

이상 첨부 도면을 참고하여 본 발명에 대해서 설명하였지만 본 발명의 권리범위는 후술하는 특허청구범위에 의해 결정되며 전술한 실시예 및/또는 도면에 제한되는 것으로 해석되어서는 아니된다. 그리고 특허청구범위에 기재된 발명의, 당업자에게 자명한 개량, 변경 및 수정도 본 발명의 권리범위에 포함된다는 점이 명백하게 이해되어야 한다.While the present invention has been described with reference to the accompanying drawings, it is to be understood that the scope of the present invention is defined by the claims that follow, and should not be construed as limited to the above-described embodiments and / or drawings. It is to be expressly understood that improvements, changes and modifications that are obvious to those skilled in the art are also within the scope of the present invention as set forth in the claims.

1: 피제어 장치
2: 중앙 제어부
3: 통신망
10: 몸체부
20: 구동부
30: 구동제어부
35: 복호화 모듈
40: 센서부
45: 암호화 모듈
1: controlled device
2:
3: Network
10:
20:
30:
35: Decryption module
40:
45: Encryption module

Claims (7)

기초 정보를 수집하는 정보 수집부와, 기초 정보를 암호화하는 암호화모듈과, 암호화 모듈의 결과값인 암호문을 수신하여 복호화하는 복호화 모듈과, 복호화된 데이터에 기반하여 제어되는 몸체부를 포함하는 시스템에서, 암호문의 위변조 여부를 판단하는 방법에 있어서,
보안 인수(
Figure 112017065159907-pat00097
)에 따라 암호문의 집합(C)와 메시지의 집합(M)이 정해지며, 메시지 집합에서 암호문의 집합으로 보내는 비밀함수(s)로서 역함수가 존재하는 비밀함수(s)가 설정되며, 비밀키(K)가 정해진 환경에서,
암호화 모듈이 메시지를 비밀함수(s)를 이용하여 암호문의 집합으로 보내는 인코딩을 수행하는 제1 단계와,
암호화 모듈이 메시지 각각에 부여되는 고유 번호(id)를, 비밀키(K)를 사용하는 의사 난수 함수(FK)에 의해 생성된 암호문의 집합(C)의 랜덤 원소에 대응시키는 제2 단계와,
암호화 모듈이 제1 단계에서 생성한 인코딩 메시지를 제2 단계에서 생성한 랜덤 원소를 이용하여 마스킹하여 암호화 값(
Figure 112017065159907-pat00098
)을 생성하는 제3 단계와,
복호화 모듈이 암호문의 위변조를 검증하는 제4 단계를 포함하며,
제4 단계는,
메시지 각각의 고유 번호(id)를, 비밀키(K)를 사용하는 의사 난수 함수를 이용하여 암호문의 집합(C)의 랜덤 원소에 대응시키는 제4-1 단계와,
제4-1 단계에서 생성된 랜덤 원소를 이용하여 마스킹을 제거하는 제4-2 단계와,
비밀함수의 역함수를 이용하여 메시지를 복호화하는 제4-3 단계와,
제4-2 단계에서 마스킹을 제거하여 획득한 값이 비밀함수의 치역에 있는지 여부를 검증하고 참인 경우에만 제4-3 단계에서 복호화된 값을 출력하는 제4-4 단계를 포함하는,
암호문의 위/변조 여부 판단 방법.
A system comprising an information collecting unit for collecting basic information, an encryption module for encrypting basic information, a decryption module for receiving and decrypting a ciphertext as a result value of the encryption module, and a body to be controlled based on the decrypted data, A method for determining whether a cipher text is forged or not,
Security Arguments (
Figure 112017065159907-pat00097
A set of ciphertexts (C) and a set of messages (M) are defined in accordance with a set of ciphertexts and a secret function (s) having an inverse function is set as a secret function (s) K) is set,
A first step in which the encryption module performs encoding to send a message as a set of ciphertexts using a secret function (s)
The encryption module is a unique identifier (id) is assigned to a message, respectively, and a second step of corresponding the random element of the ciphertext set (C) of the produced by the pseudo-random number function (F K) using the secret key (K) ,
The encryption module encrypts the encoding message generated in the first step by using the random element generated in the second step,
Figure 112017065159907-pat00098
A third step of generating,
And a fourth step of the decryption module verifying the forgery and corruption of the ciphertext,
In the fourth step,
A fourth step of associating each unique number id of the message with a random element of the set of ciphertexts C using a pseudo-random number function using the secret key K,
A fourth step of removing masking using the random element generated in step 4-1,
A fourth step of decrypting the message using an inverse function of the secret function,
And a fourth step of verifying whether the value obtained by removing the masking in the step 4-2 is in the range of the secret function and outputting the decrypted value in the step 4-3 only when the value is true.
How to determine whether a ciphertext is corrupted or altered.
청구항 1에 있어서,
암호문의 집합이
Figure 112017065159907-pat00099
으로, 메시지의 집합이
Figure 112017065159907-pat00100
로 설정되면,
비밀함수(s)는
Figure 112017065159907-pat00101

(A: 역행렬이 존재하는 k by k 행렬; H: (n-k) by k 행렬)인,
암호문의 위/변조 여부 판단 방법.
The method according to claim 1,
A set of ciphertext
Figure 112017065159907-pat00099
, A set of messages
Figure 112017065159907-pat00100
Lt; / RTI >
The secret function (s)
Figure 112017065159907-pat00101

(A: k by k matrix in which the inverse matrix exists, H: (nk) by k matrix)
How to determine whether a ciphertext is corrupted or altered.
기초 정보를 수집하는 정보 수집부와, 기초 정보를 동형 암호화하는 암호화모듈과, 동형 암호화된 암호화 데이터를 수신하여 연산하는 중앙 제어부와, 중앙 제어부의 연산 결과값을 수신하여 복호화하는 복호화 모듈과, 복호화된 데이터에 기반하여 제어되는 몸체부를 포함하는 시스템에서, 중앙 제어부의 연산의 위변조 여부를 판단하는 방법에 있어서,
보안 인수(
Figure 112017065159907-pat00102
)에 따라 암호문의 선형공간(C)와 메시지의 선형공간(M)이 정해지며, 메시지 공간에서 암호문의 공간으로 보내는 비밀선형함수(s)로서 역함수가 존재하는 비밀선형함수(s)가 설정되며, 비밀키(K)가 정해진 환경에서,
암호화 모듈이 메시지를 비밀선형함수(s)를 이용하여 암호문의 공간으로 보내는 인코딩을 수행하는 제1 단계와,
암호화 모듈이 메시지 각각에 부여되는 고유 번호(id)를, 비밀키(K)를 사용하는 의사 난수 함수(FK)에 의해 생성된 암호문의 공간 속의 랜덤 원소에 대응시키는 제2 단계와,
암호화 모듈이 제1 단계에서 생성한 인코딩 메시지를 제2 단계에서 생성한 암호문의 공간 속의 랜덤 원소를 이용하여 마스킹하여 암호화 값(
Figure 112017065159907-pat00103
)을 생성하는 제3 단계와,
중앙 제어부가, 제3 단계에서 마스킹된 암호화 값에 대해서 선형 연산을 수행하여 암호화된 제어 신호(
Figure 112017065159907-pat00104
)를 산출하는 제4 단계와,
복호화 모듈이 연산의 위변조를 검증하는 제5 단계를 포함하며,
제5 단계는,
메시지 각각의 고유 번호(id)를, 비밀키(K)를 사용하는 의사 난수 함수를 이용하여 암호문의 공간(C) 속의 랜덤 원소에 대응시키는 제5-1 단계와,
제5-1 단계에서 생성된 랜덤 원소를 이용하여 마스킹을 제거하는 제5-2 단계와,
비밀선형함수의 역함수를 이용하여 제어 신호를 복호화하는 제5-3 단계와,
제5-2 단계에서 마스킹을 제거하여 획득한 값이 비밀선형함수의 치역에 있는지 여부를 검증하고 참인 경우에만 제5-3 단계에서 복호화된 값을 출력하는 제5-4 단계를 포함하는,
연산의 위/변조 여부 판단 방법.
A decryption module for receiving and decoding the operation result value of the central control unit; and a decryption module for decrypting the received decryption result, A method for determining whether a calculation of a central control unit is forged or not in a system including a body part controlled based on data,
Security Arguments (
Figure 112017065159907-pat00102
, A secret linear function (s) having an inverse function is set as a secret linear function (s) to be sent from a message space to a space of a cipher text in a linear space (C) of a cipher text and a linear space , In the environment where the secret key K is set,
A first step of the encoding module performing encoding to send the message to the space of the cipher text using the secret linear function (s)
And a second step of the encryption module corresponding to the unique number (id) is assigned to each message, the pseudo-random number function (F K) a random element in the area of the ciphertext generated by using the secret key (K),
The encryption module encrypts the encoding message generated in the first step by using a random element in the space of the cipher text generated in the second step,
Figure 112017065159907-pat00103
A third step of generating,
The central control unit performs a linear operation on the encrypted value masked in the third step to generate an encrypted control signal
Figure 112017065159907-pat00104
);
And a fifth step of the decryption module verifying the forgery and alteration of the operation,
In the fifth step,
A fifth step of associating the unique number id of each message with a random element in the space C of the ciphertext using a pseudo-random number function using the secret key K,
A fifth step of removing masking using the random element generated in step 5-1,
Decrypting the control signal using an inverse function of the secret linear function;
And a fifth step of verifying whether the value obtained by removing the masking in the step 5-2 is in the range of the secret linear function and outputting the decoded value in the step 5-3 only when the value is true.
How to determine whether the operation is up / modulating.
청구항 3에 있어서,
암호문의 선형공간이
Figure 112019501575973-pat00105
으로, 메시지의 선형공간이
Figure 112019501575973-pat00106
로 설정되면,
비밀선형함수(s)는
Figure 112019501575973-pat00107

(A: 역행렬이 존재하는 k by k 행렬; H: (n-k) by k 행렬)인,
연산의 위/변조 여부 판단 방법.
The method of claim 3,
The linear space of a cipher
Figure 112019501575973-pat00105
, The linear space of the message
Figure 112019501575973-pat00106
Lt; / RTI >
The secret linear function (s)
Figure 112019501575973-pat00107

(A: k by k matrix in which the inverse matrix exists, H: (nk) by k matrix)
How to determine whether the operation is up / modulating.
청구항 4에 있어서,
제3 단계는 인코딩된 메시지(
Figure 112017065159907-pat00108
)에 랜덤 벡터(
Figure 112017065159907-pat00109
;
Figure 112017065159907-pat00110
)를 더하거나 뺌으로써 암호화 값(
Figure 112017065159907-pat00111
)을 생성하는 단계이며,
제4 단계의 암호화된 제어 신호(
Figure 112017065159907-pat00112
)는
Figure 112017065159907-pat00113
(fj는 선형함수의 계수)에 의해 산출되며,
제5-2 단계는,
제3 단계에서 랜덤 벡터를 더한 경우에는,
Figure 112017065159907-pat00114
로, 제3 단게에서 랜덤 벡터를 뺀 경우에는
Figure 112017065159907-pat00115
에 의해서 마스킹을 제거하는 단계이며,
제5-3 단계에서 복호화값(
Figure 112017065159907-pat00116
)은
Figure 112017065159907-pat00117
에 의해 산출되며,
제5-4 단계에서 비밀함수의 치역에 있는지 여부를 검증하는 단계는,
Figure 112017065159907-pat00118
가 참인지 여부를 판단하는 단계인,
연산의 위/변조 여부 판단 방법.
The method of claim 4,
The third step is to send the encoded message (
Figure 112017065159907-pat00108
) To a random vector (
Figure 112017065159907-pat00109
;
Figure 112017065159907-pat00110
) To add or subtract the encryption value (
Figure 112017065159907-pat00111
≪ / RTI >
The encrypted control signal of the fourth step (
Figure 112017065159907-pat00112
)
Figure 112017065159907-pat00113
(f j is a coefficient of a linear function)
In operation 5-2,
When the random vector is added in the third step,
Figure 112017065159907-pat00114
, And when the random vector is subtracted from the third stage
Figure 112017065159907-pat00115
Removing the masking by means of the mask,
In step 5-3, the decoded value (
Figure 112017065159907-pat00116
)silver
Figure 112017065159907-pat00117
Lt; / RTI >
The step of verifying whether or not the secret function is in the range of the secret function in operation 5-4,
Figure 112017065159907-pat00118
Is < RTI ID = 0.0 > true, < / RTI &
How to determine whether the operation is up / modulating.
청구항 4에 있어서,
암호화 모듈이 랜덤 벡터(
Figure 112017065159907-pat00119
;
Figure 112017065159907-pat00120
; GK는 FK와 같은 비밀키를 사용하는 의사 난수 함수)를 저장하는 제6 단계를 더 포함하며,
제3 단계는 인코딩된 메시지(
Figure 112017065159907-pat00121
)에 랜덤 벡터(
Figure 112017065159907-pat00122
;
Figure 112017065159907-pat00123
)를 더하거나 뺌으로써 암호화 값(
Figure 112017065159907-pat00124
)을 생성하는 단계이며,
제4 단계의 암호화된 제어 신호(
Figure 112017065159907-pat00125
)는
Figure 112017065159907-pat00126
(fj는 선형함수의 계수)에 의해 산출되며,
제5-2 단계는,
복호화 모듈이 의사 난수 함수(GK)를 이용하여 랜덤 벡터(
Figure 112017065159907-pat00127
)를 산출하고, 제3 단계에서 랜덤 벡터를 더한 경우에는 검증 벡터(
Figure 112017065159907-pat00128
)를 산출하고, 제3 단계에서 랜덤 벡터를 뺀 경우에는 검증 벡터(
Figure 112017065159907-pat00129
)를 산출하는 단계이며,
제5-3 단계에서 복호화값(
Figure 112017065159907-pat00130
)은
Figure 112017065159907-pat00131
에 의해 산출되며,
제5-4 단계에서 비밀함수의 치역에 있는지 여부를 검증하는 단계는,
Figure 112017065159907-pat00132
가 참인지 여부를 판단하는 단계인,
연산의 위/변조 여부 판단 방법.
The method of claim 4,
If the encryption module is a random vector (
Figure 112017065159907-pat00119
;
Figure 112017065159907-pat00120
; G K is a pseudo-random number function using a secret key such as F K )
The third step is to send the encoded message (
Figure 112017065159907-pat00121
) To a random vector (
Figure 112017065159907-pat00122
;
Figure 112017065159907-pat00123
) To add or subtract the encryption value (
Figure 112017065159907-pat00124
≪ / RTI >
The encrypted control signal of the fourth step (
Figure 112017065159907-pat00125
)
Figure 112017065159907-pat00126
(f j is a coefficient of a linear function)
In operation 5-2,
Decryption module uses the pseudo-random number function (GK) to generate a random vector
Figure 112017065159907-pat00127
In the case where a random vector is added in the third step, a verification vector (
Figure 112017065159907-pat00128
). When the random vector is subtracted in the third step, the verification vector (
Figure 112017065159907-pat00129
),
In step 5-3, the decoded value (
Figure 112017065159907-pat00130
)silver
Figure 112017065159907-pat00131
Lt; / RTI >
The step of verifying whether or not the secret function is in the range of the secret function in operation 5-4,
Figure 112017065159907-pat00132
Is < RTI ID = 0.0 > true, < / RTI &
How to determine whether the operation is up / modulating.
청구항 4에 있어서,
상기 시스템이 연산부를 더 포함하며,
암호화 모듈이 랜덤 벡터(
Figure 112017065159907-pat00133
;
Figure 112017065159907-pat00134
; GK는 FK와 같은 비밀키를 사용하는 의사 난수 함수)를 저장하는 제6 단계와,
연산부가 FK와 GK에 대해서 벡터값(
Figure 112017065159907-pat00135
)을 산출하여 중앙 제어부에 전달하는 제7 단계를 더 포함하며,
제3 단계는 인코딩된 메시지(
Figure 112017065159907-pat00136
)에 랜덤 벡터(
Figure 112017065159907-pat00137
;
Figure 112017065159907-pat00138
)를 더하거나 뺌으로써 암호화 값(
Figure 112017065159907-pat00139
)을 생성하는 단계이며,
제4 단계의 암호화된 제어 신호(
Figure 112017065159907-pat00140
)는
Figure 112017065159907-pat00141
(fj는 선형함수의 계수)에 의해 산출되며,
제5-2 단계는,
복호화 모듈이 의사 난수 함수(GK)를 이용하여 랜덤 벡터(
Figure 112017065159907-pat00142
)를 산출하고, 제3 단계에서 랜덤 벡터를 더한 경우에는 검증 벡터(
Figure 112017065159907-pat00143
)를 산출하고, 제3 단계에서 랜덤 벡터를 뺀 경우에는 검증 벡터(
Figure 112017065159907-pat00144
)를 산출하는 단계이며,
제5-3 단계에서 복호화값(
Figure 112017065159907-pat00145
)은
Figure 112017065159907-pat00146
에 의해 산출되며,
제5-4 단계에서 비밀함수의 치역에 있는지 여부를 검증하는 단계는,
Figure 112017065159907-pat00147
가 참인지 여부를 판단하는 단계인,
연산의 위/변조 여부 판단 방법.
The method of claim 4,
Wherein the system further comprises an operation unit,
If the encryption module is a random vector (
Figure 112017065159907-pat00133
;
Figure 112017065159907-pat00134
; G K is a pseudo-random number function using a secret key such as F K ,
The arithmetic operation is performed on the vector values F k and G K (
Figure 112017065159907-pat00135
And a seventh step of transmitting the calculated value to the central control unit,
The third step is to send the encoded message (
Figure 112017065159907-pat00136
) To a random vector (
Figure 112017065159907-pat00137
;
Figure 112017065159907-pat00138
) To add or subtract the encryption value (
Figure 112017065159907-pat00139
≪ / RTI >
The encrypted control signal of the fourth step (
Figure 112017065159907-pat00140
)
Figure 112017065159907-pat00141
(f j is a coefficient of a linear function)
In operation 5-2,
Decryption module uses the pseudo-random number function (GK) to generate a random vector
Figure 112017065159907-pat00142
In the case where a random vector is added in the third step, a verification vector (
Figure 112017065159907-pat00143
). When the random vector is subtracted in the third step, the verification vector (
Figure 112017065159907-pat00144
),
In step 5-3, the decoded value (
Figure 112017065159907-pat00145
)silver
Figure 112017065159907-pat00146
Lt; / RTI >
The step of verifying whether or not the secret function is in the range of the secret function in operation 5-4,
Figure 112017065159907-pat00147
Is < RTI ID = 0.0 > true, < / RTI &
How to determine whether the operation is up / modulating.
KR1020170086342A 2017-07-07 2017-07-07 Method for Authenticating Evaluation Results of Homomorphic-Encrypted Data KR101945885B1 (en)

Priority Applications (1)

Application Number Priority Date Filing Date Title
KR1020170086342A KR101945885B1 (en) 2017-07-07 2017-07-07 Method for Authenticating Evaluation Results of Homomorphic-Encrypted Data

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
KR1020170086342A KR101945885B1 (en) 2017-07-07 2017-07-07 Method for Authenticating Evaluation Results of Homomorphic-Encrypted Data

Publications (2)

Publication Number Publication Date
KR20190005540A KR20190005540A (en) 2019-01-16
KR101945885B1 true KR101945885B1 (en) 2019-06-11

Family

ID=65280749

Family Applications (1)

Application Number Title Priority Date Filing Date
KR1020170086342A KR101945885B1 (en) 2017-07-07 2017-07-07 Method for Authenticating Evaluation Results of Homomorphic-Encrypted Data

Country Status (1)

Country Link
KR (1) KR101945885B1 (en)

Families Citing this family (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
KR102374232B1 (en) * 2020-05-22 2022-03-15 주식회사 한컴위드 Cloud-based payment guarantee transaction management server using digital gold tokens and operating method thereof
CN116488919B (en) * 2023-05-06 2023-12-12 北京和德宇航技术有限公司 Data processing method, communication node and storage medium

Citations (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US20160105414A1 (en) 2014-10-13 2016-04-14 Morpho Method for Authenticating a Client Device to a Server Using a Secret Element

Family Cites Families (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US8943331B2 (en) * 2012-12-28 2015-01-27 Alcatel Lucent Privacy-preserving database system
KR101460552B1 (en) * 2013-09-04 2014-11-11 엠엠피씨 주식회사 Masking and Recovering Method of Privacy Region
JP6413598B2 (en) * 2014-10-10 2018-10-31 富士通株式会社 Cryptographic processing method, cryptographic processing apparatus, and cryptographic processing program

Patent Citations (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US20160105414A1 (en) 2014-10-13 2016-04-14 Morpho Method for Authenticating a Client Device to a Server Using a Secret Element

Also Published As

Publication number Publication date
KR20190005540A (en) 2019-01-16

Similar Documents

Publication Publication Date Title
EP3701669B1 (en) Cryptographic methods and systems for managing digital certificates
Bernstein et al. The security impact of a new cryptographic library
US9497021B2 (en) Device for generating a message authentication code for authenticating a message
EP1471680B1 (en) Identifier-Based Encryption method and apparatus
CN107086911B (en) CCA (clear channel assessment) safe proxy re-encryption method capable of delegating verification
US20150100785A1 (en) Method for ciphering a message via a keyed homomorphic encryption function, corresponding electronic device and computer program product
CN107094108B (en) Device connected to a data bus and method for implementing an encryption function in said device
EP2461564A1 (en) Key transport protocol
US9698984B2 (en) Re-encrypted data verification program, re-encryption apparatus and re-encryption system
US20050005106A1 (en) Cryptographic method and apparatus
US11888832B2 (en) System and method to improve user authentication for enhanced security of cryptographically protected communication sessions
CN111342976A (en) Verifiable ideal lattice upper threshold proxy re-encryption method and system
CN101990748A (en) Method and device for transmitting messages in real time
KR101516114B1 (en) Certificate-based proxy re-encryption method and its system
US9544144B2 (en) Data encryption
Kwant et al. Lattice klepto: Turning post-quantum crypto against itself
KR101945885B1 (en) Method for Authenticating Evaluation Results of Homomorphic-Encrypted Data
CN112350820B (en) Multi-receiver signcryption method, sending end, receiving end, system and storage medium
KR20120069387A (en) A method for searching keyword based on public key
US20050021973A1 (en) Cryptographic method and apparatus
CN110324357B (en) Data sending method and device and data receiving method and device
Bhowmik et al. Approximation algorithm and linear congruence: a state-of-art approach in information security issues towards internet of vehicles
Armour et al. Algorithm substitution attacks against receivers
JP6067474B2 (en) Electronic signature verification method and electronic signature verification system
Idrissi Anonymous ECC-authentication and intrusion detection based on execution tracing for mobile agent security

Legal Events

Date Code Title Description
A201 Request for examination
E701 Decision to grant or registration of patent right
GRNT Written decision to grant