[go: up one dir, main page]

KR100259836B1 - A n-round round output feedback block cipher/decipher method - Google Patents

A n-round round output feedback block cipher/decipher method Download PDF

Info

Publication number
KR100259836B1
KR100259836B1 KR1019970018421A KR19970018421A KR100259836B1 KR 100259836 B1 KR100259836 B1 KR 100259836B1 KR 1019970018421 A KR1019970018421 A KR 1019970018421A KR 19970018421 A KR19970018421 A KR 19970018421A KR 100259836 B1 KR100259836 B1 KR 100259836B1
Authority
KR
South Korea
Prior art keywords
block
round
key
bit
decryption
Prior art date
Legal status (The legal status 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 status listed.)
Expired - Fee Related
Application number
KR1019970018421A
Other languages
Korean (ko)
Other versions
KR19980083221A (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 윤종용
Priority to KR1019970018421A priority Critical patent/KR100259836B1/en
Publication of KR19980083221A publication Critical patent/KR19980083221A/en
Application granted granted Critical
Publication of KR100259836B1 publication Critical patent/KR100259836B1/en
Anticipated expiration legal-status Critical
Expired - Fee Related legal-status Critical Current

Links

Images

Classifications

    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L9/00Cryptographic mechanisms or cryptographic arrangements for secret or secure communications; Network security protocols
    • H04L9/06Cryptographic mechanisms or cryptographic arrangements for secret or secure communications; Network security protocols the encryption apparatus using shift registers or memories for block-wise or stream coding, e.g. DES systems or RC4; Hash functions; Pseudorandom sequence generators
    • 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) 블록 암호화/복호화 방법을 제공한다.In the present invention, the concept of time is introduced into the existing structure of Feistel, and the N-round round output statement (ROF-N) used for encryption / decryption of the current block by returning the round output statement of the previous block of the current block to be encrypted / decrypted. Provides a block encryption / decryption method.

본 발명의 ROF-N 블록 암호화/복호화 방법은, 입력데이터를 M비트 씩 묶은 1 개의 평문/암호문 블록열에 대해, 암호화/복호화하려는 n번째 평문/암호문 블록을 2개의 부블록으로 나누어 초기화하는 단계; 초기화된 부블록의 좌측 및 우측 라운드 출력문에 각각 g(.)함수와 f(.)함수를 적용하여 n번째 평문/암호문 블록에 대한 암호화/복호화를 수행하는 단계;와 2단계중의 n-1 번째 평문/암호문 블록에 상기 암호화/복호화를 수행하는 단계에 의해 생성된 좌측 및 우측 라운드 출력문을 n 번째의 부블럭으로 된 암호문/복호문 블록의 라운드에 입력하여 암호문/복호문을 생성하는 단계를 포함하여 이루어지며, 상기 암호화/복호화 수행 단계의 f(.)함수 및 g(.)함수는 라운드 함수들로써 치환과 순열로 구성된 부울 함수이고, 상기 f(.)함수는 암호화/복호화 하려는 평문/암호문과 키를 입력으로 하고, 상기 g(.)함수는 암호화/복호화하려는 현재 블록의 바로 전 블록의 좌측 및 우측 라운드 출력문과 키를 입력으로 하는 함수인 것을 특징으로 한다.The ROF-N block encryption / decryption method of the present invention includes: initializing a n-th plaintext / ciphertext block to be encrypted / decrypted into two subblocks with respect to one plaintext / ciphertext block sequence in which input data is grouped by M bits; Encrypting / decrypting the nth plaintext / ciphertext block by applying g (.) And f (.) Functions to the left and right round output statements of the initialized subblock, respectively; and n-1 in step 2 Generating a ciphertext / decryption sentence by inputting the left and right round output statements generated by the cipher / decryption block to a round of the ciphertext / decryption block of the nth subblock to generate a ciphertext / decryption block; The f (.) And g (.) Functions of the encryption / decryption step are Boolean functions composed of permutations and permutations as round functions, and the f (.) Function is a plaintext / encryption text to be encrypted / decrypted. And a key as input, and the g (.) Function is a function of inputting a left and right round output statement and a key of a block immediately before the current block to be encrypted / decrypted.

Description

N-라운드 라운드 출력문 귀환 블록 암호화/복호화 방법N-round round output statement feedback block encryption / decryption method

본 발명은 새로운 비밀키 블록 암호화 방법인 N-라운드 라운드 출력문 귀환 (ROF-N : N-round round-output feedback)블록 암호화/복호화 방법에 관한 것으로, 특히 기존의 파이스텔(Feistel)구조에 시간개념을 도입하여 암호화/복호화하려는 현재블록의 바로 전 블록의 라운드 출력문을 귀환시켜 현재블록의 암호화/복호화에 이용하여, 종래의 데이터 암호화 표준(DES:Data Encryption Standard)블록 암호화 방법에 비해 더 높은 비밀정도를 유지할 수 있는 N-라운드 라운드 출력문 귀환 블록 암호화/복호화 방법에 관한 것이다.The present invention relates to a N-round round-output feedback (ROF-N) block encryption / decryption method, which is a new secret key block encryption method. In particular, the concept of time in the existing Feistel structure By introducing a round output statement of the immediately preceding block of the current block to be encrypted / decrypted to use the same for encrypting / decrypting the current block, a higher degree of confidentiality is achieved than the conventional data encryption standard (DES) block encryption method. It relates to an N-round round output statement feedback block encryption / decryption method that can maintain.

일반적으로 원격 데이터 전송 및 디지털 컴퓨터 응용분야에 이용되는 암호화 방법엔 크게 두 부류가 있다.In general, there are two broad categories of encryption methods used in remote data transmission and digital computer applications.

하나는, 스트림 암호화 방법(stream cipher)이고 다른 하나는, 블록 암호화 방법(block cipher)이다.One is a stream cipher and the other is a block cipher.

상기 스트림 암호화 방법은, 평문과 관계없이 키에 의해 비트열을 생성하고, 모듈로 2 가산과 같은 동작으로 평문과 생성된 비트열을 변환하여 암호화하므로써 평문에 대해 실시간으로 동작하는 암호화 방법이다.The stream encryption method is an encryption method that operates in real time on a plain text by generating a bit string by a key irrespective of plain text and converting and encrypting the plain text and the generated bit string by an operation such as modulo 2 addition.

반면에, 상기 블록 암호화 방법은 입력되는 일정크기의 평문블록 공간을 암호문 블록 공간에 매핑시키고, 암호화되는 평문블록과 거의 동일 크기인 키의 제어하에 평문블록을 암호화하는 방법이다. 만일 블록 크기가 n 비트이면, 평문블록 공간(즉, 평문블록 값의 범위)과 암호문블록 공간(즉, 암호블록 값의 범위)은 각각 2n이다.On the other hand, the block encryption method is a method of mapping a plain text block space having a predetermined size to a cipher text block space and encrypting the plain text block under the control of a key having substantially the same size as the encrypted plain text block. If the block size is n bits, the plaintext block space (i.e. range of plaintext block values) and ciphertext block space (i.e. range of cipher block values) are 2 n respectively.

블록 암호화 방법의 하나인 종래의 DES 블록 암호화 방법은 기본적으로 64-비트 블록에 대해 동작하며 56-비트 키를 사용한다. 56-비트 키는 64-비트 블록 공간에 순열을 정의하는 상기 DES 블록 암호화 방법을 매개변수화한다. 암호화하려는 현재블록에 대한 라운드 출력의 각각의 비트는, 키를 구성하는 각각의 비트와 암호화하려는 현재 라운드의 바로 전 라운드에서 생성된 출력문의 각각의 비트에 의한 함수의 결과값이다.The conventional DES block encryption method, which is one of the block encryption methods, basically operates on 64-bit blocks and uses 56-bit keys. The 56-bit key parameterizes the DES block encryption method of defining permutations in a 64-bit block space. Each bit of the round output for the current block to be encrypted is the result of the function by each bit of the key and each bit of the output statement generated in the previous round of the current round to be encrypted.

일반적으로, 블록 암호화/복호화 알고리즘에서, 입력되는 평문블록을 암호화 하기 위한 암호화 키는 암호화된 평문블록을 복호화하기 위한 복호화 키와 동일하다. 마찬가지로, 암호화 키를 사용한 블록 암호화 알고리즘은 복호화 키를 사용한 블록 복호화 알고리즘과 대응되는 알고리즘이며, 암호화 알고리즘과 복호화 알고리즘은 암호화 키 및 복호화 키를 매개변수로하여 서로에 대해 정역관계에 있는 알고리즘이다.In general, in a block encryption / decryption algorithm, an encryption key for encrypting an input plaintext block is the same as a decryption key for decrypting an encrypted plaintext block. Similarly, a block encryption algorithm using an encryption key is an algorithm corresponding to a block decryption algorithm using a decryption key, and the encryption algorithm and the decryption algorithm are forward and backward relations with each other using the encryption key and the decryption key as parameters.

도 1은 종래의 대표적인 16-라운드 DES 블록 암호화 방법의 일례를 나타낸 블록 순서도이다. 도시된 바와 같이, 상기 도 1의 구성에 의한 16-라운드 DES 블록 암호화 방법은 다음과 같은 알고리즘으로 구현된다.1 is a block flow diagram illustrating an example of a conventional 16-round DES block encryption method. As shown, the 16-round DES block encryption method according to the configuration of FIG. 1 is implemented by the following algorithm.

즉, 입력되는 평문블록을 부블록으로 나누어 초기화하는 단계와, 초기화된 평문블록의 각각에 대해 일정함수와 키를 적용하여 암호화를 수행하는 단계와, 상기 암호화 수행단계에 의해 출력된 블록을 부블록으로 된 암호문 블록에 입력하여 암호문을 생성하는 단계로 이루어진다.That is, a step of initializing the plaintext block to be divided into subblocks, performing encryption by applying a constant function and a key to each of the initialized plaintext blocks, and subblocking the blocks output by the encryption performing step. It is composed of the step of generating a cipher text by inputting to the cipher text block.

이를 도 1을 참조하여 더욱 상세히 설명하면 다음과 같다.This will be described in more detail with reference to FIG. 1 as follows.

1) 초기화 단계1) Initialization stage

먼저, 암호화하려는 n번째 평문블록을 2개의 부블록으로 나눈다. 이를 Pn= (Pn L,Pn R)라 하자. 그 후,First, the nth plaintext block to be encrypted is divided into two subblocks. Let P n = (P n L , P n R ). After that,

Figure kpo00002
Figure kpo00002

을 행한다.Is done.

2) 암호화 수행 단계2) Steps to Perform Encryption

각 라운드 별로 다음의 과정을 수행한다.For each round, do the following:

Ln i= Rn i-1,L n i = R n i-1 ,

Rn i= Ln i-1

Figure kpo00003
f(Rn i-1,Ki), i = 1, ... , 15R n i = L n i-1
Figure kpo00003
f (R n i-1 , K i ), i = 1, ..., 15

그리고And

Figure kpo00004
Figure kpo00004

을 행한다.Is done.

3) 암호문 생성 단계3) Ciphertext Generation Steps

암호문블록을 2개의 부블록으로 나눈다. 이를 Cn= (Cn L,Cn R)라 하자. 그 후, 암호문 Cn= (Cn L,Cn R)은Divide the ciphertext block into two subblocks. Let C n = (C n L , C n R ). Then, the ciphertext C n = (C n L , C n R )

Figure kpo00005
Figure kpo00005

이 된다.Becomes

또한 도 2는 종래의 대표적인 16-라운드 DES 블록 복호화 방법을 나타낸 블록 순서도이다. 도시된 바와 같이, 상기 도 2의 구성에 의한 16-라운드 DES 블록 복호화 방법은 다음과 같은 알고리즘으로 구현된다.2 is a block flow diagram illustrating a conventional 16-round DES block decoding method. As shown, the 16-round DES block decoding method according to the configuration of FIG. 2 is implemented by the following algorithm.

즉, 복호화하려는 블록을 부블록으로 나누어 초기화하는 단계와, 초기화된 블록의 각각에 대해 일정함수와 키를 적용하여 복호화를 수행하는 단계와, 상기 복호화 수행단계에 의해 출력된 블록을 부블록으로 된 복호문 블록에 입력하여 복호문을 생성하는 단계로 이루어진다.In other words, the steps of decoding a block to be decoded into sub-blocks are initialized, a step of performing decryption by applying a constant function and a key to each of the initialized blocks, and the blocks output by the decrypting step are subblocks. Inputting a decoded block to generate a decoded sentence.

이를 도 2를 참조하여 더욱 상세히 설명하면 다음과 같다.This will be described in more detail with reference to FIG. 2 as follows.

1) 초기화 단계1) Initialization stage

먼저, 복호화하려는 n번째 블록을 2개의 부블록으로 나눈다. 이를 Cn= (Cn L,Cn R)라 하자. 그 후,First, the n-th block to be decoded is divided into two subblocks. Let C n = (C n L , C n R ). After that,

Figure kpo00006
Figure kpo00006

을 행한다.Is done.

2) 복호화 수행 단계2) Decryption Step

각 라운드 별로 다음의 과정을 수행한다.For each round, do the following:

Ln i-1= Rn i,L n i-1 = R n i ,

Rn i-1= Ln i

Figure kpo00007
f(Rn i,Ki), i = 16, ... , 2R n i-1 = L n i
Figure kpo00007
f (R n i , K i ), i = 16, ..., 2

그리고And

Figure kpo00008
Figure kpo00008

을 행한다.Is done.

3) 복호문 생성 단계3) Decoding door generation step

복호문 블록을 2개의 부블록으로 나눈다. 이를 Pn= (Pn L,Pn R)라 하자.Divides the decryption block into two subblocks. Let P n = (P n L , P n R ).

그 후, 복호문 Pn= (Pn L,Pn R)은After that, the decryption statement P n = (P n L , P n R )

Figure kpo00009
Figure kpo00009

이 된다.Becomes

상기 수학식1 내지 수학식6에서, n은 암호화/복호화하려는 평문/암호문 블록열의 순번을 나타내고, i는 16 라운드중 라운드 순번을 나타내고, f(.)함수는 평문/암호문과 키를 입력으로하는 라운드 함수이다.In Equations 1 to 6, n denotes the sequence number of the plaintext / ciphertext block sequence to be encrypted / decrypted, i denotes the round sequence number among the 16 rounds, and f (.) Function inputs the plaintext / ciphertext and key as input. Round function.

상기한 종래의 DES 블록 암호화/복호화 방법은 파이스텔 구조(Feistel involution)를 근간으로 하는 블록 암호화/복호화 알고리즘으로서, DES블록 암호화/복호화 방법에 대한 현재의 연구는 비권한자의 블법적 접근시도에 대해 안전한 라운드 함수인 f(.)의 설계, 블록길이 증가와 키길이 증가를 통한 안정성 증가 등에 초점이 맞추어져 있다.The conventional DES block encryption / decryption method is a block encryption / decryption algorithm based on a Feistel involution, and the present study on the DES block encryption / decryption method is based on illegal access attempts of non-authorized users. The focus is on the design of f (.), A safe round function, and increased stability by increasing block length and increasing key length.

그러나, 종래의 DES 블록 암호화/복호화 방법에서 블록길이 또는 키길이의 증가는 DES 블록 암호화/복호화 방법을 구현하기 위한 블록 암호화/복호화 알고리즘의 연산수 증가 및 키관리 문제를 야기시킨다. 또한, 안전한 라운드 함수 f(.)의 안전한 설계는 설계된 f(.)함수의 안정성을 객관적으로 입증해야 하는 문제가 생긴다.However, in the conventional DES block encryption / decryption method, an increase in the block length or key length causes an increase in the number of operations and key management of the block encryption / decryption algorithm for implementing the DES block encryption / decryption method. In addition, the secure design of the safe round function f (.) Poses a problem that must objectively demonstrate the stability of the designed f (.) Function.

따라서, 본 발명은 상기와 같은 단점들을 극복하기 위한 것으로, 기존의 파이스텔 구조를 변경하여 블록길이 또는 키 길이의 증가없이 종래의 라운드 함수인 f(.)함수를 근간으로 블록 암호화/복호화 알고리즘의 비밀정도를 향상시킨 ROF-N 블록 암호화/복호화 방법을 제공하는 데 그 목적이 있다.Accordingly, the present invention is to overcome the above-mentioned disadvantages, and by changing the existing Feistel structure, the block encryption / decryption algorithm is based on the conventional round function f (.) Without increasing the block length or key length. The purpose is to provide a ROF-N block encryption / decryption method with improved confidentiality.

제1도는 종래의 DES 블록 암호화 방법의 일례를 나타낸 블록 순서도.1 is a block flow diagram showing an example of a conventional DES block encryption method.

제2도는 종래의 DES 블록 복호화 방법의 일례를 나타낸 블록 순서도.2 is a block flow diagram showing an example of a conventional DES block decoding method.

제3도는 본 발명의 N-라운드 라운드 출력문 귀환 블록 암호화 방법을 나타낸 블록 순서도.3 is a block flow diagram illustrating a N-round round output statement feedback block encryption method of the present invention.

제4도는 본 발명의 N-라운드 라운드 출력문 귀환 블록 복호화 방법을 나타낸 블록 순서도.4 is a block flow diagram illustrating a N-round round output feedback feedback block decoding method of the present invention.

본 발명의 ROF-N 블록 암호화/복호화 방법은 입력데이터를 64비트 씩 묶은 1개의 평문/암호문 블록열에 대해, 암호화/복호화하려는 n번째 평문/암호문 블록을 2개의 부블록으로 나누어 초기화하는 단계; 초기화된 부블록의 좌측 및 우측 라운드 출력문에 각각 g(.)함수와 f(.)함수를 적용하여 n번째 평문/암호문 블록에 대한 암호화/복호화를 수행하는 단계;와 상기 단계중에 n-1 번째 평문/암호문 블록의 암호화/복호화를 수행하는 단계에 의해 생성된 좌측 및 우측 라운드 출력문을 n-1 번째의 부블록으로 된 암호문/복호문 블록에 입력하여 암호문/복호문을 생성하는 단계로 이루어진다.ROF-N block encryption / decryption method of the present invention comprises the steps of: initializing the n-th plaintext / ciphertext block to be encrypted / decrypted into two sub-blocks for one plaintext / ciphertext block string grouping the input data by 64 bits; Encrypting / decrypting the nth plain / ciphertext block by applying g (.) And f (.) Functions to the left and right round output statements of the initialized subblock, respectively; A ciphertext / decryption text is generated by inputting the left and right round output statements generated by the encryption / decryption of the plaintext / ciphertext block into the ciphertext / decryption text block of the n-1 th subblock.

상기 암호화/복호화 수행단계의 f(.)함수 및 g(.)함수는 라운드 함수들로서 치환과 순열로 구성된 부울 함수이고, 상기 f(.)함수는 암호화/복호화하려는 평문/암호문과 키를 입력으로 하여 암호문을 생성해내고, 상기 g(.)함수는 암호화/복호화하려는 현재 블록의 바로 전 블록의 좌측 및 우측 라운드 출력문과 키를 입력으로 하는 함수이다.The f (.) And g (.) Functions of the encryption / decryption performing step are round functions, which are Boolean functions composed of permutations and permutations, and the f (.) Function is an input of a plaintext / cipher text and a key to be encrypted / decrypted. Generate a ciphertext, and the g (.) Function is a function of inputting a left and right round output statement and a key of a block immediately before the current block to be encrypted / decrypted.

새로이 고안된 ROF-N 암호화/복호화 방법은 기존의 DES 방법에 비해 64*N 비트의 메모리와 치환을 위한 계산량을 더 필요로 한다. 반면 기존의 방법과 동일한 평문의 길이와 비밀키 길이를 가지고 더 높은 비밀정도를 유지할 수 있다.The newly designed ROF-N encryption / decryption method requires 64 * N bits of memory and more computation than the conventional DES method. On the other hand, with the same plaintext length and secret key length as the conventional method, it can maintain a higher degree of secrecy.

이제, 도 3 및 도 4를 참조하여 본 발명의 ROF-N 블록 암호화 방법 및 복호화 방법을 더욱 상세히 설명한다.Now, the ROF-N block encryption method and decryption method of the present invention will be described in more detail with reference to FIGS. 3 and 4.

도 3은 본 발명의 ROF-N 블록 암호화 방법을 나타낸 블록 순서도이다. 도시된 바와 같이, 상기 도 3의 구성에 의한 본 발명의 ROF-N 블록 암호화를 구현하기 위한 알고리즘은 입력 데이터를 64비트 씩 묶은 1개의 평문블록에 대해 다음과 같이 암호화를 수행한다.3 is a block flow diagram illustrating a ROF-N block encryption method of the present invention. As shown in FIG. 3, the algorithm for implementing ROF-N block encryption according to the configuration of FIG. 3 performs encryption on one plaintext block having 64-bits of input data as follows.

1) 초기화 단계1) Initialization stage

먼저, 암호화하려는 n번째 평문블록을 2개의 부블록으로 나눈다.First, the nth plaintext block to be encrypted is divided into two subblocks.

이를 Pn= (Pn L,Pn R)라 하자. 그 후Let P n = (P n L , P n R ). After that

Figure kpo00010
Figure kpo00010

을 행한다.Is done.

2) 암호화 수행 단계2) Steps to Perform Encryption

각 라운드 별로 다음의 과정을 수행한다.For each round, do the following:

Ln i= Rn i-1

Figure kpo00011
g(Ln-1 i,Rn-1 i,Ki)L n i = R n i-1
Figure kpo00011
g (L n-1 i , R n-1 i , K i )

Rn i= Ln i-1

Figure kpo00012
f(Rn i-1,Ki), i = 1, ... , N-1R n i = L n i-1
Figure kpo00012
f (R n i-1 , K i ), i = 1, ..., N-1

그리고And

Figure kpo00013
Figure kpo00013

을 행한다.Is done.

3) 암호문 생성 단계3) Ciphertext Generation Steps

암호문 블록을 2개의 부블록으로 나눈다. 이를 Cn= (Cn L,Cn R)라 하자. 그 후, 암호문 Cn= (Cn L,Cn R)은Divide the ciphertext block into two subblocks. Let C n = (C n L , C n R ). Then, the ciphertext C n = (C n L , C n R )

Figure kpo00014
Figure kpo00014

이 된다.Becomes

또한, 도 4는 본 발명의 ROF-N 블록 복호화 방법을 나타낸 블록 순서도이다. 도시된 바와 같이, 상기 도 4의 구성에 의한 ROF-N 블록 복호화를 구현하기 위한 블록 복호화 알고리즘은 입력 데이터를 64비트 씩 묶은 1개의 암호문블록에 대해 다음과 같이 복호화를 수행한다.4 is a block flow diagram illustrating a ROF-N block decoding method of the present invention. As shown in FIG. 4, the block decryption algorithm for implementing ROF-N block decryption according to the configuration of FIG. 4 performs decryption on one ciphertext block in which input data is 64-bit-bound as follows.

1) 초기화 단계1) Initialization stage

먼저, 복호화하려는 n번째 암호문 블록을 2개의 부블록으로 나눈다.First, the nth ciphertext block to be decrypted is divided into two subblocks.

이를 Cn= (Cn L,Cn R)라 하자. 그 후Let C n = (C n L , C n R ). After that

Figure kpo00015
Figure kpo00015

을 행한다.Is done.

2) 복호화 수행 단계2) Decryption Step

각 라운드 별로 다음의 과정을 수행한다.For each round, do the following:

Ln i-1= Rn i

Figure kpo00016
g(Ln-1 i-1,Rn-1 i-1,Ki)L n i-1 = R n i
Figure kpo00016
g (L n-1 i-1 , R n-1 i-1 , K i )

Rn i-1= Ln i

Figure kpo00017
f(Rn i,Ki), i = N , ... , 2R n i-1 = L n i
Figure kpo00017
f (R n i , K i ), i = N, ..., 2

그리고And

Figure kpo00018
Figure kpo00018

을 행한다.Is done.

3) 복호문 생성 단계3) Decoding door generation step

복호문 블록을 2개의 부블록으로 나눈다. 이를 Pn=(Pn L, Pn R)라 하자.Divides the decryption block into two subblocks. Let this be P n = (P n L , P n R ).

그 후, 복호문 Pn=(Pn L, Pn R)은Thereafter, the decryption statement P n = (P n L , P n R )

Figure kpo00019
Figure kpo00019

이 된다.Becomes

상기 수학식7 내지 수학식12에서, n은 암호화/복호화하려는 평문/암호문 블록의 순번을 나타내고, i는 N 라운드중 암호화/복호화하려는 n번째 평문/암호문 블록의 라운드 순번을 나타낸다.In Equations 7 to 12, n denotes the sequence number of the plaintext / ciphertext block to be encrypted / decrypted, and i represents the round sequence number of the nth plaintext / ciphertext block to be encrypted / decrypted among N rounds.

여기서 상기 f(.)와 g(.)함수는 라운드 함수들로써 치환과 순열로 구성된 부울 함수이다. 상기 f(.)함수는 평문과 키를 입력으로 하여 암호를 생성하는 함수이고, 상기 g(.)함수는 암호화하려는 현재 블록의 바로 전 블록의 라운드 출력문과 키를 입력으로 하는 함수이다. 즉, 상기 g(.)함수는 암호화하려는 현재블록에 대해서는 스트림 암호화 방법의 역할을 하며, 암호화하려는 현재블록의 바로 전 블록의 라운드 출력문과 키는 g(.)함수의 키이다.Here, the f (.) And g (.) Functions are Boolean functions composed of permutations and permutations as round functions. The f (.) Function is a function for generating a password by inputting a plain text and a key, and the g (.) Function is a function for inputting a round output statement and a key of a block immediately before the current block to be encrypted. That is, the g (.) Function serves as a stream encryption method for the current block to be encrypted, and the round output statement and the key of the immediately preceding block of the current block to be encrypted are keys of the g (.) Function.

그리고, 도 3 및 도 4에 도시되지 않았지만, n = 0인 시점, 즉, 본 발명의 ROF-N 암호화/복호화 알고리즘의 초기화 단계를 위해 각각의 라운드 출력문은 다음과 같이 놓는다.Although not shown in FIGS. 3 and 4, each round output statement is placed as follows for the initial stage of n = 0, that is, the ROF-N encryption / decryption algorithm of the present invention.

Figure kpo00020
Figure kpo00020

여기서 IKi는 키로부터 발생된 초기값이며, 서브 키{Ki)와는 독립적이다.Where IK i is the initial value generated from the key and is independent of the sub key {K i ).

상기한 바와 같이 구현된 본 발명의 ROF-N 블록 암호화/복호화방법의 특징은 다음과 같다.Features of the ROF-N block encryption / decryption method of the present invention implemented as described above are as follows.

ㄱ) 키 길이의 증가를 기존의 64비트에서 128비트로 향상시킬 수 있다. 종래의 DES 블록 암호화 방법에선 키 길이가 128비트일 경우 불법적 접근시도에 대해 알고리즘의 안정성은 현실적으로 보장되지 않지만, 본 발명의 ROF-N 블록 암호화/복호화 방법에선 키 길이가 128비트일 경우에도 불법적 접근 시도에 대해 ROF-N 블록 암호화/복호화 방법을 구현하는 알고리즘의 안전성은 현실적으로 보장된다.A) The increase in key length can be improved from the existing 64 bits to 128 bits. In the conventional DES block encryption method, when the key length is 128 bits, the algorithm stability is not practically guaranteed against illegal access attempts. However, in the ROF-N block encryption / decryption method of the present invention, even when the key length is 128 bits, the illegal access is illegal. The security of the algorithm that implements the ROF-N block encryption / decryption method for the challenge is practically guaranteed.

ㄴ) 키 길이증가가 실질적인 키 길이의 증가없이 이루어지므로 키 관리의 복잡도를 종래의 DES 블록 암호화 방법수준으로 유지할 수 있다.B) Since the increase in key length is achieved without substantial increase in key length, the complexity of key management can be maintained at the level of the conventional DES block encryption method.

ㄷ) 키 길이에 따른 분배방법은 암호화/복호화하려는 현재블록의 바로 전 블록의 라운드 출력문을 이용하여 키 스케쥴링을 행한다.C) The distribution method according to the key length performs key scheduling using the round output statement of the block immediately preceding the current block to be encrypted / decrypted.

ㄹ) 종래의 DES 블록 암호화 방법이 우측 라운드 출력문(Rn i)의 생성에만 키를 적용하는 데 반해, 본 발명의 ROF-N 블록 암호화/복호화 방법은 좌측 라운드 출력문(Ln i)의 생성에도 키를 적용한다. 따라서, 각 라운드 출력문의 랜덤(random)화를 꾀할 수 있어 암호화/복호화의 비밀정도를 증가시킨다.R) The conventional DES block encryption method applies a key only to the generation of the right round output statement (R n i ), whereas the ROF-N block encryption / decryption method of the present invention also generates a left round output statement (L n i ). Apply the key. Therefore, randomization of each round output statement can be achieved, which increases the confidentiality of encryption / decryption.

ㅁ) 본 발명의 ROF-N 블록 암호화/복호화 방법은 블록 암호화 공격 방법인 차분 암호해독(DC : differential cryptanalysis) 및 선형 암호해독(LC : linear cryptanalysis) 방법에 안전하다. 상기 g(.)함수는 ROF-N 블록 암호화/복호화 방법에서 스트림 암호화/복호화 방법의 역할을 하며 이 스트림 암호화/복호화 방법은 상기 미분 암호해독 및 선형 암호해독 방법에 의한 공격에도 안전하다.ㅁ) The ROF-N block encryption / decryption method of the present invention is safe for differential encryption (DC) and linear cryptanalysis (LC) methods that are block encryption attack methods. The g (.) Function acts as a stream encryption / decryption method in the ROF-N block encryption / decryption method, and this stream encryption / decryption method is safe even when attacked by the differential decryption and linear decryption method.

ㅂ) 본 발명의 ROF-N 블록 암호화/복호화 구현에 따른 메모리 크기의 증가는 실제 프로그램이나 하드웨어에 의한 구현시 무시할 만한 크기이다.Iii) The increase in memory size according to the ROF-N block encryption / decryption implementation of the present invention is a negligible size when implemented by an actual program or hardware.

ㅅ) 본 발명의 ROF-N 블록 암호화 구현에 따른 암호문의 오전송에 의한 에러 크기는 무시할 만한 크기이다.G) The error size due to mistransmission of a ciphertext according to the ROF-N block encryption implementation of the present invention is negligible.

상기한 바와 같은 본 발명의 ROF-N 블록 암호화 방법은, 종래의 DES 블록 암호화 방법을 대체할 수 있다.The ROF-N block encryption method of the present invention as described above can replace the conventional DES block encryption method.

종래의 DES 블록 암호화 방법과 동일한 평문길이(plaintext length)와 비밀키 길이(key length)를 가지고 종래의 DES 블록 암호화 방법에 비해 비밀정도가 향상된 암호화를 구현할 수 있어 키 사이즈의 증가효과를 얻을 수 있다.With the same plaintext length and secret key length as the conventional DES block ciphering method, it is possible to implement encryption with improved confidentiality compared to the conventional DES block ciphering method, thereby increasing the key size. .

본 발명의 ROF-N 블록 암호화 방법은 인증분야에 용이하게 적용할 수 있다.ROF-N block encryption method of the present invention can be easily applied to the field of authentication.

즉, 종래의 DES 블록 암호화 방법에선 암호문 귀환 체이닝(CBC:ciphertext feedback chaninig)모드에 해쉬함수가 적용된 메시지 인증 코드(MAC:message authentication code)를 사용하여 인증을 행하여 왔지만, 본 발명의 ROF-N 블록 암호화 방법은 별도의 운용모드 없이 직접 해쉬 함수를 적용하여 만든 메시지 인증 코드를 사용하여 전송데이타에 대한 인증을 용이하게 행할 수 있다.That is, in the conventional DES block encryption method, authentication has been performed using a message authentication code (MAC) to which a hash function is applied in ciphertext feedback chaninig (CBC) mode, but the ROF-N block of the present invention is used. The encryption method can easily authenticate the transmission data using a message authentication code made by applying a hash function directly without a separate operation mode.

또한, 본 발명의 ROF-N 블록 암호화 방법은 종래의 DES 블록 암호화 방법이외의 블록 암호화 방법에도 확장 가능한 블록 암호화 방법이다.The ROF-N block encryption method of the present invention is a block encryption method that can be extended to a block encryption method other than the conventional DES block encryption method.

이 밖에도 본 발명에 의하면, 라운드 추력과 키를 이용하여 독립적인 서브키를 만들 수 있으며, 상기 서브키를 기존의 파이스텔 구조에 도입할 수 있고, 본 발명을 보안(security)장치에 이용할 수 있고 또한 인증장치에도 적용가능하다.In addition, according to the present invention, an independent subkey can be made using round thrust and a key, the subkey can be introduced into an existing Feistel structure, and the present invention can be used in a security device. It is also applicable to authentication devices.

Claims (6)

암호화 하고자 하는 평문(plaintext)을 2N 비트(bit)의 블록으로 나누고, 각각의 2N 비트 블록을 각각 N 비트의 좌측(L) 및 우측(R) 블록으로 나누는 단계와; (i)번째 라운드에서(i = 1~n-1), n 번째 2N 비트 블록의 우측 블록과 i 번째 라운드 키(Ki)를 입력받아 제 1 라운드 함수(f)를 수행한 출력 값과 상기 n 번째 2N 비트 블록의 좌측 블록을 논리합 연산하여 다음 라운드의 n 번째 2N 비트 블록의 우측 블록으로 설정하는 단계; (i)번째 라운드에서(i = 1~n-1), n-1 번째 2N 비트 블록의 우측 블록과 좌측 블록 및 상기 i 번째 라운드 키(Ki)를 입력받아 제 2 라운드 함수(g)를 수행한 출력 값과 상기 n 번째 2N 비트 블록의 우측 블록을 논리합 연산하여 다음 라운드의 n 번째 2N 비트 블록의 좌측 블록으로 설정하는 단계; 상기 우측 및 좌측 블록의 설정 단계를 마지막 바로 직전인 n-1 라운드 까지 반복 수행하는 단계; n-1 라운드의 결과로서 얻어진 n 번째 2N 비트 블록의 우측 블록과 n 번째 라운드 키(Kn)를 입력받아 제 1 라운드 함수(f)를 수행한 출력 값과 상기 n 번째 2N 비트 블록의 좌측 블록을 논리합 연산하여 최종적으로 n 번째 2N 비트 블록의 좌측 블록으로 설정하는 단계; n 라운드의 n-1 번째 2N 비트 블록의 우측 블록과 좌측 블록 및 상기 n 번째 라운드 키(Kn)를 입력받아 제 2 라운드 함수(g)를 수행한 출력 값과 상기 n-1 라운드의 결과로서 얻어진 n 번째 2N 비트 블록의 우측 블록을 논리합 연산하여 최종적으로 n 번째 2N 비트 블록의 우측 블록으로 설정하는 단계로 이루어진, 라운드 출력문 귀환(Round-output feedback) 블록 암호화 방법.Dividing the plaintext to be encrypted into blocks of 2N bits, and dividing each 2N bit block into left (L) and right (R) blocks of N bits, respectively; In the (i) th round (i = 1 ~ n-1), the output value performing the first round function (f) by receiving the right block of the n th 2N bit block and the i th round key (Ki) and the n ORing the left block of the second 2N bit block to set the right block of the n-th 2N bit block of the next round; In the (i) th round (i = 1 to n-1), the second round function (g) is performed by receiving the right block and left block and the i th round key (Ki) of the n-1 th 2N bit block. Performing an OR operation on one output value and the right block of the nth 2N bit block to set the left block of the nth 2N bit block of the next round; Repeating the setting of the right and left blocks until n-1 round immediately before the last; Input the right block of the n-th 2N bit block and n-th round key (Kn) obtained as a result of n-1 rounds, and perform the first round function (f) and the left block of the n-th 2N bit block. Performing an OR operation to finally set the left block of the n-th 2N bit block; Obtained as a result of the n-1th round and the left block of the n-1th 2N bit block and the nth round key Kn, the output value of performing the second round function g and the result of the n-1th round and ORing the right block of the n-th 2N bit block and finally setting the block to the right block of the n-th 2N bit block. 제1항에 있어서, 상기 제 1 라운드 함수는 평문과 라운드 키를 입력받아 암호문을 생성해 내며, 상기 제 2 라운드 함수는 바로 이전 블록의 라운드 출력문과 라운드 키를 입력받아 암호문을 생성해 내는, 치환과 순열로 구성된 부울 함수인 것을 특징으로 하는, 라운드 출력문 귀환(Round-output feedback) 블록 암호화 방법.The method of claim 1, wherein the first round function receives a plain text and a round key to generate a cipher text, and the second round function receives a round output statement and a round key of a previous block to generate a cipher text. Round-output feedback block encryption method, characterized in that it is a Boolean function consisting of and permutation. 제1항 또는 제2항중 어느 한 항에 있어서, 첫 번째 라운드에서 사용되는 N 비트의 좌측(L) 및 우측(R) 블록은, IKi가 라운드 키로부터 발생된 초기값이라 할때3. The left (L) and right (R) blocks of the N bits used in the first round, when the IK i is an initial value generated from the round key. Li -1=IK2(i+1)L i -1 = IK2 (i + 1) Ri -1=IK2(i+1)+1 (i=0,1,2,.....,N-1)인 것을 특징으로 하는, 라운드 출력문 귀환(Round-output feedback)블록 암호화 방법.Round-output feedback block encryption method, characterized in that R i -1 = IK2 (i + 1) +1 (i = 0,1,2, ....., N-1) . 복호화 하고자 하는 암호문을 2N 비트(bit)의 블록으로 나누고, 각각의 2N 비트 블록을 각각 N 비트의 좌측(L) 및 우측(R) 블록으로 나누는 단계와; (i)번째 라운드에서(i = 1~n-1), n 번째 2N 비트 블록의 우측 블록과 i 번째 라운드 키(Ki)를 입력받아 제 1 라운드 함수(f)를 수행한 출력 값과 상기 n 번째 2N 비트 블록의 좌측 블록을 논리합 연산하여 다음 라운드의 n 번째 2N 비트 블록의 우측 블록으로 설정하는 단계; (i)번째 라운드에서(i = 1~n-1), n-1 번째 2N 비트 블록의 우측 블록과 좌측 블록 및 상기 i 번째 라운드 키(Ki)를 입력받아 제 2 라운드 함수(g)를 수행한 출력 값과 상기 n번째 2N 비트 블록의 우측 블록을 논리합 연산하여 다음 라운드의 n 번째 2N 비트 블록의 좌측 블록으로 설정하는 단계; 상기 우측 및 좌측 블록의 설정 단계를 마지막 바로 직전인 n-1 라운드 까지 반복 수행하는 단계; n-1 라운드의 결과로서 얻어진 n 번째 2N 비트 블록의 우측 블록과 n 번째 라운드 키(Kn)를 입력받아 제 1 라운드 함수(f)를 수행한 출력 값과 상기 n 번째 2N 비트 블록의 좌측 블록을 논리합 연산하여 최종적으로 n 번째 2N 비트 블록의 좌측 블록으로 설정하는 단계; n 라운드의 n-1 번째 2N 비트 블록의 우측 블록과 좌측 블록 및 상기 n 번째 라운드 키(Kn)를 입력받아 제 2 라운드 함수(g)를 수행한 출력 값과 상기 n-1 라운드의 결과로서 얻어진 n 번째 2N 비트 블록의 우측 블록을 논리합 연산하여 최종적으로 n 번째 2N 비트 블록의 우측 블록으로 설정하는 단계로 이루어진, 라운드 출력문 귀환(Round-output feedback) 블록 복호화 방법.Dividing the cipher text to be decrypted into 2N bit blocks, and dividing each 2N bit block into N (left) and (R) blocks of N bits, respectively; In the (i) th round (i = 1 ~ n-1), the output value performing the first round function (f) by receiving the right block of the n th 2N bit block and the i th round key (Ki) and the n ORing the left block of the second 2N bit block to set the right block of the n-th 2N bit block of the next round; In the (i) th round (i = 1 to n-1), the second round function (g) is performed by receiving the right block and left block and the i th round key (Ki) of the n-1 th 2N bit block. Performing an OR operation on one output value and the right block of the nth 2N bit block to set the left block of the nth 2N bit block of the next round; Repeating the setting of the right and left blocks until n-1 round immediately before the last; Input the right block of the n-th 2N bit block and n-th round key (Kn) obtained as a result of n-1 rounds, and perform the first round function (f) and the left block of the n-th 2N bit block. Performing an OR operation to finally set the left block of the n-th 2N bit block; Obtained as a result of the n-1th round and the left block of the n-1th 2N bit block and the nth round key Kn, the output value of performing the second round function g and the result of the n-1th round and ORing the right block of the n-th 2N bit block and finally setting the right block of the n-th 2N bit block. 제4항에 있어서, 상기 제 1 라운드 함수는 암호문과 라운드 키를 입력받아 복호문을 생성해 내며, 상기 제 2 라운드 함수는 바로 이전 블록의 라운드 출력문과 라운드 키를 입력받아 복호문을 생성해 내는, 치환과 순열로 구성된 부울 함수인 것을 특징으로 하는, 라운드 출력문 귀환(Round-output feedback) 블록 복호화 방법.The method of claim 4, wherein the first round function receives a cipher text and a round key to generate a decrypted sentence, and the second round function receives a round output statement and a round key of a previous block to generate a decrypted sentence. And a Boolean function consisting of permutations and permutations. 제4항 또는 제5항중 어느 한 항에 있어서, 첫 번째 라운드에서 사용되는 N 비트의 좌측(L) 및 우측(R) 블록은, IKi가 라운드 키로부터 발생된 초기값이라 할때6. The left (L) and right (R) blocks of the N bits used in the first round, wherein the IKi is an initial value generated from the round key. Li -1=IK2(i+1)L i -1 = IK2 (i + 1) Ri -1=IK2(i+1)+1 (i=0,1,2,.....,N-1)인 것을 특징으로 하는, 라운드 출력문 귀환(Round-output feedback)블록 복호화 방법.Round-output feedback block decoding method, characterized in that R i -1 = IK2 (i + 1) +1 (i = 0,1,2, ....., N-1) .
KR1019970018421A 1997-05-13 1997-05-13 A n-round round output feedback block cipher/decipher method Expired - Fee Related KR100259836B1 (en)

Priority Applications (1)

Application Number Priority Date Filing Date Title
KR1019970018421A KR100259836B1 (en) 1997-05-13 1997-05-13 A n-round round output feedback block cipher/decipher method

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
KR1019970018421A KR100259836B1 (en) 1997-05-13 1997-05-13 A n-round round output feedback block cipher/decipher method

Publications (2)

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

Family

ID=19505682

Family Applications (1)

Application Number Title Priority Date Filing Date
KR1019970018421A Expired - Fee Related KR100259836B1 (en) 1997-05-13 1997-05-13 A n-round round output feedback block cipher/decipher method

Country Status (1)

Country Link
KR (1) KR100259836B1 (en)

Cited By (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
KR100411912B1 (en) * 1998-02-24 2003-12-18 오트크리토에 악츠이오네른오에 옵스체스트보 (모스코브스키야 고로즈카야 텔레폰나야 셋) Method for the block-encryption of discrete data
KR100531577B1 (en) * 2002-02-28 2005-11-28 주식회사 소프트커널 Device for coding/decoding document

Families Citing this family (5)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2000236325A (en) 1999-02-09 2000-08-29 Lg Electronics Inc Device and method for enciphering digital data file
KR100320181B1 (en) * 1999-02-09 2002-01-10 구자홍 Encryption method for digital data file
KR100379122B1 (en) * 2000-11-13 2003-04-08 엘지전자 주식회사 Method for Creating Round Key in Giga Bit Ethernet Switch 128 Bit Block Encrypting Algorithm
KR100965874B1 (en) * 2003-01-10 2010-06-24 삼성전자주식회사 Apparatus and method for encrypting/decrypting cipher key chaining
KR101281275B1 (en) * 2011-09-01 2013-07-03 서울대학교산학협력단 Obfuscation method for process of encrypting/decrypting block cipher using boolean function expression and apparatus for the same

Cited By (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
KR100411912B1 (en) * 1998-02-24 2003-12-18 오트크리토에 악츠이오네른오에 옵스체스트보 (모스코브스키야 고로즈카야 텔레폰나야 셋) Method for the block-encryption of discrete data
KR100531577B1 (en) * 2002-02-28 2005-11-28 주식회사 소프트커널 Device for coding/decoding document

Also Published As

Publication number Publication date
KR19980083221A (en) 1998-12-05

Similar Documents

Publication Publication Date Title
Soofi et al. An enhanced Vigenere cipher for data security
US20020048364A1 (en) Parallel block encryption method and modes for data confidentiality and integrity protection
KR20190107044A (en) Ambiguity Augmented Dynamic Security System
Andriani et al. Comparision of AES 128, 192 and 256 bit algorithm for encryption and description file
KR20080080175A (en) Method and system for use of block cipher encryption
Reyad et al. Key-based enhancement of data encryption standard for text security
Rajput et al. An improved cryptographic technique to encrypt text using double encryption
JP2000511755A (en) How to encrypt binary code information
US20100241872A1 (en) Partially Reversible Key Obfuscation
Patgiri et al. Stealth: A highly secured end-to-end symmetric communication protocol
KR100259836B1 (en) A n-round round output feedback block cipher/decipher method
Kumari et al. An RTL implementation of the data encryption standard (DES)
Patil et al. An enhancement in international data encryption algorithm for increasing security
Kadry et al. An improvement of RC4 cipher using vigenère cipher
Landge et al. VHDL based Blowfish implementation for secured embedded system design
JP2000004223A (en) Encryption/authentication system
Pandey et al. Data security using various cryptography Techniques: A Recent Survey
Hassan et al. NETWORK SECURITY BY BLOCK CIPHERS
Archana et al. Overview of Cryptography
Ibrahem Perfect Secrecy System Based on Chaotic Key Generator
KR102658004B1 (en) Devices and methods of Data encryption and decryption
Jagetiya et al. Evolution of Information Security Algorithms
Parab et al. Generic approach for encryption using reverse context free grammar productions
Kevadia et al. A literature survey on image encryption
Aruljothi et al. Symmetric key cryptosystem based on randomized block cipher

Legal Events

Date Code Title Description
A201 Request for examination
PA0109 Patent application

St.27 status event code: A-0-1-A10-A12-nap-PA0109

PA0201 Request for examination

St.27 status event code: A-1-2-D10-D11-exm-PA0201

R17-X000 Change to representative recorded

St.27 status event code: A-3-3-R10-R17-oth-X000

PG1501 Laying open of application

St.27 status event code: A-1-1-Q10-Q12-nap-PG1501

R18-X000 Changes to party contact information recorded

St.27 status event code: A-3-3-R10-R18-oth-X000

PN2301 Change of applicant

St.27 status event code: A-3-3-R10-R13-asn-PN2301

St.27 status event code: A-3-3-R10-R11-asn-PN2301

E902 Notification of reason for refusal
PE0902 Notice of grounds for rejection

St.27 status event code: A-1-2-D10-D21-exm-PE0902

PN2301 Change of applicant

St.27 status event code: A-3-3-R10-R13-asn-PN2301

St.27 status event code: A-3-3-R10-R11-asn-PN2301

P11-X000 Amendment of application requested

St.27 status event code: A-2-2-P10-P11-nap-X000

P13-X000 Application amended

St.27 status event code: A-2-2-P10-P13-nap-X000

E701 Decision to grant or registration of patent right
PE0701 Decision of registration

St.27 status event code: A-1-2-D10-D22-exm-PE0701

GRNT Written decision to grant
PR0701 Registration of establishment

St.27 status event code: A-2-4-F10-F11-exm-PR0701

PR1002 Payment of registration fee

St.27 status event code: A-2-2-U10-U11-oth-PR1002

Fee payment year number: 1

PG1601 Publication of registration

St.27 status event code: A-4-4-Q10-Q13-nap-PG1601

R18-X000 Changes to party contact information recorded

St.27 status event code: A-5-5-R10-R18-oth-X000

PN2301 Change of applicant

St.27 status event code: A-5-5-R10-R13-asn-PN2301

St.27 status event code: A-5-5-R10-R11-asn-PN2301

R18-X000 Changes to party contact information recorded

St.27 status event code: A-5-5-R10-R18-oth-X000

PR1001 Payment of annual fee

St.27 status event code: A-4-4-U10-U11-oth-PR1001

Fee payment year number: 4

R18-X000 Changes to party contact information recorded

St.27 status event code: A-5-5-R10-R18-oth-X000

R18-X000 Changes to party contact information recorded

St.27 status event code: A-5-5-R10-R18-oth-X000

PR1001 Payment of annual fee

St.27 status event code: A-4-4-U10-U11-oth-PR1001

Fee payment year number: 5

PR1001 Payment of annual fee

St.27 status event code: A-4-4-U10-U11-oth-PR1001

Fee payment year number: 6

PN2301 Change of applicant

St.27 status event code: A-5-5-R10-R13-asn-PN2301

St.27 status event code: A-5-5-R10-R11-asn-PN2301

PN2301 Change of applicant

St.27 status event code: A-5-5-R10-R13-asn-PN2301

St.27 status event code: A-5-5-R10-R11-asn-PN2301

PR1001 Payment of annual fee

St.27 status event code: A-4-4-U10-U11-oth-PR1001

Fee payment year number: 7

PR1001 Payment of annual fee

St.27 status event code: A-4-4-U10-U11-oth-PR1001

Fee payment year number: 8

FPAY Annual fee payment

Payment date: 20080115

Year of fee payment: 9

PR1001 Payment of annual fee

St.27 status event code: A-4-4-U10-U11-oth-PR1001

Fee payment year number: 9

LAPS Lapse due to unpaid annual fee
PC1903 Unpaid annual fee

St.27 status event code: A-4-4-U10-U13-oth-PC1903

Not in force date: 20090330

Payment event data comment text: Termination Category : DEFAULT_OF_REGISTRATION_FEE

PC1903 Unpaid annual fee

St.27 status event code: N-4-6-H10-H13-oth-PC1903

Ip right cessation event data comment text: Termination Category : DEFAULT_OF_REGISTRATION_FEE

Not in force date: 20090330

R18-X000 Changes to party contact information recorded

St.27 status event code: A-5-5-R10-R18-oth-X000

P22-X000 Classification modified

St.27 status event code: A-4-4-P10-P22-nap-X000