Patent Description:
As security measures improve, more and more circuits are able to encrypt data according to new circuit designs. When these circuits incorporate modern encryption algorithms for combining both hardware and software protections, these circuits become nearly impossible to be cracked.

In this light, performing side channel attacks (SCAs) on post-silicon chips has recently become internationally famed as a new cracking method. An SCA utilizes collected physical signals inadvertently emanated from a hardware device when the hardware device is encrypting data, and through performing statistical analysis and processing signals, the SCA is able to analyze the collected physical signals to obtain encrypted secret messages such as a decryption key or a plaintext before the encryption. These physical signals inadvertently emanated from the hardware device may be measured as, for example, electromagnetic waves, currents, power, audible decibels, detectable light signals of a signal light of a processing device, etc. These different kinds of physical signals may all be collected by various types of SCA collector devices. A physical signal collected by an SCA collector device is also called a trace.

Currently, collecting and measuring devices of side channel information have already been developed, and therefore a collection of side channel information may be done with relative ease. However, to analyze the collected side channel information still requires great effort. For example, in order to crack an encryption key from the side channel information, currently such method still requires a time-consuming statistical analysis towards the side channel information. Since the side channel information may include loud white noises or other unrelated signals generated during the encryption process, to analyze the side channel information not only requires a large amount of time, but also requires human effort of experienced professionals to decipher the side channel information and to locate encrypted segments of information from the side channel information.

<NPL>, XP011888100, DOI: <NUM>/ACCESS. <NUM> discloses optimizing chips against attacks using side-channel attacks to determine encryption key by applying a trained characteristic recognition model using power. <CIT> discloses detecting ransomware by detecting encryption using side-channel signals such as voltage, power, current, temperature.

The present invention provides an encryption determining device and a method thereof. The present invention is able to detect a side channel signal, to efficiently locate a position of an encrypted segment within the side channel signal, and to analyze an encryption type utilized for the encrypted segment.

The encryption determining device includes a side channel sensor, a memory, and a processor.

The processor is electrically connected to the side channel sensor and the memory. The side channel sensor detects the side channel signal. The memory stores a characteristic recognition model. The processor is configured to receive the side channel signal from the side channel sensor, generate a filtered side channel signal by filtering noise within the side channel signal, generate a phasor signal by utilizing a filter to covert the filtered side channel signal, locate an encrypted segment by calculating a periodicity of the phasor signal utilizing a standard deviation window, extract at least one encrypted characteristic from the encrypted segment, and generate an encryption analytic result by recognizing the at least one encrypted characteristic according to the characteristic recognition model; wherein the encryption analytic result includes a position of the encrypted segment within the side channel signal, and an encryption type corresponding to the side channel signal.

The encryption determining method of the present invention is executed by the processor, and the encryption determining method of the present invention includes the following steps: receiving the side channel signal from the side channel sensor; generating a filtered side channel signal by filtering noise within the side channel signal; generating a phasor signal by utilizing a filter to covert the filtered side channel signal; locating the encrypted segment by calculating a periodicity of the phasor signal utilizing a standard deviation window; extracting at least one encrypted characteristic from the encrypted segment; and generating an encryption analytic result by recognizing the at least one encrypted characteristic according to the characteristic recognition model; wherein the encryption analytic result includes the position of the encrypted segment within the side channel signal, and the encryption type corresponding to the side channel signal.

After the side channel sensor receives the side channel signal from a circuit, the side channel sensor sends the side channel signal to the processor, allowing the processor to execute the encryption determining method. The encryption determining method filters noise within the side channel signal with the processor, transforms the filtered side channel signal into the phasor signal, and utilizes the standard deviation window to calculate the periodicity of the phasor signal for further locating the encrypted segment. In comparison to prior arts, the present invention is able to locate the encrypted segment without human assistance, and thus the present invention is able to automatically locate the encrypted segment according to the side channel signal received. Furthermore, the present invention is able to extract the at least one encrypted characteristic from the encrypted segment. This further allows the generation of the encryption analytic result by recognizing the at least one encrypted characteristic according to the characteristic recognition model stored in the memory, and thus analyzing the encryption type corresponding to the side channel signal.

Overall, the present invention not only functions automatically, but also is able to more efficiently locate the encrypted segment. For this reason, the present invention is able to decrease time needed for analyzing the encryption type corresponding to the side channel signal, and thus more efficiently analyze the encryption type corresponding to the side channel signal.

The present invention provides an encryption determining device and an encryption determining method.

With reference to <FIG>, the encryption determining device of the present invention includes a side channel sensor <NUM>, a memory <NUM>, and a processor <NUM>. The encryption determining device is utilized to sense and identify a side channel signal gathered from a circuit <NUM>. The processor <NUM> is electrically connected to the side channel sensor <NUM> and the memory <NUM>. The circuit <NUM> is controlled by an electronic device <NUM> for executing actions such as, for example, encrypting data.

With further reference to <FIG>, for example, the memory <NUM> and the processor <NUM> may be a memory and a processor within the electronic device <NUM>, or the memory <NUM> and the processor <NUM> may be electronic components independent from the electronic device <NUM>. The electronic device <NUM> further includes a monitor <NUM>, a keyboard <NUM>, and a mouse <NUM>. A user of the present invention is able to control the electronic device <NUM> via the monitor <NUM>, the keyboard <NUM>, and the mouse <NUM> of the electronic device <NUM>. The circuit <NUM> includes a communication port <NUM>, and the communication port <NUM> is electrically connected to the processor <NUM> of the electronic device <NUM>. As such, the communication port <NUM> functions, as its name suggests, a communication port between the circuit <NUM> and the processor <NUM>. In this example, the processor <NUM> sends an original signal (Sor) to the communication port <NUM> of the circuit <NUM>, wherein the original signal (Sor) includes a plaintext within. After the circuit <NUM> receives the original signal (Sor) from the processor <NUM> through the communication port <NUM>, the circuit <NUM> starts encrypting the plaintext within the original signal (Sor).

The side channel sensor <NUM> includes an oscilloscope <NUM> and a detector <NUM>. The oscilloscope <NUM> is electrically connected to the electronic device <NUM>, and the detector <NUM> is electrically connected to the oscilloscope <NUM>. The detector <NUM> of the side channel sensor <NUM> detects a trace generated by the circuit <NUM> when the circuit is encrypting the plaintext. As such, the detector <NUM> collects the side channel signal from the circuit <NUM>, and the detector <NUM> transports the side channel signal to the oscilloscope <NUM>. The oscilloscope <NUM> is able to display a waveform of the side channel signal, allowing the user to track changes of the waveform of the side channel signal through manipulating the oscilloscope <NUM>. This way, the waveform of the side channel signal is tracked and made to be clearly defined through manipulations of the oscilloscope <NUM>.

In the present embodiment, the detector <NUM> is a voltage-conducting wire, and the voltage-conducting wire is electrically connected to a point on the circuit <NUM> that generates the side channel signal. This allows for a collection of voltage signals generated by the circuit <NUM> when the circuit <NUM> is encrypting the plaintext, and the voltage signals collected are utilized as the side channel signal. For example, the point on the circuit <NUM> that generates the side channel signal could be the communication port <NUM>, or any other nodes available for collecting the side channel signal. In another embodiment, the detector <NUM> may be a current-conducting wire, and the current-conducting wire is utilized to collect current signals generated by the circuit <NUM> when the circuit <NUM> is encrypting the plaintext. The detector <NUM> also may be an infra-red temperature sensor, wherein the infra-red temperature sensor is utilized to collect infra-red temperature signals in close proximity generated by the circuit <NUM> when the circuit <NUM> is encrypting the plaintext. The detector <NUM> also may be an electro-magnetic wave sensor, wherein the electro-magnetic wave sensor is utilized to collect electro-magnetic signals emanated from the circuit <NUM> in close proximity when the circuit <NUM> is encrypting the plaintext. In other words, the present invention is free to collect any physical forms of signals as the side channel signal. For instance, the side channel signal may be a voltage signal, a current signal, a temperature signal, or an electro-magnetic signal, etc..

The memory <NUM> stores a characteristic recognition model, a working frequency, a default configuration file, and a weight data. The characteristic recognition model is a trained artificial intelligence (AI) model. When the present invention proceeds to further train the characteristic recognition model, the processor <NUM> utilizes a result generated by the present invention as well as the weight data to train the characteristic recognition model. The weight data is a score entered by the user into the electronic device <NUM>, the score rating the result generated by the present invention. In other words, the weight data helps train the characteristic recognition model to more accurately help generate the result for the present invention. The working frequency is a frequency of the circuit <NUM> when the circuit <NUM> is working normally. The default configuration file stores parameters utilized by the present invention when the present invention is calculating and analyzing data.

With reference to <FIG>, after the side channel sensor <NUM> gathers the side channel signal from the circuit <NUM>, the side channel sensor <NUM> sends the side channel signal to the processor <NUM>. The processor <NUM> of the present invention executes the following steps:.

The following descriptions will expand upon the aforementioned steps S1 to S6 executed by the processor <NUM>.

In step S1, the processor <NUM> receives the side channel signal detected by the side channel sensor <NUM>. As mentioned, the side channel signal may be a voltage signal, a current signal, a temperature signal, or an electro-magnetic signal, etc..

In step S2, the processor <NUM> filters noise within the side channel signal and generates the filtered side channel signal. More particularly, the processor <NUM> utilizes spectral filtering to filter out frequencies within the side channel signal greater than or less than the working frequency as noises to generate the filtered side channel signal. In other words, the filtered side channel signal generated by the processor <NUM> is only in the working frequency.

With reference to <FIG> and <FIG>, <FIG> shows waveform of the side channel signal before filtering, and <FIG> shows waveform of the filtered side channel signal. For <FIG> and <FIG>, the vertical axis (Y axis) is in units of <NUM> fold millivolts (mV), and the horizontal axis (X axis) is in units of milliseconds (ms). In <FIG>, the waveform of the side channel signal before filtering has larger amplitude, and has more irregular patterns, for example, between <NUM> and <NUM>. In <FIG>, the waveform of the filtered side channel signal has smaller amplitude, and has less irregular patterns between <NUM> and <NUM>. As such, the waveform of the filtered side channel signal is more defined, and therefore the filtered side channel signal is more suitably utilized for locating the encrypted segment and for analyzing the encryption type than the side channel signal before filtering.

With reference to <FIG>, in step S3, the processor <NUM> utilizes the filter to transform the side channel signal into the phasor signal. <FIG> shows a waveform of the phasor signal. The vertical axis represents a phasor of the phasor signal, and the horizontal axis represents samples of a measuring time of measuring the filtered side channel signal. For example, in <FIG>, the measuring time of measuring the filtered side channel signal is <NUM>. In <FIG>, the samples have a count of <NUM>,<NUM> samples. As such, when the processor <NUM> generates the phasor signal, the processor <NUM> processes <NUM>,<NUM>/<NUM>=<NUM>,<NUM> counts of samples per millisecond from the filtered side channel signal to create the waveform of the phasor signal shown in <FIG>.

In the present embodiment, the filter is a Hilbert transform filter. When the processor <NUM> utilizes the Hilbert transform filter to generate the phasor signal, the processor <NUM> performs a Hilbert transform to transform the filtered side channel signal into the phasor signal.

With reference to <FIG>, in step S4, the processor <NUM> utilizes the standard deviation window to calculate the periodicity of the phasor signal in order to locate the encrypted segment. More particularly, when the processor <NUM> executes S4, the processor <NUM> in fact executes the following sub-steps S41 to S44:.

In step S41, the processor <NUM> utilizes the standard deviation window to calculate the standard deviation of the phasor signal in order to generate the standard deviation line L1. <FIG> provides a perspective view of the standard deviation line L1 after the processor <NUM> executes step S41. A size of the standard deviation window and a spacing gap at which the standard deviation window moves on the horizontal axis may be configured as desired. Before executing the present invention, a content within the default configuration file may be configured by the user through manipulating the electronic device <NUM>, adjusting settings for the standard deviation window. When the processor <NUM> executes step S4, the processor <NUM> adjusts the size of the standard deviation window and spacing gap at which the standard deviation window moves on the horizontal axis according to the default configuration file stored in the memory <NUM>. This adjustment allows the processor <NUM> to adjust the count of samples framed by the standard deviation window, to adjust the standard deviation of the phasor signal calculated from the count of samples framed by the standard deviation window, and to adjust the generation of the standard deviation line L1.

In steps S42 and S43, the processor <NUM> utilizes the differential window to extract a part of the standard deviation line L1. The processor <NUM> then calculates the maximum value and the minimum value corresponding to the part of the standard deviation line L1, and calculates the difference between the maximum value and the minimum value. <FIG> shows the difference between the maximum value and the minimum value of the standard deviation line L1 after the processing module <NUM> executes step S43. A size of the differential window and a spacing gap at which the differential window moves on the horizontal axis may be configured as desired in the default configuration file stored in the memory <NUM>.

With reference to <FIG>, in step S44, the processor <NUM> locates the encrypted segment according to the difference. More particularly, when the processor <NUM> executes step S44, the processor <NUM> in fact executes the following sub-steps S441 to S447.

Step S441: dividing the standard deviation line L1 into multiple temporary segments according to changes in the difference.

Step S442: calculating an average value for the standard deviation line L1 within each of the temporary segments, and setting the average value within each of the temporary segments as a comparison threshold.

Step S443: in each of the temporary segments, comparing the standard deviation line L1 with the comparison threshold, and marking parts of the standard deviation line L1 greater than the comparison threshold as multiple sub-segments.

Step S444: perpendicularly projecting the sub-segments to an X axis for forming multiple characteristic segments.

Step S445: determining whether respective lengths of the characteristic segments are nearly identical.

Step S446: when determining respective lengths of the characteristic segments are nearly identical, recognizing one of the characteristic segments as the encrypted segment.

Step S447: when determining respective lengths of the characteristic segments are different, recognizing the characteristic segments are different from the encrypted segment.

In step S441, the processor <NUM> divides the standard deviation line L1 into multiple temporary segments according to changes in the difference. More particularly, the processor <NUM> determines a separation sample SB between a first sample S1 and a last sample SA, wherein the separation sample SB has the greatest difference. With reference to <FIG>, a position of the separation sample SB corresponds to a position of a correct sample within the standard deviation line L1 to divide the standard deviation line L1 into the multiple temporary segments. Once the processor <NUM> determines the separation sample SB, the processor <NUM> proceeds to divide the standard deviation line L1 according to the separation sample SB. As such, the processor <NUM> divides the standard deviation line L1 left side of the separation sample SB as a first temporary segment R1, and the processor <NUM> divides the standard deviation line L1 right side of the separation sample SB as a second temporary segment R2.

With reference to <FIG> and <FIG>, in step S442, the processor <NUM> calculates the average value for the standard deviation line L1 within each of the temporary segments, and setting the average value within each of the temporary segments as the comparison threshold. More particularly, the processor <NUM> respectively calculates a first average value A1 for the standard deviation line L1 within the first temporary segment R1 and calculates a second average value A2 for the standard deviation line L1 within the second temporary segment R2.

In steps S443 and S444, the processor <NUM> compares the standard deviation line L1 with the comparison threshold in each of the temporary segments, respectively marks parts of the standard deviation line L1 greater than the comparison threshold as the multiple sub-segments, and determines whether the characteristic segments perpendicularly projected from the sub-segments are nearly identical. More particularly, the processor <NUM> respectively marks parts of the standard deviation line L1 greater than the first average value A1 within the first temporary segment R1 as multiple first sub-segments within the first temporary segment R1, and the processor <NUM> marks parts of the standard deviation line L1 greater than the second average value A2 within the second temporary segment R2 as multiple second sub-segments within the second temporary segment R2. Furthermore, the processor <NUM> respectively perpendicularly projects the first sub-segments within the first temporary segment R1 and the second sub-segments within the second temporary segment R2 to the X axis for forming characteristic segments Sg1-Sg9.

More particularly, in the first temporary segment R1 shown in <FIG>, the first sub-segments perpendicularly project to the X axis and, as a result, form a total of nine characteristic segments Sg1-Sg9. In the second temporary segment R2 shown in <FIG>, the second sub-segments perpendicularly project to the X axis and, as a result, form a total of eight characteristic segments Sg1-Sg8. The X axis represents a count of samples of the standard deviation line L1 respectively within the first temporary segment R1 and the second temporary segment R2. Therefore, the nine characteristic segments Sg1-Sg9 corresponding to the first temporary segment R1 also correspond to multiple counts of samples for the nine segments. The eight characteristic segments Sg1-Sg8 corresponding to the second temporary segment R2 also correspond to multiple counts of samples for the eight segments.

With reference to <FIG>, in step S445, the processor <NUM> determines whether the respective lengths of the characteristic segments are nearly identical. More particularly, when the processor <NUM> executes step S445, the processor further executes the following sub-steps S4451 to S4453.

Step S4451: determining whether length differences between the characteristic segments are less than or equal to a differential threshold.

Step S4452: when determining the length differences between the characteristic segments are less than or equal to the differential threshold, determining the characteristic segments are nearly identical, and therefore further executing step S446.

Step S4453: when determining the length differences between the characteristic segments are greater than the differential threshold, determining the characteristic segments are different, and therefore further executing step S447.

For the example shown in <FIG> and <FIG>, the length differences between the nine characteristic segments Sg1-Sg9 corresponding to the first temporary segment R1 are barely noticeable, and as such, the length differences between the nine characteristic segments Sg1-Sg9 corresponding to the first temporary segment R1 are considered nearly identical. This also means that the nine characteristic segments Sg1-Sg9 corresponding to the first temporary segment R1 are considered to be periodic, and that one of the nine characteristic segments Sg1-Sg9 corresponding to the first temporary segment R1 is the encrypted segment. On the other hand, the length differences between the eight characteristic segments Sg1-Sg8 corresponding to the second temporary segment R2 are quite noticeable, and as such, the length differences between the eight characteristic segments Sg1-Sg8 corresponding to the second temporary segment R2 are considered different. This also means that the eight characteristic segments Sg1-Sg8 corresponding to the second temporary segment R2 are considered to be aperiodic and devoid of the encrypted segment. The differential threshold may be configured as desired in the default configuration file stored in the memory <NUM>.

Based on contemporary theories about the side channel signal, the side channel signal corresponding to the encrypted segment should retain periodic signal qualities, and since the side channel signal corresponding to the encrypted segment is periodic, the filtered side channel signal, the phasor signal, and the standard deviation line L1 respectively corresponding to the encrypted segment should all be periodic as well. After the processor <NUM> executes step S445, the processor <NUM> determines the encrypted segment part of a periodic signal, and determines aperiodic signals are devoid of the encrypted segment. The periodicity is hereby determined as the length of the characteristic segments. As previously disclosed, the characteristic segments with similar lengths are considered periodic, whereas the characteristic segments with noticeably different lengths are considered aperiodic. The length of the characteristic segments, although defined by a length of a count of the samples, also corresponds to a time length of a processing time for measuring the side channel signal. This relationship between a count of the samples and a processing time is previously discussed, as previously mentioned, the processor <NUM> processes several thousand counts of samples per millisecond. More particularly, the time length of the processing time of the side channel signal is proportional to the count of the samples as the following formula suggests:.

With reference to <FIG>, in step S5, the processor <NUM> extracts the at least one encrypted characteristic from the encrypted segment. More particularly, when the processor <NUM> executes step S5, the processor <NUM> executes the following sub-steps S51 to S54.

Step S51: setting a cycle number by identifying a peak number or a trough number of the standard deviation line L1 within the encrypted segment.

Step S52: calculating a time duration of the encrypted segment.

Step S53: extracting a part of the filtered side channel signal corresponding to the encrypted segment as an encrypted segment of the side channel signal.

Step S54: calculating an average amplitude of the encrypted segment of the side channel signal.

As such, the at least one encrypted characteristic extracted from the encrypted segment includes the cycle number, the time duration, and the average amplitude.

In step S6, the processor <NUM> utilizes the characteristic recognition model to recognize the at least one encrypted characteristic in order to generate the encryption analytic result. More particularly, when the processor <NUM> executes step S6, the processor <NUM> utilizes the characteristic recognition model to recognize the cycle number, the time duration, or the average amplitude for generating the encryption analytic result. This is because, for instance, for contemporary symmetric-key algorithms, such as famous algorithms like Data Encryption Standard (DES) and Advanced Encryption Standard (AES), these algorithms respectively correspond to different counts of duty cycles, different processing time, and different consumption of energy or power when encrypting data. In other words, different counts of duty cycles of different algorithms correspond to the cycle number identified within the encrypted segment of the present invention. Different processing time corresponds to the count of samples within the encrypted segment of the present invention and also corresponds to a time length of part of the filtered side channel signal corresponding to the encrypted segment. Different consumption of energy or power corresponds to amplitude changes of part of the filtered side channel signal corresponding to the encrypted segment.

With reference to <FIG>, in this example, the processor <NUM> calculates that a first cycle G1 has repeated nine times as the processor <NUM> detects roughly how many times waveforms within the encrypted segment have repeated. The processor <NUM> therefore obtains the cycle number as nine.

With reference to <FIG>, in this example, the processor <NUM> also roughly detects a second cycle G2 and calculates that the second cycle G2 has repeated sixteen times. According to the characteristic recognition model, the processor <NUM> determines the cycle number as nine corresponding to AES, and the processor <NUM> determines the cycle number as sixteen corresponding to DES. Therefore, the processor determines the encrypted segment shown in <FIG> utilizes AES, and the encrypted segment shown in <FIG> utilizes DES.

With reference to <FIG>, after locating the encrypted segment, the processor <NUM> of the present invention may also utilize the characteristic recognition model to recognize the time duration or the average amplitude for generating the encryption analytic result. More particularly, the processor <NUM> can obtain the phasor signal from a part of the standard deviation line L1 corresponding to the encrypted segment, and then further obtain a part of the filtered side channel signal corresponding to the encrypted segment from the obtained phasor signal.

With reference to <FIG>, in this example, the part of the filtered side channel signal corresponding to the located encrypted segment includes two characteristics - a first time length characteristic T1 and a first voltage amplitude characteristic VA1. According to the characteristic recognition model, the processor <NUM> determines that the encrypted segment corresponding to the first time length characteristic T1 utilizes AES. Furthermore, in this example, the first voltage amplitude characteristic VA1 is a fluctuating voltage amplitude of the filtered side channel signal. The processor <NUM> calculates an averaged absolute value of a voltage of the filtered side channel signal as the first voltage amplitude characteristic VA1 in this example, and the processor <NUM> also recognizes the first voltage amplitude characteristic VA1 as an averaged amplitude value. According to the characteristic recognition model, the processor <NUM> determines that the encrypted segment corresponding to the first voltage amplitude characteristic VA1 utilizes AES.

In another embodiment, the part of the filtered side channel signal corresponding to the located encrypted segment further includes a first power characteristic. The processor <NUM> calculates an average of a square of the voltage of the filtered side channel signal shown in <FIG> as the first power characteristic, and the processor <NUM> also recognizes the first power characteristic as the averaged amplitude value. Furthermore, according to the characteristic recognition model, the processor <NUM> determines that the encrypted segment corresponding to the first power characteristic utilizes AES. In other words, in this embodiment, the averaged amplitude value corresponds to the power consumption of utilizing AES. The power consumption is proportional to the square of the voltage, and therefore, in the example shown in <FIG>, the at least one encrypted characteristic gathered from the filtered side channel signal can be utilized to linearly determine what type of encryption algorithm is utilized.

With reference to <FIG>, in this example, the part of the filtered side channel signal corresponding to the located encrypted segment includes two characteristics - a second time length characteristic T2 and a second voltage amplitude characteristic VA2. According to the characteristic recognition model, the processor <NUM> determines that the encrypted segment corresponding to having the second time length characteristic T2 utilizes DES. Furthermore, in this example, the second voltage amplitude characteristic VA2 is the fluctuating voltage amplitude of the filtered side channel signal. The processor <NUM> calculates an averaged absolute value of a voltage of the filtered side channel signal as the second voltage amplitude characteristic VA2 in this example, and the processor <NUM> also recognizes the second voltage amplitude characteristic VA2 as the averaged amplitude value. According to the characteristic recognition model, the processor <NUM> determines that the encrypted segment corresponding to the second voltage amplitude characteristic VA2 utilizes DES.

In another embodiment, the part of the filtered side channel signal corresponding to the located encrypted segment further includes a second power characteristic. The processor <NUM> calculates an average of a square of the voltage of the filtered side channel signal shown in <FIG> as the second power characteristic, and the processor <NUM> also recognizes the second power characteristic as the averaged amplitude value. Furthermore, according to the characteristic recognition model, the processor <NUM> determines that the encrypted segment corresponding to the second power characteristic utilizes DES. In other words, in this embodiment, the averaged amplitude value corresponds to the power consumption of utilizing DES. As the power consumption is proportional to the square of the voltage, in the example shown in <FIG>, the at least one encrypted characteristic gathered from the filtered side channel signal can be utilized to linearly determine what type of encryption algorithm is utilized.

Since the power consumption of DES is greater than the power consumption of AES, since the voltage amplitude corresponding to DES is greater than the voltage amplitude corresponding to AES, and since the processing time of DES is greater than the processing time of AES when encrypting data, the processor <NUM> of the present invention may utilize all of the above determinations in accordance to the characteristic recognition model to conclude that the filtered side channel signal shown in <FIG> utilizes AES, and the filtered side channel signal shown in <FIG> utilizes DES. The encryption algorithm utilized for the filtered side channel signal is in fact also the encryption algorithm utilized for the side channel signal before the side channel signal is filtered by the processor <NUM>.

The processor <NUM> of the present invention may further execute the following step:
utilizing the at least one encrypted characteristic and the encryption analytic result corresponding to the at least one characteristic as a training data, and generating the characteristic recognition model according to the training data.

More particularly, the present invention utilizes the at least one encrypted characteristic and the encryption analytic result corresponding to the at least one characteristic to train the characteristic recognition model according to weight data stored in the memory <NUM> through machine learning. This allows the trained characteristic recognition model to more accurately generate the encryption analytic result, and as a result, the position of the encrypted segment is more efficiently located, and the encryption type corresponding to the side channel signal is more efficiently analyzed.

Claim 1:
An encryption determining device, whereby the encryption determining device comprises:
a side channel sensor (<NUM>), detecting a side channel signal;
the encryption determining device being characterized in:
a memory (<NUM>), being configured to store a characteristic recognition model;
a processor (<NUM>), electrically connecting the side channel sensor (<NUM>) and the memory (<NUM>), and being configured to:
receive the side channel signal from the side channel sensor (<NUM>);
generate a filtered side channel signal by filtering noise within the side channel signal;
generate a phasor signal by utilizing a filter to covert the filtered side channel signal;
locate an encrypted segment by calculating a periodicity of the phasor signal utilizing a standard deviation window;
extract at least one encrypted characteristic from the encrypted segment; and
generate an encryption analytic result by recognizing the at least one encrypted characteristic according to the characteristic recognition model; wherein the encryption analytic result includes a position of the encrypted segment within the side channel signal, and an encryption type corresponding to the side channel signal.