-
Diese Anmeldung ist eine Teilfortsetzung der am 17. Juli 2015 eingereichten
US-Anmeldung Nr. 14/801 868 , deren Inhalt hier durch Verweis in seiner Gesamtheit für alle Zwecke aufgenommen wird.
-
Die vorliegende Offenbarung betrifft ein Verfahren zur Herstellung einer digitalen Schaltung und eine digitale Schaltung.
-
Das Reverse Engineering (RE) integrierter Schaltungen (IC) kann als eine der ernstesten Bedrohungen für die Halbleiterindustrie angesehen werden, weil es von einem Angreifer missbraucht werden kann, um einen Schaltungsentwurf zu stehlen und/oder zu piratisieren. Ein Angreifer, der ein erfolgreiches Reverse Engineering einer integrierten Schaltung vornimmt, kann eine ähnliche, d.h. geklonte Schaltung herstellen und verkaufen und den Entwurf illegal verkaufen und offenbaren.
-
Daher sind Konzepte und Techniken wünschenswert, welche das Reverse Engineering integrierter Schaltungen durchkreuzen.
US 2013 / 0 320 491 A1 beschreibt ein Verfahren zum Herstellen einer Halbleitervorrichtung mit einer Schaltung, welche einen ersten Weg mit zwei Transistoren und einen zweiten Weg mit zwei anderen Transistoren aufweist, wobei aufgrund unterschiedlicher Doping-Level der zwei Transistoren und der zwei anderen Transistoren ein erster Knoten VB in dem ersten Weg ein anderes Spannungslevel als ein zweiter Knoten VA in dem zweiten Weg hat.
-
Es ist ein Verfahren zur Herstellung einer digitalen Schaltung vorgesehen, welches Folgendes aufweist: Bilden mehrerer Feldeffekttransistorpaare, Verbinden der Feldeffekttransistoren der Feldeffekttransistorpaare, so dass ansprechend auf einen ersten Übergang von einem ersten Zustand zweier Knoten der digitalen Schaltung und ansprechend auf einen zweiten Übergang von einem zweiten Zustand der Knoten der digitalen Schaltung die Knoten jeweils einen undefinierten Logikzustand aufweisen, wenn für jedes Feldeffekttransistorpaar die Schwellenspannungen der Feldeffekttransistoren des Feldeffekttransistorpaars gleich sind, und Festlegen der Schwellenspannungen der Feldeffekttransistoren der Feldeffekttransistorpaare, so dass die Knoten jeweils ansprechend auf den ersten Übergang und ansprechend auf den zweiten Übergang einen vorgegebenen definierten Logikzustand aufweisen; Bilden eines oder mehrerer Paare konkurrierender Wege, so dass für jedes Feldeffekttransistorpaar die beiden Feldeffekttransistoren auf verschiedenen konkurrierenden Wegen eines Paars konkurrierender Wege liegen, und Verbinden des einen oder der mehreren Paare konkurrierender Wege und der Knoten, so dass für jedes Paar konkurrierender Wege die konkurrierenden Wege mit verschiedenen der beiden Knoten verbunden werden und der elektrische Zustand des mit einem der konkurrierenden Wege verbundenen Knotens zum anderen der konkurrierenden Wege rückgekoppelt wird, um ihn an einer Konkurrenz der konkurrierenden Wege zu hindern.
-
In der Zeichnung beziehen sich gleiche Bezugszeichen im Allgemeinen in den verschiedenen Ansichten auf die gleichen Teile. Die Zeichnung ist nicht notwendigerweise maßstabsgerecht, wobei der Nachdruck vielmehr auf die Erläuterung der Grundgedanken der Erfindung gelegt wird. In der folgenden Beschreibung werden verschiedene Aspekte mit Bezug auf die folgende Zeichnung beschrieben. Es zeigen:
- 1 ein Flussdiagramm eines Verfahrens zur Herstellung einer digitalen Schaltung,
- 2 eine digitale Schaltung,
- 3 eine Schaltung, die eine „Tamkappen“-Zelle für wegabhängige Boolesche Geheimnisse, in diesem Beispiel eine UND-NOR-basierte Tarnkappenzelle, implementiert,
- 4 ein Gatterschema für die Schaltung aus 3,
- 5 einen Feldeffekttransistor (FET),
- 6 das Gatterschema einer Schaltung, die eine UND-NOR-basierte Tarnkappenzelle für wegabhängige Boolesche Geheimnisse implementiert,
- 7 einen Puffer gemäß einer Ausführungsform,
- 8 das Gatterschema einer Schaltung, die eine UND-NOR-basierte Tarnkappenzelle (Mgic Hood Cell) für wegabhängige Boolesche Geheimnisse implementiert,
- 9 eine Schaltung, die eine Tarnkappenzelle für wegabhängige Boolesche Geheimnisse implementiert, die ODER-NAND-basiert ist,
- 10 eine Schaltung, die ein UND-NOR-basiertes RSX-Flipflop implementiert,
- 11 eine Schaltung, die eine UND-ODER-NAND-basierte Tarnkappenzelle implementiert,
- 12 eine Schaltung, die eine UND-NOR-basierte Tarnkappenzelle mit Mehrfachrückkopplung implementiert,
- 13 eine Schaltung, die eine Tarnkappenzelle auf der Grundlage von selbst-dualen ND2-NR2-Gattern implementiert,
- 14 ein selbst-duales NAND3-NOR3-Gatter UND3-NR3 1400,
- 15 eine Schaltung, die eine Tarnkappenzelle auf der Grundlage selbst-dualer NAND3-NOR3-Gatter mit mehreren Rückkopplungswegen implementiert, und
- 16 ein weiteres Beispiel für ein Gatter, das eine selbst-duale Boolesche Funktion repräsentiert.
-
Die folgende detaillierte Beschreibung betrifft die anliegende Zeichnung, worin zur Veranschaulichung spezifische Einzelheiten und Aspekte dieser Offenbarung dargestellt sind, worin die Erfindung verwirklicht werden kann. Es können auch andere Aspekte verwendet werden, und es können strukturelle, logische und elektrische Änderungen vorgenommen werden, ohne vom Schutzumfang der Erfindung abzuweichen. Die verschiedenen Aspekte dieser Offenbarung schließen einander nicht notwendig aus, weil einige Aspekte dieser Offenbarung mit einem oder mehreren anderen Aspekten dieser Offenbarung kombiniert werden können, um neue Aspekte zu bilden.
-
Das Reverse Engineering (RE) kann durch Einsetzen von Tarnschaltungen verhindert werden. Diese erfordern jedoch typischerweise Prozesstechnologieerweiterungen in der Art von Dotierungsprofilmodifikationen, vorgetäuschten Kontakten oder Durchkontaktierungen und/oder sie bringen einen erheblich vergrößerten Flächen- und Energieverbrauch mit sich. Daher sind diese Maßnahmen für Massenprodukte häufig zu teuer.
-
Ununterscheidbare, jedoch komplementäre Bitzellen („Indistinguishable yet Complementary Bit Cells“ - ICBC-X) (welche in zwei Gattungen oder Typen existieren, nämlich ICBC-1 und ICBC-0), welche Gatter repräsentieren, die auf eine geeignete Aufforderung reagieren, indem sie eine robuste logische Eins bzw. eine robuste logische Null ausgeben, können nicht leicht durch Reverse Engineering (RE) und andere Analyseverfahren, d.h. Angriffe auf Chipkarten-Steuereinrichtungen und Sicherheits-IC, unterschieden werden.
-
Der physikalische Entwurf von ICBC-X ist in Bezug auf das Layout (ausreichend) symmetrisch, d.h. in Bezug auf die aktiven Gebiete, Polysilicium-Gates, Kontakte, die Metallverbindbarkeit usw. Die nMOS- und pMOS-Komponenten von ICBC-X (d.h. nMOS- und pMOS-Feldeffekttransistoren) weisen jedoch geeignet verschiedene Schwellenspannungen (Vth) auf, die zu den robusten Übertragungscharakteristiken der ICBC-X führen, wenn sie mit einem Eingangsmuster aufgefordert werden, das andernfalls bewirken würde, dass die Schaltung in einen metastabilen Zustand eintritt.
-
Weil Prozessoptionen „gewöhnliche Vth“ und „hohe Vth“ verwendet werden können, um eine ICBC-X zu verwirklichen, ist keine Prozessänderung erforderlich, vorausgesetzt, dass ein Gemischte-Vth-Szenario für den betrachteten Sicherheits-IC angenommen werden kann. Ferner sind ICBC-1 und ICBC-0 statische CMOS-Gatter, die als Elemente von Standardzellbibliotheken („Standard Cell Libraries“) implementiert werden können.
-
Anwendungsbeispiele umfassen „dynamische“ TIE-1- und TIE-0-Zellen, so das TIE-Zellen zwischen logisch gültigen und ungültigen Zuständen geschaltet werden können, welche beispielsweise Bits eines geheimen Schlüssels oder andere Bestandteile vertraulicher Informationen repräsentieren.
-
Überdies können ICBC-X-Instanzen mit Standard-Logikgattern kombiniert werden, um RE-resistente Datenwege zu erreichen, und können ICBC-X verkettet werden, um dynamische TIE-Baumstrukturen zu verwirklichen. Eine Sitzungsschlüsselerzeugung sowie eine adressabhängige Speicherverschlüsselungskonfiguration sind auch möglich.
-
Zusätzlich dazu kann die ausgewählte Konfiguration nach der Einführung, d.h. nach der anfänglichen (beispielsweise zufälligen) Konfiguration der ICBC-X, für eine nachfolgende Verwendung auf dem Gebiet in einem NVM (nicht flüchtigen Speicher), beispielsweise eines die ICBC-X aufweisenden Chips (beispielsweise eines Chipkartenmoduls) gespeichert werden. Dies kann sogar robuste und RE-resistente chipindividuelle Informationsbestandteile ermöglichen.
-
Weil eine Vielzahl von ICBC-X-Instanzen unregelmäßig über einen gesamten semi-customisierten Abschnitt eines IC verteilt werden kann und weil auf diese Instanzen unregelmäßig und sogar zufällig in einer zeitlichen Ordnung zugegriffen werden kann, erhöht das ICBC-X-Konzept erheblich die Schwierigkeit, das Risiko und den Aufwand für alle relevanten Sicherheits-IC-Angriffsszenarios, wie Reverse Engineering, Photonenemission, Laserspannungsprüfung usw.
-
Es ist ersichtlich, dass das grundlegende ICBC-X-Konzept darauf beruht, herkömmliche metastabile Zustände oder metastabile Zustandsübergänge einer (bistabilen) Rückkopplungsschaltungsanordnung durch Einrichten von (MOS-) Transistoren (im Allgemeinen Schalter) mit unterschiedlichen Schwellenspannungen (im Allgemeinen Zustandsübergangscharakteristiken) aufzulösen, um robuste ICBC-X-Zustandsübergänge zu erreichen, woraufhin die Natur einer gegebenen ICBC-X-Instanz (X = 1 oder 0?) für einen Angreifer verborgen bleibt, der relevante Sicherheits-IC-Angriffsszenarios, wie Reverse Engineering, Photonenemission, Laserspannungsprüfung usw., verwendet.
-
ICBC-X-Schaltungen, wie sie vorstehend beschrieben wurden, weisen eine bistabile Rückkopplungsschaltungsanordnung mit
- ▪ einem Vorladezustand (ICBC-X gibt (Z, Y) entweder bei (1, 1) oder bei (0, 0) aus) und
- ▪ einem „verbotenen Übergang“ der ICBC-X-Ausgaben:
- entweder (Z, Y) = (1, 1) -> (X, nicht(X)) oder (Z, Y) = (0, 0) -> (X, nicht(X), abhängig vom jeweiligen ICBC-X-Schaltungsentwurf, auf.
-
Im Gegensatz dazu ist gemäß verschiedenen Ausführungsformen eine ICBC-X-Schaltungsanordnung bereitgestellt, welche sowohl eine bistabile als auch eine multistabile Rückkopplungsschaltungsanordnung mit
- ▪ (wenigstens) zwei verschiedenen Vorladezuständen (gibt (Z, Y) bei (1, 1) und bei (0, 0) aus, abhängig von den jeweiligen Steuereingangssignalzuständen) und
- ▪ (wenigstens) zwei verschiedenen „verbotenen Übergängen“ der ICBC-X-Ausgaben:
- (Z, Y) = (1, 1) -> (X1, nicht(X1)) oder (Z, Y) = (0, 0) -> (X0, nicht(X0), abhängig von den jeweiligen Steuereingangssignalübergängen, aufweist,
wobei die Booleschen Geheimnisse X1 und X0 gleich (X1 = X0) oder komplementär (X1 = nicht(X0)) sein können, abhängig von den jeweiligen Schwellenspannungskonfigurationen der ICBC-X-Feldeffekttransistoren (FET), beispielsweise nMOS-(n-Kanal-Metall-Oxid-Halbleiter)- und pMOS-(p-Kanal-MOS)-FET.
-
Weil X1 und X0 unabhängig gewählt werden können, führt dies zu vier verschiedenen ICBC-X-Inkamationen, welche das gleiche physikalische Layout aufweisen, sich jedoch in ihren (beispielsweise CMOS-) Schwellenspannungskonfigurationen unterscheiden und demgemäß als vier „Tarnkappen“ für Boolesche Geheimnisse repräsentierend angesehen werden können. Überdies entspricht die Unabhängigkeit von X1 und X0 einer Wegabhängigkeit der Booleschen Geheimnisse, d.h. das Geheimnis (X1 oder X0) hängt nicht nur vom Eingangssteuersignalzustand ab, sondern auch von der Art (d.h. vom Übergang), wie zu diesem Zustand gelangt wurde.
-
Gemäß einer Ausführungsform wird ein Verfahren zur Herstellung einer Schaltung beschrieben, welche es wirksam ermöglicht, den erforderlichen Aufwand für ein erfolgreiches Reverse Engineering einer Schaltung, beispielsweise auf einem Chip, zu erhöhen, beispielsweise durch Bereitstellen von ICBC-X-Schaltungen, die mehrere Vorladezustände und mehrere „verbotene“ Übergänge aufweisen.
-
1 zeigt ein Flussdiagramm 100.
-
Das Flussdiagramm 100 zeigt ein Verfahren zur Herstellung einer digitalen Schaltung.
-
Bei 101 werden mehrere Feldeffekttransistorpaare gebildet.
-
Bei 102 werden die Feldeffekttransistoren der Feldeffekttransistorpaare verbunden, so dass ansprechend auf einen ersten Übergang von einem ersten Zustand von zwei Knoten der digitalen Schaltung und ansprechend auf einen zweiten Übergang von einem zweiten Zustand der Knoten der digitalen Schaltung die Knoten jeweils einen undefinierten Logikzustand aufweisen, wenn für jedes Feldeffekttransistorpaar die Schwellenspannungen der Feldeffekttransistoren von dem Feldeffekttransistorpaar gleich sind.
-
Bei 103 werden die Schwellenspannungen der Feldeffekttransistoren der Feldeffekttransistorpaare so festgelegt, dass die Knoten jeweils ansprechend auf den ersten Übergang und ansprechend auf den zweiten Übergang einen vorgegebenen definierten Logikzustand aufweisen.
-
Mit anderen Worten werden gemäß einer Ausführungsform metastabile Zustände einer Schaltung, die durch verbotene Übergänge hervorgerufen werden, zu vordefinierten stabilen Zuständen verschoben, indem die Schwellenspannungen der Transistoren (und demgemäß die Beziehung zwischen den Schwellenspannungen der Transistoren) der Schaltung entsprechend festgelegt werden. Die Schwellenspannung eines Feldeffekttransistors kann beispielsweise durch eine bestimmte Dotierung eines Gebiets (beispielsweise eines Kanalgebiets) des Feldeffekttransistors festgelegt werden. Beispielsweise können für jedes Feldeffekttransistorpaar die beiden Feldeffekttransistoren des Paars unterschiedlich dotiert werden.
-
Die Feldeffekttransistoren des Feldeffekttransistorpaars können geometrisch identisch ausgelegt sein (d.h. gleiche Transistorabmessungen aufweisen, wie Kanalbreite, Kanallänge, Form und Abmessung des Source-Gebiets und Form und Abmessung des Drain-Gebiets). Mit anderen Worten können Feldeffekttransistoren auf der Grundlage ihrer identischen geometrischen Entwürfe gepaart werden. Auf diese Weise offenbart eine optische Inspektion keinen Unterschied zwischen den Feldeffekttransistoren.
-
Die Feldeffekttransistoren werden so hergestellt, dass sie unterschiedliche Schwellenspannungen aufweisen, damit die Knoten ansprechend auf den ersten Übergang und ansprechend auf den zweiten Übergang jeweils einen vorgegebenen definierten Logikzustand aufweisen. Beispielsweise werden die Feldeffekttransistoren so hergestellt, dass der erwartete Wert der Differenz zwischen ihren Schwellenspannungen ein Vielfaches der Standardabweichung der Differenz ihrer Schwellenspannungen ist.
-
Es sei ferner bemerkt, dass bei der Herstellung einer digitalen Schaltung die Schwellenspannungen typischerweise festgelegt werden, bevor die Feldeffekttransistoren miteinander verbunden werden. Mit anderen Worten kann Schritt 103 des in 1 dargestellten Verfahrens vor Schritt 102 ausgeführt werden, beispielsweise als Teil von Schritt 101.
-
Es sei ferner bemerkt, dass die Schwellenspannung eines Feldeffekttransistors so festgelegt werden kann, dass der Feldeffekttransistor immer eingeschaltet oder immer abgeschaltet ist, beispielsweise höher oder gleich einem hohen Versorgungspotential der digitalen Schaltung (VDD) oder niedriger oder gleich einem niedrigen Versorgungspotential der digitalen Schaltung (VSS).
-
Die Übergänge sind beispielsweise Übergänge von verschiedenen Vorladezuständen der Knoten der Schaltung. Jeder Übergang kann als ein verbotener Übergang angesehen werden, was einen Übergang bedeutet, der zu einem undefinierten Logikzustand führen würde, wenn für jedes Paar die Schwellenspannungen der Feldeffekttransistoren des Paars (mit anderen Worten die Schwellenspannungen innerhalb jedes Paars) gleich wären. Die Schaltung kann eine bistabile oder multistabile Schaltung sein, wobei die Schwellenspannungen so ausgewählt (und festgelegt) werden, dass sie ansprechend auf den ersten Übergang in einen ersten Zustand ihrer (beispielsweise mehreren) stabilen Zustände eintritt und ansprechend auf den zweiten Übergang in einen zweiten Zustand ihrer stabilen Zustände eintritt, wobei der erste Zustand und der zweite Zustand gleiche oder verschiedene Zustände sein können.
-
Eine oder mehrere durch das in 1 beschriebene Verfahren hergestellte digitale Schaltungen, beispielsweise ein Chipkartenmodul, können in den Chip aufgenommen werden, um ein Reverse Engineering des Chips zu verhindern. Gemäß einer Ausführungsform können die eine oder die mehreren digitalen Schaltungen dann betätigt werden, indem Eingaben zugeführt werden, welche den ersten Übergang oder den zweiten Übergang oder beide bewirken, d.h. so betätigt werden, dass die Knoten der digitalen Schaltung jeweils einen undefinierten Logikzustand aufweisen, wenn für jedes Feldeffekttransistorpaar die Schwellenspannungen der Feldeffekttransistoren von dem Feldeffekttransistorpaar gleich sind. Weil die Schwellenspannungen so festgelegt werden, dass die Knoten stattdessen ansprechend auf die Eingabe einen vorgegebenen definierten Logikzustand aufweisen, kann eine Ausgabe der digitalen Schaltung auf der Grundlage des Logikzustands der Knoten durch eine andere Komponente weiter verarbeitet werden. Diese Ausgabe kann als ein Geheimnis angesehen werden, weil sie auf dem Logikzustand der Knoten beruht, welcher von der Beziehung der Schwellenspannungen der Feldeffekttransistoren abhängt, welche nicht einfach durch Reverse Engineering bestimmt werden kann.
-
Ein Beispiel einer gemäß dem in 1 dargestellten Verfahren hergestellten Schaltung ist in 2 dargestellt.
-
2 zeigt eine digitale Schaltung 200.
-
Die digitale Schaltung 200 weist (zwei oder mehr) Feldeffekttransistorpaare 201, 202 auf, welche Feldeffekttransistoren aufweisen, die so verbunden sind, dass ansprechend auf einen ersten Übergang von einem ersten Zustand der beiden Knoten der digitalen Schaltung und ansprechend auf einen zweiten Übergang von einem zweiten Zustand der Knoten der digitalen Schaltung die Knoten jeweils einen undefinierten Logikzustand aufweisen, wenn für jedes Feldeffekttransistorpaar die Schwellenspannungen der Feldeffekttransistoren des Feldeffekttransistorpaars gleich sind, wobei sich für jedes Feldeffekttransistorpaar die Schwellenspannungen der Feldeffekttransistoren des Feldeffekttransistorpaars um wenigstens 10 mV voneinander unterscheiden, so dass die Knoten jeweils ansprechend auf den ersten Übergang und ansprechend auf den zweiten Übergang einen vorgegebenen definierten Logikzustand aufweisen.
-
Nachfolgend werden verschiedene Ausführungsformen angegeben.
-
Ausführungsform 1 ist ein Verfahren zur Herstellung einer digitalen Schaltung, wie in 1 dargestellt ist.
-
Ausführungsform 2 weist das Verfahren nach Ausführungsform 1 auf, wobei Ausgaben für Signale gebildet werden, welche die Logikzustände der Knoten repräsentieren.
-
Ausführungsform 3 weist das Verfahren nach Ausführungsform 2 auf, wobei eine weitere Schaltungskomponente und eine Verbindung zum Zuführen des Signals zur weiteren Schaltungskomponente gebildet werden.
-
Ausführungsform 4 weist das Verfahren nach Ausführungsform 3 auf, wobei die weitere Schaltungskomponente ein Logikgatter ist.
-
Ausführungsform 5 weist das Verfahren nach Ausführungsform 3 oder 4 auf, wobei die weitere Schaltungskomponente ein Flipflop ist.
-
Ausführungsform 6 weist das Verfahren nach einer der Ausführungsformen 1 bis 5 auf, wobei für jedes Feldeffekttransistorpaar die beiden Feldeffekttransistoren des Feldeffekttransistorpaars beide n-Kanal-Feldeffekttransistoren sind oder die beiden Feldeffekttransistoren des Feldeffekttransistorpaars beide p-Kanal-Feldeffekttransistoren sind.
-
Ausführungsform 7 weist das Verfahren nach einer der Ausführungsformen 1 bis 6 auf, wobei die Feldeffekttransistoren der Feldeffekttransistorpaare MOSFET sind.
-
Ausführungsform 8 weist das Verfahren nach einer der Ausführungsformen 1 bis 7 auf, wobei ein oder mehrere Paare konkurrierender Wege gebildet werden, so dass für jedes Feldeffekttransistorpaar die beiden Feldeffekttransistoren auf verschiedenen konkurrierenden Wegen eines Paars konkurrierender Wege liegen.
-
Ausführungsform 9 weist das Verfahren nach Ausführungsform 8 auf, wobei das eine oder die mehreren Paare konkurrierender Wege verbunden werden, so dass die Logikzustände der Knoten vom Ergebnis der Konkurrenz zwischen den konkurrierenden Wegen des einen oder der mehreren Paare konkurrierender Wege abhängen.
-
Ausführungsform 10 weist das Verfahren nach Ausführungsform 8 oder 9 auf, wobei das eine oder die mehreren Paare konkurrierender Wege und die Knoten verbunden werden, so dass für jedes Paar konkurrierender Wege die konkurrierenden Wege mit verschiedenen der beiden Knoten verbunden werden und der elektrische Zustand des mit einem der konkurrierenden Wege verbundenen Knotens zum anderen der konkurrierenden Wege rückgekoppelt wird, um ihn an einer Konkurrenz der konkurrierenden Wege zu hindern.
-
Ausführungsform 11 weist das Verfahren nach einer der Ausführungsformen 8 bis 10 auf, wobei eine erste Unterschaltung der digitalen Schaltung, welche eine erste Boolesche Funktion implementiert, und eine zweite Unterschaltung der digitalen Schaltung, welche eine zweite Boolesche Funktion implementiert, für jedes Paar konkurrierender Wege gebildet werden, wobei ein konkurrierender Weg in der ersten Unterschaltung liegt und ein konkurrierender Weg in der zweiten Unterschaltung liegt.
-
Ausführungsform 12 weist das Verfahren nach Ausführungsform 11 auf, wobei ein Ausgang der ersten Unterschaltung mit einem Eingang der zweiten Unterschaltung verbunden wird und ein Ausgang der zweiten Unterschaltung mit einem Eingang der ersten Unterschaltung verbunden wird.
-
Ausführungsform 13 weist das Verfahren nach Ausführungsform 11 oder 12 auf, wobei die erste Boolesche Funktion und die zweite Boolesche Funktion selbst-duale Boolesche Funktionen sind.
-
Ausführungsform 14 weist das Verfahren nach einer der Ausführungsformen 11 bis 13 auf, wobei die erste Boolesche Funktion und die zweite Boolesche Funktion die gleiche Boolesche Funktion sind.
-
Ausführungsform 15 weist das Verfahren nach einer der Ausführungsformen 1 bis 14 auf, wobei die mehreren Feldeffekttransistorpaare ein oder mehrere Pull-up-Feldeffekttransistorpaare umfassen, die jeweils einen Feldeffekttransistor in einem ersten Pull-up-Weg und einen Feldeffekttransistor in einem zweiten Pull-up-Weg aufweisen, und wobei der erste Pull-up-Weg mit einem der beiden Knoten verbunden wird und der zweite Pull-up-Weg mit dem anderen der beiden Knoten verbunden wird.
-
Ausführungsform 16 weist das Verfahren nach einer der Ausführungsformen 11 bis 15 auf, wobei für jedes Pull-up-Feldeffekttransistorpaar die Schwellenspannung des Feldeffekttransistors im ersten Pull-up-Weg auf einen niedrigeren Wert gelegt wird als die Schwellenspannung des Feldeffekttransistors im zweiten Pull-up-Weg.
-
Ausführungsform 17 weist das Verfahren nach einer der Ausführungsformen 1 bis 16 auf, wobei die mehreren Feldeffekttransistorpaare ein oder mehrere Pull-down-Feldeffekttransistorpaare umfassen, die jeweils einen Feldeffekttransistor in einem ersten Pull-down-Weg und einen Feldeffekttransistor in einem zweiten Pull-down-Weg aufweisen, und wobei der erste Pull-down-Weg mit einem der beiden Knoten verbunden wird und der zweite Pull-down-Weg mit dem anderen der beiden Knoten verbunden wird.
-
Ausführungsform 18 weist das Verfahren nach Ausführungsform 17 auf, wobei für jedes Pull-down-Feldeffekttransistorpaar die Schwellenspannung des Feldeffekttransistors im ersten Pull-down-Weg auf einen niedrigeren Wert gelegt wird als die Schwellenspannung des Feldeffekttransistors im zweiten Pull-down-Weg.
-
Ausführungsform 19 weist das Verfahren nach einer der Ausführungsformen 1 bis 18 auf, wobei die Feldeffekttransistoren der Feldeffekttransistorpaare mit Pull-up-Wegen und Pull-down-Wegen verbunden werden, die mit den beiden Knoten verbunden sind, und die Schwellenspannungen der Feldeffekttransistoren der Pull-up-Wege unabhängig von den Schwellenspannungen der Feldeffekttransistoren der Pull-down-Wege festgelegt werden.
-
Ausführungsform 20 weist das Verfahren nach einer der Ausführungsformen 1 bis 19 auf, wobei die mehreren Feldeffekttransistoren in CMOS-Technologie gebildet werden.
-
Ausführungsform 21 weist das Verfahren nach einer der Ausführungsformen 1 bis 20 auf, wobei für jeden der Knoten der vorgegebene definierte Logikzustand eine logische 0 oder eine logische 1 ist.
-
Ausführungsform 22 weist das Verfahren nach einer der Ausführungsformen 1 bis 21 auf, wobei für jedes Feldeffekttransistorpaar die Feldeffekttransistoren des Feldeffekttransistorpaars so gebildet werden, dass sie im Wesentlichen die gleichen Abmessungen aufweisen.
-
Ausführungsform 23 weist das Verfahren nach einer der Ausführungsformen 1 bis 22 auf, wobei die digitale Schaltung gebildet wird, so dass der erste Übergang und der zweite Übergang ansprechend auf eine vorgegebene Eingabe auftreten, wobei ein oder mehrere Eingangssignale Feldeffekttransistoren des Feldeffekttransistorpaars zugeführt werden.
-
Ausführungsform 24 weist das Verfahren nach einer der Ausführungsformen 1 bis 23 auf, wobei der erste Übergang die Knoten hochzieht und wobei die Knoten so verbunden werden, dass, wenn einer der Knoten hochgezogen wurde, er verhindert, dass der andere Knoten hochgezogen wird.
-
Ausführungsform 25 weist das Verfahren nach einer der Ausführungsformen 1 bis 24 auf, wobei der zweite Übergang die Knoten herunterzieht und wobei die Knoten so verbunden werden, dass, wenn einer der Knoten heruntergezogen wurde, er verhindert, dass der andere Knoten heruntergezogen wird.
-
Ausführungsform 26 ist eine digitale Schaltung, wie in 2 dargestellt ist.
-
Ausführungsform 27 weist die digitale Schaltung nach Ausführungsform 26 auf, wobei sich für jedes Feldeffekttransistorpaar die Schwellenspannungen der Feldeffekttransistoren des Feldeffekttransistorpaars um wenigstens 20 mV, wenigstens 30 mV oder wenigstens 50 mV unterscheiden.
-
Es sei bemerkt, dass in Zusammenhang mit dem mit Bezug auf 1 beschriebenen Verfahren beschriebene Ausführungsformen analog für die digitale Schaltung 200 gelten und umgekehrt.
-
Nachfolgend werden Ausführungsformen in weiteren Einzelheiten beschrieben.
-
3 zeigt eine Schaltung 300, welche eine „Tamkappen“-Zelle für wegabhängige Boolesche Geheimnisse implementiert, in diesem Beispiel eine UND-NOR-basierte Tarnkappenzelle.
-
4 zeigt ein Gatterschema für die Schaltung 300.
-
Die Schaltung 300 hat zwei Steuereingänge RN und S und zwei Ausgänge Z und Y. Die Schaltung weist ein erstes UND-NOR 301, 401, ein zweites UND-NOR 302, 402, einen ersten Inverter 303, 403 und einen zweiten Inverter 304, 404 auf.
-
Das erste UND-NOR 301 weist einen ersten p-Kanal-FET 305 auf, dessen Source mit dem hohen Versorgungspotential (VDD) verbunden ist und dessen Gate das Signal S zugeführt wird. Das erste UND-NOR 301 weist ferner einen zweiten p-Kanal-FET 306 auf, dessen Source mit dem hohen Versorgungspotential (VDD) verbunden ist. Die Drains des ersten p-Kanal-FET 305 und des zweiten p-Kanal-FET 306 sind mit der Source eines dritten p-Kanal-FET 307 verbunden, dessen Gate das Signal RN zugeführt wird und dessen Drain mit einem ersten Ausgangsknoten (oder Rückkopplungsknoten) 308 verbunden ist, dessen Zustand als SY bezeichnet wird.
-
Das erste UND-NOR 301 weist ferner einen ersten n-Kanal-FET 309 auf, dessen Source mit dem niedrigen Versorgungspotential (VSS) verbunden ist, dessen Gate das Signal RN zugeführt wird und dessen Drain mit dem ersten Ausgangsknoten 308 verbunden ist. Das erste UND-NOR 301 weist ferner einen zweiten n-Kanal-FET 310 auf, dessen Source mit dem niedrigen Versorgungspotential (VSS) verbunden ist und dessen Drain mit der Source eines dritten n-Kanal-FET 311 verbunden ist, dessen Gate das Signal S zugeführt wird und dessen Drain mit dem ersten Ausgangsknoten 308 verbunden ist.
-
Das zweite UND-NOR 302 weist einen vierten p-Kanal-FET 312 auf, dessen Source mit dem hohen Versorgungspotential (VDD) verbunden ist und dessen Gate das Signal S zugeführt wird. Das zweite UND-NOR 302 weist ferner einen fünften p-Kanal-FET 313 auf, dessen Source mit dem hohen Versorgungspotential (VDD) verbunden ist. Die Drains des vierten p-Kanal-FET 312 und des fünften p-Kanal-FET 313 sind mit der Source eines sechsten p-Kanal-FET 314 verbunden, dessen Gate das Signal RN zugeführt wird und dessen Drain mit einem zweiten Ausgangsknoten (oder Rückkopplungsknoten) 315 verbunden ist, dessen Zustand als SZ bezeichnet wird.
-
Das zweite UND-NOR 302 weist ferner einen vierten n-Kanal-FET 316 auf, dessen Source mit dem niedrigen Versorgungspotential (VSS) verbunden ist, dessen Gate das Signal RN zugeführt wird und dessen Drain mit dem zweiten Ausgangsknoten 315 verbunden ist. Das zweite UND-NOR 302 weist ferner einen fünften n-Kanal-FET 317 auf, dessen Source mit dem niedrigen Versorgungspotential (VSS) verbunden ist und dessen Drain mit der Source eines sechsten n-Kanal-FET 318 verbunden ist, dessen Gate das Signal S zugeführt wird und dessen Drain mit dem zweiten Ausgangsknoten 315 verbunden ist.
-
Der erste Ausgangsknoten 308 ist ferner mit dem Eingang des ersten Inverters 303 verbunden, dessen Ausgabe die Ausgabe Y ist. Ferner ist der erste Ausgangsknoten 308 mit den Gates des fünften p-Kanal-FET 313 und des fünften n-Kanal-FET 317 verbunden.
-
Der zweite Ausgangsknoten 315 ist ferner mit dem Eingang des zweiten Inverters 304 verbunden, dessen Ausgabe die Ausgabe Z ist. Ferner ist der zweite Ausgangsknoten 315 mit den Gates des zweiten p-Kanal-FET 306 und des zweiten n-Kanal-FET 310 verbunden.
-
Die Inverter 303, 304 sind beispielsweise durch einen p-Kanal-FET und einen n-Kanal-FET verwirklicht, die in Reihe zwischen das hohe Versorgungspotential und das niedrige Potential geschaltet sind, welche die Eingabe der Inverter 303, 304 an ihren Gates empfangen und wobei der Knoten zwischen ihnen der Ausgangsknoten der jeweiligen Inverter 303, 304 ist.
-
Nachfolgend wird angenommen, dass p-Kanal-FET durch pMOS-Transistoren (auch als pMOS-Vorrichtungen bezeichnet) implementiert werden und n-Kanal-FET durch nMOS-Transistoren (auch als nMOS-Vorrichtungen bezeichnet) implementiert werden. Die Schaltung 300 sowie die nachfolgend beschriebenen Schaltungen werden beispielsweise in CMOS-(Komplementäre Metall-Oxid-Halbleiter - „Complementary Metal Oxide Semiconductor“)-Technologie implementiert.
-
Für RN = 1 befindet sich die Schaltung 300 in ihrem ersten Vorladezustand:
-
Für (RN, S) = (0, 0) befindet sich die Schaltung 300 in ihrem zweiten Vorladezustand:
-
Der erste verbotene Übergang ist durch
wobei die beiden konkurrierenden Pull-up-Wege, einschließlich der seriellen Verbindungen des fünften p-Kanal-FET 313, mit TPZ0 bezeichnet (mit einer Schwellenspannung Vth(PZ0)), und des sechsten p-Kanal-FET 314, mit TPZ1 bezeichnet (mit einer Schwellenspannung Vth(PZ1)), für SZ, sowie des zweiten p-Kanal-FET 306, mit TPY0 bezeichnet (mit einer Schwellenspannung Vth(PY0)), und des dritten p-Kanal-FET 307, mit TPY1 bezeichnet (mit einer Schwellenspannung Vth(PY1)), für SY, aktiviert sind.
-
Demgemäß entsprechen die beiden verschiedenen Schwellenspannungskonfigurationen
und
den beiden verschiedenen Werten X1 = 0 und X1 = 1 für den ersten verbotenen Übergang
-
Der zweite verbotene Übergang ist durch
wobei die beiden konkurrierenden Pull-down-Wege, einschließlich der seriellen Verbindungen des fünften n-Kanal-FET 317, mit TNZ0 bezeichnet, und des sechsten n-Kanal-FET 318, mit TNZ1 bezeichnet, für SZ, sowie des zweiten n-Kanal-FET 310, mit TNY0 bezeichnet, und des dritten n-Kanal-FET 311, mit TNY1 bezeichnet, für SY, aktiviert sind.
-
Demgemäß entsprechen die beiden verschiedenen Schwellenspannungskonfigurationen
und
den beiden verschiedenen Werten X0 = 1 und X0 = 0 für den zweiten verbotenen Übergang
-
Möglichkeiten zum Festlegen der Schwellenspannung eines Feldeffekttransistors werden nachfolgend mit Bezug auf 5 beschrieben.
-
5 zeigt einen Feldeffekttransistor (FET) 500.
-
Der FET 500 weist ein Source-Gebiet 501, ein Drain-Gebiet 502, ein Gate 503 und ein Kanalgebiet 504 auf. Das Kanalgebiet 504 kann in einem Substrat oder in einer Wanne innerhalb des Substrats liegen.
-
Das Source-Gebiet 501 hat eine Erstreckung 505 und einen Halo 506. Ähnlich hat das Drain-Gebiet 502 eine Erstreckung 507 und einen Halo 508.
-
Die Schwellenspannung des FET 500 kann durch Festlegen geeigneter Dotierungskonzentrationen im Kanalgebiet 504 der Halos 506, 508 und/oder durch Festlegen der Dotierungskonzentration in den Erstreckungen 505, 507 festgelegt werden.
-
6 zeigt das Gatterschema einer Schaltung 600, welche eine UND-NOR-basierte Tarnkappenzelle für wegabhängige Boolesche Geheimnisse implementiert.
-
Ähnlich der in 4 dargestellten Schaltung 300 weist die Schaltung 600 ein erstes UND-NOR 601, ein zweites UND-NOR 602, einen ersten Inverter 603 und einen zweiten Inverter 604 auf. Verglichen mit der Schaltung 300 sind jedoch ein erster Puffer 605 und ein zweiter Puffer 606 zwischen die Ausgänge der UND-NOR-Gatter 601, 602 und die ersten Ausgangsknoten 308 (SY) bzw. den zweiten Ausgangsknoten 315 (SZ) geschaltet, um die Robustheit der Tarnkappenzelle in Bezug auf eine zufällige Prozessvariation der relevanten Schwellenspannungen zu erhöhen.
-
Die Puffer 605, 606 weisen beispielsweise den gleichen physikalischen Entwurf auf, können sich jedoch in Bezug auf ihre jeweiligen Schwellenspannungskonfigurationen ihrer jeweiligen (beispielsweise CMOS-) Komponenten unterscheiden, welche zu unterschiedlichen Verzögerungen (und Steigungen) tr(Y) und tr(Z) der ansteigenden Flanken bzw. Verzögerungen tf(Y) und tf(Z) der abfallenden Flanken von SY bzw. SZ führen. Demgemäß kann die Zeitasymmetrie der Übergänge von SY und SZ infolge der vorstehend beschriebenen asymmetrischen Vth-Konfigurationen der UND-NOR-Gatter ANR-Y und ANR-Z vergrößert werden.
-
Was den ersten verbotenen Übergang, d.h.
werden die beiden konkurrierenden Pull-up-Wege für die Ausgänge der UND-NOR 601, 602, die aus den seriellen Verbindungen der pMOS-Vorrichtungen TPZ1 und TPZ0 sowie TPY1 und TPY0 bestehen, aktiviert.
-
Demgemäß können die beiden verschiedenen Schwellenspannungskonfigurationen
und
(entsprechend den beiden verschiedenen Werten X1 = 0 und X1 = 1 für den ersten verbotenen Übergang) durch Schwellenspannungskonfigurationen in den Puffern 605, 606 komplementiert werden, was zu
-
Dadurch ist der verbotene Übergang
robuster gegen Prozessvariationen als die Schaltung aus den
3 und
4.
-
Ein Beispiel für eine Implementation der Puffer 605, 606 zur Veranschaulichung der Verwirklichung der vorstehenden Ungleichungen tr(Z) < tr(Y) und tr(Z) > tr(Y) ist in 7 angegeben.
-
7 zeigt einen Puffer 700 gemäß einer Ausführungsform.
-
Der Puffer 700 weist einen ersten Inverter 701 und einen zweiten Inverter 702 auf, die in Reihe geschaltet sind, so dass der erste Inverter 701 eine Eingabe A empfängt und der zweite Inverter 702 die Ausgabe des ersten Inverters 701 empfängt und eine Ausgabe Z des Puffers 700 ausgibt.
-
Jeder Inverter 701, 702 ist durch einen pMOS 703, 704 und einen nMOS 705, 706 verwirklicht, die in Reihe zwischen das hohe Versorgungspotential und das niedrige Potential geschaltet sind, welche die Eingabe der Inverter 701, 702 an ihren Gates empfangen, wobei der Knoten zwischen ihnen der Ausgangsknoten der Inverter 701, 702 ist.
-
Demgemäß kann tr(Z) < tr(Y) verwirklicht werden, indem im zweiten Puffer 606 die Schwellenspannungen der nMOS-Vorrichtung 705 im ersten Inverter 701 und der pMOS-Vorrichtung 704 im zweiten Inverter 702 niedriger gewählt werden als die Schwellenspannungen der nMOS-Vorrichtung 705 im ersten Inverter 701 und der pMOS-Vorrichtung 704 im zweiten Inverter 702 des ersten Puffers 605.
-
Andererseits kann tr(Z) > tr(Y) verwirklicht werden, indem im zweiten Puffer 606 die Schwellenspannungen der nMOS-Vorrichtung 705 im ersten Inverter 701 und der pMOS-Vorrichtung 704 im zweiten Inverter 702 höher gewählt werden als die Schwellenspannungen der nMOS-Vorrichtung 705 im ersten Inverter 701 und der pMOS-Vorrichtung 704 im zweiten Inverter 702 des ersten Puffers 605.
-
Was den zweiten verbotenen Übergang, d.h.
werden die beiden konkurrierenden Pull-down-Wege für die Ausgaben des ersten UND-NOR 601 und des zweiten UND-NOR 602, einschließlich der seriellen Verbindungen der nMOS-Vorrichtungen TNZ1 und TNZ0 sowie TNY1 und TNY0, aktiviert.
-
Demgemäß können die beiden verschiedenen Schwellenspannungskonfigurationen
und
(entsprechend den beiden verschiedenen Werten X0 = 1 und X0 = 0 für den zweiten verbotenen Übergang) durch Schwellenspannungskonfigurationen in den Puffern 605, 606 komplementiert werden, was zu
-
Daher ist der verbotene Übergang
robuster gegen Prozessvariationen als die Tarnkappenzelle aus den
3 und
4.
-
Mit der in 7 dargestellten Pufferimplementation kann tf(Z) < tf(Y) verwirklicht werden, indem im zweiten Puffer 606 die Schwellenspannungen der pMOS-Vorrichtung 703 im ersten Inverter 701 und der nMOS-Vorrichtung 706 im zweiten Inverter 702 niedriger gewählt werden als die Schwellenspannungen der pMOS-Vorrichtung 703 im ersten Inverter 701 und der nMOS-Vorrichtung 706 im zweiten Inverter 702 des ersten Puffers 605.
-
Andererseits kann tf(Z) > tf(Y) verwirklicht werden, indem im zweiten Puffer 606 die Schwellenspannungen der pMOS-Vorrichtung 703 im ersten Inverter 701 und der nMOS-Vorrichtung 706 im zweiten Inverter 702 höher gewählt werden als die Schwellenspannungen der pMOS-Vorrichtung 703 im ersten Inverter 701 und der nMOS-Vorrichtung 706 im zweiten Inverter 702 des ersten Puffers 605.
-
Für die Puffer 605, 606 können auch andere Optionen als zwei Inverter verwendet werden. Beispielsweise können die Puffer 605, 606 auch so gewählt werden, dass sie einen Inverter in Kombination mit einer invertierenden Schmitt-TriggerSchaltung aufweisen, wodurch es mit angemessenen Vth-Konfigurationen möglich ist, den Robustheitsspielraum gegen durch zufällige Prozessvariationen hervorgerufene Schwellenvariationen sogar noch weiter zu erhöhen.
-
8 zeigt das Gatterschema einer Schaltung 800, die eine UND-NOR-basierte Tarnkappenzelle für wegabhängige Boolesche Geheimnisse implementiert.
-
Ähnlich der in 4 dargestellten Schaltung 300 weist die Schaltung 800 ein erstes UND-NOR 801, ein zweites UND-NOR 802, einen ersten Inverter 803 und einen zweiten Inverter 804 auf.
-
Verglichen mit der Tarnkappenzelle aus 4 sind jedoch vier zusätzliche Puffer 805, 806, 807, 808 zwischen die Steuereingänge RN und S und die entsprechenden Eingänge der beiden UND-NOR-Gatter 801 bzw. 802 geschaltet, um die Robustheit der Tarnkappenzelle in Bezug auf zufällige Prozessvariationen der relevanten Schwellenspannungen zu erhöhen.
-
Was den ersten verbotenen Übergang, d.h.
werden die beiden konkurrierenden Pull-up-Wege für die Ausgänge der UND-NOR-Gatter 801, 802, einschließlich der seriellen Verbindungen der pMOS-Vorrichtungen TPZ1 und TPZ0 sowie TPY1 und TPY0, aktiviert.
-
Demgemäß können die beiden verschiedenen Schwellenspannungskonfigurationen
und
(entsprechend den beiden verschiedenen Werten X1 = 0 und X1 = 1 für den ersten verbotenen Übergang) durch Schwellenspannungskonfigurationen im ersten Puffer 805 (mit einer abfallenden Verzögerung t
f(YR)) und im dritten Puffer 807 (mit einer abfallenden Verzögerung t
f(ZR)) komplementiert werden, woraus sich
-
Daher ist der verbotene Übergang
robuster gegen Prozessvariationen als die Tarnkappenzelle aus den
3 und
4.
-
Mit der in 7 dargestellten Pufferimplementation kann tf(ZR) < tf(YR) verwirklicht werden, indem im dritten Puffer 807 die Schwellenspannungen der pMOS-Vorrichtung 703 im ersten Inverter 701 und der nMOS-Vorrichtung 706 im zweiten Inverter 702 niedriger gewählt werden als die Schwellenspannungen der pMOS-Vorrichtung 703 im ersten Inverter 701 und der nMOS-Vorrichtung 706 im zweiten Inverter 702 des ersten Puffers 805.
-
Andererseits kann tf(ZR) > tf(YR) verwirklicht werden, indem im dritten Puffer 807 die Schwellenspannungen der pMOS-Vorrichtung 703 im ersten Inverter 701 und der nMOS-Vorrichtung 706 im zweiten Inverter 702 höher gewählt werden als die Schwellenspannungen der pMOS-Vorrichtung 703 im ersten Inverter 701 und der nMOS-Vorrichtung 706 im zweiten Inverter 702 des ersten Puffers 805.
-
Was den zweiten verbotenen Übergang, d.h.
werden die beiden konkurrierenden Pull-down-Wege für die Ausgänge der UND-NOR-Gatter 801, 802, einschließlich der seriellen Verbindungen der nMOS-Vorrichtungen TNZ1 und TNZ0 sowie TNY1 und TNY0, aktiviert.
-
Demgemäß können die beiden verschiedenen Schwellenspannungskonfigurationen
und
(entsprechend den beiden verschiedenen Werten X0 = 1 und X0 = 0 für den zweiten verbotenen Übergang) durch Schwellenspannungskonfigurationen im vierten Puffer 808 (mit einer ansteigenden Verzögerung t
r(ZS)) und im zweiten Puffer 806 (mit einer ansteigenden Verzögerung t
r(YS)) komplementiert werden, was zu
-
Daher ist der verbotene Übergang
robuster gegen Prozessvariationen als die Tarnkappenzelle aus den
3 und
4.
-
Mit der in 7 dargestellten Pufferimplementation kann tr(ZS) < tr(YS) verwirklicht werden, indem im vierten Puffer 808 die Schwellenspannungen der nMOS-Vorrichtung 705 im ersten Inverter 701 und der pMOS-Vorrichtung 704 im zweiten Inverter 702 niedriger gewählt werden als die Schwellenspannungen der nMOS-Vorrichtung 705 im ersten Inverter 701 und der pMOS-Vorrichtung 704 im zweiten Inverter 702 des zweiten Puffers 806.
-
Andererseits kann tr(ZS) > tr(YS) verwirklicht werden, indem im vierten Puffer 808 die Schwellenspannungen der nMOS-Vorrichtung 705 im ersten Inverter 701 und der pMOS-Vorrichtung 704 im zweiten Inverter 702 höher gewählt werden als die Schwellenspannungen der nMOS-Vorrichtung 705 im ersten Inverter 701 und der pMOS-Vorrichtung 704 im zweiten Inverter 702 des zweiten Puffers 806.
-
Es sei bemerkt, dass zur Verringerung der Anzahl der Transistoren an Stelle der Puffer 805, 806, 807, 808 auch Inverter zwischen den Eingangssteuersignalen und den entsprechenden Eingängen der UND-NOR-Gatter 801, 802 verwendet werden können. Dafür kann der niedrig-aktive RN durch einen hoch-aktiven R ersetzt werden und kann der hoch-aktive S durch einen niedrig-aktiven SN ersetzt werden.
-
9 zeigt eine Schaltung 900, welche eine Tarnkappenzelle für wegabhängige Boolesche Geheimnisse implementiert, welche ODER-NAND-basiert ist.
-
Die Schaltung 900 weist zwei Steuereingänge SN und R und zwei Ausgänge Z und Y auf. Die Schaltung weist ein erstes ODER-NAND 901, ein zweites ODER-NAND 902, einen ersten Inverter 903 und einen zweiten Inverter 904 auf.
-
Der erste ODER-NAND 901 weist einen ersten p-Kanal-FET 905 auf, dessen Source mit dem hohen Versorgungspotential (VDD) verbunden ist und dessen Gate das Signal R zugeführt wird und dessen Drain mit einem ersten Ausgangsknoten (oder Rückkopplungsknoten) 908 verbunden ist, dessen Zustand mit SY bezeichnet ist. Der erste ODER-NAND 901 weist ferner einen zweiten p-Kanal-FET 906 auf, dessen Source mit dem hohen Versorgungspotential (VDD) verbunden ist und dessen Drain mit der Source eines dritten p-Kanal-FET 907 verbunden ist, dessen Gate das Signal SN zugeführt wird und dessen Drain mit dem ersten Ausgangsknoten 908 verbunden ist.
-
Der erste ODER-NAND 901 weist ferner einen ersten n-Kanal-FET 909 auf, dessen Source mit dem niedrigen Versorgungspotential (VSS) verbunden ist und dessen Gate das Signal SN zugeführt wird. Der erste ODER-NAND 901 weist ferner einen zweiten n-Kanal-FET 910 auf, dessen Source mit dem niedrigen Versorgungspotential (VSS) verbunden ist. Die Drains des ersten n-Kanal-FET 909 und des zweiten n-Kanal-FET 910 sind mit der Source eines dritten n-Kanal-FET 911 verbunden, dessen Gate das Signal R zugeführt wird und dessen Drain mit dem ersten Ausgangsknoten 908 verbunden ist.
-
Der zweite ODER-NAND 902 weist einen vierten p-Kanal-FET 912 auf, dessen Source mit dem hohen Versorgungspotential (VDD) verbunden ist und dessen Gate das Signal R zugeführt wird und dessen Drain mit einem zweiten Ausgangsknoten (oder Rückkopplungsknoten) 915 verbunden ist, dessen Zustand mit SZ bezeichnet ist. Der zweite ODER-NAND 902 weist ferner einen fünften p-Kanal-FET 913 auf, dessen Source mit dem hohen Versorgungspotential (VDD) verbunden ist und dessen Drain mit der Source eines sechsten p-Kanal-FET 914 verbunden ist, dessen Gate das Signal SN zugeführt wird und dessen Drain mit dem zweiten Ausgangsknoten 915 verbunden ist.
-
Der zweite ODER-NAND 902 weist ferner einen vierten n-Kanal-FET 916 auf, dessen Source mit dem niedrigen Versorgungspotential (VSS) verbunden ist und dessen Gate das Signal SN zugeführt wird. Der zweite ODER-NAND 902 weist ferner einen fünften n-Kanal-FET 917 auf, dessen Source mit dem niedrigen Versorgungspotential (VSS) verbunden ist. Die Drains des vierten n-Kanal-FET 916 und des fünften n-Kanal-FET 910 sind mit der Source eines sechsten n-Kanal-FET 918 verbunden, dessen Gate das Signal R zugeführt wird und dessen Drain mit dem zweiten Ausgangsknoten 915 verbunden ist.
-
Der erste Ausgangsknoten 908 ist ferner mit dem Eingang des ersten Inverters 903 verbunden, dessen Ausgabe die Ausgabe Y ist. Ferner ist der erste Ausgangsknoten 908 mit den Gates des fünften p-Kanal-FET 913 und des fünften n-Kanal-FET 917 verbunden.
-
Der zweite Ausgangsknoten 915 ist ferner mit dem Eingang des zweiten Inverters 904 verbunden, dessen Ausgabe die Ausgabe Z ist. Ferner ist der zweite Ausgangsknoten 915 mit den Gates des zweiten p-Kanal-FET 906 und des zweiten n-Kanal-FET 910 verbunden.
-
Die Inverter 903, 904 sind beispielsweise durch einen p-Kanal-FET und einen n-Kanal-FET verwirklicht, die in Reihe zwischen das hohe Versorgungspotential und das niedrige Potential geschaltet sind, welche die Eingabe der Inverter 903, 904 an ihren Gates empfangen und wobei der Knoten zwischen ihnen der Ausgangsknoten der Inverter 903, 904 ist.
-
Für R = 0 befindet sich die Schaltung in ihrem ersten Vorladezustand:
-
Für (R, SN) = (1, 1) befindet sich die Schaltung in ihrem zweiten Vorladezustand:
-
Der erste verbotene Übergang ist durch
wobei die beiden konkurrierenden Pull-down-Wege, einschließlich der seriellen Verbindungen des fünften n-Kanal-FET 917, mit TNZ0 bezeichnet, und des sechsten n-Kanal-FET 918, mit TNZ1 bezeichnet, für SZ, sowie des zweiten n-Kanal-FET 910, mit TNY0 bezeichnet, und des dritten n-Kanal-FET 911, mit TNY1 bezeichnet, für SY, aktiviert sind.
-
Demgemäß entsprechen die beiden verschiedenen Schwellenspannungskonfigurationen
und
den beiden verschiedenen Werten X0 = 1 und X0 = 0 für den ersten verbotenen Übergang
-
Der zweite verbotene Übergang ist durch
wobei die beiden konkurrierenden Pull-up-Wege, einschließlich der seriellen Verbindungen des fünften p-Kanal-FET 913, mit TPZ0 bezeichnet (mit einer Schwellenspannung Vth(PZ0)), und des sechsten p-Kanal-FET 914, mit TPZ1 bezeichnet (mit einer Schwellenspannung Vth(PZ1)), für SZ, sowie des zweiten p-Kanal-FET 906, mit TPY0 bezeichnet (mit einer Schwellenspannung Vth(PY0)), und des dritten p-Kanal-FET 907, mit TPY1 bezeichnet (mit einer Schwellenspannung Vth(PY1)), für SY, aktiviert sind.
-
Demgemäß entsprechen die beiden verschiedenen Schwellenspannungskonfigurationen
und
den beiden verschiedenen Werten X1 = 0 und X1 = 1 für den zweiten verbotenen Übergang
-
10 zeigt eine Schaltung 1000, welche ein UND-NOR-basiertes RSX-Flipflop implementiert, d.h. eine Tarnkappenzelle, wie mit Bezug auf die 3 bis 6 beschrieben, welche die zusätzliche Funktion eines gewöhnlichen RS-FF aufweist.
-
Änlich der Schaltung 600 weist die Schaltung 1000 ein erstes UND-NOR 1001, ein zweites UND-NOR 1002, einen ersten Inverter 1003, einen zweiten Inverter 1004, einen ersten Puffer 1005 und einen zweiten Puffer 1006 auf.
-
Zusätzlich geht dem S-Eingang des ersten UND-NOR 1001 ein erstes NOR 1007 vorher, welches ein Eingangssignal SNY und ein Freigabesignal EN als Eingaben aufweist. Ähnlich geht dem S-Eingang des zweiten UND-NOR 1002 ein zweites NOR 1008 vorher, das ein Eingangssignal SNZ und das Freigabesignal EN als Eingaben aufweist.
-
Der Eingangssteuersignalübergang
bewirkt den Ausgangssignalübergang
d.h. die Setzfunktion eines gewöhnlichen RS-FF.
-
Der Eingangssteuersignalübergang
bewirkt den Ausgangssignalübergang
d.h. die Rücksetzfunktion eines gewöhnlichen RS-FF.
-
Abgesehen davon, führt der erste verbotene MH-Übergang
zu
während der zweite verbotene MH-Übergang
zu
wie vorstehend mit Bezug auf die
3 bis
6 beschrieben wurde.
-
11 zeigt eine Schaltung 1100, welche eine UND-ODER-NAND-basierte Tarnkappenzelle implementiert. Diese kann als eine Verallgemeinerung der mit Bezug auf die 3 bis 6 beschriebenen MH-Zelle angesehen werden.
-
Die Schaltung 1100 weist durch einen ersten Inverter 1101 und einen zweiten Inverter 1102 aus den Zuständen SY und SZ zweier Ausgangsknoten (oder Rückkopplungsknoten) erzeugte Ausgaben Y und Z und die Eingangssignale RN, S1 und S0 auf.
-
Die Schaltung 1100 weist ein erstes UND-ODER-NAND 1103 auf, das den Zustand SZ und das Signal S0 an seinen UND-Eingängen, das Signal RN an seinem ODER-Eingang und das Signal S1 an seinem NAND-Eingang empfängt und SY ausgibt.
-
Ähnlich weist die Schaltung 1100 ein zweites UND-ODER-NAND 1104 auf, das den Zustand SY und das Signal S0 an seinen UND-Eingängen, das Signal RN an seinem ODER-Eingang und das Signal S1 an seinem NAND-Eingang empfängt und SZ ausgibt.
-
Demgemäß gibt es drei Steuereingaben RN, S1 und S0 und drei Vorladezustände
und
sowie drei verbotene Übergänge:
führt,
führt, und
führt.
-
Es sei bemerkt, dass es nur zwei unabhängige Geheimnisse X0 und X1 gibt, weil es auch nur zwei konkurrierende Pull-up- und Pull-down-Wege innerhalb der beiden UND-ODER-NAND-Gatter 1103, 1104 gibt.
-
12 zeigt eine Schaltung 1200, welche eine UND-NOR-basierte Tarnkappenzelle mit Mehrfachrückkopplung implementiert, welche als ein weiteres Beispiel für Verallgemeinerungen der Tarnkappenzelle aus den 3 bis 6 angesehen werden kann.
-
Die Schaltung 1200 weist durch einen ersten Inverter 1201, einen zweiten Inverter 1202 und einen dritten Inverter 1203 aus den Zuständen SY, SZ und SW der drei Ausgangsknoten (oder Rückkopplungsknoten) erzeugte Ausgaben Y, Z und W auf, und sie weist die Eingangssignale RN und S auf.
-
Die Schaltung 1200 weist ein erstes UND-NOR 1204 auf, das die Zustände SZ, SW und das Signal S an seinen UND-Eingängen und das Signal RN an seinem NOR-Eingang empfängt und SY ausgibt.
-
Ähnlich weist die Schaltung 1200 ein zweites UND-NOR 1205 auf, das die Zustände SY, SW und das Signal S an seinen UND-Eingängen und das Signal RN an seinem NOR-Eingang empfängt und SZ ausgibt.
-
Ähnlich weist die Schaltung 1200 ein drittes UND-NOR 1206 auf, das die Zustände SY, SZ und das Signal S an seinen UND-Eingängen und das Signal RN an seinem NOR-Eingang empfängt und SW ausgibt.
-
Abhängig von den Steuereingaben RN und S gibt es zwei Vorladezustände
und
von den drei Ausgaben Z, Y und W.
-
Für (RN, S) = (0, 1) gibt es drei stabile Zustände der Ausgaben:
-
Alle drei Ausgangszustände können von einem der beiden Vorladezustände erreicht werden, entweder im Fall des Übergangs (RN, S) = (1, 1) -> (0, 1) durch gleichzeitiges Aktivieren der Pull-up-Wege aller UND-NOR-Gatter, oder im Fall des Übergangs
durch gleichzeitiges Aktivieren der Pull-down-Wege aller UND-NOR-Gatter. Demgemäß können durch geeignetes und unabhängiges Wählen der Vth-Konfigurationen für die jeweiligen Pull-up- und Pull-down-Wege neun verschiedene Inkarnationen dieser MH-Schaltung verwirklicht werden, die alle einen identischen physikalischen Entwurf aufweisen, sich jedoch in ihrem Verhalten bezüglich verbotener Übergänge paarweise voneinander unterscheiden.
-
Nachfolgend werden Ausführungsformen, welche es ermöglichen, eine höhere Tarnkappeneffizienz zu erreichen, die als Quotient der Anzahl der verwirklichbaren Geheimnisse (d.h. der Anzahl der möglichen verschiedenen Tarnkappeninkamationen für eine Schaltung) und der Anzahl der erforderlichen FET (beispielsweise MOSFET) der Schaltung definiert ist, verglichen mit vorstehend beschriebenen Ausführungsformen in der Art der Schaltung 300 beschrieben.
-
Vorstehend beschriebene Ausführungsformen in der Art der Schaltung 300 sowie der ICBC-X-Schaltungen, welche eine bistabile Rückkopplungsschaltungsanordnung aufweisen, beruhen entweder auf NAND- oder NOR-Gattern bzw. auf UND-NOR- oder ODER-NAND-Gattern, d.h. einem spezifischen Typ grundlegender Boolescher Funktionen.
-
Im Gegensatz dazu wird nachfolgend eine Vereinheitlichung der grundlegenden Booleschen Funktionen beschrieben, worauf die Tarnkappenzellen gemäß den folgenden Ausführungsformen beruhen, d.h. die nachfolgend beschriebenen Tarnkappenzellen beruhen auf einer Klasse komplexer Gatter, welche so genannte selbst-duale Boolesche Funktionen („Self-Dual Boolean Functions“ - SDBF) repräsentieren, die als ihre eigene duale Funktion (DF) definiert sind, wobei die duale Funktion F
D(A, B, ...) einer gegebenen Booleschen Funktion F(A, B, ...) als
-
Beispielsweise wird die DF der Booleschen Funktion NOR (A, B) als
abgeleitet.
-
Nun werden die SDBF, worauf die folgenden Ausführungsformen beruhen, als in der Form
wofür
gilt.
-
Um den Vorteil der SDBF für eine MH-Schaltungsanordnung zu erläutern, wird als ein erstes Beispiel das komplexe Gatter betrachtet, welches die SDBF
repräsentiert,
d.h. ein Gatter, das sowohl die NAND2-(d.h. NAND mit zwei Eingängen)- als auch die NOR2-(d.h. NOR mit zwei Eingängen)-Funktion repräsentiert, und zwar abhängig von einem zusätzlichen Transformationsparameter T, wobei für T = 0 die SDBF äquivalent zu NAND2(A, B) ist und für T = 1 äquivalent zu NOR2(A, B) ist.
-
13 zeigt eine Schaltung 1300 entsprechend UND2-NR2, d.h. einen Transistor, der eine Tarnkappenzelle auf der Grundlage selbst-dualer NAND2-NOR2-Gatter implementiert.
-
Die Schaltung 1300 hat zwei Steuereingänge T und S und zwei Ausgänge Z und Y. Die Schaltung 1300 weist ein erstes vereinheitlichtes NAND-NOR 1301, ein zweites vereinheitlichtes NAND-NOR 1302, einen ersten Inverter 1303 und einen zweiten Inverter 1304 auf.
-
Das erste vereinheitlichte NAND-NOR 1301 weist einen ersten p-Kanal-FET 1305 auf, dessen Source mit dem hohen Versorgungspotential (VDD) verbunden ist und dessen Gate das Signal S zugeführt wird. Das erste vereinheitlichte NAND-NOR 1301 weist ferner einen zweiten p-Kanal-FET 1306 auf, dessen Source mit dem hohen Versorgungspotential (VDD) verbunden ist. Die Drains des ersten p-Kanal-FET 1305 und des zweiten p-Kanal-FET 1306 sind mit der Source eines dritten p-Kanal-FET 1307 verbunden, dessen Gate das Signal T zugeführt wird und dessen Drain mit einem ersten Ausgangsknoten (oder Rückkopplungsknoten) 1308 verbunden ist, dessen Zustand als SY bezeichnet wird.
-
Das erste vereinheitlichte NAND-NOR 1301 weist ferner einen vierten p-Kanal-FET 1309 auf, dessen Source mit dem hohen Versorgungspotential verbunden ist, dessen Gate mit dem Gate des zweiten p-Kanal-FET 1306 verbunden ist und dessen Drain mit der Source eines fünften p-Kanal-FET 1310 verbunden ist, dessen Gate das Signal S zugeführt wird und dessen Drain mit dem ersten Ausgangsknoten 1308 verbunden ist.
-
Ferner weist das erste vereinheitlichte NAND-NOR 1301 einen ersten n-Kanal-FET 1311 auf, dessen Source mit dem niedrigen Versorgungspotential (VSS) verbunden ist und dessen Gate das Signal S zugeführt wird. Das erste vereinheitlichte NAND-NOR 1301 weist ferner einen zweiten n-Kanal-FET 1312 auf, dessen Source mit dem niedrigen Versorgungspotential (VSS) verbunden ist. Die Drains des ersten n-Kanal-FET 1311 und des zweiten n-Kanal-FET 1312 sind mit der Source eines dritten n-Kanal-FET 1313 verbunden, dessen Gate das Signal T zugeführt wird und dessen Drain mit dem ersten Ausgangsknoten 1308 verbunden ist.
-
Das erste vereinheitlichte NAND-NOR 1301 weist ferner einen vierten n-Kanal-FET 1314 auf, dessen Source mit dem niedrigen Versorgungspotential verbunden ist, dessen Gate mit dem Gate des zweiten n-Kanal-FET 1312 verbunden ist und dessen Drain mit der Source eines fünften n-Kanal-FET 1315 verbunden ist, dessen Gate das Signal S zugeführt wird und dessen Drain mit dem ersten Ausgangsknoten 1308 verbunden ist.
-
Das zweite vereinheitlichte NAND-NOR 1302 weist einen sechsten p-Kanal-FET 1316 auf, dessen Source mit dem hohen Versorgungspotential (VDD) verbunden ist und dessen Gate das Signal S zugeführt wird. Das zweite vereinheitlichte NAND-NOR 1302 weist ferner einen siebten p-Kanal-FET 1317 auf, dessen Source mit dem hohen Versorgungspotential (VDD) verbunden ist. Die Drains des sechsten p-Kanal-FET 1316 und des siebten p-Kanal-FET 1317 sind mit der Source eines achten p-Kanal-FET 1318 verbunden, dessen Gate das Signal T zugeführt wird und dessen Drain mit einem zweiten Ausgangsknoten (oder Rückkopplungsknoten) 1319 verbunden ist, dessen Zustand als SZ bezeichnet wird.
-
Das zweite vereinheitlichte NAND-NOR 1302 weist ferner einen neunten p-Kanal-FET 1320 auf, dessen Source mit dem hohen Versorgungspotential verbunden ist, dessen Gate mit dem Gate des siebten p-Kanal-FET 1317 verbunden ist und dessen Drain mit der Source eines zehnten p-Kanal-FET 1321 verbunden ist, dessen Gate das Signal S zugeführt wird und dessen Drain mit dem zweiten Ausgangsknoten 1319 verbunden ist.
-
Ferner weist das zweite vereinheitlichte NAND-NOR 1302 einen sechsten n-Kanal-FET 1322 auf, dessen Source mit dem niedrigen Versorgungspotential (VSS) verbunden ist und dessen Gate das Signal S zugeführt wird. Das zweite vereinheitlichte NAND-NOR 1302 weist ferner einen siebten n-Kanal-FET 1323 auf, dessen Source mit dem niedrigen Versorgungspotential (VSS) verbunden ist. Die Drains des sechsten n-Kanal-FET 1322 und des siebten n-Kanal-FET 1323 sind mit der Source eines achten n-Kanal-FET 1324 verbunden, dessen Gate das Signal T zugeführt wird und dessen Drain mit dem zweiten Ausgangsknoten 1319 verbunden ist.
-
Das zweite vereinheitlichte NAND-NOR 1302 weist ferner einen neunten n-Kanal-FET 1325 auf, dessen Source mit dem niedrigen Versorgungspotential verbunden ist, dessen Gate mit dem Gate des siebten n-Kanal-FET 1323 verbunden ist und dessen Drain mit der Source eines zehnten n-Kanal-FET 1326 verbunden ist, dessen Gate das Signal S zugeführt wird und dessen Drain mit dem zweiten Ausgangsknoten 1319 verbunden ist.
-
Der erste Ausgangsknoten 1308 ist ferner mit dem Eingang des ersten Inverters 1303 verbunden, dessen Ausgabe die Ausgabe Y ist. Ferner ist der erste Ausgangsknoten 1308 mit den Gates des neunten p-Kanal-FET 1320 und des neunten n-Kanal-FET 1325 verbunden.
-
Der zweite Ausgangsknoten 1319 ist ferner mit dem Eingang des zweiten Inverters 1304 verbunden, dessen Ausgabe die Ausgabe Z ist. Ferner ist der zweite Ausgangsknoten 1319 mit den Gates des vierten p-Kanal-FET 1309 und des vierten n-Kanal-FET 1314 verbunden.
-
Die Inverter 1303, 1304 sind beispielsweise durch einen p-Kanal-FET und einen n-Kanal-FET verwirklicht, die in Reihe zwischen das hohe Versorgungspotential und das niedrige Potential geschaltet sind, welche die Eingabe der Inverter 1303, 1304 an ihren Gates empfangen und wobei der Knoten zwischen ihnen der Ausgangsknoten der jeweiligen Inverter 303, 304 ist.
-
Für (T, S) = (0, 0) befindet sich die Schaltung 1300 in einem ersten Vorladezustand:
und für (T, S) = (1, 1) befindet sich die Schaltung in einem zweiten Vorladezustand:
-
Der erste verbotene Übergang ist durch (T, S) = (0, 0) -> (0, 1) gegeben, wobei die beiden konkurrierenden Pull-down-Wege, einschließlich der seriellen Verbindungen des zehnten n-Kanal-FET 1326, mit TNZ4 bezeichnet, und des neunten n-Kanal-FET 1325, mit TNZ3 bezeichnet, für SZ, sowie des fünften n-Kanal-FET 1315, mit TNY4 bezeichnet, und des vierten n-Kanal-FET 1314, mit TNY3 bezeichnet, für SY, aktiviert sind.
-
Demgemäß entsprechen die beiden verschiedenen Schwellenspannungskonfigurationen
den beiden verschiedenen Werten X00 = 1 und X00 = 0 für den ersten verbotenen Übergang:
-
Der zweite verbotene Übergang ist durch (T, S) = (0, 0) -> (1, 0) gegeben, wobei die beiden konkurrierenden Pull-down-Wege, einschließlich der seriellen Verbindungen des achten n-Kanal-FET 1324, mit TNZ2 bezeichnet, und des siebten n-Kanal-FET 1323, mit TNZ1 bezeichnet, für SZ, sowie des dritten n-Kanal-FET 1313, mit TNY2 bezeichnet, und des zweiten n-Kanal-FET 1312, mit TNY1 bezeichnet, für SY, aktiviert sind.
-
Demgemäß entsprechen die beiden verschiedenen Schwellenspannungskonfigurationen
und
den beiden verschiedenen Werten X01 = 1 und X01 = 0 für den zweiten verbotenen Übergang
-
Der dritte verbotene Übergang ist durch (T, S) = (1, 1) -> (1, 0) gegeben, wobei die beiden konkurrierenden Pull-up-Wege, einschließlich der seriellen Verbindungen des zehnten p-Kanal-FET 1321, mit TPZ4 bezeichnet, und des neunten p-Kanal-FET 1320, mit TPZ3 bezeichnet, für SZ, sowie des fünften p-Kanal-FET 1310, mit TPY4 bezeichnet, und des vierten p-Kanal-FET 1309, mit TPY3 bezeichnet, für SY, aktiviert sind.
-
Demgemäß entsprechen die beiden verschiedenen Schwellenspannungskonfigurationen
den beiden verschiedenen Werten X10 = 0 und X10 = 1 für den dritten verbotenen Übergang:
-
Der vierte verbotene Übergang ist durch (T, S) = (1, 1) -> (0, 1) gegeben, wobei die beiden konkurrierenden Pull-up-Wege, einschließlich der seriellen Verbindungen des achten p-Kanal-FET 1318, mit TPZ2 bezeichnet, und des siebten p-Kanal-FET 1317, mit TPZ1 bezeichnet, für SZ, sowie des dritten p-Kanal-FET 1307, mit TPY2 bezeichnet, und des zweiten p-Kanal-FET 1306, mit TPY1 bezeichnet, für SY, aktiviert sind.
-
Demgemäß entsprechen die beiden verschiedenen Schwellenspannungskonfigurationen
und
den beiden verschiedenen Werten X11 = 0 und X11 = 1 für den vierten verbotenen Übergang:
-
Weil sich alle vier relevanten Pull-up- und Pull-down-Wege voneinander unterscheiden und daher unabhängig voneinander gewählt werden können, können auch die vier MH-Geheimnisse, d.h. die Werte X00, X01, X10 und X11, unabhängig gewählt werden. Demgemäß können für die MH, die auf den selbst-dualen ND2-NR2-Gatterm aus 13 beruht, 24 = 16 verschiedene MH-Inkamationen verwirklicht werden, d.h. 16 verschiedene MH-Inkamationen, welche das gleiche physikalische Layout aufweisen (d.h. in Bezug auf ihren physikalischen Entwurf ununterscheidbar sind), jedoch infolge ihrer unterschiedlichen CMOS-Schwellenspannungskonfigurationen unterschiedliche elektronische Verhaltensweisen aufweisen. Überdies entspricht die Unabhängigkeit von X00, X01, X10 und X11 einer Wegabhängigkeit der Booleschen Geheimnisse, d.h. jedes Geheimnis (X00, X01, X10 und X11) hängt nicht nur vom Eingangssteuersignalzustand, sondern auch von der Art ab, in der zu diesem Zustand gelangt wurde.
-
Vorstehend wurde der Vorteil des Konzepts des auf einer MH beruhenden SDBF verglichen mit MH-Zellen in der Art der in 3 dargestellten erläutert. Insbesondere ist die Schaltung 300 eine MH-Zelle mit zwei Steuereingängen, welche NI = 4 verschiedene Inkarnationen und NT = 16 MOSFET, d.h. eine MH-Effizienz (MHE) von MHE = NI / NT = 4/16 = 0,25, aufweist.
-
Die entsprechende SDBF-basierte MH-Zelle aus 13 weist auch zwei Steuereingänge und NI = 16 verschiedene Inkarnationen und NT = 24 FET, d.h. eine MH-Effizienz (MHE) von MHE = NI / NT = 16/24 = 0,667, auf.
-
Das heißt, dass für den Fall einer MH-Schaltungsanordnung mit zwei Steuereingängen eine SDBF-basierte MH-Zelle einen MHE-Verbesserungsfaktor von 2,67 ergibt.
-
Tarnkappen über selbst-dualen Booleschen Funktionen können verwendet werden, um wirksam geheime Bitzeichenketten zu erzeugen. Beispielsweise zeigt Tabelle 1 für die Tarnkappe auf der Grundlage der selbst-dualen ND2-NR2-Gatter aus
13 die Sequenz ihrer Ausgaben (Z, Y) ansprechend auf einige von 4! = 24 verschiedenen möglichen Steuereingabesequenzen. Tabelle 1
Zyklus | (T, S) | (Z, Y) | (T, S) | (Z, Y) | ... | (T, S) | (Z, Y) |
0 | (0,0) | (0,0) | (0,0) | (0,0) | ... | (1, 1) | (0,0) |
1 | (0, 1) | (X00, nicht(X00)) | (1,0) | (X01, nicht(X0 1)) | ... | (1,0) | (X10, nicht(X10)) |
2 | (0, 0) | (0,0) | (0,0) | (0,0) | ... | (0,0) | (0,0) |
3 | (1,0) | (X01, nicht(X0 1)) | (0, 1) | (X00, nicht(X00)) | ... | (0, 1) | (X00, nicht(X00)) |
4 | (1, 1) | (1, 1) | (1, 1) | (1, 1) | ... | (1, 1) | (1, 1) |
5 | (1,0) | (X10, nicht(X10)) | (0, 1) | (X11, nicht(X11)) | ... | (0, 1) | (X11, nicht(X11)) |
6 | (1, 1) | (1, 1) | (1, 1) | (1, 1) | ... | (0, 0) | (1, 1) |
7 | (0, 1) | (X11, nicht(X 11)) | (1,0) | (X10, nicht(X10)) | ... | (1,0) | (X01, nicht(X01)) |
-
Auf diese Weise kann eine verhältnismäßig kleine Anzahl von Tarnkappenzellen verwendet werden, um eine große Anzahl geheimer Bitzeichenketten zu erzeugen.
-
Überdies verwirklicht eine SDBF-basierte Tarnkappenzelle eine „verdeckte Kausalität“, d.h. es ist anhand dessen, dass der Zustand ihrer Ausgaben (Z, Y) in einem ihrer „geheimen“ Zustände (Xij, NICHT(Xij)) liegt, nicht möglich, ihre Eingaben (T, S) abzuleiten.
-
Um weiter den Vorteil SDBF-basierter Tarnkappenzellen aufzuzeigen, wird nachfolgend mit Bezug auf die 14 und 15 ein anderes etwas komplexeres Beispiel, nämlich eine MH-Zelle, die mehrere Rückkopplungswege auf der Grundlage selbst-dualer NAND3-NOR3-(ND3-NR3)-Gatter aufweist, beschrieben.
-
14 zeigt ein selbst-duales NAND3-NOR3-Gatter UND3-NR31400.
-
Das Gatter 1400 umfasst einen ersten p-Kanal-FET 1401, dessen Source mit dem hohen Versorgungspotential verbunden ist und dessen Gate ein Eingangssignal A zugeführt wird, einen zweiten p-Kanal-FET 1402, dessen Source mit dem hohen Versorgungspotential verbunden ist und dessen Gate ein Eingangssignal B zugeführt wird, und einen dritten p-Kanal-FET 1403, dessen Source mit dem hohen Versorgungspotential verbunden ist und dessen Gate ein Eingangssignal C zugeführt wird. Die Drains der p-Kanal-FET 1401, 1402, 1403 sind mit der Source eines vierten p-Kanal-FET 1404 verbunden, dessen Gate ein Eingangssignal T zugeführt wird und dessen Drain mit einem Ausgangsknoten 1408 verbunden ist, der ein Ausgangssignal Z ausgibt.
-
Das Gatter 1400 umfasst ferner einen fünften p-Kanal-FET 1405, dessen Source mit dem hohen Versorgungspotential verbunden ist, dessen Gate das Eingangssignal A zugeführt wird und dessen Drain mit der Source eines sechsten p-Kanal-FET 1406 verbunden ist, dessen Gate das Eingangssignal B zugeführt wird und dessen Drain mit der Source eines siebten p-Kanal-FET 1407 verbunden ist, dessen Gate das Eingangssignal B zugeführt wird und dessen Drain mit dem Ausgangsknoten 1408 verbunden ist.
-
Ferner umfasst das Gatter 1400 einen ersten n-Kanal-FET 1409, dessen Source mit dem niedrigen Versorgungspotential verbunden ist und dessen Gate das Eingangssignal A zugeführt wird, einen zweiten n-Kanal-FET 1410, dessen Source mit dem niedrigen Versorgungspotential verbunden ist und dessen Gate das Eingangssignal B zugeführt wird, und einen dritten n-Kanal-FET 1411, dessen Source mit dem niedrigen Versorgungspotential verbunden ist und dessen Gate das Eingangssignal C zugeführt wird. Die Drains der n-Kanal-FET 1409, 1410, 1411 sind mit der Source eines vierten n-Kanal-FET 1412 verbunden, dessen Gate das Eingangssignal T zugeführt wird und dessen Drain mit dem Ausgangsknoten 1408 verbunden ist.
-
Das Gatter 1400 umfasst ferner einen fünften n-Kanal-FET 1413, dessen Source mit dem niedrigen Versorgungspotential verbunden ist, dessen Gate das Eingangssignal A zugeführt wird und dessen Drain mit der Source eines sechsten n-Kanal-FET 1414 verbunden ist, dessen Gate das Eingangssignal C zugeführt wird und dessen Drain mit der Source eines siebten n-Kanal-FET 1415 verbunden ist, dessen Gate das Eingangssignal B zugeführt wird und dessen Drain mit dem Ausgangsknoten 1408 verbunden ist.
-
Abhängig von T wirkt das Gatter 1400 als NAND- oder NOR-Gatter:
und
-
15 zeigt eine Schaltung 1500, welche eine Tarnkappenzelle auf der Grundlage vereinheitlichter NAND3-NOR3-Gatter implementiert, die mehrere Rückkopplungswege aufweisen.
-
Die Schaltung 1500 weist ein erstes NAND3-NOR3-Gatter 1501, ein zweites NAND3-NOR3-Gatter 1502 und ein drittes NAND3-NOR3-Gatter 1503 auf, wie mit Bezug auf 14 beschrieben.
-
Die Ausgabe des ersten NAND3-NOR3-Gatters 1501 ist mit SZ bezeichnet und wird durch einen ersten Inverter 1504 invertiert, um das Signal Z zu erzeugen und auszugeben. Sie wird ferner als Eingangssignal A dem zweiten NAND3-NOR3-Gatter 1502 und als Eingangssignal B dem dritten NAND3-NOR3-Gatter 1503 zugeführt.
-
Die Ausgabe des zweiten NAND3-NOR3-Gatters 1502 ist mit SY bezeichnet und wird durch einen zweiten Inverter 1505 invertiert, um das Signal Y zu erzeugen und auszugeben. Sie wird ferner als Eingangssignal B dem ersten NAND3-NOR3-Gatter 1501 und als Eingangssignal A dem dritten NAND3-NOR3-Gatter 1503 zugeführt.
-
Die Ausgabe des dritten NAND3-NOR3-Gatters 1503 ist mit SW bezeichnet und wird durch einen dritten Inverter 1506 invertiert, um das Signal W zu erzeugen und auszugeben. Sie wird ferner als Eingangssignal B dem zweiten NAND3-NOR3-Gatter 1502 und als Eingangssignal A dem ersten NAND3-NOR3-Gatter 1501 zugeführt.
-
Ein Eingangssignal S wird als Eingangssignal C den NAND3-NOR3-Gattern 1501, 1502, 1503 zugeführt. Ferner empfangen die NAND3-NOR3-Gatter 1501, 1502, 1503 ein Eingangssignal T.
-
Abhängig von den Steuereingaben T und S gibt es die beiden Vorladezustände
und
der drei Ausgaben Z, Y und W.
-
Für (T, S) = (0, 1) gibt es drei stabile Zustände der Ausgaben:
oder
oder
-
Für (T, S) = (1, 0) gibt es die zusätzlichen drei stabilen Zustände der Ausgaben:
oder
oder
-
Alle sechs verschiedenen stabilen Ausgangszustände können anhand eines der beiden Vorladezustände erhalten werden:
- ▪ für den Übergang (T, S) = (0, 0) -> (0, 1) durch gleichzeitiges Aktivieren der Pull-down-Wege aller UND3-NR3-Gatter auf der rechten Seite des Gatters 1400 (d.h. der seriellen Verbindung der drei n-Kanal-Transistoren 1413, 1414, 1415),
- ▪ für den Übergang (T, S) = (0, 0) -> (1, 0) durch gleichzeitiges Aktivieren der Pull-down-Wege aller UND3-NR3-Gatter auf der linken Seite des Gatters 1400 (d.h. der seriellen Verbindung des vierten n-Kanal-FET 1412 und der parallelen Verbindung der drei n-Kanal-FET-Transistoren 1409, 1410, 1411),
- ▪ für den Übergang (T, S) = (1, 1) -> (1, 0) durch gleichzeitiges Aktivieren der Pull-up-Wege aller UND3-NR3-Gatter auf der rechten Seite des Gatters 1400 (d.h. der seriellen Verbindung der drei p-Kanal-FET 1405, 1406, 1407),
- ▪ für den Übergang (T, S) = (1, 1) -> (0, 1) durch gleichzeitiges Aktivieren der Pull-up-Wege aller UND3-NR3-Gatter auf der linken Seite des Gatters 1400 (d.h. der seriellen Verbindung des vierten p-Kanal-FET-Transistors 1404 und der parallelen Verbindung der drei p-Kanal-FET 1401, 1402, 1403).
-
Demgemäß können durch geeignetes und unabhängiges Wählen der Vth-Konfigurationen für alle paarweise verschiedenen und vorstehend angegebenen Pull-up- und Pull-down-Wege 34 = 81 verschiedene Inkarnationen der UND3-NR3-basierten MH-Schaltung 1500 verwirklicht werden, welche alle einen identischen physikalischen Entwurf aufweisen, sich jedoch im Verhalten ihrer verbotenen Übergänge paarweise voneinander unterscheiden.
-
Dies zeigt erneut den (exponentiell) zunehmenden Vorteil des Konzepts SDBF-basierter MH-Zellen verglichen mit (nicht SDBF-basierten) MH-Zellen in der Art der Schaltung 1200: Die Schaltung 1500 weist zwei Steuereingänge auf und weist NI = 81 verschiedene Inkarnationen und NT = 3*16 = 48 FET, d.h. eine MH-Effizienz (MHE) von
MHE = NI/ NT = 81/48 = 27/16 = 1,69, auf.
-
Im Gegensatz dazu hat die Schaltung 1200 zwei Steuereingänge und weist NI = 9 verschiedene Inkarnationen und NT = 3*10 = 30 FET, d.h. eine MH-Effizienz (MHE) von MHE = NI / NT = 9/30 = 0,3, auf.
-
Das heißt, dass die Schaltung 1500 für den Fall einer MH-Schaltungsanordnung mit zwei Steuereingängen und drei Ausgängen (und Rückkopplungswegen) eine Verbesserung des MHE-Faktors von 5,63 ergibt.
-
16 zeigt ein weiteres Beispiel für ein Gatter 1600, das eine selbst-duale Boolesche Funktion repräsentiert.
-
Das Gatter 1600 umfasst einen ersten p-Kanal-FET 1601, dessen Source mit dem hohen Versorgungspotential verbunden ist, dessen Gate ein Eingangssignal A zugeführt wird und dessen Drain mit der Source eines zweiten p-Kanal-FET 1602 verbunden ist, dessen Gate ein Eingangssignal B zugeführt wird. Das Gatter 1600 weist ferner einen dritten p-Kanal-FET 1603 auf, dessen Source mit dem hohen Versorgungspotential verbunden ist und dessen Gate ein Eingangssignal C zugeführt wird.
-
Die Drains des zweiten p-Kanal-FET 1602 und des dritten p-Kanal-FET 1603 sind mit der Source eines vierten p-Kanal-FET 1604 verbunden, dessen Gate ein Eingangssignal T zugeführt wird und dessen Drain mit einem Ausgangsknoten 1608 verbunden ist, der ein Ausgangssignal Z ausgibt.
-
Das Gatter 1600 umfasst ferner einen fünften p-Kanal-FET 1605, dessen Source mit dem hohen Versorgungspotential verbunden ist und dessen Gate das Eingangssignal A zugeführt wird, und einen sechsten p-Kanal-FET 1606, dessen Source mit dem hohen Versorgungspotential verbunden ist und dessen Gate das Eingangssignal B zugeführt wird. Die Drains des fünften p-Kanal-FET 1605 und des sechsten p-KanalFET 1606 sind mit der Source eines siebten p-Kanal-FET 1607 verbunden, dessen Gate das Eingangssignal C zugeführt wird und dessen Drain mit dem Ausgangsknoten 1608 verbunden ist.
-
Das Gatter 1600 umfasst ferner einen ersten n-Kanal-FET 1609, dessen Source mit dem niedrigen Versorgungspotential verbunden ist, dessen Gate das Eingangssignal A zugeführt wird und dessen Drain mit der Source eines zweiten n-Kanal-FET 1610 verbunden ist, dessen Gate das Eingangssignal B zugeführt wird. Das Gatter 1600 weist ferner einen dritten n-Kanal-FET 1611 auf, dessen Source mit dem niedrigen Versorgungspotential verbunden ist und dessen Gate das Eingangssignal C zugeführt wird.
-
Die Drains des zweiten n-Kanal-FET 1610 und des dritten n-Kanal-FET 1611 sind mit der Source eines vierten n-Kanal-FET 1612 verbunden, dessen Gate das Eingangssignal T zugeführt wird und dessen Drain mit dem Ausgangsknoten 1608 verbunden ist.
-
Das Gatter 1600 umfasst ferner einen fünften n-Kanal-FET 1613, dessen Source mit dem niedrigen Versorgungspotential verbunden ist und dessen Gate das Eingangssignal A zugeführt wird, und einen sechsten n-Kanal-FET 1614, dessen Source mit dem niedrigen Versorgungspotential verbunden ist und dessen Gate das Eingangssignal B zugeführt wird. Die Drains des fünften n-Kanal-FET 1613 und des sechsten n-Kanal-FET 1614 sind mit der Source eines siebten n-Kanal-FET 1615 verbunden, dessen Gate das Eingangssignal C zugeführt wird und dessen Drain mit dem Ausgangsknoten 1608 verbunden ist.
-
Das Gatter 1600 ist ein U
OND-ANR-Gatter, welches die ODER-NAND- und die UND-NOR-Funktion vereinheitlicht:
und
d.h. ein Gatter, das sowohl die ODER-NAND- als auch die UND-NOR-Funktion repräsentiert, abhängig vom Transformationsparameter T.
-
Das UOND-ANR-Gatter kann in der gleichen Weise verwendet werden wie vorstehend für die drei Steuereingänge aufweisende Tarnkappenschaltungsanordnung beschrieben wurde.
-
Wenngleich spezifische Aspekte beschrieben wurden, sollten Fachleute verstehen, dass verschiedene Änderungen an der Form und den Einzelheiten darin vorgenommen werden können, ohne vom Gedanken und vom Schutzumfang der Aspekte dieser Offenbarung, wie durch die anliegenden Ansprüche definiert, abzuweichen. Der Schutzumfang wird demgemäß durch die anliegenden Ansprüche angegeben, und alle Änderungen, die innerhalb der Bedeutung und des Äquivalenzbereichs der Ansprüche liegen, sollen daher darin aufgenommen sein.