DE2843583A1 - Verfahren und vorrichtung zum entschluesseln verschluesselter nachrichten - Google Patents

Verfahren und vorrichtung zum entschluesseln verschluesselter nachrichten

Info

Publication number
DE2843583A1
DE2843583A1 DE19782843583 DE2843583A DE2843583A1 DE 2843583 A1 DE2843583 A1 DE 2843583A1 DE 19782843583 DE19782843583 DE 19782843583 DE 2843583 A DE2843583 A DE 2843583A DE 2843583 A1 DE2843583 A1 DE 2843583A1
Authority
DE
Germany
Prior art keywords
message
key
public
recipient
mod
Prior art date
Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
Granted
Application number
DE19782843583
Other languages
English (en)
Other versions
DE2843583C2 (de
Inventor
Martin E Hellman
Ralph C Merkle
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
Leland Stanford Junior University
Original Assignee
Leland Stanford Junior University
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Application filed by Leland Stanford Junior University filed Critical Leland Stanford Junior University
Publication of DE2843583A1 publication Critical patent/DE2843583A1/de
Application granted granted Critical
Publication of DE2843583C2 publication Critical patent/DE2843583C2/de
Expired legal-status Critical Current

Links

Classifications

    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L9/00Cryptographic mechanisms or cryptographic arrangements for secret or secure communications; Network security protocols
    • H04L9/30Public key, i.e. encryption algorithm being computationally infeasible to invert or user's encryption keys not requiring secrecy
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L9/00Cryptographic mechanisms or cryptographic arrangements for secret or secure communications; Network security protocols
    • H04L9/32Cryptographic mechanisms or cryptographic arrangements for secret or secure communications; Network security protocols including means for verifying the identity or authority of a user of the system or for message authentication, e.g. authorization, entity authentication, data integrity or data verification, non-repudiation, key authentication or verification of credentials
    • H04L9/3247Cryptographic mechanisms or cryptographic arrangements for secret or secure communications; Network security protocols including means for verifying the identity or authority of a user of the system or for message authentication, e.g. authorization, entity authentication, data integrity or data verification, non-repudiation, key authentication or verification of credentials involving digital signatures
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L2209/00Additional information or applications relating to cryptographic mechanisms or cryptographic arrangements for secret or secure communication H04L9/00
    • H04L2209/08Randomization, e.g. dummy operations or using noise

Landscapes

  • Engineering & Computer Science (AREA)
  • Computer Security & Cryptography (AREA)
  • Computer Networks & Wireless Communication (AREA)
  • Signal Processing (AREA)
  • Computing Systems (AREA)
  • Theoretical Computer Science (AREA)
  • Mobile Radio Communication Systems (AREA)
  • Storage Device Security (AREA)
  • Credit Cards Or The Like (AREA)
  • Small-Scale Networks (AREA)
  • Data Exchanges In Wide-Area Networks (AREA)

Description

BESCHREIBUNG-
Die Erfindimg bezieht sich auf kryptographische Verfahren und Vorrichtungen.
Kryptographische Systeme bzw. Verfahren und Vorrichtungen werden in großem Umfang verwendet, um die Geheimhaltung und Echtheit von Nachrichten, Meldungen und dgl. zu gewährleisten, die über unsichere Kanäle weitergegeben werden. Ein Geheimhaltungssystem hat die Aufgabe, zu verhindern, daß unbefugte Personen Informationen aus Nachrichten entnehmen, die mittels eines unsicheren Kanals übermittelt werden, um dem Absender einer Nachricht Gewähr dafür zu geben, daß die Nachricht nur von dem gewünschten Empfänger gelesen v/erden kann. Ein Authentisierungssystem hat die Aufgabe, die unbefugte Eingabe von Nachrichten in einen unsicheren Kanal unmöglich zu machen und dem Empfänger die Gewähr zu geben, daß die empfangene Nachricht von einem legitimierten Absender stammt.
909819/0603
Gegenwärtig bestehen die Maßnahmen zum Authentisieren von Nachrichten in den meisten Fällen darin, daß jeder Nachricht ein Authentisierungsmuster angefügt wird, das nur dem Absender und dem vorgesehenen Empfänger bekannt ist, und daß die betreffende Kombination verschlüsselt wird. Diese Maßnahmen bieten einen Schutz dagegen, daß es einer unbefugten mithörenden Person möglich ist, neue und in der richtigen Weise authentisierte Nachrichten zu fälschen, wenn vorher nicht auch der benutzte Ziffernschlüssel gestohlen worden ist. Jedoch besteht nur ein geringer Schutz gegen die Gefahr des Entstehens von Streitigkeiten; beispielsweise kann der Absender eine in der richtigen Weise authentisierte Nachricht absenden und danach die Absendung der Nachricht leugnen und fälschlicherweise den Empfänger dafür verantwortlich machen, daß er unbefugt gehandelt hat. Umgekehrt ist es möglich, daß der Empfänger nicht genehmigte Maßnahmen trifft, daß er eine an sich selbst gerichtete Nachri ent fälscht und dann fälschlicherweise den Absender für die betreffenden Maßnahmen verantwortlich macht. Diese Gefahr des Entstehens von Streitigkeiten ergibt sich aus dem Fehlen geeigneter Einrichtungen zum Erstellen von Quittungen, mittels welcher man beweisen könnte, daß eine bestimmte Nachricht durch einen bestimmten Absender einem bestimmten Empfänger zugeleitet worden ist.
Bei den bekannten kryptographischen Systemen ergibt sich eine der größten Schwierigkeiten daraus, daß es für den Absender und den Empfänger erforderlich ist, einen Ziffernschlüssel über einen zugriffssicheren Kanal auszutauschen, zu dem unbefugte Personen keinen Zugang haben. Um einen solchen Ziffernschlüssel auszutauschen, wird der Austausch häufig dadurch bewirkt, daß der Schlüssel vorher über einen zuverlässigen Kanal übermittelt wird, z.B. einen privaten Kurier oder mit eingeschriebener Post; diese zugriffssicheren Kanäle arbeiten jedoch gewöhnlich langsam, und ihre Bonutzung ist kostspielig.
909819/0603
In "Multiuser Cryptographic Techniques", AFIPS - Conference Proceedings, Bd. 45, S. 109-112 vom 8. Juni 1976 schlagen Diffie et al die Benutzung eines Kryptosystems mit einem öffentlichen Schlüssel vor, bei dem es möglich ist, auf die Benutzung eines zugriffssicheren Kanals zu verzichten, da die vom Absender verwendeten Verschlüsselungsinformationen öffentlich bekannt sind. Ferner wird dargelegt, auf welche Weise es ein Kryptosystem mit öffentlichem Schlüssel ermöglichen würde, mit einem Authentisierungssystem zu arbeiten, mittels dessen eine von der Nachricht abhängige, nicht verfälschbare digitale Unterschrift erzeugt wird. Diffie schlägt vor, zwei Schlüssel E und D zu benutzen, um eine Nachricht zu verschlüsseln und danach zu entschlüsseln, so daß es sich bei dem Schlüssel E um eine öffentlich zugängliche Information handelt, während der Schlüssel D durch den vorgesehenen Empfänger geheimgehalten wird. Zwar wird der Schlüssel D durch den Schlüssel E bestimmt, doch ist es unmöglich, den Schlüssel D aus dem Schlüssel E zu berechnen. Diffie stellt fest, daß es plausibel ist, ein solches Kryptosystem mit öffentlichem Schlüssel zu entwerfen, das es einem Benutzer ermöglichen würde, eine Nachricht zu verschlüsseln und sie dem beabsichtigten Empfänger zuzuleiten, wobei es jedoch nur diesem beabsichtigten Empfänger möglich sein würde, die Nachricht zu entschlüsseln. Zwar erläutert Diffie die Plausibilität des Aufbaus solcher Systeme, doch führt er weder den Beweis, daß sich Kryptosysteme mit öffentlichem Schlüssel in Gebrauch befinden, noch gibt er ein brauchbares System an.
Diffie liefert drei Plausibilitätsargumente für die Existenz eines mit einem öffentlichen Schlüssel arbeitenden Kryptosystems. Hierzu gehören die Verwendung einer Matrix, der Gebrauch einer Maschinensprache und die Anwendung einer logischen Abbildung. Zwar ist es bei einem Matrixsystem möglich, mit Matrizen zu arbeiten, bezüglich welcher es
909819/0603
sich nachweisen läßt, daß man praktisch eine nicht zumutbare Zeit für die kryptoanalytische Behandlung, d.h. zum Berechnen des Schlüssels D aus dem Schlüssel E, "benötigen würde, wenn man bekannte Verfahren anwendet, doch ermangelt es dem Gebrauch von Matrizen der praktischen Anwendbarkeit, da die benötigten Matrizen enorme Abmessungen erhalten maßten. Zwar wird ferner der Gebrauch einer Maschinensprache sowie die Anwendung einer logischen Abbildung vorgeschlagen, doch werden keine Angaben darüber gemacht, auf welche Weise solche Systeme so ausgebildet werden können, daß für die Entschlüsselung nachweisbar eine zu lange Zeit benötigt würde.
Ferner führt Diffie ein Verfahren ein, bei dem ule vorgeschlagenen Kryptosystem mit öffentlichem Schlüssel angewendet werden, und das es dem Empfänger ermöglichen würde, die Authentizität einer Nachricht leicht nachzuprüfen, bei dem jedoch der Empfänger daran gehindert wird, scheinbar authentische Nachrichten zu erzeugen. Zwar beschreibt Diffie ferner ein Protokoll, nach dem gearbeitet werden soll, um bei dem vorgeschlagenen Kryptosystem mit öffentlichem Schlüssel eine Authentisierung zu erhalten, doch beruht das Authentisierungsverfahren auf der Existenz eines Kryptosystems mit öffentlichem Schlüssel, für das Diffie allerdings keine Vorschläge macht.
Der Erfindung liegt die Aufgabe zugrunde, es authorisierten Teilnehmern einer Unterhaltung (Unterhaltungsteilnehrner) zu ermöglichen, sich privat zu unterhalten, obwohl einer nicht authorisierten Person (Horcher) der gesamte Nachrichtenverkehr zugänglich ist. Ferner soll es die Erfindung einem einen unsicheren Kanal benutzenden Unterhaltungsteilnehmer ermöglichen, die Identität eines anderen Unterhaltungsteilnehmers festzustellen. Weiterhin soll es durch die Erfindung ermöglicht werden, für einen Empfänger, der einen unsicheren Kanal benutzt, eine Quittung zu erstellen,
909819/0603
um zu beweisen, daß über einen bestimmten Sender eine bestimmte Nachricht zu dem Empfänger übermittelt v/orden ist. Hierbei soll es dem Empfänger ermöglicht werden, auf leichte Weise die Authentizität einer Nachricht zu prüfen, doch soll der Empfänger daran gehindert werden, eine scheinbar authentische Nachricht zu erzeugen.
Zur Lösung dieser Aufgabe sind durch die Erfindung ein Verfahren und eine Vorrichtung geschaffen v/orden, die einen zugriffssicheren Verkehr über einen unsicheren Kanal dadurch ermöglichen, daß ein rechnerisch zugriffssicheres Kryptogramm übermittelt wird, bei dem es sich um eine öffentlich bekannte Transformation der durch den Sender übermittelten Nachricht handelt. Die weiter unten beschriebene Ausführungsform der Erfindung unterscheidet sich von den bis jetzt vorgeschlagenen Kryptosystemen mit öffentlichem Schlüssel, wie sie in "Multiuser Cryptographic Techniques" beschrieben sind, dadurch, daß es sich nicht nur zur praktischen Anwendung eignet, sondern daß es mit Hilfe bekannter Verfahren nachweisbar unmöglich ist, eine Umkehrung durchzuführen.
Gemäß der Erfindung erzeugt ein Empfänger einen geheimen Entzifferungsschlüssel sowie einen öffentlichen Verschlüsselungsschlüssel derart, daß sich der geheime Entζifferungsschlüssel nur unter Schwierigkeiten aus dem öffentlichen Verschlüsselungsschlüssel oder Code erzeugen läßt. Der Sender verschlüsselt eine zu übermittelnde Nachricht dadurch, daß er die Nachricht mit dem öffentlichen Verschlüsselungscode transformiert, wobei sich die Transformation zur Verschlüsselung der Nachricht leicht durchführen läßt, wobei es jedoch schwierig ist, eine Umkehrung ohne Benutzung des geheimen Entschlüsselungscodes durchzuführen. Die verschlüsselte Nachricht wird dann vom Sender zum Empfänger übermittelt. Der Empfänger entschlüsselt die verschlüsselte Nachricht dadurch, daß er die Verschlüsselungstransformation mit Hilfe des geheimen Entschlüsselungscodes umkehrt.
909819/0803
Bei einer zweiten Ausführungsform eines Verfahrens und einer Vorrichtung nach der Erfindung ist es möglich, mit Hilfe eines Senders die Identität eines autorisierten Empfängers zu authentisieren. Der aüthorisierte Empfänger erzeugt einen geheimen Entschlüsselungscode und einen öffentlichen Verschlüsselungscode derart, daß sich der geheime Entschlüsselungscode nur unter Schwierigkeiten aus dem öffentlichen Verschlüsselungscode erzeugen läßt. Der Sender verschlüsselt eine zu übermittelnde Nachricht dadurch, daß die Nachricht mit Hilfe des öffentlichen Verschlüsselungscodes transformiert wird, wobei sich die Transformation zur Verschlüsselung der Nachricht leicht durchführen läßt, wobei es jedoch schwierig ist, ohne Benutzung des geheimen Entschlüsselungscodes eine Umkehrung durchzuführen. Die verschlüsselte Nachricht wird dann vom Sender zum Empfänger übermittelt. Der Empfänger entschlüsselt die verschlüsselte Nachricht durch Umkehren der Verschlüsselungstrans formation unter Benutzung des geheimen Entschlüsselungscodes. Die Identität des Empfängers wird gegenüber dem Sender dadurch authentisiert, daß es dem Empfänger möglich ist, die verschlüsselte Nachricht zu entziffern.
Eine weitere Ausführungsform des Verfahrens und der Vorrichtung nach der Erfindung ermöglicht es, eine Quittung für eine übermittelte Nachricht zu erstellen. Hierbei erzeugt ein Sender einen geheimen Schlüssel und einen öffentlichen Schlüssel derart, daß sich der geheime Schlüssel nur unter Schwierigkeiten aus dem öffentlichen Schlüssel erzeugen läßt. Dann erstellt der Sender eine Quittung dadurch, daß er eine Darstellung der übermittelten Nachricht mit Hilfe des geheimen Schlüssels transformiert, wobei sich die Transformation zur Erzeugung der Quittung nur unter Schwierigkeiten durchführen läßt, wenn der geheime Schlüssel nicht zur Verfügung steht, wobei jedoch eine Umkehrung mit Hilfe des öffentlichen Schlüssels leicht möglich ist. Die
909819/0603
Quittung wird dann vom Sender zum Empfänger übermittelt. Der Empfänger bewirkt eine Umkehrung der Transformation mit Hilfe des öffentlichen Schlüssels, so daß man eine Darstellung der übermittelten Nachricht aus der Quittung erhält, und um die Quittung gültig zu machen, wird die Ähnlichkeit der Darstellung der übermittelten Nachricht mit der tatsächlich übermittelten Nachricht verglichen.
Ausführungsbeispiele der Erfindung werden im folgenden anhand schematischer Zeichnungen näher erläutert. Es zeigt:
Fig. 1 ein Blockschaltbild eines Kryptosystems mit öffentlichem Schlüssel, das geeignet ist, ein gegen rechnerische Eingriffe gesichertes Kryptogramm über einen nicht zugriffssicheren Kanal zu übermitteln;
Fig. 2 ein Blockschaltbild einer Verschlüsselungseinrichtung zum Umwandeln einer Nachricht in einen Zifferntext bei dem Kryptosystem nach Fig. 1;
Fig. 3 ein Blockschaltbild eines Multiplizierers zum Durchführen modularer Multiplikationen bei der Entschlüsselungseinrichtung nach Fig. 7, der Potenzier einrichtung nach Fig. 10 und dem mit einem öffentlichen Schlüssel arbeitenden Generator nach Fig. 11;
Fig. 4 die Schaltung einer Addiereinrichtung zum Durchführen von Additionen bei der Verschlüsselungseinrichtung nach Fig. 2, der Multipliziereinrichtung nach Fig. 3 und dem mit öffentlichem Schlüssel arbeitenden Generator nach Fig. 11;
Fig. 5 die Schaltung eines Komparators zum Durchführen von Größenvergleichen bei der Entschlüsselungseinrichtung nach Fig. 2, der Multipliziereinrichtung
909819/0603
nach Fig. 3, der Entschlüsse lungs einrichtung nach Fig. 7> der Dividiereinrichtung nach Fig. 8 und der alternativen Entschlüsselungseinrichtung nach Fig. 9;
Fig. 6 die Schaltung einer Subtraktionseinrichtung zum Durchführen von Subtraktionen bei der Multipliziereinrichtung nach Fig. 3, der Entschlüsselungseinrichtung nach Fig. 7 und der Dividiereinrichtung nach Fig. 8;
Fig. 7 ein Blockschaltbild einer Entschlüsselungseinrichtung zum Entschlüsseln eines Schlüsseltextes zur Umwandlung in eine Nachricht bei dem Kryptosystem mit öffentlichem Schlüssel nach Fig. 1;
Fig. 8 ein Blockdiagramm einer Dividiereinrichtung zum Durchführen von Divisionen bei der Einrichtung nach Fig. 7 und der alternativen Entschlüsselungseinrichtung nach Fig. 9;
Fig. 9 ein Blockschaltbild einer alternativen Entschlüsseleinrichtung zum Umwandeln eines Schlüsseltextes in eine Nachricht bei dem Kryptosystem mit öffentlichem Schlüssel nach Fig. 1;
Fig. 10 eine Potenziereinrichtung zum Potenzieren verschiedener Zahlen mit verschiedenen Exponenten nach der Moduloarithmetik bei der alternativen Entschlüsseleinrichtung nach Fig. 9 und dem Generator nach Fig. 11;
Fig. 11 einen mit öffentlichem Schlüssel arbeitenden Generator zum Erzeugen des öffentlichen Verschlüsselungs, codes bei dem Kryptosystem nach Fig. 1;
9098 19/060
Fig. 12 ein Fließbild des Algorithmus des logarithmischen Wandlers nach Fig. 11 für den Fall, daß ρ - 1 eine Potenz von 2 ist; und
Fig. 13 ein Fließbild des Algorithmus zum Berechnen der Koeffizienten (b.) der Reihe
n- -1
i <- i x(mod p. ) = Σ b. pV
1 d0 3 χ
wenn bei dem logarithmischen Wandler nach Fig. 11 der Ausdruck 0<b. <pi - 1 gilt, wobei p-1 nicht eine Potenz von 2 ist.
In Fig. 1 ist ein Kryptosystem mit öffentlichem Schlüssel dargestellt, bei dem sämtliche Nachrichten über einen nicht zugriffssicheren Kanal 19 übermittelt werden, z,B. über eine Fernsprechleitung. Die Übermittlung erfolgt über den ungesicherten Kanal 19 zwischen einem Sender 11 und einem Empfänger 12 unter Benutzung von Sender-Empfänger-Einheiten 31 und 32, bei denen es sich um Modems, z.B. solche der Bauart Bell 201, handeln kann. Dem Sender 11 wird eine unverschlüsselte Nachricht bzw. eine Klartextnachricht X eingegeben, die zu dem Empfänger 12 übermittelt werden soll. Zu dem Sender 11 und dem Empfänger 12 gehören eine Schlüsseleinrichtung 15 und eine Entschlüsseleinrichtung 16 zum Verschlüsseln bzw. Entschlüsseln von Informationen unter dem Einfluß eines Verschlüsse lungs co des E, der in der Leitung E erscheint, sov/ie eines reziproken Entschlüsselungscodes D, der in der Leitung D erscheint. Die Einrichtungen 15 und 16 bewirken eine umgekehrte Transformation, wenn ihnen die entsprechenden Codes E und D eingegeben werden. Diese Codes können sich z.B. aus einer Folge von zufällig gewählten Buchstaben oder Ziffern zusammensetzen. Die Verschlüsselungseinrichtung 15 verwandelt durch eine Verschlüsselung die Klar-
909819/0603
textnachricht X und eine verschlüsselte Nachricht oder einen Schlüsseltext S, der durch den Sender 11 über den ungesicherten Kanal 19 übermittelt wird; der Schlüsseltext S wird von dem Empfänger 12 empfangen und durch die Entschlüsse !einrichtung 16 entschlüsselt, so daß man wiederum die Klartextnachricht X erhält. Gemäß Fig. 1 ist angenommen, daß eine unbefugte Person bzw. ein Horcher 13 vorhanden ist, dem ein Schlüsselgenerator 23 und eine Entschlüsseleinrichtung 18 zur Verfügung stehen, und der Zugang zu dem ungesicherten Kanal 19 hat, so daß er dann, wenn er Kenntnis von dem Entschlüsselungscode hätte, den Schlüsseltext S entschlüsseln könnte, um die Klartextnachricht X zu erhalten.
Bei dem hier beschriebenen Ausführungsbeispiel wird von der Schwierigkeit Gebrauch gemacht, die sich aus dem sog. Tornisterproblem ("knapsack problem") ergibt. Eine einfache Erläuterung ergibt sich, wenn man einen eindimensionalen Tornister mit der Länge S und einen Vektor a annimmt, der η Stäbe mit der Länge a^, a2 ... an enthält; das Tornisterproblem besteht dann darin, einen Ergänzungssatz von Stäben zu finden, der den Tornister vollständig ausfüllt, wenn ein solcher Ergänzungssatz existiert. Eine äquivalente Aufgabe besteht darin, einen binären η-Vektor χ aus Nullen und Einsen derart zu finden, daß S = a * χ ist, wenn ein solcher x-Wert existiert; ein den Vektoren beigefügter Stern bezeichnet ein inneres Produkt, während er bei skalaren Größen eine normale Multiplikation bezeichnet.
Eine angenommene Lösung χ läßt sich leicht bei höchstens η Additionen prüfen; soweit gegenwärtig bekannt, erfordert das Auffinden einer Lösung eine Anzahl von Operationen, die mit η exponentiell zunimmt. Ein lückenloses Ausprobieren zum Auffinden einer Lösung bei sämtlichen 2n möglichen Werten für χ ist auf rechnerischem Wege unmöglich, wenn η größer ist als 100 oder 200. Eine Aufgabe wird als rechnerisch undurchführbar betrachtet, wenn ihre Kosten im Hinblick auf
909819/0603
die Größe des zu benutzenden Speichers oder die. Rechenzeit zwar einen endlichen Wert haben, jedoch jeden ausführbaren Wert überschreiten; dies trifft z.B. für den Fall zu, daß mit Hilfe bekannter Rechenverfahren und Rechengeräte Operationen durchgeführt werden müßten, deren Anzahl in der
"3O
Größenordnung von etwa 10 liegt.
Aus der Theorie ergibt sich die Schwierigkeit des Tornisterproblems, denn es handelt sich um ein NP-geschlossenes Problem, das daher eines der schwierigsten Rechenprobleme bei einem kryptographischen System bildet, (siehe z.B. A. V. Aho, J.E. Hopcraft und J.D. Ullman, "The Desin. and Analysis of Computer Algorithms", Reading, Ma., Addison-Wesley, 1974, S. 363-404.) Der Schwierigkeitsgrad richtet sich jedoch nach der Wahl von a. Ist a = (1, 2, 4, ... 2^n~ ', bedingt die Lösung für χ das Auffinden der binären Darstellung von S. Wenn etwas weniger trivial ausgedrückt für alle Werte von i der Ausdruck
a. > £ a3 (D
gilt, läßt sich χ ebenfalls leicht finden: Xn = 1, wenn und nur wenn s>an, und bei i = n-1, n-2, . und nur wenn der nachstehende Ausdruck
nur wenn s>an, und bei i = n-1, n-2, ... 1, ist x± = 1, wenn
s - Σ χα * ad * ai (2)
j = i+1
gilt.
Wenn man zuläßt, daß die Komponenten von x ganzzahlige Werte zwischen O und 1 annehmen, kann man die vorstehende Bedingung (1) durch _ . Ί i-1 _ ersetzen, und es ist mög-
τ-1 J
J-' n
lieh, x. als ganzzahligen Teil von (S- Σ 1 j=i
909819/0603
zurückzugewinnen. Die Gleichung (2) zum Feststellen des Wertes von x^, wenn x. als binärer Wert vorliegt, entspricht dieser Regel für 1=1.
Bei einem Tornister mit einer Falltür handelt es sich um eine Anordnung, bei der es eine sorgfältige Wahl von a dem Konstrukteur ermöglicht, leicht eine Lösung für jeden Wert von χ zu finden, bei der es jedoch für jede andere Person unmöglich ist, die Lösung zu finden. Im folgenden v/erden zwei Verfahren zum Konstruieren von Tornistern mit Falltüren beschrieben, doch wird zunächst auf ihre Verwendung bei einem mit öffentlichem Schlüssel arbeitenden Kryptosystem der in Fig. 1 dargestellten Art eingegangen. Der Empfänger 12 erzeugt einen Falltürtornister-Vektor a und überführt diesen entweder in eine öffentliche Kartei oder übermittelt ihn zu dem Sender 11 über den ungesicherten Kanal 19. Der Sender 11 stellt die Klartextnachricht X als einen Vektor χ mit η Nullen und Einsen dar, er berechnet S = a * x, und er übermittelt S zum Empfänger 12 über den ungesicherten Kanal 19. Der Empfänger 12 kann S für χ lösen, doch ist es für den Mithörer 13 unmöglich, S für χ zu lösen.
Bei einem Verfahren zum Erzeugen von Falltürtornistern arbeitet der Schlüsselgenerator 22 mit Zufallszahlen, die durch die Schlüsselquelle 26 erzeugt werden, um zwei große ganze Zahlen m und w zu wählen, so daß v; nicht modulo-mumkehrbar ist, d.h. daß m und w keine gemeinsamen Faktoren außer 1 haben. Beispielsweise kann die Schlüsselquelle einen Zufallszahlengenerator enthalten, der aus rauschstarken Verstärkern, z.B. Operationsverstärkern der Bauart Fairchild u 709 aufgebaut ist und einen Polaritätsdetektor aufweist. Dem Schlüsselgenerator 22 wird ein Tornistorvektor a'zugeführt, der die Gleichung (1) befriedigt und daher eine Lösung der Gleichung S' = a1 + χ ermöglicht, und er
909819/0603
verwandelt den leicht zu lösenden Tornistervektor a1 in einen Falltürtornister-Vektor a entsprechend der folgenden Gleichung:
a. = w * a!. mod m (3)
Der Vektor a wirkt als öffentlicher Verschlüsselungscode E in der Leitung E und entweder einer öffentlichen Kartei eingegeben oder über den ungesicherten Kanal 19 zum Sender übermittelt. Der Verschlüsselungscode E wird hierdurch sowohl für den Sender 11 als auch für den Mithörer 13 zugänglich. Beim Sender 11 wird der Verschlüsselungscode E, der gleich a ist, verwendet, um den Schlüsseltext S aus der Klartextnachricht X zu erzeugen, die durch den Vektor χ dargestellt wird, und zwar dadurch, daß zugelassen wird, daß S = a * χ ist. Da jedoch a^ pseudozufällig verteilt sein kann, ist es dem Mithörer 13, der a, jedoch nicht w oder m kennt, praktisch unmöglich, ein Tornisterproblem zu lösen, bei dem a eine Rolle spielt, um die gewünschte Nachricht χ zu erhalten.
Die Entschlüsseleinrichtung 16 des Empfängers 12 erhält w$ m und a1 als geheimen Entschlüsselungscode D, so daß sie leicht die nachstehende Berechnung ausführen kann.
S! = 1/w * S mod m (4)
= 1/w*Sx.* a± mod m (5)
= 1/w * £ x± * w * aj mod m (6)
= Σ.^ * a| mod m (7)
Wählt man m so, daß
m > £a| (8)
909819/0603
ergibt sich aus Gleichung (7), daß S1 gleich Ux1 * ai ' in der Ganzzahlarithmetik und gleich mod m ist. Dieser Tornister läßt sich leicht für χ lösen, wobei χ gleichzeitig die Lösung für das schwierigere Falltürtornister-Problem S = a * χ ist. Dem Empfänger 12 ist es daher möglich, die Klartextnachricht X zurückzugewinnen, die durch den binären Vektor χ dargestellt ist. Jedoch ist es möglich, dafür zu sorgen, daß sich das Falltürtornister-Problem, vor das sich der Mithörer 13 gestellt sieht, rechnerisch nicht lösen läßt, so daß es dem Mithörer nicht möglich ist, sich die Klartextnachricht X zugänglich zu machen.
Um diese Gedankengänge zu verdeutlichen, wird im folgenden ein Beispiel behandelt, bei dem η gleich 5 ist. Wählt man m = 8443, a' = (171, 196, 457, 1191, 2410) und w = 2550, erhält man a = (5457, 1663, 216, 6013, 7439). Wählt man χ = (0, 1,-0, 1, 1), berechnet die Schlüsseleinrichtung 15 den Wert S = 1663 + 6013 + 7439 = 15115. Die Entschlüsseleinrichtung 16 arbeitet mit dem Algorithmus von Euclid (siehe z.B. D. Knuth "The Art of Computer Programming", Bd. II, Addison-Wesley, 1969, Reading, Ma.), um 1/w = 3950 zu berechnen, um dann die nachstehende Rechnung auszuführen
S1 = 1/w * S mod m (9)
= 3950 * 15115 mod 8443 = 3797
Da S1 größer ist als a'r, bestimmt die Entschlüsseleinrichtung 17, daß Xc = 1. Dann bestimmt sie unter Benutzung der Gleichung (2) für den Vektor a», daß x^ = 1, x, = 0, X2 = 1, X1 = 0 oder χ = (0,1, 0, 1, 1) ist, wobei es sich hierbei auch um die richtige Lösung für S = a * χ handelt.
Für den Mithörer 13, der die Werte von m, w oder a' nicht kennt, ist es sehr schwierig, eine Lösung für χ aus S = a * χ
909819/0603
zu erhalten, und zwar auch dann, wenn er das Verfahren zum Erzeugen des Falltürtornister-Vektors a kennt. Diese Aufgabe läßt sich dadurch undurchführbar machen, daß man für n, m, w und a' größere Wert wählt. Die genannte Aufgabe läßt sich noch weiter erschweren, indem man die Reihenfolge der Werte von a. verwürfelt und jedem Wert von a. verschiedene zufällig gewählte Vielfache hinzufügt.
Das vorstehende Beispiel hat einen äußerst kleinen Umfang und soll lediglich das angewendete Verfahren veranschaulichen. Wenn man mit η = 100 arbeitet, wobei es sich um die untere Grenze des Bereichs handelt, der bei Systemen mit hohem Sicherheitsgrad gegenwärtig angewendet wird, d.h. wenn man einen vernünftigeren Wert ansetzt, liegt es nahe,
201 m annähernd gleichmäßig aus den Zahlen zwischen 2 + 1
202
und 2 - 1 zu wählen, d.h. a^' gleichmäßig aus dem Bereich (1,2 ) zu wählen, ap' gleichmäßig aus dem Bereich (2100 + 1, 2 * 2100) zu wählen, a3« gleichmäßig aus dem Bereich 3 x 2 10° + 1, 4 * 2100) usw. zu wählen, und daß a±« gleichmäßig aus ((2i~1-1) * 2100 + 1, 21"1 * 2100) gewählt wird; ferner kann man w' gleichmäßig aus (2, m-2) wählen und dann durch den größten gemeinsamen Teiler von (w1, m) teilen, so daß man w erhält.
Die Wahl dieser Werte gewährleistet, daß die Gleichung (8) befriedigt wird, und daß der Mithörer 13 mit mindestens 2 Möglichkeiten für jeden Parameter zu rechnen hat, so daß es ihm nicht möglich ist, sämtliche Möglichkeiten auszuprobieren.
Die Schlüsseleinrichtung 15 ist in Fig. 2 dargestellt. Die Folge von ganzen Zahlen a^, a£> ... a wird sequentiell synchron mit der sequentiellen Darstellung der Nullen und Einsen von x^ , x2, ... Xn zugeführt. Das S-Register 41 wird zunächst auf Null gesetzt. Wenn χ. = 1, werden der Inhalt
909819/0603
41 des S-Registers und a. durch den Addierer 42 addiert, und das Ergebnis wird dem S-Register 41 eingegeben. Ist X4 = O, bleibt der Inhalt des S-Registers 41 unverändert. In beiden Fällen wird i durch i + 1 ersetzt, bis i = η gilt, womit die Schlüsseloperation abgeschlossen ist. Das i-Register wird anfänglich auf Null gesetzt, und der Inhalt wird nach jedem Arbeitszyklus der Schlüsseleinrichtung um erhöht. Um den Inhalt des i-Registers 43 zu erhöhen, kann man entweder den Addierer 42 oder einen speziellen Aufwärtszähler benutzen. Bei dem vorstehend genannten Bereich von Werten können das S-Register 41 und das i-Register 43 beide durch einen einzigen mit direktem Zugriff arbeitenden Speicher für 1024 Bits, z.B. einen solchen der Bauart Intel 2102, gebildet werden. Der Aufbau des Addierers 42 wird weiter unten näher erläutert. Auch der Aufbau eines !Comparators 44, der benötigt wird, um i und η zu vergleichen und festzustellen, wann der Schlüsselvorgang beendet ist, wird im folgenden näher erläutert.
Zu dem Schlüsselgenerator 22 gehört ein Modulo-m-Multiplizierer, wie er z.B. in Fig. 3 dargestellt ist; dieser Multiplizierer dient zum Erzeugen von a^^ = w * a^1 mod m. Die beiden zu multiplizierenden Zahlen w und a^' werden den W- und A'-Registern 51 und 52 eingegeben, während m dem M-Register 53 eingegeben wird. Das Produkt w * a.' modulo m wird in dem P-Register 54 erzeugt, das anfänglich auf Null gesetzt wird. Hat k, die Zahl der Bits in der binären Darstellung von m, den Wert 200, können alle vier Register durch einen einzigen mit direktem Zugriff arbeitenden Speicher für 1024 Bits, z.B. einen solchen der Bauart Intel 2102, gebildet sein. Der in Fig. 3 dargestellte Aufbau beruht auf der Tatsache, daß wa.' mod m = w_a. · mod m + 2 w.,a. '
k 1 mod m + 4 v^a^' mod m + ... + 2 wk_iai' mod m is-fc·
Um w mit a.' zu multiplizieren, sind das am weitesten rechts stehende Bit, welches wQ des W-Registers 51 enthält, den Wert
909819/0603
1 hat, wird der Inhalt des A'-Registers 53 zum Inhalt des P-Registers 54 durch den Addierer 55 addiert. Ist w = O, bleibt der Inhalt des P-Registers 54 unverändert. Dann v/erden die Inhalte der M- und P-Register durch den Komparator 56 verglichen, um festzustellen, ob der Inhalt des P-Registers 54 größer als m oder gleich m ist, d.h. dem Inhalt des M-Registers 53 ist. Wenn der Inhalt des P-Registers 54 größer ist als m oder gleich m, subtrahiert die Subtrahiereinrichtung 57 m vom Inhalt des P-Registers 54 und gibt die Differenz dem P-Register 54 ein; ist die Differenz kleiner als m, bleibt das P-Register 54 unverändert.
Nunmehr wird der Inhalt des !«/-Registers 5I um eine Bitstelle nach rechts verschoben, und eine Null wird auf der linken Seite zugeführt, so daß der Inhalt den Wert ^wk-1 wk 2 *·* W2^1 arm-^-mm'^i woraufhin w für die Berechnung von 2 W1a' mod m bereit ist. Die Größe 2a' mod m wird zu diesem Zweck dadurch berechnet, daß mit Hilfe des Addierers 55 die Größe a1 zu sich selbst addiert wird, wobei der Komparator 56 dazu dient, festzustellen, ob das Ergebnis 2aT kleiner ist als m, und wobei die Subtrahiereinrichtung 57 dazu dient, m von 2a1 abzuziehen, wenn das Ergebnis nicht kleiner ist als m. Das Ergebnis 2a1 mod m wird dann im A1-Register 52 gespeichert. Dann wird wie zuvor das am weitesten rechts stehende Bit des W-Registers 5I, das w^ enthält, geprüft, woraufhin sich der beschriebene Vorgang wiederholt.
Dieser Vorgang wird höchstens k-mal wiederholt oder bis das W-Register 51 nur Nullen enthält, woraufhin wa1 modulo m im P-Register 54 gespeichert v/ird.
Als Beispiel für diese Rechenoperationen wird im folgenden die Aufgabe der Berechnung von 7x7 modulo 23 behandelt. Nachstehend sind die aufeinander folgenden Inhalte der ¥-, A'-und P-Register angegeben, aus denen sich die Lösung für 7x7=3 modulo 23 ergibt.
909819/0803
i ¥ (in binärer Form) A1 P
0 00111 7 0
1 00011 14 0+7=7
2 00001 5 7 + 14 = 21
3 00000 10 21 + 5 = 3 mod 23
Fig. 4 zeigt den Aufbau eines Addierers 42 bzv/. 55 zum Addieren von zwei Zahlen ρ und ζ mit k Bits. Diese Zahlen werden dem Addierer in Form einzelner Bits eingegeben, wobei das Bit der niedrigsten Größenordnung zuerst eingegeben wird, und das Verzögerungselement wird zunächst auf 0 eingestellt. Die Verzögerung repräsentiert das binäre Übertragbit. Das UND-Gatter 61 bestimmt, ob das Übertragbit eine 1 sein soll, auf der Grundlage, daß p. und ζ. beide den Wert 1 haben, und das UND-Gatter 62 bestimmt, ob das Übertragbit eine 1 sein muß, auf der Basis der Tatsache, daß das vorherige Übertragbit eine 1 war, und daß eine der Größen p. und z. den Wert 1 haben. Wenn eine dieser beiden Bedingungen zugrifft, liefert das Gatter 63 das Ausgangssignal 1, das eine Übertragung zur nächsten Stufe anzeigt. Die beiden Exklusiv-ODER-Gatter 64 und 65 bestimmen das i-te Bit der Summe s. als die Modulo-2-Summe von p. und z^ und das Übertragbit aus der vorausgehenden Stufe. Die Verzögerungseinrichtung 66 speichert das vorausgehende Übertragbit. Bei diesen Gattern und der Verzögerungseinrichtung kann man z.B. die unter den Bezeichnungen SN7400, SN7404 und SN7474 erhältlichen Schaltkreise verwenden.
Fig. 5 zeigt den Aufbau eines !Comparators 44 bzv;. 56 zum Vergleichen zweier Zahlen ρ und m. Die beiden Zahlen werden in Form einzelner Bits eingegeben, wobei das Bit der höchsten Ordnung als erstes zugeführt v/ird. Wenn keiner der beiden Ausgänge p<m und p>m getriggert worden ist, nachdem die letzten Bits pQ und m eingegeben wurden, gilt ρ = m. Die erste Triggerung eines der Ausgänge p<m und p>m bewirkt, daß die Vergleichsoperation beendet wird. Die beiden UND-Gatter 71 und 72 weisen jeweils einen invertierenden Eingang
909819/0603
auf, wie es in Fig. 5 jeweils durch einen Kreis angedeutet ist. Die Schaltkreise SN7400 und SN7404 liefern sämtliche benötigten logischen Schaltkreise.
Fig. 6 zeigt den Aufbau einer Subtrahiereinrichtung 57 zum Subtrahieren zweier Zahlen. Da die gemäß Fig. 3 zu subtrahierenden Zahlen stets eine nicht negative Differenz ergeben, brauchen negative Differenzen nicht berücksichtigt zu werden. Die größere Zahl, d.h. der Minuend, wird mit ρ bezeichnet, während die kleinere Zahl, d.h. der Subtrahend, mit m bezeichnet wird. Beide Zahlen ρ und m werden der Sübtrahiereinrichtung 57 seriell eingegeben, wobei das Bit der niedrigsten Ordnung zuerst eingegeben wird. UND-Gatter 81 und 83, ein ODER-Gatter 84 und ein exklusives ODER-Gatter 82 stellen fest, ob ein Borgen (negativer Übertrag) stattfindet. Ein Borgen erfolgt, wenn entweder p· = 0 und m. = 1 oder p. = m., und wenn beim vorausgehenden Stadium ein Borgen stattgefunden hat. Die Verzögerungseinrichtung 85 speichert den vorausgegangenen Zustand des Borgens. Das i-te Bit der Differenz, d.h. d^, wird als die Exklusiv-ODER- bzw. als Modulo-2-Differenz von p., m. und dem Borgebit berechnet. Das Ausgangssignal des Exklusiv-ODER-Gatters 82 bildet die Modulo-2-Differenz zwischen p^ und mi, und das Exklusiv-ODER-Gatter 86 übernimmt die Modulo-2-Differenz hieraus zusammen mit dem vorausgegangen Borgbit. Diese Gatter und die Verzögerungseinrichtung können z.B. durch die Schaltkreise SN7400, SN7404 und SN7474 gebildet sein.
Die Entschlüsseleinrichtung 16 ist in Fig. 7 dargestellt. Ihr werden der Schlüsseltext S und der Entschlüsselcode zugeführt, der aus w, m und a1 besteht, und sie hat die Aufgabe, χ zu berechnen.
Um χ zu berechnen, werden zuerst w und m einem Modulo-m-Inverter 91 eingegeben, der w mod m berechnet. Dann wird dar Modulo-m-Hultiplizierer 92 benutzt, um S! = \~ S mod η zu berechnen. Gemäß den Gleichungen (7) und (8) gilt die
909819/0803
Gleichung S1 = a' * χ, die sich leicht für χ lösen läßt. Der Komparator 93 vergleicht dann S1 mit a · und entscheidet, daß χ = 1 ist, wenn S1^ a f und daß χ = 0, wenn S'< an«. Ist Xn = 1, wird S' durch die Größe S· - a » ersetzt, die durch die Subtrahiereinrichtung 94 berechnet wurde. Ist Xn= 0, bleibt S1 unverändert. Der Rechenvorgang wird für a ^' und ^n-1 wiederholt und fortgesetzt, bis χ berechnet ist. Das j-Register 95 wird anfänglich auf η eingestellt, und nach jedem Stadium des Entschlüsselvorgangs wird der Inhalt um 1 verkleinert, bis j = 0, wodurch der Rechenvorgang beendet und die Berechnung von χ angezeigt wird. Man kann entweder die Subtrahiereinrichtung oder einen Abwärtszähler benutzen, um den Inhalt des j-Registers 95 zu verkleinern. Der Komparator 96 kann benutzt werden, um den Inhalt des j-Registers 95 mit Null zu vergleichen und zu bestimmen, wann der Rechenvorgang beendet werden soll. Weitere Einzelheiten des Modulo-m-Multiplizierers 92 sind aus Fig. 3 ersichtlich; der Komparator ist mit weiteren Einzelheiten in Fig. 5 dargestellt, und Fig. 6 zeigt weitere Einzelheiten der Subtrahiereinrichtung 94. Der Modulo-m-Inverter 91 kann auf einer bekannten erweiterten Version des Algorithmus von Euclid basieren. (Siehe z.B. D. Knuth,"The Art of Computer Programming", Bd. II, Addison-Wesley, I969, Reading, Ma., S. 302 und S. 315, Aufgabe 15). Gemäß der Beschreibung von Knuth b.enötigt man in der Praxis sechs Register, einen Komparator, eine Dividiereinrichtung und eine Subtrahiereinrichtung. Mit Ausnahme der Dividiereinrichtung sind alle diese Einrichtungen bereits beschrieben worden.
Fig. 8 zeigt Einzelheiten einer Einrichtung zum Dividieren einer ganzen Zahl durch eine andere ganze Zahl v, um einen Quotienten q und einen Rest r so zu berechnen, daß 0 < r <■ ν - 1 ist. Zuerst v/erden u und ν in Form binärer Zahlen dem U-Register 101 bzw. dem V-Register 102 eingegeben. Dann wird v, d.h. der Inhalt des V-Registsrs, nach links vsr-
909819/0603
schoben, bis bei vk_,j eine 1, d.h. das am weitesten links stehende Bit des V-Registers 102 erscheint. Dieser Rechenvorgang läßt sich mit Hilfe des Komplements von vk ^ durchführen, um den Verschiebungsregler eines Schieberegisters, z.B. eines solchen der Bauart Signetics 2533, zu betätigen, das anfänglich auf Null gesetzt wurde. Der Inhalt des Aufwärts/Abwärts-Zählers 103 ist gleich der um 1 verminderten Anzahl der in dem Quotienten enthaltenen Bits.
Nach dieser Einleitung des- Rechenvorgangs wird ν als Inhalt des V-Registers 102 mit dem Inhalt des U-Registers 101 durch den Komparator 104 verglichen. Ist ν kleiner als u, ist q , d.h. das höchstwertige Bit des Quotienten, gleich 0, und u bleibt unverändert. Ist ν kleiner oder gleich u, ist q = 1, und u wird durch den ¥ert u - ν ersetzt, der durch die Subtrahiereinrichtung 105 berechnet wird. In beiden Fällen wird ν um ein Bit nach rechts verschoben, und der Vergleich, ob ν größer ist als u, wird v/iederholt, um q «., d.h. das nächste Bit des Quotienten, zu berechnen.
Dieser Rechenvorgang wird wiederholt, wobei der Inhalt des Aufwärts/Abwärts-Zählers 103 nach jedem Rechenschritt um 1 verkleinert wird, bis der Viert 0 erreicht ist. Sobald dies geschehen ist, ist der Quotient vollständig, und der Rest r befindet sich im U-Register 101.
Als Beispiel sei das Dividieren von 14 durch 4 behandelt, wobei man q=3 und r=2 erhält, und wobei k=4 die Größe des Registers bezeichnet. Da u = 14 = 1110 und ν = 4 = 0100 in binärer Schreibweise ist, wird der Inhalt des V-Registers 101 nur einmal nach links verschoben, so daß man ν = 1000 erhält. Nach dieser Einleitung des Rechenvorgangs zeigt es sich, daß ν < u, so daß das erste Bit q^ des Quotienten den Wert 1 hat, und daß u durch u-v ersetzt wird; ν wird daduch ersetzt, daß ν um ein Bit nach rechts verschoben wird, und
909819/0603
der Aufwärts/Abwärts-Zähler 103 wird auf den Wert 0 gebracht. Hierdurch wird angezeigt, daß das letzte Bit uQ des Quotienten berechnet wird, und daß sich nach dem soeben beschriebenen Rechenschritt der Rest r im U-Register befindet. Die nachstehende Folge von Registerinhalten erleichtert die Verfolgung dieser Rechenoperationen.
U V Zähler q
1110 1000 1 1
0110 0100 0 1
0010 Ende
Es ist ersichtlich, daß q = 11 in binärer Form dem Ausdruck q = 3 gleichwertig ist, und daß r = 0010 in binärer Form dem Ausdruck r = 2 gleichwertig ist.
Bei einem weiteren Verfahren zum Erzeugen eines Falltürtornister-Vektors a wird von der Tatsache Gebrauch gemacht, daß sich ein multiplikativer Tornister leicht lösen läßt, wenn die Vektoreinträge relative Primzahlen sind. Nimmt man an, daß a' = (6, 11, 35, 43, 169), und daß ein Teilprodukt P = 2838, läßt sich leicht zeigen, daß P = 6 * 11 * 43, da 6, 11 und 43 die Größe P gleichmäßig unterteilen, was für 35 und I69 nicht gilt. Um einen multiplikativen Tornister und einen additiven Tornister zu verwandeln, verwendet man Logarithmen. Damit man für beide Vektoren brauchbare Werte erhält, werden die Logarithmen über GF(m), d.h. das endliche Galois-Feld mit m Elementen verwendet, wobei m eine Primzahl ist. Es ist auch möglich, Werte von m zu verwenden, die keine Primzahlen sind, doch werden die Rechenvorgänge hierbei etwas schwieriger.
Im folgenden wird ein kleines Beispiel behandelt. Wählt man n=4, m=257, a'= (2, 3, 5, 7) und die Basis der Logarithmen als b = 131, erhält man a = (80, 183, 81, 195). Dies entspricht I3I80 = 2 mod 257, I31183 = 3 mod 257 usw. Das Auffinden von Logarithmen über GF(m) ist relativ einfach, wenn
909819/0603
- 28 m-1 nur kleine Primfaktoren enthält.
Wenn man der Entschlüsseleinrichtung 16 den Wert S = 183 + 81 ss 264 zuführt, arbeitet sie mit dem Entschlüsselungscode D, der sich aus m, a' und b zusammensetzt, um die folgende Berechnung durchzuführen:
S' = bS mod m (10)
= 13126Zf mod 257 = 15
= 3*5
f0 j. |1 * fO - a^j &2 a^
Dies bedeutet, daß χ = (0, 1, 1, 0). Der Grund hierfür besteht darin, daß
1 x (12)
= Jta±' x mod m (13)
Es ist jedoch erforderlich, daß
IEa1^ m (14)
i = 1
um zu gewährleisten, daß K&^1 x mod m gleich 3Ta^1 ■*- bei arithmetischer Schreibweise für die ganzen Zahlen ist.
Der Mithörer 13 kennt den Verschlüsselungscode E, der durch den Vektor a gebildet wird, doch kennt er nicht den Entschlüsselungscode D, so daß er vor einer rechnerisch nicht durchführbaren Aufgabe steht.
Bei dem vorstehenden Beispiel handelte es sich wiederum um ein kleines Beispiel, das lediglich zur Veranschaulichung
909819/0603
des Verfahrens dienen soll. Wählt man η « 100, wenn jeder Wert von a^1 eine zufällig gewählte Primzahl mit 100 Bits ist, würde m annähernd eine Länge von 10 000 Bits erhalten, um zu gewährleisten, daß die Gleichung (14) befriedigt wird. Zwar ist eine Datenerweiterung im Verhältnis von 100:1 in manchen Anwendungsfällen akzeptabel, z.B. bei der gesicherten CodeVerteilung über einen ungesicherten Kanal, doch ist es wahrscheinlich nicht erforderlich, daß ein Gegner bezüglich des Wertes a>· in diesem Ausmaß unsicher ist. Es ist sogar möglich, die ersten η Primzahlen für a.' zu verwenden; in diesem Fall könnte man m auf eine Länge von bis zu 730 Bits verkürzen, wenn η = 100, und hierbei würde die Bedingung der Gleichung (14) immer noch erfüllt. Somit besteht immer noch die Möglichkeit eines Vergleichs zwischen der Sicherheit und der Datenerweiterung.
Bei dieser Ausführungsform ist die Schlüsseleinrichtung in der gleichen Weise aufgebaut, wie es in Fig. 2 gezeigt und vorstehend beschrieben ist. Die Entschlüsseleinrichtüng 16 der zv/eiten Aus führungs form ist in Fig. 9 dargestellt. Der Schlüsseltext S und Teile des Entschlüsselungscodes D, und zwar b und m, werden durch den Potenzierer 111 verwendet, um P = b mod m zu berechnen. Gemäß den Gleichungen (12) bis (14) und dem beschriebenen Beispiel ist P ein Teilprodukt von (a^), das ebenfalls einen Teil des Entschlüsselungscodes D bildet. Die Dividiereinrichtung 112 teilt P durch a^ für i = 1, 2, ... η und führt nur den Rest r^ dem Komparator 113 zu. Ist r. = 0, wird P durch a.' gleichmäßig verteilt, und x^^ = 1. Ist r^ J= 0, ist x^ = 0. Die Dividiereinrichtung 112 kann in der aus Fig. 8 ersichtlichen, bereits beschriebenen Weise aufgebaut sein. Der Komparator 113 kann der anhand von Fig. 5 gegebenen Beschreibung entsprechen, doch gibt es wirtschaftlichere Einrichtungen für den Vergleich mit 0.
909819/0603
Der Potenzierer 111 zum Potenzieren von b mit S-modulo-m kann als elektronische Schaltung nach Fig. 10 aufgebaut sein. In Fig. 10 ist der anfängliche Inhalt von drei Registern 121, 122 und 123 angegeben. Die binäre Darstellung von S(S^1, sk„2 ·** s1s0^ wird- dem S-Regis"ter 121 eingegeben; dem R-Register 122 wird der Wert 1 eingegeben, und die binäre Darstellung von b wird dem B-Register 123 entsprechend i=0 eingegeben. Die Anzahl der Bits k in jedem Register ist gleich der kleinsten ganzen Zahl, so daß 2 > m. Ist k = 200, können alle drei Register durch einen einzigen mit direktem Zugriff arbeitenden Speicher für 1024 Bits, z.B. der Bauart Intel 2102, gebildet sein. Der Aufbau des Multiplizierers 124 zum Multiplizieren zweier. __. Zahlen modulo m wurde bereits anhand von Fig. 3 beschrieben.
Wenn gemäß Fig. 10 das Bit der niedrigen Ordnung, welches Sq des S-Registers 121 enthält, gleich 1 ist, werden die Inhalte des R-Registers 122 und des B-Registers 123 modulo m multipliziert, und das Produkt, das ebenfalls eine Größe mit k Bits ist, ersetzt den Inhalt des R-Registers 122. Ist sQ = 0, bleibt der Inhalt des R-Registers 122 unverändert. In beiden Fällen wird der Inhalt des B-Registers 123 dem Multiplizierer 124 zweimal eingegeben, so daß das Modulo-m-Quadrat des Inhalts des B-Registers 123 berechnet wird. Dieser Wert bi2±+1) ersetzt den Iniialt des B-Registers 123. Der Inhalt des S-Registers 121 wird um ein Bit nach rechts verschoben, und auf der linken Seite wird eine 0 eingesetzt, so daß der Inhalt jetzt Osir_-]sv 2* * *S2S1 ^s
Das Bit der niedrigen Ordnung, das S1 aus dem S-Register 121 enthält, wird geprüft. Ist es gleich 1, werden wie zuvor die Inhalte des R-Registers 122 und des B-Registers 123 " modulo-m-multipliziert, und das Produkt ersetzt den Inhalt des R-Registers 122. Ist das Bit der niedrigen Ordnung gleich
909819/0603
O, bleibt der Inhalt des R-Registers 122 unverändert. In beiden Fällen wird der Inhalt des B-Registers 123 durch das Modulo-m-Quadrat des vorherigen Inhalts ersetzt. Der Inhalt des S-Registers 121 wird um ein Bit nach rechts verschoben, und am linken Ende wird eine 0 eingesetzt, so daß sich der Inhalt 00s, .,, s, o...s,s9 ergibt.
Diese Rechenvorgänge werden fortgesetzt, bis das S-Register
121 nur Nullen enthält; an diesem Punkt wird der Wert von b modulo m im R-Register 122 gespeichert.
Dieses Verfahren wird durch das folgende Beispiel erläutert. Wählt-man m = 23, findet man k=5 aus 2k > m. Ist b = 7 und S = 18, erhält man bs = 718 = 1628413597910449 = 23(70800591213497) + 18, so daß bs modulo m gleich 18 ist. Dieses einfache, jedoch langwierige Verfahren zum Berechnen von bs modulo m wird als Prüfverfahren verwendet, um zu zeigen, daß das Verfahren nach Fig. 10 das richtige Ergebnis liefert. Nachstehend sind die Inhalte' des R-Registers
122 und des B-Registers 123 in dezimaler Form angegeben, um das Verständnis zu erleichtern.
i S (in binärer Form) R B
0 10010 1 7
1 01001 1 3
2 00100 3 9
3 00010 3 12
4 00001 3 6
5 00000 18 13
Die mit i=0 bezeichnete Reihe entspricht den ursprünglichen Inhalten der verschiedenen Register, d.h. S = 18, R = 1 und B = b = 7.Da, wie oben erläutert, das rechtsbündige Bit im S-Register 121 gleich 0 ist, bleibt der Inhalt des R-Registers 122 unverändert, der Inhalt des B-Registers
909819/0803
Y/ird durch das Modulo-23-Quadrat des vorherigen Inhalts (72 = 49 = 2 χ 23 + 3 = 3 modulo 23) ersetzt, der Inhalt des S-Registers 121 wird um ein Bit nach rechts verschoben, und der Rechenvorgang wird fortgesetzt. Nur wenn i = 1 bzw. 4 ist, ist das rechtsbündige Bit im S-Register 121 gleich 1, so daß nur beim Übergang von i von 1 auf 2 und beim Übergang von i von 4 auf 5 der Inhalt des R-Registers 122 durch RB modulo m ersetzt wird. Ist i = 5, ist S = 0, so daß der Rechenvorgang abgeschlossen ist und sich das Ergebnis 18 im R-Register 122 befindet.
Es sei bemerkt, daß das gleiche Ergebnis 18 hier wie bei
18
der einfachen Berechnung von 7 modulo 23 gewonnen wird, daß sich jedoch hier niemals große Zahlen ergeben.
Um das Rechenverfahren verständlich zu machen, sei bemerkt, daß das B-Register 123 die ¥erte b, b2, b^, b8 und b16 enthält, wenn i = 0, 1, 2, 3 bzw. 4, und daß b18 = bi6b2 ist, so daß nur diese beiden Werte multipliziert zu werden brauchen.
Einzelheiten des bei der zweiten Ausführungsform verwendeten Schlüsselgenerators 22 sind in Fig. 11 dargestellt. In der Quelle 131 wird eine Tabelle von η kleinen Primzahlen p. erzeugt und gespeichert, wobei es sich bei dieser Quelle um einen Festwertspeicher, z.B. einen solchen der Bauart Intel 2316E, handeln kann. Die Schlüsselquelle 26 erzeugt in der schon beschriebenen Weise Zufallszahlen e^. Die kleinen Primzahlen aus der Quelle 131 werden jeweils mit einem anderen Exponenten potenziert, der durch eine Zufallszahl ei aus der Schlüsselquelle 26 repräsentiert wird; dies geschieht mit Hilfe des Potenzierers 132, um P1 ^- für i = 1 bis η zu erzeugen. Der Multiplizierer 133 berechnet dann das Produkt sämtlicher Werte von ρΊ·Θΐ, das durch Ep.01 dargestellt werden. Das Produkt sämtlicher Werte ρ ^ 1J
909819/0603
η e.
7ΐ ρ- wird dann durch den Addierer 134 um 1 erhöht, um den Potenzwert von m zu erhalten. Ist es erwünscht, daß m eine Primzahl ist, kann man den Potenzwert von m auf seine Primzahleigenschaft mit Hilfe des Primzahlprüfers 135 prüfen.
Primzahlprüfer zum Feststellen, ob eine Zahl m eine Primzahl ist, wenn die Fakturisierung von m-1 "bekannt ist, wie es hier der Fall ist, wo
η e.
m-1 = % p. , sind in der Fachliteratur beschrieben, i 1 x
(Siehe z.B. D. Knuth, "The Art of Computer Programming", Bd. II, Seminumerical Algorithms, S. 347-48). Wie dort beschrieben, benötigt der Primzahlenprüfer 135 nur eine Ein*· richtung zum Erheben verschiedener Zahlen zu verschiedenen Potenzen modulo m, wie es in Fig. 10 gezeigt ist. Wenn es sich zeigt, daß ein Potenzwert von m eine Primzahl ist, wird m durch den Generator nach Fig. 11 für den öffentlichen Schlüssel als variable Größe m ausgegeben. Die Elemente a.' des Vektors a1 können dann so gewählt werden, daß es sich um die η kleinen Primzahlen P1 aus der Quelle 131 handelt.
Die Basis b der Logarithmen wird dann durch die Schlüsselquelle 26 als Zufallszahl gewählt.
Die Elemente des Vektors a werden durch den logarithmischen Wandler 136 nach Fig. 11 als Logarithmen zur Basis b der Elemente des a'-Vektors über GF(m) berechnet. Der Aufbau und die Wirkungsweise eines solchen logarithmischen Wandlers 136 sind nachstehend erläutert.
Wenn ρ eine Primzahl ist, gilt bekanntlich
zp"1 = 1 (mod p), 1 < ζ < p~1 (15)
Daher werden arithmetische Operationen bei dem Exponenten modulo p-1 und nicht modulo ρ durchgeführt. Dies bedeutet,
909819/0603
zx = 2x(modp-1) (modp)
Dies gilt für alle ganzen Zahlen x.
Der Algorithmus zum Berechnen von Logarithmen mod ρ wird am besten verständlich, wenn man zuerst den Sonderfall P = 2n+1 betrachtet. Es stehen die Werte oc, ρ und y zur Verfugung, wobei oc ein primitives Element von GF(p) darstellt, und χ muß so gefunden werden, daß y = x(mod p). Man kann annehmen, daß 0 < χ <_ p-2, da χ = p-1 von χ = 0 nicht zu unterscheiden ist.
Ist ρ = 2n+1, läßt sich χ leicht ermitteln, indem man die binäre Reihe (bg, ... b ^) von χ bestimmt.
Das niedrigstv/ertige Bit b von χ wird dadurch ermittelt, daß y mit (p-1)/2 = 2n potenziert wird, und daß die nachstehende Regel angewendet wird.
Diese Tatsache ergibt sich, wenn man feststellt, daß dann, wenn oc primitiv ist, die folgende Gleichung gilt:
- -1 (mod p) (18) und daß daher
(p-1)/2 = (0<*)(P-1)/2 = (-1)x (mod p)
Das nächste Bit in der Erweiterung von χ wird dann dadurch bestimmt, daß man die Gleichung
= y O6~bo = ocxl (mod p) (20)
909819/0603
gelten läßt, wobei
n-1 - i=1 Di
Offensichtlich ist X^ nur dann ein Vielfaches von 4, wenn Td-J = 0. Ist Td^ = 1, ist x^ durch 2, jedoch nicht durch 4 teilbar. Bei der Fortsetzung der vorstehenden Schlußfolgerungen ergibt sich
:(P-1)/4(mod p) J 1 (22)
1-1, b. = 1
Die übrigen Bits von χ werden auf ähnliche Weise ermittelt. Dieser Algorithmus ist in Fig. 12 in einem Fließbild zusammengefaßt.
Um dieses Fließbild verständlich zu machen, sei bemerkt, daß für den Anfang der i-ten Schleife die folgenden Gleichungen
m« (p-D/2i+1 (23)
und . x>
ζ = oi * (mod ρ) (24)
gelten, in denen
n-1 .
x. = Z b.23 (25)
1 G=i °
Wenn man ζ mit m potenziert, erhält man somit
i 2 = (-I) (mod ρ) (26)
909819/0603
so daß ζ = 1 (mod ρ), und zwar nur dann, wenn b. = 0, und daß zm = -1 (mod p) ist, wenn b. = 1.
Als Beispiel wird im folgenden der Fall betrachtet, daß ρ = 17 = 2 + 1. Dann ist ot= 3 primitiv, wogegen o£= 2 nicht primitiv ist, da 28 = 256 = 1 (mod 17). Ist y = 10 gegeben, berechnet der Algorithmus χ in der nachstehenden Weise; hierzu sei bemerkt, daß ß = x~ =6 ist, da 3x6= 18= 1, mod 17.
i Z ß m W O 10 6 8 16
1 9 2 4 16 1
2 1 4 2 1 0
3 1 16 1 1 0
4 1 1/2
Auf diese Weise ergibt sich, daß χ = 2° + 2 =3. Dies ist richtig, da a? = 33 = 27 = 10 (mod 17).
Nunmehr wird dieser Algorithmus verallgemeinert und bei beliebig gewählten Primzahlen ρ angewendet. Als Primzahlenfekturisierung von p-1 wird der Ausdruck
n1 n2 nk P - 1 = P1 1P2 ... pk , Pi<Pi+1 (27)
gewählt, indem die Werte von p. klare Primzahlen und die Werte von n^ positive ganze Zahlen sind. Die Werte von χ (mod p.ni) werden für i = 1, ... k bestimmt, und die Ergebnisse werden mit Hilfe des chinesischen Resttheorems kombiniert, so daß man die Gleichung
k n.
χ (mod % p. ) = χ (mod p-1) = χ (28) i1 x
909819/0603
erhält, da O <£ χ <. p-2. Das chinesische Resttheorem kann mit Rechenoperationen der Form 0(k log2p) und Bits der Form 0(k log2p) im Speicher durchgeführt werden. Hierbei wird eine Modulo-p-Multiplikation als eine Rechenoperation gezählt.
Im folgenden wird eine Erweiterung bzv/. Reihe für χ (mod p^ ] betrachtet.
η. J" ό
χ (mod p. x) = b .p, (29)
1 -i_n J x
Hierin ist 0 < b . < p. -1.
Um den niedrigstwertigen Koeffizienten b zu ermitteln, wird y mit (p-O/PjL potenziert.
^ oc(P-1>x/Pi = γ* = (Ti)b° (mod p). (30) Hierin ist
r± = (P-1>/Pi (mod p) (3D
d.h. eine primitive p.-te Wurzel aus 1. Somit gibt es nur P1 mögliche Werte für y^p~ '^Ρχ (mod p), und der resultierende Wert bestimmt b unzweideutig.
n. Um die nächste Ziffer b1 in der Reihe für χ (mod P1 ) auf der Basis P1 zu ermitteln, wird die Gleichung
z = y.ot ° =oCX1(mod p) (32)
gewählt; hierin ist
909819/0603
X1 = I1 b dp±3 (33)
2 Durch Potenzieren von ζ mit (p-1)/pi erhält man jetzt
i) bi (mod p) .(34) (34)
Wiederumg gibt es nur ρ ^ mögliche Werte von z^p~ ''^i , und dieser Wert bestimmt b1. Dieses Verfahren wird fortgesetzt, um sämtliche Koeffizienten b. zu ermitteln.
Das in Fig. 13 gegebene Fließbild faßt den Algorithmus zum Berechnen der Koeffizienten b. der Reihe (29) zusammen. Dieser Algorithmus wird k-mal benutzt, um χ (mod p. i ) für i = 1, 2, ... k zu berechnen, und diese Ergebnisse werden nach dem chinesischen Resttheorem kombiniert, so daß man χ erhält. Die Funktion g^w) in Fig. 13 ist durch die folgende Gleichung bestimmt:
g,· (w)
f± x = w (mod p), (Kg1Cw)^p1-I (35)
hierin ist y. durch die Gleichung (31) bestimmt.
Wenn alle Primfaktoren (P1)? = 1 von p-1 klein sind, lassen sich die Funktionen g^w) leicht als Tabellen darstellen, und die Berechnung eines Logarithmus über GF(p) erfordert 0(log2P) Rechenoperationen und nur einen minimalen Speicheraufwand für die Tabellen für gi(w). Das vorherrschende rechnerische Erfordernis ist die Berechnung von w = zn, für die man O(log9p) Rechenoperationen benötigt. Diese Schleife wird k ^
^ n^-mal durchlaufen, und wenn alle Werte von p. klein sind, i1 x x
909819/0603
hat £ η. annähernd den Wert log9p. Wenn p-1 nur kleine i=1 x ^
Primfaktoren enthält, ist es daher leicht möglich, Logarithmen über GF(p) zu berechnen.
Als Beispiel sei der Fall betrachtet, daß p=19, =2 und
2
y=1O. Dann ist p-1 = 2·3 und p^=2, n,j=1, p2=3 und n2=2. Um x(mod p^ 1) = x(mod 2) zu berechnen, ist es erforderlich, y(P-1)/Pi = 0,9 _ 512 = -is (m0(ä 19) so 2U berechnen, daß b^=1 und χ (mod 2) =2=1, d.h. daß χ ungeradzahlig ist. Hierauf wird erneut nach dem Fließbild in Fig. 13 für p„ β 3 n- = 2 wie folgt vorgegangen, wobei ß=10, da 2 χ 10 = 20 = 1 mod 19; ferner gilt γ2 = °° = 7 und
7° = 1, 71 = 7 sowie 72 = 11 (mod 19), so daß man g2(i)=0, g2(7) = 1 und g2(11) = 2 erhält.
Z B η ϋ W b
10 10 6 0 11 2
12 12 2 1 11 2
18 18 2/3 2
so daß χ (mod p2 ) = χ (mod 9) = 2*3° + 2·3 = 8 ist.
Die Tatsache, daß χ (mod 2) = 1 und daß χ (mod 9) = 8, bedeutet, daß χ (mod 18) = 17. (Es ist entweder möglich, das chinesische Resttheorem anzuwenden oder sich klar zu machen, daß x=8 oder x=8+9=17 ist und daß nur 17 ungeradzahlig ist.) Bei einer Prüfung läßt sich feststellen, daß 217=131 072=10 (mod 19) ist, so daß y= ocx (mod p) gilt.
Es ist ersichtlich,daß man als logarithmischen Wandler einen mod-p-Inverter benötigt, um ß = O-~ (mod p) zu berechnen. Wie erwähnt, ist dies möglich, wenn man die erweiterte Form des Algorithmus von Euclid anwendet, der die Benutzung der Dividiereinrichtung nach Fig. 8, des Multipli-
909819/0603
zierers nach Fig. 3 und des !Comparators nach Fig. 5 bedingt. In Verbindung mit dem logarithmischen Wandler wird auch die Dividiereinrichtung nach Fig. 8 benötigt, um aufeinander folgende Werte von η zu berechnen, sowie der Addierer nach Fig. 4 zum Vergrößern von j, der Modulo-p-Potenzierer nach Fig. 10 zum Berechnen von ¥ und ß 3 sowie zur Vorberechnung der Tabelle für g-(W), der Modulo-p-Multiplizierer nach Fig. 3 zum Berechnen aufeinander folgender Werte von Z sowie der Komparator nach Fig. 5 zum Feststellen, wann j = IL. Der Betrieb des logarithmischen Wandlers nach dem chinesischen Resttheorem erfordert nur die Benutzung von Einrichtungen, die bereits beschrieben wurden, und zwar des Multiplizierers nach Fig. 3 und eines Modulo-m-Inverters.
Bei dem zuerst genannten Verfahren zum Erzeugen eines Falltürtornister-Vektors wurde ein sehr schwieriges Tornisterproblem, bei dem ein Vektor a eine Rolle spielt, in ein sehr einfaches und leicht zu lösendes Tornisterproblem verwandelt, bei dem die Größe a' verwendet wird, und zwar mit Hilfe der nachstehenden Transformation:
a.' = 1/w * a. mod m (36)
Ein Tornisterproblem mit der Größe a konnte gelöst werden, da es sich in ein anderes Tornisterproblem verwandeln ließ, das für die Größe a1 gilt, und das lösbar war. Es sei jedoch bemerkt, daß es keine Rolle spielt, weshalb Tornisterprobleme für.-die Größe a1 lösbar sind. Statt die Forderung zu stellen, daß a1 die Gleichung (1) befriedigt, könnte man somit fordern, daß sich a! in ein anderes Tornisterproblem umwandeln läßt, das für a" gilt, wobei die nachstehende Transformations gleichung angewendet wird.
ai» = 1/w1 * a±' mod m« (37)
909819/0603
Hierin befriedigt a" die Gleichung (1), oder die Aufgabe läßt sich auf andere Weise leicht lösen. Nachdem die Transformation zweimal durchgeführt worden ist, erweist es sich nicht als schwierig, die Transformation ein drittes Hai durchzuführen; vielmehr ist ersichtlich, daß man diesen Rechenvorgang beliebig oft schrittweise durchführen kann.
Bei jeder weiteren Transformation wird der Aufbau des öffentlich bekannten Vektors a ständig weiter verdunkelt. Praktisch wird das einfach Tornisterproblem dadurch verschlüsselt, daß wiederholt eine Transformation angewendet wird, bei welcher der grundsätzliche Aufbau des Problems erhalten bleibt. Bei dem Endergebnis a handelt es sich offensichtlich um eine Sammlung von Zufallszahlen. Hierbei wird die Tatsache, daß sich das Problem leicht lösen läßt, völlig unerkennbar gemacht.
Der ursprüngliche, leicht zu lösende Tornistervektor kann beliebigen Bedingungen entsprechen, z.B. der Gleichung (1), die gev/ährleistet, daß sich eine Lösung leicht finden läßt. Beispielsweise könnte es sich um ein multiplikatives Falltürtornister-Problem handeln. Auf diese Weise ist es möglich, beide Falltürtornister-Verfahren zu einem einzigen Verfahren zu kombinieren, bei dem sich die Lösung vermutlich noch schwerer finden läßt.
Es ist wichtig, die Wachsturnsgeschwindigkeit von a zu berücksichtigen, denn sie bestimmt die Datenerweiterung, die sich bei der Übermittlung des n-dimensionalen Vektors χ als der größere Wert S ergibt. Die Wachsturnsgeschwindigkeit richtet sich nach dem Verfahren zum Wählen der Zahlen, doch wird bei einem sich in vertretbaren Grenzen haltenden Aufbau, bei dem η = 100, jeder Wert a^ höchstens um 7 Bits größer sein als der entsprechende Wert a.1, jeder Wert von a.' wird um höchstens 7 Bits größer sein als a^" usw. Jede
909819/0603
der aufeinander folgenden Transformationsstufen vergrößert den Umfang des Problems nur um einen kleinen festen Betrag. Wird die Transformation 20-mal wiederholt, werden jedem Wert von ai höchstens 140 Bits hinzugefügt. Wenn anfänglich jeder Wert von ai z.B. 200 Bits enthält, brauchen diese Werte nach 20 Transformationsstufen nur 340 Bits zu enthalten. Der Tornistervektor wird dann für η = 100 höchstens einen Umfang von 100 * 340 = 34 Kilobits haben.
Die gebräuchlichen digitalen Authentisiereinrichtungen bieten zwar einen Schutz gegen unbefugte Dritte bzw. gegen Fälschungen, doch ermöglichen sie es nicht, Streitigkeiten zwischen dem Sender 11 und dem Empfänger 12 bezüglich der Frage zu schlichten, welche Nachricht, wenn überhaupt, abge.-.-sandt wurde. Eine wahre bzw. echte digitale Unterschrift wird auch als Quittung bezeichnet, da sie es dem Empfänger 12 ermöglicht, nachzuweisen, daß ihm über den Sender 11 eine bestimmte Nachricht M übermittelt wurde. Um solche Quittungen zu erzeugen, kann man Falltürtornister in der nachstehend beschriebenen Weise anwenden.
Wenn jede Nachricht M innerhalb eines großen festen Bereichs ein inverses Bild χ hätte, könnte man dieses Bild verwenden, um Quittungen zu erstellen. Hierbei erzeugt der Sender 11 Tornistervektoren b1 und b derart, daß b' ein geheimer Schlüssel ist, z.B. ein leicht zu lösender Tornistervektor, und daß b ein öffentlicher Schlüssel ist, wie er sich aus der nachstehenden Beziehung ergibt:
bj, = w■ * b± f mod m (38)
Der Vektor b wird dann entweder in eine öffentliche Kartei eingebracht oder zum Empfänger 12 übermittelt. Hat der Sender 11 die Absicht, eine Quittung für die Nachricht M zu erzeugen, würde er χ so berechnen und übermitteln, daß
909819/0603
b * χ = M. Der Sender 11 erzeugt χ für die gewünschte Nachricht M dadurch, daß das leicht zu lösende Tornisterproblem gelöst wird.
M1 = 1/w * M mod m (39)
= 1/w * Ex1 * b± mod m (40)
= 1/w * £x^ * w * b. ! mod m (41)
- E^1 * "bjL* mod m (42)
Der Empfänger 12 könnte leicht M aus χ berechnen, und er könnte durch Prüfen eines Datum/Zeit-Feldes (oder einer anderen Redundanz in M) feststellen, ob die Nachricht M authentisch war. Da es dem Empfänger 12 nicht möglich v/äre, ein solches χ zu erzeugen, weil hierfür b* erforderlich ist, das nur dem Sender 11 zur Verfügung steht, bewahrt der Empfänger 12 den Wert χ als Beweis dafür auf, daß die Nachricht M durch den Sender 11 übermittelt wurde.
Man kann dieses Verfahren zum Erzeugen von Quittungen so abändern, daß es sich auch dann anwenden läßt, wenn die Dichte der Lösungen, d.h. der Anteil von Nachrichten M zwischen 0 und Hb., <*ie Lösungen für b * χ = M aufweisen, kleiner ist als 1, vorausgesetzt, daß dieser Bruchteil nicht zu klein ist. Die Nachricht M wird als Klartext gesendet oder in der beschriebenen Weise verschlüsselt, wenn ein Mithören durch einen Horcher zu befürchten ist, und hierbei wird eine Folge von miteinander in Beziehung stehenden Einweg-Funktionen Y1 = F^(M), y2 = F2(M) ... berechnet. Der Sender 11 sucht dann ein inverses Bild χ für Y1, y2 usw. zu erhalten, bis ein solches Bild gefunden wird, welches dem entsprechenden χ für M als Quittung nachgestellt wird. Der Empfänger 12 berechnet M1 = b * χ und prüft, daß M' = y± wobei i innerhalb eines annehmbaren Bereichs liegt.
909819/0603
Die Folge von Einweg-Funktionen kann dem folgenden einfachen Ausdruck entsprechen:
F1(M) = F(M) + i (43)
= F(M + i) (44)
Hierin ist F(*) eine Einweg-Funktion. Es ist erforderlich, daß der Bereich von F(x) mindestens 2 Werte hat, um "beim Bestehen einer Fälschungsabsicht alle Probierversuche zum Scheitern zu bringen.
Es ist auch möglich, die Nachricht und die Quittung zu einer einzigen Meldungs- und Quittungsangabe zu kombinieren. Wenn der annehmbare Bereich für i zwischen 0 und 2"-1 liegt, und wenn die Nachricht eine Länge von J Bits hat, kann eine einzige Zahl mit einer Länge von J + I Bits sowohl die Nachricht als auch i darstellen. Der Sender 11 führt eine Prüfung bezüglich einer Lösung für b * χ = S für jeden der 2 Vierte von S durch, die sich ergeben, wenn z.B. die ersten J Bits von S gMch der Nachricht gesetzt v/erden, und wenn die letzten I Bits von S unabhängig bzw. nicht beschränkt sind. Die erste solche Lösung χ wird zum Empfänger 12 als Nachrichtenquittung übermittelt. Der Empfänger 12 gewinnt S zurück, indem er das innere Produkt des öffentlichen Schlüssels b und die Nachrichten-Quittung-Kombination χ berechnet und die ersten J Bits von S zurückbehält, die auf diese Weise gewonnen wurden. Die Authentizität der Nachricht erhält ihren Gültigkoitsbcweis durch das Vorhandensein einer geeigneten Redundanz in der Nachricht, entweder einer natürlichen Redundanz, wenn die Nachricht in einer natürlichen Sprache, z.B. der englischen Sprache, ausgedrückt ist, oder durch eine künstliche Redundanz, z.B. die Beifügung eines Datum/Zeit-Feldes zu der Nachricht.
909819/0603
~ 45 -
Der Begriff "Redundanz" wird hier im Sinne der Informationstheorie (Claude E. Shannon, "The Mathematical Theory of Communication", Bell System Technical Journal, Bd. 27, S. 379 und S. 623, 1940) und der Komplexitätstheorie (Gregory J. Chaitin, "On the Length of Programs for Computing Finite Binary Sequences", Journal of the Association for Computing Machinery, Bd. 13, S. 547, 1966) verwendet, um die Struktur (Abweichung von der vollständigen Zufälligkeit und Unvorhersehbarkeit) einer Nachricht zu messen. Eine Nachrichtenquelle weist nur dann keine Redundanz auf, wenn alle Schriftzeichen mit der gleichen Wahrscheinlichkeit auftreten. Wenn es möglich ist, die Zeichen der Nachricht mit einer über der Zufälligkeit liegenden Erfolgsrate zu raten, weist die Quelle eine Redundanz auf, und die Rate, mit v/elcher ein hypothetischer Fehler sein Vermögen anwachsen lassen kann, ist das quantitative Maß der Redundanz.(Thomas M. Cover und Roger C. King, "A Convergent Gambling Estimate of the Entropy of English", Technical Report Nr. 22,Statistics Department, Stanford University, 1. November 1976). Jedem Menschen ist es ohne weiteres möglich, eine Nachricht dadurch gültig zu machen, daß eine Redundanzprüfung durchgeführt wird, z.B. dadurch, daß festgestellt wird, ob die Nachricht in einem grammatisch richtigen Englisch abgefaßt ist. Durch Simulieren der Spielsituation ist es mit Hilfe einer Maschine möglich, festzustellen, ob eine Nachricht: die Redundanz aufweist, welche der beanspruchten Quelle zukommt.
Es stehen zahlreiche Verfahren zur Verfügung, um diese Ausführungsform der Erfindung zu verwirklichen. Ein Teil des Entzifferungsschlüssels D könnte öffentlich bekannt sein, statt geheimgehalten zu werden, vorausgesetzt, daß der Teil von D, der nicht öffentlich zugänglich ist, den Mithörer daran hindert, die Klartextnachricht X zurückzugev/innen.
909819/0603
Bei der vorstehend beschriebenen Ausführungsform lassen sich Abänderungen vornehmen. Beispielsweise ist es in manchen Anwendungsfällen vorteilhaft, dafür zu sorgen, daß der i-te Empfänger des Systems einen Falltürtornister-Vektor a^1'' in der beschriebenen Weise erzeugt, und daß der Vektor oder eine abgekürzte Darstellung des Vektors einer öffentlichen Kartei bzw. einem Adressbuch eingegeben wird. Wenn dann ein Absender den Wunsch hat, einen zugriffssicheren Kanal festzulegen, benutzt er a^·1' als Ve rs chlüs se lungs code zur Übermittlung der Nachricht zum i-ten Empfänger. Der hierbei erzielte Vorteil besteht darin, daß es dem i-ten Empfänger dann, wenn er seine Identität gegenüber dem System durch die Benutzung seines Führerscheins, eines Fingerabdrucks o.dgl. nachgewiesen hat, möglich ist, seine Identität gegenüber dem Sender dadurch nachzuweisen, daß er befähigt ist, Daten zu entschlüsseln, die mit dem Verschlüsselungscode a^·1' verschlüsselt worden sind. Es sei bemerkt, daß solche und andere Abänderungen bei den beschriebenen Ausführungsbeispielen ebenfalls in den Bereich der Erfindung fallen.
909819/0603

Claims (7)

  1. P*.TE,v|TANWÄLT£
    SCHIFF ν. FÜNER STREHL SCHÜBEL-HOPF EBBINGHAUS FINCK
    MARIAHILFPLATZ 0. & 3, MÜNCHEN BO
    KARU LUDWIG SCHIFF
    DIPL. CHEM. DR. ALEXANDER V. FÜNER
    DIPL. ING. PETER STREHL
    DIPL. CHEM. DR. URSULA SCHÜBEL-HOPF
    DIPL. ING. DIETER EBBINGHAUS
    DR. INS. DIETER FINCK
    TELEFON (OBS) 4Β·2ΟΒ4
    TELEX 5-23 66B AURO D
    TELEGRAMME AUROMARCPAT MÜNCHEN
    THE BOARD OF TRUSTEES OF THE DEA-14348
    LELAND STANFORD JUNIOR UNIVERSITY 5· Oktober 1978
    Verfahren und Vorrichtung zum Entschlüsseln verschlüsselter Nachrichten
    PATENTANSPRÜCHE
    Λ J Vorrichtung zum Entschlüsseln einer verschlüsselten Nachricht, die über einen nicht gesicherten Nachrichtenübertragungskanal empfangen wird, welcher einen Eingang aufweist, dem die verschlüsselte Nachricht zugeführt wird, die mittels einer Verschlüsselungstransformation verschlüsselt wird, bei welcher eine geheimzuhaltende Nachricht unter Benutzung eines öffentlichen Verschlüsselungscodes transformiert v/ird, wobei einem weiteren Eingang ein geheimer Entschlüsselungscode zugeführt wird, und wobei ein Ausgang zum Erzeugen der Nachricht vorhanden ist, g e -
    909819/0603
    ORIGINAL INSPECTED
    kennzeichnet durch zum Umkehren der Verschlüsselungstransformation dienende Einrichtungen mit einem Eingang zum Zuführen der verschlüsselten Nachricht, einem weiteren Eingang zum Zuführen des geheimen Entschlüsselungs codes und einem Ausgang zum Erzeugen der Umkehrung der verschlüssalten Nachricht sowie Einrichtungen zum Erzeugen der Nachricht mit einem Eingang zum Zuführen der Umkehrung der verschlüsselten Nachricht und einem Ausgang zum Erzeugen der Nachricht, wobei es auf rechnerischem Wege unmöglich ist, den geheimen Entschlüsselungscode aus dem öffentlichen Verschlüsselungscode zu erzeugen, und wobei es unmöglich ist, die Verschlüsselungstransforination auf rechnerischem Wege umzukehren, ohne daß der geheime Entschlüsselungscode zur Verfügung steht.
  2. 2. Vorrichtung nach Anspruch 1, dadurch gekennzeichnet, daß zu den Einrichtungen zum Umkehren der VerSchlüsselungstransformation Einrichtungen zum Berechnen von
    S1 = 1/w * S mod m
    gehören, daß zu den Einrichtungen zum Erzeugen der Nachricht Einrichtungen gehören, mittels welcher x. gleich dem ganzzahligen Teil von
    [S' - X χ * a./1/a.'
    gesetzt wird, wobei i = n, n-1,...1, wobei m und w große ganze Zahlen sind und w modulo-m-umkehrbar ist, wobei S' die Umkehrung der verschlüsselten Nachricht S ist, die durch die Verschlüsselungstransformation
    S = a * χ
    definiert ist, wobei die Nachricht als n-dimensionaler Vektor χ dargestellt wird, bei dem jedes Element x. eine ganze Zahl zwischen 0 und 1 ist, wobei 1 eine ganze Zahl ist, wobei der öffentliche Verschlüsselungscode durch einen n-dimensionalen Vektor a dargestellt wird, dessen Elemente a durch die Gleichung
    a.. = (w * a.» mod m) + km (mit i = 1, 2, .. .n)
    909819/0603
    ORIGINAL INSPECTED
    wobei k und η ganze Zahlen sind und sich der geheime Entschlüsselungscode aus m, w und a1 zusammensetzt, wobei a1 ein n-dimensionaler Vektor ist, dessen Elemente für i = 1, 2, ... η durch den Ausdruck
    '> 1 T a
    0=1
    bestimmt sind.
  3. 3. Vorrichtung nach Anspruch 1, dadurch gekennzeichnet, daß zu den Einrichtungen zum Umkehren der Verschlüsselungstransformation Einrichtungen zum Berechnen von
    S' = bS mod m
    gehören, und daß zu den Einrichtungen zum Erzeugen der Nachricht Einrichtungen gehören, die dazu dienen, X1 nur dann gleich 1 zu setzen, wenn der Quotient S'/a^ eine ganze Zahl ist, und x^ gleich 0 zu setzen, wenn dieser Quotient keine ganze Zahl ist, wobei b und m große ganze Zahlen sind und m eine Primzahl ist, so daß
    m> % a.'
    i=1 x
    wobei η eine ganze Zahl ist und sich der geheime Entschlüsselungscode aus b, m und a1 zusammensetzt, wobei a1 ein n-dimensionaler Vektor ist, bei dem jedes Element a.' eine relative Primzahl ist, und wobei S1 die Umkehrung der verschlüsselten Nachricht S ist, die durch die Verschlüsselungstransformation
    . S = a * χ
    definiert ist, wobei die Nachricht als n-dimensionaler Vektor χ dargestellt wird, bei dem jedes Element x^ eine 0 oder eine 1 ist, und wobei der öffentliche Verschlüsselungscode durch den n-dimensionalen Vektor a dargestellt wird, dessen Elemente a durch die Gleichung
    a± = log^ a^ mod m (für i = 1,2,...n) definiert sind.
    909819/0603
  4. 4. Vorrichtung zum Verschlüsseln einer Nachricht, die über einen ungesicherten Nachrichtenübertragungskanal übermittelt werden soll, der einen Eingang zum Zuführen einer geheimzuhaltenden Nachricht aufweist, ferner einen weiteren Eingang zum Zuführen eines öffentlichen Verschlüsselungscodes sowie einen Ausgang zum Erzeugen der verschlüsselten Nachricht, gekennzeichnet durch Einrichtungen zum Empfangen der Nachricht und zum Umwandeln der Nachricht in eine Vektordarstellung der Nachricht, Einrichtungen zum Empfangen des öffentlichen Verschlüsselungscodes und zum Umwandeln des öffentlichen Verschlüsselungscodes in eine Vektordarstellung desselben sowie Einrichtungen zum Erzeugen der verschlüsselten Nachricht durch Berechnen des inneren Produktes der Vektordarstellung der Nachricht und der Vektordarstellung des öffentlichen Verschlüsselungscodes mit einem Eingang zum Aufnehmen der Vektordarstellung der Nachricht, einem weiteren Eingang zum Aufnehmen der Vektordarstellung des öffentlichen Verschlüsselungscodes und einem Ausgang zum Erzeugen der verschlüsselten Nachricht.
  5. 5. Verfahren für den zugriffssicheren Nachrichtenverkehr über einen ungesicherten Nachrichtenübertragungskanal derjenigen Art, bei welcher eine Nachricht von einem Sender zu einem Empfänger übermittelt wird, dadurch gekennzeichnet , daß bei dem Empfänger ein geheimer Entschlüsselungscode erzeugt wird, daß bei dem Empfänger ein öffentlicher Entschlüsselungscode derart erzeugt wird, daß es unmöglich ist, auf rechnerischem Wege den geheimen Entschlüsselungscode aus dem öffentlichen Verschlüsselungscode zu erzeugen, daß der öffentliche Verschlüsselungscode von dem Empfänger zu dem Sender übermittelt wird, daß die Nachricht und der öffentliche Verschlüsselungscode bei dem Sender empfangen werden, daß eine verschlüsselte Nachricht durch eine Verschlüsselungstransformation derart erzeugt wird, daß es unmöglich ist, die Verschlüsselungstransformation
    909819/0603
    derart erzeugt wird, daß es unmöglich ist, die Verschlüsselungstransformation auf rechnerischem Wege umzukehren, ohne daß der geheime Entschlüsselungscode zur Verfügung steht, daß die verschlüsselte Nachricht von dem Sender zu dem Empfänger übermittelt wird, und daß die verschlüsselte Nachricht und der geheime Entschlüsselungscode durch den Empfänger empfangen v/erden, und daß die verschlüsselte Nachricht mit Hilfe des geheimen Entschlüsselungscodes transformiert wird, um die Nachricht zu erzeugen.
  6. 6. Verfahren nach Anspruch 5> dadurch gekennzeichnet, daß die Identität des Empfängers gegenüber dem Sender durch die Fähigkeit des Empfängers, die verschlüsselte Nachricht zu entschlüsseln, authentisiert wird.
  7. 7. Verfahren für die zugriffssichere Übermittlung von Nachrichten über einen ungesicherten Nachrichtenübertragungskanal derjenigen Art, bei welcher eine Nachricht von einem Sender zu einem Empfänger übermittelt wird, dadurch gekennzeichnet/, daß am Standort des Senders ein geheimer Schlüssel erzeugt wird, daß am Standort des Senders ein öffentlicher Schlüssel derart erzeugt wird, daß es unmöglich ist, auf rechnerischem Wege den geheimen Schlüssel aus dem öffentlichen Schlüssel zu erzeugen, daß die Nachricht und der geheime Schlüssel am Standort des Senders empfangen werden, daß eine Nachrichtenquittung derart erzeugt wird., daß es unmöglich ist, die Nachrichtenquittung auf rechnerischem Wege aus dem öffentlichen Schlüssel zu erzeugen, daß der öffentliche Schlüssel und die Nachrichtenquittung von dem Sender zu dem Empfänger übermittelt werden, daß der öffentliche Schlüssel und die Nachrichtenquittung am Standort des Empfängers empfangen v/erden, daß die Nachrichtenquittung mit dem öffentlichen Schlüssel transformiert wird, um eine transformierte Nachrichtenquittung zu erzeugen und daß die transformierte Nachrichtenquittung durch eine Redundanzprüfung auf ihre Gültigkeit geprüft wird.
    9098 1 9/0603
DE2843583A 1977-10-06 1978-10-05 Verfahren für den zugriffsicheren Nachrichtenverkehr über einen ungesicherten Nachrichtenübertragungskanal Expired DE2843583C2 (de)

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
US05/839,939 US4218582A (en) 1977-10-06 1977-10-06 Public key cryptographic apparatus and method

Publications (2)

Publication Number Publication Date
DE2843583A1 true DE2843583A1 (de) 1979-05-10
DE2843583C2 DE2843583C2 (de) 1982-06-03

Family

ID=25281034

Family Applications (1)

Application Number Title Priority Date Filing Date
DE2843583A Expired DE2843583C2 (de) 1977-10-06 1978-10-05 Verfahren für den zugriffsicheren Nachrichtenverkehr über einen ungesicherten Nachrichtenübertragungskanal

Country Status (13)

Country Link
US (1) US4218582A (de)
JP (1) JPS5950068B2 (de)
AU (1) AU519184B2 (de)
BE (1) BE871039A (de)
CA (1) CA1128159A (de)
CH (1) CH634161A5 (de)
DE (1) DE2843583C2 (de)
ES (1) ES474539A1 (de)
FR (1) FR2405532B1 (de)
GB (1) GB2006580B (de)
IT (1) IT1099780B (de)
NL (1) NL7810063A (de)
SE (1) SE439225B (de)

Families Citing this family (404)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US4351982A (en) * 1980-12-15 1982-09-28 Racal-Milgo, Inc. RSA Public-key data encryption system having large random prime number generating microprocessor or the like
JPS57132449A (en) * 1981-02-07 1982-08-16 Masahiro Yagisawa Encrypter and decoder realizing public cypher key system
US4399323A (en) * 1981-02-09 1983-08-16 Bell Telephone Laboratories, Incorporated Fast real-time public key cryptography
US4471164A (en) * 1981-10-13 1984-09-11 At&T Bell Laboratories Stream cipher operation using public key cryptosystem
US4670857A (en) * 1981-10-26 1987-06-02 Rackman Michael I Cartridge-controlled system whose use is limited to authorized cartridges
US4503287A (en) * 1981-11-23 1985-03-05 Analytics, Inc. Two-tiered communication security employing asymmetric session keys
EP0085130A1 (de) * 1982-02-02 1983-08-10 Omnet Associates Verfahren und Einrichtung zur Aufrechterhaltung der Geheimhaltung von durch öffentliche Übertragung übermittelten Nachrichten
NL8201077A (nl) * 1982-03-16 1983-10-17 Philips Nv Kommunikatiesysteem, bevattende een centrale dataverwerkende inrichting, toegangsstations en externe stations, waarbij een kryptografische kontrole is voorzien op vervalsing van een extern station, alsmede externe stations voor gebruik in zo een kommunikatiesysteem.
US4668103A (en) * 1982-04-30 1987-05-26 Wilson William J Polygraphic encryption-decryption communications system
US4757468A (en) * 1982-09-22 1988-07-12 Intel Corporation Authenticated read-only memory
JPS59226935A (ja) * 1983-06-01 1984-12-20 アメリカン・エクスプレス・カンパニ− 携帯用情報カ−ドの保護装置
US4658093A (en) * 1983-07-11 1987-04-14 Hellman Martin E Software distribution system
US4759063A (en) * 1983-08-22 1988-07-19 Chaum David L Blind signature systems
DK152239C (da) * 1983-12-30 1988-07-04 Sp Radio As Fremgangsmaade til kryptografisk overfoering af talesignaler og kommunikationsstation til udoevelse af fremgangsmaaden
US4625076A (en) * 1984-03-19 1986-11-25 Nippon Telegraph & Telephone Public Corporation Signed document transmission system
US4633036A (en) * 1984-05-31 1986-12-30 Martin E. Hellman Method and apparatus for use in public-key data encryption system
JPS6194281A (ja) * 1984-10-15 1986-05-13 Matsushita Electric Ind Co Ltd ヘツド移送装置
DE3439120A1 (de) * 1984-10-25 1986-05-07 Philips Kommunikations Industrie AG, 8500 Nürnberg Verfahren zur identifizierung einer teilnehmerstation eines fernmeldenetzes
US4860128A (en) * 1985-04-24 1989-08-22 Nintendo Co., Ltd. Recordable data device having identification symbols formed thereon and cooperating data processing system having registering symbols
CA1270339A (en) * 1985-06-24 1990-06-12 Katsuya Nakagawa System for determining a truth of software in an information processing apparatus
JPH074449B2 (ja) * 1985-10-04 1995-01-25 任天堂株式会社 ゲ−ム機用カ−トリツジとそれを用いるゲ−ム機
USRE34161E (en) * 1985-10-04 1993-01-12 Nintendo Company Limited Memory cartridge and information processor unit using such cartridge
JPS62260244A (ja) * 1986-05-06 1987-11-12 Nintendo Co Ltd メモリカ−トリツジ
US5226136A (en) * 1986-05-06 1993-07-06 Nintendo Company Limited Memory cartridge bank selecting apparatus
US4731841A (en) * 1986-06-16 1988-03-15 Applied Information Technologies Research Center Field initialized authentication system for protective security of electronic information networks
EP0257585B1 (de) * 1986-08-22 1992-11-25 Nec Corporation Schlüsselverteilungsverfahren
DE3751958T2 (de) * 1986-09-30 1997-04-10 Canon K.K., Tokio/Tokyo Fehlerkorrekturgerät
CA1330596C (en) * 1986-11-19 1994-07-05 Yoshiaki Nakanishi Memory cartridge and data processing apparatus
US4891781A (en) * 1987-03-04 1990-01-02 Cylink Corporation Modulo arithmetic processor chip
US4841570A (en) * 1987-05-11 1989-06-20 The United States Of America As Represented By The United States Department Of Energy One-way transformation of information
US4827507A (en) * 1987-06-19 1989-05-02 Motorola, Inc. Duplex analog scrambler
US4881264A (en) * 1987-07-30 1989-11-14 Merkle Ralph C Digital signature system and method based on a conventional encryption function
US4811377A (en) * 1987-07-31 1989-03-07 Motorola, Inc. Secure transfer of radio specific data
JP2710316B2 (ja) * 1987-08-26 1998-02-10 任天堂株式会社 パスワード作成装置およびパスワード作成装置を用いたゲーム機
US5214702A (en) * 1988-02-12 1993-05-25 Fischer Addison M Public key/signature cryptosystem with enhanced digital signature certification
JP2683022B2 (ja) * 1988-04-13 1997-11-26 株式会社日立製作所 データ秘匿方式
US5054066A (en) * 1988-11-16 1991-10-01 Grumman Corporation Error correcting public key cryptographic method and program
US4991210A (en) * 1989-05-04 1991-02-05 David Chaum Unpredictable blind signature systems
US4996711A (en) * 1989-06-21 1991-02-26 Chaum David L Selected-exponent signature systems
US5189700A (en) * 1989-07-05 1993-02-23 Blandford Robert R Devices to (1) supply authenticated time and (2) time stamp and authenticate digital documents
JP2606419B2 (ja) * 1989-08-07 1997-05-07 松下電器産業株式会社 暗号通信システムと暗号通信方法
US4964164A (en) * 1989-08-07 1990-10-16 Algorithmic Research, Ltd. RSA computation method for efficient batch processing
US5537593A (en) * 1990-02-12 1996-07-16 Fmc Corporation Method for solving enumerative search problems using message passing on parallel computers
US5623547A (en) * 1990-04-12 1997-04-22 Jonhig Limited Value transfer system
US5210710A (en) * 1990-10-17 1993-05-11 Cylink Corporation Modulo arithmetic processor chip
US5073934A (en) * 1990-10-24 1991-12-17 International Business Machines Corporation Method and apparatus for controlling the use of a public key, based on the level of import integrity for the key
US5231668A (en) * 1991-07-26 1993-07-27 The United States Of America, As Represented By The Secretary Of Commerce Digital signature algorithm
US5204901A (en) * 1991-08-01 1993-04-20 General Electric Company Public key cryptographic mechanism
US5142578A (en) * 1991-08-22 1992-08-25 International Business Machines Corporation Hybrid public key algorithm/data encryption algorithm key distribution method based on control vectors
US5200999A (en) * 1991-09-27 1993-04-06 International Business Machines Corporation Public key cryptosystem key management based on control vectors
US5201000A (en) * 1991-09-27 1993-04-06 International Business Machines Corporation Method for generating public and private key pairs without using a passphrase
NZ240019A (en) * 1991-09-30 1996-04-26 Peter John Smith Public key encrypted communication with non-multiplicative cipher
US5265164A (en) * 1991-10-31 1993-11-23 International Business Machines Corporation Cryptographic facility environment backup/restore and replication in a public key cryptosystem
US5164988A (en) * 1991-10-31 1992-11-17 International Business Machines Corporation Method to establish and enforce a network cryptographic security policy in a public key cryptosystem
US5453601A (en) * 1991-11-15 1995-09-26 Citibank, N.A. Electronic-monetary system
US10361802B1 (en) 1999-02-01 2019-07-23 Blanding Hovenweep, Llc Adaptive pattern recognition based control system and method
US8352400B2 (en) 1991-12-23 2013-01-08 Hoffberg Steven M Adaptive pattern recognition based controller apparatus and method and human-factored interface therefore
US5297206A (en) * 1992-03-19 1994-03-22 Orton Glenn A Cryptographic method for communication and electronic signatures
US5313521A (en) * 1992-04-15 1994-05-17 Fujitsu Limited Key distribution protocol for file transfer in the local area network
CA2073495C (en) * 1992-07-08 1999-01-12 Michael Wright Option selection and control
US5237611A (en) * 1992-07-23 1993-08-17 Crest Industries, Inc. Encryption/decryption apparatus with non-accessible table of keys
US5301247A (en) * 1992-07-23 1994-04-05 Crest Industries, Inc. Method for ensuring secure communications
US5222136A (en) * 1992-07-23 1993-06-22 Crest Industries, Inc. Encrypted communication system
FR2700430B1 (fr) * 1992-12-30 1995-02-10 Jacques Stern Procédé d'authentification d'au moins un dispositif d'identification par un dispositif de vérification et dispositif pour sa mise en Óoeuvre.
US5369707A (en) * 1993-01-27 1994-11-29 Tecsec Incorporated Secure network method and apparatus
US5375169A (en) * 1993-05-28 1994-12-20 Tecsec, Incorporated Cryptographic key management method and apparatus
US5414771A (en) * 1993-07-13 1995-05-09 Mrj, Inc. System and method for the creation of random sequences and for the cryptographic protection of communications
JP3053527B2 (ja) * 1993-07-30 2000-06-19 インターナショナル・ビジネス・マシーンズ・コーポレイション パスワードを有効化する方法及び装置、パスワードを生成し且つ予備的に有効化する方法及び装置、認証コードを使用して資源のアクセスを制御する方法及び装置
US5499295A (en) * 1993-08-31 1996-03-12 Ericsson Inc. Method and apparatus for feature authorization and software copy protection in RF communications devices
US5497422A (en) * 1993-09-30 1996-03-05 Apple Computer, Inc. Message protection mechanism and graphical user interface therefor
US5680452A (en) * 1993-10-18 1997-10-21 Tecsec Inc. Distributed cryptographic object method
US5369702A (en) * 1993-10-18 1994-11-29 Tecsec Incorporated Distributed cryptographic object method
US5371794A (en) * 1993-11-02 1994-12-06 Sun Microsystems, Inc. Method and apparatus for privacy and authentication in wireless networks
US5455862A (en) * 1993-12-02 1995-10-03 Crest Industries, Inc. Apparatus and method for encrypting communications without exchanging an encryption key
UA41387C2 (uk) * 1994-01-13 2001-09-17 Сертко, Інк Спосіб установлення вірогідного перевірюваного зв'язку, спосіб захищеного зв'язку, спосіб оновлення мікропрограмного забезпечення, спосіб здійснення шифрованого зв'язку та спосіб надання перевіреному на справжність пристрою права на проведення електронної транзакції
EP0907270B1 (de) * 1994-02-24 2009-04-15 Comcast Cable Holdings, LLC Verfahren und Vorrichtung zur Erstellung einer kryptographischen Verbindung zwischen Elementen eines Systems
US5787172A (en) * 1994-02-24 1998-07-28 The Merdan Group, Inc. Apparatus and method for establishing a cryptographic link between elements of a system
US5509071A (en) * 1994-04-01 1996-04-16 Microelectronics And Computer Technology Corporation Electronic proof of receipt
US5799087A (en) * 1994-04-28 1998-08-25 Citibank, N.A. Electronic-monetary system
US6868408B1 (en) 1994-04-28 2005-03-15 Citibank, N.A. Security systems and methods applicable to an electronic monetary system
US5493614A (en) * 1994-05-03 1996-02-20 Chaum; David Private signature and proof systems
US5535276A (en) * 1994-11-09 1996-07-09 Bell Atlantic Network Services, Inc. Yaksha, an improved system and method for securing communications using split private key asymmetric cryptography
US5838792A (en) * 1994-07-18 1998-11-17 Bell Atlantic Network Services, Inc. Computer system for centralized session key distribution, privacy enhanced messaging and information distribution using a split private key public cryptosystem
US5557678A (en) * 1994-07-18 1996-09-17 Bell Atlantic Network Services, Inc. System and method for centralized session key distribution, privacy enhanced messaging and information distribution using a split private key public cryptosystem
US5748735A (en) * 1994-07-18 1998-05-05 Bell Atlantic Network Services, Inc. Securing E-mail communications and encrypted file storage using yaksha split private key asymmetric cryptography
US5588061A (en) * 1994-07-20 1996-12-24 Bell Atlantic Network Services, Inc. System and method for identity verification, forming joint signatures and session key agreement in an RSA public cryptosystem
US5905799A (en) * 1994-07-20 1999-05-18 Bell Atlantic Network Services, Inc. Programmed computer for identity verification, forming joint signatures and session key agreement in an RSA public cryptosystem
US5606609A (en) * 1994-09-19 1997-02-25 Scientific-Atlanta Electronic document verification system and method
US5737419A (en) * 1994-11-09 1998-04-07 Bell Atlantic Network Services, Inc. Computer system for securing communications using split private key asymmetric cryptography
US7007166B1 (en) 1994-12-28 2006-02-28 Wistaria Trading, Inc. Method and system for digital watermarking
US7362775B1 (en) 1996-07-02 2008-04-22 Wistaria Trading, Inc. Exchange mechanisms for digital information packages with bandwidth securitization, multichannel digital watermarks, and key management
US5745569A (en) 1996-01-17 1998-04-28 The Dice Company Method for stega-cipher protection of computer code
JP3271460B2 (ja) * 1995-01-12 2002-04-02 ケイディーディーアイ株式会社 無線通信における識別子秘匿方法
US5568554A (en) * 1995-01-31 1996-10-22 Digital Equipment Corporation Method for improving the processing and storage performance of digital signature schemes
US6134326A (en) * 1996-11-18 2000-10-17 Bankers Trust Corporation Simultaneous electronic transactions
US5553145A (en) * 1995-03-21 1996-09-03 Micali; Silvia Simultaneous electronic transactions with visible trusted parties
US6137884A (en) * 1995-03-21 2000-10-24 Bankers Trust Corporation Simultaneous electronic transactions with visible trusted parties
US6141750A (en) * 1995-03-21 2000-10-31 Micali; Silvio Simultaneous electronic transactions with subscriber verification
IL113259A (en) * 1995-04-05 2001-03-19 Diversinet Corp A device and method for a secure interface for secure communication and data transfer
US6760463B2 (en) 1995-05-08 2004-07-06 Digimarc Corporation Watermarking methods and media
US5835592A (en) * 1995-06-01 1998-11-10 Chang; Chung Nan Secure, swift cryptographic key exchange
US5583939A (en) * 1995-06-01 1996-12-10 Chung N. Chang Secure, swift cryptographic key exchange
US6011847A (en) * 1995-06-01 2000-01-04 Follendore, Iii; Roy D. Cryptographic access and labeling system
US5883955A (en) * 1995-06-07 1999-03-16 Digital River, Inc. On-line try before you buy software distribution system
US5887060A (en) * 1995-06-07 1999-03-23 Digital River, Inc. Central database system for automatic software program sales
US5613004A (en) 1995-06-07 1997-03-18 The Dice Company Steganographic method and device
US5870543A (en) * 1995-06-07 1999-02-09 Digital River, Inc. System for preventing unauthorized copying of active software
US5883954A (en) * 1995-06-07 1999-03-16 Digital River, Inc. Self-launching encrypted try before you buy software distribution system
CA2223409A1 (en) * 1995-06-07 1996-12-19 Digital River, Inc. Try before you buy software distribution and marketing system
US5903647A (en) * 1995-06-07 1999-05-11 Digital River, Inc. Self-launching encrypted digital information distribution system
US5872917A (en) * 1995-06-07 1999-02-16 America Online, Inc. Authentication using random challenges
CA2225805C (en) * 1995-06-29 2002-11-12 Allan E. Alcorn Electronic casino gaming system with improved play capacity, authentication and security
US5643086A (en) * 1995-06-29 1997-07-01 Silicon Gaming, Inc. Electronic casino gaming apparatus with improved play capacity, authentication and security
US6620047B1 (en) 1995-06-29 2003-09-16 Igt Electronic gaming apparatus having authentication data sets
USRE39369E1 (en) 1995-06-29 2006-10-31 Igt Electronic casino gaming system with improved play capacity, authentication and security
US7063615B2 (en) * 1995-06-29 2006-06-20 Igt Electronic gaming apparatus with authentication
AU4718400A (en) * 1995-06-29 2000-09-14 Silicon Gaming, Inc. Electronic casino gaming system with improved play capacity, authentication and security
US5812669A (en) * 1995-07-19 1998-09-22 Jenkins; Lew Method and system for providing secure EDI over an open network
US5721779A (en) * 1995-08-28 1998-02-24 Funk Software, Inc. Apparatus and methods for verifying the identity of a party
US5666416A (en) * 1995-10-24 1997-09-09 Micali; Silvio Certificate revocation system
US5793868A (en) * 1996-08-29 1998-08-11 Micali; Silvio Certificate revocation system
US6766450B2 (en) * 1995-10-24 2004-07-20 Corestreet, Ltd. Certificate revocation system
US7660994B2 (en) * 1995-10-24 2010-02-09 Corestreet, Ltd. Access control
US7716486B2 (en) 1995-10-02 2010-05-11 Corestreet, Ltd. Controlling group access to doors
US7600129B2 (en) 1995-10-02 2009-10-06 Corestreet, Ltd. Controlling access using additional data
US7337315B2 (en) 1995-10-02 2008-02-26 Corestreet, Ltd. Efficient certificate revocation
US5717757A (en) * 1996-08-29 1998-02-10 Micali; Silvio Certificate issue lists
US6097811A (en) * 1995-11-02 2000-08-01 Micali; Silvio Tree-based certificate revocation system
US7353396B2 (en) 1995-10-02 2008-04-01 Corestreet, Ltd. Physical access control
US7822989B2 (en) * 1995-10-02 2010-10-26 Corestreet, Ltd. Controlling access to an area
US8015597B2 (en) 1995-10-02 2011-09-06 Corestreet, Ltd. Disseminating additional data used for controlling access
US8732457B2 (en) * 1995-10-02 2014-05-20 Assa Abloy Ab Scalable certificate validation and simplified PKI management
US8261319B2 (en) 1995-10-24 2012-09-04 Corestreet, Ltd. Logging access attempts to an area
US6301659B1 (en) 1995-11-02 2001-10-09 Silvio Micali Tree-based certificate revocation system
US7898675B1 (en) * 1995-11-13 2011-03-01 Netfax Development, Llc Internet global area networks fax system
US6190257B1 (en) 1995-11-22 2001-02-20 Nintendo Co., Ltd. Systems and method for providing security in a video game system
US6071191A (en) * 1995-11-22 2000-06-06 Nintendo Co., Ltd. Systems and methods for providing security in a video game system
US5675649A (en) * 1995-11-30 1997-10-07 Electronic Data Systems Corporation Process for cryptographic key generation and safekeeping
US6026163A (en) * 1995-12-13 2000-02-15 Micali; Silvio Distributed split-key cryptosystem and applications
US5745574A (en) * 1995-12-15 1998-04-28 Entegrity Solutions Corporation Security infrastructure for electronic transactions
US5926551A (en) * 1995-12-28 1999-07-20 International Business Machines Corporation System and method for certifying content of hard-copy documents
US5812670A (en) * 1995-12-28 1998-09-22 Micali; Silvio Traceable anonymous transactions
US5822432A (en) * 1996-01-17 1998-10-13 The Dice Company Method for human-assisted random key generation and application for digital watermark system
US6205249B1 (en) 1998-04-02 2001-03-20 Scott A. Moskowitz Multiple transform utilization and applications for secure digital watermarking
US7664263B2 (en) 1998-03-24 2010-02-16 Moskowitz Scott A Method for combining transfer functions with predetermined key creation
JPH09238132A (ja) * 1996-02-29 1997-09-09 Oki Electric Ind Co Ltd 携帯用端末通信システム及びその通信方法
US5737425A (en) * 1996-05-21 1998-04-07 International Business Machines Corporation Cryptosystem employing worst-case difficult-to solve lattice problem
US7555458B1 (en) 1996-06-05 2009-06-30 Fraud Control System.Com Corporation Method of billing a purchase made over a computer network
US20030195848A1 (en) 1996-06-05 2003-10-16 David Felger Method of billing a purchase made over a computer network
US8229844B2 (en) 1996-06-05 2012-07-24 Fraud Control Systems.Com Corporation Method of billing a purchase made over a computer network
US5764766A (en) * 1996-06-11 1998-06-09 Digital Equipment Corporation System and method for generation of one-time encryption keys for data communications and a computer program product for implementing the same
SE506853C2 (sv) * 1996-06-20 1998-02-16 Anonymity Prot In Sweden Ab Metod för databearbetning
US7159116B2 (en) 1999-12-07 2007-01-02 Blue Spike, Inc. Systems, methods and devices for trusted transactions
US7457962B2 (en) 1996-07-02 2008-11-25 Wistaria Trading, Inc Optimization methods for the insertion, protection, and detection of digital watermarks in digitized data
US7346472B1 (en) 2000-09-07 2008-03-18 Blue Spike, Inc. Method and device for monitoring and analyzing signals
US6078664A (en) * 1996-12-20 2000-06-20 Moskowitz; Scott A. Z-transform implementation of digital watermarks
US7107451B2 (en) * 1996-07-02 2006-09-12 Wistaria Trading, Inc. Optimization methods for the insertion, protection, and detection of digital watermarks in digital data
US7177429B2 (en) 2000-12-07 2007-02-13 Blue Spike, Inc. System and methods for permitting open access to data objects and for securing data within the data objects
US5889868A (en) 1996-07-02 1999-03-30 The Dice Company Optimization methods for the insertion, protection, and detection of digital watermarks in digitized data
US7095874B2 (en) 1996-07-02 2006-08-22 Wistaria Trading, Inc. Optimization methods for the insertion, protection, and detection of digital watermarks in digitized data
US5787367A (en) * 1996-07-03 1998-07-28 Chrysler Corporation Flash reprogramming security for vehicle computer
CA2261947C (en) * 1996-08-07 2008-11-18 Silvio Micali Simultaneous electronic transactions with visible trusted parties
US5784459A (en) * 1996-08-15 1998-07-21 International Business Machines Corporation Method and apparatus for secure, remote swapping of memory resident active entities
AU716797B2 (en) * 1996-08-19 2000-03-09 Ntru Cryptosystems, Inc. Public key cryptosystem method and apparatus
US5930362A (en) * 1996-10-09 1999-07-27 At&T Wireless Services Inc Generation of encryption key
US6253323B1 (en) 1996-11-01 2001-06-26 Intel Corporation Object-based digital signatures
DE19648824A1 (de) * 1996-11-26 1998-05-28 Alsthom Cge Alcatel Verfahren zum gesicherten Nachrichtenaustausch bei Massendiensten, sowie Teilnehmereinrichtung und Diensteanbietereinrichtung hierfür
US5966444A (en) * 1996-12-06 1999-10-12 Yuan; Chuan K. Method and system for establishing a cryptographic key agreement using linear protocols
US5848159A (en) 1996-12-09 1998-12-08 Tandem Computers, Incorporated Public key cryptographic apparatus and method
US7730317B2 (en) 1996-12-20 2010-06-01 Wistaria Trading, Inc. Linear predictive coding implementation of digital watermarks
US20030054879A1 (en) 1996-12-31 2003-03-20 Bruce Schneier System and method for securing electronic games
US6154541A (en) * 1997-01-14 2000-11-28 Zhang; Jinglong F Method and apparatus for a robust high-speed cryptosystem
US6078593A (en) 1997-02-04 2000-06-20 Next Level Communications Method and apparatus for reliable operation of universal voice grade cards
US7212632B2 (en) 1998-02-13 2007-05-01 Tecsec, Inc. Cryptographic key split combiner
US6575372B1 (en) 1997-02-21 2003-06-10 Mondex International Limited Secure multi-application IC card system having selective loading and deleting capability
US6317832B1 (en) 1997-02-21 2001-11-13 Mondex International Limited Secure multiple application card system and process
US5987130A (en) * 1997-03-31 1999-11-16 Chang; Chung Nan Simiplified secure swift cryptographic key exchange
US6058187A (en) * 1997-04-17 2000-05-02 At&T Corp. Secure telecommunications data transmission
US6694433B1 (en) 1997-05-08 2004-02-17 Tecsec, Inc. XML encryption scheme
US6328217B1 (en) 1997-05-15 2001-12-11 Mondex International Limited Integrated circuit card with application history list
US6488211B1 (en) * 1997-05-15 2002-12-03 Mondex International Limited System and method for flexibly loading in IC card
US6385723B1 (en) 1997-05-15 2002-05-07 Mondex International Limited Key transformation unit for an IC card
US6164549A (en) * 1997-05-15 2000-12-26 Mondex International Limited IC card with shell feature
US6220510B1 (en) 1997-05-15 2001-04-24 Mondex International Limited Multi-application IC card with delegation feature
EP0993739A1 (de) * 1997-05-21 2000-04-19 E.S.P. Communications, Inc. System, verfahren und einrichtung für einzig vom anrufer eingeleite schnurlose kommunikation mit anrufererzeugten vergebührung
US6202150B1 (en) 1997-05-28 2001-03-13 Adam Lucas Young Auto-escrowable and auto-certifiable cryptosystems
US6122742A (en) * 1997-06-18 2000-09-19 Young; Adam Lucas Auto-recoverable and auto-certifiable cryptosystem with unescrowed signing keys
US6389136B1 (en) 1997-05-28 2002-05-14 Adam Lucas Young Auto-Recoverable and Auto-certifiable cryptosystems with RSA or factoring based keys
US20020025852A1 (en) * 2000-09-29 2002-02-28 Alcorn Allan E. Gaming apparatus with portrait-mode display
US6282295B1 (en) 1997-10-28 2001-08-28 Adam Lucas Young Auto-recoverable and auto-certifiable cryptostem using zero-knowledge proofs for key escrow in general exponential ciphers
US6243466B1 (en) 1997-08-29 2001-06-05 Adam Lucas Young Auto-escrowable and auto-certifiable cryptosystems with fast key generation
US6052466A (en) * 1997-08-28 2000-04-18 Telefonaktiebolaget L M Ericsson (Publ) Encryption of data packets using a sequence of private keys generated from a public key exchange
US6233685B1 (en) 1997-08-29 2001-05-15 Sean William Smith Establishing and employing the provable untampered state of a device
US6167521A (en) * 1997-08-29 2000-12-26 International Business Machines Corporation Securely downloading and executing code from mutually suspicious authorities
US6411715B1 (en) 1997-11-10 2002-06-25 Rsa Security, Inc. Methods and apparatus for verifying the cryptographic security of a selected private and public key pair without knowing the private key
US6701330B1 (en) * 1997-12-30 2004-03-02 Unisys Corporation Protecting duplicate/lost updates against host failures
US6357665B1 (en) 1998-01-22 2002-03-19 Mondex International Limited Configuration of IC card
US6736325B1 (en) 1998-01-22 2004-05-18 Mondex International Limited Codelets
US7268700B1 (en) 1998-01-27 2007-09-11 Hoffberg Steven M Mobile communication device
US6742120B1 (en) 1998-02-03 2004-05-25 Mondex International Limited System and method for controlling access to computer code in an IC card
US7095852B2 (en) * 1998-02-13 2006-08-22 Tecsec, Inc. Cryptographic key split binder for use with tagged data elements
US8077870B2 (en) * 1998-02-13 2011-12-13 Tecsec, Inc. Cryptographic key split binder for use with tagged data elements
US7079653B2 (en) * 1998-02-13 2006-07-18 Tecsec, Inc. Cryptographic key split binding process and apparatus
US6226618B1 (en) 1998-08-13 2001-05-01 International Business Machines Corporation Electronic content delivery system
US6983371B1 (en) * 1998-10-22 2006-01-03 International Business Machines Corporation Super-distribution of protected digital content
US6611812B2 (en) 1998-08-13 2003-08-26 International Business Machines Corporation Secure electronic content distribution on CDS and DVDs
US6859791B1 (en) 1998-08-13 2005-02-22 International Business Machines Corporation Method for determining internet users geographic region
US6389403B1 (en) 1998-08-13 2002-05-14 International Business Machines Corporation Method and apparatus for uniquely identifying a customer purchase in an electronic distribution system
US7110984B1 (en) 1998-08-13 2006-09-19 International Business Machines Corporation Updating usage conditions in lieu of download digital rights management protected content
US6959288B1 (en) 1998-08-13 2005-10-25 International Business Machines Corporation Digital content preparation system
US6085321A (en) 1998-08-14 2000-07-04 Omnipoint Corporation Unique digital signature
US7111173B1 (en) 1998-09-01 2006-09-19 Tecsec, Inc. Encryption process including a biometric unit
US6363152B1 (en) * 1998-09-09 2002-03-26 Koninklijke Philips Electronics N.V. (Kpenv) Hybrid one time pad encryption and decryption apparatus with methods for encrypting and decrypting data
US6337910B1 (en) * 1998-09-09 2002-01-08 Koninklijke Philips Electronics N.V. (Kpenv) Method and apparatus for generating one time pads simultaneously in separate encryption/decryption systems
US6785388B1 (en) * 1998-09-16 2004-08-31 Murata Kikai Kabushiki Kaisha Encryption method, decryption method, encryption/decryption method, cryptographic communications system, and computer usable medium
US6798884B1 (en) * 1998-09-16 2004-09-28 Murata Kikai Kabushiki Kaisha Encryption method, decryption method, encryption/decryption method, cryptographic communications system, and computer usable medium
US6684330B1 (en) 1998-10-16 2004-01-27 Tecsec, Inc. Cryptographic information and flow control
US6560337B1 (en) 1998-10-28 2003-05-06 International Business Machines Corporation Systems, methods and computer program products for reducing effective key length of ciphers using one-way cryptographic functions and an initial key
US6363154B1 (en) 1998-10-28 2002-03-26 International Business Machines Corporation Decentralized systems methods and computer program products for sending secure messages among a group of nodes
US7047416B2 (en) * 1998-11-09 2006-05-16 First Data Corporation Account-based digital signature (ABDS) system
US6820202B1 (en) 1998-11-09 2004-11-16 First Data Corporation Account authority digital signature (AADS) system
US7058597B1 (en) 1998-12-04 2006-06-06 Digital River, Inc. Apparatus and method for adaptive fraud screening for electronic commerce transactions
US20030195974A1 (en) 1998-12-04 2003-10-16 Ronning Joel A. Apparatus and method for scheduling of search for updates or downloads of a file
US7617124B1 (en) 1998-12-04 2009-11-10 Digital River, Inc. Apparatus and method for secure downloading of files
US6473508B1 (en) 1998-12-22 2002-10-29 Adam Lucas Young Auto-recoverable auto-certifiable cryptosystems with unescrowed signature-only keys
US7966078B2 (en) * 1999-02-01 2011-06-21 Steven Hoffberg Network media appliance system and method
US8364136B2 (en) 1999-02-01 2013-01-29 Steven M Hoffberg Mobile system, a method of operating mobile system and a non-transitory computer readable medium for a programmable control of a mobile system
US7095851B1 (en) 1999-03-11 2006-08-22 Tecsec, Inc. Voice and data encryption method using a cryptographic key split combiner
US7664264B2 (en) 1999-03-24 2010-02-16 Blue Spike, Inc. Utilizing data reduction in steganographic and cryptographic systems
US6959384B1 (en) * 1999-12-14 2005-10-25 Intertrust Technologies Corporation Systems and methods for authenticating and protecting the integrity of data streams and other data
US20020099746A1 (en) * 1999-07-26 2002-07-25 Tie Teck Sing T-sequence apparatus and method for general deterministic polynomial-time primality testing and composite factoring
US7475246B1 (en) 1999-08-04 2009-01-06 Blue Spike, Inc. Secure personal content server
US6746330B2 (en) 1999-09-21 2004-06-08 Igt Method and device for implementing a coinless gaming environment
US6826689B1 (en) * 1999-10-01 2004-11-30 Geneticware Co., Ltd. Method and system for emulating a secret code between two hardware modules
GB9925227D0 (en) 1999-10-25 1999-12-22 Internet Limited Data storage retrieval and access system
US6834110B1 (en) 1999-12-09 2004-12-21 International Business Machines Corporation Multi-tier digital TV programming for content distribution
US7213005B2 (en) * 1999-12-09 2007-05-01 International Business Machines Corporation Digital content distribution using web broadcasting services
FR2802677B1 (fr) * 1999-12-17 2002-01-18 Thomson Multimedia Sa Procede de gestion de jeu a distance securise
JP2001211153A (ja) * 2000-01-25 2001-08-03 Murata Mach Ltd 秘密鍵生成方法
US6839839B1 (en) 2000-02-10 2005-01-04 Xerox Corporation Public key distribution using an approximate linear function
US20050255924A1 (en) * 2000-03-03 2005-11-17 Cole Joseph W Gaming apparatus having door mounted display
US7988559B2 (en) 2001-03-08 2011-08-02 Igt Computerized gaming system, method and apparatus
US7043641B1 (en) 2000-03-08 2006-05-09 Igt Encryption in a secure computerized gaming system
CA2402389A1 (en) 2000-03-08 2002-09-19 Shuffle Master, Inc. Computerized gaming system, method and apparatus
US20040186996A1 (en) * 2000-03-29 2004-09-23 Gibbs Benjamin K. Unique digital signature
WO2001077920A1 (fr) * 2000-04-06 2001-10-18 Sony Corporation Procede de division de zone de stockage pour dispositif portable
US7280663B1 (en) * 2000-05-22 2007-10-09 University Of Southern California Encryption system based on crossed inverse quasigroups
AU7182701A (en) 2000-07-06 2002-01-21 David Paul Felsher Information record infrastructure, system and method
US7096354B2 (en) * 2000-08-04 2006-08-22 First Data Corporation Central key authority database in an ABDS system
US7552333B2 (en) * 2000-08-04 2009-06-23 First Data Corporation Trusted authentication digital signature (tads) system
US6789189B2 (en) * 2000-08-04 2004-09-07 First Data Corporation Managing account database in ABDS system
US6983368B2 (en) * 2000-08-04 2006-01-03 First Data Corporation Linking public key of device to information during manufacture
US6978369B2 (en) * 2000-08-04 2005-12-20 First Data Corporation Person-centric account-based digital signature system
US7010691B2 (en) * 2000-08-04 2006-03-07 First Data Corporation ABDS system utilizing security information in authenticating entity access
EP1316171A4 (de) * 2000-08-04 2006-05-03 First Data Corp Personen- und kontobezogenes digitales unterschriftssystem
US7082533B2 (en) * 2000-08-04 2006-07-25 First Data Corporation Gauging risk in electronic communications regarding accounts in ABDS system
US7558965B2 (en) * 2000-08-04 2009-07-07 First Data Corporation Entity authentication in electronic communications by providing verification status of device
GB2366162A (en) 2000-08-15 2002-02-27 Chargenet Ltd Controlling access to a telecommunicated data file
AU2001285125B2 (en) * 2000-08-21 2004-08-26 Igt Method and apparatus for software authentication
CA2356015A1 (en) 2000-08-31 2002-02-28 International Game Technology Method and apparatus for encoding vouchers in a cashless casino gaming system
US6978375B1 (en) 2000-09-08 2005-12-20 International Business Machines Corporation System and method for secure authentication of external software modules provided by third parties
US7127615B2 (en) 2000-09-20 2006-10-24 Blue Spike, Inc. Security based on subliminal and supraliminal channels for data objects
US7606898B1 (en) 2000-10-24 2009-10-20 Microsoft Corporation System and method for distributed management of shared computers
US7113900B1 (en) 2000-10-24 2006-09-26 Microsoft Corporation System and method for logical modeling of distributed computer systems
US20020066038A1 (en) * 2000-11-29 2002-05-30 Ulf Mattsson Method and a system for preventing impersonation of a database user
US7454796B2 (en) * 2000-12-22 2008-11-18 Canon Kabushiki Kaisha Obtaining temporary exclusive control of a printing device
US20020095604A1 (en) * 2001-01-18 2002-07-18 Hausler Jean-Philippe D. Encryption system and method
US20020108034A1 (en) * 2001-02-02 2002-08-08 Tony Hashem System and method for automatically securing data for transmission
US7203841B2 (en) 2001-03-08 2007-04-10 Igt Encryption in a secure computerized gaming system
US7181017B1 (en) 2001-03-23 2007-02-20 David Felsher System and method for secure three-party communications
US7120248B2 (en) * 2001-03-26 2006-10-10 Hewlett-Packard Development Company, L.P. Multiple prime number generation using a parallel prime number search algorithm
US7016494B2 (en) * 2001-03-26 2006-03-21 Hewlett-Packard Development Company, L.P. Multiple cryptographic key precompute and store
KR100406754B1 (ko) * 2001-04-11 2003-11-21 한국정보보호진흥원 피케이아이 기반의 상업용 키위탁 방법 및 시스템
US6966837B1 (en) 2001-05-10 2005-11-22 Best Robert M Linked portable and video game systems
US20020198748A1 (en) * 2001-05-25 2002-12-26 Eden Thomas M. System and method for implementing an employee-rights-sensitive drug free workplace policy
US8275716B2 (en) 2001-05-31 2012-09-25 Contentguard Holdings, Inc. Method and system for subscription digital rights management
US7382878B2 (en) * 2001-06-22 2008-06-03 Uponus Technologies, Llc System and method for data encryption
US20040128508A1 (en) * 2001-08-06 2004-07-01 Wheeler Lynn Henry Method and apparatus for access authentication entity
US7162036B2 (en) 2001-08-06 2007-01-09 Igt Digital identification of unique game characteristics
US6685567B2 (en) * 2001-08-08 2004-02-03 Igt Process verification
US7210134B1 (en) 2001-09-06 2007-04-24 Sonic Solutions Deterring reverse-engineering of software systems by randomizing the siting of stack-based data
US20070277037A1 (en) * 2001-09-06 2007-11-29 Randy Langer Software component authentication via encrypted embedded self-signatures
WO2003023647A1 (en) 2001-09-10 2003-03-20 Igt Method for developing gaming programs compatible with a computerized gaming operating system and apparatus
US7128650B2 (en) 2001-09-12 2006-10-31 Igt Gaming machine with promotional item dispenser
US20030064784A1 (en) * 2001-09-28 2003-04-03 William Wells Wide screen gaming apparatus
US6902481B2 (en) 2001-09-28 2005-06-07 Igt Decoupling of the graphical presentation of a game from the presentation logic
US20030065696A1 (en) * 2001-09-28 2003-04-03 Ruehle Michael D. Method and apparatus for performing modular exponentiation
US8708828B2 (en) 2001-09-28 2014-04-29 Igt Pluggable modular gaming modifiers and configuration templates for gaming environments
US6922717B2 (en) 2001-09-28 2005-07-26 Intel Corporation Method and apparatus for performing modular multiplication
US7931533B2 (en) 2001-09-28 2011-04-26 Igt Game development architecture that decouples the game logic from the graphics logics
US7136484B1 (en) * 2001-10-01 2006-11-14 Silicon Image, Inc. Cryptosystems using commuting pairs in a monoid
US7179170B2 (en) * 2001-11-26 2007-02-20 Igt Pass-through live validation device and method
US20030154286A1 (en) * 2002-02-13 2003-08-14 Infowave Software, Inc. System for and method of protecting a username during authentication over a non-encrypted channel
US7899753B1 (en) 2002-03-25 2011-03-01 Jpmorgan Chase Bank, N.A Systems and methods for time variable financial authentication
US7155578B2 (en) * 2002-04-05 2006-12-26 Genworth Financial, Inc. Method and system for transferring files using file transfer protocol
US20030190046A1 (en) * 2002-04-05 2003-10-09 Kamerman Matthew Albert Three party signing protocol providing non-linkability
US7287275B2 (en) 2002-04-17 2007-10-23 Moskowitz Scott A Methods, systems and devices for packet watermarking and efficient provisioning of bandwidth
US7350081B1 (en) 2002-04-29 2008-03-25 Best Robert M Secure execution of downloaded software
US7436966B2 (en) * 2002-08-21 2008-10-14 International Business Machines Corporation Secure approach to send data from one system to another
US7184551B2 (en) * 2002-09-30 2007-02-27 Micron Technology, Inc. Public key cryptography using matrices
US20040133699A1 (en) * 2002-12-04 2004-07-08 Tony Hashem System and method for performing data transfer
US7200233B1 (en) 2002-12-10 2007-04-03 L-3 Communications Corporation System and method for fast data encryption/decryption using time slot numbering
US9818136B1 (en) 2003-02-05 2017-11-14 Steven M. Hoffberg System and method for determining contingent relevance
US7072807B2 (en) 2003-03-06 2006-07-04 Microsoft Corporation Architecture for distributed computing system and automated design, deployment, and management of distributed applications
US7689676B2 (en) 2003-03-06 2010-03-30 Microsoft Corporation Model-based policy application
US7890543B2 (en) 2003-03-06 2011-02-15 Microsoft Corporation Architecture for distributed computing system and automated design, deployment, and management of distributed applications
US8122106B2 (en) 2003-03-06 2012-02-21 Microsoft Corporation Integrating design, deployment, and management phases for systems
US7320073B2 (en) * 2003-04-07 2008-01-15 Aol Llc Secure method for roaming keys and certificates
WO2004102352A2 (en) * 2003-05-13 2004-11-25 Corestreet, Ltd. Efficient and secure data currentness systems
US20040250073A1 (en) * 2003-06-03 2004-12-09 Cukier Johnas I. Protocol for hybrid authenticated key establishment
US7590736B2 (en) 2003-06-30 2009-09-15 Microsoft Corporation Flexible network load balancing
US7606929B2 (en) 2003-06-30 2009-10-20 Microsoft Corporation Network load balancing with connection manipulation
US7636917B2 (en) 2003-06-30 2009-12-22 Microsoft Corporation Network load balancing with host status information
US7567504B2 (en) 2003-06-30 2009-07-28 Microsoft Corporation Network load balancing with traffic routing
US7613822B2 (en) 2003-06-30 2009-11-03 Microsoft Corporation Network load balancing with session information
US7794323B2 (en) * 2003-07-25 2010-09-14 Igt Gaming apparatus with encryption and method
ES2572810T3 (es) * 2003-11-19 2016-06-02 Assa Abloy Ab Descubrimiento y validación de rutas delegadas y distribuidas
US7698557B2 (en) * 2003-12-22 2010-04-13 Guardtime As System and method for generating a digital certificate
US7526643B2 (en) * 2004-01-08 2009-04-28 Encryption Solutions, Inc. System for transmitting encrypted data
US7752453B2 (en) * 2004-01-08 2010-07-06 Encryption Solutions, Inc. Method of encrypting and transmitting data and system for transmitting encrypted data
US7849326B2 (en) * 2004-01-08 2010-12-07 International Business Machines Corporation Method and system for protecting master secrets using smart key devices
US8031865B2 (en) * 2004-01-08 2011-10-04 Encryption Solutions, Inc. Multiple level security system and method for encrypting data within documents
US7711951B2 (en) * 2004-01-08 2010-05-04 International Business Machines Corporation Method and system for establishing a trust framework based on smart key devices
US7966487B2 (en) 2004-01-09 2011-06-21 Corestreet, Ltd. Communication-efficient real time credentials for OCSP and distributed OCSP
JP4390570B2 (ja) * 2004-01-21 2009-12-24 株式会社エヌ・ティ・ティ・ドコモ 多段署名検証システム、電子署名付与装置、データ追加装置及び電子署名検証装置
US7289629B2 (en) * 2004-02-09 2007-10-30 Microsoft Corporation Primitives for fast secure hash functions and stream ciphers
US7778422B2 (en) * 2004-02-27 2010-08-17 Microsoft Corporation Security associations for devices
US8442219B2 (en) * 2004-03-31 2013-05-14 Jesse Lipson Public key cryptographic methods and systems
US20050246529A1 (en) 2004-04-30 2005-11-03 Microsoft Corporation Isolated persistent identity storage for authentication of computing devies
US7562052B2 (en) * 2004-06-07 2009-07-14 Tony Dezonno Secure customer communication method and system
US7205882B2 (en) * 2004-11-10 2007-04-17 Corestreet, Ltd. Actuating a security system using a wireless device
US7475247B2 (en) * 2004-12-16 2009-01-06 International Business Machines Corporation Method for using a portable computing device as a smart key device
US7386736B2 (en) * 2004-12-16 2008-06-10 International Business Machines Corporation Method and system for using a compact disk as a smart key device
US20060153369A1 (en) * 2005-01-07 2006-07-13 Beeson Curtis L Providing cryptographic key based on user input data
US20060153364A1 (en) * 2005-01-07 2006-07-13 Beeson Curtis L Asymmetric key cryptosystem based on shared knowledge
US20060153370A1 (en) * 2005-01-07 2006-07-13 Beeson Curtis L Generating public-private key pair based on user input data
US20060156013A1 (en) * 2005-01-07 2006-07-13 Beeson Curtis L Digital signature software using ephemeral private key and system
US7593527B2 (en) * 2005-01-07 2009-09-22 First Data Corporation Providing digital signature and public key based on shared knowledge
US7490239B2 (en) * 2005-01-07 2009-02-10 First Data Corporation Facilitating digital signature based on ephemeral private key
US7936869B2 (en) * 2005-01-07 2011-05-03 First Data Corporation Verifying digital signature based on shared knowledge
US7869593B2 (en) * 2005-01-07 2011-01-11 First Data Corporation Software for providing based on shared knowledge public keys having same private key
US7693277B2 (en) * 2005-01-07 2010-04-06 First Data Corporation Generating digital signatures using ephemeral cryptographic key
US20060153367A1 (en) * 2005-01-07 2006-07-13 Beeson Curtis L Digital signature system based on shared knowledge
US20070229350A1 (en) * 2005-02-01 2007-10-04 Scalisi Joseph F Apparatus and Method for Providing Location Information on Individuals and Objects using Tracking Devices
US7598855B2 (en) 2005-02-01 2009-10-06 Location Based Technologies, Inc. Apparatus and method for locating individuals and objects using tracking devices
US20070174271A1 (en) * 2005-02-18 2007-07-26 Ulf Mattsson Database system with second preprocessor and method for accessing a database
US7725715B2 (en) * 2005-02-24 2010-05-25 Access Business Group International Llc System and method for three-phase data encryption
US8489728B2 (en) 2005-04-15 2013-07-16 Microsoft Corporation Model-based system monitoring
US7802144B2 (en) 2005-04-15 2010-09-21 Microsoft Corporation Model-based system monitoring
US7797147B2 (en) 2005-04-15 2010-09-14 Microsoft Corporation Model-based system monitoring
US9191198B2 (en) * 2005-06-16 2015-11-17 Hewlett-Packard Development Company, L.P. Method and device using one-time pad data
US8549513B2 (en) 2005-06-29 2013-10-01 Microsoft Corporation Model-based virtual system provisioning
US8874477B2 (en) 2005-10-04 2014-10-28 Steven Mark Hoffberg Multifactorial optimization system and method
US7941309B2 (en) 2005-11-02 2011-05-10 Microsoft Corporation Modeling IT operations/policies
CN100505620C (zh) * 2005-12-09 2009-06-24 上海燕托计算机有限公司 一种减少rsa密钥变量存储空间的方法
WO2008054512A2 (en) 2006-04-19 2008-05-08 Stepnexus Holdings Methods and systems for ic card application loading
US9002018B2 (en) 2006-05-09 2015-04-07 Sync Up Technologies Corporation Encryption key exchange system and method
US8127133B2 (en) * 2007-01-25 2012-02-28 Microsoft Corporation Labeling of data objects to apply and enforce policies
US9432845B2 (en) 2007-03-16 2016-08-30 Visa International Service Association System and method for automated analysis comparing a wireless device location with another geographic location
US8116731B2 (en) * 2007-11-01 2012-02-14 Finsphere, Inc. System and method for mobile identity protection of a user of multiple computer applications, networks or devices
US8374634B2 (en) 2007-03-16 2013-02-12 Finsphere Corporation System and method for automated analysis comparing a wireless device location with another geographic location
US9185123B2 (en) 2008-02-12 2015-11-10 Finsphere Corporation System and method for mobile identity protection for online user authentication
US8280348B2 (en) 2007-03-16 2012-10-02 Finsphere Corporation System and method for identity protection using mobile device signaling network derived location pattern recognition
US9420448B2 (en) 2007-03-16 2016-08-16 Visa International Service Association System and method for automated analysis comparing a wireless device location with another geographic location
US9922323B2 (en) 2007-03-16 2018-03-20 Visa International Service Association System and method for automated analysis comparing a wireless device location with another geographic location
US7917747B2 (en) * 2007-03-22 2011-03-29 Igt Multi-party encryption systems and methods
US8102256B2 (en) 2008-01-06 2012-01-24 Location Based Technologies Inc. Apparatus and method for determining location and tracking coordinates of a tracking device
US8244468B2 (en) * 2007-11-06 2012-08-14 Location Based Technology Inc. System and method for creating and managing a personalized web interface for monitoring location information on individuals and objects using tracking devices
US8497774B2 (en) * 2007-04-05 2013-07-30 Location Based Technologies Inc. Apparatus and method for adjusting refresh rate of location coordinates of a tracking device
US9111189B2 (en) * 2007-10-31 2015-08-18 Location Based Technologies, Inc. Apparatus and method for manufacturing an electronic package
US8224355B2 (en) 2007-11-06 2012-07-17 Location Based Technologies Inc. System and method for improved communication bandwidth utilization when monitoring location information
US8774827B2 (en) * 2007-04-05 2014-07-08 Location Based Technologies, Inc. Apparatus and method for generating position fix of a tracking device in accordance with a subscriber service usage profile to conserve tracking device power
US20080304669A1 (en) * 2007-06-11 2008-12-11 The Boeing Company Recipient-signed encryption certificates for a public key infrastructure
US20100031321A1 (en) 2007-06-11 2010-02-04 Protegrity Corporation Method and system for preventing impersonation of computer system user
US8654974B2 (en) * 2007-10-18 2014-02-18 Location Based Technologies, Inc. Apparatus and method to provide secure communication over an insecure communication channel for location information using tracking devices
TW200950457A (en) * 2008-05-30 2009-12-01 Jiu-Huan Li Asynchronous encryption and decryption method
US8170216B2 (en) * 2008-06-18 2012-05-01 Apple Inc. Techniques for validating and sharing secrets
EP2513829B1 (de) 2009-12-16 2021-04-07 Cardiac Pacemakers, Inc. System und verfahren zur autorisierung von eingeschränkter funktionalität
US8520842B2 (en) * 2010-01-07 2013-08-27 Microsoft Corporation Maintaining privacy during user profiling
US8621227B2 (en) 2010-12-28 2013-12-31 Authernative, Inc. System and method for cryptographic key exchange using matrices
US8656484B2 (en) 2010-12-28 2014-02-18 Authernative, Inc. System and method for mutually authenticated cryptographic key exchange using matrices
US8949954B2 (en) 2011-12-08 2015-02-03 Uniloc Luxembourg, S.A. Customer notification program alerting customer-specified network address of unauthorized access attempts to customer account
AU2012100460B4 (en) 2012-01-04 2012-11-08 Uniloc Usa, Inc. Method and system implementing zone-restricted behavior of a computing device
AU2012100462B4 (en) 2012-02-06 2012-11-08 Uniloc Usa, Inc. Near field authentication through communication of enclosed content sound waves
US8627097B2 (en) 2012-03-27 2014-01-07 Igt System and method enabling parallel processing of hash functions using authentication checkpoint hashes
WO2013151851A2 (en) 2012-04-01 2013-10-10 Authentify, Inc. Secure authentication in a multi-party system
AU2013100355B4 (en) 2013-02-28 2013-10-31 Netauthority, Inc Device-specific content delivery
US10044695B1 (en) 2014-09-02 2018-08-07 Amazon Technologies, Inc. Application instances authenticated by secure measurements
US9442752B1 (en) 2014-09-03 2016-09-13 Amazon Technologies, Inc. Virtual secure execution environments
US10061915B1 (en) 2014-09-03 2018-08-28 Amazon Technologies, Inc. Posture assessment in a secure execution environment
US9577829B1 (en) 2014-09-03 2017-02-21 Amazon Technologies, Inc. Multi-party computation services
US10079681B1 (en) 2014-09-03 2018-09-18 Amazon Technologies, Inc. Securing service layer on third party hardware
US9584517B1 (en) 2014-09-03 2017-02-28 Amazon Technologies, Inc. Transforms within secure execution environments
US9754116B1 (en) 2014-09-03 2017-09-05 Amazon Technologies, Inc. Web services in secure execution environments
US9246690B1 (en) 2014-09-03 2016-01-26 Amazon Technologies, Inc. Secure execution environment services
US9491111B1 (en) 2014-09-03 2016-11-08 Amazon Technologies, Inc. Securing service control on third party hardware
US10419215B2 (en) 2016-11-04 2019-09-17 Microsoft Technology Licensing, Llc Use of error information to generate encryption keys
US10594668B1 (en) 2016-12-01 2020-03-17 Thales Esecurity, Inc. Crypto Cloudlets
US10650139B2 (en) 2017-06-12 2020-05-12 Daniel Maurice Lerner Securing temporal digital communications via authentication and validation for wireless user and access devices with securitized containers
US10154021B1 (en) 2017-06-12 2018-12-11 Ironclad Encryption Corporation Securitization of temporal digital communications with authentication and validation of user and access devices
US10764282B2 (en) 2017-06-12 2020-09-01 Daniel Maurice Lerner Protected and secured user-wearable devices for assured authentication and validation of data storage and transmission that utilize securitized containers
US10979221B2 (en) * 2018-01-03 2021-04-13 Arizona Board Of Regents On Behalf Of Northern Arizona University Generation of keys of variable length from cryptographic tables
WO2019195691A1 (en) 2018-04-05 2019-10-10 Daniel Maurice Lerner Discrete blockchain and blockchain communications
US11985134B2 (en) 2021-02-01 2024-05-14 Bank Of America Corporation Enhanced authentication framework using EPROM grid pattern recognition

Non-Patent Citations (6)

* Cited by examiner, † Cited by third party
Title
AFJPS-Conference Proceedings, Bd. 45, Juni 1976, S. 109-112 *
Aho, A.V. - Hopcraft, J.E. - Ullman, J.D.: The Design and Analysis of Computer Algo- rithms, Reading, Ma., Addison-Wesley, 1974, S. 363-404 *
Bell System Technical Journal, Bd. 27, S. 379, 623, 1948 *
Cover, Thomas M. - King, Roger C.: A Conver- gent Gambling Estimate of the Entropy of English, Technical Report Nr. 22, Statistics Department, Stanford University, Nov. 1976 *
Journal of the Association for Computing Machinery, Bd. 13, 1966, S. 547 *
Knuth, D.: The Art of Computer Programming, Bd. II, Reading, Ma., Addison-Wesley, 1969 *

Also Published As

Publication number Publication date
US4218582A (en) 1980-08-19
ES474539A1 (es) 1980-04-16
CH634161A5 (fr) 1983-01-14
AU519184B2 (en) 1981-11-12
JPS5488703A (en) 1979-07-14
FR2405532A1 (fr) 1979-05-04
IT7828508A0 (it) 1978-10-06
DE2843583C2 (de) 1982-06-03
FR2405532B1 (fr) 1985-10-11
AU4041878A (en) 1980-04-17
BE871039A (fr) 1979-04-05
SE7810478L (sv) 1979-04-07
GB2006580B (en) 1982-08-18
CA1128159A (en) 1982-07-20
JPS5950068B2 (ja) 1984-12-06
SE439225B (sv) 1985-06-03
IT1099780B (it) 1985-09-28
NL7810063A (nl) 1979-04-10
GB2006580A (en) 1979-05-02

Similar Documents

Publication Publication Date Title
DE2843583A1 (de) Verfahren und vorrichtung zum entschluesseln verschluesselter nachrichten
DE69322376T2 (de) Einrichtung und Verfahren zur Datenverschlüsselung
DE69829967T2 (de) Verfahren und vorrichtung zur schnellen elliptischen verschlüsselung mit unmittelbarer einbettung
EP0472714B1 (de) Verfahren zur authentifizierung eines eine datenstation benutzenden anwenders
DE19804054B4 (de) System zur Verifizierung von Datenkarten
DE60001630T2 (de) Sichere gegenseitige Netzwerkauthenifizierung und Schlüselaustauschprotokoll
DE3685987T2 (de) Verfahren zum vermindern der fuer eine rsa-verschluesselung benoetigten veraenderlichen speicherkapazitaet.
DE69929251T2 (de) Verschlüsselungssystem mit einem schlüssel veränderlicher länge
DE68919923T2 (de) Verfahren und Vorrichtung zur Authentifizierung.
DE69935913T2 (de) Leckresistente aktualisierung eines indexierten kryptographischen schlüssels
DE3203412A1 (de) Schnelles oeffentliches realzeit-verschluesselungssystem
DE60217260T2 (de) Datenverarbeitungs- und Verschlüsselungseinheit
DE69611605T2 (de) System zur sicherstellung, dass das &#34;blinding&#34; von geheimschlüsselzertifikaten begrenzt ist, auch wenn das vergabeprotokoll im parallelmodus ausgefürht wird
CH660822A5 (de) Zufallsprimzahlen-erzeugungsmittel in einer mit oeffentlichem schluessel arbeitenden daten-verschluesselungsanlage.
DE10148415C2 (de) Verfahren und Vorrichtung zum Verschlüsseln und Entschlüsseln von Daten
DE60109805T2 (de) Verfahren und system zur benützung eines ungesicherten krypto-beschleunigers
CH711133B1 (de) Protokoll zur Signaturerzeugung
DE10143728A1 (de) Vorrichtung und Verfahren zum Berechnen eines Ergebnisses einer modularen Exponentiation
DE69837036T2 (de) Verfahren und vorrichtung zur ausführung einer entschlüsselung mittels einer standardisierten modularen potenzierung zum vereiteln eines zeitangriffs
DE69735290T2 (de) Verfahren zur unsymmetrischen kryptographischen kommunikation und zugehöriger tragbarer gegenstand
DE60022770T2 (de) Gegenmassnahme in einem elektronischen baustein zur ausführung eines kryptoalgorithmus mit öffentlichem schlüssel vom rsa-typ
DE68907717T2 (de) Diversifizierungsverfahren für öffentliche schlüssel.
EP4101118A1 (de) Schlüsselgenerierung und pace mit sicherung gegen seitenkanalangriffe
EP1442391A2 (de) Verfahren und vorrichtung zum absichern einer berechnung in einem kryptographischen algorithmus
DE10328860A1 (de) Vorrichtung und Verfahren zum Verschlüsseln von Daten

Legal Events

Date Code Title Description
OAP Request for examination filed
OD Request for examination
D2 Grant after examination
8369 Partition in:

Ref document number: 2857905

Country of ref document: DE

Format of ref document f/p: P

AH Division in

Ref country code: DE

Ref document number: 2857905

Format of ref document f/p: P

Q171 Divided out to:

Ref country code: DE

Ref document number: 2857905

8328 Change in the person/name/address of the agent

Free format text: VON FUENER, A., DIPL.-CHEM. DR.RER.NAT. EBBINGHAUS, D., DIPL.-ING. FINCK, K., DIPL.-ING. DR.-ING., PAT.-ANW., 8000 MUENCHEN

8328 Change in the person/name/address of the agent

Free format text: STREHL, P., DIPL.-ING. DIPL.-WIRTSCH.-ING. SCHUEBEL-HOPF, U., DIPL.-CHEM. DR.RER.NAT. GROENING, H.,DIPL.-ING., PAT.-ANWAELTE, 8000 MUENCHEN

8339 Ceased/non-payment of the annual fee