CN109426738A - A kind of hardware decoder and encryption method, electronic device - Google Patents

A kind of hardware decoder and encryption method, electronic device Download PDF

Info

Publication number
CN109426738A
CN109426738A CN201710740049.4A CN201710740049A CN109426738A CN 109426738 A CN109426738 A CN 109426738A CN 201710740049 A CN201710740049 A CN 201710740049A CN 109426738 A CN109426738 A CN 109426738A
Authority
CN
China
Prior art keywords
unit
shift register
feedback shift
processing unit
linear feedback
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.)
Granted
Application number
CN201710740049.4A
Other languages
Chinese (zh)
Other versions
CN109426738B (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.)
Semiconductor Manufacturing International Shanghai Corp
Semiconductor Manufacturing International Beijing Corp
Original Assignee
Semiconductor Manufacturing International Shanghai Corp
Semiconductor Manufacturing International Beijing Corp
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 Semiconductor Manufacturing International Shanghai Corp, Semiconductor Manufacturing International Beijing Corp filed Critical Semiconductor Manufacturing International Shanghai Corp
Priority to CN201710740049.4A priority Critical patent/CN109426738B/en
Publication of CN109426738A publication Critical patent/CN109426738A/en
Application granted granted Critical
Publication of CN109426738B publication Critical patent/CN109426738B/en
Active legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F21/00Security arrangements for protecting computers, components thereof, programs or data against unauthorised activity
    • G06F21/70Protecting specific internal or peripheral components, in which the protection of a component leads to protection of the entire computer
    • G06F21/71Protecting specific internal or peripheral components, in which the protection of a component leads to protection of the entire computer to assure secure computing or processing of information
    • G06F21/72Protecting specific internal or peripheral components, in which the protection of a component leads to protection of the entire computer to assure secure computing or processing of information in cryptographic circuits
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L9/00Cryptographic mechanisms or cryptographic arrangements for secret or secure communications; Network security protocols
    • H04L9/06Cryptographic mechanisms or cryptographic arrangements for secret or secure communications; Network security protocols the encryption apparatus using shift registers or memories for block-wise or stream coding, e.g. DES systems or RC4; Hash functions; Pseudorandom sequence generators
    • H04L9/065Encryption by serially and continuously modifying data stream elements, e.g. stream cipher systems, RC4, SEAL or A5/3
    • H04L9/0656Pseudorandom key sequence combined element-for-element with data sequence, e.g. one-time-pad [OTP] or Vernam's cipher

Abstract

The present invention provides a kind of hardware decoder and encryption method, electronic device, the hardware decoder includes: storage of array unit, scanner, buffer, packaged unit, proframmable linear feedback shift register, logic unit and control unit, described control unit is from equipment is calculated according to the random address of code book reading source data, and source data is put into the first operand of logic unit, and the general Central Processing Unit or universal graphics processing unit that the pseudo random number that the proframmable linear feedback shift register generates is sent in the calculating equipment are subjected to floating-point Hash operation, and the floating number of return is put into the second operand of the logic unit, target data is generated by logical operation, then it is packaged target data and exports into the output file for calculating equipment.Level of encryption can be improved in the hardware decoder, increases and decodes difficulty.The encryption method has the advantages that similar with electronic device.

Description

A kind of hardware decoder and encryption method, electronic device
Technical field
The present invention relates to computer encryption technology fields, in particular to a kind of hardware decoder and encryption method, electricity Sub-device.
Background technique
Encryption is a kind of typical engine with very long history, in the leading-edge field of contemporary microelectric technique, many GPCPU (general Central Processing Unit) or GPGPU (universal graphics processing unit) have the encrypted feature of chip built-in.Encrypted feature point For two classes: hardware based and software-based.Had an available standard encryption algorithms, and many have been carried out it is hard In part.However, people find safer be not easy as computer evolution is to having powerful calculating ability and ultrafast calculating speed The crypto engine broken through by hacker.
It is therefore desirable to propose a kind of hardware decoder and encryption method, electronic device, at least partly to solve above-mentioned ask Topic.
Summary of the invention
A series of concept of reduced forms is introduced in Summary, this will in the detailed description section into One step is described in detail.Summary of the invention is not meant to attempt to limit technical solution claimed Key feature and essential features do not mean that the protection scope for attempting to determine technical solution claimed more.
In view of the deficiencies of the prior art, the present invention proposes a kind of hardware decoder and encryption method, electronic device, Ke Yiti For higher safety, decodes difficulty and increase.
In order to overcome the problems, such as that presently, there are one aspect of the present invention provides a kind of hardware decoder, comprising:
Storage of array unit, the storage of array unit are used to store the source data read from calculating equipment;
Logic unit, the logic unit is for carrying out XOR operation;
Scanner, the scanner are used to the source data stored in the storage of array unit reading the logic list In the first operand of member;
Proframmable linear feedback shift register, the proframmable linear feedback shift register is for generating pseudorandom Number;
Buffer, the buffer are used to store the operation result of the logic unit;
Packaged unit, the packaged unit is for reading the data stored in the buffer and packing;
Control unit, the pseudo random number that described control unit generates the proframmable linear feedback shift register are sent General Central Processing Unit or universal graphics processing unit into the calculating equipment carry out floating-point Hash operation, and will be described It calculates the floating number that general Central Processing Unit or universal graphics processing unit in equipment return and is put into the logic unit In second operand, so that the logic unit carries out logical operation to the source data and floating number, and by the packing The data that unit is packaged are exported as target data into the output file for calculating equipment.
Optionally, described control unit reads random address from the code book for calculating equipment, and according to described random Source data is read in address, and read source data is stored to the storage of array unit.
Optionally, described control unit obtains programming key from the calculating equipment, and is based on programming key pair institute Proframmable linear feedback shift register is stated to be programmed.
Optionally, the proframmable linear feedback shift register includes:
Linear feedback shift register unit group, the linear feedback shift register unit group include multiple be sequentially connected in series Linear feedback shift register unit, for execute selection and shift function;
Feed array, the feedback control array are anti-for forming the linear feedback shift register unit each other Feedthrough road;
Feedback control unit, the feedback control unit are arranged in the feed array, logical for controlling the feedback The open and close in road.
Optionally, linear displacement feedback deposit unit include the trigger being sequentially connected in series, it is XOR gate, first anti- Phase device and the first Port Multiplier, wherein the output of the input terminal of the trigger and the previous linear displacement feedback deposit unit End connection, the clock signal terminal of the trigger are connect with clock signal, the output end of the trigger and the XOR gate First input end is connected with the feedback channel, and the second input terminal of the XOR gate is connect with the feedback channel, described different Or the output end of door is connect with the first input end of the input terminal of first phase inverter and first Port Multiplier, described first The output end of phase inverter is connect with the second input terminal of first Port Multiplier, the control terminal and the volume of first Port Multiplier Journey KEY DECODER output end connects, and linear displacement described in the output end and the latter of first Port Multiplier feeds back deposit unit Input terminal connection.
Optionally, the linear displacement feeds back deposit unit further include:
Second Port Multiplier, the first input end of second Port Multiplier are connect with the output end of first Port Multiplier, institute The second input terminal for stating the second Port Multiplier is connect with load data terminal, and the control terminal of second Port Multiplier and loading command end connect It connects, linear displacement described in the output end and the latter of second Port Multiplier feeds back the input terminal connection of deposit unit.
Optionally, the feed array includes n row × n column exclusive or gate array, and each column XOR gate is sequentially connected in series, wherein N is the quantity of the linear feedback shift register unit, and the output end of the XOR gate of the i-th column end and i-th of linear feedback are moved Second input terminal connection of the XOR gate of position deposit unit, the touching of i-th of linear feedback shift register unit Send out the output end of device in the i-th row in addition to the first input end of remaining XOR gate of the i-th column is connect, n more than or equal to 2, i from 0 to n-1。。
Optionally, the feedback control unit includes third Port Multiplier, the second phase inverter and third phase inverter, and described second The connection of the output end of the input terminal of phase inverter and the third phase inverter is simultaneously connect, second reverse phase with programming KEY DECODER The input terminal of the output end of device and the third phase inverter is connected and is connect with the control terminal of the third Port Multiplier, the third The first input end of Port Multiplier is connect with the output end of the trigger of linear feedback shift register unit described in other, described The of XOR gate in second input end grounding of third Port Multiplier, the output end of the third Port Multiplier and the feed array The connection of one input terminal.
Optionally, the quantity of the proframmable linear feedback shift register is two.
Optionally, described control unit controls the proframmable linear feedback shift register so that each linear shifting Position feedback deposit unit carries out the linear shifting of one or more feedback or the proframmable linear feedback shift register Position feedback deposit unit carries out circulation feedback, or carries out instead between two proframmable linear feedback shift registers Feedback, or seed data is inserted into the proframmable linear feedback shift register.
Optionally, described control unit is handled the general Central Processing Unit calculated in equipment or general graphical single The most significant word for the floating number that member returns is put into the second operand of the logic unit.
Optionally, described control unit is based on the general Central Processing Unit calculated in equipment or general graphical processing Variable word length is added when the operation result of the logic unit is put into the buffer in the mantissa for the floating number that unit returns Buffered data.
The pseudo random number that proframmable linear feedback shift register generates is sent to by hardware decoder according to the present invention The general Central Processing Unit (GCPU) or universal graphics processing unit (GGPU) for calculating equipment carry out floating-point Hash operation, and float Value after point Hash operation does random number, original equally distributed random number is become to the random number of nonlinear Distribution, so that astonished Visitor is difficult to crack, and due to directly utilizing the general Central Processing Unit (GCPU) or universal graphics processing unit for calculating equipment (GGPU) floating-point Hash operation is carried out, therefore hardware decoder is not necessarily to redesign special FPU Float Point Unit, it not only can benefit With the powerful floating-point operation ability of general Central Processing Unit (GCPU) or universal graphics processing unit (GGPU), also reduce hard Computing capability required for part encryption equipment and size, reduce costs.
Further, hardware decoder according to the present invention reads data using code book, i.e. data are not sequentially read, Increase decoding difficulty.
Further, hardware decoder according to the present invention, according to the key of user, real-time programming proframmable linear feedback The feedback channel of shift register, so that even if hacker obtains encryption equipment hardware and do not have key that can not program linear feedback shifting Bit register increases decoding difficulty.
Another aspect of the present invention provides a kind of encryption method based on above-mentioned hardware decoder, comprising:
Source data is read from calculating in equipment, and is put into the storage of array unit of hardware decoder;
The proframmable linear feedback shift register for controlling hardware decoder generates pseudo random number, and by the pseudo random number It is sent to the general Central Processing Unit for calculating equipment and/or graphics processing unit carries out floating-point Hash operation;
The source data stored in the storage of array unit is read the logic by the scanner of control hardware decoder In the first operand of unit;
The floating number that the general Central Processing Unit for calculating equipment and/or graphics processing unit return is put into described In the second operand of logic unit;
It controls the logic unit and carries out logical operation;
The operation result of the logic unit is put into buffer;
Control packaged unit reads the data stored in the buffer and packing;
The data that the packaged unit is packaged are exported as target data into the output file for calculating equipment.
Optionally, described to read source data from calculating equipment, and be put into the storage of array unit of hardware decoder and wrap It includes:
Random address is read from the code book for calculating equipment, and source data is read according to the random address;
Read source data is stored to the storage of array unit.
Optionally, further includes: obtain programming key from the calculating equipment, and be based on to compile described in the programming key pair Journey linear feedback shift register is programmed.
Optionally, further includes: control the proframmable linear feedback shift register so that each linear displacement is anti- The linear displacement for presenting the deposit unit one or more feedback of progress or the proframmable linear feedback shift register is anti- Feedback deposit unit carries out circulation feedback, or is inserted into seed data in the proframmable linear feedback shift register.
Optionally, by the floating-point of general Central Processing Unit or universal graphics processing unit return in the calculating equipment Several most significant words is put into the second operand of the logic unit.
Optionally, further includes: the calculating is based on when the operation result of the logic unit is put into the buffer The slow of variable word length is added in the mantissa for the floating number that general Central Processing Unit or universal graphics processing unit in equipment return Rush data.
Optionally, further includes: if source data is less than the addressing space of the code book, then the source data is carried out Clone, and the data after clone are put into after source data and form new source data.
The pseudo random number that proframmable linear feedback shift register generates is sent to meter by encryption method according to the present invention The general Central Processing Unit (GCPU) or universal graphics processing unit (GGPU) for calculating equipment carry out floating-point Hash operation, and floating-point Value after Hash operation does random number, original equally distributed random number is become to the random number of nonlinear Distribution, so that hacker It is difficult to crack, and due to directly utilizing the general Central Processing Unit (GCPU) or universal graphics processing unit for calculating equipment (GGPU) floating-point Hash operation is carried out, therefore hardware decoder is not necessarily to redesign special FPU Float Point Unit, it not only can benefit With the powerful floating-point operation ability of general Central Processing Unit (GCPU) or universal graphics processing unit (GGPU), also reduce hard Computing capability required for part encryption equipment and size, reduce costs.
Further, encryption method according to the present invention reads data using code book, i.e. data are not sequentially read, and increases Decoding difficulty is added.
Further, encryption method according to the present invention, according to the key of user, real-time programming proframmable linear feedback is moved The feedback channel of bit register, so that even if hacker obtains encryption equipment hardware and do not have key that can not program linear feedback shift Register increases decoding difficulty.
Further, encryption method according to the present invention joined the buffered data of variable word length between data, so that Hacker does not have encryption equipment to be difficult to find data head and data tail, increases decoding difficulty.
Further aspect of the present invention provides a kind of electronic device comprising:
Magnetic disk storage, for storing source data;
First memory, for storing code book;
Second memory, for storing key;
Memory is used for loading procedure and data;
General Central Processing Unit and/or graphics processing unit, for carrying out floating-point Hash operation;And
At hardware decoder as described above, the hardware decoder and the general Central Processing Unit and/or figure Manage unit communication.
Electronic device proposed by the present invention due to above-mentioned hardware decoder, thus has the advantages that similar.
Detailed description of the invention
Following drawings of the invention is incorporated herein as part of the present invention for the purpose of understanding the present invention.Shown in the drawings of this hair Bright embodiment and its description, principle used to explain the present invention.
In attached drawing:
Fig. 1 shows hardware decoder according to an embodiment of the present invention and calculates the structural schematic diagram of equipment;
Fig. 2 shows the structural schematic diagrams of proframmable linear feedback shift register according to an embodiment of the present invention;
Fig. 3 shows the structural schematic diagram of linear feedback shift register unit according to an embodiment of the present invention;
Fig. 4 shows the structural schematic diagram of feedback control unit according to an embodiment of the present invention;
Fig. 5 goes out the detailed construction schematic diagram of proframmable linear feedback shift register according to an embodiment of the present invention;
Fig. 6 shows the step flow chart of encryption method according to an embodiment of the present invention.
Specific embodiment
In the following description, a large amount of concrete details are given so as to provide a more thorough understanding of the present invention.So And it is obvious to the skilled person that the present invention may not need one or more of these details and be able to Implement.In other examples, in order to avoid confusion with the present invention, for some technical characteristics well known in the art not into Row description.
It should be understood that the present invention can be implemented in different forms, and should not be construed as being limited to propose here Embodiment.On the contrary, provide these embodiments will make it is open thoroughly and completely, and will fully convey the scope of the invention to Those skilled in the art.In the accompanying drawings, for clarity, the size and relative size in the area Ceng He may be exaggerated phase from beginning to end Identical element is indicated with appended drawing reference.
It should be understood that when element or layer be referred to " ... on ", " with ... it is adjacent ", " being connected to " or " being coupled to " other members When part or layer, can directly on other elements or layer, it is adjacent thereto, be connected or coupled to other elements or layer, or There may be elements or layer between two parties.On the contrary, when element is referred to as " on directly existing ... ", " with ... direct neighbor ", " is directly connected to To " or " being directly coupled to " other elements or when layer, then there is no elements or layer between two parties.Art can be used although should be understood that Language first, second, third, etc. describes various component, assembly units, area, floor and/or part, these component, assembly units, area, floor and/or portion Dividing should not be limited by these terms.These terms are used merely to distinguish a component, assembly unit, area, floor or part and another Component, assembly unit, area, floor or part.Therefore, do not depart from present invention teach that under, first element discussed below, component, area, Floor or part are represented by second element, component, area, floor or part.
Spatial relation term for example " ... under ", " ... below ", " below ", " ... under ", " ... on ", " above " etc., herein can for convenience description and being used describe an elements or features shown in figure with it is other The relationship of elements or features.It should be understood that other than orientation shown in figure, spatial relation term intention further include using with The different orientation of device in operation.For example, then, being described as " below other elements " if the device in attached drawing is overturn Or " under it " or " under it " elements or features will be oriented in other elements or features "upper".Therefore, exemplary term " ... below " and " ... under " it may include upper and lower two orientations.Device, which can be additionally orientated, (to be rotated by 90 ° or other takes To) and spatial description language as used herein correspondingly explained.
The purpose of term as used herein is only that description specific embodiment and not as limitation of the invention.Make herein Used time, " one " of singular, "one" and " described/should " be also intended to include plural form, unless the context clearly indicates separately Outer mode.It is also to be understood that term " composition " and/or " comprising ", when being used in this specification, determines the feature, whole The presence of number, step, operations, elements, and/or components, but be not excluded for one or more other features, integer, step, operation, The presence or addition of component, assembly unit and/or group.Herein in use, term "and/or" includes any of related listed item and institute There is combination.
In order to thoroughly understand the present invention, detailed structure and step will be proposed in following description, to illustrate this hair The technical solution of bright proposition.Presently preferred embodiments of the present invention is described in detail as follows, however other than these detailed descriptions, the present invention There can also be other embodiments.
Embodiment one
Hardware decoder according to an embodiment of the present invention is described in detail below with reference to Fig. 1 to Fig. 5.
The present embodiment proposes a kind of hardware decoder 100, is used as the general Central Processing Unit for calculating equipment 200 (GCPU) or the enhancing function accessories of universal graphics processing unit (GGPU) 26, realization hardware encrypt.Calculating equipment 200 includes magnetic Disk storage (disk) 21, first memory (Universal Serial Bus Flash Disk 1, UFD1) 22, second are deposited 23, memory (Memory) 24, bus (system reservoir (Universal Serial Bus Flash Disk 2, UFD2) Bus) 25 and general Central Processing Unit and/or graphics processing unit 26, magnetic disk storage (disk) 21 is for storing source data; First memory (UFD1) 22 is for storing code book, and second memory (UFD2) 23 is for storing key;Memory 24 is for adding Carry program and data;Bus 25 is for realizing general Central Processing Unit and/or graphics processing unit 26 and magnetic disk storage (disk) communication between 21, first memory (UFD1) 22, second memory (UFD2) 23 and memory 24.General purpose central processing Unit and/or graphics processing unit 26 are for realizing control and computing function, it is however generally that general Central Processing Unit and/or figure Shape processing unit 26 has powerful Floating-point Computation ability, can be used for carrying out floating-point Hash operation.
As shown in Figure 1, in the present embodiment, hardware decoder 100 includes storage of array unit 11, scanner 12, buffering Device 13, packaged unit 14, logic unit 15, double proframmable linear feedback shift registers 16 and control unit 17.
Storage of array unit (such as Array) 11 is used to store the source data read from calculating equipment 200, such as stores The source data read from the magnetic disk storage 21 for calculating equipment 200.In the present embodiment, in order to increase the decoding difficulty of hacker, Control unit 17 reads random address from the code book for calculating equipment 200, and reads source data according to the random address, And store read source data into the storage of array unit 11, in this way since data are not sequentially read, increase Decode difficulty.Illustratively, in the present embodiment, control unit reads two randomly from the code book calculated in equipment 200 Location, and two height double word (Hi& are read from storage from the magnetic disk storage 21 for calculating equipment 200 according to two random address Lo Dword) source data, and stored into storage of array unit 11.
Scanner (such as Raster) 12 is used to the source data stored in storage of array unit 11 reading the logic In the first operand of unit 15.Illustratively, in the present embodiment, control unit 17 will store in storage of array unit 11 Source data is sent into scanner 12, and scanner 12 reads the slice of source data according to pre-defined rule (that is, reading first character section (byte) one (bit), then one of second byte is read, after running through one of all bytes, it is further continued for reading first The another one of a byte, until all positions are all read).
Buffer (buffer) 13 is used for the operation result of storage logical units 15.
Packaged unit (packer) 14 is for reading the data stored in the buffer 13 and packing, such as packaged unit (packer) 14 the data in buffer 13 are combined into word (double Dword) in pairs.
Logic unit (cipher logic unit, CLU) 15 is for carrying out XOR operation.One of operand be from The floating number that the general Central Processing Unit (GCPU) or universal graphics processing unit (GGPU) for calculating equipment 200 return, one Operand is the source data that scanner 12 is read out.
Double proframmable linear feedback shift register (Dual Programmable Linear-Feedback Shift Register, DPLSFR) 16 for generating pseudo random number, to send to the general Central Processing Unit (GCPU) for calculating equipment 200 Or universal graphics processing unit (GGPU) carries out floating-point Hash (hashing) operation.In the present embodiment, control unit 17 is from institute It states and calculates the acquisition programming key of equipment 200, and based on double proframmable linear feedback shift registers described in the programming key pair 16 are programmed.In the present embodiment, due to according to the key real-time programming proframmable linear feedback shift register of user Feedback channel (link), so that even if hacker obtains encryption equipment hardware and do not have key that can not program linear feedback shift register Device increases decoding difficulty.
Control unit (cipher control unit, CCU) 17 is for controlling storage of array unit 11, scanner 12, delaying Rush the operation of device 13, packaged unit 14, logic unit 15 and double proframmable linear feedback shift registers 16.In the present embodiment In, the pseudo random number that double proframmable linear feedback shift registers 16 generate is sent to the calculating and set by control unit 17 General Central Processing Unit or universal graphics processing unit in standby 200 carry out floating-point Hash operation, and by the calculating equipment In general Central Processing Unit or universal graphics processing unit return floating number be put into the logic unit 15 second behaviour In counting, so that the logic unit 15 carries out logical operation to the source data and floating number, and by the packaged unit 14 data being packaged are exported as target data into the output file for calculating equipment 200.
According to the hardware decoder of the present embodiment, the pseudo random number that proframmable linear feedback shift register is generated is sent Floating-point Hash operation is carried out to the general Central Processing Unit (GCPU) or universal graphics processing unit (GGPU) for calculating equipment, and Value after floating-point Hash operation does random number, and original equally distributed random number is become to the random number of nonlinear Distribution, so that Hacker is difficult to crack, and due to directly handling list using the general Central Processing Unit (GCPU) or general graphical that calculate equipment First (GGPU) carries out floating-point Hash operation, therefore hardware decoder is without redesigning special FPU Float Point Unit, not only can be with Using the powerful floating-point operation ability of general Central Processing Unit (GCPU) or universal graphics processing unit (GGPU), also reduce Computing capability and size required for hardware decoder, reduce costs.
Below with reference to Fig. 2 to Fig. 5 to double proframmable linear feedback shift registers according to an embodiment of the present invention into Row detailed description.
In the present embodiment, hardware decoder 100 is using double proframmable linear feedback shift registers 16, i.e., such as Fig. 2 institute Show including two proframmable linear feedback shift registers of left-half and right half part.Each proframmable linear feedback shift is posted Storage includes linear feedback shift register unit group 161, feed array 162 and feedback control unit 163.
Wherein, linear feedback shift register unit group (LFSR cell combos) 161 includes 64 linear feedback shifts Deposit unit 0~63,64 linear feedback shift register units are sequentially connected in series, for executing selection and shift function.
Feed array 162 is for making each linear feedback shift register unit and other linear feedback shift register lists Member forms feedback channel ((link/fabrics), to be fed back.Such as exist for each linear feedback shift register unit 63 feedback channels are connect, to be fed back respectively with other 63 linear feedback shift register units.
Feedback control unit (fabrics control unit) 163 is arranged in feed array 162, described for controlling The open and close of feedback channel, to make have feedback between two linear feedback shift register units or without feedback.
As shown in figure 3, in the present embodiment, it includes the trigger being sequentially connected in series that linear displacement, which feeds back deposit unit, 31, XOR gate 32, the first phase inverter 33, the first Port Multiplier 34 and the second Port Multiplier 35.The input terminal (d sections) of trigger 31 is with before The output end connection of one linear displacement feedback deposit unit, namely deposit unit is fed back with the previous linear displacement The second Port Multiplier 35 output end connection.The clock signal terminal (clk) of trigger 31 is connect with clock signal, and is believed in clock Start-up operation when number being enabled, clock signal stop working when stopping enabled.The output end (i.e. the end Q) and XOR gate of trigger 31 32 first input end connection, and pass through the array 162 and the second of the XOR gate of other linear displacements feedback deposit unit Input terminal connection.Second input terminal of XOR gate 32 feeds back deposit unit with other linear displacements by the feed array 162 Connection.The output end of XOR gate 32 is connect with the first input end of 33 input terminals of the first phase inverter and the first Port Multiplier 34, The output end of first phase inverter 33 is connect with the second input terminal of the first Port Multiplier 34, the control terminal and programming of the first Port Multiplier 34 The connection of KEY DECODER output end, the output end of the first Port Multiplier 34 are connect with the second input terminal of the second Port Multiplier 35, and second The first input end of Port Multiplier 35 is connect with load data terminal, for inputting load data (Loading data), the second multichannel The control terminal of device 35 is connect with loading command end (loading command), the output end of the second Port Multiplier 35 and the latter institute State the input terminal connection of linear displacement feedback deposit unit.It can be when needed to can by loading command and load data It programs in linear feedback shift register and is inserted into seed (seed), to avoid similar random number is generated.
As shown in figure 5, in the present embodiment, feed array 162 includes n row × n column exclusive or gate array, each column XOR gate according to Secondary series connection, wherein n be the linear feedback shift register unit quantity, i-th column end XOR gate output end with Second input terminal of the XOR gate of i-th of linear feedback shift register unit connects, and i-th of linear feedback shift is posted The output end of the trigger of memory cell is connect with the first input end of remaining XOR gate arranged in the i-th row in addition to i-th, and n is big In be equal to 2, i from 0 to n-1.For example, the output end of the trigger of the 5th linear feedback shift register unit and feed array 162 In the 5th row XOR gate first input end connection, in addition in the 5th row be located at the 5th column in XOR gate other than;Feed array The XOR gate of the 5th column is sequentially connected in series in 162, and the output end of end XOR gate and the 5th linear feedback shift register list Second input terminal connection of the XOR gate of member, namely the feedback from other linear feedback shift register units are passed through Second input terminal of the XOR gate of 5 linear feedback shift register units is input to after XOR operation.
Illustratively, n is equal to 64 in the present embodiment.
As shown in figure 4, in the present embodiment, feedback control unit 163 includes the second phase inverter 40,41 and of third phase inverter Third Port Multiplier 42, wherein the connection of the output end of the input terminal of the second phase inverter 40 and third phase inverter 41 and with programming key Decoder connection, for obtaining decoded programming key;The input of the output end and third phase inverter 41 of second phase inverter 40 End connects and connect with the control terminal of third Port Multiplier 42, for selecting the signal of third Port Multiplier, the third Port Multiplier 42 First input end connect with the output end of the trigger of linear feedback shift register unit described in other, that is, pass through feedback Array 162 is connect with the output end of the trigger 31 of linear feedback shift register unit described in other, the third multichannel Second input end grounding of device 42, the first of the output end of the third Port Multiplier 42 and the XOR gate in feed array 162 are defeated Enter end connection.Feed array can be programmed as described previously by programming key (Program key), such as programming key is affirmed For i unit to the feedback of j unit, the output line of the trigger of i-th of unit is just connected to the first defeated of the XOR gate of j column Enter end;If do not affirmed, ground voltage is just connected to the first input end of the XOR gate of j column, and ground voltage (connecing zero) arrives XOR gate is equal to nothing operation, that is, does not feed back.
It is understood that control unit as shown in Figure 4 is both provided with for each XOR gate in feed array, with Control the feedback of Unit i-th to j-th.The structure of entire proframmable linear feedback shift register is as shown in Figure 5.Control is single The key of first 17 couples of users is decoded, and uses the Feedback Matrix of decoded key pair proframmable linear feedback shift register Whether column 162 are programmed, i.e. the disconnection and closure of the feed array 162 of proframmable linear feedback shift register, i.e., select The feedback signal from other linear feedback deposit units in Port Multiplier depends on decoded key.
It is understood that although in the present embodiment, the proframmable linear feedback shift register is double programmable Linear feedback shift register, but random number can also be generated using the register of other structures in other embodiments.
Further, it is to be understood that it is anti-that control unit 17 controls the proframmable linear in order to increase decoding difficulty It presents shift register and carries out various types of feedbacks, such as carry out each linear displacement feedback deposit unit once or more More feedbacks, or so that the linear displacement of the proframmable linear feedback shift register is fed back deposit unit and recycle instead Feedback, or fed back between double proframmable linear feedback shift registers that (above-described embodiment only individually may be programmed Fed back between the linear feedback shift register unit of linear feedback shift register), or compiled as described above described Seed data (seed) is inserted into journey linear feedback shift register.
Hardware decoder shown in FIG. 1 and the exemplary encryption process for calculating equipment are as follows:.
Firstly, into the user program (user program) of encryption equipment;Then, user is from second memory (UFD2) 23 Selection programming key (programming key);Then, control unit 17 obtains programming key, and key programs based on programming Double proframmable linear feedback shift registers (that is, DPLFSR) 16 are programmed (i.e. according to the double programmable lines of programming key confirmation Whether the feedback channel of property feedback shift register connects);Then, user's key since selecting second memory (UFD2) 23 (initializing key namely seed are the initial value for being input to 128 DPLFSR);Then, control unit 17 obtains Home key, and start double proframmable linear feedback shift registers 16;Then, user's key feeding cipher (password, Password is for selecting code book, because having several code books in first memory (UFD1) 22);Then, user program Code book (map) is selected from first memory (UFD1) 22;Then, user program exports addressable address;Then, user program makes Two sections of source datas are read from magnetic disk storage 21 with the height double word (i.e. two random address of height double word) of code book;It connects , control unit 17 obtains two sections of source datas and stores it in storage of array unit 11;Then, user program issues Encrypted instruction 1;Then, control unit 17 enables the clock signal of DPLFDR16;Then, after setting time, control unit 17 stop the clock signal of DPLFDR16;Then, control unit 17 collect from DPLFDR16 double word (Dwords, two words, 32) pseudo random number;Then, the double word of collection is back to user program by control unit 17, and completes to instruct;Then, user Program is that each double word executes floating-point Hash operation, and specifically user program is carried out by calculating the GCPU and GGPU of equipment 200 Floating-point Hash operation (FP, Hashing), and being used operation result as random number, i.e., by floating-point Hash operation by puppet with Machine number is converted to random number;Then, the result of floating-point Hash operation is put into the register of control unit 17 by user program, and Issue encrypted instruction 2;Then, the floating-point that control unit 17 picks up each double word from register (picks up each DPLFDR16 The Hash operation result of each double word generated);Then, the most significant word of the floating-point of return is stored in and patrols by control unit 17 In the second operand (operand2) for collecting unit 15, i.e., by the general Central Processing Unit or standard drawing in the calculating equipment The most significant word (most significant word, MSW) for the floating number that shape processing unit returns is put into logic unit 15 In second operand (operand2), illustratively, in the present embodiment, by first 16 of the floating-point of return (in the present embodiment Floating-point is single precision, 32) it stores into the second operand of logic unit 15 (operand2);Then, control unit 17 will (16 after such as) stores into the register of control unit 17 itself the remaining position of the floating-point of return;Then, user program is sent out Encrypted instruction 3 out;Then, user program intercepts the instruction (encrypted instruction 3);Then, control unit 17 is regular by data scanning It is sent in scanner 12 that (i.e. control unit 17 tells scanner 12, in storage of array unit 11 in first character section (byte) Which position (bit) should scan, which bit in second byte should be scanned);Then, scanner 12slice source data is into the first operand (operrand1) of logic unit 15, that is, scanner 12 is read according to pre-defined rule The slice of source data is taken (that is, reading one (bit) of first character section (byte), then to read one of second byte, read After one of complete all bytes, it is further continued for reading the another one of first character section, until all positions are all read), then it will read Data be put into the first operand (operrand1) of logic unit 15;Then, encrypted instruction 3 is continued to execute, circulation executes Aforementioned process, all data stored in straight storage of array unit 11 are all sent to the first operand of logic unit 15 (operrand1) in;Then, user program issues encrypted instruction 4;Then, control unit 17 executes encrypted instruction 4, with exchange Upset the source data in the first operand (operrand1) of logic unit 15;Then, encrypted instruction 4 is continued to execute, until following Ring is to the end of source data;Then, logic unit 15 executes logical operation, such as exclusive or to first operand and second operand Operation;Then, user program issues encrypted instruction 5;Then, control unit 17 solves code instruction, and by the return being locally stored The remaining bit of floating-point is stored into buffer 13, i.e., control unit 17 is based on the general Central Processing Unit in the calculating equipment Or the operation result of the logic unit is being put into the buffer by the mantissa of the floating number of universal graphics processing unit return When be added variable word length buffered data;Then, control unit 17 is by a bit transition of the operation result of logic unit 15 to slow It rushes in device 13;Then, circulation executes encrypted instruction 5, until the operation result of logic unit 15 is all put into buffer 13;It connects , the data in buffer 13 are packaged (assemblies) double word in pairs (being packaged into 64 data) by packaged unit 14;It connects , user program issues encrypted instruction 6;Then, user program collects data from hardware decoder 100;Then, user program will In the output file of the data write-in magnetic disk storage 21 of collection;Then, the above process is repeated, until code book reaches end End, i.e., until user program discovery input file is less than the addressable space of code book, otherwise user program is from first memory (UFD1) 22 selections are loaded into another code book (map), and from starting to repeat the above process.
It should be appreciated that in above process, can also include the following steps, such as user program exports addressable address, and User program reads two sections using the height double word (i.e. two random address of height double word) of code book from magnetic disk storage 21 Between source data, user program can be cloned source data if it find that source data is smaller so that data can fill up it is close The addressable space of code book avoids file too small and is easy to be cracked.For example, the addressing space of code book is 4GB, and source file Only 0.5GB, the then data for cloning 3.5GB are placed on after source data, to gather together enough 4GB.In addition, when the end data to source data When being encrypted, if end data again smaller than the addressable space of code book, can equally clone end data, with It is set to fill up the addressing space of code book.
It will also be appreciated that can be sent out encrypted instruction 7 in certain phase user programs in above process, according to The instruction, control unit 17 can execute one or more specialized operations, such as make each linear displacement feedback deposit Unit carries out one or more feedback, or feeds back the linear displacement of the proframmable linear feedback shift register and post Memory cell carries out circulation feedback, or is fed back (above-mentioned implementation between double proframmable linear feedback shift registers Example is only fed back between the linear feedback shift register unit of single proframmable linear feedback shift register), Huo Zheru Upper insertion seed data (seed) in the proframmable linear feedback shift register.
Embodiment two
Encryption method according to an embodiment of the present invention is described in detail below with reference to Fig. 6.
The present embodiment discloses a kind of encryption method based on above-mentioned hardware decoder, comprising:
Step 601, source data is read from calculating equipment, and be put into the storage of array unit of hardware decoder.
Illustratively, in the present embodiment, random address is read from the code book for calculating equipment first, and according to institute It states random address and reads source data, then store read source data to the storage of array unit.For example, being set from calculating Code book is selected in standby first memory, and reads the random address of two height double words from code book, and then basis should Two random address read one section of source data from the magnetic disk storage for calculating equipment.
Step 602, the proframmable linear feedback shift register for controlling hardware decoder generates pseudo random number, and will be described Pseudo random number is sent to the general Central Processing Unit for calculating equipment and/or graphics processing unit carries out floating-point Hash fortune It calculates.
Illustratively, the double proframmable linear feedback shift registers are controlled and generate pseudo random numbers, and generate it is pseudo- with Machine number is sent to the general Central Processing Unit and/or graphics processing unit for calculating equipment, utilizes its powerful floating-point operation ability Floating-point Hash operation is carried out, and the floating number generated is used to carry out logical operation as random number, in this way by equally distributed puppet Random number is converted to the random number of nonlinear Distribution, increases decoding difficulty.
Further, it generates in pseudo-random number processes controlling the double proframmable linear feedback shift registers, it can be with Programming key is obtained from the calculating equipment, and based on double proframmable linear feedback shift registers described in the programming key pair It is programmed, to be configured flexibly the feedback channel (link) of double proframmable linear feedback shift registers, increases Decode difficulty.Further, it is also possible to which controlling double proframmable linear feedback shift registers makes each linear displacement feedback Deposit unit carries out one or more feedback, or keeps the linear displacement of the proframmable linear feedback shift register anti- Feedback deposit unit carries out circulation feedback, or is fed back between double proframmable linear feedback shift registers (above-mentioned Embodiment is only fed back between the linear feedback shift register unit of single proframmable linear feedback shift register), or Person as described above in the proframmable linear feedback shift register be inserted into seed data (seed), with by it is various feedback or Seed is inserted into increase decoding difficulty.
Step 603, the scanner for controlling hardware decoder reads the source data stored in the storage of array unit In the first operand of the logic unit.
Illustratively, the source data that storage of array unit stores is sent to scanner, the source scanner slice by control unit Data are into the first operand (operrand1) of logic unit, that is, scanner reads source data according to pre-defined rule Slice (that is, reading one (bit) of first character section (byte), then reads one of second byte, runs through all bytes One after, be further continued for read first character section another one, until all positions are all read), then the data of reading are put into In the first operand (operrand1) of logic unit.
It should be understood that the process needs to be implemented repeatedly, until the source data stored in storage of array unit is all put into logic list In the first operand (operrand1) of member.
Step 604, the floating number general Central Processing Unit for calculating equipment and/or graphics processing unit returned It is put into the second operand of the logic unit.
Illustratively, the general Central Processing Unit calculated in equipment or universal graphics processing unit are returned floating The most significant word of points is put into the second operand of the logic unit.In addition, by the remaining bit of the floating number of return into Row is locally stored, such as is put into the register of control unit.
Step 605, it controls the logic unit and carries out logical operation.
Illustratively, such as by the logic unit data in first operand and second operand are made to carry out exclusive or Operation.
Illustratively, before carrying out logical operation, exchange can also be executed to the data in first operand and upsets behaviour Make (permuting).
Step 606, the operation result of the logic unit is put into buffer.
Illustratively, such as control unit by operation result one one of logic unit is put into buffer, until Until all operation results are all put into buffer.
Illustratively, it before or after being put into buffer for one of logic operation result, can also will be locally stored The remaining bit of floating-point of return store into buffer, i.e., control unit is based on the general purpose central processing in the calculating equipment The operation result of the logic unit is being put into described delay by the mantissa for the floating number that unit or universal graphics processing unit return The buffered data of variable word length is added when rushing device.
Step 607, control packaged unit reads the data stored in the buffer and packing.
Illustratively, the data in buffer are packaged into double-word data in pairs, i.e. 64 data by packaged unit.
Step 608, the data that the packaged unit is packaged are exported as target data to the output for calculating equipment In file.
Illustratively, control unit exports the data that packaged unit is packaged to the calculating equipment as target data In output file.
It should be understood that the sequence of each step is adjustable in the above process, and if source data is larger, the above process is only It is the cryptographic operation that with a portion of to source data, therefore also needs to encrypt all sources by repeating aforesaid operations Data.
In addition, it should be understood that being, for example, less than given threshold if source data is smaller, that is, it is less than the addressing space of code book, The source data can then be cloned, and the data after clone are put into the end of addressing space, though data fill up it is close The addressing space of code book.
According to the encryption method of the present embodiment, the pseudo random number that proframmable linear feedback shift register generates is sent to The general Central Processing Unit (GCPU) or universal graphics processing unit (GGPU) for calculating equipment carry out floating-point Hash operation, and float Value after point Hash operation does random number, original equally distributed random number is become to the random number of nonlinear Distribution, so that astonished Visitor is difficult to crack, and due to directly utilizing the general Central Processing Unit (GCPU) or universal graphics processing unit for calculating equipment (GGPU) floating-point Hash operation is carried out, therefore hardware decoder is not necessarily to redesign special FPU Float Point Unit, it not only can benefit With the powerful floating-point operation ability of general Central Processing Unit (GCPU) or universal graphics processing unit (GGPU), also reduce hard Computing capability required for part encryption equipment and size, reduce costs.
Further, encryption method according to the present invention reads data using code book, i.e. data are not sequentially read, and increases Decoding difficulty is added.
Further, encryption method according to the present invention, according to the key of user, real-time programming proframmable linear feedback is moved The feedback channel of bit register, so that even if hacker obtains encryption equipment hardware and do not have key that can not program linear feedback shift Register increases decoding difficulty.
Further, encryption method according to the present invention joined the buffered data of variable word length between data, so that Hacker does not have encryption equipment to be difficult to find data head and data tail, increases decoding difficulty.
Embodiment three
Yet another embodiment of the present invention provides a kind of electronic device, including hardware decoder and encrypts with the hardware The electronic building brick of device connection.
The hardware decoder includes storage of array unit, and the storage of array unit is read from calculating equipment for storing The source data taken;Logic unit, the logic unit is for carrying out XOR operation;Scanner, the scanner is used for will be described The source data stored in storage of array unit is read in the first operand of the logic unit;Proframmable linear feedback shift Register, the proframmable linear feedback shift register is for generating pseudo random number;Buffer, the buffer is for storing The operation result of the logic unit;Packaged unit, the packaged unit are used to read the data stored in the buffer simultaneously It is packaged;The pseudo random number that the proframmable linear feedback shift register generates is sent to by control unit, described control unit General Central Processing Unit in the calculating equipment or universal graphics processing unit carry out floating-point Hash operation, and by the meter It calculates the floating number that general Central Processing Unit or universal graphics processing unit in equipment return and is put into the of the logic unit In two operands, so that the logic unit carries out logical operation to the source data and floating number, and by the pack slip The data that member is packaged are exported as target data into the output file for calculating equipment.
The electronic building brick includes magnetic disk storage, for storing source data;First memory, for storing code book; Second memory, for storing key;Memory is used for loading procedure and data;General Central Processing Unit and/or graphics process Unit, for carrying out floating-point Hash operation.
The electronic device of the present embodiment can be laptop, net book, desktop computer etc. and calculate equipment, can also For any intermediate products including the semiconductor devices.
The electronic device of the embodiment of the present invention increases and decodes since the hardware decoder for being included improves level of encryption Difficulty, thus the electronic device have the advantages that it is similar.
The present invention has been explained by the above embodiments, but it is to be understood that, above-described embodiment is only intended to The purpose of citing and explanation, is not intended to limit the invention to the scope of the described embodiments.Furthermore those skilled in the art It is understood that the present invention is not limited to the above embodiments, introduction according to the present invention can also be made more kinds of member Variants and modifications, all fall within the scope of the claimed invention for these variants and modifications.Protection scope of the present invention by The appended claims and its equivalent scope are defined.

Claims (20)

1. a kind of hardware decoder characterized by comprising
Storage of array unit, the storage of array unit are used to store the source data read from calculating equipment;
Logic unit, the logic unit is for carrying out XOR operation;
Scanner, the scanner are used to the source data stored in the storage of array unit reading the logic unit In first operand;
Proframmable linear feedback shift register, the proframmable linear feedback shift register is for generating pseudo random number;
Buffer, the buffer are used to store the operation result of the logic unit;
Packaged unit, the packaged unit is for reading the data stored in the buffer and packing;
The pseudo random number that the proframmable linear feedback shift register generates is sent to institute by control unit, described control unit It states and calculates general Central Processing Unit in equipment or universal graphics processing unit carries out floating-point Hash operation, and by the calculating The floating number that general Central Processing Unit or universal graphics processing unit in equipment return is put into the second of the logic unit In operand, so that the logic unit carries out logical operation to the source data and floating number, and by the packaged unit The data of packing are exported as target data into the output file for calculating equipment.
2. hardware decoder according to claim 1, which is characterized in that
Described control unit reads random address from the code book for calculating equipment, and reads source number according to the random address According to, and read source data is stored to the storage of array unit.
3. hardware decoder according to claim 1, which is characterized in that described control unit is obtained from the calculating equipment Key is programmed, and is programmed based on proframmable linear feedback shift register described in the programming key pair.
4. hardware decoder according to claim 3, which is characterized in that the proframmable linear feedback shift register packet It includes:
Linear feedback shift register unit group, the linear feedback shift register unit group include multiple lines being sequentially connected in series Property feedback shift register unit, for execute selection and shift function;
Feed array, the feedback control array are logical for making the linear feedback shift register unit form feedback each other Road;
Feedback control unit, the feedback control unit is arranged in the feed array, for controlling the feedback channel Open and close.
5. hardware decoder according to claim 4, which is characterized in that linear displacement feedback deposit unit include according to Trigger, XOR gate, the first phase inverter and the first Port Multiplier of secondary series connection, wherein the input terminal of the trigger with it is previous The output end connection of a linear displacement feedback deposit unit, the clock signal terminal of the trigger are connect with clock signal, The output end of the trigger is connect with the first input end of the XOR gate and the feedback channel, and the second of the XOR gate Input terminal is connect with the feedback channel, the input terminal and described first of the output end of the XOR gate and first phase inverter The first input end of Port Multiplier connects, and the second input terminal of the output end of first phase inverter and first Port Multiplier connects It connects, the control terminal of first Port Multiplier is connect with the programming KEY DECODER output end, the output of first Port Multiplier It holds and is connect with the input terminal of the feedback deposit unit of linear displacement described in the latter.
6. hardware decoder according to claim 5, which is characterized in that the linear displacement feedback deposit unit also wraps It includes:
Second Port Multiplier, the first input end of second Port Multiplier are connect with the output end of first Port Multiplier, and described Second input terminal of two Port Multipliers is connect with load data terminal, and the control terminal of second Port Multiplier is connect with loading command end, Linear displacement described in the output end and the latter of second Port Multiplier feeds back the input terminal connection of deposit unit.
7. hardware decoder according to claim 5, which is characterized in that the feed array includes n row × n column XOR gate Array, each column XOR gate are sequentially connected in series, and wherein n is the quantity of the linear feedback shift register unit, the i-th column end The output end of XOR gate is connect with second input terminal of the XOR gate of i-th of linear feedback shift register unit, and i-th In addition to the of remaining XOR gate of the i-th column in the output end and the i-th row of the trigger of a linear feedback shift register unit The connection of one input terminal, n are more than or equal to 2, i from 0 to n-1.
8. hardware decoder according to claim 7, which is characterized in that the feedback control unit includes third multichannel Device, the second phase inverter and third phase inverter, the input terminal of second phase inverter are connected with the output end of the third phase inverter And connect with programming KEY DECODER, the input terminal of the output end of second phase inverter and the third phase inverter connect and with The control terminal of the third Port Multiplier connects, and the first input end of the third Port Multiplier is posted with linear feedback shift described in other The output end of the trigger of memory cell connects, the second input end grounding of the third Port Multiplier, the third Port Multiplier Output end connect with the first input end of the XOR gate in the feed array.
9. hardware decoder according to claim 4, which is characterized in that the proframmable linear feedback shift register Quantity is two.
10. hardware decoder according to claim 9, which is characterized in that described control unit controls the programmable line Property feedback shift register so that each linear displacement feedback deposit unit carry out one or more feedback or it is described can The linear displacement feedback deposit unit of programming linear feedback shift register carries out circulation feedback, or can described in two It is fed back between programming linear feedback shift register, or is inserted into seed in the proframmable linear feedback shift register Data.
11. hardware decoder according to claim 1, which is characterized in that described control unit will be in the calculating equipment General Central Processing Unit or the most significant word of floating number that returns of universal graphics processing unit be put into the logic unit Second operand in.
12. hardware decoder according to claim 1, which is characterized in that described control unit is based on the calculating equipment In the mantissa of floating number that returns of general Central Processing Unit or universal graphics processing unit by the fortune of the logic unit Calculate the buffered data that variable word length is added when result is put into the buffer.
13. a kind of encryption method of hardware decoder described in any one based in claim 1-12, which is characterized in that Include:
Source data is read from calculating in equipment, and is put into the storage of array unit of hardware decoder;
The proframmable linear feedback shift register for controlling hardware decoder generates pseudo random number, and the pseudo random number is sent Floating-point Hash operation is carried out to the general Central Processing Unit for calculating equipment and/or graphics processing unit;
The source data stored in the storage of array unit is read the logic unit by the scanner of control hardware decoder First operand in;
The floating number that the general Central Processing Unit for calculating equipment and/or graphics processing unit return is put into the logic In the second operand of unit;
It controls the logic unit and carries out logical operation;
The operation result of the logic unit is put into buffer;
Control packaged unit reads the data stored in the buffer and packing;
The data that the packaged unit is packaged are exported as target data into the output file for calculating equipment.
14. encryption method according to claim 13, which is characterized in that it is described to read source data from calculating equipment, and It is put into the storage of array unit of hardware decoder and includes:
Random address is read from the code book for calculating equipment, and source data is read according to the random address;
Read source data is stored to the storage of array unit.
15. encryption method according to claim 13, which is characterized in that further include:
Programming key is obtained from the calculating equipment, and based on proframmable linear feedback shift register described in the programming key pair Device is programmed.
16. encryption method according to claim 15, which is characterized in that further include:
The proframmable linear feedback shift register is controlled so that each linear displacement feedback deposit unit carries out once Or more feedback or the proframmable linear feedback shift register the linear displacement feedback deposit unit recycled Feedback, or seed data is inserted into the proframmable linear feedback shift register.
17. encryption method according to claim 13, which is characterized in that
The highest of the floating number of general Central Processing Unit or universal graphics processing unit return in the calculating equipment is had Effect word is put into the second operand of the logic unit.
18. encryption method according to claim 13, which is characterized in that further include:
When the operation result of the logic unit is put into the buffer based on it is described calculating equipment in general purpose central at The buffered data of variable word length is added in the mantissa for managing the floating number of unit or universal graphics processing unit return.
19. encryption method according to claim 14, which is characterized in that further include:
If source data is less than the addressing space of the code book, the source data is cloned, and by the number after clone New source data is formed according to being put into after source data.
20. a kind of electronic device characterized by comprising
Magnetic disk storage, for storing source data;
First memory, for storing code book;
Second memory, for storing key;
Memory is used for loading procedure and data;
General Central Processing Unit and/or graphics processing unit, for carrying out floating-point Hash operation;And
At hardware decoder as described in any one in claim 1-12, the hardware decoder and the general purpose central Manage unit and/or graphics processing unit communication.
CN201710740049.4A 2017-08-23 2017-08-23 Hardware encryptor, encryption method and electronic device Active CN109426738B (en)

Priority Applications (1)

Application Number Priority Date Filing Date Title
CN201710740049.4A CN109426738B (en) 2017-08-23 2017-08-23 Hardware encryptor, encryption method and electronic device

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
CN201710740049.4A CN109426738B (en) 2017-08-23 2017-08-23 Hardware encryptor, encryption method and electronic device

Publications (2)

Publication Number Publication Date
CN109426738A true CN109426738A (en) 2019-03-05
CN109426738B CN109426738B (en) 2021-11-12

Family

ID=65500524

Family Applications (1)

Application Number Title Priority Date Filing Date
CN201710740049.4A Active CN109426738B (en) 2017-08-23 2017-08-23 Hardware encryptor, encryption method and electronic device

Country Status (1)

Country Link
CN (1) CN109426738B (en)

Cited By (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
WO2022087829A1 (en) * 2020-10-27 2022-05-05 京东方科技集团股份有限公司 Data processing circuit, data processing method, and electronic device
WO2022120999A1 (en) * 2020-12-11 2022-06-16 清华大学无锡应用技术研究院 Feedback shift register array-based sequence cipher algorithm computing system

Citations (12)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN101174200A (en) * 2007-05-18 2008-05-07 清华大学 5-grade stream line structure of floating point multiplier adder integrated unit
CN101986264A (en) * 2010-11-25 2011-03-16 中国人民解放军国防科学技术大学 Multifunctional floating-point multiply and add calculation device for single instruction multiple data (SIMD) vector microprocessor
CN102087590A (en) * 2009-12-03 2011-06-08 浙江大学 Execution device of resource-multiplexing floating point SIMD (single instruction multiple data) instruction
US7986940B2 (en) * 2007-07-05 2011-07-26 Azurewave Technologies, Inc. Automatic wireless network linking method with security configuration and device thereof
CN102411683A (en) * 2011-08-15 2012-04-11 复旦大学 Cache-based AES (Advanced Encryption Standard) accelerator suitable for embedded system
CN103019647A (en) * 2012-11-28 2013-04-03 中国人民解放军国防科学技术大学 Floating-point accumulation/gradual decrease operational method with floating-point precision maintaining function
CN103078729A (en) * 2012-01-13 2013-05-01 河南科技大学 Dual-precision chaotic signal generator based on FPGA (field programmable gate array)
CN103984521A (en) * 2014-05-27 2014-08-13 中国人民解放军国防科学技术大学 Method and device for achieving SIMD structure floating point division in general-purpose digital signal processor (GPDSP)
CN104426973A (en) * 2013-09-03 2015-03-18 中国移动通信集团公司 Cloud database encryption method, system and device
CN104506312A (en) * 2015-01-19 2015-04-08 中国人民解放军国防科学技术大学 Method for rapidly generating information theory safety authentication information used for quantum secret communication
CN105335127A (en) * 2015-10-29 2016-02-17 中国人民解放军国防科学技术大学 Scalar operation unit structure supporting floating-point division method in GPDSP
US20160180097A1 (en) * 2014-04-17 2016-06-23 Xerox Corporation Relational database fingerprinting method and system

Patent Citations (12)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN101174200A (en) * 2007-05-18 2008-05-07 清华大学 5-grade stream line structure of floating point multiplier adder integrated unit
US7986940B2 (en) * 2007-07-05 2011-07-26 Azurewave Technologies, Inc. Automatic wireless network linking method with security configuration and device thereof
CN102087590A (en) * 2009-12-03 2011-06-08 浙江大学 Execution device of resource-multiplexing floating point SIMD (single instruction multiple data) instruction
CN101986264A (en) * 2010-11-25 2011-03-16 中国人民解放军国防科学技术大学 Multifunctional floating-point multiply and add calculation device for single instruction multiple data (SIMD) vector microprocessor
CN102411683A (en) * 2011-08-15 2012-04-11 复旦大学 Cache-based AES (Advanced Encryption Standard) accelerator suitable for embedded system
CN103078729A (en) * 2012-01-13 2013-05-01 河南科技大学 Dual-precision chaotic signal generator based on FPGA (field programmable gate array)
CN103019647A (en) * 2012-11-28 2013-04-03 中国人民解放军国防科学技术大学 Floating-point accumulation/gradual decrease operational method with floating-point precision maintaining function
CN104426973A (en) * 2013-09-03 2015-03-18 中国移动通信集团公司 Cloud database encryption method, system and device
US20160180097A1 (en) * 2014-04-17 2016-06-23 Xerox Corporation Relational database fingerprinting method and system
CN103984521A (en) * 2014-05-27 2014-08-13 中国人民解放军国防科学技术大学 Method and device for achieving SIMD structure floating point division in general-purpose digital signal processor (GPDSP)
CN104506312A (en) * 2015-01-19 2015-04-08 中国人民解放军国防科学技术大学 Method for rapidly generating information theory safety authentication information used for quantum secret communication
CN105335127A (en) * 2015-10-29 2016-02-17 中国人民解放军国防科学技术大学 Scalar operation unit structure supporting floating-point division method in GPDSP

Non-Patent Citations (3)

* Cited by examiner, † Cited by third party
Title
宋博荣: "X-DSP SIMD浮点算术逻辑部件的设计与实现", 《中国优秀硕士学位论文全文数据库 信息科技辑》 *
彭浩: "X-DSP 64 位 SIMD 位处理部件及混洗单元的设计与实现", 《中国优秀硕士学位论文全文数据库 信息科技辑》 *
韩珊珊: "基于定点与浮点复用的SIMD乘法器设计与实现", 《第18届全国半导体集成电路、硅材料学术会议》 *

Cited By (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
WO2022087829A1 (en) * 2020-10-27 2022-05-05 京东方科技集团股份有限公司 Data processing circuit, data processing method, and electronic device
US11789897B2 (en) 2020-10-27 2023-10-17 BOE Technology Development Co., Ltd. Data processing circuit, data processing method, and electronic device
WO2022120999A1 (en) * 2020-12-11 2022-06-16 清华大学无锡应用技术研究院 Feedback shift register array-based sequence cipher algorithm computing system

Also Published As

Publication number Publication date
CN109426738B (en) 2021-11-12

Similar Documents

Publication Publication Date Title
Iwai et al. AES encryption implementation on CUDA GPU and its analysis
TWI614682B (en) Efficient work execution in a parallel computing system
US8185749B2 (en) System and method for revising boolean and arithmetic operations
Turan et al. Compact and flexible FPGA implementation of Ed25519 and X25519
TW201239765A (en) State grouping for element utilization
CN104395876B (en) There is no the computer processor of arithmetic and logic unit and system
CN110233721A (en) SM4 OverDrive Processor ODP, method and system
US20100017622A1 (en) High performance arithmetic logic unit (ALU) for cryptographic applications with built-in countermeasures against side channel attacks
Flick et al. Parallel distributed memory construction of suffix and longest common prefix arrays
CN103345609A (en) Method and device for text encryption and decryption
Agosta et al. Record setting software implementation of DES using CUDA
CN109426738A (en) A kind of hardware decoder and encryption method, electronic device
Osvik Speeding up Serpent.
CN101431405B (en) DES encrypted method and its hardware circuit implementing method
CN105814538A (en) Floating-point supportive pipeline for emulated shared memory architectures
CN105933111B (en) A kind of Fast implementation of the Bitslicing-KLEIN based on OpenCL
Tran et al. Parallel execution of AES-CTR algorithm using extended block size
Pu et al. Fastplay-a parallelization model and implementation of smc on cuda based gpu cluster architecture
CN104539417A (en) Encryption device based on stream ciphers
CN1635731A (en) Reconfigurable password coprocessor circuit
US20200042745A1 (en) Data Protection in Computer Processors
CN110336658A (en) Encryption method, user equipment, storage medium and device based on aes algorithm
Saxena et al. Accelerating image encryption with aes using gpu: A quantitative analysis
Elkabbany et al. A design of a fast parallel-pipelined implementation of AES: Advanced Encryption Standard
Grosset et al. Dynamically scheduled region-based image compositing

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