KR20230159402A - 송신기 또는 수신기 내에서의 신호 샘플의 자가 변환 - Google Patents

송신기 또는 수신기 내에서의 신호 샘플의 자가 변환 Download PDF

Info

Publication number
KR20230159402A
KR20230159402A KR1020237030830A KR20237030830A KR20230159402A KR 20230159402 A KR20230159402 A KR 20230159402A KR 1020237030830 A KR1020237030830 A KR 1020237030830A KR 20237030830 A KR20237030830 A KR 20237030830A KR 20230159402 A KR20230159402 A KR 20230159402A
Authority
KR
South Korea
Prior art keywords
values
data
random
data blocks
processor
Prior art date
Application number
KR1020237030830A
Other languages
English (en)
Inventor
매튜 브랜든 로빈슨
앤드류 키이쓰 팔미사노
Original Assignee
램파트 커뮤니케이션즈, 인크.
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Application filed by 램파트 커뮤니케이션즈, 인크. filed Critical 램파트 커뮤니케이션즈, 인크.
Publication of KR20230159402A publication Critical patent/KR20230159402A/ko

Links

Classifications

    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L9/00Cryptographic mechanisms or cryptographic arrangements for secret or secure communications; Network security protocols
    • H04L9/06Cryptographic 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/0618Block ciphers, i.e. encrypting groups of characters of a plain text message using fixed encryption transformation
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L9/00Cryptographic mechanisms or cryptographic arrangements for secret or secure communications; Network security protocols
    • H04L9/008Cryptographic mechanisms or cryptographic arrangements for secret or secure communications; Network security protocols involving homomorphic encryption
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L9/00Cryptographic mechanisms or cryptographic arrangements for secret or secure communications; Network security protocols
    • H04L9/06Cryptographic 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/065Encryption by serially and continuously modifying data stream elements, e.g. stream cipher systems, RC4, SEAL or A5/3
    • H04L9/0656Pseudorandom key sequence combined element-for-element with data sequence, e.g. one-time-pad [OTP] or Vernam's cipher
    • H04L9/0662Pseudorandom key sequence combined element-for-element with data sequence, e.g. one-time-pad [OTP] or Vernam's cipher with particular pseudorandom sequence generator
    • H04L9/0668Pseudorandom key sequence combined element-for-element with data sequence, e.g. one-time-pad [OTP] or Vernam's cipher with particular pseudorandom sequence generator producing a non-linear pseudorandom sequence
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L2209/00Additional information or applications relating to cryptographic mechanisms or cryptographic arrangements for secret or secure communication H04L9/00
    • H04L2209/34Encoding or coding, e.g. Huffman coding or error correction

Abstract

방법은 프로세서에서 데이터 및 복수의 값을 수신하는 단계를 포함한다. 상기 데이터는 실수 값 데이터 및/또는 복소수 데이터를 포함할 수 있다. 상기 복수의 값은 복수의 난수 값 또는 복수의 의사-난수 값 중 하나를 포함한다. 상기 방법은 또한, 상기 복수의 값에 기초하여, 프로세서를 통해 자가변환을 생성하는 단계, 및 상기 프로세서를 통해, 상기 데이터를 복수의 데이터 블록으로 분할하는 단계를 포함한다. 상기 자가변환은 선형 변환 또는 역선형 변환 중 적어도 하나를 포함한다. 상기 복수의 데이터 블록으로부터의 각각의 데이터 블록은 사전정의된 크기를 가질 수 있다. 상기 방법은 또한, 상기 복수의 변환된 데이터 블록을 생성하기 위해, 상기 프로세서를 통해, 상기 복수의 데이터 블록으로부터의 각각의 데이터 블록에 상기 자가변환을 적용하는 단계, 및 상기 복수의 변환된 데이터 블록을 나타내는 신호의 전송을 유발하는 단계를 포함한다.

Description

송신기 또는 수신기 내의 신호 샘플들의 자동 변환
관련 출원에 대한 상호 참조
본 출원은, 2021년 2월 10일에 출원된, "송신기 또는 수신기 내에서의 신호 샘플의 자가 변환(Automorphic Transformations of Signal Samples Within a Transmitter or Receiver)"으로 명명된 미국 특허 가출원 제63/147,919호에 대한 우선권과 이익을 주장하며, 이의 전체 내용은 본원에 참조로서 통합된다.
기술 분야
본 개시는 데이터 통신에서의 암호화에 관한 것으로서, 보다 구체적으로 신호 처리 맥락 내에서의 신호 샘플에 대한 자가 변환을 적용하는 것에 관한 것이다.
통신은 유선 또는 무선 시스템 내에서의 데이터 전송을 포함한다. 무선 통신은, 전자파를 사용하지만, 전기 전도체를 사용하지 않는, 통신 채널 내의 지점들 간의 데이터 교환을 포함한다. 기본 통신 시스템은 송신기, 전송 매체, 및 수신기를 포함한다. 송신기는 데이터를 신호로 변환한다. 전송 매체는 수신기에 신호를 전달하며, 이에 이어서 신호는 수신자를 위한 데이터로 다시 변환된다.
일부 구현예에서, 방법은 프로세서에서 데이터 및 복수의 값을 수신하는 단계를 포함한다. 데이터는 실수 데이터 및/또는 복소수 데이터를 포함할 수 있다. 복수의 값은 (예를 들어, 난수 생성기에 의해 생성되고/되거나 이로부터 수신된) 복수의 난수 값 또는 (예를 들어, 의사(pseudo)-난수 생성기에 의해 생성되고/되거나 이로부터 수신된) 복수의 의사-난수 값 중 하나를 포함한다. 이러한 방법은 또한, 복수의 값에 기초하여, 프로세서를 통해 자가변환(automorphism)을 생성하는 단계, 및 프로세서를 통해, 해당 데이터를 복수의 데이터 블록으로 분할하는 단계를 포함한다. 자가변환은 선형 변환 또는 역선형 변환 중 적어도 하나를 포함한다. 복수의 데이터 블록으로부터의 각각의 데이터 블록은 사전정의된 크기를 가질 수 있다. 본 방법은 또한, 복수의 변환된 데이터 블록을 생성하기 위해, 프로세서를 통해, 복수의 데이터 블록으로부터의 각각의 데이터 블록에 자가변환을 적용하는 단계, 및 복수의 변환된 데이터 블록을 나타내는 신호의 전송을 유발하는 단계를 포함한다. 일단 수신되면, 복수의 변환된 데이터 블록을 원본 데이터로 변환시키도록, 복수의 변환된 데이터 블록에 자가변환의 역방향(inverse)이 적용될 수 있다.
일부 구현예에서, 시스템은 프로세서 및 프로세서 실행 가능 명령어를 저장하는 메모리를 포함한다. 프로세서 실행 가능 명령어는 복수의 값을 수신하고, 해당 복수의 값에 기초하여 자가변환을 생성하기 위한 명령어를 포함한다. 복수의 값은 복수의 난수 값 또는 복수의 의사-난수 값 중 하나를 포함한다. 프로세서 실행 가능 명령어는 또한, 복수의 데이터 블록으로부터의 각각의 데이터 블록이 사전정의된 크기를 갖도록, 데이터 세트를 복수의 데이터 블록으로 나누기 위한 명령어를 포함한다. 프로세서 실행 가능 명령어는 또한, 복수의 변환된 데이터 블록을 생성하기 위해, 복수의 데이터 블록으로부터의 각각의 데이터 블록에 자가변환을 적용하고, 복수의 변환된 데이터 블록을 나타내는 신호의 전송을 유발하기 위한 명령어를 포함한다.
도 1은 일 구현예에 따른, 통신 시스템 내에서의 전송을 위한 데이터에 자가 변환을 적용하기 위한 방법을 도시하는 흐름도이다.
도 2는 일 구현예에 따른, 통신 시스템 내에서의 전송을 위한 데이터에 자가 변환을 적용하기 위한 시스템의 다이어그램이다.
일부 공지된 통신 시스템에서, 수신된 데이터 샘플은 해당 데이터 샘플 자체의 값에 기초하여 변환된다. 예를 들어, 제1 샘플에 적용된 변환은 제2 샘플의 상 또는 크기에 기초할 수 있다. 이러한 접근법은, 예를 들어, 변환이 비선형일 수 있는 암호화의 맥락에서 구현될 경우, 오류를 야기할 수 있다. 대조적으로, 본 개시의 구현예는, 이하에서 논의되는 바와 같이, 수신된 데이터 샘플 자체의 값에 관계없이, 난수 생성기(RNG) 또는 의사-난수 생성기(PRNG)의 출력에 기초하여 수신된 데이터를 변환한다. RNG 및/또는 PRNG 출력은, 그 자체가 비선형이고, 수신된 데이터에 적용된 변환은 선형일 수 있으므로, 이에 따라 데이터에 대한 노이즈의 도입을 회피할 수 있다.
본 개시의 시스템은, 일부 구현예에 따라, 난수 생성기(RNG), 의사-난수 생성기(PRNG), 또는 난수 값 및/또는 의사-난수 값의 임의의 다른 소스를 포함할 수 있다. 난수 값 및/또는 의사-난수 값은, 이진 값, 실수 값, 복소수 값, 및/또는 임의의 다른 수학적 링 또는 필드로부터의 값을 포함할 수 있다. 적어도 하나의 자가변환(또는 본원에서 변환으로도 지칭되는 "자가 변환")이 생성되며, 여기에서 각각의 자가변환은: 난수 값(즉, RNG의 출력), 의사-난수 값(즉, PRNG의 출력), 또는 외부 인자 중 하나에 기초하여 생성된다. 각각의 자가변환은 선형, 역선형, 또는 이들의 조합일 수 있다.
일부 구현예에서, 유입 데이터(예를 들어, 실수 신호 샘플 및/또는 복소수 신호 샘플, 예컨대 베이스밴드 I/Q로서 표현됨)가 (예를 들어, 수신기를 통해) 수신되고, 다수의 데이터의 블록("데이터 블록")으로 분할된다. 다수의 데이터 블록으로부터의 각각의 데이터 블록은, 해당 데이터 블록이 자가변환과 호환되도록 사전정의된 크기(예를 들어, 사용자 정의 크기 또는 프로세서 결정 크기)를 가질 수 있다. 각 데이터 블록은 유입 데이터의 서브세트를 포함한다. 일부 구현예에서, 데이터 블록은 비트를 포함하지 않는다. 자가변환은 하나 이상의 난수 값 및/또는 의사-난수 값에 기초하여 생성되고, 신호 송신기 또는 수신기의 맥락에서(즉, 그 내부에서) 각각의 데이터 블록에 적용된다.
본원에서 사용되는 바와 같이, 자가 변환, 또는 "자가변환"은 데이터 블록으로부터 그 자체로의 등형태(isomorphism)를 지칭하며, 여기에서 등형태는 역방향 맵핑에 의해 반전될 수 있는 동일한 유형의 2개의 구조 사이의 구조-보존 맵핑이다. 본 출원의 특정 맥락에서, 자가변환은 복소수 Hilbert 공간에서의 지점으로서, 자체로서 보이는 신호 샘플의 블록의 공간으로부터의 비가역적 맵을 지칭한다. 이러한 블록은 항상 유한한 차원일 것이기 때문에, 자가변환은 신호 샘플의 블록에 작용하는 일반적인 선형 그룹의 요소로서 간주될 수 있다.
일부 구현예에서, RNG는 쌍(z1, z2)으로 이루어진 복소수 값을 생성한다. 각각의 쌍은, 예를 들어 다음의 식과 같은, 연관된 단일 매트릭스를 형성하도록 차례로 사용된다:
.
일단 단일 매트릭스를 얻으면, 이는 다수의 데이터 블록으로부터의 데이터 블록의 한 쌍의 복소수 샘플에 적용될 수 있다. 단일 매트릭스는 자가변환이고, 단일 매트릭스는 한 쌍의 복소수 샘플로부터의 신호 샘플에 작용하여, 이들을 2개의 상이한 샘플로 변환시킨다.
다른 구현예에서, RNG는 형태의 값을 생성하며, 여기에서 이다. 이에 이어서, 값은 예를 들어 곱하기로, 다수의 데이터 블록의 복소수 샘플에 적용될 수 있다. 이러한 구현예에서, 자가변환은 다음과 같다:
.
일부 구현예에서, 자가변환은 RNG 출력 및/또는 PRNG 출력에 기초하여 생성되는 선형 변환 또는 역선형 변환이며, 유입 데이터 또는 데이터 블록 내의 임의의 값에 기초하지 않는다. 대안적으로 또는 추가적으로, 자가변환은 해당 자가변환이 적용될 주어진 데이터 블록의 크기와 같은 다른 인자에 기초하여 생성될 수 있다.
일부 구현예에서, 자가변환은 RNG 출력 및/또는 PRNG 출력에 기초하여 생성된 임의의 선형/역선형 자가변환이며, 사전정의된 변환 목록으로부터의 2개의 변환(예를 들어, 순열 및 원시 매트릭스)의 레이어(동시, 병행, 또는 순차적)를 포함하지 않는다.
일부 구현예에서, 자가변환의 생성은 수신된 (전환될) 데이터에 기초하지 않으며, 따라서 수신된 데이터를 크기 및 부호 벡터로 분할하는 단계, 크기를 순열화하는 단계, 또는 일련의 비선형 레이어를 부호 벡터에 적용하는 단계를 포함하지 않는다. 오히려, 본 개시의 자가변환은 RNG/PRNG 출력에 기초하여 생성되고, 선형/역선형이며, 수신된 데이터의 블록에 적용된다.
도 1은 일 구현예에 따른, 통신 시스템 내에서의 전송을 위한 데이터에 자가 변환을 적용하기 위한 방법을 도시하는 흐름도이다. 도 1에 도시된 바와 같이, 방법(100)은, 단계(102)에서의, (예를 들어, 실수 값 데이터 및/또는 복소수 데이터를 포함하는) 데이터를 수신하는 단계, 및 단계(104)에서의, 데이터를 복수의 데이터 블록으로 분할하거나 하위로 나누는 단계를 포함한다. 방법(100)은 또한, 단계(106)에서의, (예를 들어, 난수 생성기에 의해 생성되고/되거나 이로부터 수신된) 난수 값 또는 (예를 들어, 의사-난수 생성기에 의해 생성되고/되거나 이로부터 수신된) 의사-난수 값을 포함하는 적어도 하나의 값을 수신하는 단계를 포함한다. 방법(100)은 또한, 단계(108)에서의, 적어도 하나의 값에 기초하여(수신된 데이터에 기초하지 않음) 자가변환을 생성하는 단계를 포함한다. 자가변환은 선형 변환 및/또는 역선형 변환을 포함할 수 있다. 일부 구현예에서, 복수의 데이터 블록으로부터의 각각의 데이터 블록은 공통의 사전정의된 크기를 갖는다. 다른 구현예에서, 복수의 데이터 블록으로부터의 데이터 블록은, 예를 들어 주어진 시간에 복수의 데이터 블록 내에서 상이한 크기를 가질 수 있거나, 변화하는 데이터 블록 크기의 사전정의된 패턴에 따라 시간에 따라 변하는 상이한 크기를 가질 수 있다. 이러한 일부 구현예에서, 블록 크기의 표현은 변환된 데이터 블록(들)과 송신/통신될 수 있다. 방법(100)은 또한, 단계(112)에서의 복수의 변환된 데이터 블록을 생성하기 위해, 단계(110)에서, 복수의 데이터 블록으로부터의 각각의 데이터 블록에 자가변환을 적용하는 단계, 및 복수의 변환된 데이터 블록을 나타내는 신호의 전송을 유발하는 단계를 포함한다. 선택적으로, 단계(106)으로부터 단계(110)는 단계(112)에서의 전송 이전에 사전정의된 횟수(예를 들어, 2회, 3회, 4회 등)로 반복된다.
일부 구현예에서, 방법은, (예를 들어, 실수 값 데이터 및/또는 복소수 데이터를 포함하는) 데이터를 수신하는 단계, 및 데이터를 복수의 데이터 블록으로 분할하거나 하위로 나누는 단계를 포함한다. 이에 이어서, 일련의 자가변환 또는 자가변환의 순서(예를 들어, 2개, 3개, 4개 또는 그 이상의 자가변환)가 전송 전에 복수의 데이터 블록으로부터 각각의 데이터 블록에 적용될 수 있다. 예를 들어, 일 구현예에서, 변환 동안, (예를 들어, 제1 PRNG 출력에 의해 생성된) 제1 자가변환이 주어진 데이터 블록에 적용되어, 제1 변환된 데이터 블록을 생성한다. 이에 이어서, (예를 들어, 제1 PRNG 출력과 상이한 제2 PRNG 출력에 의해 생성된) 제2 자가변환이 제1 변환된 데이터 블록에 적용되어 제2 변환된 데이터 블록을 생성한다. 다음으로, (예를 들어, 제1 외부 인자에 기초하여 생성된) 제3 자가변환이 제2 변환된 데이터 블록에 적용되어 제3 변환된 데이터 블록을 생성한다. 다음으로, (예를 들어, 제1 외부 인자와 상이한 제2 외부 인자에 기초하여 생성된) 제4 자동형태가 제3 변환된 데이터 블록에 적용되어 제4 변환된 데이터 블록을 생성한다. 일단 전술한 절차가 모든 데이터 블록에 적용되고, 그 결과로서 복수의 제4 변환된 데이터 블록이 생성되면, 방법은 복수의 제4 변환된 데이터 블록을 나타내는 신호를 (예를 들어, 원격 수신기로) 전송하는 단계를 포함할 수 있다.
도 2는 일 구현예에 따른, 통신 시스템 내에서의 전송을 위한 데이터에 자가 변환을 적용하기 위한 시스템(200)의 다이어그램이다. 도 2에 도시된 바와 같이, 시스템(200)은 송신기(220), 수신기(240), 및 선택적으로 난수 생성기(RNG) 및/또는 의사-난수 생성기(PRNG)를 포함하는 연산 장치(230)를 포함한다. 송신기(220), 수신기(240), 및 연산 장치(230)는 통신 네트워크 "N"(예를 들어, 무선 통신 네트워크 또는 유선 통신 네트워크)를 통해 서로 통신할 수 있다. 송신기(220)는 프로세서(222), (예를 들어, 하나 이상의 안테나를 포함하는) 송신 회로(224), 및 메모리(226)를 포함한다. 메모리(226)는 (예를 들어, 도 1의 방법(100)의 단계(108)에서 얻은 것과 같은) 데이터 블록(226A), 블록 크기(226B), (예를 들어, 도 1의 방법(100)의 단계(106)에서 생성된 바와 같은) 자가변환(226C), 및 선택적으로 난수 생성기(226D) 및/또는 의사-난수 생성기(226E)를 저장한다. 블록 크기(226B)는 관리자 또는 사용자에 의해, 예를 들어 송신기(220)의 그래픽 사용자 인터페이스(GUI)를 통해 사전정의될 수 있거나, 예를 들어 통신 시스템의 보안 수준, 통신 시스템의 특성, 또는 (예를 들어, 보다 큰 데이터 블록이 보다 작은 데이터 블록보다 처리에 더 긴 시간이 걸리는 경우) 원하는 처리 시간 중 하나 이상에 기초하여 자동으로 정의되고 수정될 수 있다. 송신기(220)와 유사하게, 수신기(240)는 프로세서(242), (예를 들어, 하나 이상의 안테나를 포함하는) 수신 회로(244), 및 메모리(246)를 포함한다. 메모리(246)는 데이터 블록(246A), 블록 크기(246B), 자가변환(246C) 및 선택적으로 난수 생성기(246D) 및/또는 의사-난수 생성기(246E)를 저장한다.
일부 구현예에서, 방법(예를 들어, 데이터 전송을 위한 방법)은 프로세서에서 데이터 및 복수의 값을 수신하는 단계를 포함한다. 데이터는 실수 값 데이터 및/또는 복소수 데이터를 포함할 수 있다. 복수의 값은 (예를 들어, 난수 생성기에 의해 생성되고/되거나 이로부터 수신된) 복수의 난수 값 또는 (예를 들어, 의사-난수 생성기에 의해 생성되고/되거나 이로부터 수신된) 복수의 의사-난수 값 중 하나를 포함한다. 이러한 방법은 또한, 복수의 값에 기초하여, 프로세서를 통해 자가변환을 생성하는 단계, 및 프로세서를 통해, 해당 데이터를 복수의 데이터 블록으로 분할하는 단계를 포함한다. 자가변환은 선형 변환 또는 역선형 변환 중 적어도 하나를 포함한다. 복수의 데이터 블록으로부터의 각각의 데이터 블록은 사전정의된 크기를 가질 수 있다. 방법은 또한, 복수의 변환된 데이터 블록을 생성하기 위해, 프로세서를 통해, 복수의 데이터 블록으로부터의 각각의 데이터 블록에 자가변환을 적용하는 단계, 및 복수의 변환된 데이터 블록을 나타내는 신호의 전송을 유발하는 단계를 포함한다.
일부 구현예에서, 복수의 데이터 블록으로부터의 데이터 블록은 개별 비트로 구성되지 않는다. 오히려, 각각의 데이터 블록은 하나 이상의 실수/복소수 신호 샘플(비트 세트로 표현될 수 있음)을 포함하므로, 자가변환은 개별 비트가 아닌 실수/복소수 신호 샘플에 적용된다. 즉, 수학적 관점에서, 자가변환은 복수의 데이터 블록에 대한 이진 연산을 수행하지 않는다. 이는 비트에 직접적으로 적용되는 다른 기술(예를 들어, 암호화, 스크램블링 등)과는 대조적이다.
일부 구현예에서, 복수의 값은 복수의 난수 값을 포함하고, 복수의 난수 값은 복소수 값 쌍을 포함한다. 이러한 일부 구현예에서, 자가변환은 다음과 같이 정의된다:
.
식 중, 는 복소수 값 쌍들로부터의 복소수 값 쌍이고, *는 켤레 복소수를 나타내고, 각각의 || 및 ||은 복소수 값 쌍으로부터의 해당 복소수 값의 절대값 또는 계수를 나타낸다.
일부 구현예에서, 복수의 값은 복수의 난수 값을 포함하고, 복수의 난수 값들으로부터의 각각의 난수 값은 의 형태이되, 이다.
일부 구현예에서, 시스템(예를 들어, 도 2의 송신기(220)와 같은, 송신기)은 프로세서 및 프로세서 실행 가능 명령어를 저장하는 메모리를 포함한다. 프로세서 실행 가능 명령어는 복수의 값을 수신하고, 해당 복수의 값에 기초하여 자가변환을 생성하기 위한 명령어를 포함한다. 복수의 값은 복수의 난수 값 또는 복수의 의사-난수 값 중 하나를 포함한다. 프로세서 실행 가능 명령어는 또한, 복수의 데이터 블록으로부터의 각각의 데이터 블록이 사전정의된 크기를 갖도록, 데이터 세트를 복수의 데이터 블록으로 나누기 위한 명령어를 포함한다. 프로세서 실행 가능 명령어는 또한, 복수의 변환된 데이터 블록을 생성하기 위해, 복수의 데이터 블록으로부터의 각각의 데이터 블록에 자가변환을 적용하고, 복수의 변환된 데이터 블록을 나타내는 신호의 전송(예를 들어, 도 2의 수신기(240)와 같은 수신기로의 전송)을 유발하기 위한 명령어를 포함한다.
일부 구현예에서, 자가변환은 싱글 매트릭스(예를 들어, 단일 매트릭스)로 구성되고 매트릭스의 조합 또는 레이어로 구성되지 않는다.
일부 구현예에서, 자가변환은 선형 변환 또는 역선형 변환 중 적어도 하나를 포함한다.
일부 구현예에서, 데이터 세트는 베이스밴드 신호 데이터의 실수 샘플 및 복소수 샘플을 포함한다.
일부 구현예에서, 복수의 데이터 블록으로부터의 데이터 블록은 개별 비트로 구성되지 않는다.
일부 구현예에서, 복수의 값은 복수의 난수 값을 포함하고, 복수의 난수 값은 복소수 값 쌍을 포함한다.
일부 구현예에서, 자가변환은 다음과 같이 정의된다:
.
식 중, 는 복소수 값 쌍들로부터의 복소수 값 쌍이고, *는 켤레 복소수(complex conjugate)를 나타낸다.
일부 구현예에서, 복수의 값은 복수의 난수 값을 포함하고, 복수의 난수 값들으로부터의 각각의 난수 값은 의 형태이되, 이다.
일부 구현예에서, 복수의 값은 난수 생성기가 생성한 복수의 값 값이다.
일부 구현예에서, 복수의 값은 의사-난수 생성기가 생성한 복수의 값 값이다.
일부 구현예에서, 시스템(예를 들어, 도 2의 수신기(240)와 같은 수신기)은 프로세서 및 메모리를 포함한다. 메모리는, 프로세서로 하여금 복수의 난수 값 또는 복수의 의사-난수 랜덤 값 중 하나를 포함하는 복수의 값을 수신하거나 생성하게 하고, 복수의 값에 기초하여 자가변환을 생성하게 하는 명령어를 저장한다. 메모리는 또한 프로세서로 하여금 (예를 들어, 도 2의 송신기(220)와 같은 송신기로부터) 데이터 블록을 나타내는 신호를 수신하게 하고, 수정된 데이터 블록을 얻기 위해 데이터 블록에 역방향으로 자가변환을 적용하게 하는 명령어를 저장한다. 수신된 데이터 블록은 변환된 데이터를 포함할 수 있고, 자가변환의 역방향 적용은 이전에 적용된 변환을 실행 취소하고/하거나 이를 연전시켜 변환된 데이터를 원본 데이터로 변환할 수 있다. 이러한 일부 구현예에서, 송신기와 수신기 각각이 동일한 시간에, 또는 서로로부터 사전정의된 시간 시프트에서, 동일한 난수 값 또는 의사-난수 값을 생성하거나 수신하도록, 송신기와 수신기는 동기화될 수 있다.
본원에서 사용되는 바와 같이, "송신기" 또는 "신호 송신기"는 안테나, 증폭기, 케이블, 디지털-아날로그 변환기, 필터, 상향 컨버터, 및 프로세서의 임의의 조합을 포함하는, 신호의 전송에 사용되는 컴포넌트의 임의의 조합을 포함할 수 있다. 유사하게, 본원에서 사용되는 바와 같이, "수신기" 또는 "신호 수신기"는 안테나, 증폭기, 케이블, 아날로그-디지털 변환기, 필터, 하향 컨버터, 및 프로세서의 임의의 조합을 포함하는, 신호의 수신에 사용되는 컴포넌트의 임의의 조합을 포함할 수 있다.
본원에 설명된 다양한 기술의 구현은 디지털 전자 회로에서, 또는 컴퓨터 하드웨어, 펌웨어, 소프트웨어(하드웨어에서 실행되거나 저장됨)에서, 또는 이들의 조합으로 구현될 수 있다. 구현은, 컴퓨터 프로그램 제품, 즉 프로그래밍 가능한 프로세서, 컴퓨터, 또는 다수의 컴퓨터와 같은 데이터 프로세싱 장치에 의한 프로세싱, 또는 이의 작동 제어를 위해, 컴퓨터 프로그램 제품, 즉, 예를 들어 기계 판독 가능 저장 장치(컴퓨터 판독 가능 매체, 비일시적 컴퓨터 판독 가능 저장 매체, 유형의 컴퓨터 판독 가능 저장 매체, 예를 들어 도 1의 매체(112 및 114) 참조)에 유형적으로 구현된 컴퓨터 프로그램으로 구현될 수 있다. 전술한 컴퓨터 프로그램(들)과 같은 컴퓨터 프로그램은 컴파일되거나 해석된 언어를 포함하는 프로그래밍 언어의 임의의 형태로 작성될 수 있고, 독립형 프로그램으로서 또는 컴퓨팅 환경에서 사용하기에 적합한 모듈, 컴포넌트, 서브루틴, 또는 다른 유닛으로서 배포될 수 있다. 컴퓨터 프로그램은 하나의 컴퓨터 상에서 또는 하나의 사이트에서의 다수의 컴퓨터에서 처리되도록 배포되거나, 다수의 사이트에 걸쳐 분산되고 통신 네트워크에 의해 상호 연결될 수 있다.
방법 단계는 입력 데이터를 작동시키고 출력을 생성함으로써 기능을 수행하기 위해 컴퓨터 프로그램을 실행하는 하나 이상의 프로그램 가능한 프로세서에 의해 수행될 수 있다. 방법 단계는 또한 FPGA(필드 프로그램 가능 게이트 어레이) 또는 ASIC(애플리케이션-특이적 집적 회로)와 같은 특수 목적 논리 회로에 의해 수행될 수 있고, 장치는 이로서 구현될 수 있다.
컴퓨터 프로그램의 프로세싱에 적합한 프로세서는, 예로서, 범용 및 특수 목적 마이크로프로세서, 및 임의의 종류의 디지털 컴퓨터의 임의의 하나 이상의 프로세서를 포함한다. 일반적으로, 프로세서는 판독 전용 메모리 또는 랜덤 액세스 메모리 또는 둘 모두로부터 명령어 및 데이터를 수신하게 된다. 컴퓨터의 요소는 명령어를 실행하기 위한 적어도 하나의 프로세서 및 명령어 및 데이터를 저장하기 위한 하나 이상의 메모리 장치를 포함할 수 있다. 일반적으로, 컴퓨터는 또한, 데이터를 저장하기 위한 하나 이상의 대용량 저장 장치, 예를 들어 자기, 자기-광학 디스크, 또는 광학 디스크를 포함하거나, 이들로부터 데이터를 수신하거나 이들로 데이터를 송신하거나, 또는 둘 모두를 위해 작동 가능하게 커플링될 수 있다. 컴퓨터 프로그램 명령어 및 데이터를 구현하기에 적합한 정보 캐리어는, 예로서, 반도체 메모리 장치, 예를 들어, EPROM, EEPROM, 및 플래시 메모리 장치; 자기 디스크, 예를 들어, 내장 하드 디스크 또는 착탈식 디스크; 자기 광학 디스크; 및 CD-ROM 및 DVD-ROM 디스크를 포함하는 모든 형태의 비휘발성 메모리를 포함한다. 프로세서 및 메모리는 특수 목적 로직 회로에 의해 보완되거나 이에 통합될 수 있다.
사용자와의 상호작용을 제공하기 위해, 구현예는 사용자에게 정보를 디스플레이하기 위한 디스플레이 장치, 예를 들어 액정 디스플레이(LCD 또는 LED) 모니터, 터치스크린 디스플레이, 및 사용자가 컴퓨터에 입력을 제공할 수 있는 마우스 또는 트랙볼과 같은 포인팅 장치를 갖는 컴퓨터에서 구현될 수 있다. 다른 종류의 장치 또한 사용자와의 상호작용을 제공하는 데 사용될 수 있다; 예를 들어, 사용자에게 제공된 피드백은 임의의 형태의 감각 피드백, 예를 들어, 시각 피드백, 청각 피드백, 또는 촉각 피드백일 수 있고; 사용자로부터의 입력은 음향, 음성 또는 촉각 입력을 포함하는 임의의 형태로 수신될 수 있다.
구현은, 예를 들어, 데이터 서버로서 백-엔드 컴포넌트를 포함하거나, 미들웨어 구성 요소, 예를 들어, 애플리케이션 서버를 포함하거나, 프론트 엔드 구성 요소, 예를 들어, 사용자가 구현과 상호 작용할 수 있는 그래픽 사용자 인터페이스 또는 웹 브라우저를 갖는 클라이언트 컴퓨터를 포함하는 컴퓨팅 시스템, 또는 이러한 백-엔드, 미들웨어 또는 프론트 엔드 컴포넌트의 임의의 조합에서 구현될 수 있다. 컴포넌트는 디지털 데이터 통신, 예를 들어 통신 네트워크의 임의의 형태 또는 매체에 의해 상호 연결될 수 있다. 통신 네트워크의 예는 근거리 통신망(LAN) 및 광역 통신망(WAN), 예를 들어 인터넷을 포함한다.
기술된 구현예의 특정 특징부가 본원에 기술된 바와 같이 예시되었지만, 많은 변형, 치환, 변경 및 균등물이 당업자에게 이제 일어나게 된다. 따라서, 첨부된 청구범위는 해당 구현예의 범위 내에 속하는 이러한 모든 수정 및 변경을 포함하는 것으로 의도된다는 것을 이해해야 한다. 이들은 단지 예시로서 제시되었고, 제한적이지 않으며, 형태 및 세부 사항의 다양한 변경이 이루어질 수 있음을 이해해야 한다. 본원에 기술된 장치 및/또는 방법의 임의의 부분은 상호 배타적인 조합을 제외하고는 임의의 조합으로 조합될 수 있다. 본원에 기술된 구현예는, 기술된 상이한 구현예의 기능, 컴포넌트 및/또는 특징부의 다양한 조합 및/또는 하위 조합을 포함할 수 있다.

Claims (21)

  1. 방법으로서,
    프로세서에서 데이터를 수신하는 단계;
    상기 프로세서를 통해, 복수의 난수 값 또는 복수의 의사-난수 값 중 하나를 포함하는 복수의 값을 수신하는 단계;
    상기 프로세서를 통해, 상기 복수의 값에 기초하여, 자가변환을 생성하는 단계;
    상기 프로세서를 통해, 상기 데이터를 복수의 데이터 블록으로 분할하는 단계;
    복수의 변환된 데이터 블록을 생성하기 위해, 상기 프로세서를 통해, 상기 복수의 데이터 블록으로부터의 각각의 데이터 블록에 상기 자가변환을 적용하는 단계;
    상기 복수의 변환된 데이터 블록을 나타내는 신호의 전송을 유발하는 단계를 포함하는, 방법.
  2. 제1항에 있어서, 복수의 데이터 블록으로부터의 데이터 블록은 개별 비트로 구성되지 않는, 방법.
  3. 제1항에 있어서, 복수의 값은 복수의 난수 값을 포함하고, 복수의 난수 값은 복소수 값 쌍을 포함하는, 방법.
  4. 제3항에 있어서, 자가변환은 하기 식으로 정의되며:
    ,
    식 중, 는 복소수 값 쌍들로부터의 복소수 값 쌍이고, *는 켤레 복소수(complex conjugate)를 나타내는, 방법.
  5. 제1항에 있어서, 복수의 값은 복수의 난수 값을 포함하고, 복수의 난수 값들으로부터의 각각의 난수 값은 의 형태이되, 인, 방법.
  6. 제1항에 있어서, 데이터는 실수-값 데이터를 포함하는, 방법.
  7. 제1항에 있어서, 데이터는 복소수 데이터를 포함하는, 방법.
  8. 제1항에 있어서, 자가변환은 선형 변환 또는 역선형 변환 중 적어도 하나를 포함하는, 방법.
  9. 제1항에 있어서, 복수의 값은 난수 생성기로부터 수신되는, 방법.
  10. 제1항에 있어서, 복수의 값은 의사-난수 생성기로부터 수신되는, 방법.
  11. 시스템으로서,
    프로세서; 및
    명령어를 저장하는 메모리이되, 상기 프로세서로 하여금:
    복수의 난수 값 또는 복수의 의사-난수 값 중 하나를 포함하는 복수의 값을 수신하게 하고,
    상기 복수의 값에 기초하여 자가변환을 생성하게 하고,
    데이터 세트를 복수의 데이터 블록으로 나누게 하되, 여기에서 상기 복수의 데이터 블록으로부터의 각각의 데이터 블록은 사전정의된 크기를 가지며,
    복수의 변환된 데이터 블록을 생성하기 위해, 상기 복수의 데이터 블록으로부터의 각각의 데이터 블록에 상기 자가변환을 적용하게 하고,
    상기 복수의 변환된 데이터 블록을 나타내는 신호의 전송을 유발하게 하는, 메모리를 포함하는, 시스템.
  12. 제11항에 있어서, 자가변환은 단일 매트릭스로 구성되는, 시스템.
  13. 제11항에 있어서, 자가변환은 선형 변환 또는 역선형 변환 중 적어도 하나를 포함하는, 시스템.
  14. 제11항에 있어서, 데이터 세트는 베이스밴드 신호 데이터의 실수 샘플 및 복소수 샘플을 포함하는, 시스템.
  15. 제11항에 있어서, 복수의 데이터 블록으로부터의 데이터 블록은 개별 비트로 구성되지 않는, 시스템.
  16. 제11항에 있어서, 복수의 값은 복수의 난수 값을 포함하고, 복수의 난수 값은 복소수 값 쌍을 포함하는, 시스템.
  17. 제11항에 있어서, 자가변환은 하기 식으로 정의되며:
    ,
    식 중, 는 복소수 값 쌍들로부터의 복소수 값 쌍이고, *는 켤레 복소수(complex conjugate)를 나타내는, 시스템.
  18. 제11항에 있어서, 복수의 값은 복수의 난수 값을 포함하고, 복수의 난수 값들으로부터의 각각의 난수 값은 의 형태이되, 인, 시스템.
  19. 제11항에 있어서, 복수의 값은 난수 생성기가 생성한 복수의 값인, 시스템.
  20. 제11항에 있어서, 복수의 값은 의사-난수 생성기가 생성한 복수의 값인, 시스템.
  21. 시스템으로서,
    프로세서; 및
    명령어를 저장하는 메모리이되, 상기 프로세서로 하여금:
    복수의 난수 값 또는 복수의 의사-난수 값 중 하나를 포함하는 복수의 값을 수신하게 하고,
    상기 복수의 값에 기초하여 자가변환을 생성하게 하고,
    데이터 블록을 나타내는 신호를 수신하게 하고,
    수정된 데이터 블록을 얻기 위해, 상기 데이터 블록에 상기 자가변환의 역방향을 적용하게 하는, 메모리를 포함하는, 시스템.
KR1020237030830A 2021-02-10 2022-02-10 송신기 또는 수신기 내에서의 신호 샘플의 자가 변환 KR20230159402A (ko)

Applications Claiming Priority (3)

Application Number Priority Date Filing Date Title
US202163147919P 2021-02-10 2021-02-10
US63/147,919 2021-02-10
PCT/US2022/015938 WO2022173919A1 (en) 2021-02-10 2022-02-10 Automorphic transformations of signal samples within a transmitter or receiver

Publications (1)

Publication Number Publication Date
KR20230159402A true KR20230159402A (ko) 2023-11-21

Family

ID=80448521

Family Applications (1)

Application Number Title Priority Date Filing Date
KR1020237030830A KR20230159402A (ko) 2021-02-10 2022-02-10 송신기 또는 수신기 내에서의 신호 샘플의 자가 변환

Country Status (8)

Country Link
US (1) US11936770B2 (ko)
EP (1) EP4292237A1 (ko)
JP (1) JP2024506635A (ko)
KR (1) KR20230159402A (ko)
CN (1) CN116998130A (ko)
CA (1) CA3207933A1 (ko)
IL (1) IL305104A (ko)
WO (1) WO2022173919A1 (ko)

Families Citing this family (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US11641269B2 (en) 2020-06-30 2023-05-02 Rampart Communications, Inc. Modulation-agnostic transformations using unitary braid divisional multiplexing (UBDM)
JP2024506635A (ja) 2021-02-10 2024-02-14 ランパート コミュニケーションズ,インコーポレイテッド 送信器または受信器内の信号サンプルの自己同型変換

Family Cites Families (11)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US6801579B1 (en) 2000-03-09 2004-10-05 Lucent Technologies Inc. Method and wireless communication using unitary space-time signal constellations
US7243064B2 (en) * 2002-11-14 2007-07-10 Verizon Business Global Llc Signal processing of multi-channel data
US8760994B2 (en) 2005-10-28 2014-06-24 Qualcomm Incorporated Unitary precoding based on randomized FFT matrices
US8433925B2 (en) * 2009-09-04 2013-04-30 Gradiant Cryptographic system for performing secure computations and signal processing directly on encrypted data in untrusted environments
US9281941B2 (en) * 2012-02-17 2016-03-08 International Business Machines Corporation Homomorphic evaluation including key switching, modulus switching, and dynamic noise management
JP6035459B2 (ja) * 2012-04-02 2016-11-30 株式会社クリプト・ベーシック 暗号化装置、復号化装置、及びプログラム
US11113084B2 (en) * 2015-04-10 2021-09-07 Microsoft Technology Licensing, Llc Method and system for approximate quantum circuit synthesis using quaternion algebra
KR101934638B1 (ko) 2017-05-12 2019-01-02 이화여자대학교 산학협력단 행렬 분해를 이용한 저복잡 네트워크 코딩에 기초하는 네트워크 인코딩 장치 및 방법
EP3407528A1 (en) * 2017-05-24 2018-11-28 Koninklijke Philips N.V. Cryptographic device and method
WO2021084507A1 (en) * 2019-10-31 2021-05-06 Ousia Ltd System and method for encryption and decryption using logic synthesis
JP2024506635A (ja) 2021-02-10 2024-02-14 ランパート コミュニケーションズ,インコーポレイテッド 送信器または受信器内の信号サンプルの自己同型変換

Also Published As

Publication number Publication date
JP2024506635A (ja) 2024-02-14
EP4292237A1 (en) 2023-12-20
IL305104A (en) 2023-10-01
US11936770B2 (en) 2024-03-19
WO2022173919A1 (en) 2022-08-18
US20220255728A1 (en) 2022-08-11
CA3207933A1 (en) 2022-08-18
CN116998130A (zh) 2023-11-03

Similar Documents

Publication Publication Date Title
JP7412462B2 (ja) 変調アグノスティック・ユニタリブレイド分割多重化信号変換のためのシステム、方法及び装置
KR20230159402A (ko) 송신기 또는 수신기 내에서의 신호 샘플의 자가 변환
KR101084144B1 (ko) Ofdm 또는 ofdma 통신 시스템에서의 첨두전력 대평균전력비 개선 방법 및 그 장치
US11075681B2 (en) Communication system and method using layered construction of arbitrary unitary matrices
KR20220058591A (ko) 수정된 거의-등각 타이트 프레임(netf) 행렬들을 사용하여 높은 데이터 레이트들을 달성하기 위한 통신 시스템 및 방법
Branciard et al. Quantifying the nonlocality of Greenberger-Horne-Zeilinger quantum correlations by a bounded communication simulation protocol
JP2022550045A (ja) 超特大クラスの高速ユニタリ変換を備えた特大多入力多出力アンテナシステムを用いる通信システム及び方法
Bedingham et al. The thermodynamic cost of quantum operations
Morawiecki Practical attacks on the round‐reduced PRINCE
CN104753848A (zh) 一种用于光通信dco-ofdm系统低复杂度峰均比抑制方法
Kak The number theoretic Hilbert transform
Chen et al. Computer cryptography through performing chaotic modulation on intrinsic mode functions with non‐dyadic number of encrypted signals
Jiang et al. Efficient design of prototype filter for large scale filter bank‐based multicarrier systems
Levy et al. Processing and Frequency Analysis of Random Signals
Liu et al. Research on image encryption based on Lorenz chaotic mapping in finite field
Aravinda Ruling out the class of statistical processes involving two noninteracting identical particles in two modes
WO2023232228A1 (en) A machine learning model -based radio receiver with both time and frequency domain processing in the machine learning model, and related methods and computer programs
KR20000031643A (ko) 진폭과 위상 신호를 이용한 고속 퓨리에 변환 스크램블링 방법
KR20120079034A (ko) Eijt 방법 및 장치