Disclosure of Invention
In order to solve the above problems, an object of the present invention is to provide a method for encrypting a digital elevation model based on a mapping control point result table, which can realize network transmission of a digital elevation model data file with national geographic coordinates, and has the advantages of automation and real-time transmission process, and no secret leakage in the transmission process.
The invention provides a method for encrypting a digital elevation model based on a mapping control point result table, which comprises the following steps:
step 1, a file sending end selects a digital elevation model file to be encrypted, and converts the digital elevation model file into an ASCII (American standard code for information interchange) file;
step 2, the file sending end selects a surveying and mapping control point result table as a password generation file for digital elevation model file transmission;
step 3, randomly selecting 1 control point in the mapping control point result table, and writing the selected control point number into an encrypted file;
step 4, calculating relative relation data of coordinate values of the coordinate points in the ASCII file header and the coordinate values of the selected control points, and writing the relative relation data into the encrypted file;
step 5, generating a 15-bit pixel size encryption password by using the selected control point data;
step 6, encrypting pixel size data in an ASCII file header by using the generated 15-bit pixel size encryption password, and writing the result into an encrypted file;
step 7, randomly selecting 10 digital elevation values from the ASCII file and taking the average value of the 10 digital elevation values to obtain the integral part digit of the average value, wherein the digit is used as the digit of the digital elevation encryption password;
step 8, calculating the number of control points to be selected according to the effective digital digits required by generating 100 digital elevation encryption passwords;
step 9, randomly selecting a specified number of control points in the control point result table, and taking out effective numbers in the ordinate value X, the abscissa value Y and the elevation value H of all the control points, wherein the effective numbers comprise effective numbers after decimal points but do not comprise the decimal points;
step 10, generating 100 digital elevation encryption passwords by using all the obtained effective digits according to a certain sequence;
step 11, encrypting the digital elevation value by using a digital elevation encryption password and writing the encrypted digital elevation value into an encrypted file;
step 12, transmitting the encrypted file to a file receiving end through the Internet or other ways;
step 13, the file receiving end reads the control point data corresponding to the control point number in the encrypted file by using the stored control point result table and according to the control point number recorded by the file sending end, and generates a decryption password;
step 14, decrypting according to the inverse operation of the encryption operation of the file sending end, wherein the decryption includes coordinate data in an ASCII file header, pixel size data and all digital elevation values, and obtaining an original ASCII file;
and step 15, converting the ASCII file into an initial format to finish the encryption transmission of the digital elevation model.
As a further improvement of the present invention, in step 4, the method for calculating the relative relationship data between the coordinate values of the coordinate points in the ASCII file header and the coordinate values of the selected control points comprises:
the ordinate increment Δ X ═ X-X;
the abscissa increment Δ Y is Y-Y;
wherein X is the longitudinal coordinate value of the coordinate point in the ASCII file header, Y is the abscissa coordinate value of the coordinate point in the ASCII file header, X is the longitudinal coordinate value of the control point, and Y is the abscissa coordinate value of the control point.
As a further improvement of the invention, the method of step 5 specifically comprises the following steps:
selecting effective digits of longitudinal coordinate values of the 1-bit control points in a reverse order, namely selecting the last 1-bit effective digit of the X value as the 1 st bit of the encryption password;
selecting effective digits of the abscissa values of the 1-bit control points in a reverse order, namely selecting the last 1-bit effective digit of the Y value as the 2 nd bit of the encryption password;
selecting effective digits of the elevation values of the 1-bit control points in a reverse order, namely selecting the last 1-bit effective digit of the H value as the 3 rd bit of the encryption password;
selecting an effective number of a longitudinal coordinate value of the 1-bit control point in a reverse order, namely selecting a 2 nd effective number of the reciprocal of the X value as a 4 th bit of the encryption password;
selecting effective digits of the abscissa values of the 1-bit control points in a reverse order, namely selecting the 2 nd-from-last effective digit of the Y value as the 5 th bit of the encryption password;
selecting effective digits of elevation values of 1 control point in a reverse order, namely selecting the 2 nd-from-last effective digit of the H value as the 6 th digit of the encryption password;
……,
by analogy, 6 effective digits are selected from the ordinate value X and the abscissa value Y respectively, 3 effective digits are selected from the elevation value, and a 15-digit encryption password is formed together.
As a further improvement of the invention, the method of step 6 specifically comprises the following steps:
converting the 15-bit encrypted password into an encrypted value, wherein the encrypted value is a small numerical value, the first 3 bits of the small numerical value are 0.00, and the 15-bit password value is used from the 4 th bit to the last bit;
and adding the pixel size value and the encryption value, and writing the result into the encrypted file.
As a further improvement of the invention, the method of step 8 specifically comprises the following steps:
firstly, calculating effective digital digits required by generating 100 digital elevation encryption passwords, namely multiplying the digits of a single password by 100;
each control point calculates the number of control points to be selected according to 20-bit effective digits;
namely: the number of control points selected is (number of digits of a single password 100)/20.
As a further improvement of the present invention, the method of step 10 specifically comprises:
sequentially selecting all effective numbers in the ordinate value X, the abscissa value Y and the elevation value H of the selected control point; or the like, or, alternatively,
the effective numbers of the ordinate value, the abscissa value and the elevation value of one control point are selected circularly or reversely, 1 bit is selected each time until all the effective numbers of one control point are selected, and then the effective number of the next control point is selected; or the like, or, alternatively,
respectively selecting the effective numbers of the ordinate value, the abscissa value and the elevation value of one control point in a circulating mode or in a reverse circulating mode, selecting 1 bit each time until all the effective numbers of one control point are selected, and then selecting the effective number of the next control point; or the like, or, alternatively,
a plurality of control points circularly select or reversely circularly select respective effective digits of longitudinal coordinate values, horizontal coordinate values and elevation values, and 1 bit, 2 bits or 3 bits are taken each time until all the effective digits of all the control points are selected; or the like, or, alternatively,
and respectively and circularly selecting the effective numbers of the longitudinal coordinate value, the horizontal coordinate value and the elevation value of each control point or reversely and circularly selecting the effective numbers of the longitudinal coordinate value, the horizontal coordinate value and the elevation value of each control point, and taking 1 bit, 2 bits or 3 bits each time until all the effective numbers of all the control points are selected.
As a further improvement of the invention, the method of step 11 specifically comprises the following steps:
and reading the digital elevation values in sequence, adding the digital elevation values to the encryption passwords in sequence, and writing the result into an encryption file, wherein 100 encryption passwords are recycled.
As a further improvement of the present invention, the method of step 14 specifically comprises:
and removing the relative relation between the coordinate values of the coordinate points in the ASCII file header and the coordinate values of the selected control points:
ordinate: x- Δ X;
the abscissa: y- Δ Y;
in the formula, delta X is an ordinate increment, delta Y is an abscissa increment, X is a control point ordinate value, and Y is a control point abscissa value;
decrypting the pixel size data: subtracting the pixel size encryption password from the pixel size encryption result according to the corresponding decimal place number;
and (3) decryption of the digital elevation value: and respectively subtracting the digital elevation encryption passwords from the encrypted digital elevation values in sequence.
The invention has the beneficial effects that:
1. high security
For the general encryption method, most of the encryption is performed by using a fixed key or various algorithms to form a key, and the encryption can be decrypted theoretically no matter how complex the algorithm is. The method utilizes the result table of the surveying and mapping control point to generate the key, firstly, the result table is a secret file, can not be obtained by non-project core personnel, is not transmitted in public channels such as a network and the like, and in addition, a simple algorithm is carried out on data in the result table, so that the result table cannot be obtained and cannot be decoded even if the encrypted file and the encrypted algorithm are intercepted; the control points selected by the encrypted digital elevation model are different and the sequence is different each time, the generated secret keys are also different, namely the secret key of the encrypted digital elevation model is random each time, and therefore, the confidentiality degree is high.
2. Convenient to use
The construction, especially the national key construction, is mapped in the early stage to form a mapping control point result table, which exists in a construction site, a mapping unit, a design unit or a construction management department and does not need to be specially manufactured, so that only a simple program needs to be compiled, and the encryption and decryption speed is very high.
3. Solves the problems existing in the prior transmission digital elevation model
The transmission mode has the defects of low transmission speed, high cost, incapability of realizing real-time transmission, easiness in file loss, damage and stealing and secret leakage, and incapability of meeting the requirement of intelligent construction; the method also adopts modes of compression, fixed password increase, encryption algorithm and the like, belongs to the packaging of confidential documents, and is easy to crack and divulge a secret; and the method adopts a mode of directly replacing the file name without any change of the content, and the confidentiality is lowest, and related regulations are violated.
4. Key generation convenience
The invention transmits the original data of the generated key on line or puts the original data in a secret place in advance, the sending end can generate the key at any time, and the receiving end can quickly generate the key for decryption as long as receiving the encrypted digital elevation model and the control point number.
Detailed Description
The present invention will be described in further detail below with reference to specific embodiments and with reference to the attached drawings.
The method for encrypting the digital elevation model based on the mapping control point result table comprises the following steps: a sending end selects a mapping control point result table; randomly selecting 1 control point from a surveying and mapping control point result table; reading out all effective digits of the control point and generating a pixel size encryption password; then randomly selecting a plurality of control points, reading out the effective numbers of all the control points and generating a digital elevation encryption password; and writing the selected control point number into the encrypted file. Selecting a digital elevation model file to be encrypted, and converting the file into an ASCII format; reading coordinate data in an ASCII file header; calculating relative relation data of the coordinate values and the coordinate values of the selected control point and writing the relative relation data into an encrypted file; encrypting pixel size data in a file header by using a pixel size encryption password and writing the pixel size data into an encrypted file; and encrypting all digital elevation values of the ASCII file by using the generated digital elevation encryption password, and writing the encrypted digital elevation into the encrypted file. Transmitting the encrypted file to a receiving end, generating various decryption passwords by the receiving end by utilizing a stored control point result table and reading control point numbers in the encrypted file, and obtaining an original ASCII file according to the inverse operation of the encryption operation of the transmitting end; and converting the ASCII file into an initial format to finish the encryption transmission of the digital elevation model.
The method is shown in fig. 1, and specifically comprises the following steps:
step 1, a file sending end selects a digital elevation model file to be encrypted, and the digital elevation model file is converted into an ASCII file in an ASCII format.
The data of the digital elevation model is usually in a GeoTIFF format, and can be converted into an ASCII format by globalmpper software for calculation and encryption, i.e., converted from a file with an extension of ". tif" to a file with an extension of ". asc".
In this embodiment, the specific operation steps are as follows: opening Globalmapper software; opening DEM Data, clicking "Open Your Own Data Files" under the menu of "File", selecting corresponding DEM Data (GeoTIFF format), and clicking "Open". After the File is opened, click on "Export →" under the "File" menu, Select "Export Elevation Grid Format … …", Select "Arc ASCII Grid" in the "Select Export Format" dialog box that pops up, and click on "OK". Clicking OK on a data storage dialog box popped up later to finish the conversion of DEM data. The converted ASCII format file may be opened directly, for example:
836.199 838.837 838.571 835.617 832.148 828.874 823.868 815.593806.904 800.557 795.996 792.708 791.236
834.264 838.33 839.052 835.943 832.113 829.524 823.82 814.58 807.724803.11 799.057 795.227 791.787
834.188 837.462 838.816 838.918 836.431 834.143 828.917 819.808814.224 810.171 806.766 801.165 797.804
836.812 840.223 844.258 847.182 847.277 844.403 838.384 828.549821.165 816.614 812.189 809.334 809.636
838.123 843.025 848.751 851.812 851.741 848.5 842.803 834.715 827.322820.235 816.521 816.913 821.136
840.077 845.92 851.326 854.68 853.977 850.5 844.972 838.634 834.145829.494 825.624 826.313 830.18
and 2, selecting a surveying and mapping control point result table by the file sending end to serve as a password generation file for digital elevation model file transmission.
In this embodiment, the selected mapping control point result table (data is virtual data, not real national coordinates, but only used for example) is as follows:
and 3, randomly selecting 1 control point in the surveying and mapping control point result table, and writing the selected control point number into the encrypted file.
In this embodiment, an AC005 point is selected, and the point number is written into the encrypted file, so that the file receiving end knows which control point is used to calculate the coordinate relative relationship and generate the pixel size encryption password.
And 4, calculating relative relation data of coordinate values of the coordinate points in the ASCII file header and the selected coordinate values of the control points, and writing the relative relation data into the encrypted file. The method for calculating the relative relationship data between the coordinate value of the coordinate point in the ASCII file header and the coordinate value of the selected control point comprises the following steps:
the ordinate increment Δ X ═ X-X;
the abscissa increment Δ Y is Y-Y;
wherein X is the longitudinal coordinate value of the coordinate point in the ASCII file header, Y is the abscissa coordinate value of the coordinate point in the ASCII file header, X is the longitudinal coordinate value of the control point, and Y is the abscissa coordinate value of the control point.
In this embodiment, 1420.90 and-12094.71 are written to the encrypted document:
the ordinate increment Δ X ═ X-X; Δ X-2838109.97-2836689.07-1420.90
The abscissa increment Δ Y is Y-Y; and delta Y is 39765552.67-39777647.38 is-12094.71.
And 5, generating a 15-bit pixel size encryption password by using the selected control point data. The method specifically comprises the following steps:
selecting effective digits of longitudinal coordinate values of the 1-bit control points in a reverse order, namely selecting the last 1-bit effective digit of the X value as the 1 st bit of the encryption password;
selecting effective digits of the abscissa values of the 1-bit control points in a reverse order, namely selecting the last 1-bit effective digit of the Y value as the 2 nd bit of the encryption password;
selecting effective digits of the elevation values of the 1-bit control points in a reverse order, namely selecting the last 1-bit effective digit of the H value as the 3 rd bit of the encryption password;
selecting an effective number of a longitudinal coordinate value of the 1-bit control point in a reverse order, namely selecting a 2 nd effective number of the reciprocal of the X value as a 4 th bit of the encryption password;
selecting effective digits of the abscissa values of the 1-bit control points in a reverse order, namely selecting the 2 nd-from-last effective digit of the Y value as the 5 th bit of the encryption password;
selecting effective digits of elevation values of 1 control point in a reverse order, namely selecting the 2 nd-from-last effective digit of the H value as the 6 th digit of the encryption password;
selecting an effective number of a longitudinal coordinate value of the 1-bit control point in a reverse order, namely selecting a 3 rd-from-last effective number of the X value as a 7 th bit of the encryption password;
selecting effective digits of the abscissa values of the 1-bit control points in a reverse order, namely selecting the last 3-bit effective digit of the Y value as the 8 th bit of the encryption password;
selecting effective digits of elevation values of 1 control point in a reverse order, namely selecting the last 3-digit effective digit of the H value as the 9 th digit of the encryption password;
selecting an effective number of a longitudinal coordinate value of the 1-bit control point in a reverse order, namely selecting a 4 th effective number from the last number of the X value as a 10 th bit of the encryption password;
selecting effective digits of the abscissa values of the 1-bit control points in a reverse order, namely selecting the 4 th effective digit of the Y value as the 11 th digit of the encryption password;
selecting an effective number of a longitudinal coordinate value of the 1-bit control point in a reverse order, namely selecting a 5 th effective number from the last number of the X value as a 12 th bit of the encryption password;
selecting effective digits of the abscissa values of the 1-bit control points in a reverse order, namely selecting the 5 th effective digit of the Y value as the 13 th digit of the encryption password;
selecting an effective number of a longitudinal coordinate value of the 1-bit control point in a reverse order, namely selecting a 6 th effective number from the last number of the X value as a 14 th bit of the encryption password;
and selecting the effective number of the abscissa value of the 1-bit control point in the reverse order, namely selecting the 6 th effective number of the reciprocal of the Y value as the 15 th bit of the encryption password.
In the method, 6 effective digits are selected from the ordinate value X and the abscissa value Y respectively, and 3 effective digits are selected from the elevation value to form a 15-digit encryption password together.
In this embodiment, the password is generated using AC005 coordinate values:
AC005 2838109.97 39765552.67 1650.26
the generated 15-bit encryption password is: 776962920051585.
and 6, encrypting pixel size data in the ASCII file header by using the generated 15-bit pixel size encryption password, and writing the result into an encrypted file. The method specifically comprises the following steps: converting the 15-bit encrypted password into an encrypted value, wherein the encrypted value is a small numerical value, the first 3 bits of the small numerical value are 0.00, and the 15-bit password value is used from the 4 th bit to the last bit; and adding the pixel size value and the encryption value, and writing the result into the encrypted file.
In this embodiment, the encrypted value of the pixel size is: 0.00776962920051585
Adding the pixel size value and the encryption value, and writing the obtained number into the encrypted document, namely:
0.00027777777777769+0.00776962920051585=0.00804740697829354。
and 7, randomly selecting 10 digital elevation values in the ASCII file and taking the average value of the 10 digital elevation values to obtain the integral part digit of the average value, wherein the digit is used as the digit of the digital elevation encryption password.
The median in this example is 3.
And 8, calculating the number of the control points to be selected according to the effective digital digits required by the generation of the 100 digital elevation encryption passwords. The method specifically comprises the following steps:
firstly, calculating effective digital digits required by generating 100 digital elevation encryption passwords, namely multiplying the digits of a single password by 100;
each control point calculates the number of control points to be selected according to 20-bit effective digits;
namely: the number of control points selected is (number of digits of a single password 100)/20.
In this embodiment, the number of control points selected is (3 × 100)/20 is 15.
And 9, randomly selecting a specified number of control points in the control point result table, and taking out effective numbers in the ordinate value X, the abscissa value Y and the elevation value H of all the control points, wherein the effective numbers comprise effective numbers after the decimal point but do not comprise the decimal point.
In this embodiment, the selected control points are as follows:
the order of the control points is as follows: AC005AC003AC002AC004 … …, and the recording result is written into the encrypted file.
And step 10, generating 100 digital elevation encryption passwords by using all the obtained effective digits according to a certain sequence. The method for sequentially generating comprises the following specific steps:
1. and sequentially selecting all effective numbers in the ordinate value X, the abscissa value Y and the elevation value H of the selected control point.
2. And circularly selecting the effective numbers of the ordinate value, the abscissa value and the elevation value of one control point or reversely and circularly selecting 1 bit each time until all the effective numbers of one control point are selected, and then selecting the effective number of the next control point. For example:
in one control point, circularly selecting effective digits of longitudinal coordinate values, circularly selecting effective digits of horizontal coordinate values, circularly selecting effective digits of elevation values, selecting 1 bit each time until all effective digits of one control point are selected, and then selecting effective digits of the next control point; or the like, or, alternatively,
in one control point, effective digits of longitudinal coordinate values are selected in a reverse circulation mode, effective digits of transverse coordinate values are selected in a reverse circulation mode, effective digits of elevation values are selected in a reverse circulation mode, 1 digit is selected each time until all effective digits of one control point are selected, and then effective digits of the next control point are selected.
3. And respectively selecting the effective numbers of the ordinate value, the abscissa value and the elevation value of one control point in a circulating mode or in a reverse circulating mode, wherein 1 bit is selected each time until all the effective numbers of one control point are selected, and then selecting the effective number of the next control point. For example:
in one control point, circularly selecting effective digits of longitudinal coordinate values, reversely and circularly selecting effective digits of transverse coordinate values, circularly selecting effective digits of elevation values, selecting 1 bit each time until all effective digits of one control point are selected, and then selecting effective digits of the next control point; or the like, or, alternatively,
in one control point, circularly selecting effective digits of longitudinal coordinate values, circularly selecting effective digits of horizontal coordinate values, reversely and circularly selecting effective digits of elevation values, selecting 1 bit each time until all effective digits of one control point are selected, and then selecting effective digits of the next control point; or the like, or, alternatively,
in one control point, effective digits of longitudinal coordinate values are selected in a reverse circulation mode, effective digits of transverse coordinate values are selected in a circulation mode, effective digits of elevation values are selected in a circulation mode, 1 digit is selected each time until all effective digits of one control point are selected, and then effective digits of the next control point are selected; or the like, or, alternatively,
in one control point, circularly selecting effective digits of longitudinal coordinate values, reversely and circularly selecting effective digits of transverse coordinate values, reversely and circularly selecting effective digits of elevation values, selecting 1 bit each time until all effective digits of one control point are selected, and then selecting effective digits of the next control point; or the like, or, alternatively,
in one control point, effective digits of longitudinal coordinate values are selected in a reverse circulation mode, effective digits of horizontal coordinate values are selected in a circulation mode, effective digits of elevation values are selected in a reverse circulation mode, 1 digit is selected each time until all effective digits of one control point are selected, and then effective digits of the next control point are selected; or the like, or, alternatively,
in one control point, effective digits of longitudinal coordinate values are selected in a reverse circulation mode, effective digits of transverse coordinate values are selected in a reverse circulation mode, effective digits of elevation values are selected in a circulation mode, 1 digit is selected each time until all effective digits of one control point are selected, and then effective digits of the next control point are selected.
4. And circularly selecting the effective numbers of the longitudinal coordinate value, the horizontal coordinate value and the elevation value of each control point together or reversely and circularly selecting the effective numbers of the longitudinal coordinate value, the horizontal coordinate value and the elevation value, wherein 1 bit, 2 bits or 3 bits are selected each time until all the effective numbers of all the control points are selected.
5. And respectively and circularly selecting the effective numbers of the longitudinal coordinate value, the horizontal coordinate value and the elevation value of each control point or reversely and circularly selecting the effective numbers of the longitudinal coordinate value, the horizontal coordinate value and the elevation value of each control point, and taking 1 bit, 2 bits or 3 bits each time until all the effective numbers of all the control points are selected.
Of course, the cycle pattern may be many and is not limited to the above method.
In this embodiment, X, Y, H values are read in one control point inner loop, and 1 bit is read each time, and the X positive sequence, the Y negative sequence and the H positive sequence are taken. And sequentially generating an integer value key group by using all the obtained valid numbers, wherein the key group consists of 100 keys, each key is an integer value generated by 3 valid numbers, and the generated key group is as follows:
271 866 325 850 152 056……
and 11, encrypting the digital elevation value by using the digital elevation encryption password and writing the encrypted digital elevation value into an encrypted file. The method specifically comprises the following steps: and reading the digital elevation values in sequence, adding the digital elevation values to the encryption passwords in sequence, and writing the result into an encryption file, wherein 100 encryption passwords are recycled.
In this embodiment, the sequential reading height value is: 836.199838.837838.571835.617832.148828.874 … …, respectively adding the encryption passwords in sequence: 1107.1991704.8371163.5711685.617984.148884.874 … …, writing it to the encrypted document.
And step 12, transmitting the encrypted file to a file receiving end through the Internet or other ways.
And step 13, the file receiving end reads the control point data corresponding to the control point number in the encrypted file by using the stored control point result table and according to the control point number recorded by the file sending end, and generates a decryption password.
And step 14, decrypting according to the inverse operation of the encryption operation of the file sending end, wherein the decryption comprises coordinate data in an ASCII file header, pixel size data and all digital elevation values, and obtaining an original ASCII file. The method specifically comprises the following steps:
and removing the relative relation between the coordinate values of the coordinate points in the ASCII file header and the coordinate values of the selected control points:
ordinate: x- Δ X;
the abscissa: y- Δ Y;
in the formula, delta X is an ordinate increment, delta Y is an abscissa increment, X is a control point ordinate value, and Y is a control point abscissa value;
decrypting the pixel size data: subtracting the pixel size encryption password from the pixel size encryption result according to the corresponding decimal place number;
and (3) decryption of the digital elevation value: and respectively subtracting the digital elevation encryption passwords from the encrypted digital elevation values in sequence.
In this embodiment, the relative relationship between the coordinate values in the ASCII file header and the selected control point coordinate values is released:
ordinate: x- Δ X-2838109.97-1420.90-2836689.07;
the abscissa: y- Δ Y-39765552.67 + 12094.71-39777647.38;
pixel size decryption: 0.00804740697829354-0.00776962920051585 ═ 0.00027777777777769
And (3) decryption of the digital elevation value: 1107.1991704.8371163.5711685.617984.148884.874 … …, the cipher values 271866325850152056 … … are subtracted to obtain the original elevation values 836.199838.837838.571835.617832.148828.874 … ….
And step 15, converting the ASCII file into an initial format to finish the encryption transmission of the digital elevation model.
In this embodiment, the GlobalMapper software is opened, the Open yourOwn DataFiles in the "File" menu are clicked, the corresponding DEM data (ASCII Format) is selected, the Open state is clicked, "Export →" in the "File" menu is clicked, "Export Elevation Grid Format … … is selected, the" GeoTIFF "is selected in the pop-up" Select Export Format "dialog box, and the OK is clicked. Clicking OK on a data storage dialog box popped up later to finish the conversion of DEM data.
The above description is only a preferred embodiment of the present invention and is not intended to limit the present invention, and various modifications and changes may be made by those skilled in the art. Any modification, equivalent replacement, or improvement made within the spirit and principle of the present invention should be included in the protection scope of the present invention.