KR100471738B1 - 데이타의암호화방법및장치 - Google Patents

데이타의암호화방법및장치 Download PDF

Info

Publication number
KR100471738B1
KR100471738B1 KR1019970004889A KR19970004889A KR100471738B1 KR 100471738 B1 KR100471738 B1 KR 100471738B1 KR 1019970004889 A KR1019970004889 A KR 1019970004889A KR 19970004889 A KR19970004889 A KR 19970004889A KR 100471738 B1 KR100471738 B1 KR 100471738B1
Authority
KR
South Korea
Prior art keywords
data
encryption
block
encrypting
parameter
Prior art date
Application number
KR1019970004889A
Other languages
English (en)
Other versions
KR970064059A (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 가부시끼가이샤 히다치 세이사꾸쇼
Publication of KR970064059A publication Critical patent/KR970064059A/ko
Application granted granted Critical
Publication of KR100471738B1 publication Critical patent/KR100471738B1/ko

Links

Images

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
    • 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
    • H04L9/0631Substitution permutation network [SPN], i.e. cipher composed of a number of stages or rounds each involving linear and nonlinear transformations, e.g. AES algorithms
    • 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
    • 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
    • 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/0891Revocation or update of secret information, e.g. encryption key update or rekeying
    • 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/30Compression, e.g. Merkle-Damgard construction

Landscapes

  • Engineering & Computer Science (AREA)
  • Computer Security & Cryptography (AREA)
  • Computer Networks & Wireless Communication (AREA)
  • Signal Processing (AREA)
  • Storage Device Security (AREA)
  • Compression, Expansion, Code Conversion, And Decoders (AREA)
  • Collating Specific Patterns (AREA)
  • Testing And Monitoring For Control Systems (AREA)

Abstract

데이타에 압축과 암호화를 모두 실시하는 암호화의 처리효율 및 해독에 대한 강도의 향상에 관한 것으로, 데이타의 압축 및 암호화에 있어서 처리시간의 증가를 수반하지 않고 처리의 성능 및 해독에 대한 강도를 향상시키기 위해, 데이타를 입력 또는 수신하는 스텝과 그 데이타를 암호화하는 스텝을 갖는 정보처리 시스템에 있어서, 데이타의 임의의 부분의 암호화의 파라미터로서 데이타의 다른 부분의 암호화의 중간결과 또는 이 중간결과에 의존해서 산출한 값을 사용하는 구성으로 하였다.
이러한 구성으로 하는 것에 의해, 암호처리와 압축 및 암호처리에 있어서 처리시간의 증가를 수반하지 않고 차분해독 및 선형해독을 방지할 수 있어 처리의 성능 및 해독에 대한 강도를 향상시킬 수 있다.

Description

데이타의 암호화방법 및 장치
본 발명은 데이타의 암호화에 관한 것으로, 특히 암호화에 있어서의 처리 효율 및 해독에 대한 강도의 향상에 관한 것이다. 또, 본 발명은 데이타의 압축을 포함한 암호화에 관한 것으로, 특히 데이타에 압축과 암호화를 모두 실시하는 암호화의 처리효율 및 해독에 대한 강도의 향상에 관한 것이다.
조직의 중추정보가 전자화되고 또한 네트워크를 거쳐서 통신되는 일이 증가함에 따라 전자화된 데이타를 훔처보기나 개찬으로부터 보호하기 위해 데이타 암호화기술의 중요성이 높아지고 있다. 암호이론입문, 공립출판(1993년) pp.27∼pp.32에 기술되어 있는 바와 같이, 암호방식은 대칭암호와 비대칭키암호로 크게 나뉘지만, 본 발명에서는 대량데이타의 암호화에 적합한 대칭암호의 개량을 목적으로 한다. 이하, 비밀키암호를 단지 암호라고 부르기로 한다.
우선, 암호에 관한 기본적인 용어를 설명한다. 상기 문헌의 pp.33∼pp.59에 기술되어 있는 바와 같이, 암호에서는 비밀의 파라미터를 사용해서 평문데이타를 암호데이타로 변환한다. 암호데이타의 복호에서는 암호화에 사용한 것과 동일한 비밀의 파라미터를 사용한 역변환에 의해 원래의 평문데이타를 구한다. 이 비밀의 파라미터를 일반적으로 암호의 키라 부른다. 또, 암호처리는 1종류 또는 수종류의 기본함수의 반복으로 구성된다. 이 반복 횟수를 암호의 단수라 부른다. 또, 암호처리의 이용에 있어서는 입력데이타를 소정 사이즈의 부분으로 분할하고, 부분마다 암호처리를 적용한다. 이 처리의 단위로 되는 데이타를 암호의 블럭이라 한다.
암호의 방식 설계 및 운용에서는 각종 암호해독방법에 대한 방어가 중요한 요건으로 된다. 종래 가장 많이 사용되고 있는 해독방법은 키의 전체 수의 탐색이지만, 최근에는 보다 효율적인 차분해독 및 선형 해독이 주목받고 있다.
상기 문헌의 pp.163∼pp.166 및 DES암호의 선형해독법, 암호와 정보안전심포지움(1993년)에 기술되어 있는 바와 같이 차분 및 선형해독에서는 암호방식에 고유의 평문데이타, 암호데이타, 키간의 상관을 이용하여 동일한 키에 의한 암호처리의 입출력(평문데이타와 암호데이타)를 다수 수집해서 통계처리를 실행하는 것에 의해 그 키를 추정한다.
종래의 암호방식에 있어서의 차분 및 선형해독에 대한 방어방법은 암호단수의 증가에 의해 평문데이타, 암호데이타, 키간의 상관을 작게하는 방법이었다.
암호 및 복호의 처리시간은 암호단수에 비례한다. 그래서, 상기 암호단수의 증가에 의한 차분 및 선형해독에 대한 방어에는 처리시간의 증가라는 큰 문제가 있었다.
본 발명의 목적은 상기한 문제를 해결하기 위해 이루어진 것으로, 처리시간의 증가를 수반하지 않고 차분 및 선형해독을 방지하는 방법을 확립하는 것에 의해 암호에 있어서의 처리성능과 안정성(security)을 향상시키는 것이다.
상술한 바와 같이, 차분 및 선형해독에서는 동일 키에 의한 암호처리의 입출력(평문데이타와 암호데이타)를 다수 수집해서 통계처리를 실행하는 것에 의해 키를 추정한다. 그래서, 본 발명의 제1 방법에서는 평문데이타를 입력 또는 수신하는 스텝과 그 데이타를 암호화하는 스텝을 갖는 정보처리시스템에 있어서, 평문데이타의 임의의 블럭의 암호화의 키로서 다른 블럭의 암호화의 중간결과 또는 그것에 의존해서 산출한 값을 사용한다. 본 방법에 의하면, 평문데이타에 의존해서 블럭마다 키가 다르므로, 상기 통계처리가 불가능하게 되어 차분 및 선형해독을 방지할 수 있다.
상기 제1 방법에서는 평문데이타중 최초에 암호화되는 블럭에 대해서는 다른 블럭의 암호화의 중간결과를 이용할 수 없으므로 키가 일정하게 된다. 그래서, 다수의 평문데이타에 걸쳐서 최최의 블럭의 입출력을 수집하는 것에 의해 최초의 블럭의 키가 추정되고, 그것을 실마리로 암호 전체가 해독될 가능성이 있다. 이 문제를 해결하기 위해, 본 발명의 제2 방법에서는 평문데이타를 입력 또는 수신하는 스텝과 그 데이타를 암호화하는 스텝을 갖는 정보처리시스템에 있어서, 평문데이타마다 난수를 발생하고 그 값을 그 평문데이타의 암호화에 있어서의 최초의 블럭의 키로 한다. 이 제2 방법에 의하면, 평문데이타마다 최초의 블럭의 키가 다르므로, 상기 제1 방법의 문제점을 해결할 수 있다.
또, 암호처리는 압축처리와 함께 이용되는 경우가 많다. 데이타 압축 핸드북, 인쇄판(1994년) pp.21∼pp.247에 기술되어 있는 바와 같이, 압축에서는 평문데이타의 비트열을 보다 짧은 비트열로 치환하는 것에 의해 데이타를 압축하지만, 평문데이타의 비트열과 압축데이타의 비트열의 대응관계는 여러가지 가능하다. 그래서, 본 발명의 제3 방법에서는 데이타를 입력 또는 수신하는 스텝, 그 데이타를 압축하는 스텝 및 압축데이타를 암호화하는 스텝을 갖는 정보처리시스템에 있어서, 평문데이타의 임의의 블럭의 압축에 있어서의 평문데이타의 비트열과 압축데이타의 비트열의 대응관계를 다른 블럭의 암호화의 중간결과에 의존해서 결정한다. 이 제3 방법에 의하면, 평문데이타의 비트열과 압축데이타의 비트열의 대응관계가 평문데이타에 의존해서 블럭마다 변한다. 또, 암호화의 중간결과는 키를 모르는 한 추정불능이므로, 평문데이타의 비트열과 압축데이타의 비트열의 대응관계의 변화는 키를 모르는 한 추정불능이다. 따라서, 상기 제3 방법에 의하면, 압축을 일종의 암호로 할 수 있어 암호단수를 증가시키는 것과 마찬가지의 효과가 얻어지고, 차분 및 선형해독을 방지할 수 있다.
이하, 도 1~도 6을 사용해서 본 발명의 2개의 실시예를 설명한다.
도 1은 본 발명의 제1 실시예의 기능구성을 도시한 도면이다. 블럭(101)은 완결된 정보처리시스템이다. 블럭(102)는 중앙처리장치, 입출력장치에 의해 실현되는 처리로서, 입출력(103), 제어(104), 난수발생(105), 키생성(106), 대응관계변경(107), 압축(108), 전단암호화(109), 후단암호화(110)으로 이루어진다. 블럭(111)은 RAM(Random Access Memory)나 디스크에 의해 실현되는 메모리로서, 평문데이타(112), 난수(113), 공통키(114), 대응관계(115), 실행키(116), 압축 및 암호데이타(117)을 기억한다.
입출력(103)은 외부에서 평문데이타를 입력하고, 메모리(111)에 저장한다. 또, 압축 및 암호명령을 입력하고 제어(104)로 전달한다. 한편, 압축 및 암호데이타(117)을 메모리(111)에서 리드하여 외부로 출력한다. 제어(104)는 입출력(103)에서 압축 및 암호명령을 받았을 때 난수발생(105)를 기동해서 난수를 발생하고, 다음에 키생성(106)을 기동해서 실행키를 생성한다. 다음에, 평문데이타(112)를 메모리(111)에서 리드하고, 압축(108), 전단암호화(109), 후단암호화(110), 대응관계변경(107), 실행키의 변경의 5가지의 처리를 반복해서 실행하는 것에 의해 평문데이타를 압축 및 암호화한다. 제어(104)에 대해서는 다음에 상세하게 기술한다.
난수발생(105)의 실현에는 암호이론입문, 공립출판(1993년) pp.61∼pp.86에 기술되어 있는 바와 같은 종래의 난수발생방법을 사용한다. 일예로서는 메모리(111)중의 난수(113)에 적당한 초기값을 설정해 두고, 난수발생(105)가 기동될 때마다 전회의 난수(113)을 리드하고, 이것에 난수발생(105)의 내부에서 암호처리를 적용하고, 그 결과를 새로운 난수로 한다. 또, 메모리(111)중의 난수(113)을 새로운 난수로 치환한다.
키생성(106)은 난수(113)과 공통키(114)에서 실행키(116)을 생성한다. 그 실현에는 전자정보통신학회논문지, E74권 8호 pp.2153∼pp.2159(Institution for Electronic, Information and Communication Engineers, Transaction, Vol. E74. No.8, pp. 2153-2159)에 기술되어 있는 바와 같은 방법을 사용한다.
대응관계변경(107)은 평문데이타중의 비트열과 압축데이타중의 비트열의 대응관계(115)를 실행키에 따라서 변경한다. 이 대응관계의 구체예는 압축(110)의 구체예에 의존한다. 본 실시예에서는 압축(108)에서 하프만압축을 사용한다. 하프만압축에 있어서의 평문비트열과 압축비트열의 대응관계는 하프만트리라 불리는 트리구조 데이타에 의해 나타내어지므로, 대응관계변경(107)은 이 하프만트리를 변경한다. 대응관계변경(107)에 대해서는 다음에 상세하게 기술한다.
압축(108)은 상기와 같이 하프만압축을 실행한다. 대응관계(115)의 하프만트리에 따라서 평문데이타중의 비트열을 압축데이타의 비트열로 치환하는 것에 의해 평문데이타를 압축한다. 하프만압축은 데이타압축 핸드북 인쇄판(1994년) pp.21∼pp.103에 기술되어 있는 바와 같은 종래의 방법에 의해 실현한다.
전단암호화(109)는 실행키(116)을 파라미터로 해서 암호이론입문, 공립출판(1993년) pp.33∼pp.59에 기술되어 있는 바와 같은 종래의 암호방법에 의해 데이타를 암호화한다. 후단암호화(110)도 전단암호화(109)와 마찬가지로 실행키(116)을 파라미터로 해서 종래 방법에 의해 데이타를 암호화한다.
도 2는 제어(104)의 동작을 상세하게 도시한 것이다. 우선, 스텝(201)은 난수발생(105)를 기동해서 난수를 발생한다. 스텝(202)는 키생성(106)을 기동해서 실행키를 생성한다. 그 결과, 실행키(116)의 초기값이 설정된다. 스텝(203)은 평문데이타(112)를 리드한다.
스텝(204)는 압축(108)을 기동해서 평문데이타의 다음 기호를 압축한다. 여기에서 압축(108)은 대응관계(115)에 따라서 평문데이타의 기호(비트열)을 압축비트열로 변환하는 것에 의해 평문데이타를 압춥한다. 스텝(205)는 압축데이타의 양이 암호처리의 블럭사이즈 이상으로 되었는지 안되었는지를 판정한다. 블럭 사이즈 이상으로 된 경우에는 스텝(206)으로 진행한다. 블럭사이즈 미만인 경우에는 스텝(204)를 반복한다.
스텝(206)은 압축데이타의 1블럭을 전단암호화(109)에 입력하고 이것을 암호화한다. 여기에서, 전단암호화(109)는 실행키(116)을 파라미터로서 사용한다. 스텝(207)은 전단암호화(109)의 결과를 기억한다. 스텝(208)은 전단암호화의 결과를 후단암호화(110)에 입력하고 이것을 또 암호화한다. 여기에서, 후단암호화(110)은 전단암호처리와 마찬가지로 실행키(116)을 파라미터로서 사용한다. 또, 결과의 압축 및 암호데이타에 난수를 부가한 데이타를 압축 및 암호데이타(117)로서 메모리(111)에 저장한다.
스텝(209)는 평문데이타중의 비트열과 압축데이타 중의 비트열의 대응관계(115)를 전단암호화의 결과에 의존해서 변경한다. 스텝(210)은 실행키(116)을 전단암호화의 결과로 치환한다. 스텝(211)은 평문데이타를 모두 처리했는지 처리하지 않았는지를 판정한다. 모두 처리한 경우에는 처리를 종료한다. 그렇지 않은 경우에는 스텝(212)로 진행한다.
스텝(212)는 소정의 암호블럭수를 처리했는지 처리하지 않았는지를 판정한다. 처리한 경우에는 스텝(201)로 되돌아간다. 처리하지 않은 경우에는 스텝(204)로 되돌아간다. 스텝(201)로 되돌아가는 것의 의미는 다음과 같다.
본 실시예에서는 1개의 블럭의 암호화의 중간결과(전단 암호화의 결과)가 다음 블럭의 압축 및 암호화의 파라미터로 된다. 본 실시예의 출력으로 되는 압축 및 암호데이타의 신장 및 복원에서는 압축 및 암호화시와 동일한 파라미터가 필요하게 되므로, 1개의 블럭의 복호화의 중간결과를 다음 블럭의 복호 및 신장의 파라미터로 할 필요가 있다. 따라서, 압축 및 암호된 데이타가 통신이나 화일기억중에 1비트라도 틀린 경우, 그 비트를 포함한 블럭의 복호화의 중간결과가 에러로 되고, 그 결과 다음 블럭의 복호 및 신장의 파라미터가 에러로 된다. 이 에러는 데이타의 최후의 블럭까지 전달된다.
최근의 통신 및 화일기억에 있어서의 에러정정기술의 향상에 의해 본 발명의 적용대상으로 되는 어플리케이션층에서는 에러는 거의 발생하지 않는다. 따라서, 본 발명의 대부분의 적용시스템에서는 상기의 에러전달은 문제로 되지 않는다. 그러나, 그중에는 에러정정을 실행하지 않는 응용시스템도 있고, 그들의 시스템에 본 발명을 적용하는 경우에는 에러전달을 소정의 블럭수로 한정할 필요가 있다.
상기한 스텝(212)에서 스텝(201)로의 귀환은 이 요구에 응답하는 것이다. 즉, 소정의 블럭수에 도달했을 때에는 스텝(201), (202)에 의해 실행키가 이전 블럭의 암호화의 중간결과와는 관계없는 값으로 리세트되므로 에러전달을 회피할 수 있다.
다음에, 도 3, 도 4를 사용해서 대응관계변경(107)의 동작을 실명한다. 하프만압축에서는 평문데이타의 비트열과 압축데이타의 비트열의 대응관계(115)를 하프만트리로 표현한다. 도3은 하프만트리의 1예를 도시한 것이다. 하프만트리는 각 중간노드에서 좌우의 가지가 나와 있는 2분트리로서, 좌우의 트리에는 0 또는 1의 값이 부가되어 있다. 말단노드는 평문데이타의 1개의 기호를 나타낸다. 말단노드에서 루트노드까지의 가지의 값을 연접시킨 것이 말단노드가 나타내는 기호에 대응하는 압축데이타의 비트열이다. 예를 들면, i에 대응하는 압축데이타의 비트열은 1000이고, h에 대응하는 압축데이타의 비트열은 010이다.
대응관계변경(107)은 제어(104)에서 기동된다. 대응관계변경(107)은 우선 하프만트리의 중간노드에 번호를 붙인다. 구체적으로는 루트노드를 1번, 2단째의 노드를 좌측부터 2번 및 3번, 3단째의 노드를 좌측부터 4번, 5번· · ·와 같이 상하, 좌우의 순으로 번호를 붙인다. 다음에, 실행키에 따라서 중간노드의 좌우의 가지의 값을 교환한다. 구체적으로는 실행키의 i번째의 비트가 1이면 i번째의 중간노드의 좌우의 가지의 값을 교환한다(0이면 교환하지 않는다).
도 4의 블럭(401)은 실행키가 1100100· · ·의 경우의 도 3에서의 변경후의 하프만트리를 도시한 것이다. 블럭(402)는 실행키가 1010110· · ·인 경우의 블럭(401)로부터의 변경후의 하프만트리를 도시한 것이다. 또한, 실행키의 비트수는 충분히 크게 취하기로 하고, 실행키의 비트중 하프만트리의 중간노드수를 초과하는 것은 대응관계변경(107)에서는 무시하기로 한다.
이상이 본 발명의 제1 실시예이다. 종래의 암호방법에서는 선형 및 차분해독을 방지하기 위해 암호단수를 증가시키고 있었지만, 그 방지방법에는 처리시간의 증가라는 결점이 있었다. 상기 실시예에 의하면, 실행키를 블럭마다 변경하는 것에 의해 키를 추정하기 위한 통계처리를 불가능하게 하고, 차분 및 선형해독을 방지할 수 있다. 블럭마다의 실행키는 이전의 블럭의 암호화의 중간결과이므로, 실행키를 변경하기 위한 여분의 처리시간은 필요없다. 이상에서 본 실시예에 의하면, 처리시간의 증가를 수반하지 않고 차분 및 선형해독을 방지할 수 있고, 암호의 성능 및 해독에 대한 강도를 향상시킬 수 있다.
또, 본 실시예에 의하면, 압축에 있어서의 평문데이타와 압축데이타의 대응관계를 이전 블럭의 암호화의 중간결과에 의존해서 블럭마다 변경할 수 있다. 암호화의 중간결과는 키를 모르는 한 추정 불가능하므로, 평문데이타와 압축데이타의 대응관계는 추정 불가능하게 된다. 그래서, 본 실시예에 의하면 압축을 일종의 암호로서 이용할 수 있고, 암호의 단수를 증가시킨 것과 마찬가지로 차분 및 선형해독을 방지할 수 있다.
도 5는 본 발명의 제2 실시예의 기능구성을 도시한 것이다. 이것은 상기 제1 실시예에 의해 생성된 압축 및 암호데이타를 복호 및 신장하여 원래의 평문데이타를 얻기 위한 방법의 1예이다. 블럭(501)은 완결된 정보처리시스템이다. 블럭(502)는 중앙처리장치, 입출력장치에 의해 실현되는 처리로서, 입출력(503), 제어(504), 난수리드(505), 키생성(506), 대응관계변경(507), 신장(508), 전단복호(509), 후단복호(510)으로 이루어진다. 블럭(111)은 RAM이나 디스크에 의해 실현되는 메모리로서, 압축 및 암호데이타(512), 난수(513), 공통키(514), 대응관계(515), 실행키(516), 평문데이타(517)을 기억한다.
입출력(503)은 외부에서 압축 및 암호데이타를 입력하고 메모리(511)에 저장한다. 또, 복호 및 신장명령을 입력하고 제어(504)로 전달한다. 한편, 평문데이타(517)을 메모리(511)에서 리드하여 외부로 출력한다. 제어(504)는 입출력(503)에서 복호 및 신장명령을 받았을 때 난수리드(505)를 기동해서 압축 및 암호데이타(512)에 부가된 난수를 리드하고, 다음에 키생성(506)을 기동해서 실행키를 생성한다. 다음에, 압축 및 암호데이타(512)를 메모리(511)에서 리드하고, 전단복호(509), 후단복호(510), 신장(508), 대응관계변경(507), 실행키의 변경의 5가기의 처리를 반복해서 실행하는 것에 의해, 압축 및 암호데이타를 복호 및 신장한다. 제어(504)에 대해서는 다음에 상세하게 기술한다.
난수리드(505)는 압축 및 암호데이타(512)에 부가된 난수를 리드한다.
이 난수는 상기 제1 실시예에서 실행키의 생성에 사용한 것이다.
키생성(506)은 난수(513)과 공통키(514)에서 실행키(516)을 생성한다. 공통키(514)는 제1 실시예의 공통키(114)와 동일한 값으로 해 둔다. 난수와 공통키가 모두 제1 실시예와 동일하므로, 생성되는 실행키(516)은 제1 실시예에 있어서의 실행키(116)과 동일하게 된다.
대응관계변경(507)은 압축데이타중의 비트열과 평문데이타중의 비트열의 대응관계(515)를 실행키에 따라서 변경한다. 이 대응관계의 구체예는 신장(508)의 구체예에 의존한다. 본 실시예에서는 신장(508)에서 하프만신장을 사용한다. 하프만신장은 데이타압축 핸드북, 인쇄판(1994년) pp.21∼pp.103에 기술되어 있는 바와 같이 하프만압축의 역변환이고, 압축비트열과 평문비트열의 대응관계는 상기 제1 실시예와 마찬가지로 하프만트리에 의해 나타내어지므로, 대응관계변경(507)은 제1 실시예의 대응관계변경(107)과 동일한 방법에 의해 이 하프만트리를 변경한다. 하프만트리의 변경 방법과 실행키가 제1 실시예와 동일하므로, 하프만트리는 동일한 것으로 변경된다.
신장(508)은 상기와 같이 하프만신장을 실행한다. 대응관계(515)의 하프만트리에 따라서 압축데이타중의 비트열을 평문데이타의 비트열로 치환하는 것에 의해 압축데이타를 신장한다. 신장(508)이 압축(108)의 역변환이고 하프만트리가 제1 실시예와 동일하므로, 제1 실시에에서의 압축데이타를 원래의 데이타로 복원하는 것이 가능하다.
전단복호(509)는 상기 제1 실시예의 후단암호화의 역변환로서, 실행키(516)을 파라미터로 해서 데이타를 복호한다. 후단복호(히0)은 상기 제1 실시예의 전단암호화의 역변환로서, 실행키(516)을 파라미터로 해서 데이타를 복호한다. 전단복호, 후단복호가 각각 제1 실시예의 후단암호화, 전단암호화의 역변환이고 실행키가 제1 실시예와 동일하므로, 제1 실시예에서의 압축 및 암호데이타를 복호하여 압축데이타를 얻을 수 있다.
도 6은 제어(504)의 동작을 상세하게 도시한 것이다. 우선, 스텝(601)은 난수리드(505)를 기동해서 압축 및 암호데이타(512)에 부가된 난수를 리드한다. 스텝(602)는 키생성(506)을 기동하고 실행키를 생성한다. 그 결과, 실행키(516)의 초기값으로서 제1 실시예의 실행키(116)의 초기값과 동일한 값이 설정된다. 스텝(603)은 압축 및 암호데이타(512)를 리드한다.
스텝(604)는 전단복호(509)를 기동해서 압축 및 암호문의 1블럭을 복호한다. 여기에서, 전단복호(509)는 실행키(516)을 파라미터로서 사용한다. 스텝(605)는 전단복호의 결과를 기억한다. 전단복호(509)는 제1 실시예의 후단암호화(110)의 역변환이므로, 전단복호의 결과는 제1 실시예의 후단복호화 직전의 값 즉 전단암호화(109)의 결과와 동일한 값이다. 스텝(606)은 후단복호(510)을 기동해서 상기 전단복호(509)의 결과를 또 복호한다. 후단복호(510)은 제1 실시예의 전단암호화(110)의 역변환이므로, 후단복호의 결과는 제1 실시예의 전단암호화 직전의 값 즉 압축(108)에 의해 얻어진 1블럭의 압축문과 동일하다.
스텝(607)은 신장(508)을 기동해서 상기 1블럭의 압축문의 선두부터 1기호를 신장한다. 신장(508)은 제1 실시예의 압축(108)의 역변환이다. 또, 상술한 바와 같이 압축문과 평문의 대응관계를 나타내는 하프만트리는 제1 실시예와 동일하다. 그래서, 스텝(607)에 의해 제1 실시예에 있어서의 압축전의 값 즉 평문의 기호가 얻어진다. 스텝(608)은 상기 1블럭분의 압축데이타의 나머지가 평문 1기호분 이상인지 아닌지를 판정한다. 1기호분 이상인 경우에는 스텝(607)로 되돌아가 신장을 반복한다. 그렇지 않은 경우에는 스텝(609)로 진행한다. 이 때, 압축문 1블럭의 나머지 데이타를 기억하고, 다음의 압축문 1블럭을 얻었을 때 그 선두에 추가한다.
스텝(609)는 대응관계변경(507)을 기동하고, 전단복호의 결과에 의존해서 대응관계(515) 즉 하프만트리를 변경한다. 전단복호의 결과는 제1 실시예의 전단암호화의 결과와 동일한 값이고, 변경전의 대응관계(515)는 제1 실시예의 대응관계(115)와 동일한 값이므로, 대응관계(515)는 변경후에도 제1 실시예와 동일한 값으로 된다. 스텝(610)은 실행키(516)을 전단복호의 결과로 치환한다. 전단복호의 결과는 제1 실시예의 전단암호화의 결과와 동일한 값이므로, 실행키(516)은 변경후에도 제1 실시예와 동일한 값으로 된다.
스텝(611)은 압축 및 암호문의 전체 데이타를 처리했는지 처리하지 않았는지를 판정한다. 처리한 경우에는 처리를 종료한다. 그렇지 않은 경우에는 스텝(612)로 진행한다. 스텝(612)는 소정수의 블럭을 처리했는지 처리하지 않았는지를 판정한다. 처리한 경우에는 스텝(601)로 되돌아가서 압축 및 암호문(512)에서 새로 난수를 리드한다. 그렇지 않은 경우에는 스텝(604)로 되돌아가서 압축 및 암호데이타의 다음 블럭을 복호한다. 블럭(612)에서의 판정을 위한 소정 블럭의 갯수는 제1 실시예의 경우와 동일한 값으로 설정해 둔다. 그 결과, 난수의 값을 갱신하는 주기는 제1 실시예와 동일하게 된다.
이상이 제2 실시예이다. 상기와 같이 제2 실시예에 의하면 제1 실시예에 의해 압축 및 암호화된 데이타를 신장 및 복호하고 원래의 평문데이타를 회복할 수 있다. 현재 이용되고 있는 암호의 대부분은 기본함수의 반복에 의해 평문데이타를 암호화하고, 그 기본함수의 역함수의 반복에 의해 암호문 데이타를 복호한다. 그리고, 복호에 있어서의 역함수의 반복횟수는 복호화에 있어서의 함수의 반복회수와 동일하다. 상기 제1 실시예에 의하면, 암호단수(기본함수의 반복회수)를 증가시키지 않고 차분 및 선형해독에 대처할 수 있었다. 그래서, 제2 실시예에 있어서도 복호를 위한 암호단수의 증가가 불필요하게 된다. 이상에서 제1 실시예와 제2 실시예에 의해 처리시간의 증가를 수반하지 않고 암호강도가 큰 암호화 및 그 복호를 실현할 수 있다.
이상의 설명으로부터 명확한 바와 같이, 본 발명에 의하면, 암호처리와 압축 및 암호처리에 있어서 처리시간의 증가를 수반하지 않고 차분해독 및 선형해독을 방지할 수 있으므로, 상기 처리의 성능 및 해독에 대한 강도를 향상시킬 수 있다.
도 1은 본 발명의 제1 실시예의 기능구성도,
도 2는 본 발명의 제1 실시예에 있어서의 제어처리의 동작을 도시한 흐름도,
도 3은 본 발명의 제1 실시예에 있어서의 평문데이타와 압축데이타의 대응관계를 도시한 하프만트리의 예를 도시한 도면,
도 4는 본 발명의 제1 실시예에 있어서의 하프만트리의 변형예를 도시한 도면,
도 5는 본 발명의 제2 실시예의 기능구성도,
도 6은 본 발명의 제2 실시예에 있어서의 제어처리의 동작을 도시한 흐름도.

Claims (25)

  1. 데이타를 입력 또는 수신하는 스텝,
    상기 데이타를 압축하는 스텝 및
    상기 압축된 데이타를 암호화하는 스텝을 포함하고,
    상기 데이타 암호화 스텝은
    압축할 상기 데이타의 임의의 부분의 비트열과 압축된 테이타의 임의의 부분의 비트열의 대응관계를 상기 데이타의 다른 부분의 암호화 처리에서 얻어진 중간 결과에 의존해서 결정하는 스텝을 포함하는 것을 특징으로 하는 정보처리방법.
  2. 데이타를 입력 또는 수신하는 스텝,
    상기 데이타를 압축하는 스텝,
    상기 데이타를 여러개의 블럭으로 분할하는 스텝 및
    상기 블럭을 순차 암호화하는 스텝을 포함하고,
    상기 데이타 암호화 스텝은
    압축할 상기 데이타의 블럭의 비트열과 압축된 데이타의 비트열의 대응관계를 그 블럭보다 이전에 압축하고 또한 암호화한 1개 이상의 블럭의 암호화 처리에서 얻어진 중간결과에 의존해서 결정하는 스텝을 포함하는 것을 특징으로 하는 정보처리방법.
  3. 데이타를 입력 또는 수신하는 스텝,
    상기 데이타를 여러개의 블럭으로 분할하는 스텝 및
    상기 블럭을 병렬로 압축하고 또한 암호화하는 스텝을 포함하고,
    상기 암호화 스텝은
    압축할 데이타의 블럭의 비트열과 압축된 데이타의 비트열의 대응관계를 그 블럭 이전에 그 블럭 이외의 1개 이상의 블럭의 암호화 처리에서 얻어진 중간결과에 의존해서 결정하는 스텝을 포함하는 것을 특징으로 하는 정보처리방법.
  4. 제1항에 있어서,
    상기 암호화스텝의 동작이 n개의 처리로 구성되고,
    m1, m2, · · ·mk가 1≤mk≤n의 정수이고,
    상기 암호화 처리의 중간결과가 m1번째의 처리의 결과, m2번째의 처리의 결과, · · ·mk번째의 처리의 결과인 것을 특징으로 하는 정보처리방법.
  5. 제2항에 있어서,
    상기 암호화스텝의 동작이 n개의 처리로 구성되고,
    m1, m2, · · ·mk가 1≤mk≤n의 정수이고,
    상기 암호화 처리의 중간결과가 m1번째의 처리의 결과, m2번째의 처리의 결과, · · ·mk번째의 처리의 결과인 것을 특징으로 하는 정보처리방법.
  6. 제3항에 있어서,
    상기 암호화스텝의 동작이 n개의 처리로 구성되고,
    m1, m2, · · ·mk가 1≤mk≤n의 정수이고,
    상기 암호화 처리의 중간결과가 m1번째의 처리의 결과, m2번째의 처리의 결과, · · ·mk번째의 처리의 결과인 것을 특징으로 하는 정보처리방법.
  7. 데이타를 입력 또는 수신하는 스텝;
    비밀 키를 입력 또는 수신하는 스텝;
    상기 키 또는 상기 키에서 산출된 값을 사용해서 상기 데이타의 적어도 일부를 암호화하는 스텝;
    상기 데이타의 다른 부분을 암호화하는 파라미터로서, 상기 데이타의 다른 부분 이외의 임의의 부분의 암호화 처리의 중간결과 또는 이 중간결과에서 산출된 값을 마련하는 스텝 및;
    상기 파라미터를 사용해서 상기 다른 부분을 암호화하는 스텝을 포함하며,
    처리의 임의의 시점에서 암호화의 파라미터를 상기 암호화 처리에서 얻어진 중간결과에 의존하지 않는 값으로 변경하는 것을 특징으로 하는 정보처리방법.
  8. 데이타를 입력 또는 수신하는 스텝;
    상기 데이타를 여러개의 블럭으로 분할하는 스텝;
    비밀 키를 입력 또는 수신하는 스텝;
    상기 비밀 키를 사용해서 제1 블럭을 암호화하고 상기 암호화 스텝을 사용해서 다른 블럭을 순차 암호화하는 스텝;
    상기 블럭중의 1개를 암호화하는 파라미터로서, 상기 블럭중의 1개에서 얻어진 중간 결과, 상기 블럭 이전에 1개 이상의 블럭의 암호화 처리에서 얻어진 중간결과 또는 상기 중간결과에서 산출된 값을 마련하는 스텝 및;
    상기 파라미터를 사용해서 상기 블럭을 각각 암호화하여 상기 데이타를 암호화하는 스텝을 포함하며,
    처리의 임의의 시점에서 암호화의 파라미터를 상기 암호화 처리에서 얻어진 중간결과에 의존하지 않는 값으로 변경하는 것을 특징으로 하는 정보처리방법.
  9. 데이타를 입력 또는 수신하는 스텝;
    상기 데이타를 여러개의 블럭으로 분할하는 스텝;
    비밀 키를 입력 또는 수신하는 스텝 및;
    상기 블럭을 병렬로 암호화하는 스텝을 포함하며,
    상기 비밀 키를 사용해서 상기 블럭중의 적어도 1개를 암호화하고,
    상기 암호화 스텝은
    상기 블럭중의 적어도 1개를 암호화하는 파라미터로서, 상기 블럭중의 적어도 하나 이외의 1개 이상의 블럭을 암호화하는 동안에 얻어진 중간결과 또는 상기 중간결과에서 산출된 값을 사용하는 스텝을 포함하고,
    처리의 임의의 시점에서 암호화의 파라미터를 상기 암호화 처리에서 얻어진 중간결과에 의존하지 않는 값으로 변경하는 것을 특징으로 하는 정보처리방법.
  10. 제1항에 있어서,
    처리의 임의의 시점에서 암호화의 파라미터 또는 입력데이타의 비트열과 압축데이타의 비트열의 대응관계를 상기 암호화 처리에서 얻어진 중간결과에 의존하지 않는 값으로 변경하는 것을 특징으로 하는 정보처리방법.
  11. 제2항에 있어서,
    처리의 임의의 시점에서 암호화의 파라미터 또는 입력데이타의 비트열과 압축데이타의 비트열의 대응관계를 상기 암호화 처리에서 얻어진 중간결과에 의존하지 않는 값으로 변경하는 것을 특징으로 하는 정보처리방법.
  12. 제3항에 있어서,
    처리의 임의의 시점에서 암호화의 파라미터 또는 입력데이타의 비트열과 압축데이타의 비트열의 대응관계를 상기 암호화 처리에서 얻어진 중간결과에 의존하지 않는 값으로 변경하는 것을 특징으로 하는 정보처리방법.
  13. 데이타를 입력 또는 수신하는 스텝;
    비밀 키를 입력 또는 수신하는 스텝;
    상기 키 또는 상기 키에서 산출된 값을 사용해서 상기 데이타의 적어도 일부를 암호화하는 스텝;
    상기 데이타의 다른 부분을 암호화하는 파라미터로서, 상기 데이타의 다른 부분 이외의 임의의 부분의 암호화 처리의 중간결과 또는 이 중간결과에서 산출된 값을 마련하는 스텝 및;
    상기 파라미터를 사용해서 상기 다른 부분을 암호화하는 스텝을 포함하며,
    상기 암호화스텝의 동작이 n개의 처리로 구성되고, m1, m2, · · ·mk가 1≤mk≤n의 정수이고, 상기 암호화의 중간결과가 m1번째의 처리의 결과이고,
    처리의 임의의 시점에서 암호화의 파라미터 또는 입력데이타의 비트열과 압축데이타의 비트열의 대응관계를 상기 암호화 처리에서 얻어진 중간결과에 의존하지 않는 값으로 변경하는 것을 특징으로 하는 정보처리방법.
  14. 데이타를 입력 또는 수신하는 수단;
    상기 데이타를 암호화하는 제1 수단;
    상기 데이타를 암호화하는 제2 수단 및;
    상기 제1 암호화수단에 의해 얻어진 암호화 처리의 중간결과를 제2 암호화 수단에 파라미터로서 입력하는 수단을 포함하는 것을 특징으로 하는 정보처리장치.
  15. 데이타를 입력하는 수단;
    상기 데이타를 압축하는 수단;
    상기 데이타를 암호화하는 수단;
    상기 암호화수단에 의해 얻어진 암호화 처리의 중간결과를 기억하는 수단 및;
    상기 기억된 중간결과 또는 상기 중간결과에 의존하는 값을 상기 암호화수단에 파라미터로서 입력하는 수단을 포함하는 것을 특징으로 하는 정보처리장치.
  16. 데이타를 입력 또는 수신하는 수단;
    상기 데이타를 암호화하는 수단;
    상기 암호화수단에 의해 얻어진 암호화 처리의 중간결과를 기억하는 수단;
    상기 기억된 중간결과 또는 상기 중간결과에 의존하는 값을 상기 암호화수단에 파라미터로서 입력하는 수단 및;
    상기 암호화 처리의 중간결과를 기억하는 상기 수단에 있어서 기억되어 있는 값을 상기 암호화 처리의 중간결과에 의존하지 않는 값으로 변경하는 수단을 갖는 것을 특징으로 하는 정보처리장치.
  17. 제14항에 있어서,
    상기 암호화 처리의 중간결과를 기억하는 수단에 있어서 기억되어 있는 값을 상기 중간결과에 의존하지 않는 값으로 변경하는 수단을 더 갖는 것을 특징으로 하는 정보처리장치.
  18. 제15항에 있어서,
    상기 암호화 처리의 중간결과를 기억하는 수단에 있어서 기억되어 있는 값을 상기 중간결과에 의존하지 않는 값으로 변경하는 수단을 더 갖는 것을 특징으로 하는 정보처리장치.
  19. 제14항에 있어서,
    상기 암호화 처리의 중간결과에 의존하지 않는 값을 산출 또는 기억하는 수단과
    상기 값을 상기 암호화수단에 파라미터로서 입력하는 수단을 더 갖는 것을 특징으로 하는 정보처리장치.
  20. 제15항에 있어서,
    상기 암호화 처리의 중간결과에 의존하지 않는 값을 산출 또는 기억하는 수단과
    상기 값을 상기 암호화수단에 파라미터로서 입력하는 수단을 더 갖는 것을 특징으로 하는 정보처리장치.
  21. 데이타를 입력 또는 수신하는 스텝;
    상기 데이타를 압축하는 스텝 및;
    상기 압축된 데이타를 암호화하는 스텝을 포함하고,
    상기 데이타 암호화 스텝은
    압축할 입력 데이타의 임의의 부분의 비트열과 압축된 데이타의 비트열의 대응관계를 상기 데이타의 다른 부분의 암호화 처리에서 얻어진 중간결과에 의존해서 결정하는 스텝을 포함하는 것을 특징으로 하는 정보 암호화 방법.
  22. 데이타를 입력 또는 수신하는 스텝;
    상기 데이타를 압축하는 스텝;
    상기 데이타를 블럭으로 분할하고 상기 블럭을 순차 암호화하는 스텝 및;
    압축할 입력 데이타의 블럭의 비트열과 압축된 데이타의 비트열의 대응관계를 상기 블럭이 압축되기 전에 압축하고 또한 암호화한 1개 이상의 블럭의 중간결과에 의존해서 결정하는 스텝을 포함하는 것을 특징으로 하는 정보 암호화 방법.
  23. 데이타를 입력 또는 수신하는 스텝;
    상기 데이타를 여러개의 블럭으로 분할하는 스텝;
    상기 블럭을 병렬로 압축하고 암호화하는 스텝 및;
    압축할 입력데이타의 블럭의 비트열과 상기 압축된 데이타의 비트열의 대응관계를 상기 블럭 이외의 암호화된 1개 이상의 블럭의 증간결과중 압축 완료된 것에 의존해서 확립하는 스텝을 포함하는 것을 특징으로 하는 정보 암호화 방법.
  24. 여러개의 블럭을 포함하는 데이타를 수신하는 스텝;
    데이타의 제1 블럭의 작업 키를 생성하는 스텝 및;
    데이타의 각 블럭을 암호화하는 스텝을 포함하고,
    상기 암호화 스텝은
    상기 작업 키를 파라미터로 해서 블럭에 대해 제1 암호화 스텝을 실행하여 중간 암호화 결과를 생성하는 스텝,
    상기 작업키를 파라미터로 해서 블럭의 중간 암호화 결과에 대해 제2 암호화 스텝을 실행하는 스텝 및
    상기 중간 암호화 결과를 사용해서 상기 작업 키를 재배열하여 파라미터로서 사용하고 다음의 데이타 블럭을 암호화하는 스텝을 포함하는 것을 특징으로 하는 정보처리방법.
  25. 여러개의 블럭을 포함하는 데이타를 수신하는 스텝;
    데이타의 제1 블럭의 작업 키를 생성하는 스텝;
    상기 작업 키를 파라미터로 해서 블럭에 대해 제1 암호화 스텝을 실행하여 중간 암호화 결과를 생성하고, 상기 작업키를 파라미터로 해서 블럭의 중간 암호화 결과에 대해 제2 암호화 스텝을 실행하고, 상기 작업 키를 다음의 데이타 블럭을 암호화하기 위해 파라미터로서 사용될 상기 중간 암호화 결과로 대제하는 스텝에 따라서 각각의 데이타 블럭이 암호화되는 제1 군의 데이타 블럭을 암호화하는 스텝;
    상기 제1 군의 모든 블럭이 암호화된 후에 제1 군의 데이타 블럭의 중간 결과와 독립된 새로운 작업 키를 생성하는 스텝 및;
    상기 새로운 작업 키를 파라미터로 해서 블럭에 대해 제1 암호화 스텝을 실행하여 중간 암호화 결과를 생성하고, 상기 새로운 작업키를 파라미터로 해서 블럭의 중간 암호화 결과에 대해 제2 암호화 스텝을 실행하고, 상기 새로운 작업 키를 다음의 데이타 블럭을 암호화하기 위해 파라미터로서 사용될 상기 중간 암호화 결과로 대체하는 스텝에 따라서 각각의 데이타 블럭이 암호화되는 제2 군의 데이타 블럭을 암호화하는 스텝을 포함하는 것을 특징으로 하는 정보처리방법.
KR1019970004889A 1996-02-28 1997-02-18 데이타의암호화방법및장치 KR100471738B1 (ko)

Applications Claiming Priority (2)

Application Number Priority Date Filing Date Title
JP96-040931 1996-02-28
JP04093196A JP3746098B2 (ja) 1996-02-28 1996-02-28 データの暗号化装置

Related Child Applications (1)

Application Number Title Priority Date Filing Date
KR1020020048389A Division KR100420552B1 (ko) 1996-02-28 2002-08-16 데이타의 암호화 방법 및 장치

Publications (2)

Publication Number Publication Date
KR970064059A KR970064059A (ko) 1997-09-12
KR100471738B1 true KR100471738B1 (ko) 2005-07-18

Family

ID=12594257

Family Applications (2)

Application Number Title Priority Date Filing Date
KR1019970004889A KR100471738B1 (ko) 1996-02-28 1997-02-18 데이타의암호화방법및장치
KR1020020048389A KR100420552B1 (ko) 1996-02-28 2002-08-16 데이타의 암호화 방법 및 장치

Family Applications After (1)

Application Number Title Priority Date Filing Date
KR1020020048389A KR100420552B1 (ko) 1996-02-28 2002-08-16 데이타의 암호화 방법 및 장치

Country Status (9)

Country Link
US (2) US6157720A (ko)
EP (1) EP0793366B1 (ko)
JP (1) JP3746098B2 (ko)
KR (2) KR100471738B1 (ko)
CN (1) CN1139221C (ko)
AU (1) AU693733B2 (ko)
DE (1) DE69736148T2 (ko)
IN (1) IN191843B (ko)
SG (1) SG79936A1 (ko)

Cited By (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
KR20220084797A (ko) * 2020-12-14 2022-06-21 주식회사 네오수텍 가상카드번호 생성 스마트카드와 가상카드번호 복호화 장치

Families Citing this family (31)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP3746098B2 (ja) * 1996-02-28 2006-02-15 株式会社日立製作所 データの暗号化装置
US6154542A (en) * 1997-12-17 2000-11-28 Apple Computer, Inc. Method and apparatus for simultaneously encrypting and compressing data
MY131509A (en) * 1999-03-15 2007-08-30 Sony Corp Data processing method, apparatus and system for encrypted- data transfer
JP2000305453A (ja) 1999-04-21 2000-11-02 Nec Corp 暗号化装置,復号装置,および暗号化・復号装置
EP1175781A1 (en) * 1999-05-04 2002-01-30 General Instrument Corporation Method and apparatus for access control of pre-encrypted on-demand television services
AU2001251102A1 (en) * 2000-03-28 2001-10-08 Oak Technology, Inc. Secure compact disc technology
JP2002009757A (ja) * 2000-06-20 2002-01-11 Casio Comput Co Ltd データ暗号化装置及びデータ復号化装置
JP2002082732A (ja) * 2000-09-06 2002-03-22 Nec Corp プログラムコードの不正改竄防止システム及びその方法並びにその制御プログラムを記録した記録媒体
WO2002091185A1 (en) * 2001-04-27 2002-11-14 Internet Access Technologies I High speed server system
US20030043852A1 (en) * 2001-05-18 2003-03-06 Bijan Tadayon Method and apparatus for verifying data integrity based on data compression parameters
US7239708B2 (en) * 2001-06-27 2007-07-03 Microsoft Corporation Protecting decrypted compressed content and decrypted decompressed content at a digital rights management client
US7061367B2 (en) 2002-04-30 2006-06-13 General Electric Company Managing access to physical assets
US20040025039A1 (en) * 2002-04-30 2004-02-05 Adam Kuenzi Lock box security system with improved communication
US6920484B2 (en) * 2002-05-13 2005-07-19 Nvidia Corporation Method and apparatus for providing an integrated virtual disk subsystem
US7120653B2 (en) * 2002-05-13 2006-10-10 Nvidia Corporation Method and apparatus for providing an integrated file system
US6700513B2 (en) * 2002-05-14 2004-03-02 Microsoft Corporation Method and system for compressing and decompressing multiple independent blocks
KR100560658B1 (ko) * 2003-02-17 2006-03-16 삼성전자주식회사 고속의 오프셋 코드북 모드를 위한 암호화 장치 및 그 방법
JP2005217842A (ja) * 2004-01-30 2005-08-11 Fujitsu Ltd データ圧縮方法、データ復元方法及びそのプログラム
FR2867337B1 (fr) * 2004-03-08 2006-05-12 Medialive Procede et systeme de distribution securisee de textes numeriques compresses
FR2889637B1 (fr) * 2005-08-04 2007-10-19 Everbee Networks Sa Procede et systeme de chiffrement a haut debit
CN101064595B (zh) * 2006-04-27 2011-07-27 联想(北京)有限公司 一种计算机网络安全输入认证系统和方法
US8769311B2 (en) 2006-05-31 2014-07-01 International Business Machines Corporation Systems and methods for transformation of logical data objects for storage
US9176975B2 (en) 2006-05-31 2015-11-03 International Business Machines Corporation Method and system for transformation of logical data objects for storage
US9670694B2 (en) 2007-04-12 2017-06-06 Utc Fire & Security Americas Corporation, Inc. Restricted range lockbox, access device and methods
CN102405622B (zh) * 2010-08-24 2014-11-05 华为技术有限公司 二叉树建立、压缩和查找的方法和装置
US8645713B2 (en) * 2011-03-22 2014-02-04 Fujitsu Limited Encrypting method, recording medium of encrypting program, decrypting method, and recording medium of decrypting program
US8886926B2 (en) * 2012-11-07 2014-11-11 Centri Technology, Inc. Single-pass data compression and encryption
JP2014116753A (ja) * 2012-12-07 2014-06-26 Mega Chips Corp データ処理装置及び制御プログラム並びにデータ処理装置の動作方法
JP2015114771A (ja) * 2013-12-10 2015-06-22 パテネット株式会社 データ暗号化装置、データ復元装置、データ暗号化方法、データ復元方法、データ暗号化プログラムおよびデータ復元プログラム
CN106664201A (zh) 2014-08-28 2017-05-10 三菱电机株式会社 进程解析装置、进程解析方法和进程解析程序
US11838402B2 (en) 2019-03-13 2023-12-05 The Research Foundation For The State University Of New York Ultra low power core for lightweight encryption

Citations (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US5115467A (en) * 1991-01-23 1992-05-19 General Instrument Corporation Signal encryption apparatus for generating common and distinct keys
US5631960A (en) * 1995-08-31 1997-05-20 National Semiconductor Corporation Autotest of encryption algorithms in embedded secure encryption devices

Family Cites Families (13)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JPS6129232A (ja) 1984-07-20 1986-02-10 Hitachi Ltd デ−タ暗号化伝送方式
US5163586A (en) * 1990-01-30 1992-11-17 Additive Systems Inc. Automotive fuel additive dispensing and blending system
DE4016203A1 (de) * 1990-05-19 1991-11-21 Rolf Prof Dr Trautner Verfahren zur blockweisen chiffrierung von digitalen daten
NZ238651A (en) * 1990-07-20 1994-04-27 Ericsson Ge Mobile Communicat Encryption system for digital cellular communications
FR2677200B1 (fr) * 1991-05-30 1993-09-17 Besnard Christian Dispositif de securisation de donnees numeriques.
US5479512A (en) * 1991-06-07 1995-12-26 Security Dynamics Technologies, Inc. Method and apparatus for performing concryption
US5517614A (en) * 1992-05-29 1996-05-14 Kabushiki Kaisha Toshiba Data compression/encryption processing apparatus
JPH05344118A (ja) 1992-06-05 1993-12-24 Matsushita Electric Ind Co Ltd データ攪乱装置
US5351299A (en) * 1992-06-05 1994-09-27 Matsushita Electric Industrial Co., Ltd. Apparatus and method for data encryption with block selection keys and data encryption keys
JPH0812537B2 (ja) 1993-03-11 1996-02-07 日本電気株式会社 暗号化装置
US5285497A (en) * 1993-04-01 1994-02-08 Scientific Atlanta Methods and apparatus for scrambling and unscrambling compressed data streams
CA2128115C (en) * 1993-07-20 1999-08-10 Keiichi Iwamura Encryption apparatus, communication system using the same and method therefor
JP3746098B2 (ja) * 1996-02-28 2006-02-15 株式会社日立製作所 データの暗号化装置

Patent Citations (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US5115467A (en) * 1991-01-23 1992-05-19 General Instrument Corporation Signal encryption apparatus for generating common and distinct keys
US5631960A (en) * 1995-08-31 1997-05-20 National Semiconductor Corporation Autotest of encryption algorithms in embedded secure encryption devices

Non-Patent Citations (2)

* Cited by examiner, † Cited by third party
Title
Applied Cryptography, Bruce Schneier 저, 1994년 초판인쇄, P.189 - P.197 and P.208 - P.209 *
Broadcasting Classified Information *

Cited By (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
KR20220084797A (ko) * 2020-12-14 2022-06-21 주식회사 네오수텍 가상카드번호 생성 스마트카드와 가상카드번호 복호화 장치
KR102630287B1 (ko) * 2020-12-14 2024-01-30 주식회사 네오수텍 가상카드번호 생성 스마트카드와 가상카드번호 복호화 장치

Also Published As

Publication number Publication date
AU693733B2 (en) 1998-07-02
US6504931B1 (en) 2003-01-07
KR100420552B1 (ko) 2004-03-02
CN1171682A (zh) 1998-01-28
JP3746098B2 (ja) 2006-02-15
CN1139221C (zh) 2004-02-18
IN191843B (ko) 2004-01-10
EP0793366A2 (en) 1997-09-03
EP0793366B1 (en) 2006-06-21
AU1495297A (en) 1997-09-18
KR970064059A (ko) 1997-09-12
SG79936A1 (en) 2001-04-17
US6157720A (en) 2000-12-05
DE69736148T2 (de) 2007-01-11
JPH09230786A (ja) 1997-09-05
EP0793366A3 (en) 2003-05-14
DE69736148D1 (de) 2006-08-03

Similar Documents

Publication Publication Date Title
KR100471738B1 (ko) 데이타의암호화방법및장치
KR100435052B1 (ko) 암호화장치
Souyah et al. An image encryption scheme combining chaos-memory cellular automata and weighted histogram
JP3188940B2 (ja) 暗号化システム
US5751811A (en) 32N +D bit key encryption-decryption system using chaos
EP0725511B1 (en) Method for data encryption/decryption using cipher block chaining (CBC) and message authentication codes (MAC)
KR100657062B1 (ko) 정보 암호화 방법 및 이 방법을 실현하는 장치
US7221756B2 (en) Constructions of variable input length cryptographic primitives for high efficiency and high security
US7664267B2 (en) Bit based arithmetic coding using variable size key cipher
US8577023B2 (en) Encryption processing method, apparatus, and computer program utilizing different types of S-boxes
CN108173640B (zh) 一种高安全性的字符串对称加密和解密方法
WO2006121149A1 (ja) 擬似乱数発生システム、暗号化システム及び復号化システム
JP2006506668A (ja) 複数鍵を用いたストリーム暗号の生成方法
JP3180836B2 (ja) 暗号通信装置
WO2002054664A2 (en) R-conversion encryption method and system
JP6187624B1 (ja) 情報処理装置、情報処理方法及びプログラム
CN107493164B (zh) 一种基于混沌系统的des加密方法和系统
RU2226041C2 (ru) Способ криптографического преобразования двоичных данных
KR101790325B1 (ko) 암호화 및 복호화 시스템
KR100350207B1 (ko) 디지털 데이터의 엘-비트 입력 블록들을 엘-비트 출력비트들로 암호 변환하는 방법
KR960006386A (ko) 디지틀 정보의 암호화 및 복호화 방법
Usama et al. Chaos-based secure data compression (CSDC)
Izotov et al. Controlled operations as a cryptographic primitive
AU716807B2 (en) Method and apparatus for encrypting data
RU2207736C2 (ru) Способ шифрования блоков данных

Legal Events

Date Code Title Description
A201 Request for examination
E902 Notification of reason for refusal
E902 Notification of reason for refusal
E601 Decision to refuse application
J201 Request for trial against refusal decision
AMND Amendment
B90T Transfer of trial file for re-examination
B601 Maintenance of original decision after re-examination before a trial
J301 Trial decision

Free format text: TRIAL DECISION FOR APPEAL AGAINST DECISION TO DECLINE REFUSAL REQUESTED 20000925

Effective date: 20011030

S901 Examination by remand of revocation
E902 Notification of reason for refusal
AMND Amendment
S601 Decision to reject again after remand of revocation
A107 Divisional application of patent
AMND Amendment
J201 Request for trial against refusal decision
B601 Maintenance of original decision after re-examination before a trial
J301 Trial decision

Free format text: TRIAL DECISION FOR APPEAL AGAINST DECISION TO DECLINE REFUSAL REQUESTED 20020816

Effective date: 20040623

S901 Examination by remand of revocation
E902 Notification of reason for refusal
GRNO Decision to grant (after opposition)
GRNT Written decision to grant
LAPS Lapse due to unpaid annual fee