CN117472035B - Verification method for software and hardware of main control system - Google Patents

Verification method for software and hardware of main control system Download PDF

Info

Publication number
CN117472035B
CN117472035B CN202311811186.4A CN202311811186A CN117472035B CN 117472035 B CN117472035 B CN 117472035B CN 202311811186 A CN202311811186 A CN 202311811186A CN 117472035 B CN117472035 B CN 117472035B
Authority
CN
China
Prior art keywords
integer
integer value
arrays
reading
control system
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
CN202311811186.4A
Other languages
Chinese (zh)
Other versions
CN117472035A (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.)
Dongfang Electric Wind Power Co Ltd
Original Assignee
Dongfang Electric Wind Power 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 Dongfang Electric Wind Power Co Ltd filed Critical Dongfang Electric Wind Power Co Ltd
Priority to CN202311811186.4A priority Critical patent/CN117472035B/en
Publication of CN117472035A publication Critical patent/CN117472035A/en
Application granted granted Critical
Publication of CN117472035B publication Critical patent/CN117472035B/en
Active legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Classifications

    • GPHYSICS
    • G05CONTROLLING; REGULATING
    • G05BCONTROL OR REGULATING SYSTEMS IN GENERAL; FUNCTIONAL ELEMENTS OF SUCH SYSTEMS; MONITORING OR TESTING ARRANGEMENTS FOR SUCH SYSTEMS OR ELEMENTS
    • G05B23/00Testing or monitoring of control systems or parts thereof
    • G05B23/02Electric testing or monitoring
    • G05B23/0205Electric testing or monitoring by means of a monitoring system capable of detecting and responding to faults
    • G05B23/0218Electric testing or monitoring by means of a monitoring system capable of detecting and responding to faults characterised by the fault detection method dealing with either existing or incipient faults
    • G05B23/0221Preprocessing measurements, e.g. data collection rate adjustment; Standardization of measurements; Time series or signal analysis, e.g. frequency analysis or wavelets; Trustworthiness of measurements; Indexes therefor; Measurements using easily measured parameters to estimate parameters difficult to measure; Virtual sensor creation; De-noising; Sensor fusion; Unconventional preprocessing inherently present in specific fault detection methods like PCA-based methods
    • YGENERAL TAGGING OF NEW TECHNOLOGICAL DEVELOPMENTS; GENERAL TAGGING OF CROSS-SECTIONAL TECHNOLOGIES SPANNING OVER SEVERAL SECTIONS OF THE IPC; TECHNICAL SUBJECTS COVERED BY FORMER USPC CROSS-REFERENCE ART COLLECTIONS [XRACs] AND DIGESTS
    • Y02TECHNOLOGIES OR APPLICATIONS FOR MITIGATION OR ADAPTATION AGAINST CLIMATE CHANGE
    • Y02PCLIMATE CHANGE MITIGATION TECHNOLOGIES IN THE PRODUCTION OR PROCESSING OF GOODS
    • Y02P90/00Enabling technologies with a potential contribution to greenhouse gas [GHG] emissions mitigation
    • Y02P90/02Total factory control, e.g. smart factories, flexible manufacturing systems [FMS] or integrated manufacturing systems [IMS]

Abstract

The invention discloses a verification method of software and hardware of a main control system, and belongs to the technical field of wind turbines, wherein the method reads an identification code of the hardware through the software of the main control system; the acquired identification codes are converted into unified identification codes of the whole hardware system, an identification file for software verification is generated by acquiring server database information, the unified identification codes are acquired and combined for verification through a main control system, and the matching effectiveness between software and hardware is verified through verification; according to the verification method of the software and hardware of the main control system, on the concrete principle design, the main control system is adopted to generate the identification code which can be identified by the server, the identification code is processed by the server to generate the identification file, and the encryption function is realized by further processing the identification file and verifying the identification code with the original identification code in the main control system.

Description

Verification method for software and hardware of main control system
Technical Field
The invention relates to a verification method for software and hardware of a main control system, and belongs to the technical field of wind turbines.
Background
The fan main control system is a core control system of the wind generating set, and the reliability of the fan main control system directly influences indexes such as safety, running stability and reliability of the set. The main control system consists of a set of control system hardware and control software, and because of certain difference between different hardware, the reliability of the main control system is directly affected by the matching of the software and the hardware, and therefore, the matching relationship between the software and the hardware is required to be identified and checked during the design of the control system so as to ensure the reliable operation of the whole system.
Disclosure of Invention
The invention aims at: aiming at the problems, a method for checking the hardware of the main control system is provided, and when the method passes the checking, the main control system software can normally enter an initialization flow to start operation; when the verification fails, the main control system software cannot enter the initialization flow, and the safety of the unit is effectively ensured.
The technical scheme adopted by the invention is as follows:
a method for verifying software and hardware of a main control system comprises the following steps of;
s1, reading an identification code of hardware through software of a main control system;
s2, converting the acquired identification code into a unified identification code of the whole hardware system;
s3, after the server database information obtains the unified identification code, an identification file for software verification is generated;
s4, the master control system acquires the identification file and performs verification by combining the unified identification code, and the matching effectiveness between the software and the hardware is verified through verification.
Further, in step S2, the method further includes the following steps:
s21, reading a serial number a1 of the controller module through software;
s22, reading serial numbers of other hardware modules one by one through software, wherein the serial numbers are a2, a3, … and an; wherein a1, a2, a3, …, an is n1 character strings of specific length;
s23, combining all serial numbers into a character string A representing hardware configuration by a specific character string splicing method f1, specifically, A=f1 (a 1, a2, a3, …, an);
s24, converting the acquired character string A into m integer value arrays, wherein each array comprises n2 byte integer values which are respectively B1, B2, … and Bm;
s25, converting the obtained m integer value arrays into m integer values, respectively obtaining C1, C2, … and Cm, and combining the integer values C1, C2, … and Cm into a unified identification code D.
Further, in step S25, the specific algorithm for converting the acquired m number of arrays into m integer values further includes the following steps:
s251, reading integer value array element B1 with the length of n2 bytes;
s252, calculating an intermediate integer value X, Y, Z through the obtained integer array B1 of n2 bytes;
the specific calculation mode is as follows:
X=(∑B[i])%a;
Y=(∏((B[i]*B[i])>>b))%c;
Z=Ω(B[i]<<d);
s253, obtaining integer value C1 through the obtained intermediate integer value X, Y, Z;
the specific calculation mode is as follows:
C1=X&&e+Y&&f+Z&&g;
wherein a, b, c, d, e, f, g are specific integer values set; the & & is binary bitwise AND; % is the remainder; > is binary right shift; < is binary shift left; Σ is a summation item by item (1 < =i < =n2); pi is a product term by term (1 < =i < =n2); omega is the itemized exclusive or (1 < =i < =n2); bi is the value of the i-th element in the fetch group B;
s254, reading B2 and calculating C2 according to the steps from S251 to S253, and calculating Cm one by one until Cm is obtained.
Further, the step S3 further includes the following steps:
s31, reading a unified identification code D of an integer numerical array with the length m generated by a main control system;
s32, converting the unified identification code into an identification file code E of an integer numerical array with the length of t, wherein t is more than m;
s33, writing the identification file code E into the identification file.
Further, in step S4, the method further includes the following steps:
s41, the main control system reads the identification file to obtain an identification file code E;
s42, converting the identification file code E into a check code F of an integer numerical array with the length of m;
s43, reading the unified identification code D, comparing whether the check code F is consistent with the unified identification code D, if so, checking to pass, and if not, checking to fail.
Further, in step S32, the conversion process is implemented by an algorithm Q, where the algorithm Q is specifically: e=q (D, M, N);
in step S42, the conversion process is implemented by an algorithm Q, where the algorithm Q is specifically: f=q (E, P, N);
wherein N, M and P are integer arrays of values of length t;
the algorithm Q comprises the steps of:
d1, reading integer value array G, and supplementing integer value elements with 0 when the length of G is m, so that the length of G is t, wherein t is more than m;
d2, reading integer value arrays H, J, wherein the lengths of the integer value arrays H, J are t;
d3, reading integer value arrays K, wherein K is equal to E or F, and enabling the integer value arrays K to be equal to a set specific integer value array h;
and D4, sequentially obtaining the integer value arrays H after calculation, comparing the set specific integer value arrays p through the H, obtaining the integer value arrays K if the comparison results are the same, and repeating calculation if the comparison results are different.
Further, in step D4, the calculation method is specifically as follows:
L=(H&&x)%y;
K=Q1(Q2(K,G),H);
G=Q1(Q2(G,G),J);
H=Q3(Q4(H,L),z);
wherein h, x, y, z, p are a specific integer value array;
g, H, J, K, L are integer arrays of values of length t;
q1, Q2, Q3, Q4 are sub-algorithms;
the & & is binary bitwise AND;
% is the remainder.
Further, the sub-algorithm Q1 includes the following steps:
d11, reading integer value arrays X1, Y1, the lengths of which are t, wherein x1=q2 (K, G) or Q2 (G, G), corresponding y1=h or J;
d12, let i1=t, and perform the following calculation in order:
b1=(X1[i1]/Y1[i1])-c1;
X1=X1-Y1*b1;
Z1=Z1+b1;
X1=Q4(X1,Q2(Y1,Y1));
Z1=Z1+(X1⊕(Y1,c1))*c1;
wherein b1, c1 are specific integer values;
x1, Y1 and Z1 are integer numerical arrays with the length of t;
one is binary bitwise exclusive OR;
and D13, judging whether i1 is greater than 1 and smaller than or equal to 1, acquiring the integer value array X1 calculated in the step D12, and if so, repeating the calculation in the step D12 with i1-1 in sequence.
Further, the sub-algorithm Q2 includes the following steps:
d21, reading integer value arrays X2, Y2, the lengths of which are t, wherein x2=k or G, and corresponding y2=g;
d22, let i2=1, j2=1, d1=0, and sequentially perform the following calculations:
Z2[i2+j2-b2]=(Z2[i2+j2-b2]+X2[i2]*Y2[j2]+d1)%e1;
d1=(Z2[i2+j2]+(X2[i2]*Y2[j2])/e1)%e1;
Z2[i2+j2]=Z2[i2+j2]+(X2[i2]*Y2[j2])/e1-d1;
b2 D1, e1 is a specific integer number;
x2, Y2 and Z2 are integer numerical arrays with the length of t;
% is the remainder;
d23, judging whether j2 is greater than or equal to t, if so, repeating the calculation of the step D22 with j2+ 1; if the value is greater than or equal to t, executing the judgment of i 2;
d24, determining whether i2 is greater than or equal to t, if less than t, repeating steps D22 and D23 with i2+1 and j2=1; if t is greater than or equal to t, the integer value array Z2 calculated in the step D22 is obtained.
Further, the sub-algorithm Q3 includes the following steps:
d31, reading integer value arrays X3, Y3, the lengths of which are t, wherein x3=q4 (H, L), corresponding y3=z;
d32, let i3=t, and perform the following calculation in order:
b3=(X3[i3]/Y3[i3])-d2;
X3=X3-Y3*b3;
Z3=Z3+b3;
X3=Q4(X3,Q2(Y3,d2));
Z3=Z3+(X3⊕(Y3,d2))*d2;
b3 and d2 are specific integer values;
x3, Y3 and Z3 are integer numerical arrays with the length of t;
d33, judging whether i3 is larger than 1, if i3 is larger than 1, repeating the step D32 with i-1; if i3 is less than or equal to 1, the integer value array Z3 calculated in step D32 is obtained.
Further, the sub-algorithm Q4 includes the following steps:
d41, reading integer value arrays X4, Y4, the lengths of which are t, wherein x4=h, and corresponding y4=l;
d42, let i4=1, d3=0, and perform the following calculation in order:
d3=((X4[i4]+b4-Y4[i4])-d3)>>e2;
Z4[i4]=(X4[i4]+b4-Y4[i4]-d3)%g1;
b4, d3, e2, g1 are specific integer values;
x4, Y4 and Z4 are integer numerical arrays with the length of t;
% is the remainder;
> is binary right shift;
d43, judging whether i4 is greater than or equal to t, if i4 is greater than or equal to t, obtaining integer value array Z4 calculated in step D42; if i4 is less than t, repeat step D42 with i4+1.
In summary, due to the adoption of the technical scheme, the beneficial effects of the invention are as follows:
according to the verification method of the software and hardware of the main control system, the main control system is adopted to generate the identification code which can be identified by the server, the server is used for processing the identification code to generate the identification file, the identification file is further processed in the main control system and verified with the original identification code, and the encryption function is realized.
Drawings
The invention will now be described by way of example and with reference to the accompanying drawings in which:
FIG. 1 is a schematic flow chart of the present invention;
FIG. 2 is a flow chart of a master control system generating a unified identification code;
FIG. 3 is a schematic algorithm flow chart of step S25;
FIG. 4 is a schematic flow chart of a server generating an identification file;
FIG. 5 is a schematic diagram of a flow of master control system verification;
FIG. 6 is a flow chart of algorithm Q;
FIG. 7 is a flow chart of algorithm Q1;
FIG. 8 is a flow chart of algorithm Q2;
FIG. 9 is a flow chart of algorithm Q3;
fig. 10 is a flow chart of algorithm Q4.
Detailed Description
All of the features disclosed in this specification, or all of the steps in a method or process disclosed, may be combined in any combination, except for mutually exclusive features and/or steps.
Any feature disclosed in this specification may be replaced by alternative features serving the same or equivalent purpose, unless expressly stated otherwise. That is, each feature is one example only of a generic series of equivalent or similar features, unless expressly stated otherwise.
Examples
The verification method of the software and hardware of the main control system, as shown in figures 1 to 10, comprises the following steps of;
s1, reading an identification code of hardware through software of a main control system;
s2, converting the acquired identification code into a unified identification code of the whole hardware system;
s3, after the server database information obtains the unified identification code, an identification file for software verification is generated;
s4, the master control system acquires the identification file and performs verification by combining the unified identification code, and the matching effectiveness between the software and the hardware is verified through verification.
In this embodiment, unlike the conventional encryption method, the method has the advantages that the master control system is adopted to generate the unified identification code, the server is used for acquiring the unified identification code, the data is processed and then the unified identification code is regenerated to obtain the identification file, the identification file is acquired by the master control system again to be identified, the comparison and verification are performed on the identification file and the original unified identification code, and the encryption of the master control system is realized after the comparison and verification.
As a more specific design, in the above specific step design, in step S2, the following steps are further included:
s21, reading a serial number a1 of the controller module through software;
s22, reading serial numbers of other hardware modules one by one through software, wherein the serial numbers are a2, a3, … and an; wherein a1, a2, a3, …, an is n1 character strings of specific length;
s23, combining all serial numbers into a character string A representing hardware configuration by a specific character string splicing method f1, specifically, A=f1 (a 1, a2, a3, …, an);
s24, converting the acquired character string A into m integer value arrays, wherein each array comprises n2 byte integer values which are respectively B1, B2, … and Bm;
s25, converting the obtained m integer value arrays into m integer values, respectively obtaining C1, C2, … and Cm, and combining the integer values C1, C2, … and Cm into a unified identification code D.
In the above specific operation manner, the main purpose is to convert the array into a new number and combine the new numbers into a new combination to form a unified identification code, where D is also m integer number arrays.
On the basis of the above specific design, as a more specific design, the specific algorithm for converting the acquired m number sets into m integer values in step S25 further includes the steps of:
s251, reading integer value array element B1 with the length of n2 bytes;
s252, calculating an intermediate integer value X, Y, Z through the obtained integer array B1 of n2 bytes;
the specific calculation mode is as follows:
X=(∑B[i])%a;
Y=(∏((B[i]*B[i])>>b))%c;
Z=Ω(B[i]<<d);
s253, obtaining integer value C1 through the obtained intermediate integer value X, Y, Z;
the specific calculation mode is as follows:
C1=X&&e+Y&&f+Z&&g;
wherein a, b, c, d, e, f, g are specific integer values set; the & & is binary bitwise AND; % is the remainder; > is binary right shift; < is binary shift left; Σ is a summation item by item (1 < =i < =n2); pi is a product term by term (1 < =i < =n2); omega is the itemized exclusive or (1 < =i < =n2); bi is the value of the i-th element in the fetch group B;
s254, reading B2 and calculating C2 according to the steps from S251 to S253, and calculating Cm one by one until Cm is obtained.
Based on the specific design, the calculation of the unified identification code D is completed, and further the operation and the operation of the unified identification code D in the server are further designed, and the step S3 further comprises the following steps:
s31, reading a unified identification code D of an integer numerical array with the length m generated by a main control system;
s32, converting the unified identification code into an identification file code E of an integer numerical array with the length of t, wherein t is more than m;
s33, writing the identification file code E into the identification file.
Further, after the identification file is obtained, the identification file is obtained through the main control system, and is compared with the unified identification code through calculation, so that a verification result is obtained, and in particular, in the step S4, the method further comprises the following steps:
s41, the main control system reads the identification file to obtain an identification file code E;
s42, converting the identification file code E into a check code F of an integer numerical array with the length of m;
s43, reading the unified identification code D, comparing whether the check code F is consistent with the unified identification code D, if so, checking to pass, and if not, checking to fail.
In the above specific design, the process of converting the unified identification code D into the identification file and then into the check code F is further optimized, specifically, in step S32, the conversion process is implemented by an algorithm Q, where the algorithm Q specifically is: e=q (D, M, N);
in step S42, the conversion process is implemented by an algorithm Q, where the algorithm Q is specifically: f=q (E, P, N);
wherein N, M and P are integer arrays of values of length t, where t > m;
in particular, the algorithm Q comprises the following steps:
d1, reading integer value array G, and supplementing integer value elements with 0 when the length of G is m, so that the length of G is t, wherein t is more than m;
d2, reading integer value arrays H, J, wherein the lengths of the integer value arrays H, J are t;
d3, reading integer value arrays K, wherein K is equal to E or F, and enabling the integer value arrays K to be equal to a set specific integer value array h;
and D4, sequentially obtaining the integer value arrays H after calculation, comparing the set specific integer value arrays p through the H, obtaining the integer value arrays K if the comparison results are the same, and repeating calculation if the comparison results are different.
In step D4, the calculation method is specifically as follows:
L=(H&&x)%y;
K=Q1(Q2(K,G),H);
G=Q1(Q2(G,G),J);
H=Q3(Q4(H,L),z);
wherein h, x, y, z, p are a specific integer value array;
g, H, J, K, L are integer arrays of values of length t;
q1, Q2, Q3, Q4 are sub-algorithms;
the & & is binary bitwise AND;
% is the remainder.
For the above algorithm, further designs are respectively aimed at the algorithms Q1, Q2, Q3 and Q4, wherein the sub-algorithm Q1 comprises the following steps:
d11, reading integer value arrays X1, Y1, the lengths of which are t, wherein x1=q2 (K, G) or Q2 (G, G), corresponding y1=h or J;
d12, let i1=t, and perform the following calculation in order:
b1=(X1[i1]/Y1[i1])-c1;
X1=X1-Y1*b1;
Z1=Z1+b1;
X1=Q4(X1,Q2(Y1,Y1));
Z1=Z1+(X1⊕(Y1,c1))*c1;
wherein b1, c1 are specific integer values;
x1, Y1 and Z1 are integer numerical arrays with the length of t;
one is binary bitwise exclusive OR;
and D13, judging whether i1 is greater than 1 and smaller than or equal to 1, acquiring the integer value array X1 calculated in the step D12, and if so, repeating the calculation in the step D12 with i1-1 in sequence.
The sub-algorithm Q2 includes the steps of:
d21, reading integer value arrays X2, Y2, the lengths of which are t, wherein x2=k or G, and corresponding y2=g;
d22, let i2=1, j2=1, d1=0, and sequentially perform the following calculations:
Z2[i2+j2-b2]=(Z2[i2+j2-b2]+X2[i2]*Y2[j2]+d1)%e1;
d1=(Z2[i2+j2]+(X2[i2]*Y2[j2])/e1)%e1;
Z2[i2+j2]=Z2[i2+j2]+(X2[i2]*Y2[j2])/e1-d1;
b2 D1, e1 is a specific integer number;
x2, Y2 and Z2 are integer numerical arrays with the length of t;
% is the remainder;
d23, judging whether j2 is greater than or equal to t, if so, repeating the calculation of the step D22 with j2+ 1; if the value is greater than or equal to t, executing the judgment of i 2;
d24, determining whether i2 is greater than or equal to t, if less than t, repeating steps D22 and D23 with i2+1 and j2=1; if t is greater than or equal to t, the integer value array Z2 calculated in the step D22 is obtained.
The sub-algorithm Q3 includes the following steps:
d31, reading integer value arrays X3, Y3, the lengths of which are t, wherein x3=q4 (H, L), corresponding y3=z;
d32, let i3=t, and perform the following calculation in order:
b3=(X3[i3]/Y3[i3])-d2;
X3=X3-Y3*b3;
Z3=Z3+b3;
X3=Q4(X3,Q2(Y3,d2));
Z3=Z3+(X3⊕(Y3,d2))*d2;
b3 and d2 are specific integer values;
x3, Y3 and Z3 are integer numerical arrays with the length of t;
d33, judging whether i3 is larger than 1, if i3 is larger than 1, repeating the step D32 with i-1; if i3 is less than or equal to 1, the integer value array Z3 calculated in step D32 is obtained.
The sub-algorithm Q4 includes the steps of:
d41, reading integer value arrays X4, Y4, the lengths of which are t, wherein x4=h, and corresponding y4=l;
d42, let i4=1, d3=0, and perform the following calculation in order:
d3=((X4[i4]+b4-Y4[i4])-d3)>>e2;
Z4[i4]=(X4[i4]+b4-Y4[i4]-d3)%g1;
b4, d3, e2, g1 are specific integer values;
x4, Y4 and Z4 are integer numerical arrays with the length of t;
% is the remainder;
> is binary right shift;
d43, judging whether i4 is greater than or equal to t, if i4 is greater than or equal to t, obtaining integer value array Z4 calculated in step D42; if i4 is less than t, repeat step D42 with i4+1.
According to the verification method of the software and hardware of the main control system, the main control system is adopted to generate the identification code which can be identified by the server, the server is used for processing the identification code to generate the identification file, the identification file is further processed in the main control system and verified with the original identification code, and the encryption function is realized.
The invention is not limited to the specific embodiments described above. The invention extends to any novel one, or any novel combination, of the features disclosed in this specification, as well as to any novel one, or any novel combination, of the steps of the method or process disclosed.

Claims (3)

1. A method for checking software and hardware of a main control system is characterized by comprising the following steps: comprises the following steps of;
s1, reading an identification code of hardware through software of a main control system;
s2, converting the acquired identification code into a unified identification code of the whole hardware system;
in step S2, the method further comprises the steps of:
s21, reading a serial number a1 of the controller module through software;
s22, reading serial numbers of other hardware modules one by one through software, wherein the serial numbers are a2, a3, … and an; wherein a1, a2, a3, …, an is n1 character strings of specific length;
s23, combining all serial numbers into a character string A representing hardware configuration by a specific character string splicing method f1, specifically, A=f1 (a 1, a2, a3, …, an);
s24, converting the acquired character string A into m integer value arrays, wherein each array comprises n2 byte integer values which are respectively B1, B2, … and Bm;
s25, converting the obtained m integer value arrays into m integer values, respectively obtaining C1, C2, … and Cm, and combining the integer values C1, C2, … and Cm into a unified identification code D;
s3, after the server database information obtains the unified identification code, an identification file for software verification is generated;
step S3 further comprises the steps of:
s31, reading a unified identification code D of an integer numerical array with the length m generated by a main control system;
s32, converting the unified identification code into an identification file code E of an integer numerical array with the length of t, wherein t is more than m;
s33, writing the identification file code E into the identification file;
s4, the main control system acquires the identification file, verifies the identification code uniformly, and verifies the matching effectiveness between the software and the hardware through verification;
in step S32, the conversion process is implemented by an algorithm Q, where the algorithm Q is specifically: e=q (D, M, N);
in step S4, the identification file code E is converted into the check code F by the algorithm Q, which specifically is: f=q (E, P, N);
wherein N, M and P are integer arrays of values of length t;
the algorithm Q comprises the steps of:
d1, reading integer value array G, and supplementing integer value elements with 0 when the length of G is m, so that the length of G is t, wherein t is more than m;
d2, reading integer value arrays H, J, wherein the lengths of the integer value arrays H, J are t;
d3, reading integer value arrays K, wherein K is equal to E or F, and enabling the integer value arrays K to be equal to a set specific integer value array h;
d4, sequentially obtaining the integer value arrays H after calculation, comparing the set specific integer value arrays p through the H, obtaining integer value arrays K if the comparison results are the same, and repeating calculation if the comparison results are different;
in step D4, the calculation method is specifically as follows:
L=(H&&x)%y;
K=Q1(Q2(K,G),H);
G=Q1(Q2(G,G),J);
H=Q3(Q4(H,L),z);
wherein h, x, y, z, p are a specific integer value array;
g, H, J, K, L are integer arrays of values of length t;
q1, Q2, Q3, Q4 are sub-algorithms;
the & & is binary bitwise AND;
% is the remainder;
the sub-algorithm Q1 includes the following steps:
d11, reading integer value arrays X1, Y1, the lengths of which are t, wherein x1=q2 (K, G) or Q2 (G, G), corresponding y1=h or J;
d12, let i1=t, and perform the following calculation in order:
b1=(X1[i1]/Y1[i1])-c1;
X1=X1-Y1*b1;
Z1=Z1+b1;
X1=Q4(X1,Q2(Y1,Y1));
Z1=Z1+(X1⊕(Y1,c1))*c1;
wherein b1, c1 are specific integer values;
x1, Y1 and Z1 are integer numerical arrays with the length of t;
one is binary bitwise exclusive OR;
d13, judging whether i1 is greater than 1 and smaller than or equal to 1, acquiring the integer numerical array X1 calculated in the step D12, and if so, repeating the calculation in the step D12 with i1-1 in sequence;
the sub-algorithm Q2 includes the steps of:
d21, reading integer value arrays X2, Y2, the lengths of which are t, wherein x2=k or G, and corresponding y2=g;
d22, let i2=1, j2=1, d1=0, and sequentially perform the following calculations:
Z2[i2+j2-b2]=(Z2[i2+j2-b2]+X2[i2]*Y2[j2]+d1)%e1;
d1=(Z2[i2+j2]+(X2[i2]*Y2[j2])/e1)%e1;
Z2[i2+j2]=Z2[i2+j2]+(X2[i2]*Y2[j2])/e1-d1;
b2 D1, e1 is a specific integer number;
x2, Y2 and Z2 are integer numerical arrays with the length of t;
% is the remainder;
d23, judging whether j2 is greater than or equal to t, if so, repeating the calculation of the step D22 with j2+ 1; if the value is greater than or equal to t, executing the judgment of i 2;
d24, determining whether i2 is greater than or equal to t, if less than t, repeating steps D22 and D23 with i2+1 and j2=1; if the integer value is greater than or equal to t, acquiring an integer value array Z2 calculated in the step D22;
the sub-algorithm Q3 includes the following steps:
d31, reading integer value arrays X3, Y3, the lengths of which are t, wherein x3=q4 (H, L), corresponding y3=z;
d32, let i3=t, and perform the following calculation in order:
b3=(X3[i3]/Y3[i3])-d2;
X3=X3-Y3*b3;
Z3=Z3+b3;
X3=Q4(X3,Q2(Y3,d2));
Z3=Z3+(X3⊕(Y3,d2))*d2;
b3 and d2 are specific integer values;
x3, Y3 and Z3 are integer numerical arrays with the length of t;
d33, judging whether i3 is larger than 1, if i3 is larger than 1, repeating the step D32 with i-1; if i3 is less than or equal to 1, acquiring an integer value array Z3 calculated in the step D32;
the sub-algorithm Q4 includes the steps of:
d41, reading integer value arrays X4, Y4, the lengths of which are t, wherein x4=h, and corresponding y4=l;
d42, let i4=1, d3=0, and perform the following calculation in order:
d3=((X4[i4]+b4-Y4[i4])-d3)>>e2;
Z4[i4]=(X4[i4]+b4-Y4[i4]-d3)%g1;
b4, d3, e2, g1 are specific integer values;
x4, Y4 and Z4 are integer numerical arrays with the length of t;
% is the remainder;
> is binary right shift;
d43, judging whether i4 is greater than or equal to t, if i4 is greater than or equal to t, obtaining integer value array Z4 calculated in step D42; if i4 is less than t, repeat step D42 with i4+1.
2. The method for verifying software and hardware of a master control system according to claim 1, wherein: in step S25, the specific algorithm for converting the acquired m number of arrays into m integer values further includes the steps of:
s251, reading integer value array element B1 with the length of n2 bytes;
s252, calculating an intermediate integer value X, Y, Z through the obtained integer array B1 of n2 bytes;
the specific calculation mode is as follows:
X=(∑B[i])%a;
Y=(∏((B[i]*B[i])>>b))%c;
Z=Ω(B[i]<<d);
s253, obtaining integer value C1 through the obtained intermediate integer value X, Y, Z;
the specific calculation mode is as follows:
C1=X&&e+Y&&f+Z&&g;
wherein a, b, c, d, e, f, g are specific integer values set; the & & is binary bitwise AND; % is the remainder; > is binary right shift; < is binary shift left; Σ is a summation item by item (1 < =i < =n2); pi is a product term by term (1 < =i < =n2); omega is the itemized exclusive or (1 < =i < =n2); bi is the value of the i-th element in the fetch group B;
s254, reading B2 and calculating C2 according to the steps from S251 to S253, and calculating Cm one by one until Cm is obtained.
3. The method for verifying software and hardware of a master control system according to claim 1, wherein: in step S4, the method further comprises the steps of:
s41, the main control system reads the identification file to obtain an identification file code E;
s42, converting the identification file code E into a check code F of an integer numerical array with the length of m;
s43, reading the unified identification code D, comparing whether the check code F is consistent with the unified identification code D, if so, checking to pass, and if not, checking to fail.
CN202311811186.4A 2023-12-27 2023-12-27 Verification method for software and hardware of main control system Active CN117472035B (en)

Priority Applications (1)

Application Number Priority Date Filing Date Title
CN202311811186.4A CN117472035B (en) 2023-12-27 2023-12-27 Verification method for software and hardware of main control system

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
CN202311811186.4A CN117472035B (en) 2023-12-27 2023-12-27 Verification method for software and hardware of main control system

Publications (2)

Publication Number Publication Date
CN117472035A CN117472035A (en) 2024-01-30
CN117472035B true CN117472035B (en) 2024-03-08

Family

ID=89636559

Family Applications (1)

Application Number Title Priority Date Filing Date
CN202311811186.4A Active CN117472035B (en) 2023-12-27 2023-12-27 Verification method for software and hardware of main control system

Country Status (1)

Country Link
CN (1) CN117472035B (en)

Citations (21)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US5960012A (en) * 1997-06-23 1999-09-28 Sun Microsystems, Inc. Checksum determination using parallel computations on multiple packed data elements
CN102915412A (en) * 2011-08-04 2013-02-06 波音公司 Software part validation using hash values
CN103942473A (en) * 2014-04-14 2014-07-23 立德高科(北京)数码科技有限责任公司 Method used for preventing unauthorized user from starting software and system thereof
CN107437186A (en) * 2016-05-26 2017-12-05 广东淘真宝科技股份有限公司 A kind of generation of commodity counterfeit prevention code and the method for inspection
CN107729068A (en) * 2017-09-30 2018-02-23 上海联影医疗科技有限公司 A kind of device management method and system
CN107911335A (en) * 2017-09-26 2018-04-13 五八有限公司 Verify the methods, devices and systems of Uniform Resource Identifier URI
CN108111519A (en) * 2017-12-27 2018-06-01 Tcl通力电子(惠州)有限公司 Management method, device and the computer readable storage medium of key file
CN108197688A (en) * 2018-02-07 2018-06-22 施玥 A kind of coding mode with check code
CN108875395A (en) * 2018-06-28 2018-11-23 合肥浪金防伪科技有限公司 The generation and the method for inspection of commodity counterfeit prevention code
CN109086578A (en) * 2017-06-14 2018-12-25 中兴通讯股份有限公司 A kind of method that soft ware authorization uses, equipment and storage medium
CN110825639A (en) * 2019-11-08 2020-02-21 西安雷风电子科技有限公司 Tamper-resistant time software License verification method
CN111709010A (en) * 2020-06-19 2020-09-25 山东省计算中心(国家超级计算济南中心) Terminal authentication information extraction and verification method and system based on state cryptographic algorithm
CN111709059A (en) * 2020-06-19 2020-09-25 山东省计算中心(国家超级计算济南中心) Terminal authentication information generation method and system based on state cryptographic algorithm
CN112468609A (en) * 2020-11-16 2021-03-09 深圳市联新移动医疗科技有限公司 Method and system for acquiring unique identification code of hardware equipment
CN112990404A (en) * 2021-02-08 2021-06-18 北京声智科技有限公司 Method and device for generating sample identification code pattern, acquisition method and electronic equipment
CN113867318A (en) * 2021-09-30 2021-12-31 东风汽车集团股份有限公司 Automatic integration method for hardware-in-loop test engineering of CAN communication controller
CN115374490A (en) * 2022-08-22 2022-11-22 珠海格力电器股份有限公司 Device and method for writing equipment identifier, storage medium and terminal
CN115718676A (en) * 2022-11-28 2023-02-28 厦门市美亚柏科信息股份有限公司 Method and system for recovering electronic data of GoIP equipment
CN116383779A (en) * 2023-03-28 2023-07-04 上海航天电子通讯设备研究所 Software authorization and permission system for preventing software piracy
CN116738392A (en) * 2023-06-14 2023-09-12 东方电气新能科技(成都)有限公司 Software and hardware verification method for main control system of wind generating set
CN117075939A (en) * 2023-08-17 2023-11-17 重庆长安汽车股份有限公司 Controller list management method and system for vehicle OTA upgrade

Family Cites Families (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US20070074027A1 (en) * 2005-09-26 2007-03-29 Tien-Chun Tung Methods of verifying, signing, encrypting, and decrypting data and file
US8869103B2 (en) * 2008-10-06 2014-10-21 The Mathworks, Inc. Using intermediate representations to verify computer-executable code generated from a model

Patent Citations (21)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US5960012A (en) * 1997-06-23 1999-09-28 Sun Microsystems, Inc. Checksum determination using parallel computations on multiple packed data elements
CN102915412A (en) * 2011-08-04 2013-02-06 波音公司 Software part validation using hash values
CN103942473A (en) * 2014-04-14 2014-07-23 立德高科(北京)数码科技有限责任公司 Method used for preventing unauthorized user from starting software and system thereof
CN107437186A (en) * 2016-05-26 2017-12-05 广东淘真宝科技股份有限公司 A kind of generation of commodity counterfeit prevention code and the method for inspection
CN109086578A (en) * 2017-06-14 2018-12-25 中兴通讯股份有限公司 A kind of method that soft ware authorization uses, equipment and storage medium
CN107911335A (en) * 2017-09-26 2018-04-13 五八有限公司 Verify the methods, devices and systems of Uniform Resource Identifier URI
CN107729068A (en) * 2017-09-30 2018-02-23 上海联影医疗科技有限公司 A kind of device management method and system
CN108111519A (en) * 2017-12-27 2018-06-01 Tcl通力电子(惠州)有限公司 Management method, device and the computer readable storage medium of key file
CN108197688A (en) * 2018-02-07 2018-06-22 施玥 A kind of coding mode with check code
CN108875395A (en) * 2018-06-28 2018-11-23 合肥浪金防伪科技有限公司 The generation and the method for inspection of commodity counterfeit prevention code
CN110825639A (en) * 2019-11-08 2020-02-21 西安雷风电子科技有限公司 Tamper-resistant time software License verification method
CN111709010A (en) * 2020-06-19 2020-09-25 山东省计算中心(国家超级计算济南中心) Terminal authentication information extraction and verification method and system based on state cryptographic algorithm
CN111709059A (en) * 2020-06-19 2020-09-25 山东省计算中心(国家超级计算济南中心) Terminal authentication information generation method and system based on state cryptographic algorithm
CN112468609A (en) * 2020-11-16 2021-03-09 深圳市联新移动医疗科技有限公司 Method and system for acquiring unique identification code of hardware equipment
CN112990404A (en) * 2021-02-08 2021-06-18 北京声智科技有限公司 Method and device for generating sample identification code pattern, acquisition method and electronic equipment
CN113867318A (en) * 2021-09-30 2021-12-31 东风汽车集团股份有限公司 Automatic integration method for hardware-in-loop test engineering of CAN communication controller
CN115374490A (en) * 2022-08-22 2022-11-22 珠海格力电器股份有限公司 Device and method for writing equipment identifier, storage medium and terminal
CN115718676A (en) * 2022-11-28 2023-02-28 厦门市美亚柏科信息股份有限公司 Method and system for recovering electronic data of GoIP equipment
CN116383779A (en) * 2023-03-28 2023-07-04 上海航天电子通讯设备研究所 Software authorization and permission system for preventing software piracy
CN116738392A (en) * 2023-06-14 2023-09-12 东方电气新能科技(成都)有限公司 Software and hardware verification method for main control system of wind generating set
CN117075939A (en) * 2023-08-17 2023-11-17 重庆长安汽车股份有限公司 Controller list management method and system for vehicle OTA upgrade

Non-Patent Citations (1)

* Cited by examiner, † Cited by third party
Title
基于列表式读取方式的RFID系统性能及应用研究;白曦源;中国优秀硕士学位论文全文数据库信息科技辑;20110915(第09期);I138-952 *

Also Published As

Publication number Publication date
CN117472035A (en) 2024-01-30

Similar Documents

Publication Publication Date Title
CN106775619B (en) Flexible blockchain architecture system
JP2005302043A5 (en)
CN111310191A (en) Block chain intelligent contract vulnerability detection method based on deep learning
CN111415161A (en) Block chain-based data verification method and device and computer-readable storage medium
CN111125750B (en) Database watermark embedding and detecting method and system based on double-layer ellipse model
CN113901474B (en) Vulnerability detection method based on function-level code similarity
CN111221639A (en) Block pipeline execution method of block chain platform
CN117472035B (en) Verification method for software and hardware of main control system
CN111444513A (en) Firmware compiling optimization option identification method and device for power grid embedded terminal
CN111209341B (en) Data storage method, device, equipment and medium of block chain
CN116090375A (en) System for determining target drive source code based on coverage rate data
JP2024509486A (en) Fixed data processing
CN114626426A (en) Industrial equipment behavior detection method based on K-means optimization algorithm
CN1750411A (en) Detecting data module for detecting cyclic redundency code calculation
CN114201176A (en) Intelligent contract compiling and matching method, device, equipment and storage medium
Nguyen et al. Cleman: Comprehensive clone group evolution management
JP5791666B2 (en) Dynamic generation device for visual keywords
CN110213306B (en) Wind generating set starting control method and device
US8499224B2 (en) Redundant code generation method and device, data restoration method and device, and raid storage device
EP2843587A1 (en) Method for generating evidence-data for a long-term data storage system for datasets
JP7433876B2 (en) Self-organizing map learning device, method and program, and state determination device
CN117234791B (en) Method and device for detecting data loss of memory chip
CN112035890B (en) Data integrity verification method and device
KR102398962B1 (en) Device and method for fuzzy extraction from lattices
CN112115522B (en) Method for realizing trusted storage of data by utilizing hash algorithm

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