CN106817216B - ZIP (ZIP packet decompression) method based on ZLib library and AES (advanced encryption Standard) algorithm - Google Patents

ZIP (ZIP packet decompression) method based on ZLib library and AES (advanced encryption Standard) algorithm Download PDF

Info

Publication number
CN106817216B
CN106817216B CN201611071964.0A CN201611071964A CN106817216B CN 106817216 B CN106817216 B CN 106817216B CN 201611071964 A CN201611071964 A CN 201611071964A CN 106817216 B CN106817216 B CN 106817216B
Authority
CN
China
Prior art keywords
zip
aes
file
key
algorithm
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.)
Active
Application number
CN201611071964.0A
Other languages
Chinese (zh)
Other versions
CN106817216A (en
Inventor
孙永超
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
Beijing Ruian Technology Co Ltd
Original Assignee
Beijing Ruian Technology Co Ltd
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 Beijing Ruian Technology Co Ltd filed Critical Beijing Ruian Technology Co Ltd
Priority to CN201611071964.0A priority Critical patent/CN106817216B/en
Publication of CN106817216A publication Critical patent/CN106817216A/en
Application granted granted Critical
Publication of CN106817216B publication Critical patent/CN106817216B/en
Active legal-status Critical Current
Anticipated expiration legal-status Critical

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
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F16/00Information retrieval; Database structures therefor; File system structures therefor
    • G06F16/20Information retrieval; Database structures therefor; File system structures therefor of structured data, e.g. relational data
    • G06F16/21Design, administration or maintenance of databases
    • G06F16/215Improving data quality; Data cleansing, e.g. de-duplication, removing invalid entries or correcting typographical errors

Abstract

The invention relates to a ZIP packet decompression method based on a ZLib library and an AES algorithm. The method comprises the following steps: 1) acquiring ZIP packet data of a website, reading a file from the ZIP packet and judging whether the file is encrypted by adopting an AES algorithm or not; 2) for ZIP packet data encrypted by adopting an AES algorithm, the AES algorithm is added on the basis of a ZLib library to decrypt and decompress the ZIP packet. Further, step 2) encapsulates the AES algorithm in libaes. In the invention, the open source compression ZLib project is improved and optimized, and the AES decryption algorithm is added, so that the YCL can accurately and quickly process the data reported by the website operator, and the method has the advantages of high efficiency and less CPU occupation compared with the 7-zip algorithm.

Description

ZIP (ZIP packet decompression) method based on ZLib library and AES (advanced encryption Standard) algorithm
Technical Field
The invention relates to the technical field of computer information security, in particular to a Zlib-based open source compression and decompression item, which is optimized and added with an AES decryption algorithm. A method for decrypting and decompressing an AES encrypted ZIP packet by calling a dynamic link library of a ZLib by an application.
Background
The development of technology makes computers go deep into the aspects of our lives, and compression is a very typical technology and is applied to many occasions, such as file systems, databases, message transmission and other occasions. Compression can be divided into lossless compression and lossy compression; lossy, which means that the original information cannot be completely restored after compression, but the compression rate is high; lossless compression is used for situations such as files and the like where information must be completely restored, and the ZIP file mentioned herein is a lossless compression.
In practical application, it is often necessary to read and analyze the internet data of each website to extract interesting information. But the content of the internet data file of each website is very huge, and the data needs to be compressed; in order to prevent information leakage, data is also subjected to encryption processing.
Aes (the Advanced encryption standard) is a specification used by the national institute of standards and technology for encrypting electronic data. It is widely used in the fields of finance, telecommunications, government digital information, etc. AES is an iterative, symmetric key block cipher that may use 128, 192, 256 bit keys and encrypt and decrypt data in 128 bit (16 byte) blocks.
Zlib is a free, universal, non-intrusive, lossless, data compression development library, and is also an open source project across platforms. This means that anyone can modify and use without paying any fee, which is also the main reason for developing the Zlib library in general when reading and analyzing the internet data of each website, and the ZIP format belongs to one of several mainstream compression formats.
When a Zlib library is used for reading and analyzing the internet data of each website, the data is compressed and decompressed by adopting a Zlib library function carried by Linux, data reported by some websites are encrypted and compressed into ZIP packets by adopting 7-ZIP software, and the data is encrypted by adopting an AES algorithm through the 7-ZIP software. However, the Zlib only supports a simple encryption algorithm and does not support an AES encryption and decryption algorithm; the problem that comes with it is that the Zlib library cannot normally handle data reported by the website that is encrypted with AES.
Disclosure of Invention
The invention aims to provide a ZIP package which is based on a ZLib open source library, can automatically and accurately decrypt and decompress a file encrypted and compressed by 7-ZIP software by combining an AES decryption algorithm, and can process the encrypted ZIP package reported by a website by only adding a libz.
The technical scheme adopted by the invention is as follows:
a method for decompressing ZIP packets based on a ZLib library and an AES algorithm comprises the following steps:
1) acquiring ZIP packet data of a website, reading a file from the ZIP packet and judging whether the file is encrypted by adopting an AES algorithm or not;
2) for ZIP packet data encrypted by adopting an AES algorithm, the AES algorithm is added on the basis of a ZLib library to decrypt and decompress the ZIP packet.
Further, step 2) encapsulates the AES algorithm in a static library file, and encapsulates the ZLib library in a libz.
Further, the AES encryption and decryption algorithm includes:
AES encryption process: SubBytes, ShiftRows, MixColumns,
AddRoundKey (round key addition);
AES decryption process: InvSubBytes (reverse byte substitution), InvShiftRows (reverse shift), InvMixColumns
(reverse rank obfuscation) AddRoundKey (round key addition).
The invention has the following advantages and positive effects:
in the invention, the open source compression ZLib project is improved and optimized, and an AES decryption algorithm is added; this is exactly a 7-zip encryption algorithm, so that the data reported by the website operator can be processed accurately and quickly. In addition, the ZLib decompression algorithm adopts a libz.so dynamic library mode, while the AES algorithm adopts a static library mode packaged, and can be automatically installed when processing data reported by a website without upgrading the ZLib library of the system, so that the additional problem caused by too low version of an operating system is avoided; finally, the ZLib decompression algorithm adopted by the invention has the advantages of higher efficiency and less CPU occupation than the 7-zip algorithm.
Drawings
FIG. 1 is a flow chart of processing data reported by a website;
FIG. 2 is a flow diagram of a call to ZLib to decompress a ZIP file;
FIG. 3 is a flow chart of AES encryption decryption;
FIG. 4 is a schematic representation of a SubBytes (byte alternate) matrix;
FIG. 5 is a schematic diagram of ShiftRows (row shifting);
FIG. 6 is a graph of 7zip versus ZLib decompression time.
Detailed Description
The invention is further illustrated by the following specific examples and the accompanying drawings.
Fig. 1 shows the whole process of processing the reported data of the website in the prior art. As shown in the figure, firstly, ZIP packet data is received from a field carrying program, a corresponding directory is scanned, then a ZIP packet file is decompressed, a bcp file and an entity file after the ZIP packet file is decompressed are scanned, finally, format conversion is carried out on the bcp file, namely invalid data is obtained, valid data is verified, and specific information is extracted from the valid data; and the entity file is put into a full-text database. The invention relates to a method for decompressing a ZIP packet by adding an AES algorithm on the basis of an original ZLib library, which is positioned in the third link of figure 1.
Decompression Module design
Although the compression rate of 7ZIP is high and AES encryption and decryption are supported, 7ZIP occupies a high cpu, which greatly affects the real-time performance of the method when the data is processed by a website, so that the ZLib library is adopted in the method to decompress the ZIP file.
The ZLib library belongs to an open source library, adopts a DEFLATE compression algorithm and only supports a simple encryption and decryption function; but the method does not support the AES encryption and decryption algorithm, so that the open source library ZLib code must be modified to add the AES encryption and decryption algorithm to decompress ZIP packets encrypted by the AES algorithm. In order to not affect the interface called before, the AES algorithm is packaged in a library.a static library file (the library.a is the static library name defined by the invention); so dynamic library file encapsulated Zlib library in libz. This has the advantage that no other program has to be modified by only updating the two library files, no matter how the code is modified.
Modify unzip.c files, add
Figure BDA0001165393370000031
Modifying an undincurrentcurrentFilePassdord function, wherein the function mainly has the function of obtaining ZIP file information; judging whether HEADID is 0x9901, and encrypting the ZIP packet by adopting AES (advanced encryption Standard); reading the version number; reading two bytes to judge whether the two bytes are 'A' and 'E'; read ZIP packet encryption mode, here AES; read ZIP packet compression mode.
Modifying an untReadCurrentFile function, wherein the function mainly has the functions of reading the file content in the ZIP package and judging the previously read ZIP encryption mode; if the key is AES, the libaes.a static library is called to decrypt, and the plaintext is obtained by decrypting with a known key.
And (3) decompression flow: as shown in fig. 2, includes: opening a ZIP stream, acquiring the information of a ZIP file, opening the currently positioned file, circularly reading the file (if AES encryption is adopted, AES decryption is carried out on the read data), closing the current file, and closing the ZIP stream. The method comprises the following specific steps:
1. opening a ZIP package in a file stream mode;
2. locating a first file in the compressed files;
3. obtaining file information related to ZIP, continuing recursion if the file information is a directory, and creating a file if the file information is a file;
4. opening a currently positioned file, acquiring ZIP information, judging whether AES encryption is performed or not, and initializing an AES information structure body if the AES encryption is performed, wherein the structure body is called AES _ cox;
5. reading a file from the current ZIP packet, circularly reading, judging whether the file is AES encrypted, if so, decrypting and reading the content, and writing the read content into the previously created file;
6. setting a file time stamp;
7. closing the currently read file, and releasing the memory of the AES information structure which is dynamically allocated before;
8. if other files exist in the ZIP package, positioning the next file;
9. the open flow is closed.
AES encryption and decryption algorithm constitution
As shown in fig. 3, the core part of the AES encryption algorithm includes: SubBytes, ShiftRows, MixColumns, AddRoundKey, round key plus. The AES decryption algorithm is the inverse of encryption, so except AddRoundKey (round key addition), the rest need to be inverse transformed, InvSubBytes (inverse byte substitution), InvShiftRows (inverse shift), InvMixColumns (inverse column confusion).
1. Byte substitution
The main function of byte substitution is to perform a mapping of one byte to another through the S-box. It is a non-linear transformation on bytes that non-linearly transforms each byte in the state to another byte, and the substitution table S-box is invertible; as shown in fig. 4.
The byte substitution is divided into: forward byte substitution and reverse byte substitution.
2. Line shifting
The function of the row shift is to implement permutations between bytes within a 4 x 4 matrix.
The line shifting is divided into: forward row shifting and reverse row shifting.
The operation of the forward row shift is: the first row is left unchanged, the second row is left shifted cyclically by 1 byte, the third row is left shifted cyclically by 2 bytes and the fourth row is left shifted cyclically by 3 bytes as shown in fig. 5.
Reverse row shifting is the opposite operation.
3. Column obfuscation
Column confusion: it is a column-by-column transformation of a state, i.e. a linear transformation is used to mix the four bytes of each column.
Column confusion is divided into: forward column confusion and reverse column confusion.
4. Round key adding
In the round key adding process, simple bitwise XOR operation is used, the key is expanded through a key scheduling process to obtain a round key, and then a plaintext is XOR-ed with a corresponding sub-key, namely the input of each round is XOR-ed with the round key once; therefore, the key of the round can be recovered when the key is decrypted or not.
5. Key scheduling
The key scheduling includes two parts: key expansion and round key selection. The key expansion is used to obtain the round keys used in the round transformation before data encryption/decryption.
In summary, it can be known from the AES encryption and decryption flowchart that both AES encryption and decryption are iterative processes; and repeatedly replacing the data in the iteration process until the final plaintext or ciphertext is obtained.
API called in program
API 1: decompressing files
void unzip_extract(char*pZipFile,char*pExtractDir)
Inputting parameters:
1) decompressing file names, 2) decompressing directory names;
and returning a value: none.
API 2: opening a file stream
void*unzOpen(char*pZipFile)
Inputting parameters:
1) decompressing the file name;
and returning a value:
1) converted to a file stream pointer in void.
API 3: go to the first file
int unzGoToFirstFile(void*uf)
Inputting parameters:
1) a file stream pointer;
and returning a value:
1)0 succeeded, 2) -1 failed.
API 4: opening a current file
int unzOpenCurrentFilePassword(void*uf,char*pwd)
Inputting parameters:
1) file stream pointer, 2) key (key when website encrypts ZIP),
and returning a value:
1)0 succeeded, 2) -1 failed.
API 5: reading current file content
int unzReadCurrentFile(void*uf,char*buf,size_t size)
Inputting parameters:
1) file stream pointer, 2) read content, 3) content size;
and returning a value:
1)0 succeeded, 2) -1 failed.
API 6: closing a current file
int unzCloseCurrentFile(void*uf)
Inputting parameters:
1) a file stream pointer;
and returning a value:
1)0 succeeded, 2) -1 failed.
API 7: go to the next file
int unzGoToNextFile(void*uf)
Inputting parameters:
1) a file stream pointer;
and returning a value:
1)0 succeeded, 2) -1 failed.
API 8: closing a file stream
int unzClose(void*uf)
Inputting parameters:
1) a file stream pointer;
and returning a value:
1)0 succeeded, 2) -1 failed.
API 9: inverse nematic aliasing
void containment _ mixColumns (unidentified char · col) input parameters:
1) processing data (content of files in ZIP package);
and returning a value:
1) the processed data is obfuscated.
API 10: reverse byte replacement
void contrary_subBytes(unsigned char*col)
Inputting parameters:
1) processing data (content of files in ZIP package);
and returning a value:
1) and replacing the processed data by the reverse byte.
API 11: reverse row shift
void contrary_shiftRows(unsigned char*col)
Inputting parameters:
1) processing data (content of files in ZIP package);
and returning a value:
1) and shifting the processed data in reverse rows.
API 12: round key adding
void add_roundKey(unsigned char*col,unsigned char*key,int round)
Inputting parameters:
1) processing data (content of a file in a ZIP package), 2) a key (key when a website encrypts and compresses ZIP), and 3) polling times;
and returning a value:
1) the round key adds the processed data.
The method comprises the steps of respectively using 7zip and ZLib to conduct decompression test on reported data of a website, wherein the time unit obtained by the test is microsecond, and is shown in the following table 1; and the decompression results are analyzed and compared, as shown in fig. 6, the abscissa of the graph represents different files, and the ordinate represents the time taken for decompression.
TABLE 1 test results List
File name/decompression method 7z ip(us) Zl ib(us)
data_1471449694.zip 617700 2922
data_1471453015.zip 256364 3209
data_1471453608.zip 183181 5564
data_1471451806.zip 193180 6083
data_1471450007.zip 169391 18622
data_1471450907.zip 250134 15472
data_1471452105.zip 180231 36974
data_1471451507.zip 184553 15633
data_1471450307.zip 206964 7315
From fig. 6 it can be concluded that decompression with the method of the invention using the Zlib library is far superior in temporal level to decompression with the 7zip library.
The above embodiments are only intended to illustrate the technical solution of the present invention and not to limit the same, and a person skilled in the art can modify the technical solution of the present invention or substitute the same without departing from the spirit and scope of the present invention, and the scope of the present invention should be determined by the claims.

Claims (7)

1. A ZIP packet decompression method based on a ZLib library and an AES algorithm is characterized by comprising the following steps:
1) acquiring ZIP packet data of a website, reading a file from the ZIP packet and judging whether the file is encrypted by adopting an AES algorithm or not;
2) for ZIP packet data encrypted by adopting an AES algorithm, the AES algorithm is added on the basis of a Zlib library to decrypt and decompress the ZIP packet, wherein the AES algorithm is packaged in a static library file, and the Zlib library is packaged in a libz.
The method for decrypting and decompressing the ZIP packet by adding the AES algorithm on the basis of the ZLib library comprises the following steps:
c, modifying the unzip.c file, and adding the following contents:
uLong encryption _ mode, which represents an encryption mode;
uLong comp _ method, indicating compressed mode;
uLong aes _ version, representing aes version number;
aes _ condex aes _ cox, representing aes information, including key, key length, plaintext, file decryption mode;
modifying an undincurrentcurrentFilePassdord function, wherein the function is used for obtaining ZIP file information; judging whether HEADID is 0x9901, and encrypting the ZIP packet by adopting AES (advanced encryption Standard); reading the version number; reading two bytes to judge whether the two bytes are 'A' and 'E'; reading a ZIP packet encryption mode; reading a ZIP packet compression mode;
modifying an untReadCurrentFile function, wherein the function is to read the file content in the ZIP package and judge the previously read ZIP encryption mode; if the key is AES, the libaes.a static library is called to decrypt, and the plaintext is obtained by decrypting with a known key.
2. The method of claim 1, wherein the AES algorithm comprises:
a) an AES encryption process, comprising: byte substitution, row shift, column obfuscation, round key addition;
b) an AES decryption process, comprising: reverse byte substitution, reverse shift, reverse column obfuscation, round key addition.
3. The method of claim 2, wherein said byte substitution performs a byte-to-byte mapping through an S-box, the mapping being a non-linear transformation of bytes.
4. The method of claim 2, wherein the row shifting implements permutations between bytes within a 4 x 4 matrix, including forward row shifting and reverse row shifting; the operation of the forward row shift is: the first row is left unchanged, the second row is left shifted cyclically by 1 byte, the third row is left shifted cyclically by 2 bytes and the fourth row is left shifted cyclically by 3 bytes.
5. The method of claim 2, wherein the column obfuscation transforms one state column by column, i.e., a linear transformation is used to mix the four bytes of each column.
6. The method of claim 2, wherein the round key addition uses a bitwise xor operation, the round key is obtained by expanding the key through a key scheduling process, then the plaintext is xored with the corresponding subkey, i.e., the input of each round is xored with the round key once, and the input can be recovered by xoring the key of the round again during decryption.
7. The method according to claim 1, wherein after decompressing the ZIP package file in step 2), scanning the acquired bcp file and the entity file; format conversion is carried out on the bcp file, effective data are obtained and verified, and specific information is extracted from the effective data; and putting the entity file into a full-text database.
CN201611071964.0A 2016-11-29 2016-11-29 ZIP (ZIP packet decompression) method based on ZLib library and AES (advanced encryption Standard) algorithm Active CN106817216B (en)

Priority Applications (1)

Application Number Priority Date Filing Date Title
CN201611071964.0A CN106817216B (en) 2016-11-29 2016-11-29 ZIP (ZIP packet decompression) method based on ZLib library and AES (advanced encryption Standard) algorithm

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
CN201611071964.0A CN106817216B (en) 2016-11-29 2016-11-29 ZIP (ZIP packet decompression) method based on ZLib library and AES (advanced encryption Standard) algorithm

Publications (2)

Publication Number Publication Date
CN106817216A CN106817216A (en) 2017-06-09
CN106817216B true CN106817216B (en) 2022-02-22

Family

ID=59106178

Family Applications (1)

Application Number Title Priority Date Filing Date
CN201611071964.0A Active CN106817216B (en) 2016-11-29 2016-11-29 ZIP (ZIP packet decompression) method based on ZLib library and AES (advanced encryption Standard) algorithm

Country Status (1)

Country Link
CN (1) CN106817216B (en)

Families Citing this family (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN109861398A (en) * 2019-04-04 2019-06-07 南京电研电力自动化股份有限公司 A kind of the electrical power services device and its network system realization of digital transformer substation
CN109904931A (en) * 2019-04-04 2019-06-18 南京电研电力自动化股份有限公司 The process layer configuration method of intelligent substation electrical power services device and its system
CN116668007B (en) * 2023-08-01 2023-10-31 中电信量子科技有限公司 Encryption communication method, terminal and system based on white-box SM4 algorithm

Citations (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN102226906A (en) * 2011-06-03 2011-10-26 王秋池 Information hiding system specified to htm/html
CN106055366A (en) * 2016-06-03 2016-10-26 用友网络科技股份有限公司 Extension method for custom control based on Eclipse

Family Cites Families (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP5455495B2 (en) * 2009-07-31 2014-03-26 キヤノン株式会社 COMMUNICATION DEVICE, COMMUNICATION METHOD, AND PROGRAM
CN101937356B (en) * 2010-09-15 2013-04-10 青岛海信移动通信技术股份有限公司 Method for compiling WebKit browser and device thereof
US20160292446A1 (en) * 2015-04-06 2016-10-06 Lawlitt Life Solutions, LLC Data encryption and compression
CN106055278A (en) * 2016-06-03 2016-10-26 无锡华云数据技术服务有限公司 Light-weight realization method based on qcow2 format incremental snapshot

Patent Citations (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN102226906A (en) * 2011-06-03 2011-10-26 王秋池 Information hiding system specified to htm/html
CN106055366A (en) * 2016-06-03 2016-10-26 用友网络科技股份有限公司 Extension method for custom control based on Eclipse

Also Published As

Publication number Publication date
CN106817216A (en) 2017-06-09

Similar Documents

Publication Publication Date Title
US9742557B2 (en) Compressing encrypted data without the encryption key
KR101737299B1 (en) Encoder, decoder and methods
US8644513B2 (en) Database processing on externally encrypted data
CN111079162B (en) Data encryption method, data decryption method and data encryption system based on block chain
JPH1075240A (en) Method for protecting data transmission and device for ciphering or deciphering data
GNDU RC Dual layer security of data using LSB image steganography method and AES encryption algorithm
US20160050069A1 (en) Method and system for media path security
JP6135804B1 (en) Information processing apparatus, information processing method, and program
CN106817216B (en) ZIP (ZIP packet decompression) method based on ZLib library and AES (advanced encryption Standard) algorithm
CN111431716B (en) Data transmission method and device, computer equipment and storage medium
Gan et al. Design and ARM‐embedded implementation of a chaotic map‐based multicast scheme for multiuser speech wireless communication
Fauziah et al. Design and implementation of AES and SHA-256 cryptography for securing multimedia file over android chat application
CN108063760B (en) Method and system for block encryption and method for block decryption
Joshy et al. Text to image encryption technique using RGB substitution and AES
US8677123B1 (en) Method for accelerating security and management operations on data segments
CN108737353B (en) Data encryption method and device based on data analysis system
CN115242485A (en) Data encryption or decryption method, system, electronic equipment and storage medium
Begum et al. An efficient and secure compression technique for data protection using burrows-wheeler transform algorithm
KR101445339B1 (en) Integrated cryptographic apparatus for providing confidentiality and integrity
Taneja et al. Chaos based cryptosystem for still visual data
JP6187624B1 (en) Information processing apparatus, information processing method, and program
Jang et al. A format-preserving encryption FF1, FF3-1 using lightweight block ciphers LEA and, SPECK
Sharma et al. Compression and encryption: An integrated approach
CN115766244A (en) Internet of vehicles information encryption method and device, computer equipment and storage medium
US20210135842A1 (en) Information processing apparatus and method

Legal Events

Date Code Title Description
PB01 Publication
PB01 Publication
SE01 Entry into force of request for substantive examination
SE01 Entry into force of request for substantive examination
GR01 Patent grant
GR01 Patent grant