KR20050069927A - 블록암호화 방법 및 블록암호/복호회로 - Google Patents

블록암호화 방법 및 블록암호/복호회로 Download PDF

Info

Publication number
KR20050069927A
KR20050069927A KR1020047008752A KR20047008752A KR20050069927A KR 20050069927 A KR20050069927 A KR 20050069927A KR 1020047008752 A KR1020047008752 A KR 1020047008752A KR 20047008752 A KR20047008752 A KR 20047008752A KR 20050069927 A KR20050069927 A KR 20050069927A
Authority
KR
South Korea
Prior art keywords
encryption
data
key data
decryption
circuit
Prior art date
Application number
KR1020047008752A
Other languages
English (en)
Inventor
이와오 오오후지
츠토무 이치노세
Original Assignee
소니 가부시끼 가이샤
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Application filed by 소니 가부시끼 가이샤 filed Critical 소니 가부시끼 가이샤
Publication of KR20050069927A publication Critical patent/KR20050069927A/ko

Links

Classifications

    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L9/00Cryptographic mechanisms or cryptographic arrangements for secret or secure communications; Network security protocols
    • H04L9/06Cryptographic mechanisms or cryptographic arrangements for secret or secure communications; Network security protocols the encryption apparatus using shift registers or memories for block-wise or stream coding, e.g. DES systems or RC4; Hash functions; Pseudorandom sequence generators
    • 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
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06CDIGITAL COMPUTERS IN WHICH ALL THE COMPUTATION IS EFFECTED MECHANICALLY
    • G06C1/00Computing aids in which the computing members form at least part of the displayed result and are manipulated directly by hand, e.g. abacuses or pocket adding devices
    • 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/30Public key, i.e. encryption algorithm being computationally infeasible to invert or user's encryption keys not requiring secrecy
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L2209/00Additional information or applications relating to cryptographic mechanisms or cryptographic arrangements for secret or secure communication H04L9/00
    • H04L2209/12Details relating to cryptographic hardware or logic circuitry
    • 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/24Key scheduling, i.e. generating round keys or sub-keys for block encryption

Landscapes

  • Engineering & Computer Science (AREA)
  • Computer Security & Cryptography (AREA)
  • Computer Networks & Wireless Communication (AREA)
  • Signal Processing (AREA)
  • Theoretical Computer Science (AREA)
  • Physics & Mathematics (AREA)
  • Computing Systems (AREA)
  • General Physics & Mathematics (AREA)
  • Mathematical Physics (AREA)
  • Computer Hardware Design (AREA)
  • Storage Device Security (AREA)

Abstract

스케줄링의 오버헤드를 없게 하여 암호화 혹은 복호화에 필요한 시간을 대폭 단축할 수 있고, 전체로 속도를 향상시킬 수 있는 블록암호화 방법이다. 암호화용 혹은 복호화용의 키데이터로부터 라운드 키데이터를 형성하는 키 스케줄링회로(12)와, 이 키 스케줄링회로(12)에 의해 형성된 라운드 키데이터를 소정의 뱅크에 보존하는 뱅크메모리(13)를 설치한다. 뱅크에 보존된 라운드 키데이터와, 평문데이터 혹은 암호문 데이터가 1블록 정도씩 공급되어 평문데이터 혹은 암호문 데이터의 암호화처리 혹은 복호화처리를 실행하는 암호화/복호화회로(11)를 설치한다. 암호화/복호화회로(11)로부터 암호화처리 혹은 복호화처리의 결과를 추출한다.

Description

블록암호화 방법 및 블록암호/복호회로{BLOCK ENCODING METHOD AND BLOCK ENCODING/DECODING CIRCUIT}
본 발명은, 블록암호화 방법 및 블록암호/복호회로에 관한 것이다.
평문데이터를 암호화하는 암호회로의 하나로서, AES(Advanced Encryption Standard) 방식의 블록암호회로가 있다. 이 AES 블록암호회로는, 평문데이터를 예를 들면 128비트마다 1블록으로 하고, 그 1블록마다 라운드 키데이터에 의해 암호화를 행하도록 구성되어 있다. 또한, 이때, 라운드 키데이터는, 암호화용의 키데이터로부터 키 스케줄링에 의해 형성된다(예를 들면, 「AES 개설」, [online], 2002년 6월11일, 나고야공업대학 전기정보공학과 이와타 연구실, [2002년 10월 8일 검색], 인터넷[URL(Uniform Resource Locator): http:// mars.elcom.nitech.ac.jp/security/aes. html] 참조).
따라서, 암호문 데이터를 재암호화(원래의 암호문 데이터를, 대응하는 라운드 키데이터에 의해 평문데이터에 복호화하고, 그 평문데이터를, 별도의 라운드 키데이터에 의해 다시 암호문 데이터로 암호화하는 것)하는 경우에는, 이하에 나타내는 바와 같은 처리의 흐름이 된다.
즉, 도 4에 나타내는 바와 같이,
1 호스트 컴퓨터(1)에, 원래의 암호문 데이터와, 복호화용의 키데이터와, 암호화용의 키데이터를 준비한다.
2 호스트 컴퓨터(1)로부터 키 스케줄링회로(2)에, 복호화용의 키데이터를 전송하여 키 스케줄링처리를 행하고, 복호화용의 라운드 키데이터를 작성한다.
3 호스트 컴퓨터(1)로부터 암호화/복호화회로(3)에 암호문 데이터의 1블록을 전송하고, 2항으로 작성한 라운드 키데이터에 의해 평문데이터에 복호화한다.
4 호스트 컴퓨터(1)로부터 키 스케줄링회로(2)에, 암호화용의 키데이터를 전송하여 키 스케줄링처리를 행하고, 암호화용의 라운드 키데이터를 작성한다.
5 3항으로 작성된 평문데이터를, 4항으로 작성한 라운드 키데이터에 의해 암호문 데이터로 암호화한다.
6 5항으로 얻어진 재암호문 데이터를 호스트 컴퓨터(1)에 반송한다.
7 2∼6항의 처리를, 원래의 암호문 데이터의 1블록마다 반복한다.
또한, 멀티테스크 OS(Operating System) 등에 있어서, 하나의 암호회로를 2개의 태스크로부터 이용하는 경우도, 마찬가지로 키 스케줄링처리에 의해 각 태스크마다 각각의 라운드 키데이터를 작성하여 암호화처리나 복호화처리를 행할 필요가 있다.
그런데, 일반적으로, 키 스케줄링처리는, 암호화나 복호화의 2배 정도의 처리시간을 필요로 하므로, 2항이나 4항과 같이, 각 블록마다 키 스케줄링처리를 실행하거나 멀티테스크에 있어서, 각 태스크마다 키 스케줄링처리를 실행하거나 하면, 상당한 오버헤드로 되어 버리고, 전체로서 암호화나 복호화의 속도가 저하해 버린다.
본 발명은, 이러한 문제점을 해결하고자 하는 것이다.
(발명의 개시)
본 발명에 있어서는, 예를 들면,
복호용의 키데이터에 근거하여 제1 라운드 키데이터를 작성하고,
작성된 제1 라운드 키데이터를 메모리의 제1 장소에 보존하며,
암호화용의 키데이터에 근거하여 제2 라운드 키데이터를 작성하고,
작성된 제2 라운드 키데이터를 메모리의 제2 장소에 보존하며,
상기 제1 라운드 키데이터에 근거하여, 입력되는 암호화 데이터를 블록단위로 평문으로 복호화하고,
상기 제2 라운드 키데이터에 근거하여 상기 평문을 블록단위로 암호화시키는 블록암호화 방법이다.
따라서, 키 스케줄링에 의한 오버헤드가 없어져, 전체로서 고속이 된다.
도 1은, 본 발명의 일형태를 나타내는 계통도이다.
도 2는, 도 1의 회로의 처리의 흐름을 나타내는 플로우차트이다.
도 3은, 본 발명의 일형태를 나타내는 계통도이다.
도 4는, 종래 방법에서의 암호문 데이터를 재암호화하는 처리의 흐름을 나타내는 계통도이다.
①-1 블록암호/복호회로(10)의 구성
도 1에서, 부호 10은, 본 발명에 의한 블록암호/복호회로를 전체로서 나타내고, 부호 20은, 암호/복호회로(10)를 사용하는 호스트 컴퓨터를 나타낸다. 그리고, 이 예에서의 암호/복호회로(10)는, 암호문 데이터의 재암호화를 고속으로 실행할 수 있도록 한 경우이다.
이 때문에, 호스트 컴퓨터(20)의 메모리(23)에는, 재암호화되는 암호문 데이터와, 그 암호문 데이터를 평문데이터에 복호화하기 위한 키데이터와, 그 평문데이터를 다시 암호문 데이터로 암호화하기 위한 별도의 키데이터가 준비되어 있다. 이때, 예를 들면, 원래의 암호문 데이터의 1블록은 128비트이고, 암호화용 및 복호화용의 각 키데이터도 128비트이다.
그리고, 암호/복호회로(10)에는, 2개의 모드가 준비되고, 그 제1 모드에서는, 복호화용의 키데이터로부터 복호화용의 라운드 키데이터가 형성되어 메모리에 보존됨과 동시에, 암호화용의 키데이터로부터 암호화용의 라운드 키데이터가 형성되어 메모리에 보존된다. 또한, 제2 모드에서는, 제1 모드에서 메모리에 보존된 라운드 키데이터를 사용하여 암호문 데이터의 평문데이터로의 복호화와, 그 평문데이터의 재암호화가, 1블록씩 교대로 실행된다.
즉, 암호/복호회로(10)는, 암호화/복호화회로(11)와, 키 스케줄링회로(12)를 갖는다. 이 경우, 암호화/복호화회로(11)는, 암호문 데이터의 1블록을 복호화용의 라운드 키데이터에 의해 평문데이터에 복호화하는 처리와, 평문데이터의 1블록을 암호화용의 라운드 키데이터에 의해 암호문 데이터로 암호화하는 처리를 실행하는 것이다. 또한, 키 스케줄링회로(12)는, 복호화용의 키데이터로부터 복호화용의 라운드 키데이터를 작성하고, 또한, 암호화용의 키데이터로부터 암호화용의 라운드 키데이터를 작성하는 것이다.
그리고, 이들 암호화/복호화회로(11) 및 키 스케줄링회로(12)는, 블록암호/복호회로(10)의 내부버스(19)에 접속되고, 이 버스(19)는 호스트 컴퓨터(20)에 접속된다.
또한, 암호/복호회로(10)에 있어서, 버스(19)에 레지스터(15)가 접속되고, 이 레지스터(15)에 모드플래그 MFLG가 준비된다. 이 모드플래그 MFLG는, 컴퓨터(20)에 의해 설정됨과 동시에, 암호화/복호화회로(11) 및 키 스케줄링회로(12)에 그것들의 동작의 제어신호로서 공급되고, 암호화/복호화회로(11) 및 키 스케줄링회로(12)는,
MFLG="0"일 때, 암호화/복호화회로(11)의 동작을 금지, 또한, 키 스케줄링회로(12)의 동작을 허가
MFLG="1"일 때, 암호화/복호화회로(11)의 동작을 허가, 또한, 키 스케줄링회로(12)의 동작을 금지와 같이 제어된다.
또한, 암호/복호회로(10)는, 뱅크메모리(13)와, 레지스터(14)를 갖는다. 이 경우, 뱅크메모리(13)는, 2개의 뱅크 #0, #1을 갖고, 키 스케줄링회로(12)가 형성한 암호화용 및 복호화용의 라운드 키데이터를, 뱅크 #0 및 #1에 각각 저장하는 것이다. 이 때문에, 레지스터(15)에 전환플래그 BNKF가 준비되고, 이 전환플래그 BNKF가, 컴퓨터(20)에 의해 설정됨과 동시에, 뱅크메모리(13)에 뱅크전환의 제어신호로서 공급되고, 뱅크메모리(13)는,
BNKF="0"일 때, 뱅크 #0이 유효, 또한, 뱅크 #1이 무효
BNKF="1"일 때, 뱅크 #0이 무효, 또한, 뱅크 #1이 유효와 같이 제어된다.
또한, 암호/복호회로(10)에는, 메모리 컨트롤회로(16)가 설치되고, 이 메모리 컨트롤회로(16)에 의해, 뱅크메모리(13)에 대한 라운드 키데이터의 기록·판독 및 그 어드레스 등이 제어된다.
그리고, 이 뱅크메모리(13)의 출력이 레지스터(14)에 일단 유지되고 나서 암호화/복호화회로(11)에 라운드 키데이터로서 공급된다.
또한, 레지스터(15)의 전환플래그 BNKF가, 암호화/복호화회로(11)에, 암호화처리와 복호화처리의 전환제어신호로서 공급되고, 암호화/복호화회로(11)는,
BNKF="0"일 때, 복호화처리
BNKF="1일의 때, 암호화처리를 실행하도록 제어된다.
그리고, 암호/복호회로(10)는, 호스트 컴퓨터(20)에 준비되어 있는 암호문 데이터를 재암호화처리할 때, 예를 들면 도 2의 플로우차트(100)에 나타내는 바와 같은 흐름으로, 그 처리를 실행하는 것이다. 이것을 이하에 설명한다.
①-2 블록암호/복호회로(10)에 의한 재암호화처리
암호문 데이터를 재암호화하는 경우에는, 처리는 플로우차트(100)의 스텝 101로부터 시작하고, 다음에 스텝 102로서 나타내는 바와 같이, 컴퓨터(20)에 의해 레지스터(15)의 플래그 MFLG, BNKF는 "0"레벨로 셋트된다. 따라서, 모드플래그 MFLG에 의해 키 스케줄링회로(12)의 동작은 허가, 암호화/복호화회로(11)의 동작은 금지로 됨과 동시에, 전환플래그 BNKF에 의해 뱅크 #0이 유효, 뱅크 #1이 무효로 된다.
다음에, 컴퓨터(20)는, 모드플래그 MFLG를 "0"레벨로 셋트하고 있으므로, 스텝 103으로서 나타내는 바와 같이, 컴퓨터(20)는, 메모리(23)에 준비되어 있는 키데이터 중, 복호화용의 키데이터를 키 스케줄링회로(12)에 전송한다. 계속해서, 스텝 104로서 나타내는 바와 같이, 키 스케줄링회로(12)에 있어서, 스텝 103에 의해 전송된 키데이터로부터 라운드 키데이터가 형성된다. 지금의 경우는, BNKF="0"이므로, 복호용의 라운드 키데이터가 형성된다.
그리고, 스텝 105로서 나타내는 바와 같이, 스텝 104에서 형성된 라운드 키데이터가, 메모리 컨트롤회로(16)에 의해 뱅크메모리(13)에 전송되고, 지금의 경우, 스텝 102에 의해 뱅크메모리(13)는 뱅크 #0이 유효로 되어 있으므로, 뱅크 #0에 기록된다. 계속해서, 스텝 106으로서 나타내는 바와 같이, 전환플래그 BNKF의 레벨이 판별되고, 지금의 경우, BNKF="0"이므로, 처리의 흐름은 스텝 106으로부터 스텝 107로 진행하고, 이 스텝 107에서, 레지스터(15)의 전환플래그 BNKF는, 컴퓨터(20)에 의해 "1"레벨에 셋트되고, 그 후, 처리의 흐름은 스텝 103으로 되돌아간다.
따라서, 이후, BNKF="1"에 대응하여, 메모리(23)의 키데이터 중, 암호화용의 키데이터가 키 스케줄링회로(12)에 전송되고(스텝 103), 이 키데이터로부터 암호화용의 라운드 키데이터가 형성되며(스텝 104), 이 라운드 키데이터가 뱅크메모리(13)의 뱅크 #1에 기록된다(스텝 105). 그리고, 스텝 106에서, BNKF="1"이므로, 처리의 흐름은 스텝 106으로부터 스텝 111로 진행한다. 이때, 뱅크메모리(13)의 뱅크 #0에는 복호용화의 라운드 키데이터가 준비되고, #1에는 재암호화용의 라운드 키데이터가 준비되어 있게 된다.
그리고, 스텝 111에서, 레지스터(15)의 모드플래그 MFLG가 "1"레벨로 셋트되고, 따라서, 모드플래그 MFLG에 의해 키 스케줄링회로(12)의 동작은 금지, 암호화/복호화회로(11)의 동작은 허가로 된다. 다음에 스텝 112로서 나타내는 바와 같이, 전환플래그 BNKF가 "0"레벨로 셋트되어 뱅크 #0이 유효, 뱅크 #1이 무효로 됨과 동시에, 암호화/복호화회로(11)는 복호화처리를 실행하도록 설정된다.
계속해서, 스텝 113으로서 나타내는 바와 같이, 뱅크 #0, #1 중, 유효로 되어 있는 뱅크의 라운드 키데이터, 지금의 경우, 뱅크 #0의 라운드 키데이터가 레지스터(14)를 통해 암호화/복호화회로(11)에 공급된다. 또한, 스텝 114로서 나타내는 바와 같이, 컴퓨터(20)의 메모리(23)에 준비되어 있는 암호문 데이터 중, 제n번째의 블록, 지금의 경우, 제1번째의 블록이 암호화/복호화회로(11)에 전송된다. 따라서, 이때, BNKF="0"이므로, 스텝 115로서 나타내는 바와 같이, 암호화/복호화회로(11)에서, 스텝 113에서 공급된 라운드 키데이터에 의해 스텝 114로 전송된 암호문 데이터의 블록이 평문데이터로 복호화된다.
다음에, 스텝 116으로서 나타내는 바와 같이, 스텝 115에 의해 복호화된 평문데이터의 블록이 컴퓨터(20)의 메모리(23)에 반송되고, 계속해서, 스텝 117로서 나타내는 바와 같이, 메모리(23)의 전체 암호문 데이터의 처리를 종료했는지 어떤지가 판별되고, 지금의 경우, 종료하고 있지 않으므로, 처리의 흐름은 스텝 117로부터 스텝 118로 진행한다.
그리고, 스텝 118에서는, 전환플래그 BNKF가 체크되고, 지금의 경우, 스텝 112에 의해 BNKF="0"이므로, 처리의 흐름은 스텝 118로부터 스텝 119로 진행하고, 이 스텝 119에서, 레지스터(15)의 전환플래그 BNKF는 "1"레벨로 셋트되고, 그 후, 처리의 흐름은 스텝 113으로 되돌아간다.
따라서, 다시 스텝 113∼116이 반복되지만, 지금의 경우, BNKF="1"이므로, 뱅크메모리(13)는 뱅크 #1이 유효하고, 복호용의 라운드 키데이터가 추출되어 암호화/복호화회로(11)에 공급된다(스텝 113). 또한, 컴퓨터(20)의 메모리(123)로부터는 직전에 스텝 115에서 복호화된 평문데이터의 블록이 암호화/복호화회로(11)에 공급된다(스텝 114). 그리고, BNKF="1"이므로, 암호화/복호화회로(11)에서는, 암호화가 실행된다(스텝 115). 따라서, 원래의 암호문 데이터의 제1 블록이 재암호화된 것이 되고, 이 재암호화된 암호문 데이터의 블록이 컴퓨터(20)에 반송되어 메모리(23)에 기록된다(스텝 116).
그리고, 지금의 경우, 아직, 1블록밖에 재암호화가 되어 있지 않으므로, 처리의 흐름은 스텝 117로부터 스텝 118로 진행하지만, BNKF="1"이므로, 처리의 흐름은 스텝 118로부터 스텝 112로 되돌아간다.
따라서, 이후, 스텝 111∼119에 의해, 전술한 바와 같이, 메모리(23)의 암호문 데이터의 제2번째의 블록에 대하여, 평문데이터에의 복호화 및 평문데이터로부터 암호문 데이터로의 재암호화가, 블록단위로 실행되게 된다. 또한, 그 때, 평문데이터로의 복호화 및 평문데이터로부터 암호문 데이터로의 재암호화는, 스텝 101∼105에 의해 뱅크메모리(13)의 뱅크 #0, #1에 준비된 복호화용의 라운드 키데이터 및 암호화용의 라운드 키데이터를 사용하여 실행된다.
그리고, 메모리(23)의 전체 암호문 데이터가 재암호화되면, 처리의 흐름은 스텝 117로부터 스텝 121로 진행하고, 플로우차트(100)의 처리를 종료한다.
이렇게 해서, 메모리(23)에 준비된 암호문 데이터는 재암호화된다. 그리고, 이 경우, 그 재암호화에는, 복호화용의 라운드 키데이터 및 암호화용의 라운드 키데이터가 필요하지만, 그 라운드 키데이터는, 뱅크메모리(13)의 뱅크 #0, #1에 미리 준비하므로, 키 스케줄링은 복호화용 및 재암호화용에 각각 1회 실행하는 것만으로 되며, 따라서, 암호문 데이터의 재암호화에 필요한 시간을 대폭 단축할 수 있어, 전체로서의 속도를 향상시킬 수 있다.
② 기록재생장치
도 3은, 본 발명을 CD-R/RW 기록재생장치에 적용한 경우의 일형태를 나타낸다.
즉, 부호 31은 오디오신호의 신호원, 예를 들면 마이크로폰(31), 부호 32는 오디오신호의 출력처, 예를 들면 스피커(32)를 나타내고, 이들은 오디오 인터페이스회로(33)를 통해 후술하는 마이크로 컴퓨터(40)의 시스템 버스(49)에 접속된다. 도한, 이 시스템 버스(49)에는, 디스크 인터페이스회로(34)를 통해, 디스크 드라이브장치(35)가 접속되고, 이 드라이브장치(35)에, CD-R(Compact Disc Recordable) 혹은 CD-RW(Compact Disc ReWritable) 등의 디스크(36)가 셋트된다.
그리고, 마이크로 컴퓨터(40)는, ①-1∼①-2에서의 컴퓨터(20)에 대응함과 동시에, 이 기록재생장치 전체의 동작을 제어하는 시스템 컨트롤회로를 구성하는 것이다. 그리고, 이 마이크로 컴퓨터(40)는, CPU(Central Processing Unit)(41), 각종의 프로그램 및 데이터가 기록된 ROM(Read Only Memory)(42), 워크 에어리어용의 RAM(Random Access Memory)(43)을 갖고, 이들이 시스템 버스(49)에 접속된다. 또한, ①-1∼①-2에서 설명한 암호/복호회로(10)가, 그 내부버스(19)를 통해 시스템 버스(49)에 접속된다. 이때, RAM 43은, 그 일부의 어드레스 에어리어가 메모리(23)로서 사용된다.
또한, 유저인터페이스로서, 각종의 조작키(44) 및 디스플레이, 예를 들면 LCD(Liquid Crystal Display)(45)도 시스템 버스(49)에 접속된다. 또한, 시스템 버스(49)에는, 외부 인터페이스로서 USB(Universal Serial Bus) 인터페이스회로(46)가 접속되며, 이 USB 인터페이스회로(46)에, 외부기기로서 예를 들면 퍼스널 컴퓨터(50)가 접속된다.
그리고, 기록시 및 재생시에는, 암호화처리 혹은 복호화처리의 유무에 대응하여 이하와 같은 처리가 실행된다.
②-1 통상의 기록
암호화를 필요로 하지 않는 기록시에는, 마이크로폰(31)으로부터의 오디오신호가 인터페이스회로(33)에 공급되어 디지털 오디오 데이터에 A/D(Analog to Digital) 변환되고, 이 디지털 오디오 데이터가, 시스템 버스(49)를 통해 디스크 인터페이스회로(34)에 공급되어 에러정정용의 인코드처리 및 기록용의 EFM(Eight to Fourteen Modulation) 변조처리가 행해진다. 그리고, 이 인코드처리 및 변조처리가 행해진 신호가, 디스크 드라이브장치(35)에 공급되고, 디스크(36)에 기록된다.
②-2 통상의 재생
드라이브장치(35)에 의해 디스크(36)로부터 신호가 재생되고, 이 재생신호가 디스크 인터페이스회로(34)에 공급되어 기록시와는 상보의 처리, 즉, EFM 복조처리 및 에러정정용의 디코드처리가 행해지고, 원래의 디지털 오디오 데이터가 추출된다. 그리고, 이 디지털 오디오 데이터가, 시스템 버스(49)를 통해 인터페이스회로(33)에 공급되어 아날로그의 오디오신호에 D/A(Digital to Analog) 변환되고, 이 오디오신호가 스피커(32)에 공급된다.
이때, 디지털 오디오 데이터 이외의 디지털 데이터를 디스크(36)에 대하여 기록 혹은 재생하는 경우에는, 그 때문의 인코드처리나 디코드처리 등이 필요하게 되지만, 그것들의 처리도 디스크 인터페이스회로(34)에 있어서 실행된다.
②-3 오디오신호의 암호화 및 기록
오디오신호를 암호화하여 디스크(36)에 기록하는 경우에는, 마이크로폰(31)으로부터의 오디오신호가 인터페이스회로(33)에 공급되어 디지털 오디오 데이터로 A/D 변환되고, 이 디지털 오디오 데이터가 RAM 43에 일단 버퍼링되고 나서 암호/복호회로(10)에 공급된다. 이렇게 해서, RAM 43의 디지털 오디오 데이터는, 암호/복호회로(10)에 의해 예를 들면 2K(1024)바이트마다 ①-1∼①-2에서 설명한 바와 같이 암호문 데이터로 블록암호화된다.
그리고, 이 RAM 43의 암호문 데이터가, 디스크 인터페이스회로(34)에 공급되어 에러정정용의 인코드처리 및 기록용의 EFM 변조처리가 행해지고, 그 후, 디스크 드라이브장치(35)에 공급되어, 디스크(36)에 기록된다.
②-4 오디오신호의 재생 및 복호화
디스크(36)에 기록되어 있는 오디오신호를 복호화하여 재생하는 경우에는, 드라이브장치(35)에 의해 디스크(36)로부터 신호가 재생되고, 이 재생신호가 디스크 인터페이스회로(34)에 공급되어 원래의 암호데이터가 디코드되어 추출된다. 그리고, 이 암호데이터가, RAM 43에 일단 버퍼링되고 나서 예를 들면 2K 바이트씩 암호/복호회로(10)에 공급되고, ①-1∼①-2에서 설명한 바와 같이, 원래의 디지털 오디오 데이터로 블록복호화된다.
그리고, 이 복호화된 디지털 오디오 데이터가, RAM 43으로부터 인터페이스회로(33)에 공급되어 원래의 아날로그의 오디오신호로 D/A 변환되고, 이 오디오신호가 스피커(32)에 공급된다.
②-5 오디오신호의 재암호화
이것은, 디스크(36)에 암호화되어 기록되어 있는 오디오신호를 재암호화하고, 그 재암호화한 디지털 오디오 데이터를 예를 들면 퍼스널 컴퓨터(50)에 출력하는 경우이다.
즉, 디스크(36)의 재생이 시작되면, ②-4와 같이 디스크(36)로부터의 재생신호가, 디스크 인터페이스회로(34)에 의해 원래의 암호문 데이터에 디코드되어 출력되지만, 그 암호문 데이터가 RAM 43에 순차 기록되어 간다. 그리고, 디스크(36)의 예를 들면 1섹터분의 암호문 데이터가 RAM 43에 기록되면, 플로우차트(100)의 처리가 실행되어 RAM 43의 암호문 데이터는 재암호화되고, 이 재암호문 데이터가 USB 인터페이스회로(46)를 통해 퍼스널 컴퓨터(50)가 공급된다. 그리고, 이후, 이러한 처리가, 디스크(36)로부터 1섹터분의 암호문 데이터가 재생될 때마다 반복된다.
이렇게 해서, 디스크(36)에 암호화되어 기록되어 있는 오디오신호는 재암호화되어 퍼스널 컴퓨터(50)에 출력되지만, 이 경우, 플로우차트(100)의 처리는, 전술한 바와 같이 재암호화를 오버헤드가 없으므로, 상기한 바와 같이 디스크(36)를 재생하면서 리얼타임으로 처리를 실행할 수 있다.
③ 기타
전술에 있어서는, 암호문 데이터를 재암호화하는 경우이지만, 멀티테스크 OS 등에 있어서, 하나의 암호/복호회로(10)를 2개의 태스크로부터 이용하는 경우에는, 스텝 102에서, 실행하는 태스크에 대응하여 전환플래그 BNKF를 "0" 레벨 혹은 "1" 레벨로 셋트하여 스텝 103∼105를 실행하고, 계속해서 스텝 111, 113∼117을 실행하여, 스텝 117로부터 스텝 113으로 되돌아감과 동시에, 그것들의 스텝에 있어서, 암호화 혹은 복호화에 대응한 처리를 실행하면 된다. 또한, 3개 이상의 태스크의 경우도 마찬가지로, 태스크마다 뱅크메모리(13)의 뱅크를 전환하여 스텝 103∼105, 111, 113∼117을 실행하면 된다.
또한, 전술에서는, 암호문 데이터 혹은 복호문 데이터가 하나의 키데이터를 갖는 경우이지만, 복수의 키데이터를 가져도 된다. 또한, 암호화/복호화회로(11)는 범용의 블록암호화 회로이어도 되고, 암호화/복호화회로(11)에 키 스케줄링회로(12)가 일체화되어 있어도 된다.
본 발명에 의하면, 하나의 암호/복호회로에 의해 복수의 암호화처리 혹은 복호화처리를 실행할 때, 암호화용 혹은 복호화용의 라운드 키데이터를 뱅크메모리의 각 뱅크에 미리 준비하고 있으므로, 키 스케줄링은 1회 실행하는 것만으로 되며, 따라서, 평문데이터 혹은 암호문 데이터의 블록마다 키 스케줄링을 실행하는 경우에 비해, 오버헤드를 없게 할 수 있으므로, 암호화 혹은 복호화에 필요한 시간을 대폭 단축할 수 있고, 전체로서의 속도를 향상시킬 수 있다.

Claims (4)

  1. 복호용의 키데이터에 근거하여 제1 라운드 키데이터를 작성하고,
    작성된 제1 라운드 키데이터를 메모리의 제1 장소에 보존하며,
    암호화용의 키데이터에 근거하여 제2 라운드 키데이터를 작성하고,
    작성된 제2 라운드 키데이터를 상기 메모리의 제2 장소에 보존하며,
    상기 제1 라운드 키데이터에 근거하여 입력되는 암호화 데이터를 블록단위로 평문으로 복호화하고,
    상기 제2 라운드 키데이터에 근거하여 상기 평문을 블록단위로 암호화시키는 것을 특징으로 하는 블록암호화 방법.
  2. 제 1 항에 있어서,
    상기 복호화와 상기 암호화를 1블록마다 반복하는 것을 특징으로 하는 블록암호화방법.
  3. 복호용의 키데이터에 근거하여 제1 라운드 키데이터를 작성함과 동시에, 암호화용의 키데이터에 근거하여 제2 라운드 키데이터를 작성하는 키 스케줄링회로와,
    상기 제1 라운드 키데이터를 제1 장소에 보존하고, 상기 제2 라운드 데이터를 제2 장소에 보존하는 메모리와,
    상기 제1 라운드 키데이터에 근거하여 입력되는 암호화 데이터를 블록단위로 평문으로 복호화하고, 상기 제2 라운드 키데이터에 근거하여 상기 평문을 블록단위로 암호화시키는 암호화/복호화회로로 이루어지는 것을 특징으로 하는 블록암호/복호회로.
  4. 제 3 항에 있어서,
    상기 암호화/복호화회로는, 상기 복호화와 상기 암호화를 1블록마다 반복하는 것을 특징으로 하는 블록암호/복호회로.
KR1020047008752A 2002-10-09 2003-10-08 블록암호화 방법 및 블록암호/복호회로 KR20050069927A (ko)

Applications Claiming Priority (2)

Application Number Priority Date Filing Date Title
JPJP-P-2002-00295808 2002-10-09
JP2002295808A JP2004133087A (ja) 2002-10-09 2002-10-09 ブロック暗号方法およびブロック暗号回路

Publications (1)

Publication Number Publication Date
KR20050069927A true KR20050069927A (ko) 2005-07-05

Family

ID=32089223

Family Applications (1)

Application Number Title Priority Date Filing Date
KR1020047008752A KR20050069927A (ko) 2002-10-09 2003-10-08 블록암호화 방법 및 블록암호/복호회로

Country Status (6)

Country Link
US (1) US7386124B2 (ko)
EP (1) EP1550928A1 (ko)
JP (1) JP2004133087A (ko)
KR (1) KR20050069927A (ko)
CN (1) CN100524150C (ko)
WO (1) WO2004034171A1 (ko)

Cited By (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
EP2911138A2 (en) 2014-02-21 2015-08-26 Electronics and Telecommunications Research Institute Variable-length block cipher apparatus and method capable of format preserving encryption
CN110311771A (zh) * 2018-03-20 2019-10-08 北京松果电子有限公司 Sm4加解密方法及电路

Families Citing this family (6)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP4752113B2 (ja) * 2001-01-16 2011-08-17 ソニー株式会社 電子機器及び信号伝送方法
KR100949538B1 (ko) * 2008-09-09 2010-03-25 한국전자통신연구원 Aes 라인달 알고리즘을 이용하는 암호화 및 복호화 장치와 그 방법
US8233620B2 (en) * 2009-02-27 2012-07-31 Inside Secure Key recovery mechanism for cryptographic systems
JP5353828B2 (ja) * 2010-06-14 2013-11-27 富士通セミコンダクター株式会社 プロセッサ及びプロセッサシステム
CN102063179A (zh) * 2011-01-13 2011-05-18 浙江大学 一种生成轮密钥的分组密码算法的低功耗装置及方法
US10341090B2 (en) * 2014-10-14 2019-07-02 Sony Corporation Cipher processing apparatus and cipher processing method

Family Cites Families (15)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
DE3824328C1 (ko) * 1988-07-18 1989-12-21 Kone-Anlagenbau Gmbh, 8900 Augsburg, De
DE3910444C3 (de) * 1989-03-31 1998-10-22 Wifag Maschf Automatische Anlage zum Einbringen von Papierrollen in die Rollenständer einer Rollenrotationsdruckmaschine
JPH06149153A (ja) 1992-11-02 1994-05-27 Nippon Telegr & Teleph Corp <Ntt> 汎用高速暗号装置
DE69532434T2 (de) 1994-10-27 2004-11-11 Mitsubishi Corp. Gerät für Dateiurheberrechte-Verwaltungssystem
JP3502200B2 (ja) * 1995-08-30 2004-03-02 株式会社日立製作所 暗号通信システム
US5726283A (en) * 1997-01-03 1998-03-10 Far Eastern Textile, Ltd. Conductive polyester sheet
DE19847160A1 (de) * 1998-10-13 2000-04-20 Hauni Maschinenbau Ag Bobinenwechsler
JP3679936B2 (ja) * 1998-11-27 2005-08-03 東芝ソリューション株式会社 暗復号装置及び記憶媒体
US7003107B2 (en) * 2000-05-23 2006-02-21 Mainstream Encryption Hybrid stream cipher
JP4153653B2 (ja) * 2000-10-31 2008-09-24 株式会社東芝 マイクロプロセッサおよびデータ保護方法
US20020124177A1 (en) * 2001-01-17 2002-09-05 Harper Travis Kelly Methods for encrypting and decrypting electronically stored medical records and other digital documents for secure storage, retrieval and sharing of such documents
US6937727B2 (en) * 2001-06-08 2005-08-30 Corrent Corporation Circuit and method for implementing the advanced encryption standard block cipher algorithm in a system having a plurality of channels
US7203310B2 (en) * 2001-12-04 2007-04-10 Microsoft Corporation Methods and systems for cryptographically protecting secure content
US7006628B2 (en) * 2002-01-04 2006-02-28 Avaya Technology Corp. Efficient packet encryption method
US7221763B2 (en) * 2002-04-24 2007-05-22 Silicon Storage Technology, Inc. High throughput AES architecture

Cited By (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
EP2911138A2 (en) 2014-02-21 2015-08-26 Electronics and Telecommunications Research Institute Variable-length block cipher apparatus and method capable of format preserving encryption
CN110311771A (zh) * 2018-03-20 2019-10-08 北京松果电子有限公司 Sm4加解密方法及电路

Also Published As

Publication number Publication date
CN1685296A (zh) 2005-10-19
WO2004034171A1 (ja) 2004-04-22
JP2004133087A (ja) 2004-04-30
CN100524150C (zh) 2009-08-05
EP1550928A1 (en) 2005-07-06
US20050232414A1 (en) 2005-10-20
US7386124B2 (en) 2008-06-10

Similar Documents

Publication Publication Date Title
US5513262A (en) Device for enciphering and deciphering, by means of the DES algorithm, data to be written to be read from a hard disk
US7324974B1 (en) Digital data file encryption apparatus and method
JPH11272561A (ja) 記憶媒体のデータ保護方法、その装置及びその記憶媒体
WO2010055658A1 (ja) コンテンツ復号処理装置、コンテンツ復号処理方法及び集積回路
US7529366B2 (en) Block encoding/decoding method, circuit, and device
JPH0922352A (ja) 著作権管理装置
JP2003152703A (ja) 暗号化装置、暗号化方法、復号化装置、復号化方法、暗号化復号化装置及び暗号化復号化方法
KR101117588B1 (ko) 암호화 표시정보를 갖는 기록매체
WO2003009285A3 (en) Apparatus and method for reproducing user data
KR20050069927A (ko) 블록암호화 방법 및 블록암호/복호회로
JPH07249264A (ja) Cd−romの記録方式、記録・再生方式及びcd−romディスク
JPH09134310A (ja) データの復号アルゴリズムを記憶する記憶媒体および方法
US8832845B2 (en) Apparatus, method and program
KR20050122209A (ko) 디지털 데이터 보존·재생방법 및 장치
KR20080112082A (ko) 데이터 암호화방법, 암호화데이터 재생방법
TWI430644B (zh) 音訊資料傳輸方法及其音訊處理系統
TWI411934B (zh) 資料處理系統及其相關密碼管理方法及資料讀取與寫入方法
KR100321934B1 (ko) 무단 복제를 방지하기 위한 휴대용 저장매체를 갖는 시스템
JP2004184567A (ja) Aesブロック暗号方法およびその暗号回路
JP2002269909A (ja) 記録媒体ドライブの保安装置及び方法
JP2004184566A (ja) Aesブロック暗号方法およびその暗号回路
KR100770245B1 (ko) Drm 컨텐츠 제공방법 및 그 시스템
JP2002311830A (ja) データファイリング方法とシステム
JP2005223569A (ja) 暗号化装置及び記録システム
JP2001119386A (ja) データ送受信装置、マルチメディアコンテンツ再生システム、携帯型音楽再生システム、据置型音楽再生システム及びパーソナルコンピュータ

Legal Events

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