KR20150129328A - 보안 통신을 위한 방법 및 장치 - Google Patents
보안 통신을 위한 방법 및 장치 Download PDFInfo
- Publication number
- KR20150129328A KR20150129328A KR1020157029058A KR20157029058A KR20150129328A KR 20150129328 A KR20150129328 A KR 20150129328A KR 1020157029058 A KR1020157029058 A KR 1020157029058A KR 20157029058 A KR20157029058 A KR 20157029058A KR 20150129328 A KR20150129328 A KR 20150129328A
- Authority
- KR
- South Korea
- Prior art keywords
- data file
- encoded
- key
- secure communication
- encrypted
- 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
- H04L9/06—Cryptographic mechanisms or cryptographic arrangements for secret or secure communications; Network security protocols the encryption apparatus using shift registers or memories for block-wise or stream coding, e.g. DES systems or RC4; Hash functions; Pseudorandom sequence generators
- H04L9/065—Encryption by serially and continuously modifying data stream elements, e.g. stream cipher systems, RC4, SEAL or A5/3
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F21/00—Security arrangements for protecting computers, components thereof, programs or data against unauthorised activity
- G06F21/60—Protecting data
- G06F21/62—Protecting access to data via a platform, e.g. using keys or access control rules
- G06F21/6209—Protecting access to data via a platform, e.g. using keys or access control rules to a single file or object, e.g. in a secure envelope, encrypted and accessed using a key, or with access control rules appended to the object itself
-
- 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/06—Cryptographic mechanisms or cryptographic arrangements for secret or secure communications; Network security protocols the encryption apparatus using shift registers or memories for block-wise or stream coding, e.g. DES systems or RC4; Hash functions; Pseudorandom sequence generators
-
- H—ELECTRICITY
- H03—ELECTRONIC CIRCUITRY
- H03M—CODING; DECODING; CODE CONVERSION IN GENERAL
- H03M13/00—Coding, decoding or code conversion, for error detection or error correction; Coding theory basic assumptions; Coding bounds; Error probability evaluation methods; Channel models; Simulation or testing of codes
- H03M13/03—Error detection or forward error correction by redundancy in data representation, i.e. code words containing more digits than the source words
- H03M13/05—Error detection or forward error correction by redundancy in data representation, i.e. code words containing more digits than the source words using block codes, i.e. a predetermined number of check bits joined to a predetermined number of information bits
- H03M13/11—Error detection or forward error correction by redundancy in data representation, i.e. code words containing more digits than the source words using block codes, i.e. a predetermined number of check bits joined to a predetermined number of information bits using multiple parity bits
- H03M13/1102—Codes on graphs and decoding on graphs, e.g. low-density parity check [LDPC] codes
-
- H—ELECTRICITY
- H03—ELECTRONIC CIRCUITRY
- H03M—CODING; DECODING; CODE CONVERSION IN GENERAL
- H03M13/00—Coding, decoding or code conversion, for error detection or error correction; Coding theory basic assumptions; Coding bounds; Error probability evaluation methods; Channel models; Simulation or testing of codes
- H03M13/03—Error detection or forward error correction by redundancy in data representation, i.e. code words containing more digits than the source words
- H03M13/05—Error detection or forward error correction by redundancy in data representation, i.e. code words containing more digits than the source words using block codes, i.e. a predetermined number of check bits joined to a predetermined number of information bits
- H03M13/13—Linear codes
- H03M13/15—Cyclic codes, i.e. cyclic shifts of codewords produce other codewords, e.g. codes defined by a generator polynomial, Bose-Chaudhuri-Hocquenghem [BCH] codes
- H03M13/151—Cyclic codes, i.e. cyclic shifts of codewords produce other codewords, e.g. codes defined by a generator polynomial, Bose-Chaudhuri-Hocquenghem [BCH] codes using error location or error correction polynomials
- H03M13/1515—Reed-Solomon codes
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L63/00—Network architectures or network communication protocols for network security
- H04L63/04—Network architectures or network communication protocols for network security for providing a confidential data exchange among entities communicating through data packet networks
- H04L63/0428—Network architectures or network communication protocols for network security for providing a confidential data exchange among entities communicating through data packet networks wherein the data content is protected, e.g. by encrypting or encapsulating the payload
- H04L63/0435—Network architectures or network communication protocols for network security for providing a confidential data exchange among entities communicating through data packet networks wherein the data content is protected, e.g. by encrypting or encapsulating the payload wherein the sending and receiving network entities apply symmetric encryption, i.e. same key used for encryption and decryption
-
- 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/30—Compression, e.g. Merkle-Damgard construction
-
- 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
Landscapes
- Engineering & Computer Science (AREA)
- Computer Security & Cryptography (AREA)
- Computer Networks & Wireless Communication (AREA)
- Signal Processing (AREA)
- Theoretical Computer Science (AREA)
- Computer Hardware Design (AREA)
- General Engineering & Computer Science (AREA)
- Physics & Mathematics (AREA)
- General Physics & Mathematics (AREA)
- Bioethics (AREA)
- Software Systems (AREA)
- General Health & Medical Sciences (AREA)
- Health & Medical Sciences (AREA)
- Computing Systems (AREA)
- Storage Device Security (AREA)
- Mobile Radio Communication Systems (AREA)
- Mathematical Physics (AREA)
- Probability & Statistics with Applications (AREA)
- Algebra (AREA)
- Pure & Applied Mathematics (AREA)
Abstract
통신 네트워크에서 보안 통신을 가능하게 하기 위한 리스트 소스 코드를 사용하는 시크러시 스킴 시스템 및 관련된 방법이 여기서 제공된다. 추가적으로, 상기 시크러시 스킴 시스템 및 관련된 방법을 특성화하고 최적화하기 위한 개선된 정보-이론적 메트릭스(metrics)가 여기서 제공된다. 보안 통신의 한가지 방법은 제1 위치에서 데이터 파일을 수신하는 단계, 인코딩된 파일을 생성하기 위하여 리스트 소스 코드를 사용하여 상기 데이터 파일을 인코딩하는 단계, 암호화된 파일을 생성하기 위하여 키를 사용하여 상기 데이터 파일의 선택 부분을 암호화하는 단계, 및 상기 인코딩된 파일 및 상기 암호화된 파일을 목적지의 엔드 유저에게 전송하는 단계를 포함하고, 상기 암호화된 파일이 상기 엔드 유저에 의해 수신되고 해독될 때까지 상기 인코딩된 파일은 상기 목적지에서 디코딩될 수 없다.
Description
여기서 설명된 발명의 주제는 일반적으로 통신 시스템과 관련되며, 더욱 구체적으로 통신 시스템에서 보안 통신을 가능하게 하기 위한 시스템 및 관련 기술과 관련된다.
해당 기술 분야에서 알려진 대로, 입증되지 않은 난제에 대한 가정 (hardness assumptions)에 기초한 계산적으로 안전한 암호체계(computationally secure cryptosystems)는 통신 시스템에서 널리 채택되고, 이론적, 실용적인 관점에서 번창한 암호의 스킴에 이르렀다. 그와 같은 암호의 스킴은 온라인 뱅킹 거래에서부터 디지털 저작권 관리에 이르기까지 다양한 응용 분야에서 매일 수백만 번 사용된다. 예를 들어, 큰 스케일의 고속의 데이터 통신의 요구의 증가는 통신 시스템이 효율적이고 신뢰할 만하며 안전한 데이터 트랜스미션을 달성하는 것을 중요하게 만들었다.
*알려진 대로, 암호체계, 특히 시크러시(secrecy)를 보호하기 위한 정보-이론적인 접근법은 전통적으로 무조건적으로 안전한 시스템, 즉 주어진 메시지를 가로채거나 디코딩할 수 있는 무제한의 계산적인 리소스를 가지는 도청자로부터 메시지의 모든 비트를 숨기는 스킴을 가지는 시스템과 관련된다. 그러나, 노이즈 없는 설정에서 무조건적인 시크러시 (즉, 완벽한 시크러시)는 오직 전송하는 부분과 수신하는 부분이 적어도 메시지 그 자체와 같은 크기의 엔트로피를 가지는 랜덤 키를 공유하는 경우에만 획득될 수 있다 (예를 들어 다음을 참조, “Communication Theory of Secrecy Systems,” by C.E. Shannon, Bell Systems Technical Journal, vol. 28, no. 4, pp. 656-715, 1949). 다른 경우에, 무조건적인 시크러시는 전송하는 부분이 도청자보다 잡음이 덜한 채널 (예를 들어, 도청 채널(wiretap channel))을 가지는 경우와 같이 주어진 스킴의 특별한 특성을 이용함으로써 달성될 수 있다는 것 역시 알려져 있다 (예를 들어 다음을 참조, “Information Theoretic Security,” by Liang et al., Found. Trends Commun. Inf. Theory, vol. 5, pp. 355-580, Apr. 2009).
안전한 네트워크 코딩 스킴 및 도청 모델을 포함하여, 전통적인 시크러시 스킴은 도청자가 주어진 데이터 파일을 가로채거나 디코딩하기 위해 필요한 정보에 불완전하게 접근할 수 있다고 가정한다. 예를 들어, L. Ozarow 와 A. Wyner에 의해 도입된 도청 채널 II은 도청자가 n 전송되는 심볼 중에서 집합 k를 관찰한다고 가정하는 도청 모델이다 (예를 들어 다음을 참조, “Wiretap Channel II,” by Ozarow et al, Advances in Cryptography,1985, pp. 33-50). 그러한 도청 모델은 완벽한 시크러시를 달성하는 것으로 나타났지만, 현실적인 고려사항은 그 성공을 제한한다. 도청 채널 II의 개선된 버전은 후에 N. Cai 와 R. Yeung에 의해 개발되었고, 도청자가 네트워크에서 엣지(edges)의 특정 숫자를 관찰할 수 있는 경우 정보-이론적으로 안전한 선형 네트워크 코드를 디자인하는 것과 관련된 문제를 해결하였다 (예를 들어 다음을 참조, “Secure Network Coding,” by Cai et al., IEEE International Symposium on Information Theory, 2002).
유사하고 더욱 실용적인 접근법이 후에 Lima et al.에 의해 IEEE International Symposium on Information Theory, Jun. 2007, pp. 546-550의 “Random Linear Network Coding: A Free Cipher?”에 기술되었다. 그러나, 예를 들어 인터넷 및 근거리와 장거리 무선 통신(near and far-field communications) 모두에서 스트리밍되는 데이터의 양이 증가함에 따라 통신 시스템과 네트워크에서 보안 통신을 제공할 때 사용하기 위한 새롭고 더욱 효율적인 방법 및 시스템에 대한 요구가 남아있다. 추가적으로, 개선된 정보-이론적 메트릭스(information-theoretic metrics)를 통해 그와 같은 시크러시 스킴을 특성화하고 최적화하기 위한 요구가 남아있다.
본 발명은 제1 위치에서 데이터 파일을 수신하는 단계, 데이터의 심볼들 사이의 상관관계를 줄이기 위하여 데이터의 심볼들에 균일화(uniformization)를 적용하는 단계, 인코딩된(encoded) 데이터 파일을 생성하기 위하여 리스트 소스 코드(list source code)를 사용하여 데이터 파일을 인코딩하는 단계, 암호화된(encrypted) 데이터 파일을 생성하기 위하여 키(key)를 사용하여 데이터 파일의 선택 부분(select portion)을 암호화하는 단계 및 인코딩된 데이터 파일과 암호화된 데이터 파일을 목적지의 엔드 유저(end user)에게 전송하는 단계를 포함하고 암호화된 데이터 파일이 수신되고 엔드 유저에 의해 해독될 때까지 인코딩된 데이터 파일은 목적지에서 디코딩될 수 없고, 엔드 유저는 키를 소유함으로써, 통신 시스템과 네트워크에서 보안 통신을 위한 방법을 제공한다.
본 발명은 통신 네트워크에서 보안 통신이 가능하게 하기 위한 시크러시 스킴 시스템(secrecy scheme system) 및 관련된 방법을 제공한다. 추가적으로, 본 발명은 상기 시크러시 스킴 시스템 및 관련된 방법을 특성화하고 최적화하기 위한 개선된 정보-이론적 메트릭스(metrics)를 제공한다.
본 발명의 일 측에 따르면, 보안 통신을 위한 전송 시스템은 제1 위치에서 데이터 파일을 수신하도록 작동할 수 있는 리시버 모듈; 상기 리시버 모듈과 연결되고(coupled), 인코딩된 데이터 파일을 생성하기 위하여 리스트 소스 코드를 사용하여 상기 데이터 파일을 인코딩하도록 작동할 수 있는 인코더; 상기 리시버 모듈 및 인코더 모듈 중 하나 또는 그 이상과 연결되고 암호화된 데이터 파일을 생성하기 위하여 키를 사용하여 상기 데이터 파일의 선택 부분을 암호화하도록 작동할 수 있는 암호화 모듈; 및 상기 인코더 모듈 및 암호화 모듈 중 하나 또는 그 이상과 연결되고 목적지의 엔드 유저에게 상기 인코딩된 데이터 파일 및 상기 암호화된 데이터 파일을 전송하도록 작동할 수 있는 트랜스미터 모듈을 포함하고, 상기 암호화된 데이터 파일이 상기 엔드 유저에 의해 수신되고 해독될 때까지, 상기 인코딩된 데이터 파일은 상기 목적지에서 디코딩될 수 없다.
본 발명의 다른 일 측에 따르면, 보안 통신을 위한 상기 전송 시스템의 상기 인코딩된 데이터 파일은 인코딩되고 암호화되지 않은 데이터 파일이다. 본 발명의 다른 일 측에 따르면, 상기 암호화된 데이터 파일은 인코딩되고 암호화된 데이터 파일이다.
본 발명의 일 측에 따르면, 보안 통신을 위한 수신 시스템은 제1 위치로부터 인코딩된 데이터 파일, 암호화된 데이터 파일 또는 키 중의 하나 또는 그 이상을 목적지에서 수신하도록 작동할 수 있는 리시버 모듈, 상기 리시버 모듈과 연결되고, 해독된 데이터 파일을 생성하기 위하여 키를 사용하여 상기 암호화된 데이터 파일을 해독하도록 작동할 수 있는 해독 모듈, 및 상기 해독 모듈 및 상기 리시버 모듈 중의 하나 또는 그 이상과 연결되고, 출력 데이터 파일을 생성하기 위하여 상기 인코딩된 데이터 파일 및 상기 해독된 데이터 파일 중의 하나 또는 그 이상을 디코딩하도록 작동할 수 있는 디코더 모듈을 포함한다.
본 발명의 다른 일 측에 따르면, 보안 통신을 위한 상기 수신 시스템의 상기 인코딩된 데이터 파일은 암호화되지 않은 데이터 파일이다. 본 발명의 다른 일 측에 따르면, 상기 암호화된 데이터 파일은 인코딩되고 암호화된 데이터 파일이다. 본 발명의 다른 일 측에 따르면, 상기 출력 데이터 파일은 잠재적인 데이터 파일들의 리스트를 포함한다. 본 발명의 다른 일 측에 따르면, 상기 디코더 모듈은 상기 잠재적인 데이터 파일들의 리스트로부터 데이터 파일을 결정하도록 작동할 수 있고, 상기 데이터 파일은 상기 암호화된 데이터 파일과 함께 상기 인코딩된 데이터 파일을 나타낸다.
본 발명의 일 측에 따르면, 보안 통신을 위한 방법은 제1 위치에서 데이터 파일을 수신하는 단계, 인코딩된(encoded) 데이터 파일을 생성하기 위하여 리스트 소스 코드(list source code)를 사용하여 상기 데이터 파일을 인코딩하는 단계, 암호화된(encrypted) 데이터 파일을 생성하기 위하여 키(key)를 사용하여 상기 데이터 파일의 선택 부분(select portion)을 암호화하는 단계 및 상기 인코딩된 데이터 파일과 상기 암호화된 데이터 파일을 목적지의 엔드 유저(end user)에게 전송하는 단계를 포함하고, 상기 암호화된 데이터 파일이 수신되고 상기 엔드 유저에 의해 해독될 때까지 상기 인코딩된 데이터 파일은 목적지에서 디코딩될 수 없고, 상기 엔드 유저는 상기 키를 소유한다. 본 발명의 다른 일 측에 따르면, 상기 암호화된 데이터 파일과 상기 키가 상기 엔드 유저에게 전송되기 전에, 상기 인코딩된 데이터 파일의 큰 부분이 전송된다.
본 발명의 다른 일 측에 따르면, 상기 데이터 파일의 선택 부분을 암호화하는 단계는 상기 인코딩된 데이터 파일의 전송 전, 전송 중, 또는 전송 후에 발생할 수 있다. 본 발명의 다른 일 측에 따르면, 상기 목적지로 상기 인코딩된 데이터 파일의 전송 전, 전송 중, 또는 전송 후에 상기 목적지로 상기 키를 전송하는 단계를 더 포함한다. 본 발명의 다른 일 측에 따르면, 상기 인코딩된 데이터 파일의 전송 중에 상기 키가 훼손되는(compromised) 경우에, 상기 방법은 상기 암호화된 데이터 파일의 상기 전송을 폐지할 필요가 있는 단계를 오직 더 포함한다(include only needing to abort transmission of the encrypted file). 본 발명의 다른 일 측에 따르면, 상기 인코딩된 데이터 파일의 상기 전송이 폐지된 경우에, 상기 방법의 보안(security)은 훼손되지 않는다.
본 발명의 다른 일 측에 따르면, 상기 방법은 보안의 추가적인 계층으로서 근본적인(underlying) 암호화 스킴(scheme)에 적용된다. 본 발명의 다른 일 측에 따르면, 상기 방법은 원하는 수준의 시크러시(secrecy)로 조정될 수 있고, 상기 키의 크기는 상기 원하는 수준의 시크러시에 종속적이고, 상기 키의 상기 크기 및 암호화될 상기 파일의 상기 부분의 상기 크기 중 적어도 하나는 상기 원하는 수준의 시크러시로 조정하기 위하여 사용된다.
본 발명의 일실시예에 의하면, 제1 위치에서 데이터 파일을 수신하는 단계, 데이터의 심볼 사이의 상관관계를 줄이기 위하여 데이터의 심볼에 균일화(uniformization)를 적용하는 단계, 인코딩된(encoded) 데이터 파일을 생성하기 위하여 리스트 소스 코드(list source code)를 사용하여 데이터 파일을 인코딩하는 단계, 암호화된(encrypted) 데이터 파일을 생성하기 위하여 키(key)를 사용하여 데이터 파일의 선택 부분(select portion)을 암호화하는 단계 및 인코딩된 데이터 파일과 암호화된 데이터 파일을 목적지의 엔드 유저(end user)에게 전송하는 단계를 포함하고 암호화된 데이터 파일이 수신되고 엔드 유저에 의해 해독될 때까지 인코딩된 데이터 파일은 목적지에서 디코딩될 수 없고, 엔드 유저는 키를 소유함으로써, 통신 시스템과 네트워크에서 통신의 보안을 향상시킬 수 있다.
본원에 설명된 개념, 시스템, 회로 및 테크닉의 전술한 특징이 다음 도면의 설명으로부터 더욱 완전히 이해될 수 있다.
도 1은 본 발명의 일실시예에 따른 예시적인 인코딩 및 디코딩 시스템의 블록 다이어그램을 나타낸다.
도 2A와 도 2B는 각각 본 발명의 일실시예에 따른 변조부 시스템 및 복조부 시스템을 포함하는 예시적인 시스템의 블록 다이어그램을 나타낸다.
도 3은 본 발명의 일실시예에 따른 예시적인 데이터 파일 (Xn)과 연관된 리스트 소스 코드를 설명하는 다이어그램을 나타낸다.
도 4는 정규화된 리스트와 코드 레이트에 대한 예시적인 레이트 리스트 범위의 그래프를 나타낸다.
도 5는 본 발명의 일실시예에 따르는 안전한 인코딩 및 암호화를 위한 예시적인 프로세스를 설명하는 순서도를 나타낸다.
도 6은 본 발명의 일실시예에 따르는 안전한 디코딩 및 해독을 위한 예시적인 프로세스를 설명하는 순서도를 나타낸다.
도 7은 본 발명의 특징을 구현하기 위하여 사용될 수 있는 예시적인 노드 아키텍쳐의 블록 다이어그램을 나타낸다.
도 1은 본 발명의 일실시예에 따른 예시적인 인코딩 및 디코딩 시스템의 블록 다이어그램을 나타낸다.
도 2A와 도 2B는 각각 본 발명의 일실시예에 따른 변조부 시스템 및 복조부 시스템을 포함하는 예시적인 시스템의 블록 다이어그램을 나타낸다.
도 3은 본 발명의 일실시예에 따른 예시적인 데이터 파일 (Xn)과 연관된 리스트 소스 코드를 설명하는 다이어그램을 나타낸다.
도 4는 정규화된 리스트와 코드 레이트에 대한 예시적인 레이트 리스트 범위의 그래프를 나타낸다.
도 5는 본 발명의 일실시예에 따르는 안전한 인코딩 및 암호화를 위한 예시적인 프로세스를 설명하는 순서도를 나타낸다.
도 6은 본 발명의 일실시예에 따르는 안전한 디코딩 및 해독을 위한 예시적인 프로세스를 설명하는 순서도를 나타낸다.
도 7은 본 발명의 특징을 구현하기 위하여 사용될 수 있는 예시적인 노드 아키텍쳐의 블록 다이어그램을 나타낸다.
본 발명의 특징 및 다른 세부사항은 이제 더욱 구체적으로 설명될 것이다. 본원에서 설명된 특정 실시예들은 본원에서 보호하고자 하는 넓은 개념들의 제한으로서가 아니라 설명의 일환으로서 도시된 것이라는 점이 이해될 것이다. 본 발명의 주용한 특징은 발명의 범위를 벗어나지 않고 다양한 실시예에서 사용될 수 있다. 본 발명의 선호되는 실시예들 및 그것의 장점들은 도 1-7과 관련하여 가장 잘 이해되며, 다양한 도면에서 같은 도면 부호는 같거나 대응하는 부분을 위해 사용된다.
정의
편의를 위해, 상세한 설명 및 예시들에서 사용되는 특정 용어들을 여기에 모았다.
본원에서 "코드(Code)"는 한 조각의 데이터(예를 들어, 문자, 단어, 구문 또는 다른 정보)를, 그 데이터와 같은 타입과 관련될 수도 있고 반드시 같은 타입과 관련된 것이 아닐 수도 있는 다른 형태 또는 표현(representation)으로 변경하기 위한 규칙 또는 규칙의 집합을 포함하는 것으로 정의된다.
본원에서 "데이터 파일(Data file)"은 의미가 부여된 사실, 개념, 인스트럭션 또는 정보의 집합의 표현(representation)을 포함하는 텍스트 또는 그래픽 자료를 포함하는 것으로 정의되고, 표현은 저장, 통신, 해석(interpretation) 또는 인간 또는 자동화된 수단에 의한 처리에 적합한 아날로그, 디지털 또는 어떠한 상징적인 형태일 수 있다.
본원에서 "인코딩(Encoding)"은 읽을 수 있는 데이터를 또 다른 형태로 변환하기 위하여 (예를 들어, 읽을 수 있는 데이터에 리던던시(redundancy)를 추가하거나 읽을 수 있는 데이터를 해독할 수 없는(indecipherable) 데이터로 변경하기 위하여) 읽을 수 있는 데이터(예를 들어, 플레인-텍스트 데이터 파일)에 특정한 코딩 규칙의 집합을 적용하는 프로세스를 포함하는 것으로 정의된다. 인코딩의 프로세스는 인코더에 의해 수행될 수 있다. 인코더는 신뢰성, 에러 수정, 표준화, 속도, 시크러시, 보안, 및/또는 공간 절약을 위하여 데이터를 하나의 형태 또는 코드로부터 다른 형태 또는 코드로 변환한다. 인코더는 장치, 회로, 프로세스, 프로세서, 프로세싱 시스템 또는 다른 시스템으로서 실시될 수 있다. "디코딩(Decoding)"은 "인코딩"의 상호적인(reciprocal) 프로세스이며, "디코더"는 인코더의 상호적인 프로세스를 수행한다. 디코더는 장치, 회로 프로세스, 프로세서, 프로세싱 시스템 또는 다른 시스템으로서 실시될 수 있다.
본원에서 "암호화(Encryption)"는 읽을 수 있는 데이터(예를 들어, 플레인-텍스트 데이터 파일)를 해독할 수 없는 데이터(예를 들어, 사이퍼-텍스트(cipher-text))로 변경하는 프로세스를 포함하도록 정의되고, 그 변경은 인코딩 키에 기초한다. 암호화는 인사이퍼링(enciphering)과 인코딩을 둘 다 포함할 수 있다. "해독(Decryption)"은 "암호화"의 상호적인(reciprocal) 프로세스이고, 해독할 수 없는 데이터를 복구하는 것을 수반한다. 그 프로세스는 대응하는 해독 알고리즘뿐만 아니라 디코딩 키에 대한 정보도 요구하고, 디코딩 키는 인코딩 키에 기초하거나 인코딩 키와 실질적으로 동일하다.
본원에서 "독립적이고 동일하게 분배된(i.i.d.) 소스(Independent and Identically Distributed (i.i.d.) source)"는 랜덤 변수들 X1,…, Xn로 구성되는 소스를 포함하고, 이산적인 소스에 대해 PX1,…, Xn (X1,…, Xn) = Px(X1) Px(X2)… Px(Xn)이고, 연속적인 소스에 대해 fX1,…, Xn (X1,…, Xn) = fx(X1) fx(X2)… fx(Xn)이다.
본원에서 "선형 코드(Linear code)"는 코드 워드의 어떠한 선형 조합이라도 역시 코드 워드인 코드를 포함하도록 정의된다.
본원에서 "리스트 소스 코드(List source code)"는 소스 시퀀스를 리스트 소스 코드의 엔트로피 레이트로 압축하고 유니크(unique) 소스 시퀀스 대신에 가능한 소스 시퀀스의 리스트로 디코딩되는 코드를 포함하는 것으로 정의된다.
본원에서 "변조화(Modulation)"은 이산적 데이터 신호(예를 들어, 읽을 수 있는 데이터, 해독할 수 없는 데이터)를 물리 채널(예를 들어, 통신 채널)을 통한 전송을 위하여 연속적인 시간 아날로그 신호로 변경하는 프로세스를 포함하도록 정의된다. "복조화(Demudulation)"은 "변조화"의 상호적인 (reciprocal) 프로세스이고, 변조화된 신호를 원래의 이산적인 형태로 변경한다. "변조화 및 코딩 스킴 (Modulation and coding scheme, MCS)"은 트랜스미터로부터 리시버로의 전송을 위한 코딩 방법, 변조화 타입, 공간적 스트림의 수 및 다른 물리적 특성을 결정하는 것을 포함하는 것으로 정의된다.
도 1을 참조하면, 예시적인 시스템(100)은 인코딩 시스템(101) 및 디코딩 시스템(102)를 포함한다. 시스템(100)은, 즉 데이터를 인코딩하고 디코딩하기 위하여, 본원에 개시된 실시예와 함께 사용될 수 있다. 인코딩 시스템(101)은 인코딩 시스템(101)의 입력에 데이터 파일(Xn)(105)을 수신하고 그 데이터 파일(Xn)(105)을 인코딩하고 인코딩 시스템(101)의 출력에 하나 또는 그 이상의 인코딩된 데이터 파일(114, 116)을 생성하도록 구성된 인코더 회로(110)를 포함한다. 예를 들어, 인코딩된 데이터 파일(114, 116)은 더 작은 인코딩된 파일과 더 큰 인코딩된 파일을 포함하고, 더 작은 인코딩된 파일은 더 늦게 암호화된다. 역으로, 디코딩 시스템(102)은 인코딩된 암호화되지 않은 데이터 파일(144)과 인코딩된 해독된 데이터 파일(146)을 디코딩 시스템(102)의 입력에서 수신하고, 디코딩 시스템(102)의 출력에서 인코딩된 암호화되지 않은 데이터 파일(144)과 인코딩된 해독된 데이터 파일(146)으로부터 데이터 파일 ((X^n ) ?)을 디코딩하도록 구성된 디코더 회로(150)를 포함한다.
인코더 회로(110) 및/또는 디코더 회로(150)는 하드웨어, 소프트웨어, 펌웨어 또는 그들의 어떠한 조합으로서도 실시될 수 있음이 인정될 것이다. 예를 들어, 하나 또는 그 이상의 메모리와 프로세서는 본원에서 설명된 다양한 기능, 인코딩 및/또는 디코딩 테크닉을 수행하는 다양한 소프트웨어 프로그램 또는 모듈을 각각 저장하고 실행하도록 구성될 수 있다. 예를 들어, 특정 실시예들에서, 코딩 시스템은 필드-프로그램 가능한 게이트 어레이 (field-programmable gate array (FPGA))에서 수행될 수 있고, 높은 데이터 레이트로 성공적인 통신을 달성할 수 있다. 대신에, 코딩 시스템은 주문형 반도체 (application specific integrated circuit (ASIC)) 또는 디지털 신호 프로세서(DSP)를 통하여 또는 다른 타입의 프로세서 또는 처리 장치 또는 시스템을 통하여 구현될 수 있다.
도 2A 및 도 2B를 참조하면, 예시적인 변조부 및 복조부 시스템, 즉 집합적으로 시스템(200)(예를 들어, 위에서 언급한 시스템(100)의 확장)은 도 2A에 도시된 변조부 시스템(201) 및 도 2B에 도시된 복조부 시스템(202)을 포함한다.
도 2A를 참조하면, 변조부 시스템(201)은 인코더 회로(210), 암호화 회로(220) 및 트랜스미터(230)를 포함하고, 인코더 회로(210)는 도 1의 인코더 회로와 동일하거나 유사할 수 있다. 도 2B를 간략히 참조하면, 복조부 시스템(202)은 디코더 회로(270), 해독 회로(260) 및 리시버(24)를 포함하고, 디코더 회로(270)는 도 1의 디코더 회로(150)와 동일하거나 유사할 수 있다. 자유 공간(free space) 또는 다른 전송 매체로의 전이(transition)를 제공하기 위하여, 트랜스미터(230)와 리시버(240)는 안테나(235, 242) 또는 어떠한 다른 타입의 트랜스듀서(transducers)와 연결될 수 있다. 일실시예에서, 안테나(235, 242)는 각각 멀티플-인풋 멀티플-아웃풋 (multiple-input multiple-output, MIMO) 시스템에서 사용되는 것들과 같은 복수의 안테나를 포함할 수 있다. 예를 들어, 그러한 접근법은 시스템(200)의 커패시티를 개선할 수 있고, 즉 단일 안테나 실시예와 비교되는 경우 비트(bits)/ 세컨드(second)/ 헤르츠(hertz)를 최대화할 수 있다. 리시버(240)는 목적지의 엔드 유저일 수 있고, 목적지는 어떤 실시예에 따르면 원격 위치일 수 있고 다른 실시예에 따르면 트랜스미터(230)의 제1 위치와 동일할 수 있다.
다시 도 2A로 돌아가면, 변조부 시스템(201)은 변조부 시스템(201)의 입력에서 데이터 파일 (Xn) (205)을 수신하도록 연결될 수 있고, 데이터 파일 (Xn) (205)은 도 1의 데이터 파일 (Xn) (105)과 동일하거나 유사할 수 있다. 구체적으로, 데이터 파일 (Xn) (205)은 인코더 회로(210)의 입력에서 수신된다. 인코더 회로(210)는 인코더 회로(210)의 출력에서 복수의 인코딩된 데이터 파일 (215, 218)을 생성하기 위하여 리스트 소스 코드(예를 들어, 특히 도 5와 관련하여)를 사용하여 특정 인코딩 프로세스에 따라 데이터 파일 (Xn) (205)을 인코딩하도록 구성된다. 제1 인코딩된 데이터 파일(215)은 전송을 위해 트랜스미터(230)의 입력에 제공되고, 데1 인코딩된 데이터 파일(215)은 인코딩된 암호화되지 않은 데이터로 구성된다. 제2 인코딩된 데이터 파일(218)은 암호화 회로(220)의 입력에 제공되고, 제2 인코딩된 데이터 파일(218)은 바람직한 실시예에 따르면 제1 인코딩된 데이터 파일(215)보다 상당히 작다. 암호화 회로(22)는 암호화 회로(22)의 출력에서 인코딩된 암호화된 데이터 파일(222)를 생성하기 위하여 키를 이용한 특정 암호화 프로세스에 따라서 (예를 들어 특히 도 5와 관련하여) 제2 인코딩된 데이터 파일(218)을 암호화하도록 구성되고, 키는 데이터 파일 (Xn) (205)의 암호화와 해독을 제어한다. 트랜스미터(230)는 제1 인코딩된 데이터 파일(215) 및 인코딩되고 암호화된 데이터 파일(222)를 입력으로서 수신하고 키와 더불어 데이터 파일(215, 222)를 리시버로 전송하도록 구성되며, 리시버는 도 2B의 복조부 시스템(202)의 리시버(240)일 수 있다.
도 2B를 참조하면, 리시버(240)는 인코딩된 암호화되지 않은 데이터 파일(244), 인코딩된 암호화된 데이터 파일(246) 및 키를 입력으로서 수신하도록 연결되고, 입력은 복조부 시스템(201)의 제1 인코딩된 데이터 파일(215), 인코딩된 암호화된 데이터 파일(222) 및 키와 동일하거나 유사할 수 있다. 리시버(240)는 인코딩된 암호화되지 않은 데이터 파일(244), 인코딩된 암호화된 데이터 파일(246) 및 키를 디코더 회로(270) 및 해독 회로(260) 각각으로 전달하도록 구성된다. 해독 회로(260)는 키로 인코딩된 암호화된 데이터 파일(246)을 해독하고 해독 회로(260)의 출력에서 인코딩된 해독된 데이터 파일(262)을 생성하도록 구성된다. 디코더 회로(270)는 인코딩된 해독된 데이터 파일(262)를 수신하도록 연결되고, 디코더 회로(270)는 인코딩된 해독된 데이터 파일(262) 및 인코딩된 암호화되지 않은 데이터 파일(244)을 데이터 파일 ((X^n ) ?) (275)로 디코딩하도록 구성되며, 이는 도 6과 함께 추가적으로 논의될 것이다. 일실시예에서, 디코더 회로(270)는 인코딩된 해독되지 않은 데이터 파일(262)과 인코딩된 암호화된 데이터 파일(244)을 잠재적인 리스트 소스 코드의 리스트로 디코딩하고 잠재적인 리스트 소스 코드의 리스트로부터 데이터 파일 ((X^n ) ?) (275)을 추출하도록 구성된다.
대안적인 실시예에서 (도시되지 않음), 데이터 파일 ((X^n ) ?) (205)은 인코더 회로 및 암호화 회로의 입력에서 수신될 수 있다. 인코더 회로의 출력에서 인코딩된 파일을 생성하기 위하여, 인코더 회로는 특정 인코딩 프로세스에 따라 리스트 소스 코드를 사용하여 데이터 파일 ((X^n ) ?) (205)을 인코딩하도록 구성될 수 있다. 반면에, 암호화 회로의 출력에서 암호화된 파일을 생성하기 위하여, 암호화 회로는 특정 암호화 프로세스에 따라 키를 사용하여 데이터 파일 ((X^n ) ?) (205)의 선택 부분을 암호화하도록 구성될 수 있고, 키는 데이터 파일 ((X^n ) ?) (205)의 암호화와 해독을 제어한다. 트랜스미터는 인코딩된 파일 및 암호화된 파일을 입력으로서 수신하고 키와 더불어 파일들을 리시버로 전송하도록 구성될 수 있고, 리시버는 도 2B의 복조부 시스템(202)의 리시버(240)일 수 있다.
도 3을 참조하면, 예시적인 데이터 파일 (Xn) 및 관련된 리스트 소스 코드를 나타내는 다이어그램이 도시된다. 데이터 파일 (Xn)은 복수의 데이터 패킷으로 구성되며, 도 3에 도시된 것은 오직 두 개의 데이터 패킷 Dp1, Dp2이고, 예를 들어 그 각각은 메시지 1 및 메시지 2로 표시된 하나 또는 그 이상의 데이터 세그먼트로 구성된다. 선택 데이터 세그먼트 (메시지 1, 메시지 2)는 (예를 들어, 특히 도 5와 관련하여) 키를 이용하여 암호화되고, 키는 "Aux. info"로 표시된 것처럼 리스트 소스 코드보다 더 작다. 어떤 실시예에서, 리스트 소스 코드는 표준 선형 코드(standard linear code)를 사용하여 실시될 수 있다. 예를 들어, 선형 코드 C는 엘레먼트 {0,1}n로 구성된 F2 n의 선형 서브스페이스로 표현될 수 있다. 모든 선형 코드 C에 대하여, C = {x ∈ F2 n : Hx = 0} 와 C = {Gy : y ∈{0,1}m}를 만족하는 생성기 매트릭스 G (generator matrix G)와 패리티 체크 매트릭스 H (parity check matrix H)가 존재한다. 설명된 것처럼, (도 3에서 "Aux. info"로 표시된) 키는 리스트 소스 코드의 오직 일부분을 나타낸다. 리스트 소스 코드는 키에 독립적이며, 키 분배 인프라스트럭쳐가 아직 설정되지 않은 경우 컨텐트가 분배되도록 허용한다.
정의 부분에서 설명된 것처럼, 리스트 소스 코드는 소스 시퀀스를 리스트 소스 코드의 엔트로피로 압축하고 고유한(unique) 소스 시퀀스 대신에 가능한 소스 시퀀스의 리스트로 디코딩되는 코드를 포함할 수 있다. 리스트 소스 코드 및 리스트 소스 코드의 근본적인 부분의 더욱 자세한 정의와 실시예가 본원에서 제공된다.
구체적으로, 이산적(discrete) 메모리-레스(memory-less) 소스 X를 위한 (2nR, |X|nL, n)-리스트 소스 코드는 인코딩 함수 fn : Xn→{1,..., 2nR} 및 리스트-디코딩 함수 gn : {1,..., 2nR}→P(Xn)\¢로 구성되고, P(Xn)는 |g(w)|= |X|nL ∀w ∈ {1,..., 2nR}을 만족하는 Xn 의 파워 세트(즉, 모든 서브 세트의 집합)이고, L은 0 ≤ L ≤ 1인 디코딩된 리스트의 크기를 결정하는 파라미터이다. 예를 들어 L = 0인 값은 전통적인 비손실 압축에 대응하고, 즉 각각의 소스 시퀀스는 독자적인 시퀀스로 디코딩된다. 반면에, L = 1인 값은 디코딩된 리스트가 Xn에 대응하는 트리비얼 케이스(trivial case)를 나타낸다.
소스에 의해 스트링이 생성되는 경우 주어진 리스트 소스 코드에 대한 에러 결과는 대응하는 디코딩된 리스트에 포함되지 않는다. 에러의 평균 확률은 eL(fn,gn)= Pr(Xn ∈/gn(fn(Xn)))로 주어진다.
추가적으로, 주어진 이산적 메모리-레스 소스 X에 대하여 레이트 리스트 크기 쌍 (R, L)은 모든 δ> 0, 0 <ε< 1 및 충분히 큰 n에 대하여, Rn < R + δ, |Ln - L| < δ 및 eLn (fn, gn) ≤ ε이 되도록 하는 (2nRn, |X|nLn , n)-리스트 소스 코드 (fn, gn)가 존재하는 경우에, 달성될 수 있다(achievable)고 지칭된다. 모든 레이트 리스트 쌍 (R, L)의 폐쇄 영역(closure)이 레이트 리스트 범위(rate list region)로서 정의된다.
도 4를 참조하면, 주어진 정규화된 리스트 크기 L과 코드 레이트 R에 대한 예시적인 레이트 리스트 범위의 그래프가 도시된다. 레이트 리스트 함수 R(L)는, (R, L)이 주어진 정규화된 리스트 크기 0 ≤ L ≤ 1에 대하여 레이트 리스트 범위에 있도록 하는 모든 레이트 R의 하한(최대 아래쪽 경계)을 나타낸다. 어떠한 이산적 메모리-레스 소스 X에 대하여도, 레이트 이스트 함수 R(L)는 R(L)≥ H(X)-L log|X|에 의해 바운드된다 (bounded).
예를 들어, Ln → L, 0 <ε< 1 및 n이 0 ≤ eL(fn, gn) ≤ ε에 의해 주어지고 정규화된 리스트 크기 Ln을 가지는 코드의 시퀀스 (fn, gn) 및 δ > 0에 대하여,
이며, 여기서 Wn = {1, …, 2nRn}이고 Rn 은 코드 (fn, gn)의 레이트(rate)이다.
만일, n ≥ n0(δ, ε, |X|)라면,
이다. 위에서 δ > 0를 만족하는 경우, 0 ≤ eL(fn, gn)≤ ε에 의해 주어진 모든 n 에 대하여 R(L) ≥ H(X)- L log|X|이 된다.
R(L)≥ H(X)-L log|X|인 레이트 리스트 함수 R(L)는 멀티플 스킴(multiple schemes)을 따라 성취될 수 있다. 예를 들어 전통적인 스킴에서, Fq에서 균일하게 분배되는 소스 X, 즉 i.e., Pr(X = x) =1/q ∀x ∈ Fq에 대하여, R(L)=(1-L) log q 이다. 레이트 리스트 함수 R(L)는 데이터 파일 Xn = (Xp, Xs)로 성취될 수 있고, 여기서 Xp 는 데이터 파일 (Xn)의 첫 번째 p = n- [Ln] 심볼을 지칭하고 Xs는 데이터 파일 (Xn)의 마지막 s = [Ln] 심볼을 각각 지칭한다. 예를 들어, Xs를 버리고 Xp 의 프리픽스(prefix)를 길이 nR = [n -[Ln]log q] 비트의 바이너리 코드워드(binary codeword) Ynr로 매핑함으로써 데이터 파일 (Xn)은 인코딩될 수 있다. 추가적으로 예를 들어, 데이터 파일 (Xn)은 바이너리 코드워드 Ynr를 Xp로 매핑함으로써 디코딩될 수 있다. 그렇게 함으로써, Xp로 구성되는 qs 크기의 리스트는 길이 s의 서픽스(suffixes)의 모든 가능한 조합으로 계산된다. 최적화된 리스트-소스 크기는 충분히 큰 n 과 R ~= [n -[Ln]log q]로 성취된다.
R(L)≥ H(X)-L log|X|인 레이트 리스트 함수 R(L)를 대체로 달성할 수 있을지라도, 전통적인 스킴은 대체로 고도의 안전한 어플리케이션에 대해 부적절하다. 구체적으로, 바이너리 코드워드 YnR를 관찰하는 도청자(eavesdropper)는 마지막 s 시퀀셜 심볼에 집중된 불확실성으로 인코딩된 소스의 소스 p 심볼의 첫 번째 코셋(coset)을 고유하게 식별할 수 있다. 이상적으로, 모든 소스 심볼이 동일한 중요성을 가지고 있다고 가정하면, 불확실성은 인코딩된 소스의 모든 심볼 상에 퍼져야 한다. 더욱 구체적으로, 주어진 인코딩 함수 f(Xn)에 대하여, 최적화된 시크러시 스킴은 1 ≤ i ≤ n에 대하여 I(Xi; f(Xn))≤ ε ≪ log q보다 크지 않은 불확실성을 제공할 것이다. 개선된 스킴이 도 5의 프로세스(500)고 함께 논의될 것이며, 개선된 스킴은 최적의 시크러시 스킴의 불확실성을 실질적으로 달성하는 선형 코드에 기초하는 점근적으로(asymptotically) 최적화된 스킴이다.
도 5를 참조하면, 위에서 설명된 리스트 소스 코드 테크닉을 따르는 예시적인 인코딩, 암호화 및 트랜스미션 프로세스(500)가 도시된다. 프로세스(500)는 프로세싱 블록(510)에서 시작하고, 여기서 도 2A의 변조부 시스템(201)과 동일하거나 유사할 수 있는 변조부 시스템은 데이터 파일 (Xn)을 수신한다.
프로세싱 블록(520)에서, 변조부 시스템은 도 2A의 인코더 회로(210)과 같은 인코더에서 리스트 소스 코드를 사용하여 데이터 파일 (Xn)을 인코딩한다. 어떤 실시예에서, 리스트 소스 코드를 사용하여 데이터 파일 (Xn)을 인코딩하는 단계는 선형 코드로 데이터 파일 (Xn)을 인코딩하는 단계를 포함한다. 다른 실시예에서, 리스트 소스 코드는 그것의 엔트로피 레이트(entropy rate) 하에서 소스 시퀀스를 압축하는 코드이다.
위의 도 4에서 간략하게 참조된 개선된 스킴은 여기서 추가적으로 논의될 것이다. 구체적으로, X는 X ∈ 엔트로피 H(X)인 X이며 독립적이고 동일하게 분배된 (i.i.d.) 소스(즉, 소스 시퀀스 내의 엘레먼트는 소스 시퀀스 이전에 왔던 랜덤 변수에 독립적이다)이고, Sn은 인코더 sn : Xn→ 이고 디코더 rn : → Xn인 소스 코드이며, 여기서 Xn은 데이터 파일이다. 추가적으로, C는 (mn - kn)× mn 패리티 체크 매트릭스 Hn (즉, c ∈ C⇔ Hnc =0)인 Fq에 대한 (mn, kn, d) 선형 코드이다. 추가적으로, n →∞에 따라 Ln → L인 0 ≤ Ln ≤ 1에 대하여 kn = nLn log|X|/log q이고 kn는 어떤 실시예에 따르면 인티저(integer)이다.
개선된 스킴은 인코딩 프로세스를 포함하고, 데이터 파일 Xn은 신드롬 = Hnsn(Xn)인 소스에 의해 생성된 시퀀스이다. 구체적으로, 각각의 신드롬 = Hnsn(Xn)은 YnR에 의해 지칭되는 nR = [(mn - kn)log q] 비트의 별개의(distinct) 시퀀스로 매핑된다. 개선된 스킴은 또한 디코딩 프로세스를 포함하며, 디코딩 프로세스는 도 6의 프로세스(600)과 함께 추가적으로 논의될 것이다. 인코딩을 사용하여, 개선된 스킴은 i.i.d. 소스에 대해 최적화된 리스트-소스 트레이드오프 포인트 R(L)를 달성하는 것으로 나타났고, 주어진 소스 X, 즉 i.e., mn/n → H(X)/log q에 대하여 Sn가 점근적으로 최적화된 경우 R은 이상적인 레이트 리스트 함수이다.
구체적으로, (1) 이 정확히 qn인 경우 신드롬 에 대응하는 각각의 코셋의 크기, (2) Ln = (kn log q)/(n log |X|) → L에 의해 주어진 정규화된 리스트 크기 Ln 및 (3) δn → 0인 mn/n = H(X)/log q + δn에 대하여, (4) R = [(mn - kn) log q]/n = [(H(X)+ δn log q)n - Lnn log |X|/n이 된다. 상술한 것은 충분히 큰 n에 대하여 R(L)≥ H(X)-L log|X|에 상당히 가깝게 바운드되는(bounded) 레이트 리스트 함수 R(L)를 달성하는 것으로 나타났다. Ln = L이고 Ln는 인티저일 때 소스 X가 손실(loss) 없이 균일한 경우 개선된 스킴의 S(1-L)n에 의해 결정된 C의 코셋 내의 어떠한 메시지도 실질적으로 동일할 가능성이 있다는 것은 주목할 만 하다. 그와 같이, H(Xn|S(1-L)n)는 qLn와 동일할 것이다.
따라서, 개선된 스킴은 정보를 숨기는 체계적인 방법을 제공하며, 특히 스킴의 “정보 누수(information leakage)”와 관련하여 정확한 언급을 하는(make precise assertions) 근본적인(underlying) 선형 코드의 성질을 이용한다.
일실시예에서, 복수의 인코딩된 데이터 파일은 프로세싱 블록(520)에서 생성된다. 이 실시예에서, 위에서 설명된 도 2A에서처럼, 제1 인코딩된 데이터 파일(즉, 인코딩된 암호화되지 않은 데이터)은 트랜스미터의 입력에 제공되고, 제2 인코딩된 데이터 파일은 암호화를 위해 암호화 회로의 입력에 제공된다 (프로세싱 블록(530)). 제2 인코딩된 데이터 파일은 제1 인코딩된 데이터 파일보다 이상적으로는 상당히 더 작다. 대안적인 실시예에서, 단일의 인코딩된 데이터 파일은 프로세싱 블록(520)에서 생성된다.
프로세싱 블록(530)에서, 변조부 시스템은 인코딩된 암호화된 데이터를 생성하기 위하여 키를 사용하여 데이터 파일 (Xn)의 선택 부분을 암호화한다. 도 3과 함께 위에서 설명된 것처럼, 데이터 파일 (Xn)의 선택 부분, 특히 데이터 세그먼트(예를 들어, 도 3의 메시지 1, 메시지 2)는 바람직한 실시예에서 리스트 소스 코드보다 작은 키로 암호화된다. 데이터 파일 (Xn)의 선택 부분을 암호화하는 프로세스는 프로세싱 블록(550)에서 인코딩된 암호화되지 않은 데이터의 전송 전, 중 또는 후에 발생할 수 있음이 인정되어야 할 것이며, 이것은 아래의 설명에서 더욱 명백해질 것이다. 도 2A와 관련된 논의에서 주목된 것처럼, 암호화될 데이터 파일 (Xn)의 선택 부분은 (인코더 회로(210)과 같은) 인코더 회로로부터 또는 (대안적인 실시예에서) 직접 수신될 수 있다. 일실시예에서, 암호화된 데이터 파일 (Xn)의 선택 부분은 프로세싱 블록(520)에서 생성된 인코딩된 암호화되지 않은 데이터보다 더 작다.
암호화될 파일의 부분을 선택하기 위해 다양한 접근법이 사용될 수 있다. 예를 들어, 한가지 접근법에서 사적인 것으로(private) 여겨졌던 파일의 부분은 암호화될 수 있다. 다른 접근법에서, 메시지의 조합이 암호화될 수 있다. 또 다른 접근법에서, 파일은 전체로서 암호화될 수 있다. 추가적인 접근법은 단지 세그먼트인 것보다 원래의 파일의 기능을 암호화하는 것을 포함한다 (예를 들어, 파일의 해쉬(hash), 파일의 코딩된 버전 등등). 암호화될 파일의 부분을 선택하는 다른 전략이 대안적으로 사용될 수 있다.
프로세싱 블록(540)에서, 변조부 시스템은 전송될 데이터 (즉, 인코딩된 암호화되지 않은 데이터, 인코딩된 암호화된 데이터 및 키)의 순서와 전송 경로를 결정한다.
프로세싱 블록(550)에서, 변조부 시스템은 인코딩된 암호화되지 않은 데이터, 인코딩된 암호화된 데이터 및 선택적으로 키를 목적지의 리시버(즉, 엔드 유저)로 전송하고, 리시버는 도 2B의 복조부 시스템(502)과 동일하거나 유사할 수 있다. 한가지 접근법에서, 인코딩된 암호화되지 않은 데이터와 키가 리시버로 전송되기 전에 인코딩되고 암호화되지 않은 데이터의 상당한 부분이 전송된다. 어떤 실시예에서, 인코딩되고 암호화된 데이터가 리시버에 의해 수신되고 해독될 때까지 인코딩되고 암호화되지 않은 데이터는 목적지에서 디코딩될 수 없고, 리시버는 키를 소유한다. 다른 실시예에서, 인코딩되고 암호화되지 않은 데이터의 리시버로의 전송 전, 중 또는 후에, 키는 리시버로 전송된다. 다른 실시예에서 인코딩되고 암호화되지 않은 데이터의 전송 동안 키가 훼손되는(compromised) 경우에, 오직 인코딩되고 암호화된 데이터의 전송이 폐지될 필요가 있다. 구체적으로, 인코딩되고 암호화되지 않은 데이터의 전송이 폐지되지 않는다면 프로세스(500)의 보안은 훼손되지 않는다.
대안적인 실시예에서, 도 5의 인코딩 및 전송 프로세스(500)는 근본적인(underlying) 암호화 스킴에 보안의 추가적인 계층(layer)으로서 적용된다. 또 다른 실시예에서, 프로세스(500)는 2-페이즈의 보안 통신 스킴(two-phase secure communication scheme)으로서 실시될 수 있고, 일실시예에서 선형 코드로부터 유래된 리스트 소스 코드 컨스트럭션(list source code constructions)을 사용한다. 그러나, 2-페이즈의 보안 통신 스킴은 패리티 체크 매트릭스에 의해 멀티플리케이션(multiplication) 대신에 대응하는 인코딩/ 디코딩 기능을 사용함으로써 실질적으로 어떠한 리스트 소스 코드로도 확장될 수 있다.
2-페이즈의 보안 통신 스킴의 일실시예에서, 도 2A의 변조부 시스템(201)의 트랜스미터(230)와 같거나 더 클 수 있는 트랜스미터 및 도 2B의 복조부 시스템(202)의 리시버(240)과 같거나 유사할 수 있는 리시버는 암호화/ 해독 스킴 (Enc’, Dec’)에 접근할 수 있다고 가정한다. 암호화/ 해독 스킴 (Enc’, Dec’)은 키와 함께 사용되고, 암호화/ 해독 스킴 (Enc’, Dec’) 및 키는 도청자(eavesdropper)에 대해 충분히 안전하다. 예를 들어, 이 실시예는 원-타임 패드(one-time pad)일 수 있다.
변조화 시스템에서 발생할 수 있는 2-페이즈의 보안 통신 스킴의 제1 (프리-캐싱(pre-caching)) 페이즈에서 (이후 “페이즈 I”라고 지칭), 트랜스미터는 다음 중 하나 또는 그 이상을 입력으로서 수신한다: (1) 소스 인코딩된 시퀀스 Xn ∈ Fn, (2) Fn에서 선형 코드의 패리티 체크 매트릭스 H, (3) 랭크 ([HT DT]) = n인 풀-랭크(full-rank) k x n 매트릭스 D 및 (4) 암호화/ 해독 함수 (Enc’, Dec’). 입력으로부터, 트랜스미터는 트랜스미터의 출력의 Sn-k = HXn를 생성하도록 구성되고, 출력을 리시버로 전송하고, 근본적인(underlying) 리스트 소스 코드에 의해 결정된 시크러시의 수준을 유지한다. 키 인프라스트럭쳐가 아직 설정되지 않은 경우에, 리스트 소스 코드는 컨텐트 프리-캐싱을 위하여 안전한 메커니즘을 제공한다. 구체적으로, 데이터 파일의 큰 부분은 리스트 소스 코딩될 수 있고 키 분배 프로토콜의 종료 전에 안전하게 전송될 수 있다. 그것은 특히 수백 개의 모바일 노드를 가지는 큰 네트워크에서 유용하며, 키 매니지먼트 프로토콜은 완료되기까지 상당히 많은 시간을 요구할 수 있다.
역시 변조부 시스템에서 발생할 수 있는 2-페이즈의 보안 통신 스킴의 제2 (암호화) 페이즈에서 (이후 “페이즈 II”로 지칭), 트랜스미터는 트랜스미터의 출력에서 패이즈 I의 입력으로부터 Ek = Enc’ (DXn, K)를 생성하고 리시버로 출력을 전송하도록 구성된다.
복조화 시스템에서 발생할 수 있는 수신 페이즈에서, 리시버는 DXn = Dec’ (Ek)를 계산하고 데이터 파일 (Xn)을 Sn-k 및 DXn로부터 수신하도록 구성된다. (Enc’, Dec’)가 안전하다고 가정하면, 위의 2-페이즈의 보안 통신 스킴은 사실상 근본적인(underlying) 리스트 소스 코드의 보안(security)을 줄인다. 그러나 구체적으로 암호화/ 해독 함수 (Enc’, Dec’)의 유효성은 키에 의존할 수 있고, 키는 원하는 어플리케이션을 위한 충분한 보안을 제공한다. 추가적으로 Fqn에서 데이터 파일 (Xn)이 균일하고 i.i.d.라고 가정하면, 맥시멈 디스턴스 세퍼러블 (Maximum Distance Separable , MDS) 코드 (즉, M≤ qn-d+1; qk≤ qn-d+1; 및 d≤ n - k + 1인 선형 [n, k] q-ary (n,M,d)-코드)는 강한 보안을 보증하기 위해 사용될 수 있다. 그러한 경우에, Sn-k를 관찰하는 도청자는 데이터 파일 (Xn)의 k 심볼의 어떠한 집합과 관련된 어떠한 정보도 추정할 수 없다.
2-페이즈의 보안 통신 스킴의 페이즈 II 이전에 키가 훼손되었을 지라도, 데이터 파일 (Xn)은 여전히 근본적인(underlying) 리스트 소스 코드만큼 안전하다. 계산적으로 바운드되지 않은(unbounded) 도청자가 키에 대해 완전히 알고 있다고 가정하면, 도청자가 할 수 있는 최대한의 것은 데이터 파일의 마지막 파트가 전송될 때까지 가능한 데이터 파일 (Xn) 입력의 수를 기하급수적으로(exponentially) 큰 리스트로 줄이는 것이다. 그 같은 경우에, 2-페이즈의 보안 통신 스킴은 데이터 파일 (Xn)에 대한 정보-이론적(information-theoretic) 시크러시 수준을 데이터 파일 (Xn) (특히, 인코딩된 암호화되지 않은 데이터 및 인코딩된 암호화된 데이터)의 마지막 부분이 전송되는 지점까지 제공한다. 추가적으로, 2-페이즈의 보안 통신 스킴의 페이즈 II 이전에 키가 훼손된다면, 전체의 인코딩된 암호화되지 않은 데이터 및 인코딩된 암호화된 데이터를 재전송하지 않고 키는 재분배될 수 있다. 일실시예에서, 키가 재설정되자마자, 트랜스미터는 새로운 키로 2-페이즈의 보안 통신 스킴의 페이즈 II에서 데이터 파일 (Xn)의 남은 부분을 단순하게 암호화할 수 있다.
대조적으로, 최초의 시드(seed)가 전통적인 스킴에서 도청자에게 누수된 경우 (예를 들어 의사-랜덤 번호 생성기(pseudo-random number generator)에 기초한 스트림 사이퍼(stream cipher)), 도청자가 감지될 때까지 전송된 데이터 파일 (Xn)의 모든 부분은 취약하다.
다른 실시예에서, 2-페이즈의 보안 통신 스킴과 함께 프로세스(500)는 조정 가능한 시크러시 수준으로 구성될 수 있고, 키의 크기는 원하는 시크러시 수준에 의존하고, 크기는 원하는 시크러시 수준으로 프로세스(500)를 조정하기 위해 사용될 수 있다. 구체적으로, 페이즈 I과 페이즈 II에서 보내진 데이터의 양은 사용 가능한 암호화 스킴의 성질, 키의 크기 및 원하는 시크러시 수준을 매칭하도록 적절하게 선택될 수 있다. 추가적으로, 특히 암호화 프로시져가 리스트-소스 인코딩/ 디코딩 오퍼레이션보다 더 높은 계산적인 비용을 가지는 경우에, 페이즈 II에서 메시지의 더 작은 부분의 암호화를 허용함으로써 리스트 소스 코드는 2-페이즈의 보안 통신 스킴에 의해 요구되는 오퍼레이션의 총 횟수를 줄이기 위해 사용될 수 있다. 일실시예에서, 근본적인(underlying) 코드의 리스트 (L)의 크기를 적절하게 선택함으로써 리스트 소스 코드는 조정 가능한 시크러시 수준을 제공하기 위해 사용될 수 있고, 그 선택은 데이터 파일 (Xn)과 관련하여 상대방(adversary)이 가질 수 있는 불확실성의 양을 결정하기 위해 사용된다. 2-페이즈의 보안 통신 스킴에서 L의 더 큰 값은 페이즈 I의 더 작은 리스트 소스 코딩된 데이터 파일 (Xn) 및 그 스킴의 페이즈 II의 더 큰 암호화 부담(burden)을 이끈다.
또 다른 실시예에서, 리스트 소스 코드는 2-페이즈의 보안 통신 스킴에서 스트림 사이퍼와 결합될 수 있다. 예를 들어, 데이터 파일 (Xn)은 무작위로 선택된 시드로 초기화된 의사 랜덤 번호 생성기를 사용하여 초기에 암호화되고 리스트 소스 코딩될 수 있다. 초기에 무작위로 선택된 시드는 또한 2-페이즈의 보안 통신 스킴의 전송 페이즈에서 인코딩된 암호화된 데이터의 부분일 수 있다. 그러한 어레인지먼트(arrangement)는 근본적인(underlying) 스트림 사이퍼의 보안을 증가시키고 리스트 소스 코딩된 데이터 파일 (Xn)에 무작위(randomization)를 제공하는 이점이 있다.
도 6과 참조하면, 본원에서 설명된 리스트 소스 코드 테크닉을 따르는 예시적인 수신, 디코딩 및 해독 프로세스(600)가 도시된다. 프로세스(600)는 프로세싱 블록(610)에서 시작되고, 도 2B의 복조부 시스템(202)와 동일하거나 유사할 수 있는 복조부 시스템은 변조부로부터 인코딩되고 암호화되지 않은 데이터(610), 인코딩되고 암호화된 데이터(614) 및 키(616)를 수신하고, 인코딩되고 암호화되지 않은 데이터(610), 인코딩되고 암호화된 데이터(614) 및 키(616)는 도 5의 인코딩 및 암호화 프로세스(500)으로부터 인코딩되고 암호화되지 않은 데이터, 인코딩되고 암호화된 데이터 및 키와 동일하거나 유사할 수 있고, 변조부는 도 2A의 변조부 시스템(201)과 동일하거나 유사할 수 있다. 인코딩되고 암호화된 데이터(612), 인코딩되고 암호화되지 않은 데이터(614) 및 키를 수신하는 프로세스는 특정한 순서로 발생될 필요가 없다는 것이 인정될 것이다. 그러나, 도 5의 프로세스(500)과 함께 위에서 언급된 것처럼, 일실시예에서 인코딩되고 암호화된 데이터 및 키가 리시버로 전송되기 전에 인코딩되고 암호화되지 않은 데이터의 큰 부분이 전송된다.
프로세싱 블록(620)에서, 복조부 시스템은 암호화된 데이터를 키로 해독한다. 도 5와 함께 위에서 논의된 것처럼, 암호화된 데이터 및/또는 인코딩된 데이터를 수신하기 전 또는 후에 복조부 시스템은 키를 수신할 수 있다.
프로세싱 블록(630)에서, 복조부 시스템은 인코딩된 암호화되지 않은 데이터 및 인코딩된 해독된 데이터를 사용하여 데이터 파일 ()을 디코딩한다. 일실시예에서, 복조부 시스템은 인코딩된 암호화된 데이터 및 인코딩된 해독된 데이터를 잠재적인 리스트 소스 코드의 리스트로 디코딩한다. 예를 들어, 디코딩은 도 5와 관련하여 위에서 논의된 개선된 스킴에 의해 달성될 수 있다. 그 스킴의 디코딩 프로세스에서, 에 대응하는 Hn의 코셋에서 각각의 에 대하여 출력 을 생성하기 위하여 바이너리 코드워드 YnR는 대응하는 신드롬 으로 매핑된다. 주어진 소스 X에 대하여 Sn이 점근적으로 최적화된 경우, 즉 mn/n → H(X)/log q인 경우에, 디코딩 프로세스를 사용하여, 개선된 스킴은 i.i.d.에 대하여 R(L)≥ H(X)-L log|X|에 의해 바운드되는 레이트 리스트 함수 R(L)를 달성하는 것으로 나타났다.
위에서 논의된 실시예에서, 복조부 시스템은 잠재적인 리스트 소스 코드의 리스트로부터 데이터 파일 ()을 추출할 수 있다. 그러나, 해당 기술 분양의 통상의 기술자에게 명백한 대안적인 방법이 사용될 수도 있음이 인정되어야 할 것이다. 어떤 실시예에서, 데이터 파일(^Xn)은 프로세스(500)의 데이터 파일 (Xn)과 동일하거나 상당히 유사하다. 특히, 복조부 시스템은 개선된 스킴을 사용하여 데이터 파일 ()을 추출할 수 있다.
특히, 데이터 파일 (Xn)의 신드롬에 대한 지식으로 데이터 파일 (Xn)은 몇 가지 방식으로 추출될 수 있다. 일실시예에서, 한가지 접근법은 D 및 H의 로우(row)가 Fn q 의 기초를 형성하도록 풀 랭크를 가지는 k × n 매트릭스 D를 찾는 것이다. 예를 들어, 그 같은 k × n 매트릭스는 H의 로우가 스타팅 포인트로서 서빙(serving)하는 프로세스를 그람-슈미트(Gram-Schmidt) 프로세스를 사용하여 발견될 수 있다 (즉, 내적(inner product) 공간에서 벡터의 집합을 직교 정규화(orthonormalising)하는 방법). 아래 나타난 그람-슈미트 프로세스 방정식의 엘레먼트 TLn는 TLn = DXn에서 계산되고, 순차적으로 리시버로 전송되며, 리시버는 도 2B의 복조부 시스템(202)의 리시버(242)와 동일하거나 유사할 수 있다.
리시버는 데이터 파일 ()을 추출하도록 구성되고, 데이터 파일은 어떤 실시예에 따르면 잠재적인 리스트 소스 코드의 리스트로부터의 데이터 파일 (Xn)을 나타낸다. 위에서 언급된 방법은 예를 들어 리드-솔로몬(Reed-Solomon) 또는 저밀도 패리티-체크 (low-density parity-check, LDPC)와 같은 잘 알려진 선형 코드 컨스트럭션을 사용하여 리스트 소스 코드가 실제로 사용되도록 허용한다.
추가적으로, 방법은 일반적인 선형 코드에 대해 유효하고 랭크 ([HT DT]T )= n가 되도록 하는 디멘션 (n-k)×n 및 k×n을 가지는 풀 랭크 매트릭스 H 및 D의 어떠한 쌍에 대해서도 유지된다. 구체적으로, 방법은 시크러시 스킴을 디자인하기 위해 알려진 선형 코드 컨스트럭션을 사용한다.
정보-이론적 메트릭(INFORMATION-THEORETIC METRIC)
위에서 개시된 시스템 및 관련된 방법을 특성화하고 최적화하기 위한 예시적인 정보-이론적 메트릭스(metrics) (ε-심볼 시크러시 (με) (ε-symbol secrecy (με)))가 여기서 제공된다. 구체적으로, ε-심볼 시크러시 (με)는 데이터 파일 (Xn)의 인코딩된 버전을 고려하여 데이터 파일 (Xn)의 특정한 심볼에 대하여 누수된 정보의 양을 특성화한다. ε-심볼 시크러시 (με)는 특히 위에서 논의된 2-페이즈의 보안 통신 스킴 및 개선된 스킴과 같이 절대적인 심볼 시크러시 (μ0)를 제공하지 않는 시크러시 스킴에 적용될 수 있다.
일반적으로, 메트릭스(metrics) ε-심볼 시크러시 (με) 및 절대적인 심볼 시크러시 (μ0)는 원하는 수준의 시크러시를 달성하기 위하여 프로세스(500) 및 프로세스(600)과 함께 사용될 수 있다. 절대적인 심볼 시크러시 (μ0) 및 ε-심볼 시크러시 (με)는 다음과 같이 정의될 수 있다.
코드 Cn의 절대적인 심볼 시크러시 (μ0)는
에 의해 표현된다.
코드 Cn 의 시퀀스의 절대적인 심볼 시크러시 (μ0)는
에 의해 표현된다.
대조적으로, 코드 Cn의 ε-심볼 시크러시 (με)는
에 의해 표현된다.
추가적으로, 코드 Cn의 시퀀스의 ε-심볼 시크러시 (με)는 ε < H(X)인 경우
에 의해 표현된다.
데이터 파일 Xn 및 대응하는 암호화 Y를 고려하여, ε-심볼 시크러시 (με)는 기껏해야 ε 비트가 데이터 파일 Xn의 어떠한 t-심볼 서브시퀀스(subsequence)로부터도 추정될 수 있도록 하는 가장 큰 부분 t/n으로서 계산될 수 있다.
Cn는 레이트 리스트 쌍 (R, L)을 달성하는 확률 분포 p(x)를 가지는 별개의 메모리-레스 소스 X를 위한 코드이거나 코드의 시퀀스 (즉, 리스트 소스 코드)일 수 있다. 추가적으로, YnRn는 Cn에 의해 생성된 리스트-소스 인코딩된 데이터 파일 fn(Xn)을 위한 대응하는 코드워드이다. 더욱이, In(t)는 크기 t의 {1,…,n]의 모든 집합이고, 즉, J ∈ In(t) ⇔ J ⊆ {1, …, n} 및 |J| = t이다. 추가적으로, X(J)는 집합 J ⊆ {1, …, n} 내의 엘레먼트에 의해 인덱스된(indexed) 데이터 파일 Xn의 심볼의 집합이다.
수동의, 그러나 계산적으로 바운드되지 않은 도청자는 오직 리스트-소스 인코딩된 메시지 fn(Xn) = YnRn에 접근할 수 있다고 추정된다. 또한 YnRn의 관찰에 기초하여 도창자는 데이터 파일 안에 무엇이 있는지 결정하는 시도를 할 것이라고 추정된다. 추가적으로, 사용되는 소스 통계 및 리스트 소스 코드는 일반적으로 알려져 있다고, 즉 도청자 A는 소스 및 Cn에 의해 생성된 심볼 시퀀스의 분포 pxn(Xn)로 접근할 수 있다고 추정된다.
리스트-소스 인코딩된 메시지 ()를 관찰함으로써 도청자가 소스 심볼 (X(J); )의 특정 시퀀스에 대해 얻을 수 있는 정보의 양은 계산될 수 있거나 이전 페이지에 리스트된 기계적인 정보일 수 있다 (mechanical information I have list on previous page). 구체적으로, ε = 0에 대하여 완벽하게 숨겨진 입력 심볼의 가장 큰 부분이 무엇인지에 대한 의미 있는 바운드가 계산될 수 있다.
이다. 그러므로,
이다.
도청자가 심볼 시크러시 με,n을 가지는 리스트 소스 코드 Cn로 인코딩된 메시지로부터 얻을 수 있는 최대 평균 정보의 양에 대한 상한은 역시 계산될 수 있다. 구체적으로, 리스트 소스 코드 Cn, 별개의 메모리-레스 소스 X 및 0 ≤ ε ≤ H(X) 인 어떠한 ε에 대하여도,
이고, 여기서 με,n = με(Cn)이다.
대안적으로, με,n = t/n, J ∈ In(t) 및 J’ = {1,..., n}\J 인 경우,
이다.
리스트 소스 코드 Cn가 및 R’ = R(L)인 어떠한 ε에 대하여 로 포인트 (R’, L)를 달성하는 경우, ε-심볼 시크러시 (με)를 가지는 레이트-리스트 함수는 상한과 연관될 수 있다.
δ > 0 및 충분히 큰 n에 대하여,
이다.
결과적으로, R’ ≤ H(X)-L log |X|이다. 일반적으로, n의 값은 방정식 상에서 델타(delta)에 따라 선택될 수 있고 소스의 특성에 의존할 것이다. 실제로, 코드의 길이는 보안 및 효율성 제한(efficiency constraints)에 의해 결정될 것이다.
어떤 실시예에서, MDS 코드를 사용하여 균일하게 분포된 데이터 파일 (Xn)은 ε-심볼 시크러시 (με) 바운드를 달성하는 것으로 나타났다. 다른 실시예에서, 절대적 심볼 시크러시 (μ0)는 위에서 논의된 것처럼 MDS 패리티 체크 매트릭스 H 및 Fq에서 균일한 i.i.d. 소스 X개선된 스킴의 사용을 통하여 달성될 수 있다. 소스 X가 균일하고 i.i.d.인 경우, 어떠한 소스 코딩도 필수적이지 않다.
구체적으로, H가 (n, k, d) MDS의 패리티 체크 매트릭스이고 소스 가 균일하고 i.i.d.인 경우, 개선된 스킴은 L = k/n에서 상한 μ0 = L을 달성할 수 있다. 예를 들어, (1) H가 에 Fq대한 (n, k, n-k+1) MDS 코드 C의 패리티 체크 매트릭스이고, (2) x ∈ C이고, (3) x(J)로 지칭되는 x의 k 위치의 집합 J ∈ In(k)이 고정된 경우에, z ∈ C 안의 다른 어떤 코드워드에 대해서도 C 의 최대 거리는 n -k +1이기 때문에 우리는 z(J) x(J) 을 갖는다. 추가적으로, C(J)= {x(J) ∈ Fkq : x ∈ C)이기 때문에 |C(J)| = |C| = qk이다. 따라서 C(J)는 k 심볼의 모든 가능한 조합을 포함한다. 전술한 것은 H의 어떠한 코셋에 대해서도 유지되므로, 상한 μ0 = L은 L = k/n에서 달성된다.
일반적인 소스 모델을 위한 리스트 소스 코드
암호체계(cryptosystems) 특히 시크러시를 보호하는 정보-이론적인 접근법은 전통적으로 한가지 근본적인 가정을 하며, 즉 다시 말해서 인코딩된 및/또는 암호화된 데이터 파일 (Xn) 및 키가 전송되는 물리 채널 (예를 들어, 통신 채널)의 노이즈, 데이터 파일 (Xn) (즉, 플레인텍스트 소스(plaintext source)) 및 키가 실질적으로 균일하게 분포된다는 가정을 한다. 균일성(uniformity)은 파일, 키 또는 물리 채널이 모든 가능한 상이한 출력의 확률과 동일하거나 거의 동일한 확률을 갖는 것을 지칭하기 위해 사용된다. 균일성 가정은 메시지가 보내지기 전에는 공격하는 자가 어떠한 가능한 메시지, 키 또는 채널 노이즈가 다른 어떠한 가능한 메시지, 키 또는 채널 노이즈보다 더 확률이 높다고 믿을 만한 아무런 근거도 갖지 못함을 암시한다. 실제로, 데이터 파일 (Xn), 키 및 물리 채널의 노이즈는 특히 안전한 암호체계에서 언제나 실질적으로 균일하게 분포되지는 않는다. 예를 들어, 유저 패스워드는 완벽하게 무작위로 선택되는 경우는 드물다. 추가적으로, 계층화된-프로토콜(layered-protocol)에 의해 생성된 패킷은 균일하게 분포되지 않으며, 즉, 패킷은 대게 미리 정의된 스트럭쳐를 따르는 헤더를 포함하지 않는다. 비-균일 분포 (이후, "비-균일")를 고려하는 것을 실패하는 경우에, 추정상(supposedly) 안전한 암호체계의 보안은 심각하게 감소할 수 있다.
일반적으로, 비-균일은 몇 가지 위험이 있다. 구체적으로, 비-균일은 (1) 어떠한 시크러시 스킴의 유효한 키 길이를 심각하게 감소시키고, (2) 안전한 암호체계가 상관관계 공격(correlation attack)에 취약하도록 만든다. 예를 들어, 복수의, 분포된 상호 관련된 소스들이 암호화되고 있는 경우 하나의 소스는 다른 것에 대한 정보를 드러낼 수 있기 때문에, 전술한 것은 가장 심각하다. 결과적으로, 분포된 데이터 수집 및 전송에서 보안을 보증하기 위하여 비-균일은 안전한 암호체계에서 설명되어야 한다.
위에서 설명된 보안 통신을 가능하게 하기 위한 시크러시 스킴 시스템 및 관련된 방법은 균일화를 가정하며 (여기서 균일화는 데이터 파일의 압축 (즉, 인코딩 및/또는 암호화)의 일부로서 수행된다), 그러므로 i.i.d. 소스에 가장 적합하다. 예를 들어, 압축은 균일화의 방식에서 충분한 보증을 이끌지 못한다. 균일화로부터 약간만 벗어나도 상당한 효과가 발생할 수 있다. 결과적으로, 더욱 일반적인 소스를 위해 (즉, 비-i.i.d. 소스 모델), 약간 다른 시크러시 스킴 및 관련된 방법이 사용되어야 한다. 구체적으로, 멀티플 리스트 소스 인코딩된 메시지 (즉, 비- i.i.d. 소스 모델로부터 도출된 인코딩된 메시지)는 서로에 대한 정보를 드러낼 수 있기 때문에 위에서 설명된 비-i.i.d. 소스(예를 들어, n 번째 랜덤 변수에 대한 확률 분포가 시퀀스의 이전의 랜덤 변수의 함수인 1차 마르코브 시퀀스(first order Markov sequence))를 가지는 시스템 및 관련된 방법을 사용하는 것은 더욱 복잡한 분석을 초래할 수 있다. 예를 들어, 도 5의 인코딩과 암호화 프로세스(500)가 비- i.i.d. 소스에서 소스 심볼(즉, 데이터 파일 (Xn))의 복수의 블록에 대해 적용되고, 예를 들어, 소스 심볼의 인코딩된 암호화된 복수의 블록은 도 6의 프로세스(600)를 따라 디코딩되고 해독되는 경우에, 만일 소스 심볼의 복수의 블록이 상호 연관된다면 추출된 데이터 파일 ()로부터의 잠재적인 리스트 소스 코드의 리스트는 필수적으로 증가하지 않을 것이며, 추출된 데이터 파일 ()은 어떤 실시예에 따르면 잠재적인 리스트 소스 코드의 리스트로부터의 데이터 파일 (Xn)을 나타낸다.
예를 들어, 상호 관련된 소스 심볼(즉, 데이터 파일 (Xn))의 출력 X = X1,..., Xn 에 관하여, 위에서 설명된 개선된 스킴을 사용하여, 도청자는 H가 패리티 체크 매트릭스인 랜덤 엘레먼트의 코셋 밸류드 시퀀스(coset valued sequence)를 관찰할 수 있다. X는 심볼의 상호 관련된 소스이기 때문에, 코셋 밸류드 시퀀스는 상호 관련되지 않을 것으로 기대할 아무런 근거가 없다. 예를 들어, X가 마르코브 체인 (Markov chain)을 형성한다면, 코셋 밸류드 시퀀스는 마르코브 체인의 함수일 것이다. 일반적으로 코셋 밸류드 시퀀스가 마르코브 체인 그 자체를 형성하지 않을지라도, 코셋 밸류드 시퀀스는 여전히 상관관계로 구성될 것이다. 이러한 상관관계는 도청자가 대표적인(representative) 데이터 파일 (Xn)을 결정할 때 반드시 검색하는 (예를 들어, 추출된 데이터 파일 ()로부터의) 잠재적인 리스트 소스 코드의 리스트의 크기를 줄일 수 있고 결과적으로 개선된 스킴의 유효성을 감소시킨다. 예를 들어, 이러한 상관관계를 줄이거나 제거하는 것은 개선된 스킴의 유효성의 감소에 대응할 수 있다.
상관관계를 줄이는 한가지 방법은 소스 심볼의 큰 블록 길이를 리스트-소스 코드로의 입력으로서 사용하는 것이다. 이것은 암호화를 위해 사용되는 메시지의 길이의 증가를 요구한다. 예를 들어, 만일 X1, X2,..., XN가 Xi ∈ 데이터 파일 (Xn) 및 p(X1,..., XN) = p(X1)p(X2|X1)...p(XN|XN-1)인 마르코브 소스(즉, 마르코브 내의 스테이트 S를 파인 알파벳 (fine alphabet) Γ 내의 문자로 매핑하는 함수 f: S → Γ와 함께, 스테이셔너리(stationary) 마르코브 체인 M)에 의해 생성된 소스 심볼의 N 블록이라면, 각각의 블록을 개별적으로 인코딩하는 대신에, 도 2A의 트랜스미터(230)과 동일하거나 유사할 수 있는 트랜트미터는 복수의 바이너리 코드워드 YnNR를 계산할 수 있고, YnNR = f (X1,..., XN)이다. 이러한 접근법은 (이후, "비- i.i.d. 소스 모델 접근법") 긴 블록 길이 및 잠재적으로 높은 실시 복잡도를 요구하는 단점이 있다. 그러나, 비-i.i.d. 소스 모델 접근법은 소스 심볼의 다수의 블록에 대하여 독립적으로 수행될 필요가 없다 (즉, 프로세싱은 병렬적으로 수행될 수 있다). 소스 심볼의 코셋 밸류드 시퀀스 상관관계를 줄이기 위한 대안적인 비-i.i.d. 소스 모델 접근법은, 특히 개개의 시퀀스 Xi가 이미 상당히 큰 경우에 Y1 = f (X1, X2), Y2 = f (X2, X3),... 등등을 정의하는 것이다. 그러므로, 한가지 접근법에서 시크러시 스킴은 동시에 단일 메시지에 기초하여 사용될 수 있고, 암호화 및 인코딩은 단일 단계에서 수행될 수 있다. 또 다른 접근법에서, 스킴은 함께 암호화된 다수의 메시지의 결합에 대해 사용될 수 있고, 인코딩과 암호화는 동시에 수행된다.
또 다른 접근법에서, 확률론적인(probabilistic) 암호화가 소스 심볼의 다수의 블록에 대하여 요구되는 경우에, (예를 들어, 개선된 스킴의) 소스 인코딩된 심볼은 출력의 필수적인 무작위화를 제공하기 위하여 패리티 체크 매트릭스 H에 의해 증폭되기 전에 의사 랜덤 번호 생성기 (PRG)의 출력과 결합될 수 있다. 또 다른 접근법에서, PRG의 초기 시드는 리시버로 전송될 수 있고, 리시버는 2-페이즈 통신 스킴의 페이즈 II에서 도 2B의 리시버(240)과 동일하거나 유사할 수 있다.
예를 들어, 비록 도 1-6과 함께 설명된 보안 통신을 가능하게 하기 위한 시크러시 스킴 시스템 및 관련된 방법이 i.i.d. 소스 모델에 가장 적합한 것이라고 언급될 지라도, 시크러시 스킴 시스템 및 관련된 방법은 비-i.i.d. 소스 모델에 적용될 수 있다.
적어도 하나의 실시예에서, 본원에서 설명된 테크닉과 특징이 파일의 큰 부분 (예를 들어, 리스트 코딩된 암호화되지 않은 부분)이 네트워크에서 안전하게 분포되고 캐시될 수 있도록 허용하기 위하여 사용될 수 있다. 큰 파일 부분은 파일의 암호화된 부분 및 키가 둘 다 수신되기 전까지는 디코딩되거나 해독될 수 없을 것이다. 이러한 방식으로, 파일의 컨텐트의 대부분은 키가 분포되기 전에 분포될 수 있고 (예를 들어, 컨텐트의 프리-캐싱), 많은 상이한 시나리오에서 유용할 수 있다.
도 7을 참조하면, 도 1-6과 함께 위에서 논의된 예시적인 시스템 및 관련된 방법을 실시하기 위해 사용될 수 있는 예시적인 프로세싱 시스템(700)의 블록 다이어그램이 도시된다. 일실시예에서, 프로세싱 시스템(700)은 예를 들어 모발일 통신 장치에서 실시될 수 있지만 이에 한하지 않는다.
예를 들어, 프로세싱 시스템(700)은 BUS(740) (예를 들어, 케이블, 프린트된 회로, 비-물리적 연결 기타 등등)에 연결된 프로세서(710), 휘발성 메모리(720), 유저 인터페이스 (UI) (730) (예를 들어, 마우스, 키보드, 디스플레이, 터치 스크린 기타 등등),, 비휘발성 메모리 블록(750) 및 인코딩/ 암호화/ 해독/ 조정(tuning) 블록(760) (집합적으로, "컴포넌트(components)")으로 구성될 수 있다. BUS(740)는 컴포넌트 간의 통신을 위하여 컴포넌트에 의해 공유될 수 있다.
예를 들어, 비휘발성 메모리 블록(750)은 컴퓨터 인스트럭션, 오퍼레이팅 시스템 및 데이터를 저장할 수 있다. 일실시예에서, 컴퓨터 인스트럭션은 본원에서 설명된 프로세스 (예를 들어, 프로세스(400) 및 프로세스(600))의 전부 또는 일부를 수행하기 위하여 휘발성 메모리(720) 밖에서 프로세서(710)에 의해 수행된다. 예를 들어 인코딩/ 암호화/ 해독/ 조정 블록(760)은 도 1-6과 함께 위에서 설명된 시스템, 관련된 방법 및 프로세스를 수행하기 위해 리스트-소스 인코더, 암호화/ 해독 회로 및 시크러시 수준 조정으로 구성된다.
프로세싱 시스템(700)과 함께 설명된 다양한 구체적인 블록, 모듈, 프로세싱 로직 및 회로는 본원에서 설명된 기능을 수행하기 위하여 고안된, 일반적 목적의 프로세서, 연상 기억 장치(content addressable memory), 디지털 시그널 프로세서, 주문형 집적회로(application specific integrated circuit, ASIC), 필드 프로그램 가능한 게이트 어레이(field programmable gate array, FPGA), 모든 적절한 프로그램 가능한 로직 디바이스, 개별 게이트 또는 트랜지스터 로직, 개별 하드웨어 컴포넌트 또는 이들의 모든 조합으로 실시되거나 수행될 수 있다.
본원에서 설명된 테크닉은 설명된 특정 실시예로 제한되지 않는다. 본원에서 설명된 상이한 실시예들의 엘레먼트는 위에서 특별히 규정하지 않은 다른 실시예를 형성하기 위하여 결합될 수 있다. 본원에서 특별히 설명되지 않은 다른 실시예들 역시 발명의 범위 내에 있다.
예를 들어, 본원에서 설명된 프로세스 (예를 들어, 프로세스(500) 및 프로세스(600))는 도 7의 하드웨어 및 소프트웨어와 함께 사용하는 것으로 제한되지 않는다. 구체적으로, 프로세스는 어떠한 컴퓨팅 또는 프로세싱 환경에서도, 컴퓨터 프로그램을 수행할 수 있는 어떠한 종류의 장치 또는 장치의 집합으로도 적용가능성을 발견할 수 있다. 어떤 실시예에서, 본원에서 설명된 프로세스는 하드웨어, 소프트웨어 또는 이 둘의 조합으로 실시될 수 있다. 다른 실시예에서, 본원에서 설명된 프로세스는 적어도 하나의 입력 장치 및 하나 또는 그 이상의 출력 장치에서 (휘발성 및 비휘발성 메모리 및/또는 저장 엘레먼트를 포함하는) 프로세서에 의해 판독 가능한, 각각 프로세서, 비일시적인 기계 판독 가능 매체(non-transitory machine-readable medium) 또는 다른 제조품을 포함하는 프로그램 가능한 컴퓨터/ 장치(machines)에서 수행되는 컴퓨터 프로그램에서 실시될 수 있다. 프로그램 코드는 본원에서 설명된 모든 프로세스를 수행하고 출력 정보를 생성하기 위하여 입력 장치를 사용하여 입력된 데이터에 적용될 수 있다.
본원에서 설명된 프로세스는 설명된 특정 실시예에 제한되지 않는 다는 것이 또한 인정되어야 할 것이다. 예를 들어, 본원에서 설명된 프로세스(예를 들어 프로세스(500) 및 프로세스(600))는 도 5 및 도 6의 특정 프로세싱 순서로 제한되지 않는다. 오히려, 도 5 및 도 6의 어떠한 프로세싱 블록도 위에서 도출된 결과를 달성하기 위하여 필요하다면 순서가 재구성되거나 결합되거나 제거되거나 병렬 또는 직렬로 수행될 수 있다.
예를 들어, 도 5 및 도 6의 프로세싱 블록은 시스템의 기능을 수행하기 위해서 하나 또는 그 이상의 컴퓨터 프로그램을 수행하는 하나 또는 그 이상의 프로그램 가능한 프로세서에 의해 수행될 수 있다. 시스템의 전부 또는 일부는 특정 목적 로직 회로 (예를 들어, FPGA) 및/또는 ASIC으로서 수행될 수 있다.
본원의 주제인 다양한 개념, 스트럭쳐 및 테크닉을 설명하도록 서빙하는 바람직한 실시예를 기술했을지라도, 해당 기술분야의 통상의 기술자에게 이러한 개념, 스트럭쳐 및 테크닉을 결합하는 다른 실시예가 사용될 수 있음은 이제 명백해질 것이다. 따라서, 특허의 권리 범위는 기술된 실시예로 제한된다기보다 다음 청구항의 본질과 범위에 의해서만 제한되어야 한다.
Claims (21)
- 제1 위치에서 데이터 파일을 수신하는 단계;
상기 데이터의 심볼 사이의 상관관계를 줄이기 위하여 상기 데이터의 상기 심볼에 균일화(uniformization)를 적용하는 단계;
인코딩된(encoded) 데이터 파일을 생성하기 위하여 리스트 소스 코드(list source code)를 사용하여 상기 데이터 파일을 인코딩하는 단계;
암호화된(encrypted) 데이터 파일을 생성하기 위하여 키(key)를 사용하여 상기 데이터 파일의 선택 부분(select portion)을 암호화하는 단계; 및
상기 인코딩된 데이터 파일과 상기 암호화된 데이터 파일을 목적지의 엔드 유저(end user)에게 전송하는 단계를 포함하고,
상기 인코딩된 데이터 파일은 상기 암호화된 데이터 파일이 수신되고 상기 엔드 유저에 의해 해독될 때까지 목적지에서 디코딩될 수 없고, 상기 엔드 유저는 상기 키를 소유하는
보안 통신을 위한 방법.
- 제1항에 있어서,
상기 데이터 파일의 선택 부분을 암호화하는 단계는 상기 인코딩된 데이터 파일의 전송 전, 전송 중, 또는 전송 후에 발생할 수 있는
보안 통신을 위한 방법.
- 제1항에 있어서,
상기 목적지로 상기 인코딩된 데이터 파일의 전송 전, 전송 중, 또는 전송 후에 상기 목적지로 상기 키를 전송하는 단계를 더 포함하는
보안 통신을 위한 방법.
- 제1항에 있어서,
상기 인코딩된 데이터 파일의 전송 중에 상기 키가 훼손되는(compromised) 경우에, 오직 상기 암호화된 데이터 파일의 상기 전송은 폐지될 필요가 있는(needs to be aborted)
보안 통신을 위한 방법.
- 제4항에 있어서,
상기 인코딩된 데이터 파일의 상기 전송이 폐지되지 않은 경우에, 상기 방법의 보안(security)은 훼손되지 않는
보안 통신을 위한 방법.
- 제1항에 있어서, 리스트 소스 코드를 사용하여 상기 데이터 파일을 인코딩하는 단계는 선형(linear) 코드로 상기 데이터 파일을 인코딩하는 단계를 포함하는
보안 통신을 위한 방법.
- 제1항에 있어서,
상기 리스트 소스 코드는 리스트 소스 코드의 엔트로피 레이트 하에서 소스 시퀀스를 압축하는 코드인
보안 통신을 위한 방법.
- 제1항에 있어서,
상기 방법은 보안의 추가적인 계층(layer)으로서 근본적인(underlying) 암호화 스킴(scheme)에 적용되는
보안 통신을 위한 방법.
- 제1항에 있어서,
상기 방법은 원하는 수준의 시크러시(secrecy)로 조정될 수 있고,
상기 키의 크기는 상기 원하는 수준의 시크러시에 종속적이고,
상기 키의 상기 크기 및 암호화될 상기 파일의 상기 부분의 상기 크기 중 적어도 하나는 상기 원하는 수준의 시크러시로 조정하기 위하여 사용되는
보안 통신을 위한 방법.
- 제1항에 있어서,
상기 목적지는 떨어진(remote) 위치인
보안 통신을 위한 방법.
- 제1항에 있어서,
상기 목적지는 상기 제1 위치와 동일한
보안 통신을 위한 방법.
- 제1항에 있어서,
상기 암호화된 데이터 파일과 상기 키가 상기 엔드 유저에게 전송되기 전에, 상기 인코딩된 데이터 파일의 큰 부분이 전송되는
보안 통신을 위한 방법.
- 제1항에 있어서,
상기 방법은 네트워크에서 컨텐트 프리-캐싱(pre-caching)을 수행하기 위해 사용되고,
상기 인코딩된 데이터 파일은 상기 네트워크 내에서 분배되고 캐시되고(cached), 상기 인코딩된 데이터 파일은 상기 데이터 파일의 상기 암호화된 부분과 상기 키를 모두 수신할 때까지 디코딩되거나 해독될 수 없는
보안 통신을 위한 방법.
- 제1 위치에서 데이터 파일을 수신하도록 작동할 수 있는 리시버 모듈;
상기 리시버 모듈과 연결되고(coupled), 인코딩된 데이터 파일을 생성하기 위하여 리스트 소스 코드를 사용하여 상기 데이터 파일을 인코딩하도록 작동할 수 있는 인코더;
상기 리시버 모듈 및 인코더 모듈 중 하나 또는 그 이상과 연결되고 암호화된 데이터 파일을 생성하기 위하여 키를 사용하여 상기 데이터 파일의 선택 부분을 암호화하도록 작동할 수 있는 암호화 모듈; 및
상기 인코더 모듈 및 암호화 모듈 중 하나 또는 그 이상과 연결되고 목적지의 엔드 유저에게 상기 인코딩된 데이터 파일 및 상기 암호화된 데이터 파일을 전송하도록 작동할 수 있는 트랜스미터 모듈을 포함하고,
상기 암호화된 데이터 파일이 상기 엔드 유저에 의해 수신되고 해독될 때까지, 상기 인코딩된 데이터 파일은 상기 목적지에서 디코딩될 수 없는
보안 통신을 위한 전송 시스템.
- 제14항에 있어서,
상기 인코딩된 데이터 파일은 암호화되지 않은 인코딩된 데이터 파일인
전송 시스템.
- 제14항에 있어서,
상기 암호화된 데이터 파일은 인코딩되고 암호화된 데이터 파일인
전송 시스템.
- 제1 위치로부터 인코딩된 데이터 파일, 암호화된 데이터 파일 또는 키 중의 하나 또는 그 이상을 목적지에서 수신하도록 작동할 수 있는 리시버 모듈;
상기 리시버 모듈과 연결되고, 해독된 데이터 파일을 생성하기 위하여 키를 사용하여 상기 암호화된 데이터 파일을 해독하도록 작동할 수 있는 해독 모듈; 및
상기 해독 모듈 및 상기 리시버 모듈 중의 하나 또는 그 이상과 연결되고, 출력 데이터 파일을 생성하기 위하여 상기 인코딩된 데이터 파일 및 상기 해독된 데이터 파일 중의 하나 또는 그 이상을 디코딩하도록 작동할 수 있는 디코더 모듈을 포함하는
보안 통신을 위한 수신 시스템.
- 제17항에 있어서,
상기 인코딩된 데이터 파일은 인코딩되고 암호화되지 않은 데이터 파일인
전송 시스템.
- 제17항에 있어서,
상기 암호화된 데이터 파일은 인코딩되고 암호화된 데이터 파일인
전송 시스템.
- 제17항에 있어서,
상기 출력 데이터 파일은 잠재적인 데이터 파일들의 리스트를 포함하는
전송 시스템.
- 제20항에 있어서,
상기 디코더 모듈은 상기 잠재적인 데이터 파일들의 리스트로부터 데이터 파일을 결정하도록 작동할 수 있고,
상기 데이터 파일은 상기 암호화된 데이터 파일과 함께 상기 인코딩된 데이터 파일을 나타내는
전송 시스템.
Applications Claiming Priority (3)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
US201361783708P | 2013-03-14 | 2013-03-14 | |
US61/783,708 | 2013-03-14 | ||
PCT/US2014/026015 WO2014160194A2 (en) | 2013-03-14 | 2014-03-13 | Method and apparatus for secure communication |
Publications (1)
Publication Number | Publication Date |
---|---|
KR20150129328A true KR20150129328A (ko) | 2015-11-19 |
Family
ID=51625630
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
KR1020157029058A KR20150129328A (ko) | 2013-03-14 | 2014-03-13 | 보안 통신을 위한 방법 및 장치 |
Country Status (6)
Country | Link |
---|---|
US (1) | US10311243B2 (ko) |
EP (1) | EP2974096A4 (ko) |
JP (1) | JP2016513825A (ko) |
KR (1) | KR20150129328A (ko) |
CN (1) | CN105556880A (ko) |
WO (1) | WO2014160194A2 (ko) |
Families Citing this family (28)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
ES2742286T3 (es) | 2010-03-25 | 2020-02-13 | Massachusetts Inst Technology | Codificación de red segura para transmisión por secuencias de vídeo, inalámbrica de multirresolución |
US9294113B2 (en) | 2011-07-05 | 2016-03-22 | Massachusetts Institute Of Technology | Energy-efficient time-stampless adaptive nonuniform sampling |
US9143274B2 (en) | 2011-10-31 | 2015-09-22 | Massachusetts Institute Of Technology | Traffic backfilling via network coding in a multi-packet reception network |
ES2884092T3 (es) | 2011-11-05 | 2021-12-10 | Massachusetts Inst Technology | Método y aparato para una transmisión eficaz de información a múltiples nodos |
US9537759B2 (en) | 2012-01-31 | 2017-01-03 | Massachusetts Institute Of Technology | Multi-path data transfer using network coding |
US9160687B2 (en) | 2012-02-15 | 2015-10-13 | Massachusetts Institute Of Technology | Method and apparatus for performing finite memory network coding in an arbitrary network |
US9369255B2 (en) | 2012-10-18 | 2016-06-14 | Massachusetts Institute Of Technology | Method and apparatus for reducing feedback and enhancing message dissemination efficiency in a multicast network |
US9607003B2 (en) | 2013-03-14 | 2017-03-28 | Massachusetts Institute Of Technology | Network coded storage with multi-resolution codes |
CN105556880A (zh) | 2013-03-14 | 2016-05-04 | 麻省理工学院 | 用于安全通信的方法和装置 |
US9019643B2 (en) | 2013-03-15 | 2015-04-28 | Massachusetts Institute Of Technology | Method and apparatus to reduce access time in a data storage device using coded seeking |
US9185529B2 (en) | 2013-03-15 | 2015-11-10 | Massachusetts Institute Of Technology | Wireless reliability architecture and methods using network coding |
US10181229B2 (en) * | 2015-09-18 | 2019-01-15 | Hyatt Corporation | Method and system for implementing a universal key card |
US9749122B2 (en) * | 2015-09-25 | 2017-08-29 | Motorola Solutions, Inc. | Method of synchronizing a fountain code transmitting end and receiving end |
ITUB20155063A1 (it) * | 2015-10-16 | 2017-04-16 | Univ Degli Studi Di Roma La Sapienza Roma | ?metodo e dispositivo per selezionare dinamicamente ed in modo autonomo nel tempo, la migliore soluzione da usare per la comunicazione fra i diversi nodi di una rete di sensori sottomarina, al fine di adattarsi automaticamente alle condizioni mutevoli dell?ambiente sottomarino? |
ES2926238T3 (es) | 2017-03-29 | 2022-10-24 | Massachusetts Inst Technology | Sistema y técnica para la generación de paquetes basados en codificación de red de ventana deslizante |
US10608672B2 (en) | 2017-12-22 | 2020-03-31 | Massachusetts Institute Of Technology | Decoding concatenated codes by guessing noise |
US10944610B2 (en) * | 2017-12-22 | 2021-03-09 | Massachusetts Institute Of Technology | Decoding signals by guessing noise |
WO2019222472A1 (en) * | 2018-05-16 | 2019-11-21 | Code On Network Coding, Llc | Multipath coding apparatus and related techniques |
EP3811274A1 (en) * | 2018-06-21 | 2021-04-28 | Technische Universität München | Method and unit of operating a storage means, storage means and system for data processing |
US20220109455A1 (en) * | 2018-06-29 | 2022-04-07 | Zenotta Holding Ag | Apparatus and method for providing authentication, non-repudiation, governed access and twin resolution for data utilizing a data control signature |
US11368436B2 (en) * | 2018-08-28 | 2022-06-21 | Bae Systems Information And Electronic Systems Integration Inc. | Communication protocol |
GB201918218D0 (en) | 2019-12-11 | 2020-01-22 | Maynooth Univ | A method of decoding a codeword |
RU198678U1 (ru) * | 2019-12-31 | 2020-07-22 | Федеральное государственное казенное военное образовательное учреждение высшего образования "Краснодарское высшее военное орденов Жукова и Октябрьской Революции Краснознаменное училище имени генерала армии С.М.Штеменко" Министерства обороны Российской Федерации | Устройство адаптивного сжатия и выборочного шифрования данных цифрового изображения |
US11822902B2 (en) * | 2020-01-21 | 2023-11-21 | California Institute Of Technology | Systems and methods for performing lossless source coding |
US11431368B2 (en) | 2020-03-16 | 2022-08-30 | Massachusetts Institute Of Technology | Noise recycling |
US11870459B2 (en) | 2020-06-08 | 2024-01-09 | Massachusetts Institute Of Technology | Universal guessing random additive noise decoding (GRAND) decoder |
EP4205345A1 (en) * | 2020-08-31 | 2023-07-05 | Massachusetts Institute Of Technology | Network coding-based secure communication |
CN113157402B (zh) * | 2021-05-24 | 2021-12-14 | 深圳联创和科技有限公司 | 一种基于分区操作系统的虚拟化权限控制通信方法 |
Family Cites Families (96)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US5285497A (en) * | 1993-04-01 | 1994-02-08 | Scientific Atlanta | Methods and apparatus for scrambling and unscrambling compressed data streams |
US5577056A (en) | 1995-02-24 | 1996-11-19 | Hughes Aircraft Co. | Method and apparatus for adjusting the postamble false detection probability threshold for a burst transmission |
US5870470A (en) * | 1996-02-20 | 1999-02-09 | International Business Machines Corporation | Method and apparatus for encrypting long blocks using a short-block encryption procedure |
US6359923B1 (en) | 1997-12-18 | 2002-03-19 | At&T Wireless Services, Inc. | Highly bandwidth efficient communications |
US6128773A (en) | 1997-10-01 | 2000-10-03 | Hewlett-Packard Company | Automatically measuring software complexity |
US8949456B2 (en) | 1998-05-29 | 2015-02-03 | Blackberry Limited | System and method for redirecting data to a wireless device over a plurality of communication paths |
US6823068B1 (en) * | 1999-02-01 | 2004-11-23 | Gideon Samid | Denial cryptography based on graph theory |
JP2003520550A (ja) | 2000-01-17 | 2003-07-02 | サムスン エレクトロニクス カンパニー リミテッド | 非同期符号分割多重接続通信システムの逆方向同期伝送方式に対する直交符号割り当て装置及び方法 |
US7432935B2 (en) | 2002-11-19 | 2008-10-07 | Mental Images Gmbh | Image synthesis methods and systems for generating sample points in a graphics scene |
US20020018565A1 (en) * | 2000-07-13 | 2002-02-14 | Maximilian Luttrell | Configurable encryption for access control of digital content |
US20110238855A1 (en) | 2000-09-25 | 2011-09-29 | Yevgeny Korsunsky | Processing data flows with a data flow processor |
CN1262972C (zh) | 2000-09-28 | 2006-07-05 | 罗克马诺尔研究有限公司 | 改进的霍夫曼数据压缩方法 |
GB2367459A (en) | 2000-09-28 | 2002-04-03 | Roke Manor Research | Method of compressing data packets |
US7047169B2 (en) | 2001-01-18 | 2006-05-16 | The Board Of Trustees Of The University Of Illinois | Method for optimizing a solution set |
US7050583B2 (en) | 2001-03-29 | 2006-05-23 | Etreppid Technologies, Llc | Method and apparatus for streaming data using rotating cryptographic keys |
US7095343B2 (en) | 2001-10-09 | 2006-08-22 | Trustees Of Princeton University | code compression algorithms and architectures for embedded systems |
US20040037421A1 (en) * | 2001-12-17 | 2004-02-26 | Truman Michael Mead | Parital encryption of assembled bitstreams |
US7233669B2 (en) | 2002-01-02 | 2007-06-19 | Sony Corporation | Selective encryption to enable multiple decryption keys |
US7502317B2 (en) | 2002-05-17 | 2009-03-10 | Alcatel-Lucent Usa Inc. | Method for differentiating services and users in communication networks |
US7164691B2 (en) | 2002-06-26 | 2007-01-16 | Standard Microsystems Corporation | Communication system and method for sending isochronous streaming data across a synchronous network within a frame segment using a coding violation to signify invalid or empty bytes within the frame segment |
US7283564B2 (en) | 2002-06-26 | 2007-10-16 | Standard Microsystems Corp. | Communication system and method for sending asynchronous data and/or isochronous streaming data across a synchronous network within a frame segment using a coding violation to signify at least the beginning of a data transfer |
US7787622B2 (en) | 2002-11-13 | 2010-08-31 | General Instrument Corporation | Efficient distribution of encrypted content for multiple content access systems |
US20040203752A1 (en) | 2002-11-18 | 2004-10-14 | Toshiba America Information Systems, Inc. | Mobility communications system |
JP2004198760A (ja) * | 2002-12-19 | 2004-07-15 | Fuji Xerox Co Ltd | 圧縮暗号化装置及び伸長復号化装置 |
US7574518B2 (en) | 2003-06-23 | 2009-08-11 | Microsoft Corporation | System and method for computing low complexity algebraic network codes for a multicast network |
JP2005045612A (ja) * | 2003-07-23 | 2005-02-17 | Sony Corp | 受信装置、及び受信方法 |
US7773506B2 (en) | 2003-10-14 | 2010-08-10 | Qualcomm Incorporated | Method and apparatus for data communications over multiple channels |
US7349440B1 (en) | 2003-10-15 | 2008-03-25 | Microsoft Corporation | System and method for broadcasting information over a network |
US7408938B1 (en) | 2003-10-15 | 2008-08-05 | Microsoft Coporation | System and method for efficient broadcast of information over a network |
US7706365B2 (en) | 2003-11-25 | 2010-04-27 | California Institute Of Technology | Randomized distributed network coding |
US7225382B2 (en) | 2004-05-04 | 2007-05-29 | Telefonakiebolaget Lm Ericsson (Publ) | Incremental redundancy operation in a wireless communication network |
US7756051B2 (en) | 2004-07-02 | 2010-07-13 | Microsoft Corporation | Content distribution using network coding |
US7543144B2 (en) * | 2004-07-21 | 2009-06-02 | Beachhead Solutions | System and method for lost data destruction of electronic data stored on portable electronic devices |
EP1638239A1 (en) | 2004-09-20 | 2006-03-22 | Alcatel | Extended repeat request scheme for mobile communication networks |
US8102837B2 (en) | 2004-12-30 | 2012-01-24 | Massachusetts Institute Of Technology | Network coding approach to rapid information dissemination |
US7414978B2 (en) | 2004-12-30 | 2008-08-19 | Massachusetts Institute Of Technology | Minimum-cost routing with network coding |
US20060171534A1 (en) * | 2005-01-31 | 2006-08-03 | Baughman William P | Variable key encryption using multi-dimensional arrays |
US20060224760A1 (en) | 2005-03-15 | 2006-10-05 | 1000 Oaks Hu Lian Technology Development (Beijing) Co., Ltd. | Method and system for providing streaming content in a peer-to-peer network with network coding |
US7529198B2 (en) | 2005-04-07 | 2009-05-05 | Microsoft Corporation | Scalable overlay network |
US20060247952A1 (en) * | 2005-04-28 | 2006-11-02 | Visual Telecommunications Network, Inc. | Method and apparatus of transmitting patient medical data between a client computer and a server using electronic mail |
US7599873B2 (en) | 2005-07-19 | 2009-10-06 | Etf Labs, Llc | System and method for ETF investing |
EP1780924A1 (en) | 2005-10-31 | 2007-05-02 | Siemens Aktiengesellschaft | Method to determine the number of data streams to be used in a MIMO system |
FR2893798B1 (fr) | 2005-11-21 | 2008-01-04 | Alcatel Sa | Dispositif et procede de generation de rafales composites a preservation de priorite, pour un equipement d'un reseau de communication a commutation de rafales |
CN1988441A (zh) * | 2005-12-21 | 2007-06-27 | 中国银联股份有限公司 | 数据安全传输的方法 |
FR2895176B1 (fr) * | 2005-12-21 | 2008-02-22 | St Microelectronics Sa | Transmission securisee avec code correcteur d'erreur |
DE602005021807D1 (de) | 2005-12-22 | 2010-07-22 | Microsoft Corp | Optimierungen für Netzwerkkodierung und Netzwerkdekodierung |
US7664198B2 (en) | 2006-03-21 | 2010-02-16 | Kyocera Corporation | System and method for broadcasting data over a wireless network using rateless codes |
US8040836B2 (en) | 2006-05-26 | 2011-10-18 | Microsoft Corporation | Local network coding for wireless networks |
US8233558B2 (en) | 2006-05-31 | 2012-07-31 | Cornell University | Methods and systems for space-time coding for distributed cooperative communicaton |
US7941726B2 (en) * | 2006-06-30 | 2011-05-10 | Microsoft Corporation | Low dimensional spectral concentration codes and direct list decoding |
US20100014669A1 (en) | 2006-07-13 | 2010-01-21 | Wenyu Jiang | Codec-independent encryption of material that represents stimuli intended for human perception |
US7821980B2 (en) | 2006-08-03 | 2010-10-26 | Nokia Corporation | Variable rate soft information forwarding |
US7843831B2 (en) | 2006-08-22 | 2010-11-30 | Embarq Holdings Company Llc | System and method for routing data on a packet network |
US8027284B2 (en) | 2006-11-27 | 2011-09-27 | Ntt Docomo, Inc. | Method and apparatus for reliable multicasting in wireless relay networks |
MX2009005096A (es) | 2006-11-29 | 2009-05-27 | Ericsson Telefon Ab L M | Multidifusion segura con codificacion de paquetes de datos lienalmente independiente. |
US20080279281A1 (en) * | 2007-05-08 | 2008-11-13 | Draper Stark C | Method and System for Compound Conditional Source Coding |
US7876677B2 (en) | 2007-05-22 | 2011-01-25 | Apple Inc. | Transmission control protocol queue sorting |
US8233624B2 (en) * | 2007-05-25 | 2012-07-31 | Splitstreem Oy | Method and apparatus for securing data in a memory device |
US7945842B2 (en) | 2007-06-19 | 2011-05-17 | International Business Machines Corporation | Method and apparatus for rateless source coding with/without decoder side information |
US7912003B2 (en) | 2007-06-27 | 2011-03-22 | Microsoft Corporation | Multipath forwarding algorithms using network coding |
US8374354B2 (en) | 2007-09-27 | 2013-02-12 | Verizon Data Services Llc | System and method to pass a private encryption key |
US8705345B2 (en) | 2007-11-26 | 2014-04-22 | Iowa State University Research Foundation, Inc. | Network protection using network coding |
US20090169001A1 (en) * | 2007-12-28 | 2009-07-02 | Cisco Technology, Inc. | System and Method for Encryption and Secure Transmission of Compressed Media |
US8260952B2 (en) | 2008-01-31 | 2012-09-04 | Microsoft Corporation | Multi-rate peer-assisted data streaming |
US7916665B2 (en) | 2008-03-18 | 2011-03-29 | Canon Kabushiki Kaisha | Method and device for building of a network coding scheme for data transmission, corresponding computer program product and storage means |
US20080259796A1 (en) | 2008-04-17 | 2008-10-23 | Glen Patrick Abousleman | Method and apparatus for network-adaptive video coding |
WO2009140625A1 (en) | 2008-05-15 | 2009-11-19 | Harris Stratex Networks Operating Corporation | Systems and methods for distributed data routing in a wireless network |
US8204086B2 (en) | 2008-05-19 | 2012-06-19 | Microsoft Corporation | Natural network coding for multi-hop wireless network |
US8068426B2 (en) | 2008-05-29 | 2011-11-29 | Massachusetts Institute Of Technology | Feedback-based online network coding |
US8509288B2 (en) | 2008-06-04 | 2013-08-13 | Polytechnic Institute Of New York University | Spatial multiplexing gain for a distributed cooperative communications system using randomized coding |
US8130228B2 (en) | 2008-06-13 | 2012-03-06 | International Business Machines Corporation | System and method for processing low density parity check codes using a deterministic caching apparatus |
WO2010005181A2 (en) | 2008-06-16 | 2010-01-14 | Lg Electronics Inc. | Cooperative symbol level network coding in multi-channel wireless networks |
US8279781B2 (en) | 2008-08-28 | 2012-10-02 | Massachusetts Institute Of Technology | Random linear network coding for time division duplexing |
US8504504B2 (en) | 2008-09-26 | 2013-08-06 | Oracle America, Inc. | System and method for distributed denial of service identification and prevention |
KR100970388B1 (ko) | 2008-10-31 | 2010-07-15 | 한국전자통신연구원 | 네트워크 흐름기반 스케일러블 비디오 코딩 적응 장치 및 그 방법 |
WO2010135857A1 (zh) * | 2009-05-25 | 2010-12-02 | 华为技术有限公司 | 采用线性分组码的编码方法、装置及线性分组码生成方法、装置 |
US8130776B1 (en) | 2009-08-28 | 2012-03-06 | Massachusetts Institute Of Technology | Method and apparatus providing network coding based flow control |
US9325513B2 (en) | 2009-10-06 | 2016-04-26 | Thomson Licensing | Method and apparatus for hop-by-hop reliable multicast in wireless networks |
KR101753926B1 (ko) | 2009-10-22 | 2017-07-04 | 인터디지탈 패튼 홀딩스, 인크 | 물리층 네트워크 부호화를 이용한 쌍방향 중계 방식의 방법 및 장치 |
JP4952774B2 (ja) * | 2009-11-04 | 2012-06-13 | コニカミノルタビジネステクノロジーズ株式会社 | データ秘密化装置およびデータ復元装置、画像形成装置、データ秘密化方法、プログラム |
EP2348487A3 (en) * | 2010-01-22 | 2017-09-13 | Samsung Electronics Co., Ltd. | Method and apparatus for creating animation message |
ES2742286T3 (es) | 2010-03-25 | 2020-02-13 | Massachusetts Inst Technology | Codificación de red segura para transmisión por secuencias de vídeo, inalámbrica de multirresolución |
JP5308391B2 (ja) | 2010-03-31 | 2013-10-09 | 富士フイルム株式会社 | 画像符号化装置および方法並びにプログラム |
WO2011128268A1 (en) * | 2010-04-13 | 2011-10-20 | Fraunhofer-Gesellschaft zur Förderung der angewandten Forschung e.V. | Probability interval partioning encoder and decoder |
US8482441B2 (en) | 2011-06-03 | 2013-07-09 | Massachusetts Institute Of Technology | Method and apparatus to perform functional compression |
US9294113B2 (en) | 2011-07-05 | 2016-03-22 | Massachusetts Institute Of Technology | Energy-efficient time-stampless adaptive nonuniform sampling |
US9143274B2 (en) | 2011-10-31 | 2015-09-22 | Massachusetts Institute Of Technology | Traffic backfilling via network coding in a multi-packet reception network |
ES2884092T3 (es) | 2011-11-05 | 2021-12-10 | Massachusetts Inst Technology | Método y aparato para una transmisión eficaz de información a múltiples nodos |
US8780693B2 (en) | 2011-11-08 | 2014-07-15 | Massachusetts Institute Of Technology | Coding approach for a robust and flexible communication protocol |
US9537759B2 (en) | 2012-01-31 | 2017-01-03 | Massachusetts Institute Of Technology | Multi-path data transfer using network coding |
US9160687B2 (en) | 2012-02-15 | 2015-10-13 | Massachusetts Institute Of Technology | Method and apparatus for performing finite memory network coding in an arbitrary network |
US9607003B2 (en) | 2013-03-14 | 2017-03-28 | Massachusetts Institute Of Technology | Network coded storage with multi-resolution codes |
CN105556880A (zh) | 2013-03-14 | 2016-05-04 | 麻省理工学院 | 用于安全通信的方法和装置 |
US9369541B2 (en) | 2013-03-14 | 2016-06-14 | Massachusetts Institute Of Technology | Method and apparatus for implementing distributed content caching in a content delivery network |
US9185529B2 (en) | 2013-03-15 | 2015-11-10 | Massachusetts Institute Of Technology | Wireless reliability architecture and methods using network coding |
US9019643B2 (en) | 2013-03-15 | 2015-04-28 | Massachusetts Institute Of Technology | Method and apparatus to reduce access time in a data storage device using coded seeking |
-
2014
- 2014-03-13 CN CN201480027842.4A patent/CN105556880A/zh active Pending
- 2014-03-13 KR KR1020157029058A patent/KR20150129328A/ko not_active Application Discontinuation
- 2014-03-13 EP EP14772997.4A patent/EP2974096A4/en not_active Withdrawn
- 2014-03-13 JP JP2016502026A patent/JP2016513825A/ja active Pending
- 2014-03-13 WO PCT/US2014/026015 patent/WO2014160194A2/en active Application Filing
- 2014-03-13 US US14/208,683 patent/US10311243B2/en active Active
Also Published As
Publication number | Publication date |
---|---|
US20160154970A1 (en) | 2016-06-02 |
EP2974096A2 (en) | 2016-01-20 |
CN105556880A (zh) | 2016-05-04 |
US20180046815A9 (en) | 2018-02-15 |
EP2974096A4 (en) | 2016-11-09 |
US10311243B2 (en) | 2019-06-04 |
WO2014160194A3 (en) | 2014-12-04 |
WO2014160194A2 (en) | 2014-10-02 |
JP2016513825A (ja) | 2016-05-16 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
KR20150129328A (ko) | 보안 통신을 위한 방법 및 장치 | |
JP4885960B2 (ja) | 秘密通信方法及びその秘密通信装置 | |
US9673976B2 (en) | Method and system for encryption of blocks of data | |
Günlü et al. | Code constructions for physical unclonable functions and biometric secrecy systems | |
US5161244A (en) | Cryptographic system based on information difference | |
KR102520502B1 (ko) | 기하 대수학을 이용한 강화된 데이터-중심 암호화 시스템을 위한 방법 및 시스템 | |
Oggier et al. | An information-theoretic security evaluation of a class of randomized encryption schemes | |
Armanuzzaman et al. | A secure and efficient data transmission technique using quantum key distribution | |
US20080317243A1 (en) | Low complexity encryption method for content that is coded by a rateless code | |
US7349542B2 (en) | Systems, methods and computer program products for encryption and decryption using wavelet transforms | |
US20130010953A1 (en) | Encryption and decryption method | |
Wang et al. | Polar coding for the wiretap channel with shared key | |
Coulibaly et al. | Joint cryptography and channel-coding based on low-density parity-check codes and advanced encryption standard for 5g systems | |
du Pin Calmon et al. | Lists that are smaller than their parts: A coding approach to tunable secrecy | |
Pande et al. | Using chaotic maps for encrypting image and video content | |
Si et al. | Hierarchical polar coding for achieving secrecy over state-dependent wiretap channels without any instantaneous CSI | |
US11196447B2 (en) | Computer-implemented method for error-correction-encoding and encrypting of a file | |
Chen et al. | Polar Coding for Wiretap Channels With Random States Non-Causally Available at the Encoder | |
Si et al. | Achieving secrecy without any instantaneous CSI: polar coding for fading wiretap channels | |
Oggier et al. | An information-theoretic analysis of the security of communication systems employing the encoding-encryption paradigm | |
Jin et al. | Low transmission overhead for polar coding physical-layer encryption | |
KR102626974B1 (ko) | 화이트박스 암호의 비밀키 보호를 위한 방법 및 시스템 | |
EP4376333A1 (en) | Techniques for enhancing security in communications systems | |
KR102651443B1 (ko) | 분산 해독 키 기반의 연합 학습 방법 | |
Calmon et al. | Hiding symbols and functions: New metrics and constructions for information-theoretic security |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
A201 | Request for examination | ||
E902 | Notification of reason for refusal | ||
E601 | Decision to refuse application |