KR100314235B1 - Data descrambling device of TS bit string - Google Patents

Data descrambling device of TS bit string Download PDF

Info

Publication number
KR100314235B1
KR100314235B1 KR1019980029019A KR19980029019A KR100314235B1 KR 100314235 B1 KR100314235 B1 KR 100314235B1 KR 1019980029019 A KR1019980029019 A KR 1019980029019A KR 19980029019 A KR19980029019 A KR 19980029019A KR 100314235 B1 KR100314235 B1 KR 100314235B1
Authority
KR
South Korea
Prior art keywords
unit
bit
signal
data
input
Prior art date
Application number
KR1019980029019A
Other languages
Korean (ko)
Other versions
KR20000008923A (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 KR1019980029019A priority Critical patent/KR100314235B1/en
Publication of KR20000008923A publication Critical patent/KR20000008923A/en
Application granted granted Critical
Publication of KR100314235B1 publication Critical patent/KR100314235B1/en

Links

Classifications

    • HELECTRICITY
    • H03ELECTRONIC CIRCUITRY
    • H03MCODING; DECODING; CODE CONVERSION IN GENERAL
    • H03M13/00Coding, decoding or code conversion, for error detection or error correction; Coding theory basic assumptions; Coding bounds; Error probability evaluation methods; Channel models; Simulation or testing of codes
    • H03M13/25Error detection or forward error correction by signal space coding, i.e. adding redundancy in the signal constellation, e.g. Trellis Coded Modulation [TCM]
    • H03M13/251Error detection or forward error correction by signal space coding, i.e. adding redundancy in the signal constellation, e.g. Trellis Coded Modulation [TCM] with block coding
    • HELECTRICITY
    • H03ELECTRONIC CIRCUITRY
    • H03MCODING; DECODING; CODE CONVERSION IN GENERAL
    • H03M13/00Coding, decoding or code conversion, for error detection or error correction; Coding theory basic assumptions; Coding bounds; Error probability evaluation methods; Channel models; Simulation or testing of codes
    • H03M13/65Purpose and implementation aspects
    • H03M13/6508Flexibility, adaptability, parametrability and configurability of the implementation

Landscapes

  • Physics & Mathematics (AREA)
  • Probability & Statistics with Applications (AREA)
  • Engineering & Computer Science (AREA)
  • Theoretical Computer Science (AREA)
  • Two-Way Televisions, Distribution Of Moving Picture Or The Like (AREA)

Abstract

본 발명은 블럭 암호화 알고리즘 중에서 가장 널리 사용되는 DES(Data Encryption Standard; 이하 "디이에스"라 함) 알고리즘을 디스클램블링(descrambling)하는 디스클램블링 장치에 관한 것으로서, 암호화된 데이터를 복호화 하는 복호화 시스템에 있어서, 티에스(TS) 비트열의 암호화 된 데이터와, 상기 암호화 된 데이터를 복호화 하기 위한 키 및, 초기설정 벡터를 받아서 디이에스 복호기(DES decrypter)로 전송하는 신호전처리부(1)와; 전송된 암호화된 데이터를 상기 키와 상기 초기설정 벡터를 이용하여 복호화 하는 디이에스 복호기(2 ; DES decrypter)로 구성되어 암호화된 MPEG-2 티에스(TS) 비트열의 암호화 된 데이터를 여러 동작모드에서 효율적으로 복호화 할 수 있는 장점이 있는 것이다.The present invention relates to a descrambling apparatus for descrambling a DES (Data Encryption Standard) algorithm, which is most widely used among block encryption algorithms, and a decryption system for decrypting encrypted data. A signal preprocessing unit (1) for receiving encrypted data of a TS bit sequence, a key for decrypting the encrypted data, an initializing vector, and transmitting the received vector to a DES decrypter; DES decrypter (2) which decrypts the transmitted encrypted data using the key and the initialization vector to efficiently encrypt the encrypted data of the encrypted MPEG-2 TS bit stream in various operating modes. There is an advantage that can be decrypted.

Description

티에스 비트열의 데이터 디이에스 디스클램블링 장치Data descrambling device of TS bit string

본 발명은 블록 암호화 알고리즘 중에서 가장 널리 사용되는 DES(Data Encryption Standard; 이하 "디이에스"라 함) 알고리즘을 디스클램블링(descrambling)하는 디스클램링 장치에 관한 것으로서, 특히 암호화된 MPEG-2 티에스(TS) 비트열의 데이터를 여러 동작모드로 지원하는 티에스 비트열의 데이터 디이에스 디스클램블링 장치에 관한 것이다.The present invention relates to a descrambling device for descrambling a DES (Data Encryption Standard), which is the most widely used block encryption algorithm, and more particularly, to an encrypted MPEG-2 TS ( TS) A data bit descrambling apparatus of a TS bit string supporting data of a bit string in various operation modes.

인터넷으로 대표되는 컴퓨터 네트워크의 눈부신 발달은 엄청난 양의 데이터 전송을 필요로 하게 되었고, 네트워크를 이용한 전자 상거래도 이미 WWW(World Wide Web)를 통해서 쉽게 접할 수 있게 되었다. 이러한 네트워크의 발달로 인하여 방대한 데이터 전송과 정보의 처리가 가능하게 되었으나 반면에 보안성의 문제가 가장 절실하게 대두되었다. 공중파 방송의 경우 HDTV에서 채택한 MPEG-2 시스템 규격중에서 중요한 부분중 하나는 유료화 정보를 특정 가입자 만이 볼 수 있도록 하는 제한 수신정보를 암호화 하여 정보의 보안성을 유지하는 기술이라 할 수 있는바, 정보의 암호화는 다음과 같이 이루어진다.The remarkable development of computer networks represented by the Internet has required a huge amount of data transmission, and e-commerce using the network is already easily accessible through the World Wide Web (WWW). Due to the development of this network, a huge amount of data transmission and processing of information are possible, while security issues are most urgently raised. In the case of over-the-air broadcasting, one of the important parts of the MPEG-2 system standard adopted by HDTV is technology that maintains the security of information by encrypting the restricted reception information that only paid subscribers can see. Encryption is done as follows.

디이에스에 사용되는 암호화의 기본적인 알고리즘은 치환(permutation)과 대치(substitution)이며, 이 두가지를 이용하여 라운드(round)라 불리우는 기본단계를 형성하고, 도 1에 도시한 바와 같이 이러한 라운드가 16번 반복되어서 하나의 암호화된 디이에스블럭을 구성한다.The basic algorithms of encryption used in DS are permutation and substitution, and using these two forms a basic step called round, and as shown in FIG. It is repeated to form one encrypted DS block.

도 1에서 키(KEY)는 도시하지 않은 키생성부에서 발생시키게 되는데, 키생성부에서는 먼저 64비트의 키로부터 8비트의 패리티 비트를 제거한 다음 나머지 56비트에서 동작 키를 생성하여 데이터 암호화에 사용하게 된다. 64비트의 평문 블럭은 초기치환(IP ; intial permutation)된 후 32비트로 양분되고 우측 32비트는 확장(expantion) 과정을 거쳐 56비트의 키중 선택된 48비트외 키와 익스클루시브 오아(exclusive-or, 배타적논리화 : 이하 "XOR"이라 함)되어 48비트의 값을 생성하고, S-box 치환 알고리줌을 이용하여 32비트로 만든 후 P-box 치환과정을 한번 더 거쳐 최종적으로 그 이전의 왼쪽 32비트 값과 XOR 하여 새로운 오른쪽 32비트를 형성한다. 그리고 그 이전의 오른쪽 32비트 값은 새로운 왼쪽 32비트의 값이 된다.In FIG. 1, a key is generated by a key generation unit (not shown). The key generation unit first removes 8-bit parity bits from a 64-bit key and generates an operation key from the remaining 56 bits to use for data encryption. Done. The 64-bit plaintext block is divided into 32 bits after initial permutation (IP), and the right 32 bits are expanded through an expansion process, and the 48-bit key and the exclusive-or (exclusive-or) are selected from 56-bit keys. Exclusive logic: hereinafter referred to as "XOR" to create a 48-bit value, make it 32-bit by using S-box substitution algorithm, and then go through the P-box substitution process once more and finally the left 32-bit before XORs the value to form a new right 32 bit. The previous right 32-bit value is the new left 32-bit value.

이와 같은 과정이 16번 반복되어 마지막에 생성되어진 오른쪽 32비트와 왼쪽 32비트는 합쳐져서 역 초기치환(inverse permutation) 과정을 거치므로써 최종적으로 암호화된 디이에스블럭을 얻을 수 있다.This process is repeated 16 times, and the right 32 bits and the left 32 bits, which are generated lastly, are combined to undergo an inverse permutation process to obtain the final encrypted DS block.

여기서 초기치환(IP ; intial permutation)은 입력되어 들어오는 블럭을 주어진 표를 이용하여 자리를 바꾸어 주는 것으로, 예컨대 입력의 58번째 비트가 출력의 1번째 비트로, 입력 62번째 비트는 출력의 17번째 비트로 자리 바꿈을 하는 것이다.In this case, initial permutation (IP) replaces an incoming block with a given table. For example, the 58th bit of the input is the 1st bit of the output and the 62nd bit of the input is the 17th bit of the output. To change.

확장치환(expantion permutation)은 초기치환(IP)에 의해 생성된 64비트중에 오튼쪽 32비트를 입력하여 주어진 표에 의해 48비트로 확장하는 것으로, 예를들면 입력의 32번째 비트는 출력의 1번째 비트가 되고, 입력의 8번째 비트는 출력의 13번째 비트가 되는 것이다.Expansion permutation extends 48 bits from the given table by inputting the 32 bits of the right side among the 64 bits generated by the initial substitution (IP). For example, the 32nd bit of the input is the 1st bit of the output. The eighth bit of the input is the thirteenth bit of the output.

키생성부에서 생성된 초기 64비트의 키는 주어진 표에 의하여 각 8번째 패리티 비트를 제거하여 56비트로 만들고 이 56비트는 28비트로 양분되어 일정한 규칙에 의해 한 비트나 두 비트가 좌측으로 쉬프트 되고, 주어진 표에 의해 48비트의 키가 형성된다.The initial 64-bit key generated by the key generator is 56 bits by removing each 8th parity bit according to the given table, and these 56 bits are divided into 28 bits so that one or two bits are shifted to the left by a certain rule. A 48-bit key is formed from the table.

S-box 치환은 48비트로 압축된 키와 확장치환을 통해 얻어진 48비트를 XOR한후 이 연산을 통해 얻어진 48비트를 8개의 치환박스(substitution boxes)를 이용하여 32비트의 출력을 만드는 것으로, 32비트가 얻어지는 과정은 먼저 입력 48비트가 8개의 6비트 단위로 나뉘어지고, 이렇게 나뉘어진 블럭은 8개의 S-box를 이용하여 8개의 4비트 블럭으로 만드는데 예를들면 8개의 입력블럭 중 첫 번째 입력의 6비트를 in1∼in6이라고 하면 in1과 in6을 합하여 2비트의 숫자를 만들고, 이때 만든 2비트(0∼3 사이의 십진수 값)는 S-box1의 몇번째 줄(0부터 시작) 인가를 나타내게 되고, in2∼in5를 합하여 4비트를 만들며, 이 값을 10진수로 바꾼값(0∼15)은 표의 몇번째 칸(0부터 시작) 인지를 나타내게 되며, 이렇게 표에서 얻어진 값을 2진수로 바꾼 값이 4비트의 출력값이 된다. 위와 같은 과정을 통하여 8개의 4비트블럭 즉, 32비트의 출력값을 얻게 되는 것이다. S-box 치환은 상기한 치환들과는 달리 비선형적인 특성을 가지기 때문에 디이에스의 보안성에서 가장 핵심적인 부분이라고 할 수 있다.S-box substitution is an XOR of the 48-bit compressed key and 48-bit obtained through extended substitution, and then the 32-bit output is produced by using eight substitution boxes. First, the input 48 bits are divided into eight 6-bit units, and the divided blocks are made into eight 4-bit blocks using eight S-boxes. For example, the first input of the eight input blocks If 6 bits are in1 to in6, the sum of in1 and in6 is used to make a 2-bit number, and the 2 bits (decimal value between 0 and 3) created at this time indicate which line (starting from 0) of S-box1. , in2 ~ in5 are added to make 4 bits, and this value is converted into decimal number (0-15) to indicate which column of the table (starting from 0), and the value obtained from the table is converted to binary number. This is a 4-bit output value. Through the above process, 8 4-bit blocks, that is, 32-bit output values are obtained. S-box substitution is a key part of the security of the DS because it has a non-linear characteristics unlike the above-described substitutions.

P-box 치환은 단순치환이므로 입력으로 들어온 32비트를 주어진 표를 이용하여 치환한 값 역시 32비트의 값이 된다. 예컨대 입력의 16번째 값은 출력의 1번째 비트가 되고- 입력의 2번째 비트는 출력의 17번째 비트가 되는 것이다.Since P-box substitution is a simple substitution, the value of replacing 32 bits as input using the given table is also 32 bits. For example, the 16th value of the input becomes the 1st bit of the output-the 2nd bit of the input becomes the 17th bit of the output.

역 초기치환(inverse permutation)은 초기치환의 역으로서, 16라운드 후에 만들어 R16 + L16의 64비트를 주어진 표를 이용 치환하여 최종적으로 64비트 블럭을 얻는 것이다.Inverse permutation is the inverse of the initial substitution, which is made after 16 rounds and replaces the 64-bits of R16 + L16 with the given table to get the final 64-bit block.

상기한 디이에스는 암호화 하고자 하는 데이터의 길이가 64비트를 넘을 경우에 이들을 적절하게 연결하여 전체 데이터를 암호화 할 수 있도록 여러 가지 연산모드를 두고 있는데 그중 표준안에서 제안한 3가지의 연산모드를 도 2내지 도 4에 각각 도시하였다.The above-mentioned DS has various operation modes to encrypt the entire data by connecting them properly when the length of data to be encrypted exceeds 64 bits. Among them, three operation modes proposed in the standard are shown in Figs. 4, respectively.

<ECB(Electronic CodeBook)모드><ECB (Electronic CodeBook) mode>

평문을 암호 시스템의 블럭크기(64비트) 만큼 등분한 후, 각 블럭별로 암호화 하여 암호문을 생성하는 가장 간단한 모드로서 전체 구조는 도 2에 도시한 바와 같다. ECB 모드는 평문의 크기가 작을 때 이용하는 것이 좋으며, 같은 평문에 대해서는 같은 암호문이 생성되기 때문에 같은 문장이 반복되는 평문을 암호화 하는 경우에는 안전성에 문제가 있을 수 있다. 즉, 해독 공격에 취약한 단점을 가지고 있다.After dividing the plain text by the block size (64-bit) of the cryptographic system, and encrypting each block to generate a ciphertext, the entire structure is shown in FIG. ECB mode is recommended to use when the size of the plain text is small, and since the same cipher text is generated for the same plain text, there may be a security problem when encrypting the plain text where the same sentence is repeated. That is, it has a disadvantage of being vulnerable to decryption attacks.

<CBC(Cipher Block Chaining)모드><CBC (Cipher Block Chaining) Mode>

ECB 모드에서의 보안성이 취약한 단점을 보완하기 위해 같은 평문이 반복되는 경우에 다른 암호문을 생성하는 연산모드이며, 그 구조는 도 3에 도시한 바와 같다. 암호화 하기 위해 디이에스 암호기(DES Encrypter)로 들어가는 입력은 현재 입력으로 들어오는 평문과 그 이전에 암호화된 암호화 블럭과의 XOR 값이 되고, 초기의 암호화를 위해서 초기설정 벡터IV(Initialization Vector:IV)를 사용하여 캐리(C1)를 생성한다. 복호화는 암호화의 역의 과정이고 초기설정 백터 값은 키와 마찬가지로 중요하므로 보안에 주의해야 한다. CBC 모드는 평문의 길이가 긴 메시지의 암호화에 적당하다.In order to compensate for the weakness of the weak security in the ECB mode is an operation mode for generating a different cipher text when the same plain text is repeated, the structure is shown in FIG. The input to the DES Encrypter for encryption is the XOR value of the plaintext coming into the current input and the previously encrypted block of encryption, and an Initialization Vector (IV) for the initial encryption. To generate a carry C1. Decryption is the reverse process of encryption, and initial vector values are just as important as keys, so be careful about security. CBC mode is suitable for encrypting messages with long plain text.

<CFB(Cipher FeedBack)모드><CFB (Cipher FeedBack) mode>

DES 모드는 블럭 암호화 시스템이지만 CFB 모드를 이용하면 스트림 암호화가 가능하게 할 수 있다. 스트림 암호화는 평문을 일정한 크기의 블럭으로 만들 필요가 없는 장점이 있다. 복호화는 같은 방법이 이용되지만 주의할 점은 DES의 복호화 알고리즘이 쓰이지 않고 암호화 알고리즘이 그대로 쓰인다는 것이다. 그리고 캐리(C1)가 쉬프트 레지스터의 입력으로 들어가기 때문에 에러가 발생했을 때에 그 에러가 전파된다는 단점을 가지고 있다. 전송 단위를 j비트로 하면 보통 전송 단위는 8비트가 된다(한 문자 = 8비트이므로). 암호화 하기 위해 디이에스 암호기(DES Encrypter)로 들어가는 64비트 입력은 초기에 초기설정 벡터(Initialization Vector)를 가지는 64비트 쉬프트 레지스터로부터 얻어지며, 이 레지스터는 8비트 만큼 좌측으로 쉬프트 되고 그 이전에 암호화된 8비트의 캐리(C1) 값이 최하위 8비트로 들어가는 거으로 전체 구조는 도 4에 도시한 바와 같다.DES mode is a block encryption system, but CFB mode can be used to enable stream encryption. Stream encryption has the advantage of not having to make plaintext blocks of a certain size. The same method is used for decryption, but note that the decryption algorithm of DES is not used, but the encryption algorithm is used as it is. In addition, since the carry C1 enters the input of the shift register, the error is propagated when an error occurs. When the transmission unit is j bits, the transmission unit is usually 8 bits (since one character = 8 bits). The 64-bit input to the DES Encrypter for encryption is initially obtained from a 64-bit shift register with an Initialization Vector, which is shifted left by 8 bits and previously encrypted. As the carry C1 value of 8 bits enters the least significant 8 bits, the overall structure is as shown in FIG.

이상에서 설명한 바와 같이 하여 암호화된 정보를 수신측에서 디스클램블링 하기 위해서는 복호화기(descramber)의 방식 및 구조를 체계적으로 연구하고 개발하는 일이 선행되어야 할 것인바 본 발명은 이러한 실정을 감안하여 본 발명의 발명자들이 연구를 거듭한 결과로서 얻어진 것으로서, 암호화된 MPEG-2 티에스(TS) 비트열의 암호화된 데이터를 여러 동작모드에서 효율적으로 복호화 하는 티에스 비트열의 데이터 디이에스 디스클램블링 장치를 제공함에 그 목적이 있다.As described above, in order to descramble the encrypted information at the receiving side, a systematic study and development of a scheme and a structure of a decrypter should be preceded. As a result of the inventors of the present invention, the present invention provides a data bit descrambling apparatus of a TS bit stream that efficiently decrypts encrypted data of an encrypted MPEG-2 TS bit stream in various modes of operation. There is a purpose.

도 1은 디이에스(DES) 알고리즘을 나타낸 도면,1 is a diagram illustrating a DES algorithm;

도 2는 ECB 모드의 구조도,2 is a structural diagram of an ECB mode;

도 3은 CBC 모드의 구조도,3 is a structural diagram of a CBC mode;

도 4는 CFB 모드의 구조도,4 is a structural diagram of a CFB mode;

도 5는 본 발명 티에스 비트열의 데이터 디이에스 디스클램링 장치의 구성도,5 is a configuration diagram of a data DS descrambling apparatus of the present invention TS bit string;

도 6은 본 발명에 따른 디이에스 복호기의 구성도,6 is a configuration diagram of a DS decoder according to the present invention;

도 7은 본 발명에 따른 제어레지스터부의 구성도,7 is a configuration diagram of a control register unit according to the present invention;

도 8은 본 발명에 따른 라운딩블럭 복호기의 구성도.8 is a block diagram of a rounding block decoder according to the present invention.

도 9는 본 발명에 사용된 클럭의 파형도,9 is a waveform diagram of a clock used in the present invention;

도 10은 본 발명에 따른 ECB 모드의 제어 레지스터부의 구성도,10 is a configuration diagram of a control register unit in the ECB mode according to the present invention;

도 11은 본 발명에 따른 CBC 모드의 제어 레지스터부의 구성도,11 is a configuration diagram of a control register unit in a CBC mode according to the present invention;

도 12는 본 발명에 따른 ECB,CBC 모드 동작시의 신호파형도,12 is a signal waveform diagram in ECB, CBC mode operation according to the present invention,

도 13a는 본 발명에 따른 ECB 모드 동작시 제어 레지스터부의 동작 순서도,13A is a flowchart illustrating an operation of a control register unit in an ECB mode operation according to the present invention;

도 13b는 본 발명에 따른 CBC 모드 동작시 제어 레지스터부의 동작 순서도,13B is a flowchart illustrating an operation of a control register unit in a CBC mode operation according to the present invention;

도 14는 본 발명에 따른 CFB 모드외 제어 레지스터부의 구성도,14 is a configuration diagram of a control register unit out of the CFB mode according to the present invention;

도 15는 본 발명에 따른 CFB 모드 동작시의 신호파형도,15 is a signal waveform diagram in the CFB mode operation according to the present invention;

도 16a, 도 16b는 본 발명에 따른 CFB 모드 동작시 제어 레지스터부의 동작 순서도,16A and 16B are flowcharts illustrating operations of the control register unit in the CFB mode operation according to the present invention;

도 17a 내지 도 17c는 본 발명에 따른 라운딩블럭 복호기의 동작 순서도이다.17A to 17C are flowcharts illustrating operations of a rounding block decoder according to the present invention.

* 도면의 주요부분에 대한 부호의 설명* Explanation of symbols for main parts of the drawings

1 : 신호전처리부 2 : 디이에스 복호기1: signal preprocessor 2: DS decoder

11 : 제어레지스터부 12 : 라운딩블럭 복호기11: control register part 12: rounding block decoder

21∼25 : 제1∼5레지스터 26 : 신호입력부21-25: 1st-5th register 26: signal input part

27 : 초기치환부 28 : 역 초기치환부27: initial substitution 28: reverse initial substitution

29 : 선택치환부 BF1~BF7 : 버퍼29: Optional replacement part BF1 to BF7: Buffer

RS : 라이트 쉬프트부(right shift) PC-2 : 선택치환부RS: Right shift PC-2: Optional replacement part

E-func : 확장치환부 TAU : 배타적논리부E-func: Extended substitution TAU: Exclusive logic

S1∼S8 : S-box 치환부 P-func : 단순치환부S1 to S8: S-box substitution part P-func: Simple substitution part

X-func : 배타적논리부X-func: Exclusive Logic

상기한 목적을 달성하기 위한 본 발명은 암호화된 데이터를 복호화 하는 복호화 시스템에 있어서, 티에스(TS) 비트열의 암호화 된 데이터와, 상기 암호화 된 데이터를 복호화 하기 위한 키 및, 초기설정 벡터를 포함한 입력신호를 처리하여 디이에스 복호화에 필요한 신호로 출력하는 신호전처리부(1)와; 상기 신호전처리부(1)의 출력신호를 입력받아 연산모드에 따라 상기 암호화된 데이터의 복호화 동작을 제어하는 제어레지스터부(11)와, 상기 제어레지스터부(11)를 통하여 전송된 암호화된 데이터를 상기 키와 상기 초기설정 벡터를 이용하여 디이에스 규격에서 요구되는 16번의 라운딩(rounding) 수행을 통해 복호화 하는 라운딩블럭 복호기(12)로 이루어진 디이에스 복호기(2 ; DES decrypter)로 구성된 것을 특징으로 한다.According to an aspect of the present invention, there is provided a decryption system for decrypting encrypted data, comprising: encrypted data of a TS bit sequence, a key for decrypting the encrypted data, and an input signal including an initialization vector; A signal preprocessing unit (1) for processing the signal and outputting the signal necessary for DS decoding; The control register unit 11 for receiving the output signal of the signal preprocessing unit 1 and controlling the decryption operation of the encrypted data according to the operation mode and the encrypted data transmitted through the control register unit 11. DES decrypter (2) comprising a rounding block decoder (12) for decrypting by performing 16 roundings required by the DS standard using the key and the initial set vector. .

상기 제어레지스터부(11)는, 데이터신호(eb)가 입력되는 버퍼(BF1)에다 제5레지스터(25)를 통해 버퍼(BF2),(BF3)를 가각 연결함과 더불어 상기 데이터신호(eb)가 입력되는 버퍼(BF3)에 제1레지스터(21)를 거쳐 버퍼(BF4),(BF5)와 초기치환부(27)를 연결하고, 상기 버퍼(BF4)에 레지스터(23)를 통해 버퍼(BF6)를 연결함과 더불어 상기 버퍼(BF5)에다 역 초기치환부(28)의 출력이 입력되는 제2레지스터(22)를 통해 버퍼(BF7)를 연결하며. 상기 버퍼(BF2)에 제4레지스터(24)를 통해 상기 버퍼(BF6)를 연결함과 더불어 신호입력부(26)에 선택치환부(29)를 연결하고, 상기 제1레시스터(21)에 초기치환부(27)를 연결하여 구성되며, 상기 라운딩블럭 복호기(12)는, 상기 키(KEY)의 비트를 양분하여 디이에스 복호화 알고리즘의 라이트 쉬프트(right shift) 동작을 신호(LS-SEL)의 값만큼 쉬프트 하는 라이트 쉬프트부(RS),(RS)에 입력되는 데이터로 키값을 생성하는 선택치환부(PC-2)를 연결함과 더불어 입력블럭(IN-BL)중 하위비트쪽의 값을 확정하는 확장치환부(E-func)를 연결하고, 상기 선택치환부(PC-2)와 확장치환부 (E-func)에다 배타적논리부(TAU)를 통해 S-box 치환부(S1∼S8)를 연결하며, 상기 S-box 치환부(S1∼S8)에 단순치환부(P-func)를 거쳐 상기 입력블럭(IN-BL)중 상위 비트쪽의 값과 상기 단순치환부(P-func)의 출력값을 XOR 하는 배타적논리부(X-func)를 연결하여서 이루어진 구성이 다수 결합되어 구성된다.The control register unit 11 connects the buffers BF2 and BF3 to the buffer BF1 to which the data signal eb is input through the fifth register 25, respectively, and the data signal eb. Is connected to the buffer BF3 through which the first register 21 is connected to the buffers BF4 and BF5 and the initial replacement unit 27, and the buffer BF6 is connected to the buffer BF4 through the register 23. And a buffer BF7 through a second register 22 to which the output of the reverse initial replacement unit 28 is input to the buffer BF5. The buffer BF6 is connected to the buffer BF2 through the fourth register 24, and the selection replacer 29 is connected to the signal input unit 26, and the initial value is connected to the first register 21. The rounding block decoder 12 divides the bits of the key and performs a right shift operation of a DS decoding algorithm on the value of the signal LS-SEL. Connect the light shift unit RS, which shifts by as much as possible, and the selection exchange unit PC-2 that generates a key value from the data input to the RS, and determine the value of the lower bit of the input block IN-BL. The S-box substitution unit (S1 to S8) is connected to the expansion substitution unit (E-func), and through the exclusive logic unit (TAU) to the selective substitution unit (PC-2) and the expansion substitution unit (E-func). Is connected to the S-box substitution unit (S1 to S8) through a simple substitution unit (P-func), the value of the upper bit side of the input block (IN-BL) and the simple substitution unit (P-func) XOR the output of The exclusive logic unit (X-func) is composed by combining a plurality of configurations.

이하 첨부 도면을 참조하여 본 발명 티에스 비트열의 데이터 디이에스 디스클램블링 장치의 작용을 상세하게 설명한다.Hereinafter, with reference to the accompanying drawings will be described in detail the operation of the data DS descrambling device of the TS bit string of the present invention.

도 5는 본 발명 티에스 비트열의 데이터 디이에스 디스클램블링 장치의 전체 구성도로서, 전체시스템은 티에스(TS) 비트열의 데이터를 받아서 디이에스 복호기(2)로 전송하여 복호화 하는데 필요한 키와 초기설정 벡터(initialization Vector) 및 암호화된 데이터를 전달하는 신호전처리부(1)와, 이렇게 전달된 신호로부터 실질적인 복호화 동작을 하는 디이에스 복호기(2)로 구성된다.FIG. 5 is an overall configuration diagram of a device for descrambling a data bit of a TS bit stream of the present invention. The entire system receives a data of a TS bit stream and transmits the data to the TS decoder 2 to decrypt and decode the TS bit string. (initialization vector) and a signal preprocessing unit (1) for transmitting encrypted data, and a DS decoder (2) for performing a substantial decryption operation from the transmitted signal.

그리고 상기 디이에스 복호기(1)는 도 6에 도시한 바와 같이 제어레지스터부(11)와 라운딩블럭 복호기(12)의 2개의 모듈로 구성되어 있고, 상기 제어레지스터부(11)는 하나로서 EBS 모드, CBC 모드, CFB 모드의 3가지 모드에서 암호화된 비트열의 데이터를 모두 복호화 할 수 있도록 도 7에 도시한 바와 같이 구현되어 있으며, 16라운드의 디이에스 복호화를 위해 1개의 라운드를 처리하는 라운딩블럭 복호기(12)를 16번 동작시켜 1블럭을 복호화 할 수 있도록 되어 있다.The DS decoder 1 is composed of two modules, a control register 11 and a rounding block decoder 12, as shown in FIG. 6, and the control register 11 is one of the EBS modes. As shown in FIG. 7, the rounded block decoder processes one round for 16 rounds of DC decryption, so that the encrypted bit string data can be decrypted in three modes, CBC mode and CFB mode. By operating (12) 16 times, one block can be decoded.

시스템에 입력되는 신호는 티에스 데이터(ts-data), 제어워드(Control Word) 신호(CW), 초기설정백터(initialization Vector)신호(IV-CW), 시스템클럭으로 나뉘어 지며, 티에스 데이터(ts-data)는 8비트 단위의 데이터, 클럭(clock), 데이터의 유효함을 알려 주는 신호(Data-valid)로 이루어 진다. 그리고 제어워드(Control Wored)신호(CW), 초기설정백터(initialization Vector)신호(IV-CWT)는 64비트의 형태로 입력되어 진다. 신호전처리부(1)는 이러한 입력신호로부터 실제 디이에스 복호화를 하는네 필요한 신호를 디이에스 복호기(2)로 전송하는 작용을 한다. 신호전처리부(1)로부터 출력되는 신호로서는 암호화된 8바이트의 데이터신호(eb), 신호(inValid). 디이에스복호기(2)의 동작을 위한 클럭, 신호(KEY),(IV), 3가지 모드(ECB 모드, CBC 모드, CFB 모드)를 선택할 수 있는 모드선택신호(mode-sel), 순응필드(Adaptation Field)의 크기를 전송하는 신호(AF-L)등이 있다.The signal input to the system is divided into TS data, Control Word signal CW, Initialization Vector signal IV-CW, and system clock, and TS data data is composed of 8-bit data, a clock, and a signal (Data-valid) indicating the validity of the data. The control word signal CW and the initialization vector signal IV-CWT are input in the form of 64 bits. The signal preprocessing unit 1 functions to transmit the necessary signals for the actual DS decoding from the input signal to the DS decoder 2. As a signal output from the signal preprocessor 1, an encrypted 8-byte data signal eb and a signal inValid. Clock, signal (KEY), (IV), three mode (ECB mode, CBC mode, CFB mode) for operation of DS decoder 2, mode selection signal (mode-sel), compliance field ( There is a signal (AF-L) for transmitting the size of the adaptation field.

먼저 클럭을 살펴보면, 디이에스 복호기(2)에 사용된 클럭수는 도 9에 도시한 바와 같이 클럭(TS-c1ocl)과 클럭(RB-ECBC-clock) 및 클럭(RB-CFB-clock)의 3개를 사용하였으며. 실제 입출력 되는 비트열의 암호화된 데이터신호(eb)와 복호화된 데이터신호(de)는 클럭(TS-clock)에 맞추어 입력되고 출력된다. 도 9로부터 알 수 있는 바와 같이 클럭(RB-ECBC-clock)은 ECB 모드, CBC 모드에서의 복호화 동작을 위해 정의된 클럭으로서 클럭(TS-clock)보다 2배가 빠른데 제어레지스터부(11)로 입력되어진 블럭 암호화된 8비트의 데이터신호(eb ; encrypted byte)를 블럭 복호화 하기 위해서 8바이트(64비트) 레지스터에 저장한 후 라운드블럭 복호기(12)로 들어오기 까지 8사이클의 시간이 있으므로 이 시간안에 라운드블럭 복호기(12)는 1블럭에 대한 16라운드 복호화 동작을 처리해야 한다. 즉, 클럭(TS-clock)의 8사이클 동안 1라운드를 처리하는 라운딩블럭 복호기(12)를 16번 동작 시켜야 하기 때문에 적어도 2배 빠른 클럭을 사용한 것이다.Referring to the clock, the number of clocks used in the DS decoder 2 is equal to 3 of the clock TS-c1ocl, the clock RB-ECBC-clock, and the clock RB-CFB-clock as shown in FIG. Used. The encrypted data signal eb and the decoded data signal de of the bit string actually input and output are input and output in accordance with the clock TS-clock. As can be seen from FIG. 9, the clock (RB-ECBC-clock) is a clock defined for the decoding operation in the ECB mode and the CBC mode, and is twice as fast as the clock (TS-clock) but is input to the control register unit 11. In order to decode the encrypted 8-bit encrypted data signal (eb; encrypted byte) in 8-byte (64-bit) register, there is 8 cycles before entering the round block decoder 12. The round block decoder 12 must process 16 round decoding operations for one block. That is, since the rounding block decoder 12, which processes one round for eight cycles of the TS-clock, must be operated 16 times, the clock is used at least twice as fast.

클럭(RB-CFB-clock)은 CFB 모드를 위해 필요한 클럭으로서, 이 클럭(RB-CFB-clock)은 클럭(TS-clock)보다 16배가 빠르게 설계되어 있는 바, 그 이유는 CFB 모드가 스트림 암호화 모드이기 때문에 제어레지스터부(11)로 입력되어진 1바이트의 암호화된 데이터에 대해 쉬프트 레지스터를 이용하여 1블럭의 데이터를 라운드블럭 복호기(12)로 전달한다. 즉, 암호화된 데이터의 입력에서부터 1블럭의 데이터를 라운딩블럭 복호기(12)로 전달하는데 까지 걸리는 시간이 1사이클 이므로 다음 블럭이 들어오기 전 1사이클안에 1라운드를 처리하는 라운딩블럭 복호기(12)를 16번동작시켜야 하기 때문에 16배 빠른 클럭이 사용되었다.The clock (RB-CFB-clock) is the clock required for CFB mode, which is designed 16 times faster than the clock (TS-clock) because CFB mode is the stream encryption. In this mode, one block of data is transmitted to the round block decoder 12 using the shift register for the one-byte encrypted data input to the control register unit 11. That is, since it takes one cycle from the input of the encrypted data to the one block of data to the rounding block decoder 12, the rounding block decoder 12 that processes one round in one cycle before the next block enters. The clock was 16 times faster because it had to be operated 16 times.

신호(AF-L)는 제어레지스터부(11)가 순응필드의 크기를 입력 받아서 그 크기의 순응필드 바이트 만큼 복호화 동작을 수행하지 않고 통과시키는데 사용한다. 도 12와 도 15는 4바이트의 헤더와 20바이트의 데이터를 가지는 티에스 패킷을 예로들어 ECB. CBC, CFB 각각의 모드에서의 입출력신호 타이밍챠트를 나타낸 것이다.The signal AF-L is used by the control register unit 11 to receive the size of the compliance field and pass it by performing the decoding operation by the compliance field bytes of the size. 12 and 15 are ECB examples of TS packets having 4 bytes of headers and 20 bytes of data. I / O signal timing charts for CBC and CFB modes are shown.

티에스 패킷 데이터는 클럭(TS-clcok)에 동기되어 입력되는데, 티에스 패킷 해더의 첫 바이트에서 신호(TS-packet-start)가 신호(TS-clock)의 1사이클 동안 액티브 하이레벨 상태가 된다. 첫 바이트가 입력되어 복호화 되어 나갈 때 까지 걸리는 시간은 ECB, CBC 모드는 18사이클이 소요되고, CFB 모드는 4사이클이 소요된다. ECB,CBC 모드에서는 먼저 들어온 데이터의 래치와 출력되는 신호를 위해 1사이클이 소요되고, 제어레지스터부(11)에서 라운딩블럭 복호기(12)로 1블럭을 전송하는데 8사이클, 라운딩블럭 복호기(12)와 제어 레지스터부(11)와의 신호 입출력에서 1사이클 그리고 1블럭의 라운딩블럭 복호화 처리에 8사이클이 소요되어 총 18사이클이 소요된다. CFB 모드에서는 먼저 들어은 데이터의 래치와 출력되는 신호를 위해 1사이클이 소요되고, 제어레지스터부(11)에서 라운딩블럭 복호기(12)로 1블럭을 전송하는데 1사이클, 라운딩블럭 복호기(12)와 제어레지스터부(11)와의 신호 입출력에서 1사이클, 그리고 1블럭의 라운딩블럭 복호화 처리에 1사이클이 소요되어 총 4사이클이 소요된다.The TS packet data is input in synchronization with the clock TS-clcok. At the first byte of the TS packet header, the signal TS-packet-start becomes an active high level state for one cycle of the signal TS-clock. It takes 18 cycles for ECB, CBC mode and 4 cycles for CFB mode until the first byte is input and decoded. In the ECB and CBC modes, one cycle is required for the latching of the first data and an output signal, and eight cycles are transmitted from the control register unit 11 to the rounding block decoder 12. The rounding block decoder 12 8 cycles are required for one cycle and one block of rounding block decoding in the signal input / output with the control register section 11, which takes a total of 18 cycles. In the CFB mode, one cycle is required for latching the first data and the output signal, and one cycle is transmitted from the control register unit 11 to the rounding block decoder 12 to control the rounding block decoder 12 and the control. One cycle and one block of rounding block decoding processing are required for signal input / output with the register section 11, which takes four cycles in total.

ECB. CBC, CFB 모드를 구현하기 위하여 제어레지스터부(11)는 8바이트 레지스터(제1,2레지스터(21),(22)) 2개와, 16바이트 레지스터(제3레지스터(23)) 1개, 2바이트 레지스터(제4레지스터(24)) 1개, 1바이트 레지스터(제5레지스터(25)) 1개, 버퍼(BF1∼BF7)를 사용하여 구현하였다. 각각의 모드는 신호(mode-sel) 값에 의하여 결정되며, 키신호(KEY)와 초기설정백터(initialization Vector)신호(IV)를 받아서 복호화를 수행한다. 이때 CBC 모드 역암호화 구현시 초기설정백터(initialization Vector)신호(IV) 값의 XOR 하기 위해서 도 7에 도시한 바와 같이 신호(in-valid-first-blk)를 입력 받는다.ECB. In order to implement the CBC and CFB modes, the control register unit 11 includes two 8-byte registers (first and second registers 21 and 22) and one 16-byte register (third register 23). One byte register (fourth register 24), one byte register (five registers 25), and buffers BF1 to BF7 are implemented. Each mode is determined by a mode-sel value, and receives a key signal KEY and an initialization vector signal IV to perform decoding. At this time, when the CBC mode de-encryption is implemented, a signal (in-valid-first-blk) is input as shown in FIG. 7 to XOR the value of the initialization vector signal IV.

다음으로 각 모드별 암호화된 데이터의 복호화 작용을 설명한다.Next, the decryption operation of the encrypted data for each mode will be described.

<ECB, CBC 모드><ECB, CBC mode>

도 10은 ECB 모드시 제어레지스터부(11)의 구성도로서, 이러한 제어레지스터부(11)는 신호전처리부(1)로부터 바이트 단위의 신호를 입력 받아서 라운딩블럭 복호기(12)로 8바이트 단위(블럭단위)로 출력하고, 라운딩블럭 복호기(12)로 신호를 입력하기 위해서 2개의 8바이트 크기의 레지스터(21),(22)가 필요하며, 입력과 출력을 래치하기 위해 3개의 바이트 레지스터 버퍼(BF3),(BF5),(BF7)가 필요하다.FIG. 10 is a configuration diagram of the control register unit 11 in the ECB mode. The control register unit 11 receives a signal in units of bytes from the signal preprocessing unit 1 and sends it to the rounding block decoder 12 in 8-byte units ( Two 8-byte registers 21 and 22 are required to output in units of blocks, and to input signals to the rounding block decoder 12, and a three-byte register buffer ( BF3), (BF5) and (BF7) are required.

그리고 라운드블럭 복호기(12)로 들어가는 입력과 출력에 대해 디이에스 알고리즘 중에서 처음과 마지막에서 한번만 사용되는 초기치환부(IP), 역 초기치환부(inverse IP), 64비트의 키 값을 56비트의 값으로 치환시켜 주는 선택치환부(PC-1)부분을 제어레지스터부(11)에 구현함으로써 하나의 라운드를 처리하는 라운드블럭 복호기(12)를 16번 반복 사용하여 16라운드를 구현할 수 있도록 구성하였다.And for the input and output to the round block decoder 12, the initial replacement unit (IP), inverse IP, and 64-bit key values, which are used only once in the first and last ones of the DS algorithm, are converted into 56-bit values. By implementing the substitution part (PC-1) portion to the control register unit 11 to replace the round block decoder 12 for processing one round 16 times it was configured to implement 16 rounds.

도 11은 CBC 모드시 제어레지스터부(11)의 구성도로서, 상기 ECB 모드와 거의 유사하나 연쇄(chaining) 알고리즘을 구현하기 위하여 16바이트 쉬프트 레지스터인 제3레지스터(23)를 사용하였고, 이 레지스터(23)로부터 나온 1바이트의 값과 복호화된 1바이트의 값을 XOR 하여 최종적으로 복호화된 신호(db)를 출력한다. 도 12는 본 발명에 따른 ECB, CBC 모드 동작시의 신호파형도, 도 13a, 도 13b는 각각 신호전처리부(1)로부터 입력을 받아서 라운딩블럭 복호기(12)로 8바이트 단위로 출력하는 알고리즘을 구현하는 본 발명에 따른 ECB,CBC모드 동작시 제어 레시스터부(11)의 동작 순서도로서, 먼저 헤더와 나머지를 구별하여 암호화 때와 마찬가지로 역 암호화 하지 않고 통과 시킨다. 그리고 유효한 암호화 데이터가 들어오면 카운트하여 카운트 값이 8 이 되면 즉, 1블럭(8바이트)이 되면, 라운드블럭 복호기(12)에 데이터를 전송한다. 라운드블럭 복호기(12)로부터 복호화된 블럭이 입력되면 CBC 모드의 경우에는 초기의 첫 복호화된 블럭과 초기설정백터(IV)와의 XOR 과정을 거쳐서 역 암호화된 최초의 1블럭 평문을 얻는다. 이 블럭은 제2레지스터(22)에 의하여 1바이트 단위로 출력되고, 그 이후의 역 암호화된 1바이트의 데이티 출력은 제어레지스터부(11)로 전송된 그 이전의 암호화 문과 라운드블럭 복호기(12)에서의 전송으로 역 초기치환되어 제2레지스터(22)에 저장된 복호화된 바이트와의 XOR을 통하여 얻을 수 있다.FIG. 11 is a configuration diagram of the control register unit 11 in the CBC mode, which is similar to the ECB mode, but uses a third register 23 that is a 16-byte shift register to implement a chaining algorithm. The decoded signal db is finally output by XORing the value of 1 byte and the decoded 1 byte value obtained from (23). 12 is a signal waveform diagram in ECB and CBC mode operation according to the present invention, and FIGS. 13A and 13B respectively show an algorithm for receiving an input from the signal preprocessor 1 and outputting it to the rounding block decoder 12 in 8-byte units. As an operation flowchart of the control register unit 11 during ECB and CBC mode operation according to the present invention, the header and the rest are first distinguished and passed without reverse encryption as in the case of encryption. When valid encrypted data comes in, the count is counted to 8, that is, 1 block (8 bytes), the data is transmitted to the round block decoder 12. When the decrypted block is input from the round block decoder 12, in the case of the CBC mode, the first 1-block plaintext that is inversely encrypted is obtained through an XOR process between the initial first decrypted block and the initialization vector IV. The block is output by the second register 22 in units of 1 byte, and the data output of the reverse encrypted one byte thereafter is transmitted to the control register unit 11 before the encrypted statement and the round block decoder 12. It can be obtained through XOR with the decoded byte stored in the second register 22 after being reverse-initialized by the transmission in.

<CFB 모드><CFB mode>

도 14는 CFB 모드시 제어레지스터부(11)의 구성도로서, 먼저 최초의 복호화 된 1바이트의 출력을 얻기 위하여 쉬프트 레지스터인 제1레지스터(21)에 로딩(loading) 되어 있던 초기설정벡터(IV) 값 8바이트를 초기치환부(27)를 거쳐서 라운딩블럭 복호기(12)로 전송한다. 그리고 라운딩블럭 복호기(12)에서 복호화 처리된 8바이트 값이 제어 레지스터인 제2레지스터(22)로 전송되고 이렇게 전송된 8바이트 중에서 최상위 한 바이트 만이 제어레지스터부(11)의 입력값인 신호(eb)와 익스클루시브오아 되어서 최종적으로 복호화된 출력값 1바이트가 얻어진다. 그 다음 출력값 들은 제1레지스터(21)의 최하위 8비트에 그 이전의 신호(eb)를 로딩하여 위와 동일한 방법으로 복호화된 바이트를 얻는다.FIG. 14 is a configuration diagram of the control register unit 11 in the CFB mode. First, the initial setting vector IV loaded in the first register 21, which is a shift register, to obtain the first decoded 1-byte output. ) 8 bytes is transmitted to the rounding block decoder 12 via the initial replacement unit 27. The 8-byte value decoded by the rounding block decoder 12 is transmitted to the second register 22, which is a control register, and only the most significant byte of the 8-bytes transmitted as the input value of the control register 11 is eb. ) And exclusive or, finally, the decoded output value 1 byte is obtained. The output values are then loaded with the previous signal eb in the least significant 8 bits of the first register 21 to obtain the decoded byte in the same manner as above.

여기서 CFB 모드는 스트림 암호화 시스템이기 때문에 8바이트 단위의 블럭으로 블럭화할 필요가 없다. 따라서 나머지(residue)가 존재하지 않는다. 상기한 ECB,CBC 모드의 경우는 블럭화 하여 암호화 하기 때문에 나머지가 존재하는데 헤더와 나머지는 암호화나 복호화 되지 않고 원신호 그대로 입출력 된다. 초기설정벡터(IV)로부터 복호화된 바이트를 얻기 위해 즉, 초기에 라운딩블럭 복호기(12)로 1블럭을 전송하는데 1사이클이 소요되므로 이 지연을 위해 제5레지스터(25)를 사용하며, 헤더의 패스(pass) 및, 라운딩블럭 복호기(12)와 이전의 신호(eb)를 XOR 하여 복호화 바이트를 얻기 위해 제4레지스터(24)를 사용한다.Since the CFB mode is a stream encryption system, there is no need to block the block in units of 8 bytes. Therefore, there is no residue. In the ECB and CBC modes described above, there is a rest because the block is encrypted. The header and the rest are inputted and outputted as they are, without being encrypted or decrypted. In order to obtain the decoded byte from the initialization vector IV, that is, one cycle is initially required to transmit one block to the rounding block decoder 12, the fifth register 25 is used for this delay. The fourth register 24 is used to XOR the pass and the rounding block decoder 12 and the previous signal eb to obtain the decoded byte.

도 15는 본 발명에 따른 CFB 모드 동작시의 신호파형도, 도 16은 본 발명에 따른 CFB 모드 동작시 제어 레지스터부의 동작 순서도로서, 먼저 헤더를 체크하여 암호화 과정과 마찬가지로 역 암호화 하지 않고 그냥 통과 시킨다. 그리고 제1레지스터(21)에 쌓인 유효한 1블럭 데이터는 초기치환부(27)를 거쳐 라운딩블럭 복호기(12)로 인가되고, 라운딩블럭 복호기(12)에서 복호화된 블럭은 역 초기치환부(28)를 거쳐 제2레지스터(22)로 입력되며, 제어레지스터부(11)로 전송된 암호화 바이트를 제4레지스터(24)를 이용하여 상기한 제2레지스터(22)로 입력된 역 암호화된 바이트와 XOR 하여 최종적으로 역 암호화 한 1바이트 평문을 얻는다.FIG. 15 is a signal waveform diagram of the CFB mode operation according to the present invention, and FIG. 16 is a flowchart illustrating the operation of the control register unit during the CFB mode operation according to the present invention. . The effective one block data accumulated in the first register 21 is applied to the rounding block decoder 12 via the initial replacement unit 27, and the block decoded by the rounding block decoder 12 is passed through the inverse initial replacement unit 28. XOR the encryption byte inputted to the second register 22 and transmitted to the control register unit 11 to the reverse encrypted byte inputted to the second register 22 using the fourth register 24 to finally perform the XOR. Get a single-byte plaintext that has been inversely encrypted.

도 8은 본 발명에 따른 라운딩블럭 복호기(12)의 구성도로서, 16 라운드의 디이에스 복호화 알고리즘을 구현하기 위해 하나의 라운드 블럭을 처리하는 라운드 블럭부를 16번 동작시켜서 1블럭을 복호화 할 수 있도록 설계한 것으로서, ECB,CBC 모드는 라이트 쉬프트부(RS)의 구조가 같고, CFB 모드의 경우는 디이에스 복호기 알고리즘을 쓰지않고 암호화기 알고리즘을 사용하게 된다.8 is a block diagram of a rounding block decoder 12 according to an embodiment of the present invention, in order to decode one block by operating a round block unit that processes one round block 16 times to implement a 16-round DS decoding algorithm. As designed, the ECB and CBC modes have the same structure of the write shift unit RS. In the CFB mode, the encoder algorithm is used without using the DS decoder algorithm.

디이에스 라운드블럭 알고리즘중 처음과 마지막에서만 필요한 초기치환과 역 초기치환 그리고 64 비트의 키에서 패리티 비트를 제거한 56 비트의 신호(K) 값을 얻기 위한 선택치환부(PC-1)는 제어 레지스터부(11)에 내장하고 그 이외의 부분만을 라운딩블럭 복호기(12)에서 처리 하도록 설계하였다.In the DS round block algorithm, the selective substitution unit (PC-1) for acquiring the 56-bit signal (K) value obtained by removing the parity bit from the initial and inverse initial substitution and the 64-bit key required only at the beginning and end of the DS is performed in the control register unit. Built in (11), only the other parts were designed to be processed by the rounding block decoder 12.

먼저 라운딩블럭 복호기(12)의 입력은 라운딩블럭 복호기(12)의 동작클럭(RB-clock)과 티에스 스트림의 동작클럭(TS-clock), 56 비트의 신호(K), 제어레지스터부(11)에서 출력된 64 비트 블럭단위의 입력블럭(IN-BLK) 및 데이터 동기신호(IN-BLK-IN)로 이루어져 있다.First, the input of the rounding block decoder 12 is an operation clock (RB-clock) of the rounding block decoder 12, an operation clock (TS-clock) of the TS stream, a signal (K) of 56 bits, and the control register unit 11. It consists of an input block (IN-BLK) and a data synchronization signal (IN-BLK-IN) in units of 64-bit blocks.

키 생성부의 알고리즘을 위한 블럭으로 먼저 복호화를 위해 키 56 비트의 키를 28 비트로 양분하여 디이에스 복호화 알고리즘의 라이트 쉬프트(right shift) 동작을 신호(LS-SEL)의 값만큼 쉬프트를 행하는 라이트 쉬프트부(RS)가 있고, 이렇게 신호(LS-SEL)의 값에 의해 한 비트나 두 비트가 암호화의 역의 방향인 우측으로 쉬프트된 2개의 28 비트 데이터를 받아서 48 비트의 키 값을 생성하는 선택치환부(PC-2)가 있다.The block for the algorithm of the key generation unit, which first divides the 56-bit key into 28 bits for decryption, and shifts the right shift operation of the DS decryption algorithm by the value of the signal LS-SEL. (RS), and a selection switch which receives two 28-bit data shifted to the right side in which the bit or two bits are shifted to the right side in the reverse direction of encryption by the value of the signal LS-SEL, and generates a 48-bit key value. (PC-2).

그리고 확장치환부(E-func)는 64 비트의 블럭중 우측 32 비트값(하위 비트쪽의 값)을 48 비트로 확장하는 알고리즘을 구현하는 것이고, 위에서 구한 48 비트의 키와 확장치환부(E-func)를 거친 48 비트의 값을 XOR 하는 배타적논리부(TAU)가 있다. S-box 치환부(S1∼S8)는 48 비트의 배타적 논리부(ATU)의 출력값을 32 비트의 값으로 만드는 S-box 치환을 구현하는 것이며, 이러한 32 비트의 S-box 값은 단순 치환부(P-func)를 통해 32 비트의 치환값을 생성하고, 이 값과 64 비트의 입력블럭(IN-BL) 중에서 아직 사용하지 않았던 좌측 32 비트값(상위 비트쪽의 값)을 최종적으로 XOR 하는 배타적논리부(X-func)를 거쳐 한 라운드 처리된 우측 32비트를 생성한다. 이렇게 한 라운드 처리된 좌측 32 비트는 입력된 64 비트의 우측 32 비트의 값으로 갱신된다.The extended replacer (E-func) implements an algorithm for extending the right 32-bit value (lower bit value) of the 64-bit block to 48 bits. The 48-bit key and the extended replacer (E-func) obtained above. There is an exclusive logic unit (TAU) that XORs a 48-bit value through func). The S-box replacements S1 to S8 implement S-box substitution that makes the output value of the 48-bit exclusive logic unit (ATU) 32-bit values. Such 32-bit S-box values are simple replacements. P-func generates 32-bit substitution value, and finally XORs the left 32-bit value (higher bit value) that has not been used among this value and 64-bit input block (IN-BL). A 32-bit right-hand side is generated via an exclusive logic unit (X-func). The left 32 bits thus rounded are updated with the value of the right 32 bits of the input 64 bits.

이와 같은 라운드 과정을 16번 반복하여 얻어진 최종 우측 32 비트의 값은 입력받을 때와는 반대로 64 비트의 출력값(OUT-BLK)의 상위 32 비트 값이 되고 최종 좌측 32 비트의 값은 하위 32 비트의 값이 되어 최종 16 라운드 처리된 출력 64비트 블럭값인 출력값(OUT-BLK)과 신호(Valid)인 출력값(OUT-BLK-OUT)을 제어레지스터부(1])로 전달한다.The last right 32 bit value obtained by repeating this round 16 times becomes the upper 32 bit value of the 64-bit output value (OUT-BLK) as opposed to the input, and the last left 32 bit value is the lower 32 bit value. The output value OUT-BLK, which is the output 64-bit block value, and the output value OUT-BLK-OUT, which are the signals Validated, are transferred to the control register unit 1 by being the value.

도 17a 내지 도 17c는 제어레지스터부(11)로부터 받은 입력 블럭을 라운딩블럭 복호기(12)에서 처리하여 출력하는 알고리즘을 구현한 라운딩블럭 복호기의 동작 순서도로서, 먼저 모드에 따라서 필요한 클럭을 정한다. 이때 ECB. CBC 모드는 클럭(TS-clock) 보다 2배 빠른 클럭을 사용하고, CFB 모드에서는 16배 빠른 클럭을 사용한다. 모드가 결정 되었으면 제어레지스터부(11)로부터 들어오는 입력블럭(IN-BLK)을 유효신호(IN-BLOCK)를 사용하여 로딩 작업을 수행한다. ECB, CBC 모드와 CFB 모드는 동작이 거의 유사하나 각각 복호화 하는데 걸리는 시간이 다르고 입력 받는 신호(IN-BLOCK)의 유효신호가 달라서 로딩 동작에 약간의 차이가 있다. 이렇게 로딩된 1블럭 데이터는 16번 라운드의 반복을 한 후 카운트가 17이 될 때 즉, 16 라운드의 반복이 끝났을 때 제어레지스터부(11)로 복호화된 1블럭(8바이트)의 데이터틀 전송한다.17A to 17C are flowcharts illustrating the operation of a rounding block decoder in which an input block received from the control register unit 11 is processed and output by the rounding block decoder 12. First, a required clock is determined according to a mode. ECB. CBC mode uses a clock twice as fast as TS-clock, and CFB mode uses a clock 16 times faster. When the mode is determined, the input block IN-BLK from the control register unit 11 is loaded using the valid signal IN-BLOCK. The ECB, CBC and CFB modes are similar in operation, but the decoding time is different and the valid signal of the input signal (IN-BLOCK) is different. The 1-block data loaded in this way transmits 16 blocks of decoded data blocks to the control register unit 11 when the count reaches 17, that is, when 16 rounds of repetitions are completed. .

상기한 바와 같이 작용하는 본 발명 티에스 비트열의 데이터 디이에스 디스클램블링 장치는 암호화된 MPEG-2 티에스 비트열의 암호화 된 데이터를 여러 동작모드에서 효율적으로 복호화 할 수 있는 장점이 있다.The apparatus for descrambling data of the TS bit string of the present invention, which operates as described above, has an advantage of efficiently decrypting encrypted data of the encrypted MPEG-2 TS bit string in various operation modes.

Claims (3)

(정정)암호화된 데이터를 복호화 하는 복호화 시스템에 있어서, 티에스(TS)비트열의 암호화 된 데이터와, 상기 암호화 된 데이터를 복호화 하기 위한 키 및, 초기설정 벡터를 포함한 입력신호를 처리하여 디이에스 복호화에 필요한 신호로 출력하는 신호전처리부(1)와; 상기 신호전처리부(1)의 출력신호를 입력받아 연산모드에 따라 상기 암호화된 데이터의 복호화 동작을 제어하는 제어레지스터부(11)와, 상기 제어레지스터부(11)를 통하여 전송된 암호화된 데이터를 상기 키와 상기 초기설정 벡터를 이용하여 디이에스 규격에서 요구되는 16번의 라운딩(rounding) 수행을 통해 복호화 하는 라운딩 블럭 복호기(12)로 이루어진 디이에스 복호기(2 ; DES decrypter)로 구성된 것을 특징으로 하는 티에스 비트열의 데이터 디이에스 디스클램블링 장치.A (correction) decryption system for decrypting encrypted data, comprising processing encrypted data of a TS bit sequence, a key for decrypting the encrypted data, and an input signal including an initialization vector to decipher the DS. A signal preprocessor 1 for outputting the required signal; The control register unit 11 for receiving the output signal of the signal preprocessing unit 1 and controlling the decryption operation of the encrypted data according to the operation mode and the encrypted data transmitted through the control register unit 11. DES decrypter (2; DES decrypter) consisting of a rounding block decoder 12 for decrypting by performing 16 roundings required by the DS standard using the key and the initial set vector. A device for descrambling data of a TS bit string. (정정)제 1항에 있어서, 데이터신호(eb)가 입력되는 버퍼(BF1)에다 제5레지스터(25)를 통해 버퍼(BF2),(BF3)를 각각 연결함과 더불어 상기 데이터신호(eb)가 입력되는 버퍼(BF3)에 제1레지스터(21)를 거쳐 버퍼(BF4),(BF5)와 초기치환부(27)틀 연결하고, 상기 버퍼(BF4)에 레지스터(23)를 통해 버퍼(BF6)를 연결함과 더불어 상기 버퍼(BF5)에다 역 초기치환부(28)의 출력이 입력되는 제2레지스터(22)를 통해 버퍼(BF7)를 연결하며, 상기 버퍼(BF2)에 제4레지스터(24)틀 통해 상기 버퍼(BF6)를 연결함과 더불어 신호입력부(26)에 선댁치환부(29)를 연결하고, 상기 제1레지스터(21)에 초기치환부(27)를 연결하여 상기 제어레지스터부(11)를 구성한 것을 특징으로 하는 티에스 비트열의 데이터 디이에스 디스클램블링 장치.(Correction) The data signal eb according to claim 1, wherein the buffers BF2 and BF3 are connected to a buffer BF1 to which the data signal eb is input through a fifth register 25, respectively. Is connected to the buffers BF4 and BF5 and the initial replacement unit 27 via the first register 21 to the buffer BF3 to which the input is performed, and the buffer BF6 is connected to the buffer BF4 through the register 23. And a buffer BF7 through a second register 22 to which the output of the reverse initial replacement unit 28 is input to the buffer BF5, and a fourth register 24 to the buffer BF2. The buffer register BF6 is connected to the signal input unit 26, and the preliminary replacement unit 29 is connected to the first input unit 21, and the control register unit 11 is connected to the first register 21. And a data bit descrambling device of a TS bit string. (정정)제 1항에 있어서, 상기 키(KEY)의 비트를 양분하여 디이에스 복호화 알고리즘의 라이트 쉬프트(right shift) 동작을 신호(LS-SEL)의 값만큼 쉬프트- 하는 라이트 쉬프트부(RS),(RS)에 입력되는 데이터로 키값을 생성하는 선택치환부(PC-2)를 연결함과 더불어 입력블럭(IN-BL)중 하위비트쪽의 값을 확장하는 확장치환부(E-func)를 연결하고, 상기 선택치환부(PC-2)와 확장치환부 (E-func)에다 배타적 논리부(TAU)를 통해 S-box 치환부(S1∼S8)를 연결하며, 상기 S-box 치환부(S1∼S8)에 단순치환부(P-func)를 거쳐 상기 입력블럭(IN-BL)중 상위 비트쪽의 값과 상기 단순치환부(P-func)의 출력값을 XOR 하는 배타적논리부(X-func)를 연결하여서 이루어진 구성이 다수 결합되어 라운딩블럭 복호기(12)를 구성하는 것을 특징으로 하는 티에스 비트열의 데이터 디이에스 디스클램블링 장치.2. The write shift unit RS of claim 1, which divides a bit of the key KEY to shift a right shift operation of a DS decoding algorithm by a value of a signal LS-SEL. (E-func) that extends the value of the lower bit of the input block (IN-BL), while connecting the selection exchanger (PC-2) for generating a key value with data inputted to the (RS). To S-box substitution unit (S1 to S8) through the exclusive logic unit (TAU) to the selection substitution unit (PC-2) and the expansion substitution unit (E-func), and the S-box substitution An exclusive logic unit XORing the values of the upper bit side of the input block IN-BL and the output value of the simple replacing unit P-func through the simple replacing unit P-func to the units S1 to S8. A plurality of data bit descrambling apparatus of a TS bit string, characterized in that a plurality of configurations formed by connecting X-func are combined to form a rounding block decoder (12).
KR1019980029019A 1998-07-18 1998-07-18 Data descrambling device of TS bit string KR100314235B1 (en)

Priority Applications (1)

Application Number Priority Date Filing Date Title
KR1019980029019A KR100314235B1 (en) 1998-07-18 1998-07-18 Data descrambling device of TS bit string

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
KR1019980029019A KR100314235B1 (en) 1998-07-18 1998-07-18 Data descrambling device of TS bit string

Publications (2)

Publication Number Publication Date
KR20000008923A KR20000008923A (en) 2000-02-15
KR100314235B1 true KR100314235B1 (en) 2001-12-28

Family

ID=19544555

Family Applications (1)

Application Number Title Priority Date Filing Date
KR1019980029019A KR100314235B1 (en) 1998-07-18 1998-07-18 Data descrambling device of TS bit string

Country Status (1)

Country Link
KR (1) KR100314235B1 (en)

Families Citing this family (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US11838402B2 (en) 2019-03-13 2023-12-05 The Research Foundation For The State University Of New York Ultra low power core for lightweight encryption

Citations (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US5317638A (en) * 1992-07-17 1994-05-31 International Business Machines Corporation Performance enhancement for ANSI X3.92 data encryption algorithm standard
KR970013912A (en) * 1995-08-21 1997-03-29 배순훈 A scrambler using DES algorithm

Patent Citations (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US5317638A (en) * 1992-07-17 1994-05-31 International Business Machines Corporation Performance enhancement for ANSI X3.92 data encryption algorithm standard
KR970013912A (en) * 1995-08-21 1997-03-29 배순훈 A scrambler using DES algorithm

Also Published As

Publication number Publication date
KR20000008923A (en) 2000-02-15

Similar Documents

Publication Publication Date Title
Lim CRYPTON: A new 128-bit block cipher
AU683325B2 (en) System and apparatus for blockwise encryption/decryption of data
KR100331863B1 (en) Apparatus and Method of Cryptographing Data in the Network
AU674197B2 (en) Hardware arrangement for enciphering bit blocks while renewing a key at each iteration
US5745577A (en) Symmetric cryptographic system for data encryption
US6504930B2 (en) Encryption and decryption method and apparatus using a work key which is generated by executing a decryption algorithm
US6351539B1 (en) Cipher mixer with random number generator
GB2447552A (en) Galois/Counter Mode Advanced Encryption Standard authenticated encrypted messaging with pre-calculation of round keys
US6459792B2 (en) Block cipher using key data merged with an intermediate block generated from a previous block
KR19990067590A (en) Apparatus and method for crypto stealing when encrypting MPEG transport packet
JP2013047822A (en) Encryption method for message authentication
US20060147041A1 (en) DES algorithm-based encryption method
JP2001086110A (en) Packet communication system for encrypted information
KR100314235B1 (en) Data descrambling device of TS bit string
JP4395527B2 (en) Information processing device
KR20040083794A (en) encryption/decryption method of application data
EP1001398B1 (en) Ciphering apparatus
KR100190157B1 (en) Encryption apparatus and encryption method
KR100226867B1 (en) Stream cipher system of wireless communication
KR100494560B1 (en) Real time block data encryption/decryption processor using Rijndael block cipher and method therefor
JP2001016197A (en) Self-synchronized stream enciphering system and mac generating method using the same
Ahmad et al. Comparative study between stream cipher and block cipher using RC4 and Hill Cipher
KR20070063713A (en) Block encryption apparatus for using the aria algorithm
Zibideh et al. Key-based coded permutation ciphers with improved error performance and security in wireless channels
KR100447146B1 (en) Cypher apparatus

Legal Events

Date Code Title Description
A201 Request for examination
N231 Notification of change of applicant
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: 20100701

Year of fee payment: 10

LAPS Lapse due to unpaid annual fee