The present invention relates to a circuit arrangement and method for producing a dual-rail output signal.
Switching networks are normally designed microelectronically such that each bit of the information to be processed is physically represented by one, and only one, electrical node. A configuration such as this is also referred to as “single-rail” circuit technology. Switching networks such as these are, however, relatively uncertain with regard to so-called differential current profile analysis, which is used by unauthorized third parties when attempting to gain access to secret information. Differential current profile analysis, which is also referred to as differential power analysis—DPA —, is one of the most important methods, for example, for attacking smart cards for security purposes. This involves deliberate attacks on confidential information (passwords or cryptographic keys). For a given program or a given algorithm, smart card current profiles which are measured by means of statistical methods, and/or their charge integrals calculated over one or more clock cycles, are evaluated, in which case—for a large number of program runs—it is possible to draw conclusions about the information to be protected from the correlation between the systematic data variation and the respective charge integral.
In contrast to conventional single-rail circuit technology, in which each bit within a data path or signal path is physically represented by one, and only one, electrical node k, an implementation using dual-rail circuit technology results in each bit being represented by two nodes k and kq, with this bit having a valid logic value when k corresponds to the true logic value b of this bit, and kq corresponds to the negated value bn=not (b).
Thus, when the value b=1 is intended to be transmitted, this is done by means of a “1” in the node k. At the same time, however, the value “0” is transmitted at the node kq, so that, overall, both a “1” and a “0” are thus transmitted. When the value b=0 is to be transmitted, the value “1” is at the same time transmitted at the node kq. A “1” and a “0” are thus transmitted in both cases. Assuming that the nodes k and kq are physically identical, it is now no longer possible to use differential current profile analysis to identify whether a “1” or a “0” is being transmitted as the data item. However, this is true only when a signal change actually takes place for each transmitted data item, that is to say when the information “1” and the information “0” alternate. If a number of identical data items are transmitted successively, the characteristics with regard to the capability for attacks by means of differential current profile analysis deteriorate.
The desired invariance of the charge integrals is now achieved by inserting a so-called precharge state, also referred to just as precharge, between in each case two states with valid logic values (b, bn)=(1, 0) or (0, 1), for which both k and kq are charged to the same electrical potential, that is to say they assume logically invalid values (1, 1) or (0, 0). A state sequence for the precharge state (1, 1) could thus appear as follows:
It can be said for any such character sequences that the charge on one, and only one, node is changed from “1” to “0” for each transition from (1, 1)→(b, bn), and that one, and only one, node is changed from “0” to “1” for all (b, bn)→(1, 1), irrespective of the logically valid value b of the status bit in question. An analogous situation applies to state sequences with the precharge state (0, 0).
It follows from this that the charge integrals which correspond to these state sequences are independent of the sequence (b, bn) of the logically valid values, provided that care is taken to ensure that the nodes k and kq have the same electrical capacitances. The current profile of a data path implemented in this way is thus independent of time variations in the data to be processed, and is thus resistant to differential current profile analysis.
Circuit arrangements for producing a dual-rail signal are used, for example, in a data processing apparatus such as that shown in
The input circuit 1 produces an output signal Z, which is transmitted to the ALU. In other situations, the value “0” or the value “1” is required as the input value for the ALU, so that the input circuit 1 therefore also has to have the capability to provide these two values. The required output functions z of the input circuit 1 are thus:
The function f in this case indicates that the input data a may be processed further, for example if the data a is scrambled and is first of all intended to be descrambled in order to allow further processing in the ALU. The control signals S0, S1, which are supplied to the input circuit 1, determine which of these four functions should be implemented.
In addition to the signal paths for the signals a, b, z and c, which are shown by bold lines in
The function which is to be provided by the input circuit 1, in conjunction with the two control bits S0 and S1, is thus:
z=not(s1·not(f(a<n:1>)=s0·f(a<n:1>)).
According to the prior art, a function such as this is implemented by a circuit arrangement such as that illustrated in
A number of series-connected conventional gates are thus used. Such a circuit arrangement which follows the logical system is relatively complex in terms of the number of transistors that need to be used, particularly when a dual-rail signal is intended to be used rather than a single-rail signal. Furthermore, the processing time in circuit arrangements such as these, which also draw a large amount of current, is comparatively long.
As can be seen from the application illustrated in
An object of the invention is thus to specify a circuit arrangement for producing a dual-rail output signal, whose design is simpler and can be implemented using fewer transistors. A further object is to specify a corresponding method.
This object is achieved by a circuit arrangement for producing a dual-rail output signal having a first input with at least two connections for receiving a dual-rail input signal, a second input for receiving a control signal, a signal processing apparatus with a first switch and a second switch, which can each be driven as a function of the input signal, as well as two outputs, in which case the first output can be connected by means of one of the switches to a foot point, which is at a first potential, of the control apparatus, and the second output can be connected by means of the other switch to said foot point of the control apparatus, having a switching apparatus, having two inputs which are connected to the outputs of the signal processing apparatus, and having two outputs which are connected to two outputs of the circuit arrangement in order to output a dual-rail output signal, in which case the outputs can each be connected to one or to both inputs as a function of a control signal, and having a potential monitoring apparatus for defining the potentials at the outputs of the circuit arrangement when these are not connected via the switching apparatus and the signal processing apparatus to the foot point of the signal processing apparatus.
An advantage of the circuit arrangement according to the invention is that the output can assume not only the values f(a) and fq=not (f(a)), but can also assume the two values “0” and “1”. In this case, the circuit is physically very simple and does not have a large number of transistors. In addition to the transistors which are responsible for carrying out the functions f(a, aq) and fq(a, aq) in the signal processing apparatus, only four transistors are required for the switching apparatus, as well as transistors for the potential monitoring apparatus. In one preferred refinement, the potential monitoring apparatus requires only two transistors.
It is particularly advantageous that virtually the entire circuit can be designed using only one transistor type. This has a positive effect on the current drawn by the circuit, since less current is drawn for charge reversal processes in this case.
One refinement of the circuit arrangement that is particularly advantageous allows the following operating situations, with E1 and E2 being the outputs and D1 and D2 the inputs of the switching apparatus:
In this case, the circuit arrangement has precisely the functionality which is required for use of an input circuit as in the case of the data processing apparatus in
It is furthermore advantageous for an additional precharge apparatus to be provided, which can produce a predetermined identical potential at all the connections of the output which carry data, before each transmitted data item. This provides particularly good security against differential current profile analysis.
In one advantageous embodiment of the signal processing apparatus, the signal processing apparatus includes an XOR function.
The invention will be explained in more detail in the following text using an exemplary embodiment. In the figures:
s={circumflex over (f)}(a<n:1>, aq<n:1>) and
sq={circumflex over (f)}q(a<n:1>, aq<n:1>),
and in which case:
{circumflex over (f)}(a,aq)=f(a) if aq<j>=not(a<j>)∀j and
sq=not(s) if aq<j>=not(a<j>)∀j.
In this case, s=0 and sq=0 means that the respective switch is open and that there is no conductive connection between a foot point v of the signal processing apparatus 12 and the outputs x and xq of the signal processing apparatus 12. In contrast, s=1 and sq=1 means that the foot point v is conductively connected to the respective outputs x and xq.
The outputs x and xq of the signal processing apparatus 12 are connected to inputs D1 and D2 of a switching apparatus 13. Outputs E1 and E2 are connected to outputs F1 and F2 of the entire circuit arrangement, so that an output signal z and zq is produced there, which is a dual-rail signal. Thus, if the data is valid, zq is the complementary signal to z.
Furthermore, a control input G is provided, at which a control signal z is fed in and can be passed to the switching apparatus 13. The control signal 7 determines how the inputs D1 and D2 are connected to the outputs E1 and E2 of the switching apparatus 13.
In order to explain the method of operation, it is first of all assumed that the two outputs F1 and F2 are at the second potential VDD, by means of a potential monitoring apparatus 14. Closing appropriate switches in the signal processing apparatus 12 and in the switching apparatus 13 makes it possible to connect each of the outputs F1 and F2 to the foot point v of the signal processing apparatus which, in the illustration in
It is now assumed that a valid data signal a, aq is present. This means that either the connection between x and v or that between xq and v is closed, while the other connection is open. This is because the dual-rail signals a and aq are complementary if the data is valid, as described above. This also applies to the switch functions s and sq. It is now possible to use the control signal 7 to ensure that the inputs D1 and D2 and the outputs E1 and E2 of the switching apparatus 13 can be connected to one another as required. If it is first of all assumed that the foot point v of the signal processing apparatus 12 is connected by the switch s to xq, and furthermore that D1 is connected to E1, then F1 is drawn to the first potential V0, since the output F1 is conductively connected to V. The output signal z is accordingly “0”.
In accordance with the logic of the dual-rail system, this means that the other output must be at the complementary voltage level, namely at VDD. In a corresponding way, the potential monitoring apparatus 14 connects the output F2 to the second potential VDD in the example just described.
If D2 is also connected to E2, then the signal z, zq now depends only on the switch position of the signal processing apparatus 12. This therefore provides the function z=not (f(a)).
If the function z=f(a) is intended to be provided, then this can be done by connecting D1 to E2 and D2 to E1.
The third function to be provided is z=0. This is provided by connecting E1 to both D1 and D2, while the connection to E2 remains open. One of the outputs x or xq of the signal processing apparatus 12 is always connected to the foot point v. The connection of E1 to both D1 and D2 thus means that the output E1 of the switching apparatus 13 is always connected to the first potential 0 irrespective of the applied data a, aq and of the switch positions s, sq which result from such data, either via the switch s or the switch sq of the signal processing apparatus 12.
The function z=1 can be provided by the output E1 of the switching apparatus 13 remaining open. Without any additional drive, the potential at the output F1 remains at the second potential VDD. In order to produce a valid dual-rail signal, all that is needed is to draw the output F2 to the first potential 0 in order to output the signal zq. To do this, the output E2 is connected both to the input D1 and to the input D2 of the switching apparatus 13. As described, this therefore ensures that the output F2 is connected to the foot point v irrespective of the applied data a, aq.
In one simple embodiment of the potential monitoring apparatus, this apparatus comprises two pull-up resistors, by means of which the outputs F1 and F2 are connected to the second potential VDD. The disadvantage of a solution such as this is that, when one output is connected to the first potential V0, a parallel current flows through the resistor, and this leads to an undesirable current being drawn. This undesirable parallel current also occurs when a transistor connected as a resistor is used.
Thus, in a more advantageous embodiment, two transistors are provided, with in each case one transistor connecting one output to the second potential VDD via its drain-source path. The gate connection is in each case driven by the other output. If these are p-channel transistors, the transistor is thus switched on automatically, as soon as the potential at the output which is connected to the gate becomes 0. This prevents the occurrence of parallel currents.
However, this can lead to problems when the switching apparatus 13 is switched on at the same time and the signal processing apparatus 12 produces a connection to the foot point v, and this is directly connected to the first potential 0. In this case, there is a short circuit between VDD and the potential 0. There are two possible ways to avoid this. One option is to connect the foot point v to the potential 0 via an additional transistor 16, with this transistor 16 likewise being driven by the precharge signal pq. The foot point transistor 16 opens at the same time that the precharge transistors 15 close, so that the current path between VDD and the first potential V0 is interrupted, even when the switching apparatus 13 and the signal processing apparatus 12 are switched on. The other option is to match the control signal 7 and the precharge signal to one another so as to ensure that the switching transistors in the switching apparatus 13 are open when the precharge transistors 15 are closed.
Furthermore, of course, it is possible for the applied data a, aq to be supplied such that s=sq=0, when one of the switches in the switching apparatus 13 is closed and pq=0 at the same time. In order to assist understanding,
In addition,
The switching apparatus 13 in
Only the four values of s as mentioned above may thus be assumed, apart from the precharge state. However, this can be ensured by means of a circuit outside the described data path.
The signal processing apparatus 12 may provide any desired functions. The simplest case would be: f(a)=a and fq(a)=aq. Depending on whether the received data is or is not scrambled or whether other functions are intended to be provided, any desired circuit may be used in the signal processing apparatus 12. Two examples are illustrated in
The circuit shown in
f(a<3:1>)=a<1>·a<2>+ā<1>·a<3>
by means of the functions
{circumflex over (f)}a<1>·a<2>+aq<1>·a<3> and
{circumflex over (f)}q=a<1>·aq<2>+aq<1>·aq<3>
The circuit shown in
f(a<2:1>)=a<1>⊕a<2>
by means of the functions
{circumflex over (f)}=a<1>·aq<2>+aq<1>·a<2> and
{circumflex over (f)}q=a<1>·a<2>+aq<1>·aq<2>
Number | Date | Country | Kind |
---|---|---|---|
102 17 375 | Apr 2002 | DE | national |
This application is a continuation of International Patent Application Serial No. PCT/DE2003/001059, filed Apr. 1, 2003, which published in German on Oct. 23, 2003 as WO 2003/088488 A3 and is incorporated herein by reference in its entirety.
Number | Name | Date | Kind |
---|---|---|---|
4570084 | Griffin et al. | Feb 1986 | A |
5550487 | Lyon | Aug 1996 | A |
5815005 | Bosshart | Sep 1998 | A |
5859548 | Kong | Jan 1999 | A |
5966382 | Fawal et al. | Oct 1999 | A |
6069497 | Blomgren et al. | May 2000 | A |
6331791 | Huang | Dec 2001 | B1 |
6374393 | Hirairi | Apr 2002 | B1 |
6459316 | Vangal et al. | Oct 2002 | B1 |
6466057 | Naffziger | Oct 2002 | B1 |
6570409 | Ananthanarayanan et al. | May 2003 | B2 |
6686776 | Sakata et al. | Feb 2004 | B2 |
6828909 | Script et al. | Dec 2004 | B2 |
Number | Date | Country |
---|---|---|
0 334 050 | Feb 1989 | EP |
0 440 514 | Aug 1991 | EP |
1 126 611 | Aug 2001 | EP |
1 168 625 | Jan 2002 | EP |
60-114029 | Jun 1985 | JP |
61-264820 | Nov 1986 | JP |
61-264820 | Nov 1986 | JP |
05-175827 | Jul 1993 | JP |
60-061842 | Mar 1994 | JP |
10117140 | May 1998 | JP |
1008909 | Mar 1983 | SU |
WO 0163767 | Aug 2001 | WO |
Number | Date | Country | |
---|---|---|---|
20050063478 A1 | Mar 2005 | US |
Number | Date | Country | |
---|---|---|---|
Parent | PCT/DE2003/001059 | Apr 2003 | US |
Child | 10965663 | US |