KR20230058685A - 네트워크 코딩 기반 보안 통신 - Google Patents
네트워크 코딩 기반 보안 통신 Download PDFInfo
- Publication number
- KR20230058685A KR20230058685A KR1020237010844A KR20237010844A KR20230058685A KR 20230058685 A KR20230058685 A KR 20230058685A KR 1020237010844 A KR1020237010844 A KR 1020237010844A KR 20237010844 A KR20237010844 A KR 20237010844A KR 20230058685 A KR20230058685 A KR 20230058685A
- Authority
- KR
- South Korea
- Prior art keywords
- message
- messages
- encoding
- unencrypted
- data
- Prior art date
Links
Images
Classifications
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L9/00—Cryptographic mechanisms or cryptographic arrangements for secret or secure communications; Network security protocols
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L9/00—Cryptographic mechanisms or cryptographic arrangements for secret or secure communications; Network security protocols
- H04L9/08—Key distribution or management, e.g. generation, sharing or updating, of cryptographic keys or passwords
- H04L9/0816—Key establishment, i.e. cryptographic processes or cryptographic protocols whereby a shared secret becomes available to two or more parties, for subsequent use
- H04L9/0852—Quantum cryptography
- H04L9/0858—Details about key distillation or coding, e.g. reconciliation, error correction, privacy amplification, polarisation coding or phase coding
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L9/00—Cryptographic mechanisms or cryptographic arrangements for secret or secure communications; Network security protocols
- H04L9/08—Key distribution or management, e.g. generation, sharing or updating, of cryptographic keys or passwords
- H04L9/0816—Key establishment, i.e. cryptographic processes or cryptographic protocols whereby a shared secret becomes available to two or more parties, for subsequent use
- H04L9/0819—Key transport or distribution, i.e. key establishment techniques where one party creates or otherwise obtains a secret value, and securely transfers it to the other(s)
- H04L9/0825—Key transport or distribution, i.e. key establishment techniques where one party creates or otherwise obtains a secret value, and securely transfers it to the other(s) using asymmetric-key encryption or public key infrastructure [PKI], e.g. key signature or public key certificates
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L9/00—Cryptographic mechanisms or cryptographic arrangements for secret or secure communications; Network security protocols
- H04L9/30—Public key, i.e. encryption algorithm being computationally infeasible to invert or user's encryption keys not requiring secrecy
- H04L9/3006—Public key, i.e. encryption algorithm being computationally infeasible to invert or user's encryption keys not requiring secrecy underlying computational problems or public-key parameters
- H04L9/302—Public key, i.e. encryption algorithm being computationally infeasible to invert or user's encryption keys not requiring secrecy underlying computational problems or public-key parameters involving the integer factorization problem, e.g. RSA or quadratic sieve [QS] schemes
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L9/00—Cryptographic mechanisms or cryptographic arrangements for secret or secure communications; Network security protocols
- H04L9/32—Cryptographic mechanisms or cryptographic arrangements for secret or secure communications; Network security protocols including means for verifying the identity or authority of a user of the system or for message authentication, e.g. authorization, entity authentication, data integrity or data verification, non-repudiation, key authentication or verification of credentials
- H04L9/3215—Cryptographic mechanisms or cryptographic arrangements for secret or secure communications; Network security protocols including means for verifying the identity or authority of a user of the system or for message authentication, e.g. authorization, entity authentication, data integrity or data verification, non-repudiation, key authentication or verification of credentials using a plurality of channels
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L2209/00—Additional information or applications relating to cryptographic mechanisms or cryptographic arrangements for secret or secure communication H04L9/00
- H04L2209/34—Encoding or coding, e.g. Huffman coding or error correction
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L9/00—Cryptographic mechanisms or cryptographic arrangements for secret or secure communications; Network security protocols
- H04L9/006—Cryptographic mechanisms or cryptographic arrangements for secret or secure communications; Network security protocols involving public key infrastructure [PKI] trust models
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L9/00—Cryptographic mechanisms or cryptographic arrangements for secret or secure communications; Network security protocols
- H04L9/30—Public key, i.e. encryption algorithm being computationally infeasible to invert or user's encryption keys not requiring secrecy
- H04L9/304—Public key, i.e. encryption algorithm being computationally infeasible to invert or user's encryption keys not requiring secrecy based on error correction codes, e.g. McEliece
Abstract
시스템 및 방법은 포스트 양자 컴퓨터 보안 보장으로 높은 통신 레이트를 달성하는 하이브리드 통신 방식을 제공한다. 안전하게 통신될 메시지들은 먼저 선형 네트워크 코드와 같은 개별 보안 인코딩을 사용하여 혼합되고 일부 인코딩된 메시지들은 추가로 암호화된다. 암호화된 메시지와 암호화되지 않은 메시지는 상이한 통신 채널들을 통해 전송된다. 메시지들 중 하나를 디코딩하려면 암호화된 메시지들을 포함하여 모든 메시지들이 필요하기 때문에 암호화되지 않은 각각의 메시지는 사전-혼합(pre-mixing)으로 인해 거의 암호화된 메시지들만큼 안전해진다. 따라서 매우 적은 수의 암호화된 메시지들이 사용될 수 있으므로 채널들의 수가 증가함에 따라 통신 레이트가 1에 근접할 수 있다. 이는 기존의 공개-키 암호시스템이 분산 데이터 기억 장치 및 기타 응용 분야들에서 잡음이 많은 채널들이 있을 때 전송되거나 저장된 데이터의 일부에서만 사용될 수 있는 경우에 특히 유용하다.
Description
본 명세서에 개시된 개념들, 기술들 및 구조들의 실시예들은 높은 통신 레이트에서 보안 포스트-양자 암호 방식을 획득하기 위해 새로운 하이브리드 범용 네트워크 코딩 암호시스템을 제공한다.
정보 이론(information theory)과 암호 방식(cryptography) 사이의 연결(connection)은 Claude Shannon의 보안 작업(work in security)으로 거슬러 올라가며, 이는 통신들에 대한 그의 중요한 작업에 영감을 주었다. 그곳에서, 그는 Alice와 Bob이라는 두 명의 사용자들이 도청자(eavesdropper)인 Eve 앞에서 개인적으로 통신하기를 원하는 설정(setting)을 연구(study)할 때 완전한 비밀성(perfect secrecy)이라는 정보-이론적 개념(information-theoretic notion)을 정의했다. 완전한 비밀성에서, H(M|X) = H(M)이고, 여기서 H는 엔트로피(entropy), M은 개인 메시지(private message), X는 통신 네트워크(communication network)를 통해 전송(send)되는 암호화된 메시지(encrypted message)이다. Eve가 암호화된 메시지 X를 완전히 관찰할 수 있는 경우(즉, Eve가 "강한(strong)" 경우), Alice와 Bob이 메시지만큼 큰 엔트로피를 가지는 랜덤 키(random key) 또는 "원-타임 패드(one-time pad)" R을 공유하는 경우에만(예: H(R) H(M)) 완전한 비밀성이 획득될 수 있다. 이러한 시스템은 도 1에 도시되어 있고, 도 1에서 Alice는 2개의 다른 경로(path)들을 통해 2개의 메시지들( 및 )을 Bob에게 전송하고, 공유 키(shared key) 를 제1 경로의 에 추가하고 공유 키 를 제2 경로의 에 추가한다. Alice와 Bob만이 공유 키들을 알고 있기 때문에 이들 합계(sum)들에서 두 메시지() 및 ()만 복구할 수 있다.
(예를 들어, Alice와 Bob이 지리적으로 멀리 떨어져 있는(geographically distant) 경우,) Alice와 Bob이 큰(large) 비밀 키(secret key)들을 공유해야 하는 이론적 필요성(theoretical necessity)은 종종 비실용적(non-practical)이다. 따라서 완전한 비밀성 조건을 완화하는 대안적인 솔루션(alternative solution)들을 개발하기 위해 많은 노력을 기울였다. 그러한 완화(relaxation) 중 하나는 도청자가 제한된 컴퓨터 능력(limited computational power)을 가지고 있다고 가정하는 것이다. 본 명세서에서 "컴퓨터적인 보안(computationally secure)"으로 지칭되는 이러한 방식(scheme)들은 특정한 단방향 펑션(one-way function)들이 반전(invert)되기 어렵다는 추측(conjecture)에 의존한다. 이러한 방식들에서, Alice는 개인 메시지를 Bob에게 전송하기 전에 단방향 펑션을 사용하여 암호화한다. 이 펑션은 Eve가 반전시키기 어렵겠지만, Bob이 올바른 키(right key)를 소유하고 있는 경우, 효율적이고 Bob에 대한 반전이 가능하다. 이를 달성하는 한 가지 방법은 "공개-키 암호 방식(public-key cryptography)"를 이용하는 것이다.
공개-키 암호시스템(cryptosystem)은 암호화 펑션 , 암호해제 펑션 , 비밀 키 , 공개-키 로 구성된다. 암호화 펑션은 공개 키를 사용하여 개인 메시지 를 으로 암호화한다. 암호해제 펑션은 비밀 키를 사용하여 암호화된 메시지를 암호해제한다. 중요한 이론적 특성은 비밀 키 없이 암호화된 메시지를 암호해제하는 데 컴퓨터적으로 비용이 많이 든다는 것이다. 이를 특징짓는 방법들은 여러 가지가 있지만 "보안 수준(security level)"이라는 개념에 중점을 둘 것이다. 비공식적으로, 비밀 키에 대한 지식 없이 암호화된 메시지를 디코딩하는 데 필요할 것으로 예상되는 동작(operation)(또는 연산)들의 수가 정도인 경우, 공개-키 암호시스템(public-key cryptosystem)은 "-비트 보안(-bit secure)"이라고도 하는 보안 수준 을 갖는다. 중요한 실용적 특성(critical practical property)은 비밀 키 가 통신 중인 메시지보다 엔트로피가 훨씬 적기 때문에 실용적 비밀 통신(practical secret communication)들이 가능하다는 것이다.
최초이자 가장 널리 사용되는 공개-키 암호시스템 중 하나는 RSA(Rivest-Shamir-Adleman) 암호시스템이다. RSA의 보안은 정수 분해(integer factorization)와 RSA 문제라는 두 가지 수학적 문제들의 추측된 강도(conjectured hardness)에 의존한다. 그러나 1994년에, Peter Shor는 알고리즘이 양자 컴퓨터(quantum computer)에서 실행된다는 경고(caveat)와 함께 Shor의 알고리즘으로 알려진 정수 분해를 위한 다항-시간 알고리즘(polynomial-time algorithm)을 발표했다. 즉, 충분히 큰 양자 컴퓨터를 구축해야 하는 경우, Shor의 알고리즘을 사용하여 RSA 암호시스템을 해독할 수 있다. 이러한 발전으로 인해 "포스트-양자 암호 방식(post-quantum cryptography)"으로 알려진 분야(field)인 양자 공격(quantum attack)들에 탄력적인(resilient) 암호시스템들에 대한 관심이 높아졌다.
"McEliece 암호시스템"으로 알려진 포스트-양자 암호 방식의 초기 후보는 1978년에 도입되었으며 그 동작은 도 2에 도시되어 있다. 이 암호시스템은 Bob이 생성하고 Alice에게 제공된 개인 키 를 사용하고, 이 키는 Bob이 사용하는 특정한 선형 코드(linear code)를 지정하며 t로 표시된 특정한 수의 오류들을 정정(correct)할 수 있다. 메시지를 전송하기 위해, Alice는 이진 벡터(binary vector) 를 임의로 생성하고 이 벡터를 로 지정된 특정한 선형 코드에 따라 메시지의 인코딩에 추가하여 도면과 같이 암호화된 메시지들 및 을 형성한다. 벡터 의 추가(addition)는 Bob이 적절한 코드(proper code)에 대한 지식(knowledge)으로 정정할 수 있는 t개의 고의적인(deliberate) "오류들"을 도입(introduce)하지만, Eve가 정정하기는 컴퓨터적으로 어렵다.
Shor의 알고리즘을 사용하는 McEliece 암호시스템에 대한 알려진 공격들은 없다. 알려진 양자 공격들이 없는 것 외에도 암호화 알고리즘 및 암호해제 알고리즘이 RSA보다 빠르다. McEliece 암호시스템의 두 가지 주요 단점들은 다음과 같다: 1) 일반적인 응용 분야(application)들에서 공개 키의 크기는 RSA보다 훨씬 크다, 및 2) 원본 논문(original paper)에서 약 의 통신 레이트(communication rate)로 큰 통신 오버헤드(communication overhead)가 발생한다. 도 2의 예시적인 McEliece 암호시스템은 후속 개선(subsequent improvement)들을 통해 약 0.76까지 증가된 레이트를 지시하지만, 이 증가조차도 통신 레이트에 다소 큰 페널티(penalty)을 남긴다.
원래 McEliece 방식은 이진 Goppa 코드들을 사용했다. Goppa 코드의 파라미터를 변경하여 통신 레이트를 높이고 싶은 유혹을 받을 수 있다. 그러나 통신 레이트에 관한 문헌(literature)의 주요 결과는 고속 Goppa 코드(high rate Goppa code)의 행렬과 랜덤 행렬을 구별하기 위한 다항 시간 알고리즘을 제공했다. 따라서 고속 Goppa 코드의 보안은 보장되지 않을 수 있다. 또 다른 아이디어는 Goppa 코드 외에 더 높은 레이트들을 산출하는 코드들의 군(family)들을 살펴보는 것이다. 그러나 그러한 코드들에 대한 대부분의 후보들은 이미 암호학적으로 해독되었다.
컴퓨터 보안(computational security)의 발전과 병행하여 완전한 프라이버시(privacy)에 대한 또 다른 완화가 주로 정보 이론가들에 의해 문헌에서 고려되었다. 도청자의 컴퓨터 능력을 제한하는 대신, "물리적 계층 보안(physical layer security)"에서는 Eve가 암호화된 메시지에 대해 획득할 수 있는 정보의 양을 제한하여 소위 "약한 Eve(weak Eve)"로 이어진다. 이와 같은 패러다임에서, "강한 Eve"와 대비를 위해 도 3에 도시된 바와 같이, 약한 도청자 는 의 전체로부터 전송된 심볼(symbol)들 중 모든 세트 을 관찰할 수 있다고 가정할 수 있고, 여기서 w는 엄격하게 n보다 작다. 이 세트를 로 나타내면, 메시지에 대한 정보를 도청자에게 유출(leak)하지 않는 통신 레이트 의 암호화 코드들이 존재하는 것으로 나타났고, 즉 이다.
그러나 물리적 계층 보안을 사용하는 완전한 비밀성에는 상당한 대가가 따르고, 즉, 합법적인(legitimate) 통신의 레이트가 감소한다. 이것은 Wyner의 중요한 1975년 작업에서 나타났고, 여기서 그는 도 4에 묘사된 NC(non-constructive) 도청 채널(wiretap channel)을 도입했고, 이는 물리적 계층 보안 가정 하에서 기존의(classical) Alice, Bob 및 Eve 트리플의 아날로그(analog)이다.
레이트 측면에서 효율성을 높이기 위한 노력의 일환으로, Shannon의 완전한 비밀성에 대한 또 다른 완화, 즉 도 5와 같은 "개별 비밀성(individual secrecy)"이 도입되었다. 이 개념은 네트워크 설정(network setup)에서 가장 잘 설명되고, 여기서 Alice는 Bob에게 전송할 많은 메시지들()을 가지고 있고 약한 Eve는 그 중 임의의(any) 를 관찰할 수 있다. Wyner의 도청 채널이 부여한 한도(limit)들 이상으로 레이트를 높이는 것에 의해, 정보 유출이 불가피하다. 그러나 개별 비밀성은 개별 메시지에 대한 정보가 전혀 유출되지 않도록 보장한다. 따라서, 도 5에 도시된 바와 같이, Eve가 모든 경로들보다 적은 경로에서 모든 데이터를 가로챌 수 있다는 가정하에(예: 도 5의 단일 경로 2), Alice는 메시지 과 의 상이한 선형 조합(linear combination)들을 2개의 상이한 경로들에서 Bob에게 전송한다. Bob은 모든 메시지들을 수신하므로 이러한 선형 조합들을 반전하여 초기 메시지(initial message)들 및 을 복구할 수 있다. 도 5의 예에서, Bob은 경로 2 메시지로부터 경로 1 메시지를 빼서 를 복구하고, 경로 1 메시지로부터 을 빼서 을 복구하고; 일반적으로 이 프로세스는 행렬을 반전하는 것에 의해 달성된다. 그러나 Eve는 메시지들의 일부만 수신했기 때문에 메시지들의 조합을 풀 수 없다.
개별 비밀성의 개념은 을 모든 에 대해 보장하는 것에 의해 이 개념을 구체화한다. 상황(situation)은 메시지의 서브세트(subset), 즉 에 대해 완전한 비밀성을 제공하지만, Wyner 모델 또는 Shannon 모델에서와 같이 모든 메시지들에 대해서는 아니다. 즉, Eve가 관찰을 통해 획득한 정보는 개별 메시지를 해독(decipher)하는 데 도움이 되는 것이 아니고, 오히려 이것은 메시지들의 조합에 대한 정보이다. 개별 비밀성은 확실히 보안에 대한 약한 개념이지만, 도 5에 지시된 바와 같이 레이트 측면에서 암호화 프로세스를 자유롭게 만들면서 레이트를 크게 높일 수 있다. 효율적인 레이트가 유익하다는 것은 의심의 여지가 없지만, 물리적 계층 보안의 가정들, 즉 Eve가 Bob보다 더 나쁜 채널을 경험하지 않는다는 가정들은 실제로 시행하기 어렵다.
본 명세서에 개시된 개념들, 기술들 및 구조들의 실시예들은 높은 통신 레이트에서 보안 포스트-양자 암호 방식(secure post-quantum cryptography)을 획득하기 위해 새로운 하이브리드 범용 네트워크 코딩 암호시스템(Hybrid Universal Network-Coding Cryptosystem)(이하 "HUNCC")을 제공한다. 보안 네트워크 코딩 방식(secure network-coding scheme)은 공개-키 암호 방식, 특히 포스트-양자 암호 방식이 제공될 수 있는 정보 이론 보안(information-theory security)과 암호 보안(cryptographic security)을 조합한다는 점에서 하이브리드(hybrid)이다. 또한 이 방식은 일반적이며 모든(any) 통신 네트워크 및 모든 공개-키 암호시스템에 적용될 수 있다. 컴퓨터 관점(computational viewpoint)에서, 임의의(arbitrary) 보안 암호시스템(secure cryptosystem)을 링크들의 서브세트에 이용되고 개별 보안과 유사한 전처리(pre-processing)를 이용하는 코딩 방식을 구성한다. 이 방식에서, 우리는 1) 링크 전체를 관찰하는 적대자(adversary)에 대한 컴퓨터 보안 보장(security guarantee); 2) 링크들의 서브세트만을 관찰하는 적대자에 대한 정보-이론적 보안 보장; 및 3) 네트워크 용량에 접근하는 정보 레이트를 실현한다.
우리 방식의 한 가지 장점은 원하는 컴퓨터 보안 수준을 보장하기 위해 컴퓨터 포스트-양자 방식을 사용하여 단일 링크(single link) 또는 전송된 데이터의 작은 부분을 암호화하는 것으로 충분하다는 것이다. 즉, HUNCC를 사용하면, 네트워크의 모든 링크들에서 공개-키 암호화를 사용할 수 없는 네트워크들에서 포스트-양자 보안을 보장할 수 있다. 또한, 통신 링크들의 수가 증가함에 따라 정보 레이트는 1에 근접한다. 구체적인 예로, 3개의 링크들이 있는 다중경로 네트워크(multipath network)에서 하나의 링크에서만 128비트 컴퓨터적인 보안 McEliece 암호시스템을 사용하여 네트워크에서 총 정보 레이트가 0.91인 모든 경로들에서 128-비트 컴퓨터 보안 수준을 획득한다.
따라서, 제1 실시예는 복수의 데이터 블록(data block)들을 안전하게(securely) 통신(communicate)하는 방법이다. 이 방법은 제1 데이터 채널(data channel)을 사용하여, 복수의 데이터 블록들의 제1 인코딩(encoding)의 암호화(encryption)를 포함하는 제1 메시지를 수신하는 단계를 포함한다. 방법은 또한 제2 데이터 채널을 사용하여, 복수의 데이터 블록들의 암호화되지 않은(unencrypted) 제2 인코딩을 포함하는 제2 메시지를 수신하는 단계를 포함한다. 방법은 복수의 데이터 블록들의 암호화되지 않은 제1 인코딩을 획득하기 위해 제1 메시지의 암호화를 암호해제(decrypt)하는 단계를 더 포함한다. 그리고 방법은 복수의 데이터 블록들의 암호화되지 않은 제1 인코딩 및 암호화되지 않은 제2 인코딩을 사용하여, 복수의 메시지들에서 각각의 메시지를 복구(recover)하는 단계를 포함한다.
일부 실시예들에서, 제1 데이터 채널 및 제2 데이터 채널은, 상이한(different) 전송 매체(transmission media)를 포함한다.
일부 실시예들에서, 제1 데이터 채널 및 제2 데이터 채널은, 단일 전송 매체(single transmission medium)의 상이한 이용 시간(utilization time)들을 포함한다.
일부 실시예들에서, 암호화는, 공개-키 암호화(public-key encryption)를 포함한다.
일부 실시예들에서, 암호화는, 포스트-양자 암호화(post-quantum encryption)를 포함한다.
일부 실시예들에서, 복구하는 단계는, 선형 네트워크 코드(linear network code)에 따라 암호화되지 않은 제1 인코딩 및 암호화되지 않은 제2 인코딩을 디코딩(decoding)하는 단계를 포함한다.
일부 실시예들에서, 디코딩하는 단계는, 개별 보안 코드(individually secure code)에 따라 디코딩하는 단계를 포함한다.
일부 실시예들에서, 제1 메시지를 수신하는 단계 또는 제2 메시지를 수신하는 단계는, 하나 이상의 오류(error)를 정정(correct)하는 단계를 포함한다.
다른 실시예는 복수의 데이터 블록들을 안전하게 통신하기 위한 장치이다. 장치는 컴퓨팅 프로세서(computing processor); 및 컴퓨팅 프로세서에 의해 실행되는 경우에 다양한 프로세스들을 수행하는 컴퓨터 프로그램 코드를 저장하는 비휘발성 메모리를 포함한다. 이들 프로세스들 중 하나의 프로세스는 제1 데이터 채널을 사용하여, 복수의 데이터 블록들의 제1 인코딩의 암호화를 포함하는 제1 메시지를 수신하는 프로세스를 포함한다. 이들 프로세스들 중 다른 프로세스는 제2 데이터 채널을 사용하여, 복수의 데이터 블록들의 암호화되지 않은 제2 인코딩을 포함하는 제2 메시지를 수신하는 프로세스를 포함한다. 이들 프로세스들 중 또 다른 프로세스는 복수의 데이터 블록들의 암호화되지 않은 제1 인코딩을 획득하기 위해 제1 메시지의 암호화를 암호해제하는 프로세스를 포함한다. 또한 이들 프로세스들 중 또 다른 프로세스는 복수의 데이터 블록들의 암호화되지 않은 제1 인코딩 및 암호화되지 않은 제2 인코딩을 사용하여, 복수의 메시지들에서 각각의 메시지를 복구하는 프로세스를 포함한다.
일부 실시예들에서, 제1 데이터 채널 및 제2 데이터 채널은, 상이한(different) 전송 매체(transmission media)를 포함한다.
일부 실시예들에서, 제1 데이터 채널 및 제2 데이터 채널은, 단일 전송 매체(single transmission medium)의 상이한 이용 시간(utilization time)들을 포함한다.
일부 실시예들에서, 암호화는, 공개-키 암호화(public-key encryption) 를 포함한다.
일부 실시예들에서, 암호화는, 포스트-양자 암호화(post-quantum encryption)를 포함한다.
일부 실시예들에서, 복구하는 단계는, 선형 네트워크 코드(linear network code)에 따라 암호화되지 않은 제1 인코딩 및 암호화되지 않은 제2 인코딩을 디코딩(decoding)하는 단계를 포함한다.
일부 실시예들에서, 디코딩하는 단계는, 개별 보안 코드(individually secure code)에 따라 디코딩하는 단계를 포함한다.
일부 실시예들에서, 제1 메시지를 수신하는 단계 또는 제2 메시지를 수신하는 단계는, 하나 이상의 오류(error)를 정정(correct)하는 단계를 포함한다.
본 명세서에 개시된 개념들, 기술들 및 구조들은 본 명세서의 교시로부터 벗어나지 않고 다른 방식으로 당업자에 의해 구현될 수 있음이 이해된다.
개시된 주제를 만들고 사용하는 방식은 동일한 참조 번호들이 동일한 요소들을 식별하는 도면들과 관련된 상세한 설명을 참조함으로써 이해될 수 있다.
도 1은 모든 통신 데이터를 가로챌 수 있는 "강한(strong)" 도청자 Eve로부터 안전한(secure) Alice와 Bob 간의 다중경로 통신을 위한 일회성 패드를 사용하는 암호시스템을 도시한다.
도 2는 양자 컴퓨터에 액세스할 수 있는 강한 Eve에 대해 컴퓨터적으로 보안 -Goppa 코드를 사용하는 포스트 양자 McEliece 암호시스템을 도시한다.
도 3은 Alice와 Bob 간의 통신을 위한 최신 다중경로 네트워크(modern multipath network)를 도시하고, 도 3은 전달된 모든 데이터를 가로챌 수 있는 "강한" 도청자 Eve와 그 데이터의 일부만 가로챌 수 있는 "약한" Eve를 모두 도시한다.
도 4는 네트워크 코딩 도청을 가진 약한 Eve에 대해 정보적으로 안전한 Alice와 Bob 간의 통신을 위한 다중경로 네트워크를 도시한다.
도 5는 네트워크들에 대한 개별 보안의 원칙(principle)들을 사용하여 약한 Eve에 대해 정보적으로 안전한 Alice와 Bob 간의 통신을 위한 다중경로 네트워크를 도시한다.
도 6은 본 명세서에 개시된 개념들, 기술들 및 구조들의 실시예들에 따른 하이브리드 범용 네트워크 코딩 암호시스템(HUNCC)을 사용하는 Alice와 Bob 사이의 통신을 위한 다중경로 네트워크를 도시하고, 그것은 강한 Eve에 대해 컴퓨터적으로 안전하고 약한 Eve에 대해 정보적으로 안전하다.
도 7은 도 6의 다중경로 네트워크 방식, 보안, 포스트-양자, 하이브리드의 기능적 구성요소(functional component)들을 도시한다.
도 8은 HUNCC 실시예에 따른 데이터를 인코딩, 전송 및 디코딩하는 방법의 프로세스들을 도시한다.
도 9는 HUNCC 실시예에 따라 Alice에 의해 수행되는 인코딩 방식의 세부 사항들을 도시한다.
도 10은 각각의 암호화된 링크에 대해 약 0.5의 정보 레이트를 가지는 McEliece 코드를 사용하여 암호화된 링크들의 수의 펑션으로서 HUNCC 실시예에서 보안 수준과 통신 레이트 사이의 효율성 및 트레이드-오프를 도시한다.
도 11은 각각의 암호화된 링크에 대해 상이한 컴퓨터 보안 코드들을 사용하는 암호화된 링크들의 수의 펑션으로서 HUNCC 실시예에서 보안 수준과 통신 레이트 사이의 효율성 및 트레이드-오프를 도시한다.
도 12는 실시예에 따른 하이브리드, 포스트-양자, 보안, 단일 경로 통신 방식의 기능적 구성요소들을 도시한다.
도 13은 도청자가 Alice로부터 Bob으로 전송된 패킷들에 오류들을 삽입(inject)할 수 있는 실시예에 따른 근시안적 적대자 모델(myopic adversaries model)을 도시한다.
도 14는 실시예에 따른 비디오 스트리밍을 위한 초신뢰성(ultra-reliable), 저-지연(low-latency) 통신 시스템을 도시한다.
도 15는 본 명세서에 개시된 개념들, 구조들 및 기술들을 구현하기 위해 사용될 수 있는 컴퓨터의 관련 물리적 구성요소들을 개략적으로 도시한다.
도면들은 반드시 시스템의 모든 요소들을 포함하거나 축척에 맞춰진 것은 아니며, 대신 일반적으로 본 명세서에서 보호하고자 하는 개념들, 구조들 및 기술들을 설명하는 데 중점을 둔다.
도 1은 모든 통신 데이터를 가로챌 수 있는 "강한(strong)" 도청자 Eve로부터 안전한(secure) Alice와 Bob 간의 다중경로 통신을 위한 일회성 패드를 사용하는 암호시스템을 도시한다.
도 2는 양자 컴퓨터에 액세스할 수 있는 강한 Eve에 대해 컴퓨터적으로 보안 -Goppa 코드를 사용하는 포스트 양자 McEliece 암호시스템을 도시한다.
도 3은 Alice와 Bob 간의 통신을 위한 최신 다중경로 네트워크(modern multipath network)를 도시하고, 도 3은 전달된 모든 데이터를 가로챌 수 있는 "강한" 도청자 Eve와 그 데이터의 일부만 가로챌 수 있는 "약한" Eve를 모두 도시한다.
도 4는 네트워크 코딩 도청을 가진 약한 Eve에 대해 정보적으로 안전한 Alice와 Bob 간의 통신을 위한 다중경로 네트워크를 도시한다.
도 5는 네트워크들에 대한 개별 보안의 원칙(principle)들을 사용하여 약한 Eve에 대해 정보적으로 안전한 Alice와 Bob 간의 통신을 위한 다중경로 네트워크를 도시한다.
도 6은 본 명세서에 개시된 개념들, 기술들 및 구조들의 실시예들에 따른 하이브리드 범용 네트워크 코딩 암호시스템(HUNCC)을 사용하는 Alice와 Bob 사이의 통신을 위한 다중경로 네트워크를 도시하고, 그것은 강한 Eve에 대해 컴퓨터적으로 안전하고 약한 Eve에 대해 정보적으로 안전하다.
도 7은 도 6의 다중경로 네트워크 방식, 보안, 포스트-양자, 하이브리드의 기능적 구성요소(functional component)들을 도시한다.
도 8은 HUNCC 실시예에 따른 데이터를 인코딩, 전송 및 디코딩하는 방법의 프로세스들을 도시한다.
도 9는 HUNCC 실시예에 따라 Alice에 의해 수행되는 인코딩 방식의 세부 사항들을 도시한다.
도 10은 각각의 암호화된 링크에 대해 약 0.5의 정보 레이트를 가지는 McEliece 코드를 사용하여 암호화된 링크들의 수의 펑션으로서 HUNCC 실시예에서 보안 수준과 통신 레이트 사이의 효율성 및 트레이드-오프를 도시한다.
도 11은 각각의 암호화된 링크에 대해 상이한 컴퓨터 보안 코드들을 사용하는 암호화된 링크들의 수의 펑션으로서 HUNCC 실시예에서 보안 수준과 통신 레이트 사이의 효율성 및 트레이드-오프를 도시한다.
도 12는 실시예에 따른 하이브리드, 포스트-양자, 보안, 단일 경로 통신 방식의 기능적 구성요소들을 도시한다.
도 13은 도청자가 Alice로부터 Bob으로 전송된 패킷들에 오류들을 삽입(inject)할 수 있는 실시예에 따른 근시안적 적대자 모델(myopic adversaries model)을 도시한다.
도 14는 실시예에 따른 비디오 스트리밍을 위한 초신뢰성(ultra-reliable), 저-지연(low-latency) 통신 시스템을 도시한다.
도 15는 본 명세서에 개시된 개념들, 구조들 및 기술들을 구현하기 위해 사용될 수 있는 컴퓨터의 관련 물리적 구성요소들을 개략적으로 도시한다.
도면들은 반드시 시스템의 모든 요소들을 포함하거나 축척에 맞춰진 것은 아니며, 대신 일반적으로 본 명세서에서 보호하고자 하는 개념들, 구조들 및 기술들을 설명하는 데 중점을 둔다.
본 명세서에 개시된 개념들, 기술들 및 구조들의 실시예들에 따르면, 하이브리드 범용 네트워크 코딩 암호시스템(HUNCC)은 높은 정보 레이트들로 포스트-양자 암호 방식을 획득한다. 이 보안 네트워크 코딩 방식에서, 우리는 컴퓨터 보안 원칙(computational security principle)들을 물리적 계층 보안 프리미티브(physical layer security primitive)들과 조합하여 개별 비밀성 및 컴퓨터 보안 암호시스템들에 모두 의존하는 하이브리드 시스템을 도입한다.
다중경로 보안 전송 방식(multi-path secure transmission scheme)을 통해 이 개념을 설명하고, 여기서 다수의 메시지는 병렬 링크들을 사용하여 Alice와 Bob 사이에 전송된다. 그렇게 함으로써, 물리적 계층 보안의 주요 단점들 중 하나, 즉 도청자가 Alice와 Bob 사이에 전송된 모든 메시지들을 관찰할 수 없다는 가정을 해결할 수 있다. 본 명세서에 개시된 시스템에서 Eve는 실제로 Alice와 Bob 사이의 전체 전송을 관찰할 수 있고, 즉 Eve는 강할 수 있다.
그러나 컴퓨터 보안 시스템들과 유사하게 Eve의 컴퓨터 능력을 가정할 것이다. 그러나 공개-키 암호 방식을 사용하여 Alice의 전체 메시지들을 암호화하는 대신, 통신 링크들의 일부만 암호화 하고, 일부 실시예들에서, 링크들 중 단지 하나만큼 적다. 컴퓨터 제한 가정 하에서, 암호화된 링크들은 Eve의 손실(loss)들과 유사하므로 이제 물리적 계층 보안 코드들의 기존 기술들을 사용할 수 있다. 즉, 컴퓨터 제한 가정 하에서 도청자가 암호 방식을 통해 메시지들의 일부만 관찰하도록 강제할 수 있다. 결과적으로, 개별 비밀성에서 수행되는 것과 유사한 통신 레이트의 증가를 허용하는 동시에 컴퓨터적으로 강한 보안 보장들을 제공한다. Alice와 Bob이 더 많은 통신 채널들을 가지고 있다면 통신 레이트는 더욱 커질 것이다. 실제로 채널들의 수가 증가함에 따라 레이트는 1에 근접한다.
많은 실용적인 이기종 네트워크에서, 공개-키가 있는 암호시스템이 모든 경로들에 적용될 수 있다고 가정하지 않을 수 있다. HUNCC 코딩 방식은 하나의 경로를 통해 전송되는 정보에 대해서만 공개-키를 사용하여 전체 네트워크에 걸쳐 포스트-양자 보안을 보장할 수 있다. 또한 HUNCC를 사용할 수 있는 중요한 응용 분야들에 대해 아래에서 논의된다. 특히, 다중경로 통신 외에도, 단일 경로 통신, 분산 기억 장치(distributed storage), 초신뢰성 저-지연 스트리밍 통신들 및 근시안적인 적대자들의 경우에 대해서도 논의한다.
경로가 두 개인 네트워크의 경우, 도 6에서 하이브리드 방식을 설명한다: Alice는 인 통신 링크들을 통해 개인 메시지 를 Bob에게 보내려고 한다. 도청자인 Eve는 그녀의 강한 정도에 따라 이러한 채널들 중 하나 또는 둘 다에서 통신을 관찰할 수 있다. 도 6의 예제 네트워크에서, 우리는 Eve가 강하고 두 채널들을 모두 관찰할 수 있다고 가정한다.
Alice와 Bob은 공개 키 암호화 방식 에 동의한다. Alice는 먼저 생성기 행렬(generator matrix)(예: )이 있는 개별 보안 코드를 사용하여 메시지를 인코딩한다. 이 인코딩을 로 표시한다. 그런 다음 Alice는 제1 메시지를 로 암호화하고, 채널 1을 통해 Bob에게 전송하고, 채널 2를 통해 암호화되지 않은 을 전송한다. 그런 다음 Bob은 을 암호해제하여 모두를 검색(retrieve)하고 생성기 행렬의 역행렬을 곱하는 것에 의해 원본 메시지 를 디코딩하고 검색한다.
Eve가 하나의 통신 채널만 관찰하는 약한 도청자인 경우, 이 방식은 정보-이론적으로 그녀의 컴퓨터 능력에 관계없이 개별적으로 정보를 보호한다. 이는 메시지의 각각의 조각 이 단일 인코딩된 와 독립적이기 때문에 발생한다. Eve가 두 통신 채널들을 모두 관찰하는 강한 도청자인 경우, 각각의 메시지 는 암호화 방식 와 거의 동일한 보안 수준으로 컴퓨터적으로 안전하다. 아래에 재현된 Cohen, Alejandro 외의 정리 1, "Network Coding-Based Post-Quantum Cryptography", Sept. 3, 2020, https://arxiv.org/abs/2009.01931 (이하에서 "Cohen 외")에서 에 대한 가장 잘 알려진 공격이 그것을 해독하기 위해 동작들을 필요로 하는 경우, Eve는 메시지 를 결정하기 위해 적어도 동작들을 필요하다는 것을 보여주었고, 여기서 는 선형 시스템을 해결하기 위해 필요한 동작들의 양이다.
개별 보안 코드 이 작동하려면, 가 보다 큰 특성을 가져야 한다. 또한 개별 보안 코드의 이미지는 암호화 펑션 의 도메인(domain)에 삽입적으로(injectively) 매핑되어야 한다. 우리는 다음 예를 고려한다.
Alice와 Bob이 암호화된 링크에 대해 -비트 McEliece 암호시스템을 사용하는 데 동의한다고 가정한다. 최신 컴퓨터 보안 가정들에 대해 보안을 유지하기 위해, Bob은 비트의 공개 키로 -Goppa 코드를 선택할 수 있다. 이 경우, 암호화 펑션의 도메인은 이다. Alice와 Bob은 보다 큰 특성을 가지는 에 의해 주어진 코드 의 이미지로부터 로의 삽입 매핑(injective mapping)에 동의해야 한다. 이 경우, 그들은 비트가 되도록 를 설정할 수 있다. 따라서, Alice는 을 비트 벡터로 매핑하고 Goppa 코드를 사용하여 으로 인코딩할 수 있다. 그런 다음 Alice는 링크 1을 통해 비트를 전송하고 링크 2를 통해 비트를 전송한다. 따라서, 총 통신 비용은 도 6에 지시된 것처럼 보다 약간 더 큰 통신 레이트를 제공하는 약 5248 비트이다. Cohen 외의 정리 1에 의해, 메시지들 및 은 모두 -비트 보안이다. 아래에서, Alice와 Bob이 Shor의 알고리즘에 취약(vulnerable)하지만 일반적으로 사용되며 정보 레이트에 대한 페널티가 낮은 RSA 방식을 사용하는 것에 동의하는 예를 살펴본다.
참조 구현(reference implementation)의 세부 사항들을 살펴보기 전에, 우리 방식의 2개의 주요 빌딩 블록(main building block)들에 대한 배경 정보(background information)를 제공한다: 1) 컴퓨터 보안 암호시스템들 및 2) 정보-이론적 개별 보안. 우리는 McEliece 암호시스템에 초점을 맞추고 있지만 모든(any) 컴퓨터적으로 보안 암호시스템이 사용될 수 있다.
공개-키 암호화 는 및 의 지식만으로 을 복구하는 가장 잘 알려진 알고리즘이 적어도 개의 동작들을 수행해야 하는 경우 보안 수준을 갖는다. 마지막으로 은 인 경우에 레이트 을 갖는다.
McEliece 포스트-양자 공개-키 암호시스템은 다음과 같이 작동한다. Bob은 공개 키 를 생성하고, 여기서 이다. Alice와 Eve 모두 액세스할 수 있다. 개인 키는 으로 구성되고, 여기서 는 에 대한 효율적인 디코딩 알고리즘이다. 메시지 를 암호화하기 위해, Alice는 가중치(weight) 의 벡터 를 랜덤으로 선택하고 이를 로 암호화한다. 메시지를 암호해제하기 위해, Bob은 먼저 을 계산한 다음 디코딩 알고리즘 을 적용한다. 는 해밍 거리(hamming distance) 을 가지므로 를 따른다. 그렇다면, 와 이 모두 가역적(invertible)이므로 Bob은 을 복구한다.
컴퓨터 보안과 달리, 개별 보안은 Eve가 약한 도청자 이고, 즉 통신 경로들에만 액세스할 수 있다는 가정하에 동작한다. 개인 정보 보호 보장은 Bob이 각각 길이 비트의 네트워크를 통해 전송된 모든 메시지들을 완전히 디코딩할 수 있는 반면 Eve는 각각의 개별 메시지에 대해 무지하다는 것이다. 따라서, .
다음으로 임의의 선형 코드(arbitrary linear code)에서 개별 보안 코드를 구성하는 방법을 설명한다. 따라서, 를, 길이 및 크기(dimension) 의 를 가지는 에 대한 선형 코드라고 하고, 을 설정한다. 은 에 대한 생성기 행렬이고 는 의 널 공간(null space)에 대한 생성기라고 한다. 및 를 각각 코드 에 대한 패리티 검사 행렬(parity check matrix) 및 기본 행렬(basis matrix)이라 한다(즉, 및 및 이도록). 그러면 에 의해 개별 보안 코드가 생성된다. 본 명세서에 개시된 개념들, 기술들 및 구조들의 실시예들에서 다른 개별 보안 코드가 사용될 수 있다는 것이 인식된다.
공개-키 암호시스템들, 특히 McEliece 암호시스템과 달리 물리적-계층 보안 방식들에서 생성 행렬(generation matrix)과 코드가 공개된다는 점에 유의하는 것이 중요하다. 따라서 Bob과 Eve 모두 위에서 설명한 모든 행렬들에 액세스할 수 있다고 가정할 수 있다.
개별 보안 코드는 다음과 같이 사용될 수 있다. Alice는 메시지를 로 인코딩한다. 따라서 은 개별 보안 코드에 따른 의 선형 네트워크 코딩이다. 메시지를 디코딩하기 위해, Bob은 패리티 검사 행렬 과 기본 행렬 을 사용하여 및 를 계산한다. Eve는 암호화된 벡터 로부터 의 심볼들만 관찰하기 때문에, 그녀는 디코딩할 수 없으며 네트워크를 통해 전송된 정보의 모든 세트 의 심볼들에 대해 완전히 무지하다.
다음으로 나머지 개시에서 사용되는 보안 개념들과 위협 모델(threat model)들을 정의한다. 전반적으로, 우리는 암호문 전용 공격 모델(ciphertext-only attack model)을 가정하고, 즉, 적대자 Eve는 또는 에만 액세스할 수 있다. 먼저 컴퓨터 보안(computational security)의 개념을 정의한다.
정의 2
메시지
와 암호문(ciphertext)
이 있는 암호시스템은 가장 잘 알려진 알고리즘이 예상되는(in expectation)
의 관찰(observation)에서부터 단독으로
를 디코딩하기 위해 적어도
개의 동작들을 수행해야 하는 경우 보안 수준
을 갖는다.
이 보안 수준 정의는 인코딩된 메시지 의 크기와 분산(distribution)에 대한 제한을 암시적으로(implicitly) 부과한다는 점에 유의해야 한다. 실제로 공개-키 암호시스템을 가정하면 적대자는 올바른 메시지를 찾을 때까지 잠재적인 메시지 입력(potential message input)들을 추측하는 것에 의해 항상 무차별 대입 공격(brute-force attack)을 사용할 수 있다. 일반적으로, 메시지는 세트 에서 균일하게 임의의 값을 취한다고 가정하므로 를 따른다. 실제로, 대부분의 암호시스템에서는 가 보다 엄격하게 커야 한다. 이 개시 전반에 걸쳐, 우리는 이 관계를 암묵적으로 남겨두고 보안 수준 에 집중하여 이 보안 수준에 따라 적절한 을 선택한다.
정의 2의 계산 보안 수준(computation security level)은 단일 링크 또는 동등하게 단일 메시지의 경우에 관련된다. 각각의 링크에서 여러 메시지들이 전송되는 경우, 각각의 메시지에 개별적으로 적용되는 보안 보장을 제공하는 것이 바람직하다. 약한 Eve에 대해, 이것은 정보-이론적 개별 비밀성을 통해 획득될 수 있다.
전송된 메시지들의 전체를 관찰할 수 있는 강한 Eve에게는 -개별 보안을 획득할 수 없다. 대신에, 우리는 경로들 중 임의의 것에 있는 메시지를 디코딩하려면 동작들이 필요하다는 개별 컴퓨터 보안의 개념을 설명한다.
정의 4 (개별 컴퓨터 비밀성) 에 대한 위한 메시지들 과 암호문들 이 있는 암호시스템은, 가장 잘 알려진 알고리즘이 예상대로 관찰(observation)들 에서 임의의 , 을 디코딩하기 위해 적어도 동작들을 수행해야 하는 경우 보안 수준 을 갖는다.
이제 도 7을 참조하면, 무소음 독립 통신 링크(noiseless independent communication link)들(122)을 통해 목적지 노드(destination node) Bob(130)에 연결된 소스 노드(source node) Alice(110)로 구성된 네트워크(100)의 실시예의 시스템 개요를 고려한다. 목표는 Alice(110)가 도청자 Eve(120)가 있을 때 각각 길이 비트의 개의 메시지들 을 Bob(130)에게 개인적으로 전송하는 것이다. 우리는 Eve(120)가 양자 컴퓨터에 액세스할 수 있다고 가정한다. 다음에서, 통신 링크들(122)은 각각 상이한 전송 매체(예를 들어, 도 3에 몇몇이 도시됨)일 수 있고, 때때로 본 명세서에서 "데이터 채널들" 또는 "경로들"로 지칭된다. 그러나, 본 명세서에서의 개념들, 기술들 및 구조들의 실시예들은 도 12와 관련하여 아래에서 논의되는 바와 같이 단일 경로 내에 존재하는(즉, 단일 전송 매체의 상이한 이용 시간(utilization time)들로서) 다수의 데이터 채널들과 함께 사용될 수 있다는 것이 인식된다.
우리는 에 의해 Alice(110)가 각각의 통신 링크(122)를 통해 Bob에게 전송하는 메시지들의 벡터를 표시한다. 이들 메시지들은 Bob(130)이 이들로부터 을 디코딩할 수 있는 것이어야 한다. 따라서, 우리는 인 경우에 이 신뢰할 수 있다고 말한다. 그러나 메시지들 은 Eve(120)가 을 스스로 디코딩하지 않으려면 특정한 특성들을 충족해야 한다. 이것은 Eve(120)이 얼마나 강한지에 달려 있다.
두 가지 유형들의 Eve(120)을 고려한다. 강한 Eve(120), 는 의 전체에 액세스할 수 있는 모든 통신 링크들을 관찰한다. 그리고 약한 Eve(120), 는 통신 링크들(122)의 서브세트만을 관찰한다. 각각의 관찰들을 와 로 표시한다. 우리는 신뢰성(reliability) 때문에 강한 Eve(120)에 대해 정보-이론적 프라이버시를 획득할 수 없다는 점에 유의한다.
높은 수준에서, 암호시스템은 다음과 같이 작동한다. Alice(110)와 Bob(130)은 정의 1에서와 같이 공개-키 암호시스템 에 동의하고 공개-키 는 Eve(120)가 액세스할 수 있는 공개 디렉토리(public directory)(124)에 저장된다. 그런 다음 Alice(110)는 개의 링크들(122) 중 을 암호화된 링크들로 선택한다. 도 7에서, 단일 메시지 만이 암호화 프로세서(114)를 통해 암호화된 것으로 도시되어 있으므로 이지만, 임의의 수의 링크들이 암호화를 위해 선택될 수 있다는 것이 인식된다. 암호화를 경험하지 않는 개의 링크들이 보안되지 않기 때문에 이것만으로는 완전한 보안을 제공하지 않는다. 이 문제를 해결하기 위해, 개별적으로 보안 선형 코드, 특히 선형 네트워크 코드를 사용하여 행렬 곱셈기(matrix multiplier)(112)에 의해 메시지가 혼합(인코딩)되는 암호화(114) 전에 추가 단계(extra step)를 도입한다. 이렇게 함으로써, 우리는 Cohen 외의 정리 1에서 각각의 메시지가 이제 컴퓨터적으로 안전하다는 것을 보여주었다. 방식의 보안 성능(security performance) 및 총 통신 레이트는 공개-키 암호시스템의 파라미터들 및 의 선택에 따라 달라진다. Bob(130)은 통신 링크들(122)로부터 를 수신하고, 암호해제 프로세서(132)를 사용하여 제1 암호화된 메시지들을 암호해제하고, 그런 다음 행렬 곱셈기(134)를 사용하여 제1 메시지를 디코딩하고, 전체 초기 메시지(full initial message) 를 복구하기 위해 믹싱 프로세스(mixing process)(112)의 반전(inverse)을 통해 행렬 곱셈기(136)를 사용하여 마지막 메시지들을 디코딩한다.
이제 도 7에 도시된 시스템과 도 8에 도시된 전체 알고리즘 1 및 도 9에 도시된 대로 Alice(110)에 의해 수행된 인코딩 프로세스를 다시 참조하여 HUNCC에 대해 더 자세히 설명한다. 을 정의 1에 설명된 보안 수준 의 공개-키 암호시스템이라고 한다. 평소와 같이, 공개 키 는 Bob(130)에 의해 생성되고 일부 공개 통신 채널(예: 공개 디렉토리(124))을 통해 Alice(110)에 제공된다. Alice(110)는 암호화될 경로들(122)의 수 를 선택한다. 일반성을 잃지 않고, 에 의해 인덱싱된 경로들을 암호화된 경로들로 한다. 을 고정하고 메시지들 을 가지는 복수의 데이터 블록들을 고려하면, 여기서 를 가지는 각각의 은 독립적으로 균일하게 랜덤으로 생성된다. 을 -개별 보안 선형 코드라고 하고, 여기서 이다. 코드의 널 공간에 대한 생성기 행렬 을 선택한다. 및 이래로 그러한 코드가 존재한다는 것에 유의한다. 개별 비밀성 인코딩 행렬은 위에서 설명한 바와 같이 에 의해 주어진다. 따라서, 벡터 , 여기서 는 의 -개별 비밀성 인코딩에 대응한다(참조: 도 7의 행렬 곱셈기(112), 도 8의 라인 1-5, 및 도 9의 왼쪽).
이제 모든 경로 에 대해, 심볼들 의 컬렉션(collection)을 고려한다. 이래로, 컬렉션 은 길이가 인 일련의 비트들 에 삽입적으로 매핑될 수 있다. 이러한 각각의 은 전송되기 전에 (예를 들어, 암호화 프로세서(114)를 사용하여) 공개-키 암호화를 통해 암호화되고, 즉, 각각의 링크 는 를 전송한다. 의 길이는 이다. 경로들 을 위해, Alice(110)는 암호화되지 않은 컬렉션(collection)을 Bob(130)에게 직접 전송한다. 일관성을 위해, 경로 상에서 전송된 데이터가 비트 시퀀스 이고 이 시간 길이 라고 가정한다(도 8의 라인 6-16 및 도 9의 오른쪽 참조).
이제 Bob(130)에서의 디코딩 프로세스를 자세히 설명한다. 모든 경로들에 오류가 없다고 가정한다. 따라서, Bob(130)은 통신 링크들(122)을 통해 전송된 모든 메시지들을 획득한다. 각각의 개의 암호화된 데이터 채널들에 대해, Bob(130)은 데이터 블록들의 암호화되지 않은 제1 인코딩의 암호화를 포함하는 메시지를 수신하고, 개인 키 를 사용하여 메시지를 디코딩한다(도 7의 암호해제 프로세서(132) 및 도 8의 라인 17-20 참조).
따라서 Bob(130)은 모든 에 대해 를 획득한다. 나머지 데이터 채널들을 통해 획득된 메시지들은 원본 데이터 블록들의 암호화되지 않은 인코딩들이었다. 따라서, 제1 경로들로부터 암호해제된 메시지들과 함께 Bob(130)은 의 전체를 갖는다. 이제 추정된 인코딩된 블록의 각각의 번째 칼럼(column)에 대해, Bob(130)은 패리티 검사 및 기본 행렬 을 사용하여 전송된 복수의 원본 메시지(original message)들(도 6의 행렬 곱셈기들(134, 136) 및 도 8의 라인 21-25 참조), 즉 및 에서 각각의 메시지를 복구한다.
위에서 설명한 HUNCC 시스템 및 방법을 사용하는 몇 가지 이점들이 이제 설명된다. HUNCC는 통신 링크들의 전체를 관찰하는 강한 Eve를 처리하는 데 적합하다. 컴퓨터적으로 안전한 것 외에도, Eve가 약한 도청자이고 경로들 중 개 이상을 관찰하지 않는 경우, HUNCC는 정보 이론적으로 안전하다. 그리고 정보 레이트(information rate) R은 수렴 레이트(convergence rate)()와 함께 1에 접근한다. 이러한 관찰들은 Cohen 외에서 증명한 다음 세 가지 정리들로부터 비롯된다.
정리 1.
,
, 및
을 보안 수준이
인 공개-키 암호시스템이라고 한다. 그런 다음, 입력
이 있는 도 8의 알고리즘은 적어도 수준
에서 개별적으로 컴퓨터적으로 안전하고, 여기서
은 방정식들, 즉
의
선형 시스템을 해결하기 위해 필요한 동작들의 수이다.
HUNCC에 대한 몇 가지 중요한 리마크(remark)들이 필요하다.
먼저, HUNCC의 개의 암호화된 경로들에 사용되는 공개 키는 기본(underlying) 암호시스템의 기존 공개 키(traditional public key)(예: McEliece 암호시스템에서 제공되는 것)일 뿐이라는 것에 유의한다. 따라서, 이 공개 키는 다중경로 네트워크를 통해 전송되는 -메시지들과 독립적이며 공개 채널을 통해 미리 Alice에게 제공될 수 있다.
또한, 원-타임 패드의 경우와 같이 전송된 메시지마다 고유한 비밀 키(unique secret key)가 이용되는 정보-이론적 보안과 달리, HUNCC의 공개 키는 다수의 메시지들에 사용될 수 있다. 같은 방식으로, 개별 보안 코드의 생성 행렬 은 기밀(confidential)이 아니다. Alice와 Bob은 공개 채널을 통해 이에 동의할 수 있고, 즉, 이 행렬이 Eve에게 공개될 수 있다. 또한 이 행렬은 향후 전송들에 대해 무기한으로 사용될 수 있다.
또 다른 요점은 HUNCC의 보안 수준과 관련이 있다. 정리 1에 명시된 바와 같이, 기본 공개-키 암호시스템의 보안 수준이 인 경우, HUNCC는 보안 수준이 적어도 인 개별 컴퓨터 보안이고 여기서 이다. 이 값은 에 매우 가깝다는 것에 유의해야 한다. 실제로, 만약 이고 관련 선형 시스템(relevant linear system)들을 해결하기 위해 가우시안 소거법(Gaussian elimination)이 사용된다면, HUNCC는 보안 수준을 1비트라도 감소시키기 위해 이 필요하다.
마지막으로, 우리의 주요 초점은 포스트-양자 암호시스템에 있지만, HUNCC는 대칭-키 암호시스템(symmetric-key cryptosystem)과 조합된 것을 포함하여 모든 공개-키 암호시스템과 함께 사용될 수 있다.
도 10과 11은 HUNCC의 성능을 보여준다. 세 가지 조치(measure)들이 지시된다: 정보 레이트, 개별 컴퓨터 비밀성 및 정보-이론적 개별 비밀성. 특히, 도 7-9에서 로 표시된 암호화된 링크들의 수가 다양하기 때문에, 이러한 수량들 간의 트레이드-오프를 볼 수 있다.
통신 레이트를 고려하는 것에 의해 시작하고, 위의 정리 3을 참조한다. 암호화된 링크들 의 수를 감소시키면 레이트가 증가한다. 반면에, 컴퓨터 보안 수준은 적어도 하나의 경로가 암호화되는 한 사실상 일정하게 유지된다(즉, ). 따라서, 본 명세서에 개시된 개념들, 기술들 및 구조들을 구현하는 실용적 시스템(practical system)들은 단일 암호화된 경로, 링크 또는 데이터 채널만을 사용하거나 이들을 통해 전송되는 데이터의 일부에만 적용될 수 있다.
약한 Eve의 경우, 개별 보안 수준은 약한 Eve는 정보를 얻지 못하는 링크들의 수, 에 따라 선형적으로 증가한다. 즉, 컴퓨터 비트 수준 보안이 일정하게 유지되는 동안 링크들의 서브세트를 관찰하는 적대자의 불확실성(uncertainty)이 증가한다.
따라서 도 10에서는 -Goppa 코드를 사용하는 원래 McEliece 암호시스템을 사용하는 HUNCC에 대해 각 성능 파라미터(performance parameter) 대(versus) 암호화된 링크들의 수 를 예시한다. 각각의 암호화된 경로에 대한 정보 레이트는 이다. 설명을 위해, 정규화된(normalized) 보안의 조치(measure of security)들, 즉 다음을 고려한다: 1) 정규화된 컴퓨터 보안 수준 은 보안 수준을 모든 링크들에서 암호시스템을 사용하는 것에 의해 획득될 수 있는 최대 컴퓨터 보안으로 나눈 것이고; 2) 정규화된 개별 보안 수준 은 약한 Eve가 볼 수 있는 링크들의 수를 네트워크의 전체 링크들로 나눈 분수(fraction)이다.
도 10에 주어진 예에서, 결과는 동일한 공개 키를 가지는 동일한 McEliece 암호시스템 코드가 모든 개의 암호화된 링크들에서 사용되는 경우에 대한 것이다. 따라서 정규화된 컴퓨터 보안 수준은 인 경우 0이고, 인 경우 1이다. 정리 1을 통해 임의의 에 대한 컴퓨터 보안 수준은 로 제한되며 여기서 이다. 이 차이(difference)는 무시할 수 있으며 본질적으로(essentially) 일정하게 유지되고 에 대해 1과 동일한 플롯(plot)에 나타나지 않는다.
본 명세서에 개시된 실시예들은 원래의 McEliece 암호시스템에 제한되지 않는다. 임의의(any) 암호시스템이 이용될 수 있다. 이를 설명하기 위해, 도 11에는 개시된 실시예들의 효율성 및 및 인 통신 링크들에 대한 다른 코드들 및 시스템들에 대한 결과적인 트레이드-오프들이 도시되어 있다. 먼저, -비트 컴퓨터 보안을 달성하는 원본 파라미터들, 즉 -Goppa 코드를 가지는 McEliece 암호시스템을 보여준다. 다음으로, -비트 컴퓨터 보안을 위한 -Goppa 코드 및 -비트 컴퓨터 보안을 달성하는 -Goppa 코드를 가지는 McEliece 암호시스템을 보여준다. 둘 다 정보 레이트가 이다. 또한 QC-LDPC 코드들을 채택한 McEliece 암호시스템을 보여준다. 이 코드들의 군의 경우, 다음 파라미터들이 제안된다: 및 , 즉 레이트가 인 코드. 이 코드는 -비트 컴퓨터 보안을 달성한다 . 다음으로, 우리는 Niederreiter가 제안한 의 레이트의 Reed-Solomon 코드를 보여준다(문헌에서 일반화된(generalized) Reed-Solomon 코드들이 해독되었다는 것에 유의함). 원래 McEliece 구성(original McEliece construction)에 의해 사용된 것과 동일한 Goppa 코드를 사용하고 동일한 보안 수준을 가지는 Niederreiter-유형 시스템은, McEliece 암호시스템의 최첨단 공격 하에서 테스트되었으므로, -비트 컴퓨터 보안을 달성하는 것으로 가정한다.
이 비교에서, 도 11에 제시된 바와 같이, 획득된 최대 컴퓨터 보안 수준은 -Goppa 코드와 함께 McEliece 암호시스템을 사용하는 -비트이다. 따라서, 각각의 가능한 코드에 대해 도 11의 왼쪽에 제시된 결과는 으로 정규화된다. 컴퓨터 보안 수준은 암호시스템을 선택할 때 고려되는 주요 파라미터(main parameter)들 중 하나이지만 다른 하나는 공개-키의 크기이다. 또한 HUNCC의 컴퓨터 보안 수준은 위에서 설명한 이유로 암호시스템을 사용하는 링크들의 수가 증가하거나 네트워크의 총 경로들의 수를 변경하더라도 본질적으로 일정하게 유지된다.
다음으로 개시된 HUNCC 방식의 유용성과 성능을 예시하는 기능 및 응용 분야들에 대해 논의한다. 이러한 응용 분야에는 단일 경로 통신(도 12), 근시안적 적대자(도 13), 분산 기억 장치 및 기타 클라우드 응용 분야, 안정적인 저-지연 통신(도 14), 포스트-양자 또는 기타 암호시스템이 아닌 RSA 암호시스템 사용이 포함된다.
도 7에 도시된 네트워크는 다중경로 통신을 사용하지만 본 명세서에서 개시하는 보안 코딩 방식은 모든 통신 네트워크에 적용할 수 있다는 점에서 보편적이다. 예를 들어 기존의 점대점 단일 경로 통신(point-to-point single-path communication)과 이기종 메시 네트워크(heterogeneous mesh network)들에서 사용될 수 있다. 도 12는 개시된 보안 방식이 기존의 점대점 단일 경로 통신에서 어떻게 적용될 수 있는지를 묘사한다. 이 설정(200)에는 위에 제시된 네트워크(100)와 유사하게 하나의 소스 Alice(210), 하나의 합법적인 목적지 Bob(230) 및 도청자 Eve(220)가 있다. 주요 차이점은 설정(200)에서 Alice(210)와 Bob(230) 사이에 정보를 전송하는 경로(222)가 하나만 있다는 것이다. Alice(210)는 단일 경로(222)를 통해 유한 필드(finite field) 를 통해 개의 심볼들의 메시지 를 안전하게 전송하기를 원한다. 이를 위해 Alice(210)와 Bob(230)은 본질적으로 병렬 가상 링크(parallel virtual link)들을 시뮬레이트(simulate)하는 것에 의해(예를 들어, 시분할 다중화(time division multiplexing) 또는 당업계에 알려진 다른 기술에 의해) 전술한 바와 같이 여전히 HUNCC를 이용할 수 있다. 보다 정확하게는 제1 스테이지(stage)에서 Alice(210)는 선형 개별 보안 코드 를 사용하여 행렬 곱셈기(212)를 통해 개의 심볼들을 인코딩할 것이다. 그런 다음, Alice(210)는 공개 디렉토리(224)에서 Bob이 제공한 공개 키를 사용하여 채널(222)을 통한 전송 전에 심볼들의 을 암호화한다. 나머지 프로세스는 위와 같다. 따라서, 우리는 다중경로 네트워크의 경우와 동일한 통신 레이트와 보안 수준을 획득하지만 단일 경로 또는 링크만 사용한다.
문헌에서 고려된 또 다른 중요한 시나리오는 Eve가 네트워크를 통해 전송된 정보를 도청할 수 있을 뿐만 아니라 암호화된 패킷(encrypted packet)들을 손상(corrupt)시킬 수 있는 것이다. 이 시나리오는 예를 들어 소극적 공격(passive attack)들, 근시안적인 적대자들, 중간자 공격,(middle attack)들, 비잔틴 공격(byzantine attack)들 등 다양한 적대자들의 모델들 하에서 문헌에서 고려된다. 도 13에는 패킷 손상(packet corruption)에 대한 일반적인 설명이 나와 있고, 근시안적인 적대자는 최대 개(up to )의 경로들을 통해 흐르는 데이터를 손상시킨다.
네트워크의 경로들 중 인 서브세트로부터만 정보를 획득할 수 있는 약한 도청자의 경우, 우리는 선형 개별 보안 코드를 보강하여 Eve가 삽입할 수 있는 최대 개의 오류들을 정정할 수 있다. 한 가지 솔루션은 코드를 일반화하는 것이지만 그러한 확장(extension)에는 비용이 든다. 개의 삽입된 오류들을 정정하려면, 레이트를 만큼 줄여야 한다. 그러나, 이 설정에서 코드는 암호화된 경로들 상에 있는지 여부에 관계없이 Eve가 네트워크를 통해 전송된 메시지의 서브세트를 손상시킬 수 있는 경우를 지원(support)할 수 있다. 실제로 정정 특성은 선형 코딩 방식의 디코딩에만 의존하며 해독 페이즈(deciphering phase)와 독립적이다.
네트워크의 모든 경로들로부터 정보를 획득할 수 있는 강한 도청자의 경우, 우리는 동일한 일반화된 코드를 이용하여 Eve가 삽입할 수 있는 개의 오류들을 정정할 수 있다. 그러나 이 경우 보안을 보장하기 위해, Alice는 네트워크의 상이한경로들을 통해 전송되는 적어도 개의 메시지들을 암호화해야 한다. 따라서, 우리는 오류를 정정하기 위해 전송된 추가적인 개의 메시지를 암호화하여 Eve가 전체 메시지를 디코딩하는 데 필요한 랭크(rank)를 가지는 행렬을 제공할 수 있는 선형 코드로 충분한 인코딩된 메시지를 획득하지 못하도록 해야 한다.
위에 개시된 솔루션에서 삽입된 오류들을 정정하는 데 요구되는 오버헤드를 감소시키기 위해 인코딩된 메시지들 간에 인증(Authentication)이 이용될 수 있다. Bob이 손상된 메시지들을 식별(identify)할 수 있는 경우 위에 제시된 모델의 두 메시지들과 달리 Alice는 삽입된 오류당 하나의 추가적인 심볼만 포함하면 된다. 또한 위에서 언급한 일반화된 선형 코드는 네트워크의 경로들에 오류가 없는 시나리오를 지원한다. 암호시스템이 McEliece 암호시스템과 같이 오류-정정 코드(error-correction code)들에 기초하는 경우 소스에 오류 벡터를 추가하는 대신 Alice는 채널의 오류들을 사용하여 Eve를 혼동(confuse)시킬 수 있다. 이러한 경우들의 코드들은 그 오류들이 있는 경우 합법적인 디코더에서 디코딩할 수 있도록 설계되었다. 따라서 Bob은 정보를 디코딩할 수 있다. 이러한 모든 확장을 통해 이 솔루션들의 유효 레이트(effective rate)를 높일 수 있다.
HUNCC는 분산 기억 장치 및 기타 "클라우드" 응용 분야들에도 적용될 수 있다. 분산 기억 장치 시스템의 목표는 신뢰할 수 없는 기억 장치 노드들에 분산된(spread) 데이터에 대한 안정적인 액세스를 제공하는 것이다. 오늘날 데이터 센터와 관련된 응용 분야는 Google의 GFS 및 BigTable, Amazon의 Dynamo, Facebook의 Apache Hadoop, Microsoft의 WAS, LinkedIn의 Voldemort 및 SkyFlok를 포함하여 어디에나 있다.
분산 기억 장치의 주요 단점들 중 하나는 데이터가 점점 더 많은 위치들에 저장됨에 따라 데이터의 보안 및 프라이버시의 위험(risk)이 잠재적으로(potentially) 증가한다는 것이다. 이 문제를 해결하는 한 가지 방법은 문제를 다중경로 네트워크로서 재해석하는 것이다. 이는 Alice와 Bob을 상이한 시간에 동일한 개인(individual)으로 간주하고 통신 링크들을 기억 장치 노드들로 간주하는 것에 의해 수행된다. 이러한 방식으로 HUNCC를 포함하여 다중경로 네트워크에 대한 다양한 개인 정보 보호 솔루션을 쉽게 적용하여 분산 기억 장치 시스템의 데이터를 보호할 수 있다. 확률적(probabilistic) 또는 적대적 성격(adversarial nature)의 삭제(Erasure)들 및 오류들은 위에서 설명한 근시안적인 적대자들에 의해 도입된 오류들을 정정하는 기술들을 사용하여 해결될 수 있으며 유사한 결과들을 얻을 수 있다.
HUNCC는 또한 초신뢰성, 저-지연 통신들을 제공하기 위해 사용될 수 있고, 최근 오디오/비디오 스트리밍, 스마트-시티 통신(smart-city communication)들, 사물인터넷(IoT) 네트워크들 및 제어 응용 분야들, 분산 컴퓨팅 등의 응용 분야들과 함께 저-지연들을 요구하는 스트리밍 통신에 네트워크 코딩을 적용하는 것이 고려되고 있다. 이와 관련하여 도 14는 Alice가 디지털 비디오 패킷들을 생성하거나 수신하고 이를 Bob에게 스트리밍하는 비디오 스트리밍을 위한 다중경로, 저-지연 통신 환경을 도시한다. 높은 처리량(high throughput)을 달성하는 기존의 코딩 솔루션들은 일반적으로 이러한 응용 분야들의 요구 사항인 낮은 순서 전달 지연(in-order delivery delay)을 보장하는 데 적합하지 않다. 이것은 높은-레이트와 저-지연(low-delay) 사이의 트레이드-오프를 탐색하는 방법들을 제안하는 일련의 작업으로 이어졌다.
그러나 통신이 또한 안전해야 하는 경우 HUNCC는 당업계에 알려진 다양한 네트워크 코딩 방식들과 함께 사용될 수 있다. 이러한 코딩 방식들에서, 선형 네트워크 인코딩 프로세스에 포함된 Alice의 메시지들의 수는 원하는 레이트/지연 트레이드-오프에 따라 달라진다. 그러나 HUNCC를 사용하는 보안 응용 분야에서 이 수(number)는 원하는 보안 보장들에 의해 더욱 제한된다. 비밀성을 제공하기 위해 더 많은 메시지들을 함께 혼합해야 할 수 있으므로 지연의 비용이 발생할 수 있다.
마지막으로, HUNCC 응용 분야와 관련하여, 우리는 본 명세서에 개시된 개념들, 기술들 및 구조들의 실시예에 따라 컴퓨터적으로 안전한 모든 암호시스템이 사용될 수 있음을 유의한다. 특히, RSA는 도 6에 주어진 예, 즉 두 개의 경로들이 있는 다중경로 네트워크의 맥락(context)에서 우리의 네트워크-코딩 솔루션에 적용될 수 있다. Alice에서 인코딩의 제1 스테이지로서, 개별 보안 코드의 생성 행렬인 이 와 같이 사용된다고 가정한다. 이제 Alice와 Bob이 제1 경로에서만 RSA 방식을 사용하는 데 동의한다고 가정해 보겠다. -비트 보안을 위해 그들은 비트 키를 사용하여 결정한다. 비트 OAEP 패딩(padding)을 사용하면, 메시지 크기는 최대 비트가 될 수 있다. 따라서, Alice는 을 비트 벡터로 매핑하고 RSA를 사용하여 이것을 로 인코딩할 수 있다. 그런 다음 Alice는 채널 1을 통해 비트를 전송하고 채널 2를 통해 비트를 전송한다. 따라서 총 통신 비용은 보다 약간 더 큰 통신 레이트를 제공하는 약 비트가 될 것이다.
도 15는 본 명세서에 개시된 개념들, 구조들 및 기술들을 구현하기 위해 사용될 수 있는 컴퓨터(300)의 관련 물리적 구성요소들을 개략적으로 도시한다. 특히, 컴퓨터(300)는 도 7에 도시된 환경(100) 또는 그 임의의 부분, 특히 Alice의 노드(110) 또는 Bob의 노드(130) 또는 통신 경로(122) 또는 공개 디렉토리(124); 또는 도 8에 도시된 알고리즘 1 또는 그 일부; 또는 9에 도시된 행렬 동작들 및 암호화 동작들; 또는 도 12에 도시된 환경(200) 또는 그 일부, 특히 Alice의 노드(210) 또는 Bob의 노드(230) 또는 단일 통신 경로(222) 또는 공개 디렉토리(224); 또는 도 14에 도시된 비디오 스트리밍 및 플레이백 펑션들을 구현하기 위해 전체적으로 또는 부분적으로 사용될 수 있다. 일반적으로, 컴퓨터(300)는 데이터 버스들을 사용하여 서로 데이터를 통신하는 많은 기능적 구성요소(functional component)들을 갖는다. 도 3의 기능적 구성요소들은 각각 동작해야 하는 속도(speed)와 이러한 동작을 허용하는 데 필요한 속도들로 버스들을 사용하여 데이터를 통신하는 데 사용되는 기술에 따라 물리적으로 배치된다.
따라서, 컴퓨터(300)는 고속 구성요소(high-speed component)들 및 버스(311 내지 316) 및 저속 구성요소(low-speed component)들 및 버스(321 내지 329)로 배치된다. 고속 구성요소들 및 버스들(311 내지 316)은 "북 브리지" 또는 "노스 브리지"라고도 하는 고속 브리지(310)를 사용하여 데이터 통신을 위해 접속(couple)되고, 저속 구성요소들 및 버스들(321 내지 329)은 "남 브리지" 또는 "사우스 브리지"라고도 하는 저속 브리지(320)를 사용하여 접속된다.
컴퓨터(300)는 버스(312)를 통해 고속 브리지(310)에 접속된 중앙 처리 장치(central processing unit)("CPU")(311)를 포함한다. CPU(311)는 컴퓨터 프로그램의 명령들을 수행하는 전자 회로(electronic circuitry)이다. 당업계에 알려진 바와 같이, CPU(311)는 마이크로프로세서로 구현될 수 있다; 즉, 집적 회로("IC"; "칩" 또는 "마이크로칩"이라고도 함)으로서. 일부 실시예들에서, CPU(311)는 임베디드 응용 분야들을 위한 마이크로컨트롤러로서 구현되거나 당업계에 알려진 다른 실시예들에 따라 구현될 수 있다.
버스(312)는 CPU(또는 보다 구체적으로 마이크로프로세서)의 상호연결(interconnection)을 위해 당업계에 알려진 임의의 기술을 사용하여 구현될 수 있다. 예를 들어, 버스(312)는 AMD에 의해 초기에 개발된 HyperTransport 아키텍처, Intel QuickPath Interconnect("QPI") 또는 유사한 기술을 사용하여 구현될 수 있다. 일부 실시예들에서, 고속 브리지(310)의 펑션(function)들은 CPU(311)에 의해 전체적으로 또는 부분적으로 구현되어 버스(312)에 대한 필요성을 제거할 수 있다.
컴퓨터(300)는 그래픽 버스(314)를 통해 고속 브리지(310)에 접속된 하나 이상의 그래픽 처리 장치(GPU)(313)를 포함한다. 각각의 GPU(313)는 CPU(311)로부터의 명령(command)들을 디스플레이 스크린(미도시)에 디스플레이하기 위한 이미지 데이터로 처리하도록 설계된다. 일부 실시예들에서, CPU(311)는 그래픽 처리를 직접 수행하여 별개의(separate) GPU(313) 및 그래픽 버스(314)에 대한 필요성을 제거한다. 다른 실시예들에서, GPU(313)는 물리적으로 CPU(311)와 별개의 집적 회로로 구현되며 비디오 카드와 같은 확장 카드에 구현되는 경우 컴퓨터(300)에서 물리적으로 분리 가능할 수 있다. GPU(313)는 그래픽 버퍼에 이미지 데이터(또는 GPU(313)가 보조 컴퓨팅 프로세서로 사용되는 경우 다른 데이터)를 저장할 수 있다.
그래픽 버스(314)는 CPU와 GPU 간의 데이터 통신을 위해 당업계에 알려진 임의의 기술을 사용하여 구현될 수 있다. 예를 들어, 그래픽 버스(314)는 주변 구성 요소 상호 연결 익스프레스(Peripheral Component Interconnect Express)("PCI Express" 또는 "PCIe") 표준 또는 유사한 기술을 사용하여 구현될 수 있다.
컴퓨터(300)는 메모리 버스(316)를 통해 고속 브리지(310)에 접속된 주기억 장치(315)를 포함한다. 본 명세서에서 "메인 메모리(main memory)" 또는 간단히 "메모리"라고 부를 수 있는 주기억 장치(315)는 CPU(311)에 의해 사용하기 위한 컴퓨터 프로그램 명령들, 데이터 또는 둘 모두를 포함한다. 주기억 장치(315)는 랜덤 액세스 메모리("RAM")를 포함할 수 있다. RAM은 전원(power)이 제거될 때 데이터가 손실되는 경우 "휘발성"이고, 전원이 공급되지 않은 상태에서 데이터가 유지되는 경우 "비휘발성"이다. 일반적으로, 휘발성 RAM은 컴퓨터(300)가 "깨어" 있을 때 프로그램을 실행하고 컴퓨터(300)가 일시적으로 "수면" 상태일 때 사용되며, 비휘발성 RAM("NVRAM")은 컴퓨터(300)가 "동면" 상태일 때 사용되며; 그러나 실시예들은 다를 수 있다. 휘발성 RAM은 예를 들어 동적(dynamic)("DRAM"), 동기식(synchronous)("SDRAM") 및 이중 데이터 레이트(double-data rate)("DDR SDRAM")일 수 있다. 비휘발성 RAM은 예를 들어 솔리드 스테이트 플래시 메모리(solid-state flash memory)일 수 있다. RAM은 물리적으로 하나 이상의 듀얼 인라인 메모리 모듈(dual in-line memory module)("DIMM") 또는 당업계에 알려진 다른 유사한 기술로 제공될 수 있다.
메모리 버스(316)는 CPU와 주기억 장치 사이의 데이터 통신을 위해 당업계에 알려진 모든 기술을 사용하여 구현될 수 있다. 메모리 버스(316)는 기억 장치 주소를 전기적으로 지시하기 위한 주소 버스, 프로그램 명령들 및 데이터를 주기억 장치(315)로 송수신하기 위한 데이터 버스를 포함할 수 있다. 예를 들어 데이터가 한 번에 64비트(8바이트)씩 저장 및 검색되는 경우 데이터 버스의 너비는 64비트이다. 이 예를 계속하면, 주소 버스의 폭이 32비트이면 232개의 메모리 주소에 액세스할 수 있으므로 컴퓨터(300)는 최대 8 * 232 = 32GB의 주기억 장치(315)를 사용할 수 있다. 이 예에서, 메모리 버스(316)는 64 + 32 = 96비트의 전체 너비를 가질 것이다. 컴퓨터(300)는 또한 메모리 버스(316)로부터 수신된 전기 신호들을 주기억 장치(315)의 물리적 핀(physical pin)들에 의해 예상되는 전기 신호들로 변환하는 메모리 컨트롤러 회로(memory controller circuit)(미도시)를 포함할 수 있으며, 그 역도 마찬가지이다.
컴퓨터 메모리는 메모리 응답 시간과 메모리 크기 간의 트레이드오프에 기초하여 계층적으로 구성될 수 있으므로 특정한 물리적 위치들에 있는 메모리의 유형들에 대한 설명들 및 참조들은 단지 설명을 위한 것이다. 따라서, 일부 실시예들(예를 들어, 임베디드 시스템들)는 단일 집적 회로로서 CPU(311), 그래픽 처리 장치(313), 주기억 장치(315) 및 고속 브리지(310) 또는 이들의 모든 조합을 제공한다. 그러한 실시예에서, 버스들(312, 314, 316)은 동일한 집적 회로의 일부를 형성할 수 있고 물리적으로 분리될 필요는 없다. 컴퓨터(300)에 대한 다른 설계들은 버스들(312, 314, 316) 중 하나 이상에 대한 필요성을 제거하면서 상이한 구성들로 CPU(311), 그래픽 처리 장치(313) 및 주기억 장치(315)의 펑션들을 구현할 수 있다.
CPU(311), GPU(313) 및 주기억 장치(315)에 접속된 고속 브리지(310)의 묘사는 단지 예시일 뿐이며, 다른 구성요소들이 고속 브리지(310)와 통신하기 위해 접속될 수 있다. 예를 들어, 네트워크 인터페이스 컨트롤러("NIC" 또는 "네트워크 어댑터")는 데이터 채널을 사용하여 데이터를 송수신하기 위해 고속 브리지(310)에 접속될 수 있다. NIC는 데이터 채널과 송수신할 데이터를 네트워크 데이터 버퍼에 저장할 수 있다.
고속 브리지(310)는 내부 데이터 버스(330)를 사용하여 저속 브리지(320)와 데이터 통신을 위해 접속된다. 상이한 속도들로 데이터를 송수신하기 위해 제어 회로(미도시)가 필요할 수 있다. 내부 데이터 버스(330)는 Intel 다이렉트 미디어 인터페이스(Direct Media Interface)(DMI) 또는 유사한 기술을 사용하여 구현될 수 있다.
컴퓨터(300)는 기억 장치 버스(322)를 통해 저속 브리지(320)에 접속된 보조 기억 장치(secondary storage)(321)를 포함한다. 보조 기억 장치(321)는 본 명세서에서 "보조 메모리(auxiliary memory)", "보조 기억 장치(auxiliary storage)" 또는 "외부 메모리(external memory)"로 불릴 수 있으며, 비교적 저속으로 비교적 긴 지속 시간(duration) 동안 액세스하기 위한 프로그램 명령들 및 데이터를 저장한다. 그러한 지속 시간은 컴퓨터(300)로부터의 전원의 제거를 포함할 수 있기 때문에, 보조 기억 장치(321)는 비휘발성 메모리(랜덤 액세스 가능하거나 액세스 불가능할 수 있음)를 포함할 수 있다.
비휘발성 메모리는 예를 들어 플래시 드라이브 또는 솔리드 스테이트 드라이브와 같이 움직이는 부분들이 없는 솔리드 스테이트 메모리를 포함할 수 있다. 대안적으로, 비휘발성 메모리는 데이터를 저장하기 위한 움직이는 디스크 또는 테이프 및 데이터를 읽기(그리고 아마도 쓰기)하기 위한 장치를 포함할 수 있다. 데이터는 광학적으로, 예를 들어 컴팩트 디스크(compact disc)("CD"), 디지털 비디오 디스크("DVD") 또는 블루레이 디스크("BD")에 저장되거나 자기적으로, 예를 들어 하드 디스크 드라이브("HDD") 또는 플로피 디스크의 디스크 또는 디지털 오디오 테이프(digital audio tape)("DAT")에 저장될 수 있다(및 재기록될 수 있음). 비휘발성 메모리는 예를 들어 읽기 전용("ROM") WORM(Write-once read-many), 프로그래밍 가능("PROM"), 소거 가능("EPROM") 또는 전기적으로 소거 가능("EEPROM")일 수 있다.
기억 장치 버스(322)는 CPU와 보조 기억 장치 사이의 데이터 통신을 위해 당업계에 알려진 임의의 기술을 사용하여 구현될 수 있으며, 저속 브리지(320)로부터의 전기 신호들을 보조 기억 장치(321) 상의 물리적 핀들에 의해 예상되는 포맷(format)으로, 또는 그 반대로 적응시키기 위한 호스트 어댑터(host adaptor)(미도시)를 포함할 수 있다. 예를 들어, 기억 장치 버스(322)는 범용 직렬 버스(Universal Serial Bus)("USB") 표준; 직렬 AT 연결(Serial AT Attachment)("SATA") 표준; 통합 드라이브 장치(Integrated Drive Electronics)("IDE"),향상된 IDE(Enhanced IDE)("EIDE"), ATA 패킷 인터페이스(ATA Packet Interface)("ATAPI") 또는 Ultra ATA와 같은 병렬 AT 연결(Parallel AT Attachment)("PATA") 표준; 소형 컴퓨터 시스템 인터페이스(Small Computer System Interface)("SCSI") 표준 또는 유사한 기술을 사용할 수 있다.
컴퓨터(300)는 또한 각각의 하나 이상의 확장 버스(expansion bus)(324)를 통해 저속 브리지(320)에 접속된 하나 이상의 확장 장치 어댑터(expansion device adapter)(323)를 포함한다. 각 확장 장치 어댑터(323)는 컴퓨터(300)가 추가적인 기능(functionality)을 제공하는 확장 장치(미도시)와 통신할 수 있도록 한다. 이러한 추가적인 기능은 별개의 이동식 확장 카드(removable expansion card)(예: 추가적인 그래픽 카드, 네트워크 카드, 호스트 어댑터 또는 특수 처리 카드(specialized processing card))에 제공될 수 있다.
각각의 확장 버스(324)는 CPU와 확장 장치 어댑터 사이의 데이터 통신을 위해 당업계에 알려진 모든 기술을 사용하여 구현될 수 있다. 예를 들어, 확장 버스(324)는 PCI(Peripheral Component Interconnect) 표준, 이더넷 표준과 같은 데이터 네트워킹 표준 또는 유사한 기술을 사용하여 전기 신호들을 송수신할 수 있다.
컴퓨터(300)는 기본 입력/출력 시스템("BIOS")(325) 및 버스(327)를 통해 저속 브리지(320)에 접속된 슈퍼 I/O 회로(326)를 포함한다. BIOS(325)는 전원-온 프로세스(power-on process) 동안 컴퓨터(300)의 하드웨어를 초기화하기 위해 사용되는 비휘발성 메모리이다. 슈퍼 I/O 회로(326)는 직렬 마우스 및 키보드와 같은 저속 입력 및 출력 장치들(328)을 위한 입력 및 출력("I/O") 인터페이스를 결합(combine)하는 집적 회로이다. 일부 실시예들에서, BIOS 기능은 슈퍼 I/O 회로(326)에 직접 포함되어 별개의 BIOS(325)에 대한 필요성을 제거한다.
버스(327)는 CPU, BIOS(존재하는 경우) 및 슈퍼 I/O 회로 간의 데이터 통신을 위해 당업계에 알려진 모든 기술을 사용하여 구현될 수 있다. 예를 들어, 버스(327)는 LPC(Low Pin Count) 버스, ISA(Industry Standard Architecture) 버스, 또는 유사한 기술을 사용하여 구현될 수 있다. 슈퍼 I/O 회로(326)는 하나 이상의 버스(329)를 통해 I/O 장치(328)에 접속된다. 버스(329)는 컴퓨터(300)에 접속된 I/O 장치(328)의 유형에 따라 직렬 버스들, 병렬 버스들, 당업계에 알려진 다른 버스들 또는 이들의 조합일 수 있다.
본 명세서에서 "일 실시예" 또는 "실시예"에 대한 언급은 실시예와 관련하여 설명된 특정 특징, 구조 또는 특성이 청구 대상의 적어도 하나의 실시예에 포함될 수 있음을 의미한다. 명세서의 다양한 위치에서 "일 실시예에서"라는 문구의 출현은 반드시 모두 동일한 실시예를 지칭하는 것은 아니며, 별개의 실시예 또는 대체 실시예가 반드시 다른 실시예와 상호 배타적인 것도 아니다. "구현"이라는 용어에도 동일하게 적용된다.
본 출원에서 사용된 바와 같이, "예시적인"이라는 단어는 본 명세서에서 예시, 실례 또는 예시로서 제공되는 것을 의미하는 것으로 사용된다. 본 명세서에서 "예시적인" 것으로 기술된 모든 양태 또는 설계는 반드시 다른 양태 또는 설계보다 바람직하거나 유리한 것으로 해석되지 않는다. 오히려 예시라는 단어를 사용하는 것은 구체적인 방식으로 개념을 제시하기 위한 것이다.
또한, "또는"이라는 용어는 배타적인 "또는"이 아니라 포괄적인 "또는"을 의미하도록 의도된다. 즉, 달리 명시되지 않았거나 문맥에서 명확하지 않은 한 "X는 A 또는 B를 사용한다"는 자연스러운 포괄적 순열을 의미한다. 즉, X가 A를 이용한다면; X는 B를 이용하고; 또는 X가 A와 B를 모두 사용하는 경우 "X는 A 또는 B를 사용한다"는 앞의 경우 중 하나에서 충족된다. 또한, 본 출원 및 첨부된 청구범위에 사용된 관사 "a" 및 "an"은 일반적으로 달리 명시되지 않는 한 또는 문맥상 단수형을 가리키는 것으로 명확하지 않는 한 "하나 이상"을 의미하는 것으로 해석되어야 한다.
또한, "시스템", "구성 요소", "모듈", "인터페이스", "모델" 등의 용어들은 일반적으로 하드웨어, 하드웨어와 소프트웨어의 조합, 소프트웨어 또는 실행 중인 소프트웨어와 같은 컴퓨터 관련 개체를 나타낸다. 예를 들어, 구성요소는 프로세서, 프로세서, 개체, 실행 파일, 실행 스레드, 프로그램 및/또는 컴퓨터에서 실행되는 프로세스일 수 있지만 이에 제한되지 않다. 예를 들어, 컨트롤러에서 실행되는 응용 분야와 컨트롤러 모두 구성요소가 될 수 있다. 하나 이상의 구성요소는 프로세스 및/또는 실행 스레드 내에 상주할 수 있으며 구성요소는 한 컴퓨터에 로컬화 및/또는 둘 이상의 컴퓨터 간에 배포될 수 있다.
본 명세서에 기술된 주제가 사용자 상호작용 구성요소를 가지는 컴퓨팅 응용 분야에 대한 하나 이상의 컴퓨팅 응용 분야 특징/동작을 처리하기 위한 예시적인 구현의 맥락에서 설명될 수 있지만 주제는 이들 특정 실시예로 제한되지 않는다. 오히려, 본 명세서에 설명된 기술은 모든 적합한 유형의 사용자 상호작용 구성요소 실행 관리 방법, 시스템, 플랫폼 및/또는 장치에 적용될 수 있다.
일부 실시예는 이러한 방법을 실행하기 위한 방법 및 장치의 형태로 구현될 수 있다. 설명된 실시예들은 또한 자기 기록 매체, 광학 기록 매체, 솔리드 스테이트 메모리, 플로피 디스켓, CD-ROM, 하드 드라이브 또는 모든 다른 기계 판독 가능 저장 매체와 같은 유형 매체에 구현된 프로그램 코드의 형태로 구현될 수 있고, 프로그램 코드가 컴퓨터와 같은 기계에 로드되고 실행될 때 기계는 청구된 발명을 실시하기 위한 장치가 된다. 기술된 실시예는 또한 예를 들어, 저장 매체에 저장되거나, 기계에 로드 및/또는 실행되거나, 전기 배선이나 케이블과 같은 일부 전송 매체 또는 캐리어를 통해 전송되거나, 광섬유를 통해 또는 전자기 복사를 통해 전송되는 경우, 프로그램 코드의 형태로 구현될 수 있고, 프로그램 코드가 컴퓨터와 같은 기계에 로드되고 실행될 때 기계는 청구된 발명을 실시하기 위한 장치가 된다. 범용 프로세서에서 구현될 때 프로그램 코드 세그먼트는 프로세서와 결합하여 특정 논리 회로와 유사하게 동작하는 고유한 장치를 제공한다. 기술된 실시예는 또한 청구된 발명의 방법 및/또는 장치를 사용하여 생성된, 매체를 통해 전기적으로 또는 광학적으로 전송된 비트스트림 또는 신호 값의 다른 시퀀스, 자기 기록 매체에 저장된 자기장 변동 등의 형태로 구현될 수 있다.
본 명세서에 설명된 예시적인 방법의 단계는 반드시 설명된 순서대로 수행되어야 하는 것은 아니며, 이러한 방법의 단계 순서는 단지 예시적인 것으로 이해되어야 한다. 마찬가지로, 이러한 방법에는 추가적인 단계들이 포함될 수 있으며, 다양한 실시예와 일치하는 방법에서는 특정 단계가 생략되거나 결합될 수 있다.
청구된 발명의 본질을 설명하기 위해 기술되고 예시된 일부들의 세부사항, 물질 및 배치의 다양한 변경은 다음 청구범위의 범위를 벗어나지 않고 당업자에 의해 이루어질 수 있다는 것이 이해될 것이다.
Claims (16)
- 복수의 데이터 블록들을 안전하게 통신하는 방법에 있어서,
제1 데이터 채널을 사용하여, 상기 복수의 데이터 블록들의 제1 인코딩의 암호화를 포함하는 제1 메시지를 수신하는 단계;
제2 데이터 채널을 사용하여, 상기 복수의 데이터 블록들의 암호화되지 않은 제2 인코딩을 포함하는 제2 메시지를 수신하는 단계;
상기 복수의 데이터 블록들의 암호화되지 않은 상기 제1 인코딩을 획득하기 위해 상기 제1 메시지의 상기 암호화를 암호해제하는 단계; 및
상기 복수의 데이터 블록들의 상기 암호화되지 않은 제1 인코딩 및 상기 암호화되지 않은 제2 인코딩을 사용하여, 상기 복수의 메시지들에서 각각의 메시지를 복구하는 단계
를 포함하는,
방법. - 제1항에 있어서,
상기 제1 데이터 채널 및 상기 제2 데이터 채널은,
상이한 전송 매체를 포함하는,
방법. - 제1항에 있어서,
상기 제1 데이터 채널 및 상기 제2 데이터 채널은,
단일 전송 매체의 상이한 이용 시간들을 포함하는,
방법. - 제1항에 있어서,
상기 암호화는,
공개-키 암호화를 포함하는,
방법. - 제1항에 있어서,
상기 암호화는,
포스트-양자 암호화를 포함하는,
방법. - 제1항에 있어서,
복구하는 단계는,
선형 네트워크 코드에 따라 상기 암호화되지 않은 제1 인코딩 및 상기 암호화되지 않은 제2 인코딩을 디코딩하는 단계
를 포함하는,
방법. - 제6항에 있어서,
디코딩하는 단계는,
개별 보안 코드에 따라 디코딩하는 단계
를 포함하는,
방법. - 제1항에 있어서,
상기 제1 메시지를 수신하는 단계 또는 상기 제2 메시지를 수신하는 단계는,
하나 이상의 오류를 정정하는 단계
를 포함하는,
방법. - 복수의 데이터 블록들을 안전하게 통신하기 위한 장치에 있어서,
컴퓨팅 프로세서; 및
컴퓨터 프로그램 코드를 저장하는 비휘발성 메모리
를 포함하고,
상기 컴퓨터 프로그램 코드는,
상기 컴퓨팅 프로세서에 의해 실행되는 경우,
제1 데이터 채널을 사용하여, 상기 복수의 데이터 블록들의 제1 인코딩의 암호화를 포함하는 제1 메시지를 수신하는 프로세스;
제2 데이터 채널을 사용하여, 상기 복수의 데이터 블록들의 암호화되지 않은 제2 인코딩을 포함하는 제2 메시지를 수신하는 프로세스;
상기 복수의 데이터 블록들의 암호화되지 않은 상기 제1 인코딩을 획득하기 위해 상기 제1 메시지의 상기 암호화를 암호해제하는 프로세스; 및
상기 복수의 데이터 블록들의 상기 암호화되지 않은 제1 인코딩 및 상기 암호화되지 않은 제2 인코딩을 사용하여, 상기 복수의 메시지들에서 각각의 메시지를 복구하는 프로세스
의 프로세스들을 수행하는,
장치. - 제9항에 있어서,
상기 제1 데이터 채널 및 상기 제2 데이터 채널은,
상이한 전송 매체를 포함하는,
장치. - 제9항에 있어서,
상기 제1 데이터 채널 및 상기 제2 데이터 채널은,
단일 전송 매체의 상이한 이용 시간들을 포함하는,
장치. - 제9항에 있어서,
상기 암호화는,
공개-키 암호화를 포함하는,
장치. - 제9항에 있어서,
상기 암호화는,
포스트-양자 암호화를 포함하는,
장치. - 제9항에 있어서,
복구하는 프로세스는,
선형 네트워크 코드에 따라 상기 암호화되지 않은 제1 인코딩 및 상기 암호화되지 않은 제2 인코딩을 디코딩하는 프로세스
를 포함하는,
장치. - 제14항에 있어서,
디코딩하는 프로세스는,
개별 보안 코드에 따라 디코딩하는 프로세스
를 포함하는,
장치. - 제9항에 있어서,
상기 제1 메시지를 수신하는 프로세스 또는 상기 제2 메시지를 수신하는 프로세스는,
하나 이상의 오류를 정정하는 프로세스
을 포함하는,
장치.
Applications Claiming Priority (3)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
US202063072430P | 2020-08-31 | 2020-08-31 | |
US63/072,430 | 2020-08-31 | ||
PCT/US2021/048209 WO2022047295A1 (en) | 2020-08-31 | 2021-08-30 | Network coding-based secure communication |
Publications (1)
Publication Number | Publication Date |
---|---|
KR20230058685A true KR20230058685A (ko) | 2023-05-03 |
Family
ID=78032508
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
KR1020237010844A KR20230058685A (ko) | 2020-08-31 | 2021-08-30 | 네트워크 코딩 기반 보안 통신 |
Country Status (6)
Country | Link |
---|---|
US (1) | US20220069987A1 (ko) |
EP (1) | EP4205345A1 (ko) |
JP (1) | JP2023539208A (ko) |
KR (1) | KR20230058685A (ko) |
CN (1) | CN116018778A (ko) |
WO (1) | WO2022047295A1 (ko) |
Families Citing this family (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN114465733A (zh) * | 2022-03-11 | 2022-05-10 | 大连大学 | 一种基于改进rsa的安全网络编码方法 |
Family Cites Families (13)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
FR2848747A1 (fr) * | 2002-12-16 | 2004-06-18 | France Telecom | Procede et dispositif multi-antenne de transmission de signaux |
EP1524771B1 (en) * | 2003-05-30 | 2011-01-05 | Sony Corporation | Decoding method, decoding device, program, recording/reproduction device and method, and reproduction device and method |
US20050047516A1 (en) * | 2003-09-01 | 2005-03-03 | Grolmusz Vince I. | A method for dense and secure transmission of signals and information using a small number of channels |
JP2006121524A (ja) * | 2004-10-22 | 2006-05-11 | Toshiba Solutions Corp | 公開鍵暗号装置 |
US8271687B2 (en) * | 2007-06-19 | 2012-09-18 | Cisco Technology, Inc. | Streaming network coding |
US8458556B2 (en) * | 2009-10-09 | 2013-06-04 | Stmicroelectronics, Sa | Low complexity finite precision decoders and apparatus for LDPC codes |
JP2016513825A (ja) * | 2013-03-14 | 2016-05-16 | マサチューセッツ インスティテュート オブ テクノロジー | 安全通信方法および装置 |
FR3015815A1 (fr) * | 2013-12-20 | 2015-06-26 | Orange | Procede de transmission d'un signal numerique pour un systeme marc a plusieurs relais half-duplex dynamiques,produit programme et dispositif relais correspondants |
EP3043508B1 (en) * | 2015-01-09 | 2019-06-26 | Institut Mines Telecom | Hybrid classical quantum cryptography |
US11101893B2 (en) * | 2015-06-30 | 2021-08-24 | Massachusetts Institute Of Technology | Optical cryptography for high speed coherent systems |
CN110870251B (zh) * | 2017-05-12 | 2023-04-04 | 康宁股份有限公司 | 用于使用纠缠光子在量子密钥分发系统中空脉冲减轻的方法和系统 |
US10567354B2 (en) * | 2017-07-15 | 2020-02-18 | Fujitsu Limited | Enhanced communication security |
US11177955B2 (en) * | 2019-01-23 | 2021-11-16 | Apple Inc. | Device-to-device messaging protocol |
-
2021
- 2021-08-30 KR KR1020237010844A patent/KR20230058685A/ko unknown
- 2021-08-30 EP EP21783630.3A patent/EP4205345A1/en active Pending
- 2021-08-30 US US17/460,991 patent/US20220069987A1/en active Pending
- 2021-08-30 CN CN202180052931.4A patent/CN116018778A/zh active Pending
- 2021-08-30 JP JP2023513184A patent/JP2023539208A/ja active Pending
- 2021-08-30 WO PCT/US2021/048209 patent/WO2022047295A1/en unknown
Also Published As
Publication number | Publication date |
---|---|
CN116018778A (zh) | 2023-04-25 |
JP2023539208A (ja) | 2023-09-13 |
WO2022047295A1 (en) | 2022-03-03 |
US20220069987A1 (en) | 2022-03-03 |
EP4205345A1 (en) | 2023-07-05 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
US20230224148A1 (en) | System and method for quantum-safe authentication, encryption and decryption of information | |
CN111034117B (zh) | 单节点多方加密 | |
US20120269340A1 (en) | Hierarchical encryption/decryption device and method thereof | |
CN111448779A (zh) | 用于混合秘密共享的系统、设备和方法 | |
CN112715016B (zh) | 密钥封装协议 | |
US10163370B2 (en) | Decoding apparatus, decoding capability providing apparatus, method thereof and program | |
KR20230058685A (ko) | 네트워크 코딩 기반 보안 통신 | |
US20240063999A1 (en) | Multi-party cryptographic systems and methods | |
US10848312B2 (en) | Zero-knowledge architecture between multiple systems | |
KR20180007974A (ko) | 데이터의 암호화, 복호화 방법 및 이를 이용하는 장치 | |
US10382199B2 (en) | Keyword to set minimum key strength | |
KR20220085811A (ko) | 일회용 패스워드 생성 | |
US11797717B2 (en) | Bus encryption for non-volatile memories | |
US10333703B2 (en) | Key exchange process | |
WO2022239129A1 (ja) | 鍵交換システム、機器、鍵交換方法、及びプログラム | |
US11372984B2 (en) | Key-compressible encryption | |
WO2019220900A1 (ja) | 暗号化システム、暗号化装置、復号装置、暗号化方法、復号方法、及びプログラム | |
TW201543862A (zh) | 密碼裝置、記憶系統、解碼裝置、密碼方法、解碼方法、密碼程式產品及解碼程式產品 | |
US11909893B2 (en) | Composite encryption across cryptographic algorithms | |
US20220278826A1 (en) | Encrypted communication using counter mode encryption and secret keys | |
WO2023218575A1 (ja) | 鍵交換システム、拠点装置、qkd装置、方法、及びプログラム | |
TWI804179B (zh) | 量子安全金鑰交換方案 | |
JP7310938B2 (ja) | 暗号システム、暗号化方法、復号方法及びプログラム | |
US20230299949A1 (en) | Key exchange protocol | |
Shoushtari | Securing Wireless Communication via Information-Theoretic Approaches: Innovative Schemes and Code Design Techniques |