KR970005596B1 - 디지틀 정보의 암호화 및 복호화 방법 - Google Patents

디지틀 정보의 암호화 및 복호화 방법 Download PDF

Info

Publication number
KR970005596B1
KR970005596B1 KR1019940016485A KR19940016485A KR970005596B1 KR 970005596 B1 KR970005596 B1 KR 970005596B1 KR 1019940016485 A KR1019940016485 A KR 1019940016485A KR 19940016485 A KR19940016485 A KR 19940016485A KR 970005596 B1 KR970005596 B1 KR 970005596B1
Authority
KR
South Korea
Prior art keywords
members
data
level
information
secret key
Prior art date
Application number
KR1019940016485A
Other languages
English (en)
Other versions
KR960006386A (ko
Inventor
정현수
Original Assignee
재단법인 한국전자통신연구소
양승택
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Application filed by 재단법인 한국전자통신연구소, 양승택 filed Critical 재단법인 한국전자통신연구소
Priority to KR1019940016485A priority Critical patent/KR970005596B1/ko
Publication of KR960006386A publication Critical patent/KR960006386A/ko
Application granted granted Critical
Publication of KR970005596B1 publication Critical patent/KR970005596B1/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/30Public key, i.e. encryption algorithm being computationally infeasible to invert or user's encryption keys not requiring secrecy
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L2209/00Additional information or applications relating to cryptographic mechanisms or cryptographic arrangements for secret or secure communication H04L9/00
    • H04L2209/04Masking or blinding

Landscapes

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

Abstract

내용 없음.

Description

디지틀 정보의 암호화 및 복호화 방법
제1도는 패스워드 테이블을 나타낸 도면.
제2a도 및 제2b도는 본 발명의 방법을 단계별로 나타낸 흐름도.
제2c도는 제2a도 및 제2b도에서 변동 비밀키의 생성과정을 상세히 나타낸 흐름도.
제3도는 대표성 알고리즘에 따라 변동 비밀키의 생성 및 데이타의 압축/복원을 위한 구성원 테이블을 나타낸 도면.
본 발명은 디지틀 정보의 통신에 관한 것으로, 구체적으로는 정보처리 및 통신과정에서 그 정보가 누출되는 것을 방지하기 위한 정보의 암호화 및 복호화 방법에 관한 것이다.
정보화 사회의 진전에 따라, 다양한 정보들이 통신망을 통하여 유통되고 있다.
이러한 다양한 정보들은 음성, 데이타(메일), 영상 정보 등으로 대별될 수 있는데, 정보의 중요성을 아무리 강조해도 지나치지 않음에도 불구하고, 그들 대부분은 다양한 매체들을 통하여 원문으로 전달되어져 왔다.
따라서, 정보의 누출을 막아 완전하게 정보를 보호하고 원하는 대상에게만 전달할 수 있는 방법의 필요성이 강력히 제기되어 왔다.
특히, 개인통신시대가 실현됨에 따라 가족 간에도 각 구성원의 정보에 대한 보호가 요구되고 있으나 이러한 요구를 만족시킬 수 있는 암호화 방법이 없다는 것이 큰 문제로 부각되고 있다.
이상과 같은 정보 보호의 필요성을 충족시키기 위해, 정보를 보다 안전하게 보호 및 전달할 수 있는 새로운 암호화 방법들과, 정보에 접할 수 있는 자격을 가진 사람임을 인증하고 그것을 식별하기 위한 디지틀 서명 방법들이 제안되었으며, 현재에는 그들의 표준화가 진행되고 있다.
그와 같은 방법들로서는, 예를 들면, 소인수분해 또는 이산대수를 이용한 암호화 및 복호화 방법과, 디지틀 서명 방법 등이 있다.
그러나, 그와 같은 방법들에서는, 그 응용이 텍스트(text) 데이타에만 국한되고, 정보의 보호를 지나치게 강조함으로써 키(key : 데이타를 암호화하거나 복호화할 때 기준이 되는 숫자열이나 문자열)의 관리에 상당한 곤란이 뒤따르고 있으며, 암호화 및 복호화를 위한 정보의 처리 시간도 많이 소요되어, 통신의 본질인 정보의 신속한 전달의 측면에서, 바람직하지 않은 방법들로 평가되고 있다.
따라서, 이런 방법들이 현재까지 실용화되지 못하고 있는 실정에 놓여 있다.
본 발병의 목적은 정보를 병렬로 암호화 및 복호화할 수 있는 새로운 방법을 제공하는 것이다.
본 발명의 다른 목적은 디지틀 서명 및 그 식별을 위한 새로운 방법을 제공하는 것이다.
본 발명의 특징에 따르면, SIMD(Single Instruction Multiple Data Sets)로 암호화시스템을 설계 및 구현하여 원문정보를 병렬로 암복호화가 가능하게 한다.
본 발명의 암호화 방법에 따르면, 고정비밀키와 사용자들의 공개키를 입력으로서 받아 들여 대표성 알고리즘을 통하여 변동비밀키를 생성하고, 변동비밀키를 이용하여 입력 데이타를 독립된 영역들로 분할하여 분할된 각각 영역들이 대표성 알고리즘을 통하여 압축되게 하며, 압축된 결과와 생성된 비밀키를 배타적 논리합(Exclusive OR)하여 암호문을 생성한다.
암호문의 복호화 방법은 암호화 과정과 반대로 진행하여 원문정보를 생성하는 것이다.
먼저, 본 발명에 대한 상세한 설명에 앞서, 여기서 사용될 용어들을 정의한다.
예를 들어, 1차원(dimension)(점)이 2차원(면)으로, 2차원이 3차원(공간)으로 변환되는 것과 같이 일반적으로 n차원의 입력 데이타를 n+1차원의 데이타로 만드는 것을 '차원 변환'이라고 정의한다.
본 발명에서는, 어떤 데이타를 2차원(면)으로 나타낼 때보다 3차원(공간)으로 나타낼 때, 즉 입력 데이타의 차원이 높아질수록 동일한 속성을 갖는 데이타가 많이 중복되므로 그것들의 압축율이 향상된다는 점과 흑백 그레이 영상 데이타에서 컬러 영상 데이타까지도 처리가 가능하다는 점을 고려하여, 입력 데이타에 대한 차원 변환을 수행하고자 한다.
모든 종류의 입력 데이타를 독립 블럭 영역들로 변경하는데 기본이 되는 다차원 대표성(多次元 代表性)의 개념을 설명함에 있어 필요한 용어들을 다음과 같이 정의한다.
(정의 1) 다차원 구조
다차원 구조는 n개의 구성원소들로 구성되며, (Xn, Xn-1, …, X1)로 표현된다.
(정의 2) 구성원(構成員)
구성원은 (Xn, Xn-1, …, X1)로 표현된 것으로 정의되고, 각각은 n개의 구성원소들로 구성된다.
(정의 3) 구성원소(構成元素)
구성원소는 입력 데이타의 처리단위를 기준으로 정의된다.
예를 들어, 입력 데이타를 4,096비트씩 독립적으로 처리하고, 3차원 구조 대표성을 이용할 경우, 16×16×16=4,096으로 0으로부터 15 사이의 값들로 구성원소들이 표현된다.
(정의 4) 구성원의 값
구성원의 값은 그 구성원의 속성(屬性)을 나타내는 것으로 정의한다.
예를들어, 구성원 값이 1이면 흑색을 나타내고, 0이면 백색을 나타낸다.
(정의 5) 구성원의 레벨(level)
구성원의 구성원소들을 이진(binary)으로 표현하여 우측으로부터 좌측으로 연속되는 '0'의 갯수 중 최소가 되는 수를 레벨로서 정의한다.
구성원의 최대 레벨은 n이 되고, 최소 레벨은 0이 된다.
(정의 6) 대표성
레벨이 n(n0)인 구성원의 값은 레벨이 n-1 이하의 모든 구성원들의 값을 대표하는 것으로 정의한다.
(정의 7) 제 n-1 레벨 이하의 구성원 생성
레벨이 n인 구성원이 (Xn, Xn-1, …, X1)일 때, n-1 이하의 구성원(Yn, Yn-l, …, Y1)은 다음의 공식에 따라서 생성된다.
Y1=X1+2level(0in, 0≤leveln)
제n레벨인 구성원의 구성원소 X1와 제n-1 레벨 이하의 레벨들인 구성원들의 구성원소 Y1는 2n-1의 주기(cycle)로 생성된다.
위의 정의에 따라, 대표성이란 레벨 n인 구성원이 레벨 n-1 이하인 모든 구성원들의 값들을 대표하고 있을 때를 말한다.
예를들면, 3차원 구조이고 입력 데이타를 512개의 비트씩 독립적으로 처리할 경우에는, 구성원들이 (X3, X2, X1)로 표현된다.
그 구성원들 중에서, 구성원 (0,0,0)의 레벨은 3이 되고(이 구성원은 3차원 구조이기 때문에 512=8×8×8이 되어 각 구성원소들은 10진수 0∼7 사이의 값들로 표현되므로, 각 구성원소를 2진수로 표현하기 위해서는 3개의 자리수가 필요하며, 10진수 0은 이진수 '000'로 표현되므로 구성원(0, 0, 0)의 레벨은 3이 된다.), 이 구성원이 대표하고 있는 제2레벨 이하의 구성원들은 위에서 설명된 레벨 n-1 이하의 구성원 생성 절차에 따라서 생성된다.
즉, 제2레벨의 구성원들로서는 (0,0,4), (0,4,0), (0,4,4), (4,0,0). (4,0,4), (4.4,0), (4,4,4)이 생성되고 (제3레벨의 구성원 (0,0,0)에 대한 설명에서와 같이, 10진수 4는 2진수 '100'로 표현되므로 우측에서 좌측으로 연속한 '0'의 개수 중 최소가 되는 수가 2임.), 제1레벨의 구성원들로서는 (0,0,2), (0,2,0), (0,2,2), (2,0,0), (2,0,2), (2,2,0), (2,2,2)이 생성되며, 제0레벨의 구성원들로서는 (0,0,1), (0,1,0), (0,1,1), (1,0,0), (1,0,1), (1,1,0), (1,1,1)이 생성된다.
위의 예에서 최고 레벨의 구성원 (0,0,0)의 값(속성)이 0(백색)이었다면, 그 구성원의 값은 제2레벨, 제1레벨, 제0레벨의 모든 구성원들 중 0(백색)의 값을 갖는 구성원들을 대표하고 있기 때문에, 제2레벨이하의 구성원들 중 최고 레벨(여기서는, 제3레벨)의 값(속성)과 동일한 값을 갖는 구성원들의 값을 별도로 표현하지 않아도 된다.
이렇게 함으로써, 입력 데이타의 압축이 이루어질 수 있게 된다.
이상과 같은 정의들을 전제조건으로 하여 본 발명에 따른 디지틀 정보의 암호화 및 복호화 방법에 대해 다음에 상세히 설명한다.
정보의 암호화 및 복호화를 위하여, 정보와 직접적으로 관련이 있는 사람들(예를 들면, 정보의 송신자 및 수신자) 각각에게는 그 증보로의 접근이 허락되지 않은 사람들도 쉽게 인식할 수 있는 키(예를 들면, 성명 또는 직위)(이하, '식별 ID'라 함.)와 상대적으로 쉽게 인식할 수 없는 키(예를 들면, 주민등록 번호와 개인 식별(ID)번호)(이하, '공개 키'라 함.)가 배분되어 개인별 식별이 가능하게 되도록 한다.
정보와 직접 관련이 있는 사람(이하, '당사자'라 함.)들 각각은 자신 이외의 다른 당사자들의 식별 ID들과 공개 키들을 알고 있거나, 자신에게 그 키들을 알려줄 것을 요청하는 것에 의해 그것들을 알 수 있게 된다.
본 발명의 방법이 컴퓨터 시스템에 실제로 적용되는 경우에는, 제1도에 도시된 바와 같이, 당사자들의 식별 ID와 공개 키들을 테이블 형태로 당사자들 각각의 메모리에 기억시켜 놓으면 된다.
만약, 정보에 접근할 수 있도록 허락된 사람(예를 들면, 정보 수신자)의 식별 ID와 공개 키가 정보를 제공하는 사람(예를 들면, 정보 송신자)의 화일에 등재되어 있지 않은 경우에는 정보 제공자가 정보 수령자에게 요청하는 것에 의해 정보 수령자의 키들을 알 수도 있게 된다.
한편, 타인에게 정보를 제공하려는 자(송신자)의 시스템에서는, 현재 타인에게 정보를 제공하려는 자가 정보의 실질적인 소유자인지의 여부를 판별하는 기능이 필요하다.
이를 위해서는 정보의 실질적 소유자 자신의 식별 ID와 공개 키는 그 소유자의 시스템의 소정의 기억장소에 항상 기억되어 있어야 하고 그의 변경이 불가능해야 한다.
그렇게 하는 대신에, 정보의 실질적 소유자 자신의 식별 ID와 공개키는 적어도 시스템의 작동 초기에 입력되어야 한다.
예를 들어, '이도령'이 '춘향이'에게 정보의 송신을 원하는 경우, 제1도를 참조하여, 이도령은 춘향이의 공개 키(주민등록번호, ID 번호)가 자신의 패스워드 테이블에 등재되어 있으면 그것을 이용하여 이후에 상세히 설명될 변동 비밀 키를 생성할 수 있고, 등재되어 있지 않으면 통신 서버(communication server)에게 수신자의 식별 ID(성명)를 송신하는 것에 의해 그 서버로부터 수신자의 공개 키를 받아 변동 비밀 키를 생성할 수 있다.
제2a도 및 제2b도는 본 발명의 방법을 단계별로 나타낸 흐름도이다.
제2a도를 참조하여, 정보 송수신자의 식별 ID와 공개 키를, 예로서 제3도에 도시된 바와 같은, 고정 비밀 키가 있는 구성원 테이블에 송수신자의 공개 키를 나열한 다음에 앞에서 설명된 대표성 알고리즘에 따라 변동 비밀키를 생성한다(100).
제2c도는 변동 비밀 키의 생성 방법을 단계별로 나타낸 것으로, 제2c도를 참조하여 그 키 생성 방법에 대해 구체적으로 설명하면 다음과 같다.
먼저, 송신자는 자신의 패스워드 테이블에서 수신자의 공개 키(주민 등록 번호 등과 같은 ID 번호)를 찾고, 자신의 테이블에 수신자의 공개 키가 있는지의 여부를 조사한다(110,120).
상기의 단계 120에서, 공개 키가 없는 것으로 판명되면('아니오'이면), 서버로 수신자의 식별 ID(성명)를 보내 공개 키를 받는다(130).
이어, 송신자의 수신자 각각의 구성테이블에 그들의 공개 키를 제1레벨의 구성원의 속성으로서 나열하고, 그들의 고정 비밀 키는 제1레벨 이외의 레벨들의 구성원의 속성으로서 나열한다(140).
이에 대해 예를 들어 구체적으로 설명하면 다음과 같다.
예를 들어, 송수신자의 공개 키(예를 들어, 주민 등록 번호)들이 십진법 16자리 이하이고 입력 데이타를 512개의 비트들을 독립적으도 처리하며 3차원구조의 대표성을 이용할 경우에는, 총 512(8×8×8)개의 구성원 갯수 중 제3레벨의 구성원 갯수는 1(=80)개[즉, (0,0,0)]이고, 제2레벨의 갯수는 7(=81-80)개[즉, (0,0,4), (0,4,0), (0,4,4), (4,0,0), (4,0,4), (4,4,0), (4,4,4)]이며, 공개 키가 나열될 제1레벨의 구성원수는 82-7(제2레벨의 구성원수)-1(제3레벨의 구성원수)가 되어, 결국 56이 된다.
이와 같은 식으로 하여, 제0레벨의 구성원수는 512-64가 되어 총 448개가 된다.
즉, 이 경우에는 제1레벨의 구성원이 56개로 정의되고 총 512(8×8×8)개의 구성원으로 이루어 지는 3차원 구성원 테이블에 공개 키 및 고정 비밀 키를 나열해야 한다.
이때, 고정 비밀 키의 크기는 2456이고, 제1레벨이 아닌 구성원의 속성으로서 정의된다.
또한, 공개 키의 크기는 256이고, 제1레벨인 구성원의 속성으로 정의된다.
이상과 같이 하여, 구성원 테이블에 공개 키와 고정 비밀 키를 나열한 다음에는, 제2c도를 참조하여, 구성원소의 속성이 대표성 정의에 의해 압축되는 효과를 이용하여 변동 비밀 키를 생성한다(150).
즉, 공개 키 및 고정 비밀 키가 각각 나열된 두개의 구성원테이블(송신자와 수신자의 구성테이블들)을 대표성 알고리즘으로 압축하여 변동 비밀 키를 생성한다.
이와 같이 하여 변동 비밀 키의 생성이 완료되면, 제2a도를 참조하여, 생성된 변동 비밀 키들의 크기에 따라서 원문화일의 데이타를 소정의 블럭단위로 분할하여 읽어 들이고, 입력된 데이타를 다차원 구조 구성원 데이타로 표현한다(200).
이때에는, 예로서 제3도에 도시된 키 생성 절차에 따라 생성된 변동 비밀키의 비트 수 만큼씩 입력 데이타를 분할하여 (0,0,0)에서 (7,7,7)의 구성원들로 정의된 구성원 테이블에 입력 데이타를 구성원의 속성으로 차례로 나열한다.
다차원 구조 구성원들로 표현된 입력 데이타를 다차원 구조 대표성 알고리즘에 따라 압축한다(300).
데이타의 압축은 다음의 방법으로 이루어진다.
독립된 영역의 구성원들을 구성원(0,0,0)에서 구성원 (N-1, N-1, N-1)까지 방문하여 다차원 대표성 알고리즘에 의해 데이타가 압축된다.
다차원 대표성 정의에 따라 제n레벨의 구성원이 n-1 이하의 레벨의 구성원들의 속성을 대표하고 있으므로, 제n레벨의 구성원과 동일한 속성을 갖고 있는 n-1 이하의 레벨의 구성원들 중 제n레벨의 구성원과 다른 속성을 갖고 있는 구성원들만이 데이타로서 생성되어 데이타의 압축이 이루어진다.
구체적으로 설명하면, 구성원 (0,0,0)에서 부터 구성원 (n-1, n-1, n-1)가지 차례로 방문하여, 현재 방문한 구성원과 그 구성원의 상위 레벨의 구성원을 찾아, 두 구성원의 속성(예를 들면, 색소)을 비교하고, 두 구성원의 속성이 동일하면 다음 구성원을 방문하고, 두 구성원의 속성이 동일하지 않으면 방문한 그 구성원을 압축 데이타로 생성한다.
예를 들어, 3차원 구조이고 512개의 구성원들을 독립적으로 처리할 경우, 구성원들은 (X3, X2, X1)로 표현되고, 제3레벨의 구성원(0,0,0)은 그와 동일한 속성을 갖는 제2 내지 제0레벨의 구성원들의 속성을 대표하므로 구성원 (0,0,0)의 속성이 0이고, 제0레벨의 구성원들 중 (0,0,1)의 속성은 0, (0,1,0)는 0, (0,1,1)는 0, (1,0,0)는 1, (1,0,1)는 0, (1,1,0)는 1, (1,1,1)는 0인 경우에, 속성이 다른 구성원 (1,0,0)과 (1,1,0)만이 압축 데이타로 생성된다.
결국, 최종의 압축 결과는 (0,0,0), (1,0,0), (1,1,0)이며, 압축 결과의 데이타 구조는 구성원의 속성이 없이 구성원으로만 표현된다.
이는 압축 데이타로 생성된 구성원은 자신의 속성이 압축 데이타 중에서 바로 윗 레벨의 구성원과 속성과 항상 다르므로 최상위 레벨의 구성원의 속성만 알고 있으면 그 이하의 레벨에서 생성된 구성원들의 속성들을 모두 파악할 수 있기 때문이다.
따라서, 최상위 레벨의 구성원(0,0,0)은 항상 압축 데이타로 생성되며 압축된 데이타는 그것의 속성과 함께 저장된다.
이상에서 예를 들어 설명된 데이타의 압축이 완료되면, 압축된 데이타를 독립 처리 단위의 블록으로 만들고(400), 익스클루시브 오어 마스크(Exclusive OR mask : 이하, 'XOR mask'라 함.)를 사용하여 독립 블럭에 대한 마스킹(masking)을 수행함으로써 암호 화일을 생성한다(500). 이에 대하여 구체적으로 설명하면, 독립 블럭 데이타란 다차원 대표성에 의해 압축 결과로 생성된 구성원의 속성은 1로, 그렇지 않은 구성원들의 속성은 0으로 각각 정의하여 분할 영역의 구성원의 속성을 재표현한 것으로 압축 결과의 구성원들에 대해 독립 블럭을 갖게 한 구조이다.
이와 같이 압축 결과를 독립 블럭 영역의 구조로 변경시킨 것은 그들 중 단 한개의 구성원 속성을 정확히 모르면 원래의 데이타로 재생되지 않는 점을 암호화에 이용하고자 하는 것이다.
특히 상위 레벨의 구성원일수록 원래 데이타의 재생에 더 많은 영향을 준다.
이러한 관점에서, 생성된 변동 비밀 키(마스크)와 독립 블럭 데이타를 XOR하여 암호문을 만든다.
예를 들어, 변동 비밀 키가 십진수 201이고 독립 블럭 데이타가 이진수 10000101인 경우, XOR 마스크인 변동 비밀 키(20110)는 이진수 11001001로 표시된다.
독립 블럭 데이타 10000101과 변동 비밀 키 1001100를 배타적 논리합(XORing)하면 암호문 11001001이 생성된다.
본 발명에 따르면, 입력 데이타가 독립처리 단위로 분할되고, 분할된 영역의 각각은 동일한 알고리즘을 통하여 암호문으로 생성되기 때문에 n개의 분할 영역에 대하여 SIMD 처리 기법을 적용하는 경우 병렬 처리가 가능하게 된다.
이와 같이 암호화가 완료된 암호화일은 수신자에게 전송된다.
여기서는, 이미 잘 알려진 통신 프로토콜에 의해 데이타가 송수신되므로 데이타의 송수신과 관련된 설명은 생략된다.
이상에서 상세히 설명된 바와 같이, 병렬 암호화 알고리즘을 통하여 생성된 암호문은 다시 병렬 복원하는 알고리즘에 따라서 원문 데이타로 재생될 수 있다.
제2b도는 본 발명에 따른 암호문의 복호화 과정을 단계별로 나타낸 것이다.
암화된 정보의 수신이 완료되면, 정보 수신자는 자신 및 송신자의 고정 비밀 키와 공개 키를 이용하여 앞의 암호화 과정에서 설명된 바와 동일한 방법(제2c도 참조)으로 변동 비밀 키를 생성한다(600).
이어, 송신자로부터 전송된 암호화 화일을 소정의 블럭으로(바람직하게는, 생성된 변동 비밀 키의 비트 수 만큼씩) 분할하여 읽어 들이고(700), 변동 비밀 키와 암호문을 배타적인 논리합(XORing)을 수행하여 XOR마스크를 제거한다(800).
이때에도, 앞에서 설명된 암호화 과정에서와 동일한 블럭 단위(예를 들면, N×N×N)로 암호문을 복호화한다.
이의 구체적인 절차를 암호화 과정에서 이용한 변동 비밀 키와 암호문을 그대로 사용하여 블럭처리과정 중 일부분만을 설명하면 다음과 같다. 변동 비밀 키가 11001001(20110)로 정의되어, 암호문이 1001100이므로, 이들을 상호 배타적 논리합하면 복호 데이타 10000101가 얻어진다.
이어, 복호 데이타를 차례로 (0,0,0)에서 (7,7,7)의 구성원으로 정의된 구성원 테이블의 구성원 속성으로 나열하여 독립블럭을 생성한다(900).
다음에는, 단계 900에서 나열된 구성원 테이블의 구성원 속성을 이용한 다차원 대표성 복구 알고리즘을 통하여 독립블럭을 원문블럭으로 복원하고 복호화일을 생성한다(1000).
구체적으로 설명하면, 다차원 대표성 복구 알고리즘은 구성원 테이블에서 현재 방문한 구성원이 추출된 구성원들(Xn, Xn-1, …, X1)에 포함된 것으로 판명되면 그 방문한 구성원의 속성을 그 구성원을 대표하는 구성원의 속성과 반대인 속성으로 정의하고, 현재 방문한 구성원 테이블의 구성원이 추출된 구성원들에 포함되지 않는 것으로 판명되면 방문한 구성원의 속성을 그 대표 구성원의 속성과 동일한 속성으로 정의한다.
예를 들어, 대표 구성원 (0,0,0)의 속성이 1이고, 제0레벨의 구성원들 중 구성원(0,0,1)의 속성은 0, (0,1,0)는 0, (0,1,1)는 0, (1,0,0)는 1, (1,0,1)는 0, (1,1,0)는 1, (1,1,1)의 속성은 0으로 독립 블럭 데이타가 생성된 경우에는, 구성원 (0,0,0), (1,0,0), (1,1,0)만이 그들 각각의 속성이 1인 것으로 추출된다.
다차원 대표성에 따라서 대표 구성원 (0,0,0)의 속성이 0이면, 구성원 (1,0,0) 및 (1,1,0) 각각의 속성만이 1로 정의되고, 제0레벨의 나머지 구성원들 즉, (0,0,1), (0,1,0), (0,1,1), (1,0,1), (1,1,1) 각각의 속성은 모두 0으로 정의된다.
암호화 화일의 데이타가 독립처리 단위(소정의 블럭 단위)도 분할되어 입력되고, 이와 같이 분할되어 각각의 입력된 데이타는 동일한 알고리즘을 통하여 원문으로 복호되기 때문에, n개의 분할 데이타에 대하여 SIMD 처리 기법을 적용하는 경우 병렬 처리가 가능하게 된다.

Claims (5)

  1. 디지틀 정보를 암호화 및 복호화하는 방법에 있어서, (Xn, Xn-1, …, X1)를 n개의 구성원소들로 구성되는 다차원구조라 정의하고, 구성원의 속성(屬性)을 나타내는 값을 구성원의 값이라 정의하며, 구성원의 구성원소들을 이진으로 표현하여 우측으로 부터 좌측으로 연속되는 '0'의 갯수 중 최소가 되는 수를 구성원의 레벨로서 정의하고, 레벨이 n(n0)인 구성원의 같은 레벨이 n-1 이하의 모든 구성원들의 값을 대표하는 것으로 정의하고, 레벨이 n인 구성원이 (Xn, Xn-1, …, X1)일 때, n-1 이하의 구성원(Yn, Yn-1, …, Y1)은 Y1=X1+2level(0in, 0≤leveln)에 따라서 생성되는 것으로 정의하고, 정보 송수신자의 공개 키와 고정 비밀 키를 소정의 구성원 테이블에 나열한 다음 대표성에 따라 변동 비밀 키를 생성하는 단계(100)와, 생성된 변동 비밀 키들의 크기에 따라서 원문화일의 데이타를 소정의 블록 단위로 분할하여 읽어 들이고, 입력된 데이타를 다차원 구조 구성원 데이타로 표현하는 단계(200)와, 다차원 구조 구성원들로 표현된 입력 데이타를 다차원 구조 대표성 알고리즘에 따라 압축하는 단계(300)와, 압축된 데이타를 독립 처리 단위의 블럭으로 만들고(400), 변동 비밀 키를 마스크로서 사용하여 독립블럭에 대한 마스킹을 수행함으로써 암호 화일을 생성하여 암호화를 완료하는 단계(500)와, 정보 수신자는 자신 및 송신자의 고정 비밀 키와 공개키를 이용하여 변동 비밀 키를 생성하는 단계(600)와, 이어, 전송된 암호화 화일을 소정의 블럭으로 분할하여 읽어들이고(700), 변동 비밀 키와 암호문을 배타적인 논리합을 수행하여 XOR마스크를 제거하는 단계(800)와, 복호 데이타를 차례로 (0,0,0)에서 (n-1, n-1, n-1)의 구성원으로 정의된 구성원 테이블의 구성원 속성으로 나열하여 독립블럭을 생성하는 단계(900)와, 나열된 구성원 테이블의 구성원 속성을 이용한 다차원 대표성 복구 알고리즘을 통하여 독립블럭을 원문블럭으로 복원하고 복호화일을 생성하는 단계(1000)를 포함하는 것을 특징으로 하는 디지틀 정보의 암호화 및 복호화 방법.
  2. 제1항에 있어서, 상기의 변동 비밀 키 생성 단계(100,600)는 정보의 송신자 및 수신자 각각은 자신의 패스워드 테이블에서 상대방의 공개 키를 찾고, 자신의 테이블에 수신자의 공개 키가 있는지의 여부를 조사하는 단계(110,120)와, 상기의 단계 120에서, 공개 키가 없는 것으로 판명되면, 서버로 상대방의 식별 ID를 보내 공개 키를 받는 단계(130)와, 송신자 및 수신자 각각의 구성테이블에 그들의 공개 키를 제1레벨의 구성원의 속성으로서 나열하고, 그들의 고정 비밀 키는 제1레벨 이외의 레벨들의 구성원의 속성으로서 나열하는 단계(140)와, 송신자 및 수신자는 공개 키 및 고정 비밀 키가 각각 나열된 그들의 구성원테이블을 대표성 알고리즘으로 압축하여 변동 비밀 키를 생성하는 단계(150)를 포함하는 것을 특징으로 하는 디지틀 정보의 암호화 및 복호화 방법.
  3. 제1항에 있어서, 상기의 원문화일 데이타를 다차원 구조 구성원 데이타로 표현하는 단계(200)는 소정의 키 생성 절차에 따라 생성된 변동 비밀키의 비트 수만큼씩 입력 데이타를 분할하여 (0,0,0)에서 (n-1, n-1, n-1)의 구성원들로 정의된 구성원 테이블에 입력 데이타를 구성원의 속성으로 차례로 나열하는 것을 특징으로 하는 디지틀 정보의 암호화 및 복호화 방법.
  4. 제1항에 있어서, 상기의 다차원 구조 구성원들로 표현된 입력 데이타를 압축하는 단계(300)는 구성원 (0.0.0)에서부터 구성원(n-1, n-1, n-1)까지 차례로 방문하여, 현재 방문한 구성원과 그 구성원의 상위 레벨의 구성원을 찾아, 두 구성원의 속성을 비교하고, 두 구성원의 속성이 동일하면 다음 구성원을 방문하고, 두 구성원의 속성이 동일하지 않으면 방문한 그 구성원을 압축 데이타로 생성하되 최상위 레벨의 구성원 (0,0,0)은 항상 압축 데이타로 생성되고, 이렇게 압축된 데이타는 그것의 속성과 함께 저장되는 것을 특징으로 하는 디지틀 정보의 암호화 및 복호화 방법.
  5. 제1항 내지 제4항에 있어서, 상기의 다차원 대표성 복구 알고리즘을 통한 복호화일 생성하는 단계(1000)는 현재 방문한 구성원이 추출된 구성원들 (Xn, Xn-1, …, X1)에 포함된 것으로 판명되면 그 방문한 구성원의 속성을 그 구성원을 대표하는 구성원의 속성과 반대인 속성으로 정의하고, 현재 방문한 구성원 테이블의 구성원이 추출된 구성원들에 포함되지 않는 것으로 판명되면 방문한 구성원의 속성을 그 대표 구성원의 속성과 동일한 속성으로 정의하는 것을 특징으로 하는 디지틀 정보의 암호화 및 복호화 방법.
KR1019940016485A 1994-07-08 1994-07-08 디지틀 정보의 암호화 및 복호화 방법 KR970005596B1 (ko)

Priority Applications (1)

Application Number Priority Date Filing Date Title
KR1019940016485A KR970005596B1 (ko) 1994-07-08 1994-07-08 디지틀 정보의 암호화 및 복호화 방법

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
KR1019940016485A KR970005596B1 (ko) 1994-07-08 1994-07-08 디지틀 정보의 암호화 및 복호화 방법

Publications (2)

Publication Number Publication Date
KR960006386A KR960006386A (ko) 1996-02-23
KR970005596B1 true KR970005596B1 (ko) 1997-04-18

Family

ID=19387622

Family Applications (1)

Application Number Title Priority Date Filing Date
KR1019940016485A KR970005596B1 (ko) 1994-07-08 1994-07-08 디지틀 정보의 암호화 및 복호화 방법

Country Status (1)

Country Link
KR (1) KR970005596B1 (ko)

Cited By (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
WO2010076987A3 (ko) * 2008-12-31 2010-09-23 노틸러스효성 주식회사 펌웨어의 원격 업데이트 방법

Families Citing this family (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
KR100447146B1 (ko) * 1996-09-30 2004-11-06 엘지전자 주식회사 암호화장치
KR100266629B1 (ko) * 1997-09-26 2000-09-15 김영환 스트림 엔사이퍼 및 디사이퍼 장치
KR100262384B1 (ko) * 1997-09-27 2000-08-01 노우식 암호화 방법 및 장치(Encryption Method and Apparatus)
KR100525997B1 (ko) * 1998-05-22 2006-02-08 삼성전자주식회사 액정표시장치용 기판 카세트

Cited By (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
WO2010076987A3 (ko) * 2008-12-31 2010-09-23 노틸러스효성 주식회사 펌웨어의 원격 업데이트 방법

Also Published As

Publication number Publication date
KR960006386A (ko) 1996-02-23

Similar Documents

Publication Publication Date Title
US7864952B2 (en) Data processing systems with format-preserving encryption and decryption engines
US8855296B2 (en) Data processing systems with format-preserving encryption and decryption engines
US6542608B2 (en) Cryptographic key split combiner
US7974410B2 (en) Cryptographic key split combiner
AU681822B2 (en) A method for providing blind access to an encryption key
Yousif et al. A new image encryption based on bit replacing, chaos and DNA coding techniques
US8600048B1 (en) Format-translating encryption systems
US8180048B2 (en) Method and system for computational transformation
CN109635576B (zh) 一种在图像中隐藏数据方法和系统
Selva Mary et al. Secure grayscale image communication using significant visual cryptography scheme in real time applications
US11979500B2 (en) Data format-preserving encryption, tokenization, and access control for vaultless systems and methods
Zareai et al. A new Grayscale image encryption algorithm composed of logistic mapping, Arnold cat, and image blocking
Islam et al. Enhancing security of image steganography using visual cryptography
CN115865431A (zh) 一种私密数据的网络安全共享方法
US20010053221A1 (en) Ciphering apparatus and ciphering method
KR970005596B1 (ko) 디지틀 정보의 암호화 및 복호화 방법
JP2002539545A (ja) 匿名化の方法
EP1033008A2 (en) Encryption system for secure data
JPH08107506A (ja) 通信装置
Fathimal Hierarchical threshold secret sharing scheme for color images
Abed A new approach to encoding and hiding information in an image
Lin et al. A confused Document Encrypting Scheme and its implementation
Rejani et al. STEGANODB-A Secure Database using Steganography
CN112203278A (zh) 一种5g信号的秘钥复合硬件加密的方法及装置
Salaudeen An Improved Dna Cryptography Algorithm Using Residue Number System

Legal Events

Date Code Title Description
A201 Request for examination
G160 Decision to publish patent application
E701 Decision to grant or registration of patent right
GRNT Written decision to grant
FPAY Annual fee payment

Payment date: 20110620

Year of fee payment: 15

FPAY Annual fee payment

Payment date: 20111031

Year of fee payment: 18

EXPY Expiration of term