KR100250803B1 - 데이타 변환장치 및 데이타 변환방법 - Google Patents

데이타 변환장치 및 데이타 변환방법 Download PDF

Info

Publication number
KR100250803B1
KR100250803B1 KR1019970702916A KR19970702916A KR100250803B1 KR 100250803 B1 KR100250803 B1 KR 100250803B1 KR 1019970702916 A KR1019970702916 A KR 1019970702916A KR 19970702916 A KR19970702916 A KR 19970702916A KR 100250803 B1 KR100250803 B1 KR 100250803B1
Authority
KR
South Korea
Prior art keywords
data
conversion
internal
sub
input
Prior art date
Application number
KR1019970702916A
Other languages
English (en)
Other versions
KR970707525A (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 KR970707525A publication Critical patent/KR970707525A/ko
Application granted granted Critical
Publication of KR100250803B1 publication Critical patent/KR100250803B1/ko

Links

Images

Classifications

    • GPHYSICS
    • G09EDUCATION; CRYPTOGRAPHY; DISPLAY; ADVERTISING; SEALS
    • G09CCIPHERING OR DECIPHERING APPARATUS FOR CRYPTOGRAPHIC OR OTHER PURPOSES INVOLVING THE NEED FOR SECRECY
    • G09C1/00Apparatus or methods whereby a given sequence of signs, e.g. an intelligible text, is transformed into an unintelligible sequence of signs by transposing the signs or groups of signs or by replacing them by others according to a predetermined system
    • 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/0625Block ciphers, i.e. encrypting groups of characters of a plain text message using fixed encryption transformation with splitting of the data block into left and right halves, e.g. Feistel based algorithms, DES, FEAL, IDEA or KASUMI
    • 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/12Details relating to cryptographic hardware or logic circuitry
    • H04L2209/122Hardware reduction or efficient architectures
    • 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/12Details relating to cryptographic hardware or logic circuitry
    • H04L2209/125Parallelization or pipelining, e.g. for accelerating processing of cryptographic operations

Landscapes

  • Engineering & Computer Science (AREA)
  • Computer Security & Cryptography (AREA)
  • Computer Networks & Wireless Communication (AREA)
  • Signal Processing (AREA)
  • Physics & Mathematics (AREA)
  • General Physics & Mathematics (AREA)
  • Theoretical Computer Science (AREA)
  • Complex Calculations (AREA)
  • Compression, Expansion, Code Conversion, And Decoders (AREA)
  • Image Processing (AREA)
  • Compression Of Band Width Or Redundancy In Fax (AREA)
  • Compression Or Coding Systems Of Tv Signals (AREA)
  • Communication Control (AREA)

Abstract

디지탈정보를 보호하는 입력데이타의 암호화와 복호화 및 데이타확산 등을 위한 데이타 변환장치와 데이타 변환방법에 관한 것으로서, 여러개의 부변환처리를 병렬로 실행할 수 있도록 구성하여 암호화/복호화 및 데이타확산등의 데이타 변환처리의 고속화를 도모하기 위해, 임의의 2개의 A입력데이타(101)과 B입력데이타(102)에 대해서 이 A입력데이타를 제1키파라미터(111)에 의해 제1비선형변환을 하고, 이 제1비선형변환된 변환결과(109)와 B입력데이타(102)의 배타적 논리합을 B중간데이타(106)로서 다음단의 부변환처리부(122)의 B입력데이타로 하고, B입력데이타(102)를 다음단의 부변환처리부의 A입력데이타로서 제2키파라미터(112)로 제2비선형변환을 하고, 이 제2비선형변환된 출력데이타와 B중간데이타(106)의 배타적 논리합을 B중간데이타(108)로서 다음 단의 부변환처리부(123)의 B입력데이타로 하는 구성을 구비하고, 구성을 종단 접속해서 최종의 A중간데이타와 B중간데이타를 변환후의 출력데이타(103, 104)로 한다.
이렇게 하는 것에 의해, 차분확률이 우수한 고속인 데이타변환이 가능하고 정보처리장치나 데이타 통신장치의 암호장치등으로서 유용하며, 암호화장치등의 회로규모를 삭감해서 고속처리하는 경우에 적합하다는 효과가 얻어진다.

Description

[발명의 명칭]
데이타 변환장치 및 데이타 변환방법
[도면의 간단한 설명]
도1은 실시형태 1의 데이타 변환장치의 구성블록도.
도2는 비선형 변환회로의 예를 도시한 구성도.
도3은 실시형태 2의 데이타 변환장치의 구성블록도.
도4는 실시형태 1과 2의 데이타 변환장치의 동일성을 도시한 도면.
도5는 실시형태 1과 2의 데이타 변환장치와 동일구성의 다른 예를 도시한 도면.
도6은 실시형태 3의 데이타 변환장치의 기본구성의 일부와 부변환 처리부 중의 비선형 변환회로의 구성을 도시한 도면.
도7은 실시형태 3의 데이타 변환장치의 전체의 부변환 처리부의 접속구성도.
도8은 도7의 접속장치의 데이타 변환순서를 설명하는 도면.
도9는 도7의 접속장치의 데이타 변환순서를 설명하는 도면.
도10은 도7의 접속장치의 데이타 변환순서를 설명하는 도면.
도11은 실시형태 4의 데이타 변환장치의 기본구성의 일부와 부변환 처리부 중의 비선형 변환회로의 구성을 도시한 도면.
도12는 실시형태 4의 데이타 변환장치의 일부의 부변환 처리부의 접속과 그 데이타 변환순서를 설명하는 도면.
도13은 실시형태 5의 데이타 변환장치의 기본구성과 부변환 처리부 중의 비선형 변환회로의 구성을 도시한 도면.
도14는 실시형태 6의 데이타 변환장치의 구성블록도.
도15는 실시형태 7의 데이타 변환장치의 구성블록도.
도16은 실시형태 8의 데이타 변환장치의 구성블록도.
도17은 실시형태 9의 데이타 변환장치의 구성블록도.
도18은 실시형태 9의 데이타 변환장치 중의 외부 비선형 변환회로의 구성을 도시한 도면.
도19는 실시형태 9의 데이타 변환장치 중의 내부 비선형 변환회로 중의 내부 비선형 변환회로의 구성을 도시한 도면.
도20은 실시형태 9의 데이타 변환장치에 있어서의 내부 비선형 변환회로 중의 비선형 요소(변환표)의 예를 도시한 도면.
도21은 실시형태 9의 데이타 변환장치에 있어서의 내부 비선형 변환회로 중의 비선형 요소(변환표)의 예를 도시한 도면.
도22는 도19의 내부 비선형 변환회로 중의 비선형 처리요소를 갈로아체상의 X의 n승회로에 의해 정규기저로 구성한 예를 도시한 도면.
도23은 실시형태 10의 데이타 변환장치의 구성블록도.
도24는 도23의 데이타 변환부의 상세한 구성을 도시한 도면.
도25는 실시형태 11의 다른 데이타 변환장치의 구성블록도.
도26은 실시형태 1~11의 특징을 정리한 도면.
도27은 본 발명의 데이타 변환장치의 응용예를 도시한 도면.
도28은 본 발명의 데이타 변환장치의 응용예를 도시한 도면.
도29는 종래의 데이타 변환장치의 구성을 도시한 도면.
[발명의 상세한 설명]
[기술분야]
본 발명은 정보통신 등에 있어서 디지탈정보를 보호하는 입력데이타의 암호화와 복호화 및 데이타확산 등을 위한 데이타 변환장치와 데이타 변환방법에 관한 것이다.
[배경기술]
종래의 암호화를 위한 데이타 변환방법으로서는 예를 들면 미야구치 등에 의한 FEAL-8 알고리듬(미야구치, 시라이시, 시미즈 「FEAL-8 암호알고리듬」NTT연구실용화보고 제39권 제4/5호, 1988)이 있었다.
도29는 그 FEAL-8 암호알고리듬의 일부를 도시하고 있다.
도면에 있어서, (1001) 및 (1002)는 2계통의 입력데이타, (1003) 및 (1004)는 2계통의 출력데이타, (1005), (1006), (1007), (1008)은 중간데이타이다. 또, (1011), (1012), (1013), (1014)는 각각 제1, 제2, 제3, 제4의 키파라미터, (1021), (1022), (1023), (1024)는 각단의 부변환 처리부이고, 그의 구성요소로서 (1031), (1032), (1033), (1034)의 비선형 변환회로와 (1041), (1042), (1043), (1044)의 배타적 논리합회로가 있다.
다음에, 동작에 대해서 설명한다. 우선, 입력된 2계통의 입력데이타(1001), (1002)는 제1단의 부변환 처리부(1021)에 입력되고, 이 결과 새로운 2계통의 중간데이타(1005), (1006)으로 변환된다. 계속해서, 이들 변환후의 중간데이타는 제2단의 부변환 처리부(1022)에 입력되고, 이 결과 새로운 2계통의 중간데이타(1007), (1008)로 변환된다. 이 조작은 합계 8회 실행되고, 제8단의 부변환 처리후의 2계통의 데이타가 최종 출력데이타(1003), (1004)로서 출력된다.
상기 부변환 처리부의 동작에 대해서 제1단의 부변환 처리부(1021)을 예로들어 설명한다.
부변환 처리부(1021)은 2계통의 입력데이타(1001), (1002)를 입력하고 2계통의 중간데이타(1005), (1006)을 출력한다. 제2입력데이타(1002)는 상기 문헌의 연구실용화보고에 상세하게 기술되어 있는 바와 같이, 비선형 변환회로(1031)내에서 바이트단위로 분할되고, 키파라미터와 배타적 논리합연산이 실행되고, 계속해서 산술가산이 반복되고, 마지막으로 분할된 데이타가 융합된다는 비선형변환이 이루어지고 있다. 이 변환후의 데이타는 제1입력데이타(1001)과 배타적 논리합 연산되어 제1단의 변환결과가 얻어지고 제2중간데이타(1006)으로서 출력된다. 또, 제2입력데이타(1002)는 그대로 제1중간데이타(1005)로서 출력된다.
제2단의 부변환 처리부(1022)에서는 상술한 바와 같은 프로세스에 의해 제2단째의 중간데이타가 얻어지고, 이후 마찬가지로 이 예에서는 합계 8단의 처리를 실행해서 출력데이타(1003)과 (1004)가 최종결과로서 얻어진다.
종래의 데이타 변환장치는 이상과 같이 구성되어 있고 1단의, 부변환 처리에 포함되는 비선형 변환이 완료된 후 데이타를 출력해서 다음단의 부변환 처리를 위한 입력으로 할 수 있는 구성으로 되어 있었다. 즉, 각 부변환 처리는 순차처리로 되어 처리가 지연된다는 과제가 있었다.
본 발명의 목적은 상기의 과제를 해소하기 위해 이루어진 것으로서, 여러개의 부변환 처리를 병렬로 실행할 수 있도록 구성하며 암호화/복호화 및 데이타 확산 등의 데이타 변환처리의 고속화를 도모하는 것이다.
[발명의 개시]
본 발명에 관한 데이타 변환장치는 임의의 2개의 A입력데이타와 B입력데이타에 대해서 이 A입력데이타를 제1키파라미터에 의해 제1비선형 변환하고, 이 제1비선형 변환된 출력데이타와 B입력데이타의 배타적 논리합을 B중간데이타로서 출력하고, 상기 B입력데이타를 그대로 A중간데이타로서 출력하는 구성과 상기 A중간데이타를 제2키파라미터에 의해 제2비선형 변환하고, 이 제2비선형 변환된 출력데이타와 B중간데이타의 배타적 논리합을 다음의 B중간데이타로서 출력하고, 상기 B중간데이타를 그대로 다음의 A중간데이타로서 출력하는 구성을 구비하고, 상기 구성을 종속 접속해서 최종의 A중간데이타와 B중간데이타를 변환후의 출력데이타로 한다.
또, 기본구성에 있어서 제1비선형 변환의 입력측에서 제2비선형 변환의 입력측까지 존재하는 제1비선형 변환회로와 배타적 논리합회로를 제1부변환 처리부로 하고, 제2비선형 변환의 입력측에서 다음의 제1비선형 변환의 입력측까지 존재하는 제2비선형 변환회로와 배타적 논리합회로를 제2부변환 처리부로 하거나 또는 제1비선형 변환의 출력측에서 제2비선형 변환의 출력측까지 존재하는 배타적 논리합회로와 제2비선형 변환회로를 제1부변환 처리부로 하고, 제2비선형 변환의 출력측에서 다음의 제1비선형 변환의 출력측까지 존재하는 배타적 논리합회로와 제1비선형 변환회로를 제2부변환 처리부로 하고, 이들 제1부변환 처리부와 제2부변환 처리부를 교대로 필요단수 접속하고, 최종단은 제1 또는 제2 중의 어느 하나의 부변환 처리부에서 출력되는 A중간데이타와 B중간데이타를 변환후의 출력데이타로 한다.
또, 상기 기본구성에 부가해서 또 각 부변환 처리부 중의 비선형 변환회로로서 기본구성의 데이타 변환장치의 구성을 중첩구조로 해서 사용한다.
본 발명에 관한 데이타 변환방법은 임의의 2개의 A입력데이타와 B입력데이타에 대해서 이 B입력데이타를 그대로 제1 A중간데이타로서 출력하는 제1 스텝, A입력데이타를 제1키파라미터에 의해 비선형 변환하고 이 비선형 변환후의 출력데이타와 B입력데이타의 배타적 논리합을 구해서 제1 B중간데이타로서 출력하는 제2 스텝, 제1 B중간데이타를 입력하고 그대로 제2 A중간데이타로서 출력하는 제3스텝 및 제1 A중간데이타를 입력해서 제2키파라미터에 의해 비선형 변환하고 이 비선형 변환후의 출력데이타와 제1 B중간데이타의 배타적 논리합을 구해서 제2 B중간데이타로서 출력하는 제3스텝을 구비하고, 이들 제1~제4스텝을 반복하고 마지막으로는 제2 또는 제4스텝에서 종료하도록 해서 최종의 A중간데이타와 B중간데이타를 변환데이타로 한다.
또는 비선형 변환과 배타적 논리합의 연산순서를 변경하여 상기 방법과 등가인 스텝을 구비한다.
또, 기본구성에 부가해서 제1비선형 변환의 입력측에서 제2비선형 변환의 입력측까지 존재하는 제1비선형 변환회로와 배타적 논리합회로를 제1부변환 처리부로 하고, 제2비선형 변환의 입력측에서 다음의 제1비선형 변환의 입력측까지 존재하는 제2비선형 변환회로와 배타적 논리합회로를 제2부변환 처리부로 하거나 또는 제1비선형 변환의 출력측에서 제2비선형 변환의 출력측까지 존재하는 배타적 논리합회로와 제2비선형 변환회로를 제1부변환 처리부로 하고, 제2비선형 변환의 출력측에서 다음의 제1비선형 변환의 출력측까지 존재하는 배타적 논리합회로와 제1비선형 변환회로를 제2부변환 처리부로 하고, 제1부변환 처리부와 제2부변환 처리부를 교대로 필요단수 접속하고, 최초의 제1부변환 처리부의 입력측의 데이타 선택부를 부가하고, 또 최후의 제1 및 제2 중의 어느 하나의 부변환 처리부의 출력측에 데이타 유지부를 부가하고, 최초로 임의의 2개의 A입력데이타와 B입력데이타를 상기 데이타 선택부에서 선택입력하고, 선택입력이 종료하면 다음회 이후는 상기 데이타유지부의 출력을 선택 입력하도록 귀환접속을 해서 변환처리를 하고, 최종회는 제1 또는 제2 중의 어느 하나의 부변환 처리부에서 출력되어 데이타유지부에 유지되고 출력되는 A중간데이타와 B중간데이타를 변환후의 출력데이타로 한다.
또, 기본구성에 부가해서 임의의 2개의 A입력데이타와 B입력데이타의 자리수의 수를 동일하게 하고, 또 제1비선형 변환의 입력측에서 제2비선형 변환의 입력측까지 존재하는 제1비선형 변환회로와 배타적 논리합회로나 또는 제2비선형 변환의 출력측에서 다음의 제1비선형 변환의 출력측까지 존재하는 제2비선형 변환회로와 배타적 논리합회로를 부변환 처리부로 하고, 부변환 처리부를 필요 단수 접속하고 최초의 부변환 처리부의 A, B 각입력측에 데이타 선택부를 부가하고, 또 최후의 부변환 처리부의 A, B 각 출력측에 데이타 유지부를 부가하고, 최초로 A입력데이타와 B입력데이타를 상기 데이타 선택부에서 선택입력하고, 선택입력이 종료하면 다음회 이후는 데이타 유지부의 출력을 선택입력하도록 귀환접속을 해서 변환처리를 하고, 최종회는 데이타 유지부에서 출력되는 A중간데이타와 B중간데이타를 변환후의 출력으로 한다.
또, 제1 또는 제2비선형 변환시에는 그 부변환 처리부로의 A입력데이타를 임의의 자리수의 수로 분할해서 A1입력데이타와 A2입력데이타로 하고, 또 키파라미터도 임의의 자리수의 수로 분할해서 제1분할 키파라미터~제n분할 키파라미터로 하고, A입력데이타를 분할한 A1입력데이타를 제1분할 키파라미터에 의해 내부 비선형 변환하고, 내부 비선형 변환된 출력데이타와 A2입력데이타의 배타적 논리합을 제1 A2내부중간데이타로서 출력하고, A2입력데이타를 그대로 제1 A1내부중간데이타로서 출력하는 제1내부 부변환 처리부 및 제1내부 부변환 처리부의 제1 A1내부중간데이타를 A1입력데이타로 해서 제2분할 키파라미터에 의해 내부 비선형 변환하고, 내부 비선형 변환된 출력데이타와 제1 A2내부중간데이타를 A2입력데이타로 해서 A2입력데이타와의 배타적 논리합을 제2 A2내부중간데이타로서 출력하고, 제1 A2내부중간데이타를 그대로 제2 A1내부중간데이타로서 출력하는 제2내부 부변환 처리부를 구비하고, 제1내부 부변환 처리부와 제2내부 부변환 처리부를 교대로 n단 접속하고, 최초의 제1내부 부변환 처리부의 입력측에 내부 데이타 선택부를 부가하고, 또 최후의 제1 및 제2 중의 어느 하나의 내부 부변환 처리부의 출력측에 내부 데이타 유지부를 부가하고, 최초로 A1입력데이타와 A2입력데이타를 내부 데이타 선택부에서 선택입력하고, 선택입력이 종료하면 다음회 이후는 상기 내부 데이타 유지부의 출력을 선택입력하도록 귀환접속을 해서 내부변환처리를 하고, 최종회는 내부 데이타 유지부에서 출력되는 A1중간데이타와 A2중간데이타를 합쳐서 변환후의 A출력데이타로 하는 비선형 변환을 실행하도록 한다.
또, 각 부변환 처리부 중의 비선형 변환시에는 그 부변환 처리부로의 A입력데이타를 임의의 자리수의 수로 분할해서 A1입력데이타와 A2입력데이타로 하고, 또 키파라미터도 임의의 자리수의 수로 분할해서 제1분할 키파라미터~제n분할 키파라미터로 하고, A입력데이타를 분할한 A1입력데이타를 제1분할 키파라미터에 의해 내부 비선형 변환하고, 내부 비선형 변환된 출력데이타를 제1 A2내부중간데이타로서 출력하고, A1입력데이타와 A2입력데이타의 배타적 논리합을 제1 A1내부중간데이타로서 출력하는 제1내부 부변환 처리부 및 제1내부 부변환 처리부의 제1 A1내부중간데이타를 A1입력데이타로 해서 제2분할 키파라미터에 의해 내부 비선형 환하여 제2 A2내부중간데이타로서 출력하고, 제1 A1내부중간데이타와 제1 A2내부중간데이타를 A1입력데이타와 A2입력데이타로 해서 배타적 논리합을 구하고 제2 A1내부중간데이타로서 출력하는 제2내부 부변환 처리부를 구비하고, 제1내부 부변환 처리부와 제2내부 부변환 처리부를 교대로 n단 접속하고, 최초의 제1내부 부변환 처리부의 각 입력측에 내부 데이타 선택부를 부가하고, 또 최후의 제1 및 제2 중의 어느 하나의 내부 부변환 처리부의 출력측에 내부 데이타 유지부를 부가하고, 최초로 A1입력데이타와 A2입력데이타를 내부 데이타 선택부에서 선택 입력하고, 선택 입력이 종료하면 다음회 이후는 내부 데이타 유지부의 출력을 선택 입력하도록 귀환접속을 해서 내부 변환처리를 하고, 최종회는 내부 데이타 유지부의 출력의 A1입력데이타와 A2입력데이타를 합쳐서 변환후의 A출력데이타로 하는 비선형 변환을 실행한다.
또, 상기 각 부변환 처리부 중의 비선형 변환으로서의 A입력데이타의 분할 방식이 동일한 자리수의 길이로 되는 경우 제1내부 부변환 처리부만을 필요단수 접속한다.
또, 제1내부 부변환 처리부와 제2내부 부변환 처리부를 교대로 필요단수 접속하고, 최초의 제1내부 부변환 처리부의 입력측에 내부 데이타 선택부를 부가하고, 또 최후의 제1 및 제2 중의 어느 하나의 내부 부변환 처리부의 출력측에 내부 데이타 유지부를 부가하고, 최초로 B1입력데이타와 B2입력데이타를 내부 데이타 선택부에서 선택 입력하고, 선택 입력이 종료하면 다음회 이후는 내부 데이타 유지부의 출력을 선택 입력하도록 귀환접속을 해서 내부 변환처리를 하고, 최종회는 내부 데이타 유지부에서 출력되는 B1중간데이타와 B2중간데이타를 합쳐서 변환후의 B출력데이타로 한다.
또, 상기 각 부변환 처리부 중의 내부 부변환 처리부로의 B입력데이타의 분할방식이 동일한 자리수의 길이로 되는 경우 제1내부 부변환 처리부만을 필요단수 접속한다.
또, 각 키파라미터에 의한 부변환 처리부를 우수단 접속하는 구성으로 하고, 최초의 부변환 처리부의 입력측에 데이타 선택부를 부가하고, 또 최후의 부변환 처리부의 출력측에 데이타 유지부를 부가하고 또 키파라미터 공급부를 부가한다. 최초로 임의의 2개의 A입력데이타와 B입력데이타를 상기 데이타 선택부에서 선택하고, 이 선택입력이 종료하면 다음회 이후는 상기 데이타 유지부의 출력을 선택입력하도록 귀환접속하고, 필요한 회수만큼 반복해서 변환처리를 실행하고, 그 때 키파라미터 공급부는 반복변환처리에 대응해서 각 부변환 처리부로 키파라미터를 공급하고, 최종회는 상기 데이타 유지부에서 출력되는 A중간데이타와 B중간데이타를 변환후의 출력데이타로 한다.
또, 비선형 변환회로로서 적어도 그의 어느 하나에 갈로아체(Galois Field)상의 원(element) X의 n승 회로를 사용한다.
또, 갈로아체상의 원 X의 n승회로를 정규기저로 구성한다.
또, 비선형 변환회로의 적어도 일부에 리드 온리 메모리(Read Only Memory)를 사용한다.
또, 비선형 변환회로의 적어도 일부에 랜덤 액세스 메모리(Random Access Memory)를 사용한다.
또, 비선형 변환회로의 적어도 일부에 논리회로(Logic Circuit)를 사용한다.
또, 2개의 배타적 논리합과 논리곱 또는 논리합으로 이루어지는 2개의 논리연산회로를 데이타 변환부로 해서 제1부변환부의 A입력과 B입력 중 어느 하나 또는 각 입력측에 부가하고, A입력 또는 B입력을 또 임의의 자리수의 길이의 2개의 AA데이타와 AB데이타로 분할하고, 키파라미터를 대응하는 A변환 키파라미터와 B변환 키파라미터로 분할하고, AA데이타와 A변환 키파라미터의 제1논리곱 또는 논리합을 구하고, 제1논리곱 또는 논리합된 출력데이타와 상기 AB데이타의 제1배타적 논리합을 구하고, 제1배타적 논리합 출력을 AB데이타 변환후의 출력데이타로 하고, 제1 배타적 논리합 출력과 B변환 키파라미터의 제2 논리곱 또는 논리합을 구하고, 이 제2 논리곱 또는 논리합된 출력데이타와 상기 AA데이타의 제2 배타적 논리합을 구하고, 제2 배타적 논리합 출력을 AA데이타 변환후의 출력데이타로 하고, AA데이타 변환후의 출력데이타와 AB데이타 변환후의 출력데이타를 합쳐서 A입력데이타 또는 B입력데이타로서 후단으로 출력한다.
[실시예]
[발명을 실시하기 위한 최량의 형태]
[실시형태 1]
정보처리의 데이타의 비밀성이나 통신내용의 당사자간의 비밀성을 유지할 목적으로 암호화 및 그 복호화기술이 주목받고 있다. 이들 암호화, 복호화의 데이타 변환시에는 데이타 변환의 처리의 고속성을 얻는 것과 다른 사람에 의해 암호가 해독될 위험성을 줄이는 것이 중요하다.
암호화에는 입력데이타를 키파라미터에 의해 비선형 변환하는 기술이 알려져 있다. 또, 암호의 강도를 나타내는 척도로서 소위 차분확률이라는 개념이 있고, 이 차분확률의 값이 작을수록 강한 암호라고 할 수 있다. 문헌1로서 Kaisa Nyberg, Lars Ramkilde knudsen, Provable Security Against Differential Cryptanalysis, Journal of Cryptology vol. 8, No. 1 (1995)에 의하면, 여러개의 부변환 처리를 연결해서 암호화를 실행하는 경우 각 부변환 처리에 있어서의 비선형 변환의 차분확률을 p로 하면 이하의 것이 성립한다는 것이 개시되어 있다.
[1] 비선형 변환을 입력데이타와 출력데이타가 1대 1로 결정되는 방식으로 실행하면, 부변환 처리가 3단 이상 있으면 전체의 차분확률은 2p2이하이다.
여기에서, 입력데이타와 출력데이타가 1대 1로 결정된다는 의미는 예를 들면 0~255 중 어느 하나의 값을 취하는 입력데이타X에 대해서 0~255 중 어느 하나의 값을 취하는 출력데이타Y가 출력되는 경우, 입력데이타X의 임의의 값과 출력데이타Y의 임의의 값이 1대 1로 대응해서 쌍으로 되어 있는 것을 말한다. 예를 들면, 입력데이타X의 값이 8일 때 출력데이타Y의 값으로서 반드시 125가 출력되는 경우를 말한다.
도29에 도시한 형태의 알고리듬에서 비선형 변환회로(1031), (1032), (1033)의 3개의 비선형 변환의 차분확률이 각각 p이면 도29에 도시한 형태의 알고리듬 전체의 차분확률은 2p2이하로 된다.
종래예의 FEAL알고리듬은 도29에 도시한 형태의 알고리듬이지만, 실은 FEAL의 각 부변환 처리에 있어서의 비선형 변환의 차분확률p는 1이므로, 상기 논의를 적용해도 알고리듬 전체의 차분확률은 2이하라는 결론이 얻어질 뿐이고 암호강도에 관한 증명은 전혀 불가능하다.
그래서, 도2는 종래부터 알려져 있는 비선형 변환회로의 예를 도시한 도면이다.
도면에 있어서, (151)은 비선형 변환회로 중의 배타적 논리합회로, (152)는 마찬가지로 갈로아체 역원회로이다. 단, 0입력에 대해서는 0을 출력하는 것이다. 또, n은 입출력비트 사이즈를 나타내고 있다. 비선형 변환회로로서 도2의 구성을 사용한 경우는 그와 같은 구성에 의해 차분확률 p=2/2n(n이 기수인 경우), p=4/2n(n이 우수인 경우)로 되는 것이 알려져 있다.
그러나, 도2의 갈로아체 역원회로(152)는 입력데이타의 사이즈가 크면 규모가 커져 버린다는 결점이 있다.
본 발명에 의하면, 이하에 기술하는 구성에 의해서도 상기 [1]의 기술이 성립되는 것이 문헌2로서 「블럭암호의 차분해독법과 선형해독법에 대한 증명가능 안정성에 대해서」(마츠이 미츠루, 제18회 정보논리와 그 응용심포지움 예고집, 1995년 10월 24일~27일)에 의해 증명되어 있다. 또, 문헌2에 의하면, 본 발명에서는 가령 비선형 변환으로서 도29에 기재된 것과 동일한 것을 사용했다고 해도 [1]의 2p2을 p2으로 할수 있으므로, 암호의 강도가 더욱 강해진다.
본 실시형태에서는 차분확률p의 값이 작으면 평가가 가능한 부변환 처리부를 사용해서 또 데이타변환을 고속으로 실행할 수 있는 데이타 변환장치에 대해서 설명한다.
도1은 본 실시형태에 있어서의 데이타 변환장치의 구성을 도시한 도면이다.
도면에 있어서, (101), (102)는 각각 A입력데이타, B입력데이타이고, (103), (104)는 최종단의 A출력데이타, B출력데이타로서 이 양자가 데이타변환의 출력데이타로 된다. (105)~(108)은 중간데이타, (111)~(114)는 암호화를 위한 키파라미터이다. (121)~(124)는 제1단~제n단의 부변환 처리부, 그 중에 포함되는(131)~(134)는 제1단~제n단의 비선형 변환회로, (141)~(144)는 배타적 논리합회로이다.
다음에, 상기 구성의 데이타 변환장치의 동작에 대해서 설명한다. 여기에서는 2개의 입력데이타의 길이가 동일한 경우에 대해서 설명한다. 또한, 데이타 변환처리에서 시간이 걸리는 것은 비선형 변환이고 배타적 논리합 연산의 시간은 그것에비하면 무시할 수 있다.
도1에 있어서, 한쪽의 A입력데이타(101)은 제1키파라미터(111)에 의해 도2에 도시한 배타적 논리합회로(151)과 갈로아체 역원회로(152)에서 제1비선형 변환을 받는다. 이 변환결과(109)가 다른쪽의 B입력데이타(102)와 배타적 논리합 연산을 받고 다음단으로의 B중간데이타(106)이 얻어진다(S2). 한편, B입력데이타(102)는 그대로 제1단의 A중간데이타(105)로 되고 다음단으로의 입력으로 된다(S1). A중간데이타(105)는 제2비선형 변환을 받고 B중간데이타(106)과 배타적 논리합 연산을 받는다. 그 결과, B중간데이타(108)이 얻어진다(S4). B중간데이타(106)은 그대로 다음단으로의 A중간데이타(107)로 된다(S3). 이 수순에 의하면, 시간적으로 제1비선형 변환과 병행해서 제2비선형 변환회로(132)에 의해 연산이 실행된다.
이렇게 해서 기수단과 우수단의 부변환 처리부에 있어서 거의 병행해서 비선형 변환이 실행되어 고속의 데이타변환이 가능하다.
상기 실시형태에서는 2개의 입력데이타의 길이가 동일한 경우에 대해서 설명했지만, A입력데이타의 길이n1비트와 B입력데이타의 길이n2비트가 다른 경우(n1>n2)는 이하의 것이 성립한다.
[2] 비선형 변환을 입력데이타와 출력데이타가 1대 1로 결정되는 방식으로 실행하면, 부변환 처리가 3단이상 있으면 전체의 차분확률은 p2이하이다.
따라서, 도1의 구성에서 2개의 입력데이타의 길이를 변경한 구성으로 하더라도 각 부변환 처리부의 차분확률p는 변경되지 않지만, 전체의 차분확률의 값이 p2 이하인 것을 알수 있었던 변환장치를 구성할 수 있다. 이 경우, 배타적 논리합회로로의 입력은 A입력데이타와 B입력데이타의 길이가 다르므로, 긴 데이타에 대해서는 초과한 부분(n1-n2비트의 부분)에 대해서는 배타적 논리합 연산을 하지 않고, 짧은 데이타와 동일한 길이의 부분(n2비트)만을 짧은 데이타와 배타적 논리합 연산한다. 또는, 짧은 데이타에 대해서는 긴 데이타에 비해 부족한부분(n1-n2비트의 부분)에 정수를 보충하는 것 등에 의해 긴 데이타와 동일 길이로 해서 배타적 논리합 연산을 실행하는 것이 고려된다. 또, A입력데이타와 B입력데이타의 길이가 다른 경우, 키파라미터도 그 길이에 대응해서 적절한 키파라미터를 공급한다.
또한, 본 실시형태에서는 하드웨어구성에 대해 설명했지만, 비선형 변환 및 배타적 논리합 연산을 소프트웨어로 실행해도 기수단 상당의 연산과 우수단 상당의 연산을 병행해서 처리할 수 있고 마찬가지의 효과가 얻어진다.
[실시형태 2]
본 발명의 취지인 고속 비선형 변환의 다른 구성예를 설명한다.
본 실시형태에서는 각 부변환 처리부 중의 배타적 논리합의 위치를 변경하고 있다. 도3은 그 구성을 도시한 블럭도로서, 도면에 있어서 (161)~(164)는 각각 제1~제4부변환 처리부이다. 키파라미터(111)~(114), 비선형 변환회로(132)~(135), 배타적 논리합회로(141)~(144)는 실시형태1에 있어서의 도1의 구성요소와 동등한 것이다. 부변환 처리부(161)~(164)는 내부접속이 도1의 부변환 처리부(121)~(124)와는 다르다.
이 접속에 의해서도 실시형태 1과 마찬가지로 전체의 차분확률은 p2이하로 할수 있고, 전체의 차분확률이 [1]에서 기술한 p2보다 작은 강한 암호를 생성할 수 있다.
제1부변환 처리부(161)에서는 A입력데이타(101)과 B입력데이타(102)에 대해서 A입력데이타(101)을 제1키파라미터(111)에 의해 비선형 변환하고, 이 비선형 변환회로(132)에서 비선형 변환된 출력데이타를 제1단의 B중간데이타(106)으로서 출력한다(S12). 또, 배타적 논리합회로(141)에서 A입력데이타(101)과 B입력데이타(102)의 배타적 논리합을 얻고, 이것을 제1단의 A중간데이타(105)로서 출력한다(S11).
제2부변환 처리부(162)에서는 제1부변환 처리부(161)에서 출력되는 A중간데이타(105)를 한쪽의 입력으로 해서 제2키파라미터(112)에 의해 비선형 변환하고, 이 비선형 변환회로(133)에서 비선형 변환된 출력데이타를 제2단의 B중간데이타(108)로서 출력한다(S14). 또, 제1단의 A중간데이타(105)와 B중간데이타(106)을 각각 입력으로 해서 배타적 논리합회로(142)에서 연산을 실행하고 제2단의 A중간데이타(107)로서 출력한다(S13).
이후, 상기 제1 및 제2부변환 처리부가 교대로 접속된다. 최종은 제1 또는 제2 중 어느 한쪽의 부변환 처리부이어도 좋은 것은 실시형태 1과 마찬가지이다.
이 접속에 의한 동작도 실시형태 1에서 기술한 문헌2의 근거에 따라서 전체의 차분확률이 p2이하인 장치가 얻어진다. 또, 비선형 변환의 동작 속도와 배타적 논리합의 동작 속도를 비교하면 배타적 논리합의 동작은 훨씬 빠르므로, 도면의 접속상황에서 명확한 바와 같이 동작이 느린 제1단과 제2단의 비선형 변환의 동작이 거의 병렬로 실행되는 것에 의해 장치 전체의 고속동작을 가능하게 하고 있다.
여기에서, 도1에 도시한 구성과 도3에 도시한 구성이 실질적으로 동일하다는 것을 도4를 사용해서 설명한다.
도4에 있어서, (121)~(124)는 도1에 도시한 부변환 처리부이다. (161)~(164)는 도3에 도시한 부변환 처리부이다. 도4에 알 수 있는 바와 같이 도1과 도3에 도시한 부변환 처리부는 도4에 도시한 회로를 어떠한 부분에서 잘라내었는가에 의한 것이다. 즉, 도1의 경우는 제1비선형 변환회로(131)의 입력측에서 제2비선형 변환회로(132)의 입력측까지의 요소(제1비선형 변환회로(131)과 배타적 논리합회로(141))를 제1부변환 처리부(121)로 하고, 제2비선형 변환회로(132)의 입력측에서 다음의 제1비선형 변환회로(131)의 입력측까지의 요소(제2비선형 변환회로(132)와 배타적 논리합회로(142))를 제2부변환 처리부(122)로 하고 있다. 도3의 경우는 제1비선형 변환회로(131)의 출력측에서 제2비선형 변환회로(132)의 출력측까지의 요소(배타적 논리합회로(141)과 제2비선형 변환회로(132))를 제1부변환 처리부(161)로 하고, 제2비선형 변환회로(132)의 출력측에서 다음의 제1비선형 변환회로(133)의 출력측까지의 요소(배타적 논리합회로(142)와 제1비선형 변환회로(133))를 제2부변환 처리부(162)로 하고 있다.
도5는 도1 또는 도3에 도시한 구성과 실질적으로 동일한 구성을 갖는 다른 예를 도시한 도면이다.
도5에 도시한 예는 배타적 논리합회로(141)~(145)를 종속 접속한 것이다. 배타적 논리합회로의 출력데이타가 다음의 배타적 논리합회로로의 2입력데이타 중의 1개의 입력데이타로 되도록 종속 접속되어 있다. 비선형 변환회로(131), (133), (135)는 종속 접속된 배타적 논리합회로 중 기수번째의 배타적 논리합회로(141), (143), (145)에 접속되어 있다. 또, 비선형 변환회로(132), (134), (136)은 우수번째의 배타적 논리합회로(142), (144)에 접속되어 있다.
도5에 도시한 구성을 사용해도 도1 또는 도3과 마찬가지로 제1 및 제2비선형 변환회로(131)과 (132) 또는 (133)과 (134) 또는 (135)와 (136)이 병행해서 실행되어 고속처리가 가능하다.
[실시형태 3]
실시형태 1에서 기술한 바와 같이, 도2에 도시한 비선형 변환회로는 입출력데이타의 사이즈가 크면 규모가 커져 버린다. 그래서, 이 실시형태에서는 데이타변환장치의 구조를 중첩구조로 하고, 도2의 비선형 변환회로도 더욱 작은 비선형 변환회로(예를 들면, 역원회로)를 조합한 간소한 구성을 고려한다.
또, 종래예의 문헌의 FEAL은 차분확률p의 값이 크므로, 암호의 강도의 평가로서 불충분하다.
본 실시형태에서는 1개의 비선형 변환이 더욱 작은 규모이고 또 전체의 차분확률을 작게 할 수 있는 비선형 변환회로를 설명한다.
도6은 부변환 처리부와 그 비선형 변환회로의 상세를 도시한 도면이다.
도6에 있어서, a는 제1단의 부변환 처리부를 나타내고, (221)은 외부 부변환 처리부, (231)은 그 외부 부변환 변환회로이다. b는 외부 비선형 변환회로(231)의 상세한 구성을 나타내고, (351)은 A입력데이타(101)을 2분할하는 내부 분할부, (301), (302)는 2분할된 A1입력데이타, A2입력데이타, (303)~(308)은 내부 중간데이타, (311)~(313)은 키파라미터(111)을 분할한 분할 키파라미터이고, (352)는 내부 중간데이타(303)과 (304)를 융합한 내부 융합부, (321)~(323)은 내부 부변환 처리부, (331)~(333)은 내부 비선형 변환회로, (341)~(343)은 내부 배타적 논리합회로이다. (158)은 키파라미터(111)을 분할하는 키파라미터 공급부이다.
예를 들면, 도6의 알고리듬의 경우 내부 비선형 변환회로(331), (332), (333)으로서 차분확률p의 것을 사용할 경우, 외부 비선형 변환회로(231)의 차분확률은p2이하이다. 따라서, 외부 부변환 처리부(221)을 3단 이상 중첩시킨 알고리듬의 차분확률은 (p2)2=P4이하로 된다.
또, 도7은 도6의 a에 도시한 외부 부변환 처리부를 4단 접속하고, 각 외부 부변환 처리부 중의 비선형 변환회로로서 도6의 b에 도시한 3단의 내부 부변환 처리부를 접속한 경우의 전체의 부변환 처리부의 구성을 도시한 도면이다.
도면에 있어서, 대표적인 구성요소인 각 외부 부변환 처리부(221)~(224), 각 외부 비선형 변환회로(231)~(234), 외부 부변환 처리부 중의 배타적 논리합회로(141)~(144), 내부 부변환 처리부(321)~(323) 및 제1 및 제2 외부 비선형 변환회로(231), (232) 중의 내부 비선형회로(331)~(336)의 번호는 기재하고 있지만, 그 밖의 구성요소의 번호는 생략하고 있다.
또, 도8~도10은 도7의 구성의 데이타 변환장치가 데이타변환을 실행해가는 순서를 시간의 흐름에 따라 설명하는 도면이다.
우선, 도6에 도시한 외부 비선형 변환회로(231)의 동작에 대해서 설명한다.
외부 부변환 처리부(221)로의 A입력데이타(101)을 내부분할부(351)에 의해 임의의 자리수의 수로 2개로 분할해서 A1입력데이타(301)과 A2입력데이타(302)로 하고, 또 키파라미터(111)로 키파라미터 공급부(158)에 의해 임의의 자리수의 수로 분할해서 제1분할키파라미터~제n분할키파라미터(311)~(313)으로서 공급한다. 제1내부 부변환 처리부(321)에서는 상기 A입력데이타(101)을 분할한 A1입력데이타(301)을 제1분할키파라미터(311)에 의해 내부 비선형 변환하고, 이 내부 비선형 변환된 출력데이타와 상기 A2입력데이타(302)의 배타적 논리합을 제1 A2내부중간데이타(306)으로서 출력하고, 상기 A2입력을 그대로 제1 A1내부중간데이타(305)로서 출력한다.
제2내부 부변환 처리부(322)에서는 상기 제1내부 부변환 처리부(321)의 제1 A1내부중간데이타(305)를 A1입력으로 해서 제2분할키파라미터(312)에 의해 내부 비선형 변환한다. 상기 제1 A2내부중간데이타(306)을 A2입력데이타로 해서 이 A2입력과 내부 비선형 변환된 출력데이타의 배타적 논리합을 제2 A2내부중간데이타(308)로서 출력하고, 상기 제1 A2내부중간데이타(306)을 그대로 제2 A1내부중간데이타(307)로서 출력한다. 그리고, 상기 제1내부 부변환 처리부와 상기 제2내부 부변환 처리부를 교대로 n단 접속하고, 최종단의 A1내부 중간데이타(303)과 A2내부 중간데이타(304)를 내부 융합부(352)에 의해 합쳐서 변환결과(109)로 한다.
다음에, 도7에 도시한 상기 구성의 데이타 변환장치의 동작을 설명한다.
우선, 최초의 사이클에서 A입력데이타(101), B입력데이타(102)에 대해서 도8에 도시한 처리가 실행된다. 즉, 비선형 변환이 시간이 소요되므로, 최초의 사이클에서는 외부 부변환 처리부(221)의 내부 비선형 변환회로(331), (332)와 외부 부변환 처리부(222)의 내부 비선형 변환회로(334), (335)에서 대부분의 시간이 사용된다. 즉, 최초의 사이클에서는 도8에 도시한 바와 같이 굵은 선으로 나타내는 데이타가 전달되어 내부 비선형 변환회로(331), (332), (334), (335)의 처리가 실행된다.
다음의 사이클에서는 도9에 도시한 처리가 실행된다. 즉, 제1 외부 부변환 처리부(221) 중의 내부 비선형 변환회로(333), 제2 외부 부변환 처리부(222) 중의 내부 비선형 변환회로(336), 제3 외부 부변환 처리부(223) 중의 내부 비선형 변환회로(337), 제4 외부 부변환 처리부(224) 중의 내부 비선형 변환회로(391)의 처리에 시간이 할당된다. 굵은 점선은 A입력측의 데이타가 전달된 것을 나타내고 있다.
다음의 사이클에서는 도10에 도시한 처리가 실행된다. 즉, 제3 및 제4 외부 부변환 처리부(223)과 (224)의 나머지 내부 비선형 변환회로(338), (339)와 (392), (393)에 처리시간이 할당된다. 이 3사이클이 종료하면 모든 변환처리가 종료하게 된다. 이것을 종래의 순차처리방식의 데이타 변환과 비교하면, 종래 방식에서는 전단의 내부 비선형 변환이 종료하지 않으면 다음단의 내부 비선형 변환이 시작되지 않기 때문에 12사이클을 필요로 하고 있었으므로, 이 실시형태의 방식에서는 약 4배의 고속처리가 가능하다.
또한, 상기 실시형태에서는 부변환 처리부 중의 중첩된 내부 비선형 변환회로(331)~(393)은 실시형태 1의 접속구성의 것에 대해서 설명했지만, 중첩된 비선형 변환회로로서 실시형태 2의 접속구성의 것을 사용해서 마찬가지의 동작을 실행하고 마찬가지의 효과가 있다.
[실시형태 4]
본 실시형태에서는 회로구성이 작은 비선형 변환회로를 종래의 부변환 처리부 중의 비선형 변환회로에 적용한 형태를 설명한다.
도11은 부변환 처리부와 비선형 변환회로의 상세를 도시한 도면이다.
도11에 있어서, a는 제1단의 부변환 처리부를 나타내고, (421)은 외부 부변환 처리부, (431)은 그 외부 비선형 변환회로이다. 도11의 b는 외부 비선형 변환회로(431)의 상세한 구성을 나타내고, (551)은 내부 분할부, (501)~(508)은 입력데이타, (511)~(513)은 키파라미터(111)을 분할한 분할 키파라미터이고, (552)는 내부 융합부, (521)~(523)은 내부 부변환 처리부, (531)~(533)은 내부 비선형 변환회로, (541)~(543)은 배타적 논리합회로이다.
도11의 알고리듬의 경우, 내부 비선형 변환회로(531), (532), (533)으로서 차분확률p의 것을 사용한 경우, 외부 비선형 변환회로(431)의 차분확률은 p2이하이다. 따라서, 외부 부변환처리부(421)을 3단 이상 중첩시킨 알고리듬의 차분확률은 2(p2)2=2p4이하로 된다.
또, 도12는 도11의 a로 나타내는 외부 부변환 처리부를 2단 접속하고, 각 외부 부변환 처리부 중의 비선형 변환회로로서 도11의 b로 나타내는 3단의 내부 부변환 처리부를 접속한 경우의 전체의 부변환 처리부의 구성을 도시한 도면과 도12의 a의 구성의 데이타 변환장치가 데이타변환을 실행해 가는 순서를 시간의 흐름에 따라서 설명하는 도면이다.
도면에 있어서, 대표적인 구성요소인 각 외부 부변환 처리부(421), (422), 외부 부변환 처리부 중의 배타적 논리합회로(441), (442), 내부 부변환 처리부(521), (522), (523), 제1 및 제2내부 부변환 처리부 중의 내부 비선형 변환회로(531)~(536)의 번호는 기재하고 있지만, 그 밖의 구성요소의 번호는 생략하고 있다.
다음에, 상기 구성의 데이타 변환장치의 동작을 설명한다.
우선, 최초의 사이클에서는 도12의 b로 나타내는 바와 같이 A입력데이타(101), B입력데이타(102)에 대해서는 외부 부변환 처리부(421)의 내부 비선형 변환회로(531), (532)에서 시간이 걸린다. 즉, 최초의 사이클에서는 도12의 b의 굵은 선으로 나타낸 데이타가 전달되고, 내부 비선형 변환회로(531), (532)의 처리가 실행된다.
다음의 사이클에서는 도12의 c로 나타내는 처리가 실행된다. 즉, 외부 부변환 처리부(421) 중의 내부 비선형 변환회로(533)과 제2 외부 부변환 처리부(422)중의 내부 비선형 변환회로(534)의 처리에 시간이 할당된다. 굵은 점선은 A입력측의 데이타가 전달된 것을 나타내고 있다.
다음의 사이클에서는 도12의 d로 나타내는 처리가 실행된다. 즉, 제2 외부 부변환 처리부(422)의 나머지 내부 비선형 변환회로(535), (536)에 처리시간이 할당된다. 이 3사이클이 종료하면 모든 변환처리가 종료하게 된다. 이것을 종래의 순차처리방식과 비교하면, 종래의 방식에서는 전단의 내부 비선형 변환 처리가 끝나지 않으면 다음단의 내부 비선형 변환의 처리가 불가능하기 때문에 이 예에서는 6사이클이 필요하였던 것에 반해, 본 실시형태의 방식에서는 3사이클로 끝나 연산의 고속화가 도모된다는 효과가 있다.
또한, 상기 실시형태에서는 부변환 처리부 중의 비선형 변환회로는 실시형태 1의 접속구성의 것에 대해서 설명했지만, 중첩된 비선형 변환회로로서 실시형태 2의 접속구성의 것을 사용해도 마찬가지의 동작을 하고 마찬가지의 효과가 있다.
[실시형태 5]
본 발명의 데이타 변환장치의 기본 구성요소인 비선형 변환회로를 종래의 부변환 처리부 중의 비선형 변환회로에 적용한 다른 형태를 설명한다.
도13은 그 구성과 부변환 처리부 중의 비선형 변환회로의 상세를 도시한 도면이다.
도13에 있어서, a는 전체의 구성을 나타내고, (621)~(624)는 외부 부변환 처리부, (631)~(634)는 그 외부 비선형 변환회로, (641)~(644), (741)~(744)는 배타적 논리합회로이다. 또, (601), (602), (701), (702)는 각각 A1, B1, A2, B2입력데이타, (603), (604), (703), (704)는 변환후의 출력데이타, (605)~ (608), (705)~(708)은 중간데이타이다. 도13의 b는 외부 비선형 변환회로(631)의 상세한 구성을 나타내고, (651), (751)은 비선형 변환후의 각 데이타, (775)~(778)은 내부 중간데이타, (711)~(713)은 키파라미터(111)을 분할한 분할 키파라미터이다. (721)~(723)은 내부 부변환 처리부, (731)~(733)은 내부 비선형 변환회로, (761)~(763)은 배타적 논리합회로이다.
도13에 도시한 데이타 변환장치는 임의의 4개의 A1입력데이타, A2입력데이타 및 B1입력데이타, B2입력데이타에 대해서 각 부변환 처리시에 상기 A1입력데이타와 B1입력데이타 사이 및 A2입력데이타와 B2입력데이타 사이에서 비선형 변환과 배타적 논리합연산을 실행하고, 각각 B1중간데이타와 B2중간데이타로 하고 B1입력데이타와 B2입력데이타를 그대로 A1중간데이타와 A2중간데이타로 한다
상기 구성의 데이타 변환장치의 그밖의 동작은 상기 실시형태 3, 실시형태 4의 설명으로부터 명확하므로, 여기에서는 상세한 설명은 생략한다. 실시형태 3, 실시형태 4와 마찬가지로 연산의 고속화를 도모할 수 있다.
[실시형태 6]
본 실시형태에서는 실시형태 1에 있어서의 제1부변환 처리부(121)과 제2부변환 처리부(122)가 교대로 여러개 접속되어 실행된 처리를 기본으로 되는 제1부변환 처리부(121)과 제2부변환 처리부(122)로 구성된 처리단위의 반복처리로 실현한 것을 설명한다. 즉, 연산처리가 중복되지 않는 제1부변환 처리부(121)과 제2부변환 처리부(122)를 1조의 처리단위로 하고, 조로 된 제2부변환 처리부의 출력데이타를 유지하고, 이 출력데이타를 제1부변환 처리부의 입력데이타로서 공급하여 반복연산을 가능하게 하는 것에 의해 하드웨어규모의 삭감을 도모한다.
도14는 그 구성을 도시한 블록도로서, 도면에 있어서(121), (122)는 제1, 제2부변환 처리부이다. (111), (112)는 제1, 제2키파라미터이다. 비선형 변환회로(131)~(132), 배타적 논리합회로(141)~(142)는 실시형태 1에 있어서의 도1의 구성요소와 동등한 것이다. (153)은 제어부, (154)는 반복처리부, (156a), (156b)는 데이타 선택부(157a), (157b)는 데이타 유지부, (158)은 키파라미터 공급부이다.
다음에, 상기 구성의 데이타 변환장치의 동작을 설명한다.
임의의 A입력데이타(101)과 B입력데이타(102)는 우선 데이타 선택부(156a), (156b)를 경유해서 제1부변환 처리부(121)에 입력된다. 다음에, A중간 데이타(105), B중간데이타(106)은 제2부변환 처리부(122)에 입력된다. 여기에서, 제1 및 제2부변환 처리부의 동작은 실시형태 1에서 설명한 것과 동일하다. 단, 제1 및 제2부변환 처리부 중의 비선형 변환회로로는 하기의 반복처리에 대응해서 제1부변환 처리부 및 제2부변환 처리부로 공급될 키파라미터가 키파라미터 공급부(158)에 의해 공급된다. 제2부변환 처리부(122)에서 출력되는 A중간데이타(107) 및 B중간데이타(108)은 반복처리부(154)에 의해 각각 데이타 유지부(17a)와 데이타 선택부(156a) 및 데이타 유지부(157b)와 데이타 선택부(156b)를 경유해서 각각 제1부변환 처리부(121)에 A입력데이타 및 B입력데이타로서 입력된다. 이후, 상기의 반복처리 후 A출력데이타(103)과 B출력데이타(104)가 출력된다.
이와 같이 구성하는 것에 의해, 실시형태 1과 마찬가지의 이유로 고속의 데이타변환이 가능하고 또한 부변환 처리부의 수를 적게 할 수 있으며 장치규모를 작게 할 수 있다.
또한, 상기 실시형태에서는 제1부변환 처리부(121)과 제2부변환 처리부(122)의 1단씩을 종속 접속한 것을 기본구성으로 해서 반복처리의 단위로 하고 있지만, 제1부변환 처리부와 제2부변환 처리부를 1조로 해서 교대로 필요한 단수만큼 종속 접속된 것을 반복처리의 단위로 하는 것이라도 마찬가지의 효과가 있는 것은 명확하다.
도14에 도시한 구성은 제1부변환 처리부와 제2부변환 처리부를 1조로 해서 종속 접속하고 있으므로, 반드시 우수단의 부변환 처리부에 의해 구성된다. 이와 같이 우수단의 부변환 처리부에 의해 구성하는 이유는 A입력데이타와 B입력데이타의 데이타의 자리수의 수가 다른 경우에도 적절한 데이타변환을 실행할 수 있게 하기 위함이다. 예를 들면, A입력데이타가 7자리수이고, B입력데이타가 9자리수이며, 키파라미터 공급부(158)이 7자리수용의 키파라미터(111)을 비선형 변환회로(131)로 공급하고 9자리수용의 키파라미터(112)를 비선형 변환회로(132)로 공급하는 것으로 한다. 7자리수의 A입력데이타(101)은 비선형 변환회로(131)에 있어서의 7자리수용의 키파라미터(111)에 의해 비선형 변환되고, 7자리수의 B중간데이타(106)으로 되고 또 A중간데이타(107)로서 출력된다. 이 A중간데이타(107)은 데이타 유지부(157a)와 데이타 선택부(156a)를 경유해서 재차 A입력데이타로 된다. 이와 같이 7자리수의 A입력데이타가 반드시 7자리수용의 키파라미터(111)에 의해 비선형 변환을 받기 위해서는 부변환 처리부를 우수단으로 해 둘 필요가 있다. 만일, 부변환 처리부가 기수단이면 비선형 변환회로(131)에서는 7자리수의 데이타와 9자리수의 데이타가 교대로 비선형 변환되게 된다.
또한, 도시하지 않지만, 키파라미터 공급부(158)이 부변환 처리부에 대해서 7자리수용과 9자리수용의 키파라미터를 교대로 공급하도록 제어할 수 있으면 기수단의 부변환 처리부가 종속 접속되어 있어도 좋다.
[실시형태 7]
본 실시형태에서는 실시형태 2에 있어서의 제1부변환 처리부(161)과 제2부변환 처리부(162)가 교대로 여러개 접속되어 실행된 처리를 기본으로 되는 제1부변환 처리부와 제2부변환 처리부로 구성된 처리단위의 반복처리로 실현한 것을 설명한다. 즉, 실시형태 6에서 기술한 귀환루프를 마련하여 A, B중간데이타를 입력측의 데이타 선택부로 되돌려보내고, 반복연산을 시켜 하드웨어규모의 삭감을 도모한다.
도15는 그 구성을 도시한 블럭도로서, 도면에 있어서(125), (126)은 제1, 제2부변환 처리부이다. (111), (112)는 제1, 제2키파라미터이다. 비선형 변환회로(132)~(133), 배타적 논리합회로(141)~(142)는 실시형태 2에 있어서의 도3의 구성요소와 동등한 것이다. 제어부(153), 반복처리부(154), 데이타 선택부(156a), (156b), 데이타 유지부(157a), (157b), 키파라미터 공급부(158)은 실시형태 6에 있어서의 요소와 동일한 것이다.
다음에, 상기 구성의 데이타 변환장치의 동작을 설명한다.
임의의 A입력데이타(101)과 B입력데이타(102)는 우선 데이타 선택부(156a), (156b)를 경유해서 제1부변환 처리부(125)에 입력된다. 다음에, A중간데이타(105), B중간데이타(106)은 제2부변환 처리부(126)에 입력된다. 여기에서, 제1 및 제2부변환 처리부의 동자은 실시형태 2에서 설명한 것과 동일하다. 단, 제1 및 제2부 변환 처리부 중의 비선형 변환회로로는 하기의 반복처리에 대응해서 제1부변환 처리부 및 제2부변환 처리부로 공급될 키파라미터가 키파라미터 공급부(158)에 의해 공급된다. 제2부변환 처리부(126)에서 출력되는 A중간데이타(107) 및 B중간데이타(108)은 반복처리부(154)에 의해 각각 데이타 유지부((157a), (157b)와 데이타 선택부(156a), (156b)를 경유해서 제1부변환 처리부(125)에 A입력데이타 및 B입력데이타로서 입력된다. 이후, 상기 반복처리 후 A출력데이타(103) 및 B출력데이타(104)가 출력된다.
이와 같이 구성하는 것에 의해, 실시형태 2와 마찬가지의 이유로 고속의 데이타변환이 가능하고 또한 부변환 처리부의 수를 적게 할 수 있으며 장치규모를 작게 할 수 있다.
제1부변환 처리부(125)와 제2부변환 처리부(126)의 1단씩을 종속 접속한 것을 반복처리의 단위로서 설명했지만, 제1부변환 처리부(125)와 제2부변환 처리부(126)을 1조로 해서 교대로 필요한 단수만큼 종속 접속하여 반복처리의 단위로 해도 좋은 것은 상기 실시형태 6과 마찬가지이다. 또한, 상세한 접속구성도와 동작의 기술은 생략하지만, 실시형태 6 또는 이 실시형태 7과 마찬가지로 실시형태 4 또는 실시형태 5에 있어서의 외부 부변환 처리부를 우수단 접속한 것을 반복처리의 단위로 치환한 것도 고속연산성을 손실하지 않고 외부 부변환 처리부의 수를 작게 할 수 있다. 여기에서, 외부 부변환 처리부를 우수단 접속한 것을 반복 처리단위로 하는 경우라도 고속연산성이 손실되지 않는 것은 실시형태 4의 동작의 설명에서 명확하다.
또한, 상세한 접속구성도와 동작의 기술은 생략하지만, 실시형태 6 또는 실시형태 7의 데이타 선택부와 데이타 유지부를 조로 해서 귀환루프를 형성하는 것을 실시형태 3~실시형태 5에서 설명한 내부 부변환 처리부에 대해서 적용할 수도 있다. 즉, 도6, 도11의 외부 비선형 변환회로 중의 내부분할부(351), (561)내 또는 그 후에 내부 데이타 선택부를 마련하여 데이타입력의 전환선택을 시키고, 내부융합부(352), (552)내 또는 그 앞에 내부데이타 유지부를 마련하여 내부 데이타 선택부와의 사이에 귀환루프를 형성한다. 또, 도13의 외부 비선형 변환회로 앞에 데이타 선택부를 마련해서 데이타입력의 전환선택을 시키고, 외부 비선형 변환회로의 뒤에 데이타 유지부를 마련하여 데이타 선택부와의 사이에 귀환루프를 형성한다. 이렇게 하는 것에 의해, 고속연산성을 손실하지 않고 내부 부변환 처리부의 규모를 저감할 수 있다.
[실시형태 8]
본 실시형태에서는 실시형태 1에 있어서의 여러개의 부변환 처리부(121)~(124)에 의한 처리를 기본으로 되는 반복처리단위의 반복처리로 치환한 것을 설명한다. 이 실시형태에 있어서는 임의의 A입력데이타(101)과 B입력데이타(102)의 데이타 자리수의 수가 동일한 것으로 한다. A입력데이타(101)과 B입력데이타(102)의 데이타 자리수의 수가 동일할 때는 반복을 위한 부변환 처리부의 수는 반드시 우수일 필요가 없어져 임의의 단수를 종속시켜 귀환루프를 형성할 수 있다.
도16은 그 구성을 도시한 블럭도이고, 설명을 간단하게 하기 위해서 부변환 처리부가 1단만 존재하는 귀환루프로 하고 있다.
도면에 있어서, (121)은 부변환 처리부이다. 제1키파라미터(111), 비선형 변환회로(131), 배타적 논리합회로(141), 반복처리부(154), 데이타 선택부(156a), (156b), 데이타 유지부(157a), (157b), 키파라미터 공급부(158)은 다른 실시형태와 마찬가지의 요소이다.
다음에, 상기 구성의 데이타 변환장치의 동작을 설명한다.
임의의 A입력데이타(101)과 B입력데이타(102)는 우선 데이타 선택부(156a), (156b)를 경유해서 부변환 처리부(121)에 입력된다. 여기에서 부변환 처리부(121)의 동작은 실시형태 1에서 설명한 것과 동일하다. 단, 부변환 처리부중의 비선형 변환회로로 공급되는 키파라미터는 키파라미터 공급부(158)에 의해 반복처리에 대응해서 공급된다. 부변환 처리부(121)에서 출력되는 A중간데이타(105) 및 B중간데이타(106)은 반복처리부(154)에 의해 각각 부변환 처리부(121)에 A입력데이타 및 B입력데이타로서 입력된다. 이후, 상기 반복처리 후, A출력데이타(103) 및 B출력데이타(104)가 출력된다.
이와 같이 구성하는 것에 의해, 비선형 변환회로의 수를 적게 할 수 있어 장치규모를 저감할 수 있다.
또한, 상기 실시형태에서는 1단의 부변환 처리부(121)을 반복처리의 단위로서 설명했지만, 여러단 종속 접속해도 좋은 것은 명확하다. 이 경우 고속성을 손실시키지 않고 장치규모를 저감할 수 있다.
또, 부변환 처리부로서 실시형태 2에서 설명한 장치의 부변환 처리부를 사용해도 좋은 것도 명확하다.
또한, 상세한 접속구성도와 동작의 기술은 생략하지만, 실시형태 6 또는 실시형태 7과 마찬가지로 상기 실시형태를 실시형태 3~실시형태 5의 내부 부변환 처리부에도 적용할 수 있는 것도 명확하다.
[실시형태 9]
본 실시형태에서는 회로구성이 작은 비선형 변환회로를 종래의 부변환 처리부 중의 비선형 변환회로에 적용한 형태를 설명한다.
도17은 본 실시형태의 데이타 변환장치의 구성을 도시한 도면이다.
도18은 도17에 있어서의 외부 비선형 변환회로(831)((832)~(838))의 구성을 도시한 블록도이다.
도19는 도18에 있어서의 내부 비선형 변환회로(931)((932), (933))의 구성을 도시한 블록도이다.
여기에서, 키파라미터(811)은 32×3 = 96비트이고, 키파라미터(811a) +키파라미터(811b) +키파라미터(811c)의 합계길이가 32비트, 키파라미터(811d) +키파라미터(811e) +키파라미터(811f)의 합계길이가 32비트, 키파라미터(811g) +키파라미터(811h) +키파라미터(811i)의 합계길이가 32비트로 되어 있다. 또, 키파라미터(811a)는 16비트, 키파라미터(811b)는 7비트, 키파라미터(811c)는 9비트이다.
도20 및 도21은 도19에 있어서의 비선형 변환회로(951) 및 (951a), (952b)를 ROM(Read Only Memory) 또는 RAM(Random Access Memory)로 실현하는 경우의 변환표S7, S9의 예이다. 예를 들면, 변환표S7에 대해서 입력데이타 X=0이 입력되면 출력데이타 Y=85가 출력된다. 또, 입력데이타 X=1이 입력되면 출력데이타 Y=95가 출력된다. 또, 입력데이타 X=128이 입력되면 출력데이타 Y=42가 출력된다. 변환표S9의 경우도 입력데이타 X=0, 1, ㆍㆍㆍㆍ, 511이 입력되면 출력데이타 Y=341, 310, ㆍㆍㆍㆍ, 170이 출력된다.
여기에서, 상기 변환표 S7은 다음과 같이 구성되어 있다.
7차의 기약 다항식 x7+ x5+ x4+ x3+1 = 0의 근을
Figure kpo00001
로 했을 때 입력의 기저를 정규기저{
Figure kpo00002
,
Figure kpo00003
2,
Figure kpo00004
4,
Figure kpo00005
8,
Figure kpo00006
16,
Figure kpo00007
32,
Figure kpo00008
64}, 출력의 기저를 정규기저{
Figure kpo00009
,
Figure kpo00010
32,
Figure kpo00011
4,
Figure kpo00012
2,
Figure kpo00013
64,
Figure kpo00014
16,
Figure kpo00015
,
Figure kpo00016
8}로 하고, 이 기저에 대해서 갈로아체GF(27)상의 원(元)인 입력X에 대해서 X17을 표현한 것에 55h(16진수)를 XOR(배타적 논리합)한 것을 출력으로 한다. 이 입출력을 10진수로 표현한 표가 도20이다. 여기에서, 입출력은 좌측이 LSB(최하위비트)인 것으로 한다.
또, 상기 변환표 S9는 다음과 같이 구성되어 있다.
9차의 기약다항식 x9+ x8+ x7+ x6+ x4+ x3+1 = 0의 근을
Figure kpo00017
로 했을 때 입력의 기저를 정규기저{
Figure kpo00018
,
Figure kpo00019
2,
Figure kpo00020
4,
Figure kpo00021
8,
Figure kpo00022
16,
Figure kpo00023
32,
Figure kpo00024
64,
Figure kpo00025
128,
Figure kpo00026
256}, 출력의 기저를 정규기저{
Figure kpo00027
64,
Figure kpo00028
,
Figure kpo00029
16,
Figure kpo00030
8,
Figure kpo00031
256,
Figure kpo00032
2,
Figure kpo00033
128,
Figure kpo00034
32,
Figure kpo00035
4}로 하고, 이 기저에 대해서 갈로아체GF(29)상의 원인 입력X에 대해서 X5를 표현한 것에 55h(16진수)를 XOR(배타적 논리합)한 것을 출력으로 한다. 이 입출력을 10진수로 표현한 표가 도21이다. 여기에서, 입출력은 좌측이 LSB(최하위비트)인 것으로 한다.
또한, 갈로아체를 표현하는 것으로서 다항식 기저, 정규기저 등에 의한 벡터표현이 있다.
그 전형은 다항식 기저에 의한 벡터표현이다. 다항식 기저에 의한 벡터표현은 GF(2m)의 원시 원을
Figure kpo00036
로 하고, GF(2m)의 임의의 원을 다항식 기저 {1,
Figure kpo00037
,
Figure kpo00038
2, ㆍㆍㆍ,
Figure kpo00039
m-1}에 의한 벡터표현으로 나타낸다.
다항식 기저의 이점으로서는 GF(2m)의 원끼리의 가산을 비트마다의 가산(배타적 논리합 연산)에 의해 실현할 수 있는 점에 있다. 즉, 하드웨어로 실현하는 경우 2입력의 배타적 논리합 연산회로 m개로 실현하는 것이 가능하게 된다. 그러나, 다항식 기저에 의한 벡터표현에 있어서는 승산은 가산에 비하면 하드웨어로 실현하는 것은 일반적으로 곤란하고, ROM등으로 실현하는 것이 일반적이다.
다항식 기저의 이외의 중요한 기저로서 정규기저(normal basis)가 있다. 이것은 m차 원시다항식의 근
Figure kpo00040
와 그의 공역원으로 이루어지는 집합에서 {
Figure kpo00041
,
Figure kpo00042
2,
Figure kpo00043
4, ㆍㆍㆍ
Figure kpo00044
2m-2,
Figure kpo00045
2m-1}이 기저로 된다.
정규기저의 최대의 특징은 이것을 사용했을 때 2승이 매우 간단하게 된다는 점이 있다. GF(2m)의 임의의 원을 2승하는 경우, 그 벡터표현을 우측으로 순회시프트하는 것에 의해 실현할 수 있다. 이것을 하드웨어로 실현하는 경우는 비트의 결선을 재연결하는 것에 의해서만 실현가능하다. 이 특징을 이용하는 것에 의해 다항식 기저를 사용한 벡터표현에 비해 임의의 원X에 대한 Xn회로를 더욱 적은 하드웨어규모로 실현하는 것이 가능하다. 역원(X-1)회로도 X의 n승회로로 간주할 수 있다. 즉, 갈로아체GF(2m)의 임의의 원X의 역원X-1은 X2m-2와 동일하고, n = 2m-2로 하면 좋기 때문이다. 이 예로서 상기 변환표 S7의 입력 7비트를 {in0, in1, in2, in3, in4, in5, in6}, 출력비트를 {out0, out1, out2, out3, out4, out5, out6}으로 했을 때의 하위 6비트째(out5)를 논리회로로 실현한 예를 도22에 도시한다.
도17~도19에 도시한 상기 구성의 데이타 변환장치의 동작은 상기 실시형태로부터 명확하므로 여기에서는 상세한 설명은 생략한다.
[실시형태 10]
회로규모를 그만큼 증대시키지 않고 또 암호의 강도를 강하게 한 데이타 변환장치를 설명한다.
도23은 본 실시형태의 데이타 변환장치의 구성도이다.
본 구성은 실시형태 9의 장치에 데이타 변환부 FL1~FL10을 부가한 것이다.
또, 도24는 데이타 변환부FL1(971)(~FL10(980))의 상세한 구성을 도시한 도면이다.
각 데이타 변환부 FL1~FL10은 논리곱회로(971a) 또는 논리곱회로(971b)와 배타적 논리합회로(971c), (971d)로 구성된다. 키파라미터KL1의 길이는 32비트로서, 도시하지 않은 키파라미터 공급부에 의해 키파라미터는 키파라미터KL1a와 KL1b로 분할된다. 예를 들면, 키파라미터KL1a가 16비트, 키파라미터 KL1b가 16비트로 분할된다. 도면중의 논리곱회로(971a) 또는 논리곱회로(971b)는 논리곱회로와 논리합회로 중 어느쪽의 회로라도 좋고, 또 논리곱회로와 논리합회로의 조합이어도 좋다.
상기 구성의 장치의 동작을 설명한다.
2개의 배타적 논리합회로(971c) (971d)와 2개의 논리곱회로 또는 2개의 논리합회로 또는 1개의 논리곱회로와 1개의 논리곱회로로 이루어지는 제1 및 제2논리연산회로를 데이타 변환부(971)로 하고, 제1부변환 처리부의 A입력측과 B입력측의 어느 한쪽 또는 양입력측에 부가한다.
A입력(또는 B입력)을 또 임의의 자리수의 길이의 2개의 AA데이타, AB데이타로 분할하고, 키파라미터를 대응하는 A변환 키파라미터(981a)와 B변환 키파라미터(981b)로 분할하고, 제1논리연산회로에 의해 상기 AA데이타와 상기 A변환 키파라미터(981a)의 제1논리곱 또는 논리합의 출력을 구하고, 배타적 논리합 회로(971c)에 의해 이 제1논리곱 또는 논리합의 출력데이타와 상기 AB데이타의 제1배타적 논리합을 구하고, 이 제1배타적 논리합된 출력데이타를 AB데이타 변환후의 출력데이타로 한다. 제2논리연산회로에 의해 상기 제1배타적 논리합 출력과 B변환 키피라미터의 제2논리곱 또는 논리합을 구하고, 배타적 논리합회로(971d)에 의해 이 제2논리곱 또는 논리합된 출력데이타와 상기 AA데이타의 제2배타적 논리합을 구하고, 이 제2배타적 논리합된 출력데이타를 AA데이타 변환후의 출력데이타로 하고, 상기 AA데이타 변환후의 출력데이타와 AB데이타 ㅕㄴ환후의 출력데이타를 합쳐서 A출력데이타(또는 B출력데이타)로서 후단으로 출력한다.
새로 마련한 데이타 변환부 FL1~FL10은 키파라미터의 값에 의해 그 출력이 변화하는 선형함수이므로, 차분확률을 증가시키는 일 없이 차분해독법 이외의 다른 해독법에 대한 내성을 높일 수 있다. 이 비선형 변환의 동작에 대해서는 이미 상기 실시형태에서 설명하고 있으므로 여기에서는 기술을 생략한다.
또, 각 데이타 변환부 FL1~FL10은 반드시 도23에 도시한 바와 같지 않아도 좋다. 예를 들면, 데이타 변환부 FL1, FL3, FL5, FL7, FL9를 A계통(도면중 좌측)과 B계통(도면중 우측)의 한쪽 계통에만 삽입해도 좋고, 또 조로 되는 제1 및 제2부변환 처리부 중의 어느 하나의 부변환 처리부에만 데이타 변환부를 A계통과 B계통의 양계통 또는 한쪽 계통에 마련하도록 해도 좋다.
[실시형태 11]
본 실시형태는 실시형태 9 및 실시형태 10이 본 발명의 데이타 변환장치의 기본구성요소인 비선형 변환회로를 종래의 부변환 처리부 중의 비선형 변환회로에 중첩된 비선형 변환회로로서 접속구성하고 있었던 것에 반해, 본 발명의 데이타 변환장치의 기본 구성요소인 비선형 변환회로를 본 발명의 데이타 변환장치의 기본 구성요소에 있어서의 부변환 처리부 중의 비선형 변환회로에 중첩된 비선형 변환회로로서 접속구성한 예이다. 도25에 도시한 바와 같이, 본 실시형태는 실시형태 10의 장치의 각 구성요소의 배치를 변경한 형태로 되어 있다. 이 동작에 대해서는 상기 실시형태의 설명에서 명확하므로, 여기에서는 상세한 설명은 생략한다. 또, 각 데이타 변환부 FL1~FL10의 위치는 반드시 도시한 위치가 아니어도 좋은 것은 실시형태 10과 동일하고, 마찬가지의 효과가 있다.
도26은 실시형태 1~11에서 기술한 특징을 정리한 도면이다.
종방향에 실시형태 1, 2, 4, 5를 나타내고, 횡방향에 이들 실시형태 1, 2, 4, 5와 조합되는 실시형태 3, 6, 7, 8, 9, 10, 11을 나타내고 있다. 실시형태 1, 2는부변환 처리부의 특징을 설명하고 있다. 도26에 있어서는 실시형태 1에 있어서 도1에 도시한 부변환 처리부의 구성을 형태 1로 한다. 또, 실시형태 2에 있어서는 도3에 도시한 부변환 처리부의 구성을 형태 2로 한다. 또, 실시형태 3은 부변환 처리부를 중첩시키고 외부 부변환 처리부와 내부 부변환 처리부를 구비한 것이 특징이다. 또, 실시형태3의 내부 부변환 처리부와 구별하기 위해서 이 도26에서는 중첩구조를 취하고 있지 않은 도1 및 도3의 부변환 처리부를 외부 부변환 처리부로 위치결정하고 있다. 도26에 있어서, 조합이 어느것인가의 도면에 도시되어 있는 경우에는 ( )내에 그 도면번호를 기입하고 있다. 예를 들면 (도1)은 형태 1의 부변환 처리부가 도1에 도시되어 있는 것을 나타내고 있다. 또, (도6)은 실시형태 3의 외부 부변환 처리부가 형태 1의 부변환 처리부로, 내부 부변환 처리부도 형태 1의 부변환 처리부로 구성된 예가 도6에 도시되어 있는 것을 나타내고 있다. 또, 도26중, { }내에 기재된 여러개의 항목중의 어느 하나의 항목을 임의로 선택할 수 있는 것을 나타내고 있다. 예를 들면, 실시형태 3에 있어서는 내부 부변환 처리부로서 사용되는 부변환 처리부는 형태 1, 형태 2 중의 어떠한 형태라도 상관없는 것을 나타내고 있다. 도면에서 알 수 있는 바와 같이, 실시형태 1, 2, 4, 5와 실시형태 3, 6, 7, 8, 9, 10, 11에서 설명한 특징은 모두 조합하는 것이 가능하다. 또, 본 발명은 도26에 도시한 조합에 한정되는 것은 아니고, 다른 특징과 조합해서 사용되는 경우라도 좋다. 또, 조합하는 경우에 한정되는 것은 아니고, 각 실시형태의 각 특징만으로 사용되는 경우라도 좋다.
다음에, 본 발명에 관한 데이타 변환장치의 응용예에 대해서 설명한다.
도27은 본 발명에 관한 데이타 변환장치의 응용예인 퍼스널 컴퓨터나 워크스테이션의 구성을 도시한 도면이다.
데이타 변환장치(60)은 표시유닛(61), 키보드(62), 마우스(63), 마우스패드(64), 시스템유닛(65), 콤팩트 디스크장치(100)을 구비하고 있다.
본 발명의 데이타 변환장치는 예를 들면 도27에 도시한 바와 같이 콤팩트 디스크장치(100)에서 데이타를 입력하고 데이타를 시스템유닛(65)로 전송해서 표시유닛(61)에 표시하는 것이다. 또는, 표시유닛(61)에 표시된 데이타를 콤팩트 디스크장치(100)으로 출력하는 것이다. 또, 데이타를 변환해서 도시하고 있지 않은 회선을 경유해서 정보를 전송하는 것이다. 그러나, 본 발명에 관한 데이타 변환장치는 도27에 도시한 퍼스널 컴퓨터나 워크스테이션에 한정할 필요는 없고 어떠한 형식이어도 좋다. 예를 들면, 콤팩트 디스크장치(100) 대신에 비디오 플레이어를 입력장치로 해도 상관없고 네트워크로부터의 데이타를 입력하도록 해도 상관없다. 또 입력하는 데이타는 아날로그 데이타이어도 상관없고 디지탈 데이타이어도 상관없다.
또, 본 발명의 데이타 변환장치는 도27에 도시한 바와 같이 독립된 유닛(unit)으로 존재해도 상관없지만, 도28에 도시한 바와 같이 프린터(66)이나 스캐너(68)이나 팩시밀리장치(69)등의 주변장치의 유닛내부에 수납되어 있는 것이라도 상관없다. 또, 그 밖에 TV카메라나 측정기나 계산기 등의 시스템보드의 일부분으로서 존재하고 있는 경우라도 상관없다. 또, 도28에는 도시하고 있지 않지만, 도28에 도시한 각 장치를 구내정보통신망(Local Area Network)에 의해 접속하고, 서로 부호화한 정보를 전송하는 경우라도 상관없다. 또, ISDN등의 광역통신망(Wide Area Network)을 사용해서 부호화한 정보를 송수신하는 경우라도 상관없다.
[산업상 이용가능성]
이상과 같이 본 발명에 의한 데이타 변환장치는 부변환 처리부의 구성을 변경해서 입력데이타를 부분적으로 병렬처리할 수 있도록 했으므로, 차분확률이 우수한 고속인 데이타변환이 가능하고 정보처리장치나 데이타 통신장치의 암호장치 등으로서 유용하다.
또, 회로중에 귀환루프를 마련해서 동일요소를 반복 이용하는 구성으로 했으므로, 암호화장치등의 회로규모를 삭감해서 고속처리하는 경우에 적합하다.

Claims (38)

  1. 임의의 2개의 A입력데이타(101)과 B입력데이타(102)에 대해서 상기 A입력데이타를 제1키파라미터(111)에 의해 제1비선형 변환하고, 이 제1비선형 변환된 출력데이타와 상기 B입력데이타(102)의 배타적 논리합을 B중간데이타로서 출력하고, 상기 B입력데이타를 그대로 A중간데이타로서 출력하는 구성과 상기 A중간데이타를 제2키파라미터에 의해 제2비선형 변환하고, 이 제2비선형 변환된 출력데이타와 상기 B중간데이타의 배타적 논리합을 다음의 B중간데이타로서 출력하고, 상기 B중간데이타를 그대로 다음의 A중간데이타로서 출력하는 구성을 구비하고, 상기 구성을 종속 접속해서 최종의 A중간데이타와 B중간데이타를 변환후의 출력데이타(103, 104)로 하며, 제1비선형 변환의 입력측에서 제2비선형 변환의 입력측까지 존재하는 제2비선형 변환회로(131)과 배타적 논리합회로(141)을 제1부변환 처리부(121)로 하고, 제2비선형 변환의 입력측에서다음의 제1비선형 변환의 입력측까지 존재하는 제2비선형 변환회로(132)와 배타적 논리합회로(142)를 제2부변환 처리부(122)로 하는 경우와 제1비선형 변환의 출력측에서 제2비선형 변환의 출력측까지 존재하는 배타적 논리합회로(141)과 제2비선형 변환회로(132)를 제1부변환 처리부(161)로 하고, 제2비선형 변환의 출력측에서 다음의 제1비선형 변환의 출력측까지 존재하는 배타적 논리합회로(142)와 제1비선형 변환회로(133)을 제2부변환 처리부(162)로 하는 경우 중의 어느 하나의 구성을 구비하는 것을 특징으로 하는 데이타 변환장치.
  2. 제1항에 있어서, 상기 제1부변환 처리부(121 또는 161)와, 상기 제2부변환 처리부(122 또는 162)를 교대로 필요단수 접속하고, 최종단은 제1 또는 제2 중의 어느 하나의 부변환 처리부에서 출력되는 A중간데이타와 B중간데이타를 변환후의 출력데이타로 하는 것을 특징으로 하는 데이타 변환장치.
  3. 제2항에 있어서, 제1 또는 제2비선형 변환시에는 그 부변환 처리부(221)로의 A입력데이타(101)을 임의의 자리수의 수로 분할해서 A1입력측에 입력되는 A1입력데이타(301)과 A2입력측에 입력되는 A2입력데이타(302)로 하고, 또 키파라미터(111)도 임의의 자리수의 수로 분할해서 제1분할 키파라미터~제n분할 키파라미터(311~313)으로 하고, 상기 A입력데이타(101)을 분할한 A1입력데이타(301)을 제1분할 키파라미터(311)에 의해 내부 비선형 변환하고, 이 내부 비선형 변환된 출력데이타와 상기 A2입력데이타(302)의 배타적 논리합을 제1 A2내부중간데이타(306)으로서 출력하고, 상기 A2입력데이타(302)를 그대로 제1 A1내부중간데이타(305)로서 출력하는 제1내부 부변환 처리부(321)과 상기 제1내부 부변환 처리부(321)의 제1 A1내부중간데이타(305)를 A1입력데이타로 해서 제2분할 키파라미터(312)에 의해 내부 비선형 변환하고, 이 내부 비선형 변환된 출력데이타와 상기 제1 A2내부중간데이타(306)을 A2입력데이타로 하고, 이 A2입력데이타와의 배타적 논리합을 제2 A2내부중간데이타(308)로서 출력하고, 상기 제1 A2내부중간데이타(306)을 그대로 제2 A1내부중간데이타(307)로서 출력하는 제2내부 부변환 처리부(322)를 구비하고, 상기 제1내부 부변환 처리부(321)과 상기 제2내부 부변환 처리부(322)를 교대로 n단 접속하고, 최종단의 A1내부중간데이타(303)과 A2입력데이타(304)를 합쳐서 변환결과(109)로 하는 비선형 변환을 실행하는 것을 특징으로 하는 데이타 변환장치.
  4. 제2항에 있어서, 각 부변환 처리부 중의 변환시에는 그 부변환 처리부(221)로의 A입력데이타를 임의의 자리수의 수로 분할해서 A1입력데이타와 A2입력데이타로 하고, 또 키파라미터도 임의의 자리수의 수로 분할해서 제1분할 키파라미터~제n분할 키파라미터로 하고, 상기 A입력데이타를 분할한 A1입력데이타를 제1분할 키파라미터에 의해 내부 비선형 변환하고, 이 내부 비선형 변환된 출력데이타를 제1 A2내부중간데이타로서 출력하고, 상기 A1입력데이타와 A2입력데이타의 배타적 논리합을 제1 A1내부중간데이타(305)로서 출력하는 제1내부 부변환 처리부와 상기 제1내부 부변환 처리부의 제1 A1내부중간데이타를 A1입력데이타로 해서 제2분할 키파라미터에 의해 내부 비선형 변환하여 제2 A2내부중간데이타로서 출력하고, 상기 제1 A1내부중간데이타와 제1 A2내부중간데이타로서 출력하는 제2내부 부변환 처리부를 구비하고, 상기 제1내부 부변환 처리부와 상기 제2내부 부변환 처리부를 교대로 n단 접속하고, 최종단의 A1내부중간데이타와 A2내부중간데이타를 합쳐서 변환결과로 하는 비선형 변환을 실행하는 것을 특징으로 하는 데이타 변환장치.
  5. 임의의 2개의 A입력데이타(101)과 B입력데이타(102)에 대해서 상기 B입력데이타(102)를 제1키파라미터(111)에 의해 제1비선형 변환하고, 이 비선형 변환된 변환결과(451)과 상기 A입력데이타(101)의 배타적 논리합을 B중간데이타(462)로서 출력하고, 또 상기 B입력데이타(102)를 그대로 A중간데이타(461)로서 출력하는 부변환 처리부(421)을 구비하고, 상기 A중간데이타와 B중간데이타를 A입력데이타와 B입력데이타로 해서 각 키파라미터에 의한 부변환 처리부를 필요단수 접속하는 구성으로 하고, 최종단의 A중간데이타와 B중간데이타를 합쳐서 변환후의 출력데이타로 하는 데이타 변환장치로서, 또, 각 부변환 처리부(421) 중의 비선형 변환시에는 여러개의 내부 부변환 처리부(521~523)으로 분할하고, 이 내부 부변환 처리부(521)로의 B입력데이타를 임의의 자리수의 수로 분할해서 B1입력데이타(501)과 B2입력데이타(502)로 하고, 또 키파라미터(111)도 임의의 자리수의 수로 분할해서 제1분할 키파라미터~제n분할 키파라미터(511~523)으로 하고, 상기 B입력데이타(102)를 분할한 B1입력데이타(501)을 제1분할 키파라미터(511)에 의해 제1내부 비선형 변환하고, 이 제1내부 비선형 변환된 출력데이타와 상기 B2입력데이타(502)의 배타적 논리합을 제1 B2내부중간데이타(506)으로서 출력하고, 상기 B2입력데이타(502)를 그대로 제1 B1내부중간데이타(505)로서 출력하는 제1내부 부변환 처리부(521)과 상기 제1내부 부변환 처리부(521)의 제1 B1내부중간데이타(505)를 B1입력데이타로 해서 제2분할 키파라미터(512)에 의해 내부 비선형 변환하고, 이 내부 비선형 변환된 출력데이타와 상기 제1 B2내부중간데이타(506)을 B2입력데이타로 하고, 이 B2입력데이타와의 배타적 논리합을 제2 B2내부중간데이타(508)로서 출력하고, 상기 제1 B2내부중간데이타(506)를 그대로 제2 B1내부중간데이타(507)로서 출력하는 제2내부 부변환 처리부(522)를 구비하고, 상기 제1내부 부변환 처리부와 상기 제2내부 부변환 처리부를 교대로 n단 접속하고, 최종단의 B1내부중간데이타(503)과 B2내부중간데이타(504)를 합쳐서 비선형 변환후의 변환결과(451)로 하도록 한 것을 특징으로 하는 데이타 변환장치.
  6. 제5항에 있어서, 각 내부 부변환 처리부에서의 배타적 논리합의 연산을 실행하는 위치를 변경하고 B1입력데이타에 내부 비선형변환을 실시해서 B2내부중간데이타 출력으로 하고, B2입력데이타와 B1입력데이타의 배타적 논리합을 B1내부중간데이타로서 출력하는 구성으로 한 것을 특징으로 하는 데이타 변환장치.
  7. 제5항 또는 제6항에 있어서, 임의의 4개의 각각 A1입력데이타(601), A2입력데이타(701) 및 B1입력데이타(602), B2입력데이타(702)에 대해서 각 부변환 처리시에는 상기 A1입력데이타와 B1입력데이타 사이 및 A2입력데이타와 B2입력데이타 사이에서 비선형변환과 배타적 논리합 연산을 실행하고, 각각 B1중간데이타(606)과 B2중간데이타(706)으로 하고 B1입력데이타와 B2입력데이타를 그대로 A1중간데이타(605)와 A2중간데이타(705)로 하는 것을 특징으로 하는 데이타 변환장치.
  8. 제1항에 있어서, A입력데이타와 B입력데이타 및 각 A중간데이타와 B중간데이타의 분할방식을 A와 B에서 동일한 자리수의 수로 되도록 균등하게 분할하는 것을 특징으로 하는 데이타 변환장치.
  9. 임의의 2개의 A입력데이타와 B입력데이타에 대해서, B입력데이타를 그대로 제1 A중간데이타로서 출력하는 제1스텝(S1), 상기 A입력데이타를 제1키파라미터에 의해 비선형 변환하고 이 비선형 변환후의 출력데이타와 상기 B입력데이타의 배타적 논리합을 구해서 제1 B중간데이타로서 출력하는 제2스텝(S2).
    상기 제1 B중간데이타를 입력하고 그대로 제2 A중간데이타로서 출력하는 제3 스텝(S3) 및 상기 제1 A중간데이타를 입력해서 제2키파라미터에 의해 비선형 변환하고 이 비선형 변환후의 출력데이타와 상기 제1 B중간데이타의 배타적 논리합을 구해서 제2 B중간데이타로서 출력하는 제4스텝(S4)를 구비하고, 상기 제1~제4스텝(S1~S4)를 반복하고 최후에는 제2 또는 제4스텝에서 종료하도록 하고, 또 최종 A중간데이타와 B중간데이타를 변환데이타로 하는 것을 특징으로 하는 데이타 변환방법.
  10. 임의의 2개의 A입력데이타와 B입력데이타에 대해서, A입력데이타와 B입력데이타의 배타적 논리합을 제1 A중간데이타로서 출력하는 제1스텝(S11), 상기 A입력데이타를 제1키파라미터에 의해 비선형 변환하고 이 비선형 변환후의 출력데이타를 제1 B중간데이타로서 출력하는 제2스텝(S12), 상기 제1 A중간데이타와 제1 B중간데이타의 배타적 논리합을 제2 A중간데이타로서 출력하는 제3스텝(S13) 및 상기 제1 A중간데이타를 입력해서 제2키파라미터에 의해 비선형 변환하고 이 비선형 변환후의 출력데이타를 제2 B중간데이타로서 출력하는 제4스텝(S14)를 구비하고, 상기 제1~제4스텝(S1~S14)를 반복하고 최후는 제2 또는 제4스텝에서 종료하도록 하고, 또 최종 A중간데이타와 B중간데이타를 변환데이타로 하는 것을 특징으로 하는 데이타 변환방법.
  11. 제1항에 있어서, 상기 제1부변환 처리부와 상기 제2부변환 처리부를 교대로 필요단수 접속하고, 최초의 제1부변환 처리부의 입력측에 데이타 선택부(156a, 156b)를 부가하고, 또 최후의 제1 및 제2 중의 어느 하나의 부변환 처리부의 출력측에 데이타 유지부(157a, 157b)를 부가하고, 또 키파라미터 공급부(158)을 부가하고, 최초로 임의의 2개의 A입력데이타와 B입력데이타를 상기 데이타 선택부(156a, 156b)에 의해 선택입력하고, 이 선택입력이 종료하면 다음회 이후에는 상기 데이타 유지부(157a, 157b)의 출력을 선택입력하도록 귀환접속하고, 필요한 회수만큼 반복해서 변환처리를 실행하고, 그 때 카피라미터 공급부(158)은 반복변환 처리에 대응해서 각 부변환 처리부로 키파라미터를 공급하고, 최종회는 상기 데이타 유지부(157a, 157b)에서 출력되는 A중간데이타와 B중간데이타를 변환후의 출력데이타로 하는 것을 특징으로 하는 데이타 변환장치.
  12. 제1항에 있어서, 상기 임의의 2개의 A입력데이타와 B입력데이타의 자리수의 수를 동일하게 하고, 상기 상기 제1부변환 처리부와 상기 제2부변환 처리부를 교대로 필요단수 접속하고, 최초의 제1부변환 처리부의 입력측에 데이타 선택부(156a, 156b)를 부가하고, 또 최후의 제1 및 제2 중의 어느 하나의 부변환 처리부의 출력측에 데이타 유지부(157a, 157b)를 부가하고, 또 키파라미터 공급부(158)을 부가하고, 최초로 임의의 2개의 A입력데이타와 B입력데이타를 상기 데이타 선택부(156a, 156b)에 의해 선택입력하고, 이 선택입력이 종료하면 다음회 이후에는 상기 데이타 유지부(157a, 157b)의 출력을 선택입력하도록 귀환접속하고, 필요한 회수만큼 반복해서 변환처리를 실행하고, 그 때 키파라미터 공급부(158)은 반복변환 처리에 대응해서 각 부변환 처리부로 키파라미터를 공급하고, 최종회는 상기 데이타 유지부(157a, 157b)에서 출력되는 A중간데이타와 B중간데이타를 변환후의 출력데이타로 하는 것을 특징으로 하는 데이타 변환장치.
  13. 제2항에 있어서, 제1 또는 제2비선형 변환시에는 그 부변환 처리부로의 A입력데이타를 임의의 자리수의 수로 분할해서 A1입력데이타와 A2입력데이타로 하고, 또 키파라미터도 임의의 자리수의 수로 분할해서 제1분할 키파라미터~제n분할 키파라미터로 하고, 상기 A입력데이타를 분할한 A1입력데이타를 제1분할 키파라미터에 의해 내부 비선형 변환하고, 이 내부 비선형 변환된 출력데이타와 상기 A2입력데이타의 배타적 논리합을 제1 A내부중간데이타로서 출력하고, 상기 A2입력데이타를 그대로 제1 A1내부중간데이타로서 출력하는 제1내부 부변환 처리부와 상기 제1내부 부변환 처리부의 제1 A1내부중간데이타를 A1입력데이타로 해서 제2분할 키파라미터에 의해 내부 비선형 변환하고, 이 내부 비선형 변환된 출력데이타와 상기 제1 A2내부중간데이타를 A2입력데이타로 해서 이 A2입력데이타의 배타적 논리합을 제2 A2내부중간데이타로서 출력하고, 상기 제1 A2내부중간데이타를 그대로 제2 A1내부중간데이타로서 출력하는 제2내부 부변환 처리부를 구비하고, 상기 제1내부 부변환 처리부와 상기 제2내부 부변환 처리부를 교대로 n단 접속하고, 최초의 제1내부 부변환 처리부의 입력측에 내부 데이타 선택부를 부가하고, 또 최후의 제1 및 제2 중의 어느 하나의 내부 부변환 처리부의 출력측에 내부 데이타 유지부를 부가하고, 또 내부 키파라미터 공급부를 부가하고, 최초로 A1입력데이타와 A2입력데이타를 상기 내부 데이타 선택부에 의해 선택입력하고, 이 선택입력이 종료하면 다음회 이후는 상기 내부 데이타 유지부의 출력을 선택입력하도록 귀환접속하고, 필요한 회수만큼 반복해서 내부변환처리를 실행하고, 그 때 내부 키파라미터 공급부는 반복내부변환처리에 대응해서 각 내부 부변환 처리부로 분할 키파라미터를 공급하고, 최종회는 상기 내부 데이타 유지부에서 출력되는 A1중간데이타와 A2중간데이타를 합쳐서 변환후의 A출력데이타로 하는 비선형 변환을 실행하는 것을 특징으로 하는 데이타 변환장치.
  14. 제2항에 있어서, 각 부변환 처리부 중의 비선형 변환시에는 그 부변환 처리부로의 A입력데이타를 임의의 자리수의 수로 분할해서 A1입력데이타와 A2입력데이타로 하고, 또 키파라미터도 임의의 자리의 수로 분할해서 제1분할 키파라미터~제n분할 키파라미터로 하고, 상기 A입력을 분할한 A1입력데이타를 제1분할 키파라미터에 의해 내부 비선형 변환하고, 이 내부 비선형 변환된 출력데이타를 제1 A2내부중간데이타로서 출력하고, 상기 A1입력데이타와 A2입력데이타의 배타적 논리합을 제1 A1내부중간데이타로서 출력하는 제1내부 부변환 처리부와 상기 제1내부 부변환 처리부의 제1 A1내부중간데이타를 A1입력데이타로 해서 제2분할 키파라미터에 의해 내부 비선형 변환하여 제2 A2내부중간데이타로서 출력하고, 상기 제1 A1내부중간데이타와 제1 A2내부중간데이타를 A1입력데이타와 A2입력데이타로 해서 배타적 논리합을 구하고 제2 A1내부중간데이타로서 출력하는 제2내부 부변환 처리부를 구비하고, 상기 제1내부 부변환 처리부와 상기 제2내부 부변환 처리부를 교대로 n단 접속하고, 최초의 제1내부 부변환 처리부의 입력측에 내부 데이타 선택부를 부가하고, 또 최후의 제1 및 제2 중의 어느 하나의 내부 부변환 처리부의 출력측에 내부 데이타 유지부를 부가하고, 또 내부 키파라미터 공급부를 부가하고, 최초로 A1입력데이타와 A2입력데이타를 상기 내부 데이타 선택부에 의해 선택입력하고, 이 선택입력이 종료하면 다음회 이후는 상기 내부 데이타 유지부의 출력을 선택입력하도록 귀환접속하고, 필요한 회수만큼 반복해서 내부변환처리를 실행하고, 그 때 내부 키파라미터 공급부는 반복내부변환처리에 대응해서 각 내부변환 처리부로 분할 키파라미터를 공급하고, 최종회는 상기 내부 데이타 유지부에서 출력되는 A1중간데이타와 A2중간데이타를 합쳐서 변환후의 A출력데이타로 하는 비선형 변환을 실행하는 것을 특징으로 하는 데이타 변환장치.
  15. 제13항 또는 제14항에 있어서, 각 부변환 처리부 중의 비선형 변환으로의 A입력데이타의 분할방식을 동일한 자리수의 수로 되도록 균등하게 분할하고, 제1내부 부변환 처리부만을 필요단수 접속하는 것을 특징으로 하는 데이타 변환장치.
  16. 제5항 또는 제6항에 있어서, 상 제1내부 부변환 처리부와 상기 제2내부 부변환 처리부를 교대로 필요단수 접속하고, 최초의 제1내부 부변환 처리부의 입력측에 내부 데이타 선택부를 부가하고, 또 최후의 제1 및 제2 중의 어느 하나의 내부 부변환 처리부의 출력측에 내부 데이타 유지부를 부가하고, 또 내부 키파라미터 공급부를 부가하고, 최초로 B1입력데이타와 B2입력데이타를 상기 내부 데이타 선택부에 의해 선택입력하고, 이 선택 입력이 종료하면 다음회 이후는 상기 내부 데이타 유지부의 출력을 선택 입력하도록 귀환접속하고, 필요한 회수만큼 반복해서 내부 부변환 처리를 실행하고, 그 때 내부 키파라미터 공급부는 반복내부변환처리에 대응해서 각 내부변환 처리부로 분할 키파라미터를 공급하고, 최종회는 상기 내부 데이타 유지부에서 출력되는 B1중간데이타와 B2중간데이타를 합쳐서 변환후의 B중간데이타로 하도록 한 것을 특징으로 하는 데이타 변환장치.
  17. 제16항에 있어서, 각 부변환 처리부 중의 내부 부변환 처리부로의 B입력데이타의 분할방식을 동일한 자리수의 수로 되도록 균등하게 분할하고, 제1내부 부변환 처리부만을 필요단수 접속하는 것을 특징으로 하는 데이타 변환장치.
  18. 제5항 또는 제6항에 있어서, 각 키파라미터에 의한 부변환 처리부를 우수단 접속하는 구성으로 하고, 최초의 부변환 처리부의 입력측에 데이타 선택부(156a, 156b)를 부가하고, 또 최후의 부변환 처리부의 출력측에 데이타 유지부(157a, 157b)를 부가하고, 또 키파라미터 공급부(158)을 부가하고, 최초로 임의의 2개의 A입력데이타와 B입력데이타를 상기 데이타 선택부(156a, 156b)에 의해 선택 입력하고, 이 선택 입력이 종료하면 다음회 이후에는 상기 데이타 유지부(157a, 157b)의 출력을 선택 입력하도록 귀환접속하고, 필요한 회수만큼 반복해서 변환처리를 실행하고, 그 때 키피라미터 공급부(158)은 반복부변환 처리에 대응해서 각 부변환 처리부로 키파라미터를 공급하고, 최종회는 상기 데이타 유지부(157a, 157b)에서 출력되는 A중간데이타와 B중간데이타를 변환후의 출력데이타로 하는 것을 특징으로 하는 데이타 변환장치.
  19. 제1항에 있어서, 비선형 변환회로로서 적어도 그의 어느 하나에 갈로아체상의 원X의 n승 회로를 사용하는 것을 특징으로 하는 데이타 변환장치.
  20. 제19항에 있어서, 갈로아체상의 원 X의 n승 회로를 정규 기저로 구성하는 것을 특징으로 하는 데이타 변환장치.
  21. 제1항에 있어서, 비선형 변환회로의 적어도 일부에 리드 온리 메모리를 사용하는 것을 특징으로 하는 데이타 변환장치.
  22. 제1항에 있어서, 비선형 변환회로의 적어도 일부에 랜덤 액세스 메모리를 사용하는 것을 특징으로 하는 데이타 변환장치.
  23. 제1항에 있어서, 비선형 변환회로로서 적어도 일부에 논리회로를 사용하는 것을 특징으로 하는 데이타 변환장치.
  24. 제2항에 있어서, 2개의 배타적 논리합회로(971c, 971d) 및 논리곱회로와 논리합회로 중의 어느 하나로 이루어지는 2개의 논리연산회로(971a, 971b)를 데이타 변환부(971)로서 제1부변환 처리부의 적어도 A입력측과 B입력측 중의 어느 한쪽에 부가하고, 데이타 변환부(971)로의 입력데이타를 임의의 자리수의 길이의 2개의 AA데이타와 AB데이타로 분할하고, 키파라미터를 대응하는 A변환 키파라미터(981a)와 B변환 키파라미터(981b)로 분할하고, 상기 AA데이타와 상기 A변환 키파라미터(981a)의 제1논리연산을 실행하고, 이 제1논리연산된 출력데이타와 상기AB데이타의 제1배타적 논리합을 구하고, 이 제1배타적 논리합된 출력데이타를 AB데이타 변환후의 출력데이타로 하고, 상기 제1배타적 논리합된 출력데이타와 B변환 키파라미터의 제2논리연산을 실행하고, 이 제2논리연산된 출력데이타와 상기 AA데이타의 제2배타적 논리합을 구하고, 이 제2배타적 논리합된 출력데이타를 AA데이타 변환 후의 출력데이타로 하고, 상기 AA데이타 변환후의 출력데이타와 AB데이타 변환후의 출력데이타를 합쳐서 출력하는 것을 특징으로 하는 데이타 변환장치.
  25. 제1 및 제2계통의 데이타(A, B)를 입력해서 키파라미터(111~114)를 사용하여비선형 변환처리하고, 비선형 변환처리된 제1 및 제2계통의 데이타(A, B)를 출력하는 데이타 변환장치에 있어서, 상기 제1 및 제2계통의 데이타로서 A입력데이타(101)과 B입력데이타(102)를 입력하고 A출력데이타(103)과 B출력데이타(104)를 출력함과 동시에, 상기 제1계통의 데이타(A)를 키파라미터를 사용해서 비선형 변환처리하는 비선형 변환회로(131~134)와 상기 제1 및 제2계통의 데이타(A, B)의 배타적 논리합을 연산하는 배타적 논리합회로(141~144)를 갖는 부변환 처리부((121~124) 또는 (161~164))를 적어도 2개 제1부변환 처리부(121 또는 161) 및 제2부변환 처리부(122 또는 162)로서 구비하고, 상기 제1부변환 처리부(121 또는 161)에서 출력되는 제1 및 제2계통의 데이타(A, B)를 상기 제2부변환 처리부(122 또는 162)의 제2 및 제1계통의 데이타(B, A)로서 입력하고, 상기 제1 및 제2부변환 처리부(121, 122) 또는 (161, 162))의 비선형 변환회로((131, 132) 또는 (132, 133))의 비선형 변환처리를 동시에 실행하고, 상기 제1부변환 처리부(121)는 상기 A입력데이타를 제1키파라미터에 의해 제1비선형 변환하고, 이 제1비선형 변환된 변환데이타와 상기 B입력데이타의 배타적 논리합을 B중간데이타로서 출력하고, 또 상기 B입력데이타를 그대로 A중간데이타로서 출력하고, 상기 제2부변환 처리부(122)는 상기 A중간데이타를 입력해서 제2키파라미터에 의해 제2비선형 변환하고, 이 제2비선형 변환된 변환데이타와 상기 B중간데이타의 배타적 논리합을 B중간데이타로서 출력하고, 또 상기 B입력데이타를 그대로 A중간데이타로서 출력하고, 상기 제1부변환 처리부(121)는 상기 제2부변환 처리부(122)를 교대로 접속하고, 제1 및 제2 중의 어느 하나의 부변환 처리부(121 또는 122)에서 출력되는 A중간데이타와 B중간데이타를 A출력데이타와 B출력데이타로서 출력하는 것을 특징으로 하는 데이타 변환장치.
  26. 제1 및 제2계통의 데이타(A, B)를 입력해서 키파라미터(111~114)를 사용하여 비선형 변환처리하고, 비선형 변환처리된 제1 및 제2계통의 데이타(A, B)를 출력하는 데이타 변환장치에 있어서, 상기 제1 및 제2계통의 데이타로서 A입력데이타(101)과 B입력데이타(102)를 입력하고 A출력데이타(103)과 B출력데이타(104)를 출력함과 동시에, 상기 제1계통의 데이타(A)를 키파라미터를 사용해서 비선형 변환처리하는 비선형 변환회로(131~134)와 상기 제1 및 제2계통의 데이타(A, B)의 배타적 논리합을 연산하는 배타적 논리합회로(141~144)를 갖는부변환 처리부(121~124) 또는 (161~164))를 적어도 2개 제1부변환 처리부(121 또는 161) 및 제2부변환 처리부(122 또는 162)로서 구비하고, 상기 제1부변환 처리부(121 또는 161)에서 출력되는 제1 및 제2계통의 데이타(A, B)를 상기 제2부변환 처리부(122 또는 162)의 제2 및 제1계통의 데이타(B, A)로서 입력하고, 상기 제1 및 제2부변환 처리부((121, 122) 또는 (161, 162))의 비선형 변환회로((131, 132) 또는 (132, 133))의 비선형 변환처리를 동시에 실행하고, 상기 제1부변환 처리부(161)은 상기 A입력데이타를 제1키파라미터에 의해 제1비선형 변환하고, 제1비선형 변환된 변환데이타를 B중간데이타로서 출력하고, 또 상기 B입력데이타와 상기 A입력데이타의 배타적 논리합을 A중간데이타로서 출력하고, 상기 제2부변환 처리부(162)는 상기 A중간데이타를 입력해서 제2키파라미터에 의해 제2비선형 변환하고, 제2비선형 변환된 변환데이타를 B중간데이타로서 출력하고, 또 상기 제1부변환 처리부(161)에서 출력되는 B중간데이타를 입력하고 입력한 B중간데이타와 상기 A중간데이타의 배타적 논리합을 A중간데이타로서 출력하고, 상기 제1부변환 처리부(161)과 상기 제2부변환 처리부(162)를 교대로 접속하고, 제1 및 제2 중의 어느 하나의 부변환 처리부(161 또는 162)에서 출력되는 A중간데이타와 B중간데이타를 A출력데이타(103)과 B출력데이타(104)로서 출력하는 것을 특징으로하는 데이타 변환장치.
  27. (정정) 제25항에 있어서, 상기 제1부변환 처리부(121 또는 161 또는 125)와 상기 제2부변환 처리부(122 또는 162 또는 126)을 종속접속한 기본구성.
    상기 기본구성에 의한 비선형변환을 소정 회수만큼 반복해서 처리하는 반복처리부(154) 및 상기 제1부변환 처리부의 비선형 변환처리 및 제2부변환 처리부의 비선형 변환처리에 공급되는 제1키파라미터 및 제2키파라미터로서 반복처리의 회수에 대응한키파라미터를 공급하는 키파라미터 공급부(158)로 이루어지고, 소정 회수의 반복처리후의 A중간데이타(107)과 B중간데이타(108)을 A출력데이타(103)과 B출력데이타(104)로 하는 것을 특징으로 하는 데이타 변환장치.
  28. 제1 및 제2계통의 데이타(A, B)를 입력해서 키파라미터를 사용하여 비선형 변환하고, 비선형 변환된 제1 및 제2계통의 데이타(A, B)를 출력하는 데이타 변환장치에 있어서, 제1 및 제2계통의 데이타(A, B)를 입력하고, 제1계통의 데이타(A)를 키파라미터를 사용해서 비선형 변환처리하는 비선형 변환회로(131)과 제1 및 제2계통의 데이타의 배타적 논리합을 연산하는 배타적 논리합회로(141)을 갖는 부변환 처리부(121), 부변환 처리부(121)의 출력인 제1 및 제2계통의 데이타(A, B)를 부변환 처리부의 입력인 제1 및 제2계통의 데이타(A, B)로서 반복해서 입력하고 소정 회수의 반복처리를 실행하는 반복처리부(154) 및 부변환 처리부의 비선형 변환회로로의 키파라미터로서 반복처리에 대응하는 키파라미터를 공급하는 키파라미터 공급부(158)을 구비한 것을 특징으로 하는 데이타 변환장치.
  29. (정정) 제25항에 있어서, 상기 비선형 변환회로(231)은 입력한 제1계통의 데이타(A)를 임의의 자리수의 수에 의해 2개의 제1 및 제2분할데이타(A1과 A2)로 분할하는 내부분할부(351)과 키파라미터를 임의의 자리수의 수에 의해 분할 키파라미터로 분할해서 분할 키파라미터를 공급하는 키파라미터 공급부(158)을 구비하고, 제1 및 제2분할데이타(A1과 A2)를 입력하고, 제1분할데이타(A1)을 분할 키파라미터(311~313)을 사용해서 비선형 변환처리하는 내부 비선형 변환회로(331~333)과 제1 및 제2분할데이타(A1과 A2)의 배타적 논리합을 연산하는 내부 배타적 논리합회로(341~343)을 갖는 내부 부변환 처리부(321~323)을 적어도 2개 제1내부 부변환 처리부(321) 및 제2내부 부변환 처리부(322)로서 구비하고, 제1내부 부변환 처리부에서 출력되는 제1 및 제2분할데이타(A1과 A2)를 제2내부 부변환 처리부의 제2와 제1분할데이타(A2와 A1)로서 입력하고, 제1 및 제2내부 부변환 처리부(321, 322)의 내부 비선형 변환회로(331, 332)의 비선형 변환처리를 동시에 실행하는 것을 특징으로 하는 데이타 변환장치.
  30. 제1 및 제2계통의 데이타(B, A)를 입력해서 키파라미터를 사용하여 비선형 변환하고, 비선형 변환된 제1 및 제2계통의 데이타(B, A)를 출력하는 데이타 변환장치에 있어서, 제1계통의 데이타(B)를 키파라미터를 사용해서 비선형 변환처리하는 비선형 변환회로(431)과 제1 및 제2계통의 데이타의 배타적 논리합을 연산하는 배타적 논리합회로(441)을 갖는 부변환 처리부(421)을 구비하고, 상기 비선형 변환회로(431)은 입력한 제1계통의 데이타(B)를 임의의 자리수의 수에 의해 2개의 제1 및 제2분할데이타(B1과 B2)로 분할하는 내부 분할부(551)과 키파라미터를 임의의 자리수의 수에 의해 분할 키파라미터로 분할해서 분할 키파라미터를 공급하는 키파라미터 공급부(158)을 구비하고, 제1 및 제2분할데이타(B1과 B2)를 입력하고, 제1분할 데이타(B1)을 분할 키파라미터를 사용해서 비선형 변환처리하는 내부 비선형 변환회로(531~533)과 제1 및 제2분할데이타의 배타적 논리합을 연산하는 배타적 논리합회로(541~543)을 갖는 내부 부변환 처리부(521~523)을 적어도 2개 제1내부 부변환 처리부(521) 및 제2내부 부변환 처리부(522)로서 구비하고, 제1내부 부변환 처리부(521)에서 출력되는 제1 및 제2분할데이타(B1과 B2)를 제2내부 부변환 처리부(522)의 제2 및 제1분할데이타(B2와 B1)로서 입력하고, 제1 및 제2내부 부변환 처리부(521, 522)의 내부 비선형 변환회로(531, 532)의 비선형 변환처리를 동시에 실행하는 것을 특징으로 하는 데이타 변환장치.
  31. 제5항에 있어서, A입력데이타와 B입력데이타 및 각 A중간데이타와 B중간데이타의 분할방식을 A와 B에서 동일한 자리수의 수로 되도록 균등하게 분할하는 것을 특징으로 하는 데이타 변환장치.
  32. 제5항에 있어서, 비선형 변환회로의 적어도 그의 어느 하나에 갈로아체상의 원 X의 n승 회로를 사용하는 것을 특징으로 하는 데이타 변환장치.
  33. 제32항에 있어서, 갈로아체상의 원 X의 n승 회로를 정규기저로 구성하는 것을 특징으로 하는 데이타 변환장치.
  34. 제5항에 있어서, 비선형 변환회로로서 적어도 일부에 리드 온리 메모리를 사용하는 것을 특징으로 하는 데이타 변환장치.
  35. 제5항에 있어서, 비선형 변환회로로서 적어도 일부에 랜덤 액세스 메모리를 사용하는 것을 특징으로 하는 데이타 변환장치.
  36. 제5항에 있어서, 비선형 변환회로로서 적어도 일부에 논리회로를 사용하는 것을 특징으로 하는 데이타 변환장치.
  37. 제26항에 있어서, 상기 제1부변환 처리부(121 또는 161 또는 125)와 상기 제2부변환 처리부(122 또는 162 또는 126)을 종속접속한 기본구성.
    상기 기본구성에 의한 비선형변환을 소정 회수만큼 반복해서 처리하는 반복처리부(154) 및 상기 제1부변환 처리부의 비선형 변환처리 및 제2부변환 처리부의 비선형 변환처리에 공급되는 제1키파라미터 및 제2키파라미터로서 반복처리의 회수에 대응한 키파라미터를 공급하는 키파라미터 공급부(158)로 이루어지고, 소정 회수의 반복처리후의 A중간데이타(107)과 B중간데이타(108)을 A출력데이타(103)과 B출력데이타(104)로 하는 것을 특징으로 하는 데이타 변환장치.
  38. 제26항에 있어서, 상기 비선형 변환회로(231)은 입력한 제1계통의 데이타(A)를 임의의 자리수의 수에 의해 2개의 제1 및 제2분할데이타(A1과 A2)로 분할하는 내부 분할부(351)과 키파라미터를 임의의 자리수의 수에 의해 분할 키파라미터로 분할해서 분할 키파라미터를 공급하는 키파라미터 공급부(158)을 구비하고, 제1 및 제2분할데이타(A1과 A2)를 입력하고, 제1분할데이타(A1)을 분할 키파라미터(311~313)을 사용해서 비선형 변환 처리하는 내부 비선형 변환회로(331~333)과 제1 및 제2분할데이타(A1과 A2)의 배타적 논리합을 연산하는 내부 배타적 논리합회로(341~343)을 갖는 내부 부변환 처리부(321~323)을 적어도 2개 제1내부 부변환 처리부(321) 및 제2내부 부변환 처리부(322)로서 구비하고, 제1내부 부변환 처리부에서 출력되는 제1 및 제2분할데이타(A1과 A2)를 제2내부 부변환 처리부의 제2와 제1분할데이타(A2와 A1)로서 입력하고, 제1 및 제2내부 부변환 처리부(321, 322)의 내부 비선형 변환회로(331, 332)의 비선형 변환처리를 동시에 실행하는 것을 특징으로 하는 데이타 변환장치.
KR1019970702916A 1995-09-05 1996-07-31 데이타 변환장치 및 데이타 변환방법 KR100250803B1 (ko)

Applications Claiming Priority (5)

Application Number Priority Date Filing Date Title
JP95-227685 1995-09-05
JP22768595 1995-09-05
JP1107396 1996-01-25
JP96-11073 1996-01-25
PCT/JP1996/002154 WO1997009705A1 (fr) 1995-09-05 1996-07-31 Appareil de conversion de donnees et procede de conversion de donnees

Publications (2)

Publication Number Publication Date
KR970707525A KR970707525A (ko) 1997-12-01
KR100250803B1 true KR100250803B1 (ko) 2000-04-01

Family

ID=26346455

Family Applications (1)

Application Number Title Priority Date Filing Date
KR1019970702916A KR100250803B1 (ko) 1995-09-05 1996-07-31 데이타 변환장치 및 데이타 변환방법

Country Status (10)

Country Link
US (3) US6201869B1 (ko)
EP (1) EP0790595B1 (ko)
KR (1) KR100250803B1 (ko)
CN (2) CN1136692C (ko)
AU (1) AU693719B2 (ko)
DE (1) DE69635651T2 (ko)
DK (1) DK0790595T3 (ko)
ES (1) ES2255712T3 (ko)
NO (1) NO324428B1 (ko)
WO (1) WO1997009705A1 (ko)

Cited By (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
KR100934108B1 (ko) * 1999-03-15 2009-12-29 소니 가부시끼 가이샤 암호화된 데이터 전송을 위한 데이터 처리 방법, 장치 및시스템

Families Citing this family (31)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
DE69635651T2 (de) * 1995-09-05 2006-09-07 Mitsubishi Denki K.K. Vorrichtung und Verfahren zur Datenumwandlung
JP3088337B2 (ja) * 1997-05-30 2000-09-18 三菱電機株式会社 暗号処理装置、icカード及び暗号処理方法
US6088800A (en) * 1998-02-27 2000-07-11 Mosaid Technologies, Incorporated Encryption processor with shared memory interconnect
JP2000124813A (ja) 1998-10-20 2000-04-28 Texas Instr Japan Ltd リードソロモン符号化装置およびその方法とリードソロモン復号装置およびその方法
JP3499810B2 (ja) 2000-03-06 2004-02-23 株式会社東芝 暗号化装置、暗号化方法及び暗号化装置としてコンピュータを機能させるためのプログラムを記録したコンピュータ読取り可能な記録媒体並びに復号装置、復号方法及び復号装置としてコンピュータを機能させるためのプログラムを記録したコンピュータ読取り可能な記録媒体
DE60137269D1 (de) * 2000-03-09 2009-02-12 Mitsubishi Electric Corp Blockchiffriergerät
US7283628B2 (en) * 2001-11-30 2007-10-16 Analog Devices, Inc. Programmable data encryption engine
US7269615B2 (en) 2001-12-18 2007-09-11 Analog Devices, Inc. Reconfigurable input Galois field linear transformer system
US7508937B2 (en) * 2001-12-18 2009-03-24 Analog Devices, Inc. Programmable data encryption engine for advanced encryption standard algorithm
KR100446533B1 (ko) * 2002-10-08 2004-09-01 삼성전자주식회사 무선 통신 시스템에서 암호화 장치 및 방법
KR100456599B1 (ko) * 2002-11-12 2004-11-09 삼성전자주식회사 병렬 디이에스 구조를 갖는 암호 장치
US7310421B2 (en) * 2003-10-06 2007-12-18 National Institute Of Information And Communications Technology Particular plaintext detector
US7433469B2 (en) * 2004-04-27 2008-10-07 Intel Corporation Apparatus and method for implementing the KASUMI ciphering process
FR2871969B1 (fr) * 2004-06-18 2006-12-01 Sagem Procede et dispositif d'execution d'un calcul cryptographique
KR101298588B1 (ko) * 2005-05-04 2013-08-22 지멘스 엔터프라이즈 커뮤니케이션즈 게엠베하 운트 코. 카게 정정 심볼들에 할당된 색인들을 결정하기 위한 방법 및 장치
FR2878390A1 (fr) * 2005-11-24 2006-05-26 Samsung Electronics Co Ltd Systeme et procede cryptographiques pour chiffrer des donnees d'entree
EP1995710A1 (en) * 2006-03-14 2008-11-26 NEC Corporation Information processing system, information processing method, and information processing program
JP2007299088A (ja) * 2006-04-28 2007-11-15 Fujitsu Ltd データ保護システム、方法及びプログラム
JP4882598B2 (ja) * 2006-07-28 2012-02-22 ソニー株式会社 暗号処理装置、暗号処理アルゴリズム構築方法、および暗号処理方法、並びにコンピュータ・プログラム
US7620792B2 (en) * 2006-08-21 2009-11-17 Sigmatel, Inc. Processing system, memory and methods for use therewith
JP2008172617A (ja) * 2007-01-12 2008-07-24 Fujitsu Ltd 符号化装置、復号装置、符号化プログラム、復号プログラム、データ転送システム
JP2008270870A (ja) * 2007-04-16 2008-11-06 Sony Corp 通信システム、通信装置及び通信方法、並びにコンピュータ・プログラム
US20100027781A1 (en) * 2007-12-20 2010-02-04 Galbi Duane E Method and apparatus for enhancing performance of data encryption standard (des) encryption/decryption
JP5272417B2 (ja) * 2008-01-21 2013-08-28 ソニー株式会社 データ変換装置、およびデータ変換方法、並びにコンピュータ・プログラム
JP5200949B2 (ja) 2009-01-16 2013-06-05 富士通株式会社 暗号処理装置
WO2011052587A1 (ja) 2009-10-27 2011-05-05 日本電気株式会社 ブロック暗号装置、ブロック暗号化方法およびプログラム
US8266181B2 (en) 2010-05-27 2012-09-11 International Business Machines Corporation Key-break and record-loop processing in parallel data transformation
US20120079462A1 (en) * 2010-09-24 2012-03-29 SoftKrypt LLC Systems and methods of source software code obfuscation
JP5682526B2 (ja) * 2011-03-28 2015-03-11 ソニー株式会社 データ処理装置、およびデータ処理方法、並びにプログラム
JP5682527B2 (ja) 2011-03-28 2015-03-11 ソニー株式会社 暗号処理装置、および暗号処理方法、並びにプログラム
JP2018182429A (ja) * 2017-04-06 2018-11-15 株式会社村田製作所 データ変換装置

Family Cites Families (21)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JPS6037586A (ja) 1983-08-09 1985-02-26 富士通株式会社 Des暗号装置鍵誤り検出方式
JPS61117940A (ja) 1984-11-13 1986-06-05 Hitachi Ltd デ−タ保護方式
JPH0727325B2 (ja) * 1987-02-13 1995-03-29 沖電気工業株式会社 暗号化装置
JP2760799B2 (ja) 1988-04-28 1998-06-04 株式会社日立製作所 暗号方式
JP2825205B2 (ja) 1989-07-20 1998-11-18 日本電信電話株式会社 暗号装置
JP3053106B2 (ja) 1990-11-02 2000-06-19 株式会社日立製作所 暗号化処理装置、及び復号化処理装置
JP2862030B2 (ja) 1991-06-13 1999-02-24 三菱電機株式会社 暗号化方式
JPH0535448A (ja) 1991-07-26 1993-02-12 Matsushita Electric Ind Co Ltd 有限体における乗算器
JPH0588849A (ja) 1991-09-26 1993-04-09 Matsushita Electric Ind Co Ltd 正規基底を用いた乗算器の構成法
JP3180836B2 (ja) 1992-05-21 2001-06-25 日本電気株式会社 暗号通信装置
US5317638A (en) 1992-07-17 1994-05-31 International Business Machines Corporation Performance enhancement for ANSI X3.92 data encryption algorithm standard
US5398284A (en) * 1993-11-05 1995-03-14 United Technologies Automotive, Inc. Cryptographic encoding process
JPH07191603A (ja) 1993-12-24 1995-07-28 Canon Inc 暗号装置及びこれを用いた秘匿・認証通信システム
JP3029381B2 (ja) * 1994-01-10 2000-04-04 富士通株式会社 データ変換装置
US6125182A (en) * 1994-11-09 2000-09-26 Channel One Communications, Inc. Cryptographic engine using logic and base conversions
US5717760A (en) * 1994-11-09 1998-02-10 Channel One Communications, Inc. Message protection system and method
JPH08179690A (ja) 1994-12-22 1996-07-12 Nec Corp プロダクト暗号装置
JP3129384B2 (ja) 1995-02-08 2001-01-29 日亜化学工業株式会社 窒化物半導体レーザ素子
US5757915A (en) * 1995-08-25 1998-05-26 Intel Corporation Parameterized hash functions for access control
DE69635651T2 (de) * 1995-09-05 2006-09-07 Mitsubishi Denki K.K. Vorrichtung und Verfahren zur Datenumwandlung
JPH0990870A (ja) 1995-09-27 1997-04-04 Nec Corp 基本変換方法、暗号化方法、基本変換回路および暗号装置

Cited By (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
KR100934108B1 (ko) * 1999-03-15 2009-12-29 소니 가부시끼 가이샤 암호화된 데이터 전송을 위한 데이터 처리 방법, 장치 및시스템

Also Published As

Publication number Publication date
EP0790595A1 (en) 1997-08-20
AU693719B2 (en) 1998-07-02
CN1164912A (zh) 1997-11-12
DE69635651D1 (de) 2006-02-02
US20020131589A1 (en) 2002-09-19
WO1997009705A1 (fr) 1997-03-13
NO972052L (no) 1997-05-05
US6201869B1 (en) 2001-03-13
EP0790595B1 (en) 2005-12-28
AU6629396A (en) 1997-03-27
US6415030B2 (en) 2002-07-02
NO324428B1 (no) 2007-10-15
NO972052D0 (no) 1997-05-02
US20010000708A1 (en) 2001-05-03
DK0790595T3 (da) 2006-05-08
CN1136692C (zh) 2004-01-28
US7096369B2 (en) 2006-08-22
DE69635651T2 (de) 2006-09-07
EP0790595A4 (en) 2003-10-15
CN1496048A (zh) 2004-05-12
ES2255712T3 (es) 2006-07-01
KR970707525A (ko) 1997-12-01
CN100435505C (zh) 2008-11-19

Similar Documents

Publication Publication Date Title
KR100250803B1 (ko) 데이타 변환장치 및 데이타 변환방법
KR100435052B1 (ko) 암호화장치
US4275265A (en) Complete substitution permutation enciphering and deciphering circuit
JP3499810B2 (ja) 暗号化装置、暗号化方法及び暗号化装置としてコンピュータを機能させるためのプログラムを記録したコンピュータ読取り可能な記録媒体並びに復号装置、復号方法及び復号装置としてコンピュータを機能させるためのプログラムを記録したコンピュータ読取り可能な記録媒体
KR100449594B1 (ko) 보조 변환을 이용한 블럭 암호 장치
US5351299A (en) Apparatus and method for data encryption with block selection keys and data encryption keys
US6956951B2 (en) Extended key preparing apparatus, extended key preparing method, recording medium and computer program
WO2003100751A1 (fr) Dispositif et procede de conversion de donnees
CN111064562A (zh) 一种fpga上的aes算法的实现方法
Yeo et al. Improved algebraic attacks on lightweight block ciphers
JP6052166B2 (ja) 暗号化方法、暗号化装置および暗号化プログラム
JP2825205B2 (ja) 暗号装置
JP2000075785A (ja) 高速暗号処理回路および処理方法
JPH11242433A (ja) デ―タ変換装置及びデ―タ変換方法
JP3035358B2 (ja) データ変換装置
JP2002149058A (ja) データ変換装置
JP3901959B2 (ja) Feistel構造とSPN構造とを組み合わせた演算装置および演算方法
CA2203380C (en) Data transformation apparatus and data transformation method
JP2001209303A (ja) データ変換装置及びデータ変換方法
JP2002049308A (ja) データ変換装置及びデータ変換方法
RU2309549C2 (ru) Способ криптографического преобразования цифровых данных
JP3190648B2 (ja) データ暗号化装置及びその方法
JP4745598B2 (ja) 暗号回路
RU2241314C2 (ru) Управляемый операционный блок
JPH06102820A (ja) 暗号装置

Legal Events

Date Code Title Description
A201 Request for examination
E902 Notification of reason for refusal
E701 Decision to grant or registration of patent right
GRNT Written decision to grant
G170 Re-publication after modification of scope of protection [patent]
FPAY Annual fee payment

Payment date: 20121227

Year of fee payment: 14

FPAY Annual fee payment

Payment date: 20131218

Year of fee payment: 15

FPAY Annual fee payment

Payment date: 20141230

Year of fee payment: 16

FPAY Annual fee payment

Payment date: 20151217

Year of fee payment: 17