KR20010024562A - 가상 매트릭스 암호화(vme)와 가상 키 암호 방법 및 장치 - Google Patents

가상 매트릭스 암호화(vme)와 가상 키 암호 방법 및 장치 Download PDF

Info

Publication number
KR20010024562A
KR20010024562A KR1020007004433A KR20007004433A KR20010024562A KR 20010024562 A KR20010024562 A KR 20010024562A KR 1020007004433 A KR1020007004433 A KR 1020007004433A KR 20007004433 A KR20007004433 A KR 20007004433A KR 20010024562 A KR20010024562 A KR 20010024562A
Authority
KR
South Korea
Prior art keywords
data
encrypted
key
matrix
random number
Prior art date
Application number
KR1020007004433A
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 KR20010024562A publication Critical patent/KR20010024562A/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/08Key distribution or management, e.g. generation, sharing or updating, of cryptographic keys or passwords
    • H04L9/0816Key establishment, i.e. cryptographic processes or cryptographic protocols whereby a shared secret becomes available to two or more parties, for subsequent use
    • H04L9/0819Key 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/0827Key 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) involving distinctive intermediate devices or communication paths
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L9/00Cryptographic mechanisms or cryptographic arrangements for secret or secure communications; Network security protocols
    • H04L9/08Key distribution or management, e.g. generation, sharing or updating, of cryptographic keys or passwords
    • H04L9/0816Key establishment, i.e. cryptographic processes or cryptographic protocols whereby a shared secret becomes available to two or more parties, for subsequent use
    • H04L9/0838Key agreement, i.e. key establishment technique in which a shared key is derived by parties as a function of information contributed by, or associated with, each of these
    • 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/14Cryptographic mechanisms or cryptographic arrangements for secret or secure communications; Network security protocols using a plurality of keys or algorithms
    • H04L9/16Cryptographic mechanisms or cryptographic arrangements for secret or secure communications; Network security protocols using a plurality of keys or algorithms the keys or algorithms being changed during operation

Landscapes

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

Abstract

데이타 보안 방법 및 장치(도 5a~c)는 메시지의 내용을 암호화된 데이타와 함께 전송하지 않는다. 암호화된 데이타는 크게 연속적으로 변화하는 값의 배열인, 가상 매트릭스(도 2a) 내의 위치들에 대한 포인터들로 구성되고, 이러한 처리는 가상 매트릭스 암호화로 불려진다. 상기 데이타 보안 배열은 매우 큰 키(도 4)를 사용하며, 이는 높은 보안의 레벨을 생성한다. 상기 키는 전송되지 않고 대신, 보안 메시지를 전송하는데 사용되는 컴퓨터와, 보안 메시지를 수신하는데 사용되는 컴퓨터 모두에 유용한 임의의 사이즈를 갖는 파일로부터 생성된다. 본 발명은 데이타가 올바르게 해독될 수 있는 데이타 범위의 한정을 허용함으로써 보다 더 보안을 강화한다.

Description

가상 매트릭스 암호화(VME)와 가상 키 암호 방법 및 장치{Virtual matrix encryption (VME) and virtual key cryptographic method and apparatus}
많은 서로 다른 형태의 데이타 보안 방법들이 알려져 있다. 현재, 가장 널리 알려진 데이타 보안 방법들은 공개-키(public-key) 암호화를 토대로 한다. 공개-키 암호화는 예를 들어, 여기에서 참조로서 통합되는 미국 특허 4,218,582에서 설명된다. 공개-키 암호화와 관련된 다른 특허들은, 여기에서 모두 참조로서 통합되는 미국 특허들 4,200,770; 4,405,829;4,424,414; 및 4,995,082들을 포함한다.
공개-키 암호의 상대적 탁월함에 대한 이유들 중 하나는 그것이 훌륭한 형태로 키 분배의 문제를 해결한다는 것이다.
공개-키 암호에 앞서, 대칭-키 암호는 파일을 암호화하기 위해 사용되는 것과 마찬가지로, 상기 파일을 해독하기 위해 동일한 키의 사용을 요구하였다. 따라서, 상기 키는 사용자들 사이에 비밀로 통신되어야 했다. 공개-키 암호화에서, 암호화 키는 대중적으로 알려져있고, 해독 키는 비밀로 유지되어 있으며, 암호화 및 해독 키들은 서로 분리되어 있다. 공개-키 암호화는 또한 인증을 위해 사용될 수 있다.
안정된 키 분배를 요구하지 않는 중요한 이점에도 불구하고, 공개-키 암호는 또한 여러 단점을 갖는다. 관리는 전형적으로 유일한 공개-키들이 각각의 사용자에게 할당된다는 것을 보장하도록 요구된다. 개인의 공개-키는 반드시 디렉토리 안에서 나열되어야 하고, 메시지를 암호화하기 전에 상기 디렉토리 내에서 발견되어야 한다. 공개-키 암호의 계산적 부담은 키로서 사용하기 위한 임의의 소수들을 생성하는데 있어서, 그리고 프로세싱 자체를 암호화 및 해독하는데 있어서 모두 중요하다. 게다가, 계산적인 복잡성에도 불구하고, 중간 사이즈의 키들을 사용하는 공개-키 암호화는, 암호화를 해독하는데 효과적이 되도록 할 수 있는 거대한 네트워크 계산 공급원이 주어지면 불안정하다고 보여져왔다.
따라서, 필요한 것은 보안에 있어 현재의 공개-키 암호 방법을 능가하고 복잡한 계산적 부담을 최소화시키는 데이타 보안 메카니즘이다.
본 발명은 데이타 보안에 관한 것이다.
본 발명은 첨부된 도면들과 결합되어 이후의 설명으로부터 보다 더 이해될 수 있다. 도면에 있어서:
도 1은 본 발명에 따른 가상 매트릭스 암호화 기법의 일반화된 개략적인 블럭도이다;
도 2a는 가상 매트릭스의 개략적인 도면이다;
도 2b는 점진적 가상 매트릭스를 사용하는 암호화의 플로우차트이다;
도 2c는 회귀적 가상 매트릭스를 사용하는 해독의 플로우차트이다;
도 3a는 다중 알고리듬 매트릭스를 사용하는 암호화/해독의 플로우차트이다;
도 3b는 다수 경로(way) 분기 메카니즘의 제1부의 플로우차트이다;
도 3c는 도 3b의 다수 경로 분기 메카니즘의 제2부이다;
도 4는 백만 비트 가상 키의 발생을 설명하는 플로우차트이다;
도 5a는 승산 모듈로 매트릭스(MMM) 알고리듬을 위한 키 발생의 플로우차트이다;
도 5b는 상기 MMM 알고리듬을 사용하는 암호화의 플로우차트이다;
도 5c는 상기 MMM알고리듬을 사용하는 해독의 플로우차트이다;
도 6은 특정 트랜잭션 키의 발생을 설명하는 플로우차트이다;
도 7은 비트 레벨 암호화 알고리듬의 플로우차트이다;
도 8a는 감산 모듈로 매트릭스(SMM)알고리듬에 따른 암호화의 플로우차트이다;
도 8b는 상기 SMM 알고리듬을 사용하는 해독의 플로우차트이다;
도 9는 날짜 제한 알고리듬의 플로우차트이다; 그리고
도 10은 목표된 송출 시스템 알고리듬의 플로우차트이다.
일반적으로, 본 발명은 낮은 계산적인 비용으로 예외적인 보안의 정도를 제공하는 데이타 보안 방법과 장치를 제공한다. 데이타 보안 배열은 여러 가지 기본적인 관점에서, 알려진 데이타 보안 수단들과는 다르다. 가장 뚜렷하게, 메시지의 내용은 암호화된 데이타와 같이 보내지지 않는다. 오히려, 암호화된 데이타는 크고(개념적으로 무한정하게 큰), 연속적으로-변화되는 값들의 배열인 가상 매트릭스 내의 위치들에 대한 포인터들로 구성된다. 따라서, 상기 암호화 기법은 가상 매트릭스 암호화라고 불려진다. 게다가, 데이타 보안 배열은 어떤 다른 현존하는 방법보다 더 높은 보안의 레벨을 생성하는, 1백만 비트 또는 그 이상의 매우 큰 키를 사용한다. 상기 키는 전송되는 것이 아니라 보안의 메시지를 전송하는데 사용되는 컴퓨터와 보안 메시지를 수신하는데 사용되는 컴퓨터에 모두 유용한 임의의 사이즈를 갖는 파일로부터 생성된다. 여기에서 사용되는 바와 같이 가상 키 암호라는 용어는, 키 자체의 어떠한 전송도 없이 키가 전자적인 파일로부터 원격의 위치에서 재생되는 기법을 나타낸다. 상기 파일은 인터넷 등으로부터 다운로드된 파일인, 시스템 파일이 될 수 있다. 더 작은, 트랜잭션-특정 키, 예를 들어, 2,048 비트 키는 끝과 끝을 이어서 보내지고, 동일한 파일이 매우 큰 키를 생성하는데 반복적으로 사용되는 경우에 보안 위험을 피하기 위해 매우 큰 키와 결합되어 사용된다. 중심의 가상 매트릭스 알고리듬은 다른 많은 알고리듬들에 의해 둘러싸인다. 단일 바이트는 매우 많은 횟수로 암호화될 수 있고, 각각의 연속적인 결과는 또 다른 알고리듬으로 전달되며, 상기 또다른 알고리듬은, 매우 큰 키, 더 작은 키 및 예를 들어, 소스 사용자, 목적 사용자, 파일 이름, 저장 파일 이름 및 설명을 포함하는 다양한 타 사용자에 의해 공급되는 파라미터들로부터의 값을 사용하는 다양한 접속점에서난수 발생기의 초기값 재공급(reseed)에 의해 결정되는 임의의 경로로서 간주될 수 있다. 선택적인 더 높은 레벨의 보안이 유용하다. 만일, 메시지가 파일 이름 및 저장할 파일 이름과 동일한 문자열을 사용하여 보안된다면, 곧 해제(unlock)가 처음 시도될 때 상기 메시지가 해제될 단 한 범의 기회를 제공하면서 원래의 파일은 재기입될 것이다. 메시지는 전체의(Global), 특정한(Specific) 그리고 사적인(Private) 선택 사항들을 포함하여, 의도된 관중들을 특정화하는 다양한 선택 사항들에 따라서 보안될 수 있다. 전체(Global)는 사람이 올바른 키를 가지고 있고 그것들을 메시지가 보안되는 것과 매치시키는 파라미터들을 공급할 수 있다면, 데이타 보안 소프트웨어의 복사본을 가진 임의의 사람이, 상기 메시지를 해독하는 것을 허용한다. 그룹(Group)은 공통 프리픽스가 부여된 소프트웨어 프로그램의 복사본들을 갖는 그 멤버들에 의해서 동일시된 그룹내의 많은 사용자들 중 임의의 사용자에 의해 성공적인 해독의 가능성을 허용한다. 특정한 것(Specific)은 소프트웨어 프로그램 중에서 특별히 제한된 복사본을 갖는 단 한 명의 사용자가 해독하는 것을 허용한다. 마지막으로, 사적인 것(Private)은 상기 메시지를 처음에 보안하는데 사용된 동일한 소프트웨어 복사본에 의해서만 해독하는 것을 허용한다. 올바른 키와 파라미터들이 없다면, 메시지가 해제되는 것을 불가능하다. 본 발명은 데이타가 올바르게 해독될 수 있는 데이타 범위의 제한을 허용함으로써 보다 더 보안을 강화하고, 따라서 맹목적인 계산적 힘에 의해 코드를 해독하기 위한 장황한 노력들을 막을 수 있다.
이제 도 1을 참조하면, 본 발명에 따른 데이타 보안 기법이 간략화되고, 개략적인 형태로 도시된다. 현존하는 암호화/해독 알고리듬과는 달리, 본 발명의 기법은 이후에 개별적으로 설명되는, 알고리듬들의 복합체를 사용하여 보안될 데이타가 전달되는 "파이프라인"을 형성한다. 파이프라인 내부에 있는 동안, 상기 데이타는, 그 상세 내용들이 특정한 키와 파라미터들에 의해 제어되는 많은 동작들에 종속된다. 파이프라인을 따르는 하나 또는 그 이상의 포인트들에서, 데이타는 가상 매트릭스(VM) 모듈을 통과한다. 상기 VM 모듈은 데이타를 암호화하기 위해 점진적 가상 매트릭스(PVM)를 사용한다. 상기 PVM은 각각의 면에서 모든 가능한 데이타 값들이 임의의 배열에 정확하게 한번 나타나는 일종의 N 차 "루빅의 정육면체"로 추측될 수 있다. 데이타 값이 암호화될 때, 그것은 상기 데이타 값의 가상 매트릭스에서 그 당시 위치를 지시하는 포인터 값으로 대체된다. 따라서, 정육면체는 상기 데이타 값들을 섞으면서 "회전"되고 이로 인해 적어도 마지막 데이타 값의 위치는 변화하게 된다.
본 발명의 한 실시예에서, 파이프라인은 VM 모듈을 포함하여 랜덤 시퀀스로 연결되는 다양한 모듈들로 구성되는 것으로 추측될 수 있다. 각 모듈은 여러 번 나타날 수 있다. 그러나, 파이프라인 내부의 동일한 모듈의 서로 다른 단계들은 다르게 동작한다. 특히, 일부의 또는 모든 모듈들은 난수 발생기를 사용한다. 주어진 모듈의 한 단계에서 하나의 값은 난수 발생기의 초기 값을 공급(seed)하는데 사용될 수 있는 반면, 또 다른 단계에서는 다른 값이 난수 발생기의 초기 값을 공급(seed)하는데 사용될 수 있다. 따라서 같은 모듈의 다른 단계들은 완전히 다른 결과를 생성한다. 상기 난수 발생기의 초기 값을 공급(seed)하는데 사용되는 다양한 값들은, 예를 들어 원래 데이타의 마지막 바이트, 특정 트랜잭션 키(STK), "파일"키, "사용자"키, 이전 모듈로부터의 암호화된 바이트 입력 등을 포함할 수 있다. 상기 VM 모듈은 메시지 데이타가 암호화된 형태에서조차도 자체적으로 전송되지는 않는다는 중요한 결과를 생성한다. 오히려, 메시지 데이타에 대한 포인터들(가상 매트릭스 포인터들, 또는 VMP)은 전송된다. 상기 VM모듈의 이러한 중요한 특성 때문에, 그 주변에 다양한 다른 모듈들이 배열되는 중심으로서 설명된다. 구체적인 모듈들은 기호를 동반한 도 1에서 확인된다.
VMP와 STK는 모두 보안되지 않은 채널을 건너서 전송된다. 매우 큰 키(MBK(예를 들어, 백만 비트의 사이즈를 갖는))가 생성되어 국부적으로 사용되지만 전송되지 않는다. 동일한 키는 메시지를 해제하기 위해 원격 종단에서 생성된다. 동일한 키가 트랜잭션의 양 종단에서 생성되지만 한 종단에서 다른 종단으로 전송되지는 않기 때문에, 상기 키는 가상 키로 불려진다. 그러한 가상 키를 사용하는 암호 방법은, 여기에서 가상 키 암호(대칭-키 암호 및 공개-키 암호와 대비하여)라는 용어로 불려진다. 소스 측의 MBK와 목적 측의 MBK 사이의 이러한 관계는 도 1에 점선으로 표시된다. 상기 MBK는 암호화 세션의 과정 중에 동적으로 변화될 수 있다.
이전에 참조된 바에 의한 해당 모듈들은 반대쪽 파이프라인에서는 목적 측에 배열된다. 상기 파이프라인은 VMP 포인터 데이타를 수신하고 일부 STK 및 MBK에 따라 그 위에서 동작들을 수행하여 원래 데이타를 생성한다.
이제 VM모듈의 동작을 설명하는 도 2로 시작하면, 도 1의 각 모듈들이 매우 상세하게 설명될 것이다.
가상 매트릭스는 임의의 사이즈의 N-차 배열이다. 따라서 가상 매트릭스에서 특정 값은 포인터(x,y,z,..)에 의해 동일시된다. 만일, 하나의 포인터가 일정하게 유지되면, 각 다른 포인터들은 그들의 가능한 값에 이르기 때문에, 암호화되는 모든 가능한 값은 임의의 순서로 만나게 된다. 도 2a의 3차원 예에서, 가상 매트릭스는 정육면체의 형태를 취하게 된다. 상기 정육면체의 z=0인 면 위에서, 0에서 255까지의 모든 가능한 바이트 값들은 임의의 위치에서 나타난다. 도 2b는 점진적 가상 매트릭스(PVM)를 사용하는 암호화 측면에서의 동작을 설명한다. 암호화되는 1바이트 값은 가상 매트릭스 내부에 위치되고 그 값에 대한 포인터(X,Y,Z)로 대체된다. 일단 특정 값이 사용되어지면, 그것은 임의의 위치에서의 값으로 교환된다. 목적 종단(destination end)에서, 그 절차는 반전된다(도 2c).
목적 종단에서 난수 발생기의 초기 값을 재공급(reseed)하는 것은 소스 종단에서의 난수 발생기의 초기 값 재공급에 따라서 "반전 동기되고"; 그로 인해 반전된 임의의 순서들이 발생되고 목적 종단에서 가상 매트릭스로의 변화는 소스 종단에서 가상 매트릭스로의 변화에 따라서 "반전 동기된다"는 점을 주지하라.
도 3을 참조하면, 다중 알고리듬 매트릭스(MAM) 모듈의 동작이 설명된다. 상기 MAM 모듈은 주로 큰(예를 들면, 256) 개수의 독특한 암호화 알고리듬들과, 동일한갯수의 상응하는 해독 알고리듬들로 구성된다. 기본적으로, 각각의 가능한 데이타 값은 그 자체의 독특한 알고리듬에 의해 암호화/해독된다. 특히, 도 3a를 참조하면, 주어진 알고리듬이 실행될 때, 먼저 난수 발생기가 선택된 파라미터에 따라서 초기 값을 재공급받는다. 따라서, 암호화가 수행되는지 또는 해독이 수행되는지에 의존하여, 상응하는 암호화 또는 해독 알고리듬이 실행된다.
큰 분기들(예를 들어, 256-경로(way))은 도 3a 및 도 3b에 설명되는, 특별한 분기 절차를 요구할 수 있다. 입력 데이타에 의존하여 일부 개수의 절차들(예를 들어, 16절차들 P1~P16) 중 하나가 실행되고(도 3b), 이는 순서대로 더 큰 개수의 알고리듬들(예를 들어, 256알고리듬들 ED0~ED256) 중 하나가 실행되도록 한다(도 3c). 예를 들어, Q=16이면, V=2가 되고 P2가 실행된다; P2내에서 Z=1로 결정되고, 그 결과로 도 3B의 제1리스트(Z=1)에서 두 번째 나열된 알고리듬(V=2), 즉, ED=16이 실행된다.
MBK가 임의의 파일로부터 설립될 수 있는 방식은 도 4에서 설명된다. 도 4의 루틴을 종료함에 있어서, MBK는 연속적인 바이트들 K(0)...K(131,071)이 될 수 있다. 상기 루틴을 실행하기에 앞서, 이러한 바이트들은 모두 0으로 설정된다. 임의의 파일은 220비트보다 작거나, 220비트(131,072 바이트)보다 큰 길이 W를 가질 것이다. 두 경우에 있어서, 상기 난수 발생기는 소정 파라미터(P)로 초기 값을 재공급받고, 카운터(V)는 -1로 초기화되고 루프는 V가 증가되는 상태로 진입한다. W>131,072 바이트인 경우가 먼저 설명될 것이다.
카운터 V가 증가된 후에, 변수(B)는 V MOD 131,072로 설정된다.(처음 131,073이 루프를 통하여 전달되기 때문에, V MOD 131,072= V가 된다.) 상기 파일의 V번째 바이트는 곧 재생되고, 변수 A에 위치된다. 따라서 키 바이트(K(B))는 먼저 A와 배타적 논리합되고, 곧 난수 발생기에 의해 생성된 난수와 배타적 논리합된다. 이러한 동작의 방식은 상기 파일의 각각의 그리고 모든 기록이 사용될 때까지 계속된다. 결과적인 가상 키는 연속적인 바이트들 K(0)...K(131,071)이 된다.
만일, 상기 파일 사이즈가 131,072바이트보다 작으면, 동작은 유사한 방식으로 진행된다. 그러나, 이 파일의 적어도 일부 바이트들이 두 번 또는 그 이상 사용되며, 반면 각각의 키 바이트들은 단지 한번만 사용된다. 예를 들어, 상기 파일이 210바이트 길이(65,536바이트)라 가정하라. 상기 알고리듬의 실행은, 이 예에서 제1절반과 제2절반으로 나누어 질 수 있다. 제1절반 동안에, 각각의 키 바이트들은 상기 파일로부터의 각 바이트들과 배타적 논리합된다. 결과적인 키 바이트는 또한 난수 발생기로부터의 난수와 배타적 논리합된다. 상기 파일로부터의 바이트들을 카운팅하는 카운터는 중간 지점에서 둘러싸인다. 따라서, 알고리듬의 나머지 절반 동안에 그 파일의 바이트 0는 키 바이트 K(65,536)와 배타적 논리합되고, 그 결과는 난수와 배타적 논리합되어 상기 파일 중 하나가 곧 키 바이트 K(65,536) 등과 배타적 논리합된다.
도 5를 참조하면, 승산 모듈로 매트릭스는 그 출력인, 모듈로 256이 1이 되는 숫자 쌍의 매트릭스를 사용한다. 숫자 쌍의 매트릭스는 난수에 따라서 뒤섞인다. 데이타 보안 소프트웨어 내의 많은 다른 위치들에서와 마찬가지로, 난수는 난수 발생기를, 변화하는 변수(P)로 초기 값을 재공급한 후에 생성된다. 키 또는 숫자 쌍의 발생은 세션마다 단 1번만 일어난다. 그러나, 키를 사용하는 암호화/해독은 세션마다 여러 번 일어날 수 있다.
도 5a를 참조하면, 키의 쌍을 나타내는 변수들(A 및 B)은 먼저 1로 설정되고 이후에 2씩 증가된다. A는 외부 프로그램 루프 내에서 증가되고, 반면 B는 내부 프로그램 루프 내에서 증가된다. A의 각 값에 대해서, B는 A*B MOD 256 = 1이 될 때까지 증가된다. 따라서, A와 B의 값들은 매트릭스 내에 위치된다. 비록 A와 B가 단지 기수(ODD) 값을 취한다고 하더라도, 그것들은 상기 매트릭스 내에서 연속적인 우수와 기수 위치에 배치된다. 외부 루프는 A=255일 때 완료된다. 그 이후의 단계들은 A=1의 "퇴보하는 경우"를 다룬다. 마지막으로, 난수 발생기는 초기 값을 재공급받고 상기 매트릭스는 결과적인 난수에 따라서 뒤섞인다.
도 5b의 암호화하는 과정 동안, 원래의 데이타는, 변화하는 파라미터(P)에 따라서 매트릭스로부터 선택된 키 쌍의 암호화 키, E(P)와 곱해진다. 도 5c의 해독 과정 동안, 암호화된 데이타는 반대 키(D(P))와 곱해진다.
도 6을 참조하면, 특정 트랜잭션 키(STK)가 생성되는 방식이 상세하게 설명될 것이다. 바람직한 실시예에서, STK는 2048 비트(256바이트) 길이이다.
STK발생의 주요 작업은 카운터(Y)를 사용하는 외부 루프 제어와 카운터 X를 사용하는 내부 루프 제어 내에서 발생된다. 그러나, 외부 루프에 진입하기 전에, 난수 발생기는 초기값을 재공급받는다. 결과적인 난수는 1024와 곱해지고 그 결과는 변수(V)에 위치된다. 변수(V)는, 이외의 난수와 1024를 곱한 값과 곱해진다. 난수 발생기는 곧 V를 이용하여 초기 값을 재공급받고, 외부 루프 카운터(Y)는 -1로 초기화된다.
외부 루프 내에서, Y는 증가되고, 난수가 생성되어 220과 곱해지고 그 결과는 변수(E)에 위치된다. 난수 발생기는 따라서 E를 사용하여 초기 값을 재공급받는다. 내부 루프 내에서, X는 증가되고, 난수가 발생되어 256과 곱해지고 그 결과는 변수 (Z)에 위치된다. 키 바이트(K(Y*16 + X))는 곧 Z로 설정된다. 예시적인 실시예에서, 내부 루프는 외부 루프의 각각의 실행 과정 동안 16회 실행되며, 이는 또한 전체 256회 동안 16회 실행된다. 따라서, 256-바이트 키가 생성된다.
대부분의 알려진 암호화 알고리듬은 바이트 레벨에서 동작한다. 바이트 레벨에서, 2진수들은 인간에 의해 이해될 수 있다. 예를 들어, 주어진 값의 1바이트?? 특정한 텍스트 문자를 나타낼 수 있다. 바이트-레벨 암호화는 따라서 해킹에 영향을 받기 쉽다. 대조적으로 현재의 보안 소프트웨어는 그 모듈의 하나로서 비트 레벨 암호화(BLE) 모듈을 사용한다. BLE를 사용하면, 바이트는 비트 레벨에서 암호화된다. 비트는 디지탈 정보의 가장 작은 실행 가능 단위이기 때문에, 그것만으로 비트는 의미가 없다. 따라서, 비트 레벨 암호화는 바이트 레벨 암호화가 영향받기 쉬운 해킹의 형태에 실질적으로 영향을 받지 않는다.
도 7을 참조하면, BLE동안 난수 발생기는 매 바이트 동안 서로 다른 파라미터들에 의해 초기 값을 재공급받는다. BLE는 데이타 바이트(P)를, 변수(V)에 의해 제어되는 프로그램 루프를 통하여 다중 경로들(예를 들어, 8)로부터 도출된 난수와 배타적 논리합함으로써 수행될 수 있다. 초기에, F와 U 는 모두 0로 설정되고, 이후에 상기 루프가 시작된다.
상기 루프 내에서, 난수가 발생되고 256과 곱해져서 그 결과는 변수(W)에 위치된다. 변수(H)는 2U로 설정되고, W와 H는 곧 서로 논리합되고 그 결과는 변수(T)에 위치된다. W와 H(2U)의 논리합은 단지 하나의 임의의 비트를 온 또는 오프시키는 결과를 야기할 것이다. 변수들(F와 T)은 서로 더해진다. 변수(U)는 곧 증가된다. 예시적인 실시예에서, 상기 루프는 U=8이 될 때까지 8회 실행된다. U=8이 되면, 데이타 바이트는 F와 배타적 논리합되고, 그 결과로서 데이타 바이트의 비트들은 임의로 바뀌게 된다.
본 발명의 보안 데이타 소프트웨어에 의해 제공되는 보안은, 각각의 알고리듬의 세기에 의해서 뿐만 아니라 전술한 바와 같이 파이프라인 형태로 이러한 알고리듬을 결합하는 것에 의해서도 매우 방대하다. 이제 설명되는 감산 모듈 매트릭스 알고리듬은 다른 알고리듬들과 결합되어 매우 효과적이다. 상기 알고리듬은 변화하는 흐름 파라미터들인 파라미터들(A,B,C,D 및 E)을 사용한다. 예시적인 실시예에서, 이러한 파라미터들은 그들의 합이 256을 넘는다는 것을 보장하도록 선택된다.
도 8a를 참조하면, P는 파라미터들(A,B,C,D 및 E)를 사용하여 암호화된 데이타 바이트를 나타낸다. 이러한 파라미터들은 데이타로부터 각각 차례로 감산되어 모듈로 256 연산된다. 연속적인 감산 과정에서, "언더플로우" 가 일어나는 것이 확인된다. 이 언더플로우는 실질적으로, 파라미터들(A,B,C,D 및 E)에 의존하여 복잡한 방식으로 데이타를 변형시킨다.
도 8b의 해독 과정 동안에, 반대의 프로세스가 뒤이어 수행된다. 즉, A,B,C,D 및 E는 암호화된 데이타에 차례로 더해지고, 모듈로 256연산된다. 원래의 데이타는 그에 따라 재생된다.
종래의 보안 방법들에 따르면, 암호화된 메시지는 시간 제한없이 해독될 수 있다. 따라서, 메시지는 또한 하루에 시작된 암호화를 해독하기 위한 반복적인 노력들 그리고, 30일 또는 100일 동안 연속되는 암호화를 해독하기 위한 반복적인 노력들을 하루에 방해받을 수 있다. 많은 현존하는 데이타 보안 방법들은 맹목적인 힘의 공격에 직면하여 데이타 보안을 제공하는 계산적인 어려움에 의존한다. 암호화된 메시지가 해독하기 위한 천년을 갖는다고 하더라고, 암호를 풀기위한 헌신적인 노력은 천년을 넘게 이어지게 된다는 사실은 남아있다.
다른 한 편으로, 본 발명의 데이타 보안 소프트웨어는, 암호화된 메시지가 특정한 날짜에 또는 특정한 날짜 범위 내에서만 해독될 수 있도록 날짜 제한된 암호화를 제공한다. 이러한 기능은 STK 내에 있는 보안 내장 날짜 제한 정보에 의해 얻을 수 있다. 해독하는 동안, 이러한 날짜 제한 정보는 STK로부터 추출되어 컴퓨터의 실시간 클럭으로부터의 현재 날짜와 비교된다. 만일, 현재 날짜가 상기 특정 범위 내에 있지 않다면, 곧 해독 프로세스는 잘못된 결과를 산출한다. 비록 컴퓨터가 리셋될 수 있는 날짜라 하더라도, 해커는 어떤 날짜가 설정되어야 하는지를 알지 못할 것이다. 상기 날짜 제한은 암호화의 시점으로부터 제한된 시간 구간 내에서의 또는 오직 특정한 근접 구간 날짜에서만, 또는 같은 날짜 또는 먼 미래의 날짜 범위에서의 해독을 허용하도록 설정될 수 있다.
도 9를 참조하면, 날짜 제한을 설정하기 위해서, 시작(FROM)날짜 및 종료(TO) 날짜가 입력된다. FROM 날짜는 변수(C)의 0~7바이트들로서 저장되고, TO 날짜는 8~15바이트들로 저장된다. 루프 실행을 제어하는데 사용되는 카운터 변수(Y)는 -16으로 설정된다.
상기 루프 내에서, Y는 16씩 증가된다. 난수가 발생되어 16과 곱해지고 Y와 더해지며, 그 결과는 포인터 변수(B)에 저장된다. 상기 루프, 즉, C의 다음 바이트를 통하여 로우에서 하이까지의 경로는 변수(Z)에 위치된다. 난수가 발생되어 256과 곱해지고, Z는 그 결과 값이 곱해지며, 이는 Z에 다시 저장된다. Z 값은 곧 위치(B)에서 STK에 기입된다.
메시지들이, 그들을 시간적으로 특정화되게 하는 그런 방식으로 보안될 수 있는 것과 마찬가지로, 그들은 또한 수신자를 특정화하도록 만들 수 있다. 허용된 수신자들은 적절한 해독 소프트웨어를 갖는 임의의 사람(GLOBAL), 단지 특정 프리픽스가 부여된 일련의 번호를 갖는 소프트웨어의 복사본을 가진 사람(GROUP), 하나의 특정된 일련 번호가 부여된 복사본을 가진 오직 한 사람(SPECIFIC), 또는 단지 암호화에 사용된 동일한 소프트웨어 복사본을 사용하는 송신자(PRIVATE)가 될 수 있다.
해독 과정 동안, 소프트웨어 사용자는 반드시 전용의 해독 옵션을 선택해야만 한다. 사용자가 올바른 소프트웨어를 사용할 수 있다고 하더라도, 만일 그 또는 그녀가 잘못된 해독 옵션을 선택한다면, 해독은 단지 2진 폐물을 산출할 것이다.
도 10을 참조하면, 암호화 파라미터들을 특정화하는 동안, 사용자는 설명된 예에서, 전체, 그룹 또는 개인이 되도록 목표 형태를 특정화한다. 선택에 의존하여, 변수(U)는 각각 0,8 또는 16으로 설정된다. 사용되는 소프트웨어의 일련 번호는 변수(R)로 입력된다. 따라서, 난수 발생기는 초기 값을 재공급받고 루프 카운터(X)는 -1로 초기화된다. 상기 루프는 U회 실행된다. 상기 루프 내에서, X는 증가된다. 따라서, 난수가 발생되어 16과 곱해지고, R(일련 번호)의 X번째 값과 곱해지고 그 결과는 식별자 I와 더해진다. 상기 식별자 I는 초기에는 널(NULL)이고, 일련 번호 중의 U개 바이트들을 포함한다.
X= U일 때, 루프는 종료된다. I의 값은 난수 발생기의 초기 값을 재공급하는데 사용되며, 난수가 구해지고 220과 곱해져서 키 값(K)을 제공한다. 상기 키 값(K)은 메인 키들 중 하나로서의 기능을 하고, 다른 키들과 결합되어 모든 알고리듬 내의 난수 발생기의 초기 값을 재공급하는데 이용된다. 따라서, 목표 형태와, 상응하는 식별자를 토대로하여 생성되는 키(K)가 없다면, 암호화된 메시지를 성공적으로 해독할 가망이 없다.
전술한 데이타 보안 방법들은 개인 컴퓨터에서 실행되는 소프트웨어로 구현될 수 있다. 한 실시예에 있어서, 소프트웨어는 어떠한 다양한 계산 환경 내에서부터 불려질 수 있는 DOS프로그램으로 기입된다. 상기 데이타 보안 방법들은 또한, 전용의 하드웨어로 구현되는 것을 바란다면, 예를 들어 셀룰라 전화기 내에 있을 수 있다.
본 발명의 데이타 보안 방법들과 장치들이 기술되었으며, 본 발명은 사상 및 그에 따른 본질적 특성으로부터 벗어나지 않고 다른 구체적인 형태로 구현될 수 있다는 것이 당업자에 의해 평가될 것이다. 따라서, 현재 개시된 실시예들은 예시적이고 제한적이지 않을 모든 측면에서 의도된다. 본 발명의 범위는 전술한 설명보다는 청구항에 의해 지시되고, 그에 따른 균등한 취지 및 범위 내에 이르는 모든 변화들은 거기에 포함되도록 의도된다.
가상 매트릭스 암호화 부호 설명
VME 가상 매트릭스 암호화
VM 가상 매트릭스
PVM 점진적 가상 매트릭스
RVM 회귀적 가상 매트릭스
VKC 가상 키 암호
VMP 가상 매트릭스 포인터
MBK 백만 비트 가상 키
STK 특정 트랜잭션 키
DLA 날짜 제한 알고리듬
MMM 승산 모듈로 매트릭스
TDS 목표 송출 시스템
SMM 감산 모듈로 매트릭스
MAM 다중 알고리듬 매트릭스
BLE 비트 레벨 암호화
UNSECURE 보안되지 않은 송출 채널

Claims (14)

  1. 연속적인 암호화되지않은 데이타 값들을 포함하는 데이타 메시지를 암호화하는 방법에 있어서,
    가능한 암호화되지 않은 데이타 값들의 매트릭스를 생성하는 단계; 및
    암호화되지 않은 주어진 데이타 값에 대해서:
    암호화되지 않은 데이타 값을 매트릭스 내에 위치시키고 상기 암호화되지 않은 주어진 데이타 값을, 상기 매트릭스 내의 상기 암호화되지 않은 데이타 값에 대한 포인터로 대체하는 단계; 및
    상기 매트릭스 내의 암호화되지 않은 주어진 데이타 값의 위치를 변화시키는 단계를 구비하는 것을 특징으로 하는 방법.
  2. 제1항에 있어서,
    암호화되지 않은 데이타 값과 이전에 암호화된 데이타 값 중 하나로부터 다수의 소정 파라미터들 각각을 연속적으로 감산하는 단계;를 더 구비하고,
    상기 소정의 파라미터들은 언더플로우가 발생될 것을 보장하기 위해 선택되는 것을 특징으로 하는 방법.
  3. 연속적인 암호화되지 않은 데이타 값들을 포함하는 데이타 메시지를 암호화하는 방법에 있어서,
    파이프라인 형태로 배열되는 다수의 암호화 알고리듬들을 사용하여 암호화되지 않은 데이타 값을 여러 번 암호화하고, 상기 암호화 알고리듬들 중 적어도 하나는 상기 암호화 프로세스의 소정 파라미터로 재공급받는 난수 발생기로부터 구해지는 난수를 사용하는 단계;를 구비하고,
    상기 다수의 암호화 알고리듬들 중 하나는, 가능한 암호화되지 않은 데이타 값들의 매트릭스를 생성하는 것을 포함하고, 암호화되지 않은 주어진 데이타 값에 대해서:
    상기 매트릭스 내에 상기 암호화되지 않은 데이타 값을 위치시키고 상기 암호화되지 않은 주어진 데이타 값을 상기 매트릭스 내의 상기 암호화되지 않은 데이타에 대한 포인터로 대체하는 단계; 및
    상기 매트릭스 내의 상기 암호화되지 않은 주어진 데이타 값의 위치를 변화시키는 단계를 구비하는 것을 특징으로 하는 방법.
  4. 키를 교환하지 않고 공통된 암호화 키를 사용하는 제1사용자와 제2사용자 사이의 데이타 메시지를 안전하게 교환하는 방법에 있어서,
    대역-밖의 채널을 통하여 상기 제1사용자 및 상기 제2사용자 모두에게 공통적으로 유용한 컴퓨터 파일을 특정화하는 단계;
    상기 제1사용자가 상기 컴퓨터 파일을 사용하여 상기 공통 키를 생성하고 상기 데이타 메시지를 암호화하는 단계;
    상기 암호화된 메시지를 대역-내의 채널을 통하여 상기 제2사용자에게 전송하는 단계; 및
    상기 제2사용자가 상기 컴퓨터 파일을 이용하여 상기 공통 키를 생성하고 상기 데이타 메시지를 해독하는 단계를 구비하는 것을 특징으로 하는 방법.
  5. 제4항에 있어서,
    세션 특정 키를 생성하는 단계;
    상기 대역-내의 채널을 통하여 상기 세션 특정 키를 전송하는 단계; 및
    상기 공통 키를 사용하기 전에 상기 세션 특정 키를 사용하여 상기 공통 키를 섞는 단계를 더 구비하는 것을 특징으로 하는 방법.
  6. 할당된 일련 번호를 갖는 프로그램의 복사본을 사용하여, 특정화된 목표 대중에 의해서만 데이타 메시지의 해독을 허용하기 위해 상기 데이타 메시지를 암호화하는 방법에 있어서,
    목표 대중을 특정화하고 상기 일련 번호의 가변 길이 부분을 선택하는 단계;
    키를 형성하기 위해 상기 가변 길이 부분에서의 연속적인 동작들을 수행하는 단계; 및
    상기 데이타 메시지를 암호화하는 동안 상기 키를 사용하는 단계를 구비하는 것을 특징으로 하는 방법.
  7. 제6항에 있어서, 상기 가변 길이 부분은 0의 길이를 갖고 상기 특정화된 목표 대중은 일련 번호에 관계없이 상기 프로그램의 모든 사용자들을 포함하는 것을 특징으로 하는 방법.
  8. 제6항에 있어서, 상기 가변 길이 부분은 최대의 길이를 갖고, 상기 특정화된 목표 대중은 특정 일련 번호를 제공하는 상기 프로그램의 복사본을 갖는 사용자만을 포함하는 것을 특징으로 하는 방법.
  9. 제6항에 있어서, 상기 가변 길이 부분은 중간적인 길이를 갖고, 상기 특정화된 목표 대중은 공통 부분과 별개의 부분을 갖는 일련 번호들을 제공하는 상기 프로그램의 복사본들을 갖는 사용자들을 포함하는 것을 특징으로 하는 방법.
  10. 연속적인 암호화되지 않은 데이타 값들을 포함하는 데이타 메시지를 암호화하는 방법에 있어서,
    난수를 발생시키는 단계;
    상기 난수를 사용하여 임의의 값을 도출하는 단계; 및
    상기 임의의 값과 암호화될 데이타 값을 논리적으로 결합하는 단계를 구비하고, 상기 암호화될 데이타 값의 서로 다른 비트들은 하나의 논리 상태에서 다른 논리 상태로 임의로 변경되는 것을 특징으로 하는 방법.
  11. 연속적인 암호화되지 않은 데이타 값들을 포함하는 데이타 메시지를 암호화하는 방법에 있어서,
    다수(N)의 암호화 알고리듬을 제공하는 단계;
    난수를 생성하는 단계;
    상기 난수를 사용하여 임의의 값을 도출하는 단계; 및
    N-웨이 분기를 수행하고 상기 N개의 암호화 알고리듬 중 임의의 하나를 사용하여 암호화될 상기 데이타 값을 암호화하는 단계를 구비하는 것을 특징으로 하는 방법.
  12. 연속적인 암호화되지 않은 데이타 값들을 포함하는 데이타 메시지를 암호화하는 방법에 있어서,
    한 쌍의 값들이 모듈로 연산에 따라서 또다른 쌍의 곱셈의 역이 되는, 쌍으로 이루어진 값의 매트릭스를 구축하는 단계;
    상기 매트릭스를 섞는 단계;
    난수를 생성하는 단계;
    상기 난수를 사용하여 임의의 값을 도출하는 단계;
    상기 난수를 토대로 하는 한 쌍의 값들을 선택하는 단계; 및
    데이타 값을 상기 한 쌍의 값들 중에서 하나와 곱함으로써 암호화될 데이타 값을 암호화하는 단계를 구비하는 것을 특징으로 하는 방법.
  13. 암호화된 데이타 메시지를 생성하기 위해 일련의 데이타 값들을 포함하는 데이타 메시지를 암호화하는 방법에 있어서,
    사용자는, 데이타 메시지가 해독될 수 있는 날짜를 제한하는, 제한 날짜를 특정화하는 단계; 및
    암호화하고 상기 제한 날짜를 상기 암호화된 데이타 메시지와 결합시키는 단계를 구비하는 것을 특징으로 하는 방법.
  14. 암호화된 데이타 메시지가 해독될 수 있는 날짜를 제한하는 암호화된 제한 날짜를 그 안에 결합하고 있는 암호화된 데이타 메시지를 해독하는 방법에 있어서,
    상기 제한 날짜를 추출하고 해독하는 단계;
    상기 제한 날짜를, 실-시간 클럭으로부터 얻어진 현재 날짜와 비교하는 단계; 및
    상기 현재 날짜가 상기 제한 날짜와 일치하지 않으면, 상기 암호화된 메시지가 성공적으로 해독되는 것을 차단하는 단계를 구비하는 것을 특징으로 하는 방법.
KR1020007004433A 1997-10-24 1998-10-22 가상 매트릭스 암호화(vme)와 가상 키 암호 방법 및 장치 KR20010024562A (ko)

Applications Claiming Priority (3)

Application Number Priority Date Filing Date Title
US08/957,288 1997-10-24
US08/957,288 US6219421B1 (en) 1997-10-24 1997-10-24 Virtual matrix encryption (VME) and virtual key cryptographic method and apparatus
PCT/IB1998/001698 WO1999022485A1 (en) 1997-10-24 1998-10-22 Virtual matrix encryption (vme) and virtual key cryptographic method and apparatus

Publications (1)

Publication Number Publication Date
KR20010024562A true KR20010024562A (ko) 2001-03-26

Family

ID=25499364

Family Applications (1)

Application Number Title Priority Date Filing Date
KR1020007004433A KR20010024562A (ko) 1997-10-24 1998-10-22 가상 매트릭스 암호화(vme)와 가상 키 암호 방법 및 장치

Country Status (9)

Country Link
US (1) US6219421B1 (ko)
EP (1) EP1025671A1 (ko)
JP (1) JP2001522056A (ko)
KR (1) KR20010024562A (ko)
CN (1) CN1279851A (ko)
AU (1) AU9454498A (ko)
CA (1) CA2307234A1 (ko)
IL (1) IL135770A0 (ko)
WO (1) WO1999022485A1 (ko)

Families Citing this family (32)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US6850252B1 (en) 1999-10-05 2005-02-01 Steven M. Hoffberg Intelligent electronic appliance system and method
USRE48056E1 (en) 1991-12-23 2020-06-16 Blanding Hovenweep, Llc Ergonomic man-machine interface incorporating adaptive pattern recognition based control system
USRE46310E1 (en) 1991-12-23 2017-02-14 Blanding Hovenweep, Llc Ergonomic man-machine interface incorporating adaptive pattern recognition based control system
US10361802B1 (en) 1999-02-01 2019-07-23 Blanding Hovenweep, Llc Adaptive pattern recognition based control system and method
US5903454A (en) 1991-12-23 1999-05-11 Hoffberg; Linda Irene Human-factored interface corporating adaptive pattern recognition based controller apparatus
USRE47908E1 (en) 1991-12-23 2020-03-17 Blanding Hovenweep, Llc Ergonomic man-machine interface incorporating adaptive pattern recognition based control system
US6665800B1 (en) * 1999-01-26 2003-12-16 Dell Usa, L.P. System and method for securing a computer system
US6823068B1 (en) * 1999-02-01 2004-11-23 Gideon Samid Denial cryptography based on graph theory
US20020099746A1 (en) * 1999-07-26 2002-07-25 Tie Teck Sing T-sequence apparatus and method for general deterministic polynomial-time primality testing and composite factoring
US7093137B1 (en) * 1999-09-30 2006-08-15 Casio Computer Co., Ltd. Database management apparatus and encrypting/decrypting system
US6640303B1 (en) * 2000-04-28 2003-10-28 Ky Quy Vu System and method for encryption using transparent keys
JP5159006B2 (ja) * 2000-05-25 2013-03-06 インベンテイオ・アクテイエンゲゼルシヤフト 建物内において手続きを開始する方法
CA2329590C (en) 2000-12-27 2012-06-26 Certicom Corp. Method of public key generation
US7003670B2 (en) * 2001-06-08 2006-02-21 Musicrypt, Inc. Biometric rights management system
CN1322701C (zh) * 2002-07-24 2007-06-20 谢道裕 幻方身份双向认证与密钥传输一体化方法
US7406174B2 (en) * 2003-10-21 2008-07-29 Widevine Technologies, Inc. System and method for n-dimensional encryption
US7885411B2 (en) 2004-04-02 2011-02-08 Research In Motion Limited Key agreement and re-keying over a bidirectional communication path
EP1592165A1 (fr) * 2004-04-26 2005-11-02 Ahmed Friaa Méthode de cryptographie basée sur des k-cubes particuliers et utilisation de ces k-cubes en cryptographie
US7412054B2 (en) * 2004-05-04 2008-08-12 International Business Machines Corporation Matrix encryption method and system
DE102004050187B4 (de) 2004-08-23 2020-07-09 Karl Eckhart Heinz Verfahren zur Chiffrierung und Dechiffrierung von Datenelementen
US8331559B2 (en) * 2004-10-12 2012-12-11 Chiou-Haun Lee Diffused data encryption/decryption processing method
US8489659B2 (en) * 2007-10-19 2013-07-16 Schneider Electric USA, Inc. Pseudorandom number generation
US20090119115A1 (en) * 2007-11-05 2009-05-07 Shmuel Shaffer Customizing A Target Using An Endpoint
US8618908B2 (en) * 2007-11-20 2013-12-31 Cisco Technology, Inc. Providing an endpoint access to a locked target
US20110296165A1 (en) * 2009-02-25 2011-12-01 Junko Suginaka Information processing apparatus, transmission information encryption method, and transmission information encryption program
US20110320813A1 (en) * 2009-03-10 2011-12-29 Junko Suginaka Network system and authentication method thereof
CN102752108B (zh) * 2012-06-29 2014-12-10 湖北大学 魔方加密和解密方法
US10204530B1 (en) 2014-07-11 2019-02-12 Shape Matrix Geometric Instruments, LLC Shape-matrix geometric instrument
US10952069B1 (en) 2017-11-07 2021-03-16 Imam Abdulrahman Bin Faisal University IoT cryptosystem device, system, method and computer program product
US10783230B2 (en) 2018-05-09 2020-09-22 Shape Matrix Geometric Instruments, LLC Methods and apparatus for encoding passwords or other information
CN109474428A (zh) * 2018-11-28 2019-03-15 北京杰睿中恒科技有限公司 基于数字信号数据的动态加密方法和装置
US11282288B2 (en) 2019-11-20 2022-03-22 Shape Matrix Geometric Instruments, LLC Methods and apparatus for encoding data in notched shapes

Family Cites Families (11)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US744041A (en) * 1901-09-21 1903-11-17 Charles G Burke Telegraphic code.
NL279100A (ko) * 1961-05-30
DE2658065A1 (de) 1976-12-22 1978-07-06 Ibm Deutschland Maschinelles chiffrieren und dechiffrieren
US4740890A (en) * 1983-12-22 1988-04-26 Software Concepts, Inc. Software protection system with trial period usage code and unlimited use unlocking code both recorded on program storage media
US4988987A (en) * 1985-12-30 1991-01-29 Supra Products, Inc. Keysafe system with timer/calendar features
US5058160A (en) * 1988-04-29 1991-10-15 Scientific-Atlanta, Inc. In-band controller
IL108645A (en) * 1994-02-14 1997-09-30 Elementrix Technologies Ltd Protected communication method and system
US5787172A (en) * 1994-02-24 1998-07-28 The Merdan Group, Inc. Apparatus and method for establishing a cryptographic link between elements of a system
US5663896A (en) 1994-09-22 1997-09-02 Intel Corporation Broadcast key distribution apparatus and method using Chinese Remainder
US5724428A (en) 1995-11-01 1998-03-03 Rsa Data Security, Inc. Block encryption algorithm with data-dependent rotations
US5771291A (en) * 1995-12-11 1998-06-23 Newton; Farrell User identification and authentication system using ultra long identification keys and ultra large databases of identification keys for secure remote terminal access to a host computer

Also Published As

Publication number Publication date
WO1999022485A1 (en) 1999-05-06
AU9454498A (en) 1999-05-17
CA2307234A1 (en) 1999-05-06
IL135770A0 (en) 2001-05-20
CN1279851A (zh) 2001-01-10
JP2001522056A (ja) 2001-11-13
EP1025671A1 (en) 2000-08-09
US6219421B1 (en) 2001-04-17

Similar Documents

Publication Publication Date Title
KR20010024562A (ko) 가상 매트릭스 암호화(vme)와 가상 키 암호 방법 및 장치
US7809134B2 (en) Method for encrypting information and device for realization of the method
Ehrsam et al. A cryptographic key management scheme for implementing the Data Encryption Standard
US6259789B1 (en) Computer implemented secret object key block cipher encryption and digital signature device and method
JP4828068B2 (ja) コンピュータで効率的な線形フィードバック・シフト・レジスタ
EP1223707B1 (en) Variable length key encrypting system
EP0002578B1 (en) Data communication method
US7177424B1 (en) Cryptographic apparatus and method
US5703952A (en) Method and apparatus for generating a cipher stream
US6345101B1 (en) Cryptographic method and apparatus for data communication and storage
US7945049B2 (en) Stream cipher using multiplication over a finite field of even characteristic
US7899184B2 (en) Ends-messaging protocol that recovers and has backward security
US20050226408A1 (en) Apparatus and method for encryption and decryption
EP0002579A1 (en) A method of creating a secure data file
EP0002389A1 (en) Multiple domain data communication
US9270462B2 (en) Method and system for conducting high speed, symmetric stream cipher encryption
JP2001211154A (ja) 秘密鍵生成方法,暗号化方法及び暗号通信方法
JP3769804B2 (ja) 解読化方法および電子機器
JP2004515811A (ja) 暗号鍵の生成を伴う通信システム
JP2017527225A (ja) 暗号システムの再現可能なランダムシーケンス
WO2022096141A1 (en) Method for processing encrypted data
Thorvaldsen Symmetric Ciphers for Fully Homomorphic Encryption
MXPA00003950A (en) Virtual matrix encryption (vme) and virtual key cryptographic method and apparatus
JP2003500681A (ja) 暗号テキストの分散性を高めるためにデータアレイに基数変換、論理演算及び疑似乱数ジェネレータを用いる暗号化エンジン
Denning Cryptographic Techniques

Legal Events

Date Code Title Description
A201 Request for examination
E902 Notification of reason for refusal
E601 Decision to refuse application