KR19980083221A - N-라운드 라운드 출력문 귀한 블록 암호화/복호화 방법 - Google Patents

N-라운드 라운드 출력문 귀한 블록 암호화/복호화 방법 Download PDF

Info

Publication number
KR19980083221A
KR19980083221A KR1019970018421A KR19970018421A KR19980083221A KR 19980083221 A KR19980083221 A KR 19980083221A KR 1019970018421 A KR1019970018421 A KR 1019970018421A KR 19970018421 A KR19970018421 A KR 19970018421A KR 19980083221 A KR19980083221 A KR 19980083221A
Authority
KR
South Korea
Prior art keywords
round
block
function
output statement
round output
Prior art date
Application number
KR1019970018421A
Other languages
English (en)
Other versions
KR100259836B1 (ko
Inventor
김홍국
김정수
Original Assignee
윤종용
삼성전자 주식회사
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Application filed by 윤종용, 삼성전자 주식회사 filed Critical 윤종용
Priority to KR1019970018421A priority Critical patent/KR100259836B1/ko
Publication of KR19980083221A publication Critical patent/KR19980083221A/ko
Application granted granted Critical
Publication of KR100259836B1 publication Critical patent/KR100259836B1/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
    • 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
    • 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)
  • Storage Device Security (AREA)

Abstract

본 발명에서는 기존의 파이스텔 구조에 시간개념을 도입하여, 암호화/복호화하려는 현재블록의 바로 전 블록의 라운드 출력문을 귀환시켜 현재 블록의 암호화/복호화에 이용하는 N-라운드 라운드 출력문 귀환(ROF-N) 블록 암호화/복호화 방법을 제공한다.
본 발명의 ROF-N 블록 암호화/복호화 방법은, 입력데이터를 M비트 씩 묶은 1개의 평문/암호문 블록열에 대해, 암호화/복호화하려는 n번째 평문/암호문 블록을 2개의 부블록으로 나누어 초기화하는 단계; 초기화된 부블록의 좌측 및 우측 라운드 출력문에 각각 g(.)함수와 f(.)함수를 적용하여 n번째 평문/암호문 블록에 대한 암호화/복호화를 수행하는 단계;와 2단계중의 n-1 번째 평문/암호문 블록에 상기 암호화/복호화를 수행하는 단계에 의해 생성된 좌측 및 우측 라운드 출력문을 n 번째의 부블럭으로 된 암호문/복호문 블록의 라운드에 입력하여 암호문/복호문을 생성하는 단계를 포함하여 이루어지며,
상기 암호화/복호화 수행 단계의 f(.)함수 및 g(.)함수는 라운드 함수들로써 치환과 순열로 구성된 부울 함수이고, 상기 f(.)함수는 암호화/복호화 하려는 평문/암호문과 키를 입력으로 하고, 상기 g(.)함수는 암호화/복호화하려는 현재 블록의 바로 전 블록의 좌측 및 우측 라운드 출력문과 키를 입력으로 하는 함수인 것을 특징으로 한다.

Description

N-라운드 라운드 출력문 귀환 블록 암호화/복호화 방법
본 발명은 새로운 비밀키 블록 암호화 방법인 N-라운드 라운드 출력문 귀환(ROF-N : N-round round-output feedback)블록 암호화/복호화 방법에 관한 것으로, 특히 기존의 파이스텔(Feistel)구조에 시간개념을 도입하여 암호화/복호화하려는 현재블록의 바로 전 블록의 라운드 출력문을 귀환시켜 현재블록의 암호화/복호화에 이용하여, 종래의 데이터 암호화 표준(DES:Data Encryption Standard)블록 암호화 방법에 비해 더 높은 비밀정도를 유지할 수 있는 N-라운드 라운드 출력문 귀환 블록 암호화/복호화 방법에 관한 것이다.
일반적으로 원격 데이터 전송 및 디지털 컴퓨터 응용분야에 이용되는 암호화 방법엔 크게 두 부류가 있다.
하나는, 스트림 암호화 방법(stream cipher)이고 다른 하나는, 블록 암호화 방법(block cipher)이다.
상기 스트림 암호화 방법은, 평문과 관계없이 키에 의해 비트열을 생성하고, 모듈로 2 가산과 같은 동작으로 평문과 생성된 비트열을 입력되는 평문을 변환하여 암호화하므로써 평문에 대해 실시간으로 동작하는 암호화 방법이다.
반면에, 상기 블록 암호화 방법은 입력되는 일정크기의 평문블록 공간을 암호문 블록 공간에 매핑시키고, 암호화되는 평문블록과 거의 동일 크기인 키의 제어하에 평문블록을 암호화하는 방법이다. 만일 블록 크기가 n 비트이면, 평문블록 공간(즉, 평문블록 값의 범위)과 암호문블록 공간(즉, 암호블록 값의 범위)은 각각 2n이다.
블록 암호화 방법의 하나인 종래의 DES 블록 암호화 방법은 기본적으로 64-비트 블록에 대해 동작하며 56-비트 키를 사용한다. 56-비트 키는 64-비트 블록 공간에서 순열을 정의하는 상기 DES 블록 암호화 방법을 매개변수화한다. 암호화하려는 현재블록에 대한 라운드 출력의 각각의 비트는, 키를 구성하는 각각의 비트와 암호화하려는 현재 라운드의 바로 전 라운드에서 생성된 출력문의 각각의 비트에 의한 함수의 결과값이다.
일반적으로, 블록 암호화/복호화 알고리즘에서, 입력되는 평문블록을 암호화하기 위한 암호화 키는 암호화된 평문블록을 복호화하기 위한 복호화 키와 동일하다. 마찬가지로, 암호화 키를 사용한 블록 암호화 알고리즘은 복호화 키를 사용한 블록 복호화 알고리즘과 대응되는 알고리즘이며, 암호화 알고리즘과 복호화 알고리즘은 암호화 키 및 복호화 키를 매개변수로하여 서로에 대해 정역관계에 있는 알고리즘이다.
도 1은 종래의 대표적인 16-라운드 DES 블록 암호화 방법의 일례를 나타낸 블록 순서도이다. 도시된 바와 같이, 상기 도 1의 구성에 의한 16-라운드 DES 블록 암호화 방법은 다음과 같은 알고리즘으로 구현된다.
즉, 입력되는 평문블록을 부블록으로 나누어 초기화하는 단계와, 초기화된 평문블록의 각각에 대해 일정함수와 키를 적용하여 암호화를 수행하는 단계와, 상기 암호화 수행단계에 의해 출력된 블록을 부블록으로 된 암호문 블록에 입력하여 암호문을 생성하는 단계로 이루어진다.
이를 도 1을 참조하여 더욱 상세히 설명하면 다음과 같다.
1) 초기화 단계
먼저, 암호화하려는 n번째 평문블록을 2개의 부블록으로 나눈다. 이를 Pn= (Pn L,Pn R)라 하자. 그 후,
[수학식 1]
Ln 0= Pn L
Rn 0= Pn R
을 행한다.
2) 암호화 수행 단계
각 라운드 별로 다음의 과정을 수행한다.
Ln i= Rn i-1 ,
Rn i= Ln i-1 f(Rn i-1,Ki),i = 1, ... , 15
그리고
[수학식 2]
Rn 16= Rn 15 ,
Ln 16= Ln 15 f(Rn 15,K16)(2)
을 행한다.
3) 암호문 생성 단계
암호문블록을 2개의 부블록으로 나눈다. 이를 Cn= (Cn L,Cn R)라 하자. 그 후,
암호문 Cn= (Cn L,Cn R) 은
[수학식 3]
Cn L= Ln 16
Cn R= Rn 16
이 된다.
또한 도 2는 종래의 대표적인 16-라운드 DES 블록 복호화 방법을 나타낸 블록 순서도이다. 도시된 바와 같이, 상기 도 2의 구성에 의한 16-라운드 DES 블록 복호화 방법은 다음과 같은 알고리즘으로 구현된다.
즉, 복호화하려는 블록을 부블록으로 나누어 초기화하는 단계와, 초기화된 블록의 각각에 대해 일정함수와 키를 적용하여 복호화를 수행하는 단계와, 상기 복호화 수행단계에 의해 출력된 블록을 부블록으로 된 복호문 블록에 입력하여 복호문을 생성하는 단계로 이루어진다.
이를 도 2를 참조하여 더욱 상세히 설명하면 다음과 같다.
1) 초기화 단계
먼저, 복호화하려는 n번째 블록을 2개의 부블록으로 나눈다. 이를 Cn= (Cn L,Cn R)라 하자. 그 후,
[수학식 4]
Ln 16= Cn L ,
Rn 16= Cn R
을 행한다.
2) 복호화 수행 단계
각 라운드 별로 다음의 과정을 수행한다.
Ln i-1= Rn i ,
Rn i-1= Ln i f(Rn i,Ki),i = 16, ... , 2
그리고
[수학식 5]
Rn 0= Rn 1 ,
Ln 0= Ln 1 f(Rn 1,K1)
을 행한다.
3) 복호문 생성 단계
복호문 블록을 2개의 부블록으로 나눈다. 이를 Pn= (Pn L,Pn R)라 하자.
그 후, 복호문 Pn= (Pn L,Pn R) 은
[수학식 6]
Pn L= Ln 0
Pn R= Rn 0
이 된다.
상기 수학식1 내지 수학식6에서, n은 암호화/복호화하려는 평문/암호문 블록열의 순번을 나타내고, i는 16 라운드중 라운드 순번을 나타내고, f(.)함수는 평문/암호문과 키를 입력으로하는 라운드 함수이다.
상기한 종래의 DES 블록 암호화/복호화 방법은 파이스텔 구조(Feistel involution)를 근간으로 하는 블록 암호화/복호화 알고리즘으로서, DES블록 암호화/복호화 방법에 대한 현재의 연구는 비권한자의 불법적 법근시도에 대해 안전한 라운드 함수인 f(.)의 설계, 블록길이 증가와 키길이 증가를 통한 안전성 증가 등에 초점이 맞추어져 있다.
그러나, 종래의 DES 블록 암호화/복호화 방법에서 블록길이 또는 키길이의 증가는 DES 블록 암호화/복호화 방법을 구현하기 위한 블록 암호화/복호화 알고리즘의 연산수 증가 및 키관리 문제를 야기시킨다. 또한, 안전한 라운드 함수 f(.)의 안전한 설계는 설계된 f(.)함수의 안전성을 객관적으로 입증해야 하는 문제가 생긴다.
따라서, 본 발명은 상기와 같은 단점들을 극복하기 위한 것으로, 기존의 파이스텔 구조를 변경하여 블록길이 또는 키 길이의 증가없이 종래의 라운드 함수인 f(.)함수를 근간으로 블록 암호화/복호화 알고리즘의 비밀정도를 향상시킨 ROF-N 블록 암호화/복호화 방법을 제공하는 데 그 목적이 있다.
도 1은 종래의 DES 블록 암호화 방법의 일례를 나타낸 블록 순서도.
도 2는 종래의 DES 블록 복호화 방법의 일례를 나타낸 블록 순서도.
도 3은 본 발명의 N-라운드 라운드 출력문 귀환 블록 암호화 방법을 나타낸 블록 순서도.
도 4는 본 발명의 N-라운드 라운드 출력문 귀환 블록 복호화 방법을 나타낸 블록 순서도.
본 발명의 ROF-N 블록 암호화/복호화 방법은 입력데이터를 64비트 씩 묶은 1개의 평문/암호문 블록열에 대해, 암호화/복호화하려는 n번째 평문/암호문 블록을 2개의 부블록으로 나누어 초기화하는 단계; 초기화된 부블록의 좌측 및 우측 라운드 출력문에 각각 g(.)함수와 f(.)함수를 적용하여 n번째 평문/암호문 블록에 대한 암호화/복호화를 수행하는 단계;와 상기 단계중에 n-1 번째 평문/암호문 블록의 암호화/복호화를 수행하는 단계에 의해 생성된 좌측 및 우측 라운드 출력문을 n-1 번째의 부블록으로 된 암호문/복호문 블록에 입력하여 암호문/복호문을 생성하는 단계로 이루어진다.
상기 암호화/복호화 수행단계의 f(.)함수 및 g(.)함수는 라운드 함수들로서 치환과 순열로 구성된 부울 함수이고, 상기 f(.)함수는 암호화/복호화하려는 평문/암호문과 키를 입력으로 하여 암호문을 생성해내고, 상기 g(.)함수는 암호화/복호화하려는 현재 블록의 바로 전 블록의 좌측 및 우측 라운드 출력문과 키를 입력으로 하는 함수이다.
새로이 고안된 ROF-N 암호화/복호화 방법은 기존의 DES 방법에 비해 64*N 비트의 메모리와 치환을 위한 계산량을 더 필요로 한다. 반면 기존의 방법과 동일한 평문의 길이와 비밀키 길이를 가지고 더 높은 비밀정도를 유지할 수 있다.
이제, 도 3 및 도 4를 참조하여 본 발명의 ROF-N 블록 암호화 방법 및 복호화 방법을 더욱 상세히 설명한다.
도 3은 본 발명의 ROF-N 블록 암호화 방법을 나타낸 블록 순서도이다. 도시된 바와 같이, 상기 도 3의 구성에 의한 본 발명의 ROF-N 블록 암호화를 구현하기 위한 알고리즘은 입력 데이터를 64비트 씩 묶은 1개의 평문블록에 대해 다음과 같이 암호화를 수행한다.
1) 초기화 단계
먼저, 암호화하려는 n번째 평문블록을 2개의 부블록으로 나눈다.
이를 Pn= (Pn L,Pn R) 라 하자. 그 후
[수학식 7]
Ln 0= Pn L
Rn 0= Pn R
을 행한다.
2) 암호화 수행 단계
각 라운드 별로 다음의 과정을 수행한다.
Ln i= Rn i-1 g(Ln-1 i,Rn-1 i,Ki)
Rn i= Ln i-1 f(Rn i-1,Ki),i = 1, ... , N-1
그리고
[수학식 8]
Rn N= Rn N-1 g(Ln-1 N,Rn-1 N,KN)
Ln N= Ln N-1 f(Rn N-1,KN)
을 행한다.
3) 암호문 생성 단계
암호문 블록을 2개의 부블록으로 나눈다. 이를 Cn= (Cn L,Cn R)라 하자. 그 후,
암호문 Cn= (Cn L,Cn R) 은
[수학식 9]
Cn L= Ln N
Cn R= Rn N
이 된다.
또한, 도 4는 본 발명의 ROF-N 블록 복호화 방법을 나타낸 블록 순서도이다. 도시된 바와 같이, 상기 도 4의 구성에 의한 ROF-N 블록 복호화를 구현하기 위한 블록 복호화 알고리즘은 입력 데이터를 64비트 씩 묶은 1개의 암호문블록에 대해 다음과 같이 복호화를 수행한다.
1) 초기화 단계
먼저 , 복호화하려는 n번째 암호문 블록을 2개의 부블록으로 나눈다.
이를 Cn= (Cn L,Cn R) 라 하자. 그 후
[수학식 10]
Ln N= Cn L ,
Rn N= Cn R
을 행한다.
2) 복호화 수행 단계
각 라운드 별로 다음의 과정을 수행한다.
Ln i-1= Rn i g(Ln-1 i-1,Rn-1 i-1,Ki)
Rn i-1= Ln i f(Rn i,Ki),i = N , ... , 2
그리고
[수학식 11]
Rn 0= Rn 1 g(Ln-1 0,Rn-1 0,K1)
Ln 0= Ln 1 f(Rn 1,K1)
을 행한다.
3) 복호문 생성 단계
복호문 블록을 2개의 부블록으로 나눈다. 이를 Pn= (Pn L,Pn R)라 하자.
그 후, 복호문 Pn= (Pn L,Pn R) 은
[수학식 12]
Pn L= Ln 0
Pn R= Rn 0
이 된다.
상기 수학식7 내지 수학식12에서, n은 암호화/복호화하려는 평문/암호문 블록의 순번을 나타내고, i는 N 라운드중 암호화/복호화하려는 n번째 평문/암호문 블록의 라운드 순번을 나타낸다.
여기서 상기 f(.)와 g(.)함수는 라운드 함수들로써 치환과 순열로 구성된 부울 함수이다. 상기 f(.)함수는 평문과 키를 입력으로 하여 암호를 생성하는 함수이고, 상기 g(.)함수는 암호화하려는 현재 블록의 바로 전 블록의 라운드 출력문과 키를 입력으로 하는 함수이다. 즉, 상기 g(.)함수는 암호화하려는 현재블록에 대해서는 스트림 암호화 방법의 역할을 하며, 암호화하려는 현재블록의 바로 전 블록의 라운드 출력문과 키는 g(.)함수의 키이다.
그리고, 도 3 및 도 4에 도시되지 않았지만, n = 0 인 시점, 즉, 본 발명의 ROF-N 암호화/복호화 알고리즘의 초기화 단계를 위해 각각의 라운드 출력문은 다음과 같이 놓는다.
[수학식 13]
L-1 i= IK2(i+1),
R-1 i= IK2(i+1)+1 ,i = 0 , ... , N-1
여기서 IKi는 키로부터 발생된 초기값이며, 서브 키{ Ki}와는 독립적이다.
상기한 바와 같이 구현된 본 발명의 ROF-N 블록 암호화/복호화방법의 특징은 다음과 같다.
ㄱ) 키 길이의 증가를 기존의 64비트에서 128비트로 향상시킬 수 있다. 종래의 DES 블록 암호화 방법에선 키 길이가 128비트일 경우 불법적 접근시도에 대해 알고리즘의 안전성은 현실적으로 보장되지 않지만, 본 발명의 ROF-N 블록 암호화/복호화 방법에선 키 길이가 128비트일 경우에도 불법적 접근 시도에 대해 ROF-N 블록 암호화/복호화 방법을 구현하는 알고리즘의 안전성은 현실적으로 보장된다.
ㄴ) 키 길이증가가 실질적인 키 길이의 증가없이 이루어지므로 키 관리의 복잡도를 종래의 DES 블록 암호화 방법수준으로 유지할 수 있다.
ㄷ) 키 길이에 따른 분배방법은 암호화/복호화하려는 현재블록의 바로 전 블록의 라운드 출력문을 이용하여 키 스케쥴링을 행한다.
ㄹ) 종래의 DES 블록 암호화 방법이 우측 라운드 출력문( Rn i)의 생성에만 키를 적용하는 데 반해, 본 발명의 ROF-N 블록 암호화/복호화 방법은 좌측 라운드 출력문(Ln i)의 생성에도 키를 적용한다. 따라서, 각 라운드 출력문의 랜덤(random)화를 꾀할 수 있어 암호화/복호화의 비밀정도를 증가시킨다.
ㅁ) 본 발명의 ROF-N 블록 암호화/복호화 방법은 블록 암호화 공격 방법인 차분 암호해독(DC : differential cryptanalysis) 및 선형 암호해독(LC : linear cryptanalysis) 방법에 안전하다. 상기 g(.)함수는 ROF-N 블록 암호화/복호화 방법에서 스트림 암호화/복호화 방법의 역할을 하며 이 스트림 암호화/복호화 방법은 상기 미분 암호해독 및 선형 암호해독 방법에 의한 공격에도 안전하다.
ㅂ) 본 발명의 ROF-N 블록 암호화/복호화 구현에 따른 메모리 크기의 증가는 64N 비트가 되고, N=16인 경우 96 바이트이다. 96바이트 크기의 메모리 증가는 실제 프로그램이나 하드웨어에 의한 구현시 무시할 만한 크기이다.
ㅅ) 본 발명의 ROF-N 블록 암호화 구현에 따른 암호문의 오전송에 의한 에러 전송은 N+1 블록(예를들어, n=16 이면 17 * 64 비트)이다. 그러나, N+1 블록(본 예에선,17블록)크기의 암호문 에러 전송은 응용 분야에 따라선 무시할 수 있는 정도의 블록크기이다. 예를 들면, 음성의 경우 표본화율이 8㎑인 경우 17/2000초(8.5㎳)에 해당하며, 이는 전송되는 단어 한 개에 대한 전송속도가 평균 300㎳정도인 것에 비교하면 무시할 수 있는 정도이다.
상기한 바와 같은 본 발명의 ROF-N 블록 암호화 방법은, 종래의 DES 블록 암호화 방법을 대체할 수 있다.
종래의 DES 블록 암호화 방법과 동일한 평문길이(plaintext length)와 비밀키 길이(key length)를 가지고 종래의 DES 블록 암호화 방법에 비해 비밀정도가 향상된 암호화를 구현할 수 있어 키 사이즈의 증가효과를 얻을 수 있다.
본 발명의 ROF-N 블록 암호화 방법은 인증분야에 용이하게 적용할 수 있다.
즉, 종래의 DES 블록 암호화 방법에선 암호문 귀환 체이닝(CBC:ciphertext feedback chaninig)모드에 해쉬함수가 적용된 메시지 인증 코드(MAC:message authentication code)를 사용하여 인증을 행하여 왔지만, 본 발명의 ROF-N 블록 암호화 방법은 별도의 운용모드 없이 직접 해쉬 함수를 적용하여 만든 메시지 인증 코드를 사용하여 전송데이타에 대한 인증을 용이하게 행할 수 있다.
또한, 본 발명의 ROF-N 블록 암호화 방법은 종래의 DES 블록 암호화 방법이외의 블록 암호화 방법에도 확장 가능한 블록 암호화 방법이다.
이 밖에도 본 발명에 의하면, 라운드 추력과 키를 이용하여 독립적인 서브키를 만들 수 있으며, 상기 서브키를 기존의 파이스텔 구조에 도입할 수 있고, 본 발명을 보안(security)장치에 이용할 수 있고 또한 인증장치에도 적용가능하다.

Claims (23)

  1. 암호화 수행단계의 f(.)함수 및 g(.)함수는 라운드 함수들로서 치환과 순열로 구성된 부울 함수이고, 상기 f(.)함수는 암호화 하려는 평문/암호문과 키를 입력으로 하고, 상기 g(.)함수는 암호화하려는 현재블록의 바로 전 블록의 좌측 및 우측 라운드 출력문과 키를 입력으로 하는 함수인 경우에,
    암호화하려는 n번째 평문/암호문 블록을 2개의 부블록으로 나누어 초기화하는 단계; 와
    초기화된 부블록의 좌측 및 우측 라운드 출력문에 각각 g(.)함수와 f(.)함수를 적용하여 n번째 평문/암호문 블록에 대한 암호화를 수행하는 단계; 와
    이전 블록에서 상기 암호화를 수행하는 단계에 의해 생성된 좌측 및 우측 라운드 출력문을 현재의 부블록으로 된 암호문 블록에 입력하여 암호문/복호문을 생성하는 단계를 포함하여 이루어지는,
    N-라운드 라운드 출력문 귀환 블록 암호화 방법.
  2. 청구항 1에 있어서, n은 암호화 하려는 평문/암호문 블록의 순번이고, i는 N 라운드중 암호화 하려는 n번째 평문/암호문 블록의 라운드 순번인 경우, 입력되는 n번째 평문블록의 암호화에 대해서
    상기 f(.)함수는
    f(.) = f(Rn i-1,Ki),i = 1, ... , N-1
    f(.) = f(Rn N-1,KN) 이고,
    상기 g(.)함수는
    g(.) = g(Ln-1 i,Rn-1 i,Ki), i = 1, ... , N-1
    g(.) = g(Ln-1 N,Rn-1 N,KN) 인,
    N-라운드 라운드 출력문 귀환 블록 암호화 방법.
  3. 청구항 2에 있어서, IKi가 키로부터 발생된 초기값이고, 서브키 { Ki}와는 독립적인 경우, 상기 초기화 단계를 위한 각각의 라운드 출력문은
    L-1 i= IK2(i+1)
    R-1 i= IK2(i+1)+1 ,i = 0 , ... , N-1
    이 되는,
    N-라운드 라운드 출력문 귀환 블록 암호화 방법.
  4. 청구항 3에 있어서, 키 길이가 128비트인 경우에 불법적 접근시도에 대해 알고리즘의 안정성이 보장되는,
    N-라운드 라운드 출력문 귀환 블록 암호화 방법.
  5. 청구항 4에 있어서, 키 길이가 64비트인 경우에 불법적 접근시도에 대해 알고리즘의 안정성이 보장되는,
    N-라운드 라운드 출력문 귀환 블록 암호화 방법.
  6. 청구항 4 또는 청구항 5에 있어서, 키 길이의 증가가 실질적인 키 길이의 증가없이 이루어지는,
    N-라운드 라운드 출력문 귀환 블록 암호화 방법.
  7. 청구항 6에 있어서, 키 길이에 따른 분배는 암호화하려는 현재블록의 바로 전 블록의 라운드 출력문을 이용한 스케쥴링을 통해 이루어지는,
    N-라운드 라운드 출력문 귀환 블록 암호화 방법.
  8. 청구항 7에 있어서, 우측 라운드 출력문(Rn i)의 생성에 키를 적용하는,
    N-라운드 라운드 출력문 귀환 블록 암호화 방법.
  9. 청구항 7에 있어서, 좌측 라운드 출력문(Ln i)의 생성에 키를 적용하는,
    N-라운드 라운드 출력문 귀환 블록 암호화 방법.
  10. 청구항 9에 있어서, 메모리 크기의 증가가 64N인,
    N-라운드 라운드 출력문 귀환 블록 암호화 방법.
  11. 청구항 10에 있어서, 암호문의 오전송에 의한 에러전송은 N+1 블록인,
    N-라운드 라운드 출력문 귀환 블록 암호화 방법.
  12. 청구항 11에 있어서, 전송 데이터에 대한 인증을 위해, 별도의 운용모드없이 직접 해쉬함수를 적용하여 만든 메시지 인증코드를 사용하는,
    N-라운드 라운드 출력문 귀환 블록 암호화 방법.
  13. 복호화 수행단계의 f(.)함수 및 g(.)함수는 라운드 함수들로서 치환과 순열로 구성된 부울 함수이고, 상기 f(.)함수는 복호화 하려는 평문/암호문과 키를 입력으로 하고, 상기 g(.)함수는 복호화하려는 현재블록의 바로 전 블록의 좌측 및 우측 라운드 출력문과 키를 입력으로 하는 함수인 경우에,
    복호화하려는 n번째 평문/암호문 블록을 2개의 부블록으로 나누어 초기화하는 단계; 와
    초기화된 부블록의 좌측 및 우측 라운드 출력문에 각각 g(.)함수와 f(.)함수를 적용하여 n번째 평문/암호문 블록에 대한 복호화를 수행하는 단계; 와
    이전 블록에서 상기 복호화를 수행하는 단계에 의해 생성된 좌측 및 우측 라운드 출력문을 현재의 부블록으로 된 복호문 블록에 입력하여 복호문을 생성하는 단계를 포함하여 이루어지는,
    N-라운드 라운드 출력문 귀환 블록 복호화 방법.
  14. 청구항 13에 있어서, n은 암호화 하려는 평문/암호문 블록의 순번이고, i는 N 라운드중 복호화 하려는 n번째 평문/암호문 블록의 라운드 순번인 경우, 입력되는 n번째 암호문블록의 복호화에 대해서
    상기 f(.)함수는
    f(.) = f(Rn i-1,Ki),i = N , ... , 2
    f(.) = f(Rn 0,K1) 이고 ,
    상기 g(.)함수는
    g(.)=g(Ln-1 i,Rn-1 i,Ki) , i = N , ... , 2
    g(.) = g(Ln-1 1,Rn-1 1,K1) 인
    N-라운드 라운드 출력문 귀환 블록 복호화 방법.
  15. 청구항 14에 있어서, IKi가 키로부터 발생된 초기값이고, 서브키 { Ki}와는 독립적인 경우, 상기 초기화 단계를 위한 각각의 라운드 출력문은
    L-1 i= IK2(i+1)
    R-1 i= IK2(i+1)+1 ,i = 0 , ... , N-1
    이 되는,
    N-라운드 라운드 출력문 귀환 블록 복호화 방법.
  16. 청구항 15에 있어서, 키 길이가 128비트인 경우에 불법적 접근시도에 대해 알고리즘의 안정성이 보장되는,
    N-라운드 라운드 출력문 귀환 블록 복호화 방법.
  17. 청구항 15에 있어서, 키 길이가 64비트인 경우에 불법적 접근시도에 대해 알고리즘의 안정성이 보장되는,
    N-라운드 라운드 출력문 귀환 블록 복호화 방법.
  18. 청구항 16 또는 청구항 17에 있어서, 키 길이의 증가가 실질적인 키 길이의 증가없이 이루어지는,
    N-라운드 라운드 출력문 귀환 블록 복호화 방법.
  19. 청구항 18에 있어서, 키 길이에 따른 분배는 암호화하려는 현재블록의 바로 전 블록의 라운드 출력문을 이용한 스케쥴링을 통해 이루어지는,
    N-라운드 라운드 출력문 귀환 블록 복호화 방법.
  20. 청구항 19에 있어서, 우측 라운드 출력문(Rn i)의 생성에 키를 적용하는,
    N-라운드 라운드 출력문 귀환 블록 복호화 방법.
  21. 청구항 20에 있어서, 좌측 라운드 출력문(Ln i)의 생성에 키를 적용하는,
    N-라운드 라운드 출력문 귀환 블록 복호화 방법.
  22. 청구항 21에 있어서, 메모리 크기의 증가가 64N인,
    N-라운드 라운드 출력문 귀환 블록 복호화 방법.
  23. 청구항 22에 있어서, 전송 데이터에 대한 인증을 위해, 별도의 운용모드없이 직접 해쉬함수를 적용하여 만든 메시지 인증코드를 사용하는,
    N-라운드 라운드 출력문 귀환 블록 복호화 방법.
KR1019970018421A 1997-05-13 1997-05-13 N-라운드 라운드 출력문 귀환 블록 암호화/복호화 방법 KR100259836B1 (ko)

Priority Applications (1)

Application Number Priority Date Filing Date Title
KR1019970018421A KR100259836B1 (ko) 1997-05-13 1997-05-13 N-라운드 라운드 출력문 귀환 블록 암호화/복호화 방법

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
KR1019970018421A KR100259836B1 (ko) 1997-05-13 1997-05-13 N-라운드 라운드 출력문 귀환 블록 암호화/복호화 방법

Publications (2)

Publication Number Publication Date
KR19980083221A true KR19980083221A (ko) 1998-12-05
KR100259836B1 KR100259836B1 (ko) 2000-06-15

Family

ID=19505682

Family Applications (1)

Application Number Title Priority Date Filing Date
KR1019970018421A KR100259836B1 (ko) 1997-05-13 1997-05-13 N-라운드 라운드 출력문 귀환 블록 암호화/복호화 방법

Country Status (1)

Country Link
KR (1) KR100259836B1 (ko)

Cited By (5)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
KR100320181B1 (ko) * 1999-02-09 2002-01-10 구자홍 디지탈 데이터 파일 암호화 방법
KR100379122B1 (ko) * 2000-11-13 2003-04-08 엘지전자 주식회사 기가비트 이더넷 스위치 128비트 블록 암호화알고리즘에서 라운드키 생성장치
US7639811B2 (en) 1999-02-09 2009-12-29 Lg Electronics Inc. Digital content encrypting apparatus and operating method thereof
KR100965874B1 (ko) * 2003-01-10 2010-06-24 삼성전자주식회사 Ckc 암호화/복호화 장치 및 방법
KR101281275B1 (ko) * 2011-09-01 2013-07-03 서울대학교산학협력단 부울 함수 표현을 이용한 블록암호 암/복호화 과정의 난독화 방법 및 이를 위한 장치

Families Citing this family (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
KR100411912B1 (ko) * 1998-02-24 2003-12-18 오트크리토에 악츠이오네른오에 옵스체스트보 (모스코브스키야 고로즈카야 텔레폰나야 셋) 이산 데이터 블록 암호화 방법
KR100531577B1 (ko) * 2002-02-28 2005-11-28 주식회사 소프트커널 문서 암/복호화장치

Cited By (14)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US7639810B2 (en) 1999-02-09 2009-12-29 Lg Electronics Inc. Digital content encrypting apparatus and operating method thereof
KR100320181B1 (ko) * 1999-02-09 2002-01-10 구자홍 디지탈 데이터 파일 암호화 방법
US7639811B2 (en) 1999-02-09 2009-12-29 Lg Electronics Inc. Digital content encrypting apparatus and operating method thereof
US7639812B2 (en) 1999-02-09 2009-12-29 Lg Electronics Inc. Digital content encrypting apparatus and operating method thereof
US7639813B2 (en) 1999-02-09 2009-12-29 Lg Electronics Inc. Digital content decrypting apparatus and operating method thereof
US7639814B2 (en) 1999-02-09 2009-12-29 Lg Electronics Inc. Digital content decrypting apparatus and operating method thereof
US8135133B2 (en) 1999-02-09 2012-03-13 Lg Electronics Inc. Digital data file encryption apparatus and method
US7639815B2 (en) 1999-02-09 2009-12-29 Lg Electronics Inc. Digital content decrypting apparatus and operating method thereof
US7769174B2 (en) 1999-02-09 2010-08-03 Lg Electronics Inc. Digital data file encryption apparatus and method
US7646871B2 (en) 1999-02-09 2010-01-12 Lg Electronics Inc. Digital content encrypting apparatus and operating method thereof
US7643635B2 (en) 1999-02-09 2010-01-05 Lg Electronics Inc. Digital content decrypting apparatus and operating method thereof
KR100379122B1 (ko) * 2000-11-13 2003-04-08 엘지전자 주식회사 기가비트 이더넷 스위치 128비트 블록 암호화알고리즘에서 라운드키 생성장치
KR100965874B1 (ko) * 2003-01-10 2010-06-24 삼성전자주식회사 Ckc 암호화/복호화 장치 및 방법
KR101281275B1 (ko) * 2011-09-01 2013-07-03 서울대학교산학협력단 부울 함수 표현을 이용한 블록암호 암/복호화 과정의 난독화 방법 및 이를 위한 장치

Also Published As

Publication number Publication date
KR100259836B1 (ko) 2000-06-15

Similar Documents

Publication Publication Date Title
KR100657062B1 (ko) 정보 암호화 방법 및 이 방법을 실현하는 장치
KR101815175B1 (ko) 데이터 암호화 장치 및 방법, 데이터 복호화 장치 및 방법
KR20120043019A (ko) 메시지 인증 방법
Reyad et al. Key-based enhancement of data encryption standard for text security
KR100259836B1 (ko) N-라운드 라운드 출력문 귀환 블록 암호화/복호화 방법
JP2003516659A (ja) 1の補数暗号コンバイナ
Patil et al. An enhancement in international data encryption algorithm for increasing security
KR100848318B1 (ko) 이동통신 시스템에서 사용자 비밀키 생성방법 및 그 장치
KR20060011999A (ko) Des 알고리즘에 의거한 암호화 기법
Kadry et al. An improvement of RC4 cipher using vigenère cipher
Pandey et al. Data security using various cryptography Techniques: A Recent Survey
Kumari et al. An RTL Implementation of the Data Encryption Standard (DES)
Landge et al. VHDL based Blowfish implementation for secured embedded system design
Pandey et al. Survey paper: Cryptography the art of hiding information
Aruljothi et al. Symmetric key cryptosystem based on randomized block cipher
JP2000004223A (ja) 暗号・認証システム
Hassan et al. NETWORK SECURITY BY BLOCK CIPHERS
Parab et al. Generic approach for encryption using reverse context free grammar productions
Gautam et al. A Survey on Generation and Evolution of Various Cryptographic Techniques
KR100875740B1 (ko) 통신 시스템의 암호화 키 및 무결성 키 생성 장치 및 방법
Jagetiya et al. Evolution of Information Security Algorithms
Haunts et al. Symmetric Encryption
Sharma et al. A Novel Approach Using 3-Des Algorithm Against Cryptographic Attacks
Asoro et al. Development of A Honeyed Advanced Encryption Standard Algorithm (HAESA)
KR100295106B1 (ko) 이동통신의인증및데이타보호방법

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
FPAY Annual fee payment

Payment date: 20080115

Year of fee payment: 9

LAPS Lapse due to unpaid annual fee