DE69929251T2 - Verschlüsselungssystem mit einem schlüssel veränderlicher länge - Google Patents

Verschlüsselungssystem mit einem schlüssel veränderlicher länge Download PDF

Info

Publication number
DE69929251T2
DE69929251T2 DE69929251T DE69929251T DE69929251T2 DE 69929251 T2 DE69929251 T2 DE 69929251T2 DE 69929251 T DE69929251 T DE 69929251T DE 69929251 T DE69929251 T DE 69929251T DE 69929251 T2 DE69929251 T2 DE 69929251T2
Authority
DE
Germany
Prior art keywords
length
encryption key
string
key
character
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.)
Expired - Lifetime
Application number
DE69929251T
Other languages
English (en)
Other versions
DE69929251D1 (de
Inventor
Taishin Takaoka-shi NISHIDA
Yuji Kawasaki-shi TAKADA
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.)
Fujitsu Ltd
Original Assignee
Fujitsu Ltd
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 Fujitsu Ltd filed Critical Fujitsu Ltd
Publication of DE69929251D1 publication Critical patent/DE69929251D1/de
Application granted granted Critical
Publication of DE69929251T2 publication Critical patent/DE69929251T2/de
Anticipated expiration legal-status Critical
Expired - Lifetime 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/06Cryptographic mechanisms or cryptographic arrangements for secret or secure communications; Network security protocols the encryption apparatus using shift registers or memories for block-wise or stream coding, e.g. DES systems or RC4; Hash functions; Pseudorandom sequence generators
    • H04L9/065Encryption by serially and continuously modifying data stream elements, e.g. stream cipher systems, RC4, SEAL or A5/3
    • 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)
  • Storage Device Security (AREA)
  • Document Processing Apparatus (AREA)

Description

  • Technisches Gebiet
  • Die vorliegende Erfindung betrifft ein Kryptosystem. Die vorliegende Erfindung kann zum Beispiel verendet werden zur: Verschlüsselung und Entschlüsselung von Kommunikationsinhalten, die über ein Computernetz übertragen werden und Geheimhaltung erfordern; Verschlüsselung von Informationen während des Speicherns auf einem Aufzeichnungsmedium und Entschlüsselung der Informationen während des Lesens, wobei die Informationen Geheimhaltung erfordern; und dergleichen.
  • Hintergrundtechnik
  • Ein herkömmliches Kryptosystem wird im allgemeinen klassifiziert in ein Kryptosystem mit geheimem Schlüssel und ein Kryptosystem mit öffentlichem Schlüssel. Das Kryptosystem mit geheimem Schlüssel wird ferner klassifiziert in ein Stromkryptosystem und ein Blockkryptosystem. Damit ist eine Anzahl von Systemen betrachtet worden.
  • Gemäß dem Kryptosystem mit geheimem Schlüssel besitzen nur beteiligte Parteien sowohl einen Verschlüsselungsschlüssel als auch einen Entschlüsselungsschlüssel als Geheimschlüssel, verschlüsselt eine Person, die einen verschlüsselten Text sendet, einen Klartext mit einem Verschlüsselungsschlüssel und sendet den verschlüsselten Text zu einem Kommunikationspartner, und der Kommunikationspartner entschlüsselt den verschlüsselten Text mit einem Entschlüsselungsschlüssel, um den Klartext zu erhalten. Was hierbei die Stärke eines Kryptosystems betrifft, sind zwei Punkte von Wichtigkeit: nämlich daß ein Verschlüsselungsschlüssel und ein Entschlüsselungsschlüssel geheimgehalten werden; und eine Person, die einen verschlüsselten Text während der Kommunikation wittert, den verschlüsselten Text nicht ein fach lernen kann, um eine Regel zum Erhalten eines Klartextes herauszufinden. Was den ersteren Punkt angeht, werden ein Verschlüsselungsschlüssel und ein Entschlüsselungsschlüssel von den Kommunikationsparteien gemeinsam genutzt, so daß es von Bedeutung ist, wie sicher ein Schlüssel, dessen Verteilung wenigstens einmal erforderlich ist, verteilt werden sollte. Was den letzteren Punkt angeht, sind verschiedene Versuche unternommen worden; zum Beispiel wird die Komplexität einer Regel verstärkt, so daß eine Regel nicht ohne weiteres herausgefunden werden kann, wird eine Hash-Funktion ohne jede Regel verwendet und werden ein Schlüssel und eine jedes Mal verwendete Regel wahllos geändert.
  • Gemäß dem Kryptosystem mit öffentlichem Schlüssel wird unter Ausnutzung der Schwierigkeit des einmaligen Zerlegens eines Wertes eines Produktes aus ausreichend großen Primzahlen in Faktoren und der Schwierigkeit des Erhaltens einer Lösung für eine elliptische Kurve ein Verschlüsselungsschlüssel zur Verschlüsselung öffentlich gemacht, erstellt eine Person, die einen Klartext senden möchte, einen verschlüsselten Text unter Verwendung des Schlüsselelementes, das öffentlich gemacht wurde, und kann nur eine autorisierte Person den verschlüsselten Text mit einem Geheimschlüssel entschlüsseln. Gemäß diesem System wird die Sicherheit dadurch gewährleistet, daß die Schwierigkeit des Erhaltens eines Geheimschlüssels aus einem öffentlichen Schlüssel genutzt wird, und eine Verteilung eines Schlüssels, die gemäß dem Kryptosystem mit geheimem Schlüssel ein Problem darstellt, ist nicht erforderlich. In diesem Punkt wird die Sicherheit verstärkt.
  • Das Kryptosystem mit öffentlichem Schlüssel benötigt jedoch eine große Menge an Berechnungszeit zur Verschlüsselung und Entschlüsselung. Deshalb beansprucht die Arbeit mit einem langen Klartext (ungefähr 1000 oder mehr Zeichen) viel Zeit und hohe Kosten und ist somit im praktischen Einsatz ungünstig.
  • Gemäß dem herkömmlicherweise bekannten Kryptosystem mit geheimem Schlüssel wird hauptsächlich ein Blockkryptosystem verwendet. Dieses System erfordert eine lange Berechnungszeit zur Verschlüsselung und Entschlüsselung und weiterhin viel Zeit und hohe Kosten bei der Bearbeitung eines langen Klartextes, wodurch es im praktischen Einsatz ungünstig ist. Obwohl in einem herkömmlichen Kryptosystem mit geheimem Schlüssel im allgemeinen ferner ein DES-Kryptosystem in einem herkömmlichen Kryptosystem mit geheimem Schlüssel verwendet wird, wird festgestellt, daß ein verschlüsselter Text im Prinzip entschlüsselt werden kann, wodurch ein Sicherheitsproblem verursacht wird.
  • Andererseits wird bei dem Stromkryptosystem von dem Kryptosystem mit geheimem Schlüssel gemäß einem System (Vernam-Kryptosystem), bei dem eine echte Zufallszahlenfolge als Verschlüsselungsschlüssel verwendet wird und ein Schlüssel, der in der Vergangenheit verwendet wurde, nicht wieder verwendet wird, weniger Zeit zur Verschlüsselung und Entschlüsselung benötigt, und ein verschlüsselter Text kann im Prinzip nicht entschlüsselt werden. Jedoch muß zuvor ein Verschlüsselungsschlüssel mit derselben Länge wie jener eines verschlüsselten Textes an einen Empfänger durch ein sicheres Mittel gesendet werden, so daß ein Problem der Verteilung eines Schlüssels verursacht wird. Da das Gewährleisten der Sicherheit zum Verteilen eines Schlüssels viel kostet, kann das Vernam-Kryptosystem nur für eine spezielle Kommunikation verwendet werden, die hohe Geheimhaltung erfordert, auch wenn die Kosten zur Verteilung eines Schlüssels unberücksichtigt bleiben.
  • US-A-5835597 offenbart ein Stromkryptosystem, bei dem für jeden zu verschlüsselnden Klartext eine pseudostatistische Bitfolge, die dieselbe Länge wie der Klartext hat, erzeugt wird und zu dem Klartext zum Erstellen des verschlüsselten Textes hinzugefügt wird.
  • Offenbarung der Erfindung
  • Angesichts der obenerwähnten Probleme einer herkömmlichen Verschlüsselungsvorrichtung ist es eine Aufgabe der vorliegenden Erfindung, ein Kryptosystem mit Schlüssel mit variabler Länge mit hoher Sicherheit und niedrigen Berechnungskosten vorzusehen. Als Schlüsselerzeugungsschema eines Stromkryptosystems hat dieses System eine Zufallszahleigenschaft, die einer echten Zufallszahlenfolge ähnlich ist (d. h. Schwierigkeit bei der Entschlüsselung), gestattet es die Selektion eines erforderlichen Schlüssels gemäß der Länge eines Klartextes und eines verschlüsselten Textes und erfordert es nur eine kleine Menge von Parametern zur Erzeugung eines Schlüssels, um zuvor durch einen Absender und einen Empfänger gemeinsam genutzt zu werden, im Vergleich zu jener eines verschlüsselten Textes.
  • Die Erfindung sieht ein System nach Anspruch 1, ein Verfahren nach Anspruch 9 und ein Programm nach Anspruch 17 vor.
  • Um die obengenannte Aufgabe zu erfüllen, wird bei dem Kryptosystem mit Schlüssel mit variabler Länge der vorliegenden Erfindung zunächst ein Schlüsselerzeugungsschema verwendet, das nur eine zuvor gegebene konstante Zahl oder weniger von Zeichenketten mit besonderer Länge hat. Wenn die konstante Zahl k ist, wird solch ein Schlüsselerzeugungsschema als "k-sparse language" bezeichnet.
  • Das Kryptosystem mit Schlüssel mit variabler Länge der vorliegenden Erfindung unter Verwendung einer Erzeugungsvorrichtung eines Schlüssels mit variabler Länge mit one-sparse language enthält: einen Erzeugungsverarbeitungsteil eines Schlüssels mit variabler Länge zum Erzeugen eines Verschlüsselungsschlüssels mit einer erforderlichen beliebigen Länge; und einen Datenkettenlängen-Detektionsverarbeitungsteil zum Detektieren einer Länge einer Zeichenkette, bei dem, während der Verschlüsselung des Klartextes, der Datenkettenlängen-Detektionsteil eine Länge des Klartextes detektiert und der Erzeugungsverarbeitungsteil des Schlüssels mit variabler Länge nur einen Verschlüsselungsschlüssel mit einer besonderen Länge auf der Basis der detektierten Länge des Klartextes zur Stromverschlüsselungsverarbeitung erzeugt und, während der Entschlüsselung des verschlüsselten Textes, der Datenkettenlängen-Detektionsverarbeitungsteil eine Länge des verschlüsselten Textes detektiert und der Erzeugungsverarbeitungsteil des Schlüssels mit variabler Länge nur einen Verschlüsselungsschlüssel, der derselbe wie der Verschlüsselungsschlüssel mit besonderer Länge ist, der für die Verschlüsselung verwendet wurde, auf der Basis der detektierten Länge des verschlüsselten Textes zur Stromentschlüsselungsverarbeitung erzeugt.
  • Gemäß der oben angegebenen Konfiguration sind bei dem Kryptosystem mit Schlüssel mit variabler Länge der vorliegenden Erfindung Parameter, die zum Erzeugen einer sparse language erforderlich sind, nur eine Anfangskette, ein Satz von Konvertierungsregeln und eine Konvertierungsregel-Selektionsfunktion. Diese Parameter müssen durch ein sicheres Mittel zu der Seite des Empfängers gesendet werden. Eine Datenmenge ist klein, so daß die Verteilung eines Schlüssels verglichen mit einem herkömmlichen Stromcode viel leichter ist. Ferner wird ein Verschlüsselungsschlüssel nicht zweimal verwendet. Deshalb besteht keine Möglichkeit, daß ein Klartext nur aus einem verschlüsselten Text erhalten wird. weiterhin wird ein Verschlüsselungsschlüssel erzeugt, indem eine Zeichenkonvertierung wiederholt wird, und die Zeichenkonvertierung kann parallel ausgeführt werden. Deshalb kann der Schlüssel in einer kurzen Berechnungszeit erzeugt werden. Sobald der Schlüssel erzeugt ist, werden die Verschlüsselung und Entschlüsselung nur durch Addition und Subtraktion ausgeführt, so daß die Verschlüsselung und Entschlüsselung mit hoher Geschwindigkeit vorgenommen werden können. Deshalb kann eine große Menge an Daten mit hoher Geschwindigkeit verschlüsselt werden.
  • Das Kryptosystem mit Schlüssel mit variabler Länge der vorliegenden Erfindung, bei dem eine k-sparse language in bezug auf k von 2 oder mehr als Erzeugungssystem eines Schlüssels mit variabler Länge verwendet wird, enthält: einen Erzeugungsverarbeitungsteil eines Schlüssels mit variabler Länge zum Erzeugen eines Verschlüsselungsschlüssels mit einer erforderlichen beliebigen Länge; einen Datenkettenlängen-Detektionsverarbeitungsteil zum Detektieren einer Länge einer Zeichenkette; und eine Hash-Funktion zum Zuordnen einer Zeichenkette zu einem Hash-Funktions-Wert, bei dem, während der Verschlüsselung des Klartextes, der Datenkettenlängen-Detektionsverarbeitungsteil eine Länge des Klartextes detektiert, der Erzeugungsverarbeitungsteil des Schlüssels mit variabler Länge eine vorbestimmte Anzahl oder weniger von Verschlüsselungsschlüsseln mit besonderer Länge auf der Basis der detektierten Länge des Klartextes erzeugt und einen Verschlüsselungsschlüssel zur Stromverschlüsselungsverarbeitung selektiert, die Hash-Funktion einen Hash-Wert in bezug auf den zu verschlüsselnden Klartext erzeugt und der Hash-Wert zusammen mit dem erzeugten verschlüsselten Text gesendet wird und, während der Entschlüsselung des verschlüsselten Textes, der Datenkettenlängen-Detektionsverarbeitungsteil eine Länge des verschlüsselten Textes detektiert, der Erzeugungsverarbeitungsteil des Schlüssels mit variabler Länge eine Vielzahl oder weniger von Verschlüsselungsschlüsseln mit besonderer Länge auf der Basis der detektierten Länge des verschlüsselten Textes zur Stromentschlüsselungsverarbeitung erzeugt, die Hash-Funktion einen Hash-Wert in bezug auf jeden der entschlüsselten Klartexte erzeugt und ein Klartext mit einem Hash-Wert, der dem gesendeten Hash-Wert gleich ist, selektiert wird.
  • Gemäß der oben angegebenen Konfiguration wird, wenn eine k-sparse language in bezug auf k von 2 oder mehr als Erzeugungssystem des Schlüssels mit variabler Länge verwendet wird, eines von k möglichen Elementen von Zeichenketten zur Verschlüsselungs- und Entschlüsselungsverarbeitung verwendet. Deshalb wird eine Hash-Funktion verwendet, die Merkmale von Klartext als kleine positive ganze Zahl darstellt, und ein verschlüsselter Text, der unter Verwendung eines beliebig selektierten von k Elementen von Zeichenketten als Schlüssel erhalten wird, und ein Hash-Funktions-Wert werden zu einem Empfänger gesendet. Der Empfänger entschlüsselt den verschlüsselten Text hinsichtlich k Elementen von Zeichenketten, die auf der Basis der Länge des verschlüssel ten Textes erzeugt wurden, und erhält jeweilig einen Hash-Funktions-Wert von den resultierenden Zeichenketten, wodurch der Empfänger einen Klartext selektieren kann, der zu dem gesendeten Hash-Funktions-Wert paßt. Da die Länge des Hash-Funktions-Wertes sehr klein ist (etwa mehrere zehn Bits), ist auch dann, wenn ein Stromcode bei der Verteilung verwendet wird, bei dem ein herkömmlicherweise verwendeter echter Zufallszahlenwert als Schlüssel genutzt wird, kein Problem bei der Verteilung eines Schlüssels vorhanden.
  • Um eine k-sparse language zu erzeugen, die dieselbe Eigenschaft wie eine Zufallszahlenfolge hat, wird ein System mit einer Anfangskette, einem Satz von Konvertierungsregeln und einer Konvertierungsregel-Selektionsfunktion verwendet. Hierin ist die Anfangskette eine kurze Kette, die aus denselben Zeichen wie denen eines Verschlüsselungsschlüssels gebildet ist. Die Konvertierungsregel ist eine Regel zum Konvertieren eines Zeichens in eine Zeichenkette mit einer Länge von 1 oder mehr, und jedem Zeichen wird nur eine Regel zuteil. Einige Sätze von solchen Regeln sind vorgesehen. Die Konvertierungsregel-Selektionsfunktion ist eine Funktion zum Selektieren eines Satzes von Konvertierungsregeln auf der Basis der Länge einer Zeichenkette. In diesem System wird eine Zeichenkette in eine Zeichenkette konvertiert, die durch Anwenden eines Satzes von Konvertierungsregeln, die durch die Konvertierungsregel-Selektionsfunktion auf der Basis der Länge der Zeichenkette selektiert werden, jeweilig auf alle Zeichen derselben erhalten wird. Eine Anfangskette wird durch das obige Konvertierungssystem sukzessive in eine Zeichenkette konvertiert, und eine Zeichenkette mit derselben Länge wie jener von Klartext, oder mit einer größeren Länge als jene, wird als Verschlüsselungsschlüssel verwen det. Es wird mathematisch verifiziert, daß das hierin beschriebene Zeichenkettenkonvertierungssystem unfehlbar eine k-sparse language erzeugt. Eine beliebige komplizierte Funktion kann bei der Konvertierungsregel-Selektionsfunktion verwendet werden, die eine Entschlüsselung verhindert.
  • Um das obige Zeichenkettenerzeugungsvermögen des Systems weiter zu verstärken, wird in dem Erzeugungsverarbeitungsteil von konvertierten Zeichenketten eine kombinierte Anfangszeichenkette, die durch Kombinieren von Zeichen, die zur Erzeugung des Verschlüsselungsschlüssels verwendet werden, mit Zeichen von Arten, die sich von den Zeichen unterscheiden, die zur Erzeugung des Verschlüsselungsschlüssels verwendet werden, erzeugt wird, als Anfangszeichenkette verwendet, wird eine kombinierte Konvertierungsregel, die durch Kombinieren einer Zeichenkonvertierungsregel bezüglich der Zeichen, die zum Erzeugen des Verschlüsselungsschlüssels verwendet werden, mit einer Zeichenkonvertierungsregel bezüglich der Zeichen von Arten, die sich von den Zeichen unterscheiden, die zur Erzeugung des Verschlüsselungsschlüssels verwendet werden, erzeugt wird, als Konvertierungsregel verwendet, wird die Zeichenkonvertierung wiederholt, indem die kombinierte Anfangszeichenkette und die kombinierte Konvertierungsregel verwendet werden, und werden nur Zeichen, die zum Erzeugen des Verschlüsselungsschlüssels verwendet werden, aus einer erzeugten Zeichenkette extrahiert, um einen Verschlüsselungsschlüssel zu erzeugen.
  • Ferner wird in dem Erzeugungsverarbeitungsteil der konvertierten Zeichenkette eine Anfangszeichenkette von Zeichen von Arten, die sich von jenen von Zeichen unterscheiden, die für den Verschlüsselungsschlüssel verwendet werden, als Anfangszeichenkette verwendet, wird eine Zeichenkonvertierungsregel bezüglich Zeichen von Arten, die sich von jenen von Zeichen unterscheiden, die für den Verschlüsselungsschlüssel verwendet werden, als Konvertierungsregel verwendet, wird die Zeichenkonvertierung unter Verwendung der Anfangszeichenkette und der Zeichenkonvertierungsregel wiederholt und wird der Verschlüsselungsschlüssel durch eine zweite Zeichenkonvertierung zum Konvertieren jedes Zeichens einer erzeugten Zeichenkette in Zeichen, die für den Verschlüsselungsschlüssel verwendet werden, erzeugt.
  • Eine Verschlüsselungsstärke wird auf Grund der Verwendung von redundanten Zeichen erhöht, wie oben beschrieben. Es wird auch mathematisch verifiziert, daß das obige System unfehlbar eine k-sparse language erzeugt.
  • In dem obengenannten Kryptosystem wird dann, wenn kein Verschlüsselungsschlüssel mit einer Länge gleich jener von Klartext erzeugt wird und wenn die Länge eines Klartextes bereits verwendet worden ist, die Zeichenkonvertierung fortgesetzt, um eine konvertierte Zeichenkette mit einer Länge zu erzeugen, die für einen Verschlüsselungsschlüssel nicht verwendet worden ist. Dann wird ein Abschnitt der konvertierten Zeichenkette mit einer Länge gleich jener von Klartext übernommen, und der verbleibende Abschnitt derselben wird ausrangiert, wodurch der Verschlüsselungsschlüssel erzeugt wird. Wie oben beschrieben, kann dadurch, daß ein Absender und ein Empfänger aufzeichnen dürfen, daß die Länge eines verwendeten Verschlüsselungsschlüssels verbraucht ist, verhindert werden, daß derselbe verwendete Schlüssel zwei- oder mehrfach verwendet wird, und die Sicherheitsstärke kann erhöht werden.
  • Das computerlesbare Aufzeichnungsmedium, das ein Verarbeitungsprogramm zum Realisieren von Verarbeitungsoperationen eines Kryptosystems mit Schlüssel mit variabler Länge der vorliegenden Erfindung speichert, enthält: eine Erzeugungsverarbeitungsoperation eines Verschlüsselungsschlüssels mit variabler Länge, zum Erzeugen eines Verschlüsselungsschlüssels mit einer erforderlichen beliebigen Länge; eine Datenkettenlängen-Detektionsverarbeitungsoperation zum Detektieren einer Länge einer Zeichenkette; eine Stromcodeerzeugungsverarbeitungsoperation zum Erzeugen eines Stromcodes unter Verwendung eines bezeichneten Verschlüsselungsschlüssels; und eine Stromcodeentschlüsselungsverarbeitungsoperation zum Entschlüsseln des Stromcodes unter Verwendung eines bezeichneten Verschlüsselungsschlüssels, wobei, während der Verschlüsselung des Klartextes, die Erzeugungsverarbeitungsoperation des Verschlüsselungsschlüssels mit variabler Länge das Erzeugen eines Verschlüsselungsschlüssels mit einer besonderen Länge auf der Basis einer Länge eines Klartextes enthält, die bei der Datenkettenlängen-Detektionsverarbeitungsoperation detektiert wird, und die Stromcodeerzeugungsverarbeitungsoperation das Erzeugen eines Stromcodes unter Verwendung eines Verschlüsselungsschlüssels enthält, der bei der Erzeugungsverarbeitungsoperation des Verschlüsselungsschlüssels mit variabler Länge erzeugt wird, und, während der Entschlüsselung des verschlüsselten Textes, die Erzeugungsverarbeitungsoperation des Verschlüsselungsschlüssels mit variabler Länge das Erzeugen desselben Verschlüsselungsschlüssels wie des für die Verschlüsselung verwendeten Verschlüsselungsschlüssels mit besonderer Länge auf der Basis der Länge des verschlüsselten Textes enthält, die bei der Datenkettenlängen-Detektionsverarbeitungsopera tion detektiert wird, und die Stromcodeentschlüsselungsverarbeitungsoperation das Entschlüsseln eines Stromcodes unter Verwendung des Verschlüsselungsschlüssels enthält, der bei der Erzeugungsverarbeitungsoperation des Verschlüsselungsschlüssels mit variabler Länge erzeugt wird.
  • Durch das Bereitstellen des obigen Aufzeichnungsmediums kann das Kryptosystem mit Schlüssel mit variabler Länge der vorliegenden Erfindung unter Verwendung eines Computers vorgesehen werden, der das Aufzeichnungsmedium lesen kann.
  • Kurze Beschreibung der Zeichnungen
  • 1 zeigt eine exemplarische Konfiguration eines Kryptosystems mit Schlüssel mit variabler Länge der Ausführungsform 1 gemäß der vorliegenden Erfindung.
  • 2 zeigt eine exemplarische Konvertierungsregel, die in einem Konvertierungsregel-Halteteil 31 der Ausführungsform 1 gemäß der vorliegenden Erfindung gehalten wird.
  • 3 ist ein Flußdiagramm, das Verarbeitungsoperationen in einem Absendersystem 100 der Ausführungsform 1 gemäß der vorliegenden Erfindung zeigt.
  • 4 ist ein Flußdiagramm, das Verarbeitungsoperationen in einem Empfängersystem 200 der Ausführungsform 1 gemäß der vorliegenden Erfindung zeigt.
  • 5 zeigt eine exemplarische Konfiguration eines Kryptosystems mit Schlüssel mit variabler Länge der Ausführungsform 2 gemäß der vorliegenden Erfindung.
  • 6 zeigt eine exemplarische Konvertierungsregel, die in einem Konvertierungsregel-Halteteil 31a der Ausführungsform 2 gemäß der vorliegenden Erfindung gehalten wird.
  • 7 zeigt eine exemplarische Konvertierungsregel, die in dem Konvertierungsregel-Halteteil 31a der Ausführungsform 3 gemäß der vorliegenden Erfindung gehalten wird.
  • 8 zeigt eine exemplarische Konvertierungsregel, die in dem Konvertierungsregel-Halteteil 31a der Ausführungsform 4 gemäß der vorliegenden Erfindung gehalten wird.
  • 9 zeigt eine exemplarische Konfiguration eines Kryptosystems mit Schlüssel mit variabler Länge der Ausführungsform 5 gemäß der vorliegenden Erfindung.
  • 10 zeigt eine exemplarische Konvertierungsregel, die in einem Konvertierungsregel-Halteteil 31b der Ausführungsform 5 gemäß der vorliegenden Erfindung gehalten wird.
  • 11 zeigt Beispiele für ein Aufzeichnungsmedium, das ein Verarbeitungsprogramm des Kryptosystems mit Schlüssel mit variabler Länge gemäß der vorliegenden Erfindung speichert.
  • Bester Modus zum Ausführen der Erfindung
  • Im folgenden wird unter Bezugnahme auf die Zeichnungen ein Kryptosystem mit Schlüssel mit variabler Länge einer Ausführungsform gemäß der vorliegenden Erfindung beschrieben.
  • (Ausführungsform 1)
  • In einem Kryptosystem mit Schlüssel mit variabler Länge der Ausführungsform 1 wird ein Erzeugungssystem eines Schlüssels mit variabler Länge mit one-sparse language verwendet. Hierin wird bei einem Schlüsselerzeugungsschema, das nur eine zuvor gegebene konstante Zahl oder weniger von Elementen von Zeichenketten mit besonderer Länge erzeugt, wenn die gegebene konstante Zahl k ist, solch ein Schlüssel erzeugungsschema als k-sparse language bezeichnet. In der Ausführungsform 1 wird, falls die Länge spezifiziert ist, nur ein Element eines Verschlüsselungsschlüssels mit jener Länge erzeugt.
  • 1 zeigt eine exemplarische Konfiguration des Kryptosystems mit Schlüssel mit variabler Länge der Ausführungsform 1 gemäß der vorliegenden Erfindung. In 1 bezeichnet Bezugszeichen 100 ein Absendersystem, das einen Klartext verschlüsselt, und 200 bezeichnet ein Empfängersystem, das einen verschlüsselten Text entschlüsselt, um einen Klartext zu erzeugen. Bezugszeichen 300 bezeichnet einen Kommunikationsweg, über den ein Absender 1 und ein Empfänger 2 Daten austauschen.
  • Das Absendersystem 100 enthält einen Dateneingabeteil 10, einen Datenkettenlängen-Detektionsverarbeitungsteil 20, einen Erzeugungsverarbeitungsteil des Schlüssels mit variabler Länge 30, einen Stromcodeverarbeitungsteil 40 und eine Kommunikationsschnittstelle 50. Ein Controller, ein Speicher und dergleichen, die zum Steuern des Systems erforderlich sind, sind nicht gezeigt.
  • Der Dateneingabeteil 10 gibt Daten ein/aus. Bei der Verschlüsselung wird ein Klartext eingegeben.
  • Der Datenkettenlängen-Detektionsverarbeitungsteil 20 detektiert die Länge einer gegebenen Zeichenkette. Hierin wird die Länge eines Klartextes detektiert.
  • Der Erzeugungsverarbeitungsteil des Schlüssels mit variabler Länge 30 erzeugt einen Verschlüsselungsschlüssel mit einer erforderlichen beliebigen Länge unter Verwendung einer Anfangszeichenkette und einer Konvertierungsregel, wie später beschrieben. Die Länge eines Verschlüsselungsschlüssels basiert auf der Länge eines detektierten Klartextes.
  • Der Erzeugungsverarbeitungsteil des Schlüssels mit variabler Länge 30 enthält einen Konvertierungsregel-Halteteil 31, einen Erzeugungsverarbeitungsteil einer konvertierten Zeichenkette 32, eine Liste verwendeter Schlüssel 33 und einen Verschlüsselungsschlüsselkonvertierungsteil 34.
  • 2(a) zeigt ein Beispiel für eine Konvertierungsregel, die in dem Konvertierungsregel-Halteteil 31 gehalten wird. 2(a) zeigt zur Erleichterung der Beschreibung ein sehr einfaches Beispiel hinsichtlich dreier Zeichen "A", "a" und "b". Gemäß der in 2(a) gezeigten exemplarischen Konvertierungsregel wird bezüglich des Zeichens "A" die Länge desselben von 1 in 2 konvertiert ("aA"). Das heißt, es versteht sich, daß die Länge einer zu erzeugenden Zeichenkette durch eine Zeichenkonvertierung doppelt so groß wird. Die Länge einer zu erzeugenden Zeichenkette kann eingestellt werden, indem eine Konvertierung in mehreren Stufen ausgeführt wird.
  • Es versteht sich von selbst, daß eine Konvertierungsregel, die tatsächlich zu verwenden ist, die Art von zu verwendenden Zeichen bereichern kann, und es kann eine schwierigere Konvertierungsregel verwendet werden. Ferner wird gemäß der exemplarischen Konvertierungsregel in 2 eine Zeichenkette so konvertiert, daß die Länge ihres Teils doppelt so groß wird. Es ist auch möglich, die Konvertierungsregel so festzulegen, daß die Länge eines Teils einer Zeichenkette dreimal so groß oder größer wird.
  • Der Erzeugungsverarbeitungsteil der konvertierten Zeichenkette 32 erzeugt eine konvertierte Zeichenkette mit einer erforderlichen beliebigen Länge aus einer Anfangszeichenkette unter Verwendung einer Konvertierungsregel, die in dem Konvertierungsregel-Halteteil 31 gehalten wird. Um eine konvertierte Zeichenkette mit einer erforderlichen beliebigen Länge zu erhalten, hat der Erzeugungsverarbeitungsteil der konvertierten Zeichenkette 32 die folgenden vier Verarbeitungsstufen.
  • Bei der ersten Verarbeitung wird eine Anfangszeichenkette in eine konvertierte Zeichenkette konvertiert, die die Länge eines Klartextes erreicht, wobei die Konvertierungsregel verwendet wird, die in dem Konvertierungsregel-Halteteil 31 gehalten wird. Wenn zum Beispiel die Konvertierungsregel und eine Anfangszeichenkette A verwendet werden, die in 2 gezeigt sind, wird eine konvertierte Zeichenkette erzeugt, wie sie in 2(b) gezeigt ist. Jedes Mal, wenn eine Zeichenkonvertierung ausgeführt wird, wird die Länge einer konvertierten Zeichenkette um ein Zeichen vergrößert. Da die Länge eines Klartextes durch den Datenkettenlängen-Detektionsverarbeitungsteil 20 detektiert wird, wird die Konvertierung wiederholt, bis die Länge der Zeichenkette die Länge des Klartextes erreicht, wodurch die Länge einer konvertierten Zeichenkette vergrößert wird. Wenn angenommen wird, daß die Länge eines durch den Datenkettenlängen-Detektionsverarbeitungsteil 20 detektierten Klartextes zum Beispiel "7" beträgt, kann gemäß der ersten Verarbeitung eine konvertierte Zeichenkette "bababaA" mit einer Länge von 7 nach sechsmaliger Wiederholung der Konvertierungsregel erzeugt werden.
  • Bei der zweiten Verarbeitung wird geprüft, ob eine konvertierte Zeichenkette, die die Länge eines Klartextes erreicht und in der ersten Verarbeitung erzeugt wurde, für die frühere Erzeugung eines Verschlüsselungsschlüssels verwendet worden ist oder nicht. Wenn die konvertierte Zeichenkette verwendet worden ist, wird die Zeichenkonver tierung fortgesetzt, bis eine konvertierte Zeichenkette erhalten wird, die nicht verwendet worden ist. Deshalb enthält der Erzeugungsverarbeitungsteil des Schlüssels mit variabler Länge 30 die Liste verwendeter Schlüssel 33, die Informationen über die Länge einer in der Vergangenheit verwendeten konvertierten Zeichenkette enthält, und nimmt bei der zweiten Verarbeitung Bezug auf die Informationen. Bei dem Kryptosystem mit Schlüssel mit variabler Länge der vorliegenden Erfindung wird zum Erhöhen der Verschlüsselungsstärke und zum Gewährleisten der Sicherheit ein Verschlüsselungsschlüssel, der bereits verwendet worden ist, nicht noch einmal verwendet. Auch wenn typische elektronische Post mit derselben Länge eines Klartextes oft gesendet wird, wird ein zu verwendender Verschlüsselungsschlüssel jedes Mal variiert, so daß ein verschlüsselter Text auch bei Präsenz eines Dritten, der die Kommunikation mit verschlüsseltem Textes wittert, nicht einfach entschlüsselt werden kann. Bei diesem Beispiel wird in dem Fall, wenn eine konvertierte Zeichenkette mit einer Länge von 7 bereits verwendet worden ist, die Zeichenkonvertierung bei der zweiten Verarbeitung fortgesetzt. Falls zum Beispiel eine konvertierte Zeichenkette mit einer Länge von 8 bei der siebten Konvertierung der nachfolgenden Stufe nicht bereits verwendet worden ist, wird bei der zweiten Verarbeitung eine konvertierte Zeichenkette "abababaA" mit einer Länge von 8 ausgegeben.
  • Bei der dritten Verarbeitung wird in dem Fall, wenn die Länge einer konvertierten Zeichenkette, die die Länge eines Klartextes erreicht hat, die bis zu der Zeit erhalten wurde, als die zweite Verarbeitung vollendet war, jene eines Klartextes überschreitet, die Länge der konvertierten Zeichen kette so eingestellt, um jene eines Klartextes zu sein. Die Länge wird nicht unbedingt um ein Zeichen vergrößert, je nachdem, wie eine Konvertierungsregel aufgestellt wurde. Ferner kann bei der zweiten Verarbeitung eine konvertierte Zeichenkette erzeugt werden, die länger als ein Klartext ist, so daß die Länge einer konvertierten Zeichenkette nicht gleich jener eines Klartextes zu sein braucht. Deshalb wird bei der so erzeugten konvertierten Zeichenkette ein Abschnitt mit einer Länge eines Klartextes übernommen, und der verbleibende Abschnitt wird ausrangiert, wodurch eine konvertierte Zeichenkette mit derselben Länge wie jener eines Klartextes erhalten wird. Bei diesem Beispiel wird bei der konvertierten Zeichenkette mit einer Länge von 8, die bis zu der Zeit erhalten wurde, als die zweite Verarbeitung vollendet war, eine Zeichenkette von 7 Zeichen, die den führenden Abschnitt entsprechend der Länge von 7 eines Klartextes darstellt, übernommen, und die verbleibende eine Zeichenkette wird ausrangiert. Genauer gesagt, die bei der dritten Verarbeitung erhaltene Zeichenkette lautet "abababa".
  • Bei der vierten Verarbeitung wird die konvertierte Zeichenkette, die durch den Erzeugungsverarbeitungsteil der konvertierten Zeichenkette 32 erzeugt wurde, in eine Zeichenkette konvertiert, die als Verschlüsselungsschlüssel zu verwenden ist, und zwar unter Verwendung des Verschlüsselungsschlüsselkonvertierungsteils 34. Falls die durch den Erzeugungsverarbeitungsteil der konvertierten Zeichenkette 32 erzeugte konvertierte Zeichenkette eine Zeichenkette ist, die als Verschlüsselungsschlüssel zu verwenden ist, ist die vierte Verarbeitung nicht erforderlich. Bei diesem Beispiel wird angenommen, daß ein Verschlüsselungsschlüssel eine Binärfolge von "0" und "1" ist. Wenn die Konvertierung wie folgt ausgeführt wird: A → "1", a → "1", b → "0", wird ein Verschlüsselungsschlüssel "1010101" erhalten, wie in 2(c) gezeigt.
  • Der Erzeugungsverarbeitungsteil der konvertierten Zeichenkette 32 erzeugt eine konvertierte Zeichenkette mit einer Länge eines Klartextes durch die oben angegebenen vier Verarbeitungen. Der Erzeugungsverarbeitungsteil des Schlüssels mit variabler Länge 30 nutzt ein konvertiertes Zeichen, das durch den Erzeugungsverarbeitungsteil der konvertierten Zeichenkette 32 erzeugt wurde, als Verschlüsselungsschlüssel. Genauer gesagt, bei dem in 2 gezeigten Beispiel wird "1010101" als Verschlüsselungsschlüssel verwendet.
  • Der Stromcodeverarbeitungsteil 40 erzeugt einen Stromcodetext aus einem Klartext, wobei der durch den Erzeugungsverarbeitungsteil des Schlüssels mit variabler Länge 30 erzeugte Verschlüsselungsschlüssel verwendet wird. Hierin werden Zeichen eines Verschlüsselungsschlüssels zu den jeweiligen Zeichen eines Klartextes hinzugefügt. Da die Länge des Klartextes jener des Verschlüsselungsschlüssels gleich ist, werden die entsprechenden Zeichen des Verschlüsselungsschlüssels zu den jeweiligen Zeichen des Klartextes hinzugefügt. Bei dem in 2 gezeigten Beispiel wird eine entsprechende Binärfolge von 7 Zahlen "1010101" des Verschlüsselungsschlüssels zu einem Klartext mit einer Länge von 7 hinzugefügt.
  • Die Kommunikationsschnittstelle 50 sieht eine Schnittstelle zur Kommunikation über ein Netz 300 vor und sendet einen Stromcodetext, der durch den Stromcodeverarbeitungsteil 40 erzeugt wird, an das Empfängersystem 200. Um die Informationen über die Länge des zur Verschlüsselungsverarbeitung verwendeten Verschlüsselungsschlüssels in der Liste verwendeter Schlüssel 33 des Empfängersystems 200 (später beschrieben) zu halten, während der Inhalt synchronisiert wird, teilt die Kommunikationsschnittstelle 50 dem Empfängersystem 200 auch die Informationen mit.
  • Als nächstes wird die Entschlüsselungsverarbeitung in dem Empfängersystem 200 beschrieben.
  • Das Empfängersystem 200 enthält einen Dateneingabeteil 10, einen Datenkettenlängen-Detektionsverarbeitungsteil 20, einen Erzeugungsverarbeitungsteil des Schlüssels mit variabler Länge 30, einen Stromcodeverarbeitungsteil 40 und eine Kommunikationsschnittstelle 50. Ein Controller, ein Speicher und dergleichen, die zum Steuern des Systems erforderlich sind, sind nicht gezeigt.
  • Der Dateneingabeteil 10 gibt Daten ein/aus. In dem Empfängersystem 200 empfängt der Dateneingabeteil 10 einen verschlüsselten Text von der Kommunikationsschnittstelle 50.
  • Der Datenkettenlängen-Detektionsverarbeitungsteil 20 detektiert die Länge einer gegebenen Zeichenkette auf dieselbe Weise wie der Datenkettenlängen-Detektionsverarbeitungsteil 20 in dem Absendersystem 100. In dem Empfängersystem 200 detektiert der Datenkettenlängen-Detektionsverarbeitungsteil 20 die Länge des empfangenen verschlüsselten Textes.
  • Der Erzeugungsverarbeitungsteil des Schlüssels mit variabler Länge 30 ist derselbe wie der Erzeugungsverarbeitungsteil des Schlüssels mit variabler Länge 30 in dem Absendersystem 100 und erzeugt einen Schlüssel (d. h., der derselbe wie ein Verschlüsselungsschlüssel ist) mit einer erforderlichen beliebigen Länge, der zur Entschlüsselung verwendet wird, unter Verwendung einer Anfangszeichenkette und einer Konvertierungsregel. In dem Empfängersystem 200 basiert die Länge des Verschlüsselungsschlüssels auf der Länge eines verschlüsselten Textes. Der Erzeugungsverarbeitungsteil des Schlüssels mit variabler Länge 30 des Empfängersystems 200 enthält ähnlich einen Konvertierungsregel-Halteteil 31, einen Erzeugungsverarbeitungsteil der konvertierten Zeichenkette 32, eine Liste verwendeter Schlüssel 33 und einen Verschlüsselungsschlüsselkonvertierungsteil 34. Hierbei wird angenommen, daß die in dem Konvertierungsregel-Halteteil 31 gehaltene Konvertierungsregel dieselbe wie jene ist, die in dem Konvertierungsregel-Halteteil 31 des Absendersystems 100 gehalten wird, und zuvor durch ein sicheres Verfahren an das Absendersystem 100 und das Empfängersystem 200 verteilt wird. Ferner wird angenommen, daß eine zu verwendende Anfangszeichenkette dieselbe wie jene ist, die durch das Absendersystem 100 verwendet wird, und zuvor durch ein sicheres Verfahren an das Absendersystem 100 und das Empfängersystem 200 verteilt wird. Zum Beispiel kann ein Kryptosystem mit öffentlichem Schlüssel oder dergleichen zur Verteilung verwendet werden.
  • Hierbei ist die Konvertierungsregel, die in dem Konvertierungsregel-Halteteil 31 gehalten wird, dieselbe wie jene, die in 2 gezeigt ist. Genauso wie im Falle des Absendersystems 100 wird hinsichtlich eines Teils von Zeichen eine Zeichenkette mit einer Länge von 1 in eine Zeichenkette mit einer Länge von 2 konvertiert. Immer dann, wenn eine Zeichenkonvertierung vorgenommen wird, wird die Länge einer erzeugten Zeichenkette um ein Zeichen vergrößert. Die Länge einer zu erzeugenden Zeichenkette kann eingestellt werden, indem die Konvertierung in mehreren Stufen ausgeführt wird.
  • Der Erzeugungsverarbeitungsteil der konvertierten Zeichenkette 32 erzeugt eine konvertierte Zeichenkette mit einer Länge eines verschlüsselten Textes aus einer Anfangszeichenkette unter Verwendung der Konvertierungsregel, die in dem Konvertierungsregel-Halteteil 31 gehalten wird. Um eine konvertierte Zeichenkette mit einer Länge eines verschlüsselten Textes zu erhalten, hat der Erzeugungsverarbeitungsteil der konvertierten Zeichenkette 32 die folgenden vier Verarbeitungsstufen.
  • Bei der ersten Verarbeitung wird eine Anfangszeichenkette in eine konvertierte Zeichenkette konvertiert, bis sie die Länge eines verschlüsselten Textes erreicht, wobei die Konvertierungsregel verwendet wird, die in dem Konvertierungsregel-Halteteil 31 gehalten wird. Falls die Konvertierungsregel und die Anfangszeichenkette A, die in 2(a) gezeigt sind, verwendet werden, wird eine konvertierte Zeichenkette ähnlich wie in 2(b) erzeugt. Da die Länge eines verschlüsselten Textes durch den Datenkettenlängen-Detektionsverarbeitungsteil 20 detektiert wird, wird die Konvertierung wiederholt, bis die Länge der Zeichenkette jene des verschlüsselten Textes erreicht, wodurch die Länge einer konvertierten Zeichenkette vergrößert wird. Hierbei wird, da die Länge des verschlüsselten Textes gemäß der ersten Verarbeitung "7" beträgt, die Konvertierungsregel sechsmal wiederholt, um eine konvertierte Zeichenkette mit einer Länge von 7 zu erzeugen.
  • Bei der zweiten Verarbeitung wird geprüft, ob eine konvertierte Zeichenkette, die die Länge eines verschlüsselten Textes erreicht und bei der ersten Verarbeitung erzeugt wurde, für die frühere Erzeugung eines Verschlüsselungsschlüssels verwendet worden ist oder nicht. Wenn die konvertierte Zeichenkette verwendet worden ist, wird die Zeichenkonvertierung fortgesetzt, bis eine konvertierte Zeichen kette erhalten wird, die nicht verwendet worden ist. Deshalb enthält der Erzeugungsverarbeitungsteil des Schlüssels mit variabler Länge 30 die Liste verwendeter Schlüssel 33, die Informationen über die Länge einer konvertierten Zeichenkette enthält, die in der Vergangenheit verwendet wurde, und mit der Liste verwendeter Schlüssel 33 des Absendersystems 100 in bezug auf den Verlaufsinformationsinhalt synchron ist, und nimmt bei der zweiten Verarbeitung Bezug auf die Informationen. Hierbei sind die Informationen in der Liste verwendeter Schlüssel 33 mit dem Informationsinhalt der Liste verwendeter Schlüssel 33 des Absendersystems 100 synchron, und die frühere Verwendung der konvertierten Zeichenkette mit einer Länge von 7 ist in der Liste verwendeter Schlüssel 33 gespeichert. Deshalb wird bestimmt, daß die Zeichenkette nicht verwendet werden kann. Bei der zweiten Verarbeitung wird die Zeichenkonvertierung fortgesetzt. Hinsichtlich einer konvertierten Zeichenkette mit einer Länge von 8 in der nachfolgenden Stufe sind keine Informationen über die Verwendung derselben in der Liste verwendeter Schlüssel 33 enthalten, und die konvertierte Zeichenkette mit einer Länge von 8 wird von der zweiten Verarbeitung ausgegeben.
  • Bei der dritten Verarbeitung wird in dem Fall, wenn die Länge einer konvertierten Zeichenkette, die die Länge eines verschlüsselten Textes erreicht hat, die durch die zweite Verarbeitung erhalten wurde, die Länge eines verschlüsselten Textes überschreitet, die Länge der konvertierten Zeichenkette so eingestellt, um die Länge des verschlüsselten Textes zu sein. Bei der erzeugten konvertierten Zeichenkette wird ein Abschnitt mit einer Länge des verschlüsselten Textes übernommen, und der verbleibende Abschnitt des ver schlüsselten Textes wird ausrangiert, wodurch eine konvertierte Zeichenkette mit derselben Länge wie jener des verschlüsselten Textes erhalten wird. Bei dem in 2 gezeigten Beispiel wird bei der konvertierten Zeichenkette mit einer Länge von 8, die bis zu der Zeit erhalten wurde, als die zweite Verarbeitung vollendet war, eine Zeichenkette von 7 Zeichen, die den führenden Abschnitt darstellt und der Länge von 7 eines verschlüsselten Textes entspricht, übernommen, und die verbleibende eine Zeichenkette wird ausrangiert. Genauer gesagt, die bei der dritten Verarbeitung erhaltene konvertierte Zeichenkette lautet "abababa".
  • Bei der vierten Verarbeitung wird die konvertierte Zeichenkette, die durch den Erzeugungsverarbeitungsteil der konvertierten Zeichenkette 32 erzeugt wird, unter Verwendung des Verschlüsselungsschlüsselkonvertierungsteils 34 in eine Zeichenkette konvertiert, die als Verschlüsselungsschlüssel zu verwenden ist. Falls die konvertierte Zeichenkette, die durch den Erzeugungsverarbeitungsteil der konvertierten Zeichenkette 32 erzeugt wird, eine Zeichenkette ist, die als Verschlüsselungsschlüssel zu verwenden ist, ist die vierte Verarbeitung nicht erforderlich. Bei diesem Beispiel wird angenommen, daß ein Verschlüsselungsschlüssel eine Binärfolge von "0" und "1" ist. Wenn die Konvertierung wie folgt ausgeführt wird: A → "1" , a → "1" , b → "0" , wird ein Verschlüsselungsschlüssel "1010101" erhalten, wie in 2(c) gezeigt.
  • Der Erzeugungsverarbeitungsteil der konvertierten Zeichenkette 32 erzeugt eine konvertierte Zeichenkette mit einer Länge eines verschlüsselten Textes durch die oben angegebenen vier Verarbeitungen. Der Erzeugungsverarbeitungsteil des Schlüssels mit variabler Länge 30 nutzt ein konvertiertes Zeichen, das durch den Erzeugungsverarbeitungsteil der konvertierten Zeichenkette 32 erzeugt wurde, als Verschlüsselungsschlüssel. Genauer gesagt, genauso wie in dem Absendersystem 100 wird in dem Empfängersystem 200 auch ein Verschlüsselungsschlüssel "1010101" erzeugt.
  • Derselbe Verschlüsselungsschlüssel wie jener, der in dem Absendersystem 100 verwendet wird, wird auch in dem Empfängersystem 200 erhalten, wie oben beschrieben.
  • Der Stromcodeverarbeitungsteil 40 entschlüsselt einen Stromcodetext in einen Klartext unter Verwendung des durch den Erzeugungsverarbeitungsteil des Schlüssels mit variabler Länge 30 erzeugten Verschlüsselungsschlüssels. Hierbei werden die Zeichen des Verschlüsselungsschlüssels von den jeweiligen Zeichen des Stromcodetextes subtrahiert. Da die Länge des verschlüsselten Textes dieselbe wie jene des Verschlüsselungsschlüssels ist, werden die Zeichen des Verschlüsselungsschlüssels, die den jeweiligen Zeichen des verschlüsselten Textes entsprechen, subtrahiert. Bei diesem Beispiel werden die 7 Zeichen "1010101" des Verschlüsselungsschlüssels entsprechend den jeweiligen Zeichen des verschlüsselten Textes mit einer Länge von 7 jeweilig subtrahiert, um einen Klartext zu erhalten.
  • Schließlich wird unter Bezugnahme auf ein Flußdiagramm der Verarbeitungsablauf des Kryptosystems mit Schlüssel mit variabler Länge beschrieben. Falls die in dem Flußdiagramm beschriebenen Verarbeitungsoperationen verwendet werden, wird das Verfahren zum Ausführen der Verschlüsselungsverarbeitung mit variabler Länge der vorliegenden Erfindung verstanden. 3 zeigt Verarbeitungsoperationen in dem Absendersystem 100, und 4 zeigt Verarbeitungsoperationen in dem Empfängersystem 200.
  • In dem Absendersystem 100 werden, wie in 3 gezeigt, die Eingabeverarbeitung eines Klartextes von dem Dateneingabeteil 10 (Operation 301), die Detektionsverarbeitung einer Länge eines Klartextes durch den Datenkettenlängen-Detektionsverarbeitungsteil 20 (Operation 302), die erste Verarbeitung durch den Erzeugungsverarbeitungsteil des Schlüssels mit variabler Länge 30 (Operation 303), die zweite Verarbeitung (Operation 304), die Zeichenkonvertierungsfortsetzungsverarbeitung in dem Fall, wenn eine konvertierte Zeichenkette verwendet worden ist (Operation 305), die dritte Verarbeitung in dem Fall, wenn eine konvertierte Zeichenkette nicht verwendet worden ist (Operation 306), die vierte Verarbeitung (Operation 307) und die Stromverschlüsselungsverarbeitung (Operation 308) durch den Stromcodeverarbeitungsteil 40 ausgeführt.
  • Ähnlich werden in dem Empfängersystem 200, wie in 4 gezeigt, die Eingabeverarbeitung eines verschlüsselten Textes von dem Dateneingabeteil 10 durch die Kommunikationsschnittstelle 50 (Operation 401), die Detektionsverarbeitung einer Länge eines verschlüsselten Textes durch den Datenkettenlängen-Detektionsverarbeitungsteil 20 (Operation 402), die erste Verarbeitung durch den Erzeugungsverarbeitungsteil des Schlüssels mit variabler Länge 30 (Operation 403), die zweite Verarbeitung (Operation 404), die Zeichenkonvertierungsfortsetzungsverarbeitung in dem Fall, wenn eine konvertierte Zeichenkette verwendet worden ist (Operation 405), die dritte Verarbeitung in dem Fall, wenn eine konvertierte Zeichenkette nicht verwendet worden ist (Operation 406), die vierte Verarbeitung (Operation 407) und die Stromentschlüsselungsverarbeitung durch den Stromcodeverarbeitungsteil 40 (Operation 408) ausgeführt.
  • Auf Grund der Verschlüsselungsverarbeitung durch das Absendersystem 100 und der Entschlüsselungsverarbeitung durch das Empfängersystem 200 kann ein Verschlüsselungsschlüssel auf der Basis der Länge eines Klartextes und der Länge eines verschlüsselten Textes erzeugt werden, ohne den Verschlüsselungsschlüssel in einem Stromkryptosystem zu verteilen, wodurch eine hohe Sicherheit realisiert werden kann. Parameter, die zum Erzeugen einer sparse language erforderlich sind, sind lediglich eine Anfangskette und ein Satz von Konvertierungsregeln. Der Verschlüsselungsschlüssel wird nicht zweimal verwendet, so daß keine Möglichkeit besteht, daß ein Klartext nur aus einem verschlüsselten Text erhalten werden kann. Ferner wird ein Verschlüsselungsschlüssel durch das Wiederholen der Zeichenkonvertierung erzeugt, und die Zeichenkonvertierung kann parallel ausgeführt werden. Deshalb kann der Schlüssel in einer kurzen Berechnungszeit erzeugt werden. Sobald der Schlüssel erzeugt ist, werden die Verschlüsselung und Entschlüsselung lediglich durch Addition und Subtraktion ausgeführt, so daß die Verschlüsselung und die Entschlüsselung mit hoher Geschwindigkeit vorgenommen werden können. Deshalb kann eine große Menge von Daten mit hoher Geschwindigkeit verschlüsselt werden.
  • (Ausführungsform 2)
  • Bei einem Kryptosystem mit Schlüssel mit variabler Länge der Ausführungsform 2 wird ein Erzeugungssystem eines Schlüssels mit variabler Länge mit k-sparse language verwendet (k ist eine ganze Zahl von 2 oder mehr). Im Vergleich zu der Ausführungsform 1 wird in dem Kryptosystem mit Schlüssel mit variabler Länge der Ausführungsform 2 eine Vielzahl von Sätzen von Konvertierungsregeln vorbereitet, wird ein Konvertierungsregelsatz zur Zeichenkonvertierung dynamisch selektiert und wird eine Hash-Funktion als Information zum Identifizieren dessen verwendet, welcher Konvertierungsregelsatz verwendet worden ist. In der Ausführungsform 2 wird zur Erleichterung der Beschreibung ein Erzeugungssystem eines Schlüssels mit variabler Länge einer 2-sparse language beschrieben.
  • 5 zeigt eine exemplarische Konfiguration des Kryptosystems mit Schlüssel mit variabler Länge der Ausführungsform 2 gemäß der vorliegenden Erfindung. In 5 bezeichnet Bezugszeichen 100a ein Absendersystem, das einen Klartext verschlüsselt, und 200a bezeichnet ein Empfängersystem, das einen verschlüsselten Text entschlüsselt, um einen Klartext zu erzeugen. Bezugszeichen 300 bezeichnet einen Kommunikationsweg, über den ein Absender 1 und ein Empfänger 2 Daten austauschen.
  • Das Absendersystem 100a enthält einen Dateneingabeteil 10, einen Datenkettenlängen-Detektionsverarbeitungsteil 20, einen Erzeugungsverarbeitungsteil des Schlüssels mit variabler Länge 30a, einen Stromcodeverarbeitungsteil 40 und eine Kommunikationsschnittstelle 50. Ein Controller, ein Speicher und dergleichen, die zum Steuern des Systems erforderlich sind, sind nicht gezeigt.
  • Der Dateneingabeteil 10, der Datenkettenlängen-Detektionsverarbeitungsteil 20, der Stromcodeverarbeitungsteil 40 und die Kommunikationsschnittstelle 50 sind dieselben wie die Bildungselemente, die mit denselben Bezugszeichen in dem Absendersystem 100 versehen sind und in der Ausführungsform 1 beschrieben wurden. Deshalb wird ihre Beschreibung hier weggelassen.
  • Der Erzeugungsverarbeitungsteil des Schlüssels mit variabler Länge 30a erzeugt einen Verschlüsselungsschlüssel mit einer erforderlichen beliebigen Länge unter Verwendung einer Anfangszeichenkette und einer Konvertierungsregel, wie später beschrieben. Die Länge eines Verschlüsselungsschlüssels basiert wie in der Ausführungsform 1 auf der Länge eines detektierten Klartextes. Der Erzeugungsverarbeitungsteil des Schlüssels mit variabler Länge 30a der Ausführungsform 2 enthält einen Konvertierungsregel-Selektionsfunktionsverarbeitungsteil 35 und einen Hash-Funktions-Verarbeitungsteil 36 sowie einen Konvertierungsregel-Halteteil 31a, einen Erzeugungsverarbeitungsteil der konvertierten Zeichenkette 32a, eine Liste verwendeter Schlüssel 33 und einen Verschlüsselungsschlüsselkonvertierungsteil 34.
  • Der Konvertierungsregel-Halteteil 31a hält Konvertierungsregeln. In der Ausführungsform 2 hält der Konvertierungsregel-Halteteil 31a eine Vielzahl von Sätzen von Konvertierungsregeln, wie in 6 gezeigt. Bei dem in 6 gezeigten Beispiel wird zur Erleichterung der Beschreibung angenommen, daß jeder Satz eine einfache Konvertierungsregel für drei Zeichen ist, und es sind nur zwei Sätze gezeigt: nämlich die Konvertierungsregel 1 und die Konvertierungsregel 2. Es versteht sich von selbst, daß eine tatsächlich zu verwendende Konvertierungsregel die Anzahl von zu verwendenden Zeichen bereichern kann und eine größere Anzahl von Sätzen gehalten werden kann. Gemäß der exemplarischen Konvertierungsregel in 6 wird eine Zeichenkette so konvertiert, daß die Länge ihres Teils von eins in zwei konvertiert wird. Jedoch ist es genauso wie in der Ausführungsform 1 auch möglich, die Konvertierungsregel so festzulegen, daß die Länge eines Teils einer Zeichenkette das Dreifache oder mehr erreicht.
  • Der Konvertierungsregel-Selektionsfunktionsverarbeitungsteil 35 selektiert dynamisch einen Konvertierungsregelsatz von einer Vielzahl von Sätzen von Konvertierungsregeln, die in dem Konvertierungsregel-Halteteil 31a gehalten werden. Verschiedene Konvertierungsregel-Selektionsfunktionen können angenommen werden. Hierbei wird die folgende Funktion verwendet: in dem Fall, wenn die Länge eines Klartextes eine Primzahl ist, wird "1" (d. h. die Konvertierungsregel 1) selektiert, und in dem Fall, wenn die Länge eines Klartextes keine Primzahl ist, wird "2" (d. h. die Konvertierungsregel 2) selektiert. Gemäß dieser Funktion ist es unmöglich, da die Charakteristiken der Verteilung von Primzahlen im Prinzip bislang nicht geklärt sind, die Tendenz zu verstehen, wieso die Konvertierungsregel 1 oder die Konvertierungsregel 2 selektiert wird. Auch wenn in der Ausführungsform 2 angenommen wird, daß die Länge eines Klartextes 7 ist, ist 7 eine Primzahl, so daß die Konvertierungsregel 1 auf der Basis der Konvertierungsregel-Selektionsfunktion selektiert wird.
  • Der Erzeugungsverarbeitungsteil des Schlüssels mit variabler Länge 30a erzeugt eine konvertierte Zeichenkette gemäß der Länge eines Klartextes durch den Erzeugungsverarbeitungsteil der konvertierten Zeichenkette 32a unter Verwendung der selektierten Konvertierungsregel 1 und einer Anfangszeichenkette, genauso wie in der Ausführungsform 1. In der Ausführungsform 2 führt der Erzeugungsverarbeitungsteil der konvertierten Zeichenkette 32a die ersten bis vierten Verarbeitungen aus, die in der Ausführungsform 1 beschrieben wurden. Bei diesem Beispiel ist die selektierte Konvertierungsregel 1 dieselbe wie jene, die in 2(a) gezeigt ist, die in der Ausführungsform 1 beschrieben ist, so daß eine zu erzeugende Zeichenkette auch dieselbe wie jene wird, die in 2(b) gezeigt ist. Hierbei wird angenommen, daß ein konvertiertes Zeichen "abababa" erzeugt wird. Es wird auch angenommen, daß der Erzeugungsverarbeitungsteil des Schlüssels mit variabler Länge 30a "1010101" als Verschlüsselungsschlüssel verwendet.
  • Der Hash-Funktions-Verarbeitungsteil 36 berechnet eine Hash-Funktion auf der Basis einer konvertierten Zeichenkette, die durch den Erzeugungsverarbeitungsteil der konvertierten Zeichenkette 32a erzeugt wurde, um einen Hash-Wert zu erhalten. Um die Stärke der Sicherheit zu erhöhen, wird vorzugsweise eine Hash-Funktion verwendet, deren Regel wahrscheinlich nicht herausgefunden werden kann, und die Hash-Funktion ist vorzugsweise eine echte Zufallszahlenfolge. Bei diesem Beispiel wird angenommen, daß ein Hash-Wert H1 bezüglich eines Verschlüsselungsschlüssels "1010101" berechnet wird.
  • Der Stromcodeverarbeitungsteil 40 erzeugt einen Stromcodetext aus einem Klartext unter Verwendung des Verschlüsselungsschlüssels, der durch den Erzeugungsverarbeitungsteil des Schlüssels mit variabler Länge 30a erzeugt wurde, genauso wie bei der Ausführungsform 1. Hierbei werden die 7 Zeichen "1010101" des entsprechenden Verschlüsselungsschlüssels zu den jeweiligen Zeichen eines Klartextes von 7 Zeichen hinzugefügt.
  • Die Kommunikationsschnittstelle 50 sieht eine Schnittstelle zur Kommunikation über ein Netz 300 vor. In der Ausführungsform 2 sendet die Kommunikationsschnittstelle 50 den Stromcodetext, der durch den Stromcodeverarbeitungsteil 40 erzeugt wurde, und den Hash-Funktions-Wert H1 an das Empfängersystem 200a. Die Informationen über die Länge des Verschlüsselungsschlüssels, der zur Verschlüsselungsverarbeitung verwendet wird, werden dem Empfängersystem 200a auch mitgeteilt, um mit dem Inhalt der Liste verwendeter Schlüssel 33 synchron zu sein.
  • Als nächstes wird die Entschlüsselungsverarbeitung in dem Empfängersystem 200a beschrieben.
  • Das Empfängersystem 200a enthält einen Dateneingabeteil 10, einen Datenkettenlängen-Detektionsverarbeitungsteil 20, einen Erzeugungsverarbeitungsteil des Schlüssels mit variabler Länge 30a, einen Stromcodeverarbeitungsteil 40 und eine Kommunikationsschnittstelle 50. Ein Controller, ein Speicher und dergleichen, die zum Steuern des Systems erforderlich sind, sind nicht gezeigt.
  • Der Dateneingabeteil 10, der Datenkettenlängen-Detektionsverarbeitungsteil 20, der Stromcodeverarbeitungsteil 40 und die Kommunikationsschnittstelle 50 sind dieselben wie die Bildungselemente, die mit denselben Bezugszeichen in dem Empfängersystem 200 versehen sind und in der Ausführungsform 1 beschrieben wurden. Deshalb wird ihre Beschreibung hier weggelassen.
  • Der verschlüsselte Text und der Hash-Wert werden von dem Dateneingabeteil 10 durch die Kommunikationsschnittstelle 50 empfangen. Bei diesem Beispiel lautet der Hash-Wert H1.
  • Der Erzeugungsverarbeitungsteil des Schlüssels mit variabler Länge 30a erzeugt einen Schlüssel (d. h., der derselbe wie ein Verschlüsselungsschlüssel ist) mit einer erforderlichen beliebigen Länge, der zur Entschlüsselung verwendet wird, unter Verwendung einer Anfangszeichenkette und einer Konvertierungsregel. In der vorliegenden Ausführungsform gibt es eine Vielzahl von Sätzen von Konvertierungsregeln, so daß bestimmt werden muß, welcher Verschlüsselungsschlüssel, der unter Verwendung welches Konvertierungsregelsatzes erzeugt wurde, korrekt ist.
  • Der Erzeugungsverarbeitungsteil des Schlüssels mit variabler Länge 30a enthält einen Hash-Funktions-Verarbeitungsteil 36 sowie einen Konvertierungsregel-Halteteil 31a, einen Erzeugungsverarbeitungsteil der konvertierten Zeichenkette 32a, eine Liste verwendeter Schlüssel 33 und einen Verschlüsselungsschlüsselkonvertierungsteil 34. Hierbei wird angenommen, daß jeder von einer Vielzahl von Sätzen von Konvertierungsregeln, die in dem Konvertierungsregel-Halteteil 31a gehalten werden, derselbe wie jeder von einer Vielzahl von Sätzen von Konvertierungsregeln ist, die in dem Konvertierungsregel-Halteteil 31a des Absendersystems 100a gehalten werden. Ferner wird angenommen, daß eine Hash-Funktion, die in dem Hash-Funktion-Verarbeitungsteil 36 gehalten wird, dieselbe wie jene ist, die in dem Hash-Funktions-Verarbeitungsteil 36 des Absendersystems 100a gehalten wird, und diese durch ein sicheres Verfahren zuvor an das Absendersystem 100a und das Empfängersystem 200a verteilt werden. Weiterhin wird angenommen, daß eine Anfangszeichenkette, die zu verwenden ist, dieselbe wie jene ist, die durch das Absendersystem 100a verwendet wird, und zuvor durch ein sicheres Verfahren an das Absendersystem 100a und das Empfängersystem 200a verteilt wird.
  • Der Erzeugungsverarbeitungsteil der konvertierten Zeichenkette 32a erzeugt eine konvertierte Zeichenkette mit einer Länge eines verschlüsselten Textes aus einer Anfangszeichenkette unter Verwendung eines jeden der Sätze von Konvertierungsregeln, die in dem Konvertierungsregel-Halteteil 31a gehalten werden. Genauer gesagt, bei diesem Beispiel wird ein Verschlüsselungsschlüssel 1 unter Verwendung der Konvertierungsregel 1 und einer Anfangszeichenkette, die in 6 gezeigt sind, erzeugt, und ein Verschlüsselungsschlüssel 2 wird unter Verwendung der Konvertierungsregel 2 und einer Anfangszeichenkette erzeugt. Ein Verschlüsselungsschlüssel wird unter Verwendung der ersten bis dritten Verarbeitungen erzeugt, die in der Ausführungsform 1 beschrieben sind. Es wird angenommen, daß eine erste konvertierte Zeichenkette "abababa" und ein erster Verschlüsselungsschlüssel "1010101" durch die Konvertierungsregel 1 und eine Anfangszeichenkette erzeugt werden und eine zweite konvertierte Zeichenkette "bababab" und "0101010" durch die Konvertierungsregel 2 und eine Anfangszeichenkette erzeugt werden.
  • Der Erzeugungsverarbeitungsteil des Schlüssels mit variabler Länge 30a erhält einen Hash-Wert von jedem Verschlüsselungsschlüssel, der durch den Hash-Funktions-Verarbeitungsteil 236 erzeugt wird. Bei diesem Beispiel wird angenommen, daß ein Hash-Wert H1 aus dem ersten Verschlüsselungsschlüssel "1010101" erzeugt wird und ein Hash-Wert H2 aus einem zweiten Verschlüsselungsschlüssel "0101010" erzeugt wird. Der Erzeugungsverarbeitungsteil des Schlüssels mit variabler Länge 30a vergleicht den erzeugten Hash-Wert mit jenem, der von dem Absendersystem 100a gesendet wurde, und bestimmt einen Verschlüsselungsschlüssel mit einem korrekten Hash-Wert als korrekten Verschlüsselungsschlüssel. Bei diesem Beispiel wird ein Verschlüsselungsschlüssel 1 "1010101", der denselben Hash-Wert H1 hat, als korrekter Verschlüsselungsschlüssel bestimmt.
  • Der Stromcodeverarbeitungsteil 40 entschlüsselt einen Stromcodetext in einen Klartext unter Verwendung des durch den Erzeugungsverarbeitungsteil des Schlüssels mit variabler Länge 30a erzeugten Verschlüsselungsschlüssels. Bei diesem Beispiel werden 7 Zeichen "1010101" des Verschlüsselungsschlüssels 1 von einem verschlüsselten Text mit einer Länge von 7 subtrahiert, um einen Klartext zu erhalten.
  • Auf Grund der Verschlüsselungsverarbeitung durch das Absendersystem 100a und der Entschlüsselungsverarbeitung durch das Empfängersystem 200a kann ein Verschlüsselungsschlüssel auf der Basis der Länge eines Klartextes und der Länge eines verschlüsselten Textes erzeugt werden, ohne einen Verschlüsselungsschlüssel eines Stromkryptosystems zu verteilen. Ferner wird die Verschlüsselung durch dynamisches Selektieren eines Konvertierungsregelsatzes von einer Vielzahl von Sätzen von Konvertierungsregeln ausgeführt, so daß eine hohe Sicherheit realisiert werden kann. Da ein Verschlüsselungsschlüssel nicht zweimal verwendet wird, besteht keine Möglichkeit, daß ein Klartext lediglich aus einem verschlüsselten Text erhalten wird. weiterhin kann eine Vielzahl von Verschlüsselungsschlüsseln bei der Entschlüsselung parallel erzeugt werden, und Verschlüsselungsschlüssel können in einer kürzeren Zeitperiode erzeugt werden. Die Verschlüsselung und Entschlüsselung werden nur durch Addition und Subtraktion ausgeführt, so daß die Verschlüsselung und Entschlüsselung mit einer hohen Geschwindigkeit vorgenommen werden können. Deshalb kann die Verschlüsselung einer großen Menge an Daten mit hoher Geschwindigkeit erfolgen.
  • (Ausführungsform 3)
  • Das Kryptosystem mit Schlüssel mit variabler Länge der Ausführungsform 3 weist eine Vielzahl von Konvertierungsregeln auf und schaltet eine Konvertierungsregel, die in jeder Stufe der Zeichenkonvertierung zu verwenden ist, durch eine Konvertierungsregel-Selektionsfunktion um. Als Konvertierungsregel-Selektionsfunktion wird eine Funktion zum Umschalten einer Konvertierungsregel gemäß der Länge eines konvertierten Zeichens in jeder Stufe der Zeichenkonvertierung eingesetzt. In der Ausführungsform 3 wird ein Beispiel für das Umschalten einer Konvertierungsregel in Abhängigkeit davon beschrieben, ob die Länge eines konvertierten Zeichens eine Primzahl ist oder nicht. Als Beispiel wird die Erzeugungsverarbeitung eines Schlüssels mit variabler Länge einer one-sparse language beschrieben.
  • Die Konfiguration selbst des Kryptosystems mit Schlüssel mit variabler Länge der Ausführungsform 3 kann jener der Ausführungsform 2 ähnlich sein und ist in 5 gezeigt. Bei dem Beispiel der Ausführungsform 3 wird als Konvertierungsregel-Selektionsfunktion in jeder Stufe der Zeichenkonvertierung bestimmt, ob die Länge einer Zeichenkette eine Primzahl ist oder nicht, wodurch eine Konvertierungsregel umgeschaltet wird. In dem Fall, wenn die Länge einer konvertierten Zeichenkette eine Primzahl ist, wird die Konvertierungsregel 1 verwendet, und in dem Fall, wenn die Länge einer konvertierten Zeichenkette keine Primzahl ist, wird die Konvertierungsregel 2 verwendet.
  • Der Konvertierungsregel-Halteteil 31a hält zwei Konvertierungsregeln: die Konvertierungsregel 1 und die Konvertierungsregel 2, wie in 7(a) gezeigt. Gemäß der Konvertierungsregel-Selektionsfunktion des Konvertierungsregel- Selektionsfunktionsverarbeitungsteils 35 wird in dem Fall, wenn die Länge einer Zeichenkette eine Primzahl ist, die Konvertierungsregel 1 bei jedem Prozeß der Zeichenkonvertierung verwendet, und wird in dem Fall, wenn die Länge keine Primzahl ist, die Konvertierungsregel 2 verwendet.
  • Bei der ersten Verarbeitung erzeugt der Erzeugungsverarbeitungsteil des Schlüssels mit variabler Länge 30a eine Zeichenkette, indem mit A begonnen wird und in jeder Stufe der Zeichenkonvertierung eine Konvertierungsregel in Abhängigkeit davon umgeschaltet wird, ob die Länge einer Zeichenkette eine Primzahl ist oder nicht, wie in 7(b) gezeigt. Wenn bei diesem Beispiel angenommen wird, daß die Länge eines Klartextes 7 ist, wird eine Konvertierungsregel, die zu verwenden ist, auf der Basis der Länge einer konvertierten Zeichenkette umgeschaltet, die aus einer Anfangszeichenkette A erzeugt wird, wodurch eine konvertierte Zeichenkette "babaabA" mit einer Länge von 7 erhalten wird, wie in 7(b) gezeigt. Die zweiten bis vierten Verarbeitungen sind dieselben wie jene bei der Ausführungsform 2, so daß die eingehende Beschreibung derselben hier weggelassen wird. Bei diesem Beispiel wird auf die Informationen in der Liste verwendeter Schlüssel 33 Bezug genommen, wodurch detektiert wird, daß eine konvertierte Zeichenkette mit einer Länge von 7 bereits verwendet worden ist. Dann wird eine konvertierte Zeichenkette "ababbaaA" mit einer Länge von 8 in "10100111" konvertiert, um einen Verschlüsselungsschlüssel mit den oberen 7 Bits "1010011" zu erzeugen, und ein Stromcode wird auf der Basis dieses Verschlüsselungsschlüssels erzeugt.
  • In dem Erzeugungsverarbeitungsteil des Schlüssels mit variabler Länge des Empfängersystems wird eine konvertierte Zeichenkette "babaabA" mit einer Länge von 7 auf der Basis der Länge von 7 eines verschlüsselten Textes erzeugt. Auf die Informationen in der Liste verwendeter Schlüssel wird Bezug genommen, wodurch detektiert wird, daß die konvertierte Zeichenkette mit einer Länge von 7 bereits verwendet worden ist. Dann wird eine konvertierte Zeichenkette "ababbaaA" mit einer Länge von 8 in "10100111" konvertiert, um einen Verschlüsselungsschlüssel mit den oberen 7 Bits "1010011" zu erzeugen. Ein Stromcode wird auf der Basis dieses Verschlüsselungsschlüssels entschlüsselt, um einen Klartext zu erhalten.
  • (Ausführungsform 4)
  • Genauso wie bei der Ausführungsform 3 hat das Kryptosystem mit Schlüssel mit variabler Länge der Ausführungsform 4 eine Vielzahl von Konvertierungsregeln und schaltet eine Konvertierungsregel, die zu verwenden ist, in jeder Stufe der Zeichenkonvertierung durch eine Konvertierungsregel-Selektionsfunktion um. Als Konvertierungsregel-Selektionsfunktion wird eine Funktion zum Umschalten einer Konvertierungsregel gemäß der Länge eines konvertierten Zeichens in jeder Stufe der Zeichenkonvertierung eingesetzt. In der Ausführungsform 4 ist ein Beispiel für das Umschalten einer Konvertierungsregel auf der Basis des Resultats einer Restklassenoperation einer Länge eines konvertierten Zeichens angegeben. Als Beispiel wird die Erzeugungsverarbeitung des Schlüssels mit variabler Länge einer one-sparse language beschrieben.
  • Die Konfiguration des Kryptosystems mit Schlüssel mit variabler Länge der Ausführungsform 4 ist so wie in 5 gezeigt und genau dieselbe wie in der Ausführungsform 2. Bei dem Beispiel der Ausführungsform 4 wird eine Restklassenope ration als Konvertierungsregel-Selektionsfunktion eingesetzt.
  • Der Konvertierungsregel-Halteteil 31a hält vier Konvertierungsregeln (Konvertierungsregel 1 bis Konvertierungsregel 4), wie in 8(a) gezeigt. Gemäß der Konvertierungsregel-Selektionsfunktion des Konvertierungsregel-Selektionsfunktionsverarbeitungsteils 35 wird dann, wenn angenommen wird, daß x eine Länge einer Zeichenkette ist, eine Konvertierungsregel der Zahl des Resultats der Restklassenoperation von 3xmod5 verwendet. Genauer gesagt, die Zeichenkonvertierung wird ausgeführt; die Länge einer Zeichenkette wird jedes Mal verändert; eine Restklassenoperation der Länge wird ausgeführt; und die Zeichenkonvertierung in der nachfolgenden Stufe wird unter Verwendung einer Regel der Zahl eines erhaltenen Zahlenwertes ausgeführt.
  • Bei der ersten Verarbeitung startet der Erzeugungsverarbeitungsteil des Schlüssels mit variabler Länge 30a bei einer Anfangszeichenkette ABCD, führt er eine Restklassenoperation der Länge einer Zeichenkette in jeder Stufe der Zeichenkonvertierung aus und schaltet eine Konvertierungsregel auf der Basis des Resultats um, wodurch eine Zeichenkette erzeugt wird, wie in 8(b) gezeigt. Bei der ersten Zeichenkonvertierung beträgt die Länge einer Anfangszeichenkette ABCD 4, wird die Konvertierungsregel 1 von 3xmod5 = 1 eingesetzt und wird "aABCD" erhalten. Dann beträgt die Länge der konvertierten Zeichenkette 5, so daß 3xmod5 = 3 erhalten wird, und die Konvertierungsregel 3 wird eingesetzt, um "bABbcCD" zu erhalten. Die Konvertierung schreitet so voran, wodurch "aABbCdD" mit einer Länge von 7 erhalten wird. Die zweiten bis vierten Verarbeitungen sind dieselben wie jene in der Ausführungsform 2. Deshalb wird die Beschreibung derselben hier weggelassen. Bei diesem Beispiel wird auf die Informationen in der Liste verwendeter Schlüssel 33 Bezug genommen, wodurch detektiert wird, daß eine konvertierte Zeichenkette mit einer Länge von 7 bereits verwendet worden ist. Dann wird eine konvertierte Zeichenkette "bAbBaCcD" mit einer Länge von 8 erzeugt und in Zahlenwerte gemäß der Entsprechung zwischen den Zeichen und den Zahlenwerten, die in 8(b) gezeigt sind, konvertiert, wodurch eine Zahlenwertkette "00011011" erzeugt wird. Die oberen 7 Bits werden extrahiert, um einen Verschlüsselungsschlüssel "0001101" zu erhalten. Ein Stromcode wird auf der Basis des Verschlüsselungsschlüssels erzeugt.
  • In dem Erzeugungsverarbeitungsteil des Schlüssels mit variabler Länge des Empfängersystems wird eine konvertierte Zeichenkette "aABbCdD" mit einer Länge von 7 auf der Basis der Länge von 7 eines verschlüsselten Textes erzeugt. Bei diesem Beispiel wird auf die Informationen in der Liste verwendeter Schlüssel 33 Bezug genommen, wodurch detektiert wird, daß die konvertierte Zeichenkette mit einer Länge von 7 bereits verwendet worden ist. Dann wird eine konvertierte Zeichenkette "bAbBaCcD" mit einer Länge von 8 erzeugt, wird eine Zahlenwertkette "00011011" erzeugt, werden die oberen 7 Bits extrahiert und wird schließlich ein Verschlüsselungsschlüssel "0001101" erzeugt. Ein Stromcode wird auf der Basis des Verschlüsselungsschlüssels entschlüsselt, um einen Klartext zu erhalten.
  • (Ausführungsform 5)
  • In dem Kryptosystem mit Schlüssel mit variabler Länge der Ausführungsform 5 wird eine kombinierte Anfangszeichenkette aus Zeichen, die zum Erzeugen eines Verschlüsselungs schlüssels verwendet werden, und aus Blindzeichen, die sich von den Zeichen unterscheiden, die zum Erzeugen eines Verschlüsselungsschlüssels verwendet werden, als Anfangszeichenkette verwendet, und eine kombinierte Konvertierungsregel aus einer Zeichenkonvertierungsregel in bezug auf Zeichen, die zum Erzeugen eines Verschlüsselungsschlüssels verwendet werden, und aus einer Zeichenkonvertierungsregel in bezug auf Blindzeichen, die sich von den Zeichen unterscheiden, die zum Erzeugen eines Verschlüsselungsschlüssels verwendet werden, wird als Konvertierungsregel verwendet. Die Zeichenkonvertierung wird unter Verwendung der kombinierten Anfangszeichenkette und der kombinierten Konvertierungsregel wiederholt, und nur Zeichen, die zum Erzeugen eines Verschlüsselungsschlüssels zu verwenden sind, werden aus der erzeugten Zeichenkette extrahiert, wodurch ein Verschlüsselungsschlüssel erzeugt wird. Als Beispiel wird eine one-sparse language beschrieben.
  • 9 zeigt eine Konfiguration des Kryptosystems mit Schlüssel mit variabler Länge der Ausführungsform 5. In 9 bezeichnet Bezugszeichen 100b ein Absendersystem, das einen Klartext verschlüsselt, und 200b bezeichnet ein Empfängersystem, das einen verschlüsselten Text entschlüsselt, um einen Klartext zu erzeugen. Bezugszeichen 300 bezeichnet einen Kommunikationsweg, über den ein Absender 1 und ein Empfänger 2 Daten austauschen.
  • Das Absendersystem 100b enthält einen Dateneingabeteil 10, einen Datenkettenlängen-Detektionsverarbeitungsteil 20, einen Erzeugungsverarbeitungsteil des Schlüssels mit variabler Länge 30b, einen Stromcodeverarbeitungsteil 40 und eine Kommunikationsschnittstelle 50. Ein Controller, ein Speicher und dergleichen, die zum Steuern eines Systems erforderlich sind, sind nicht gezeigt.
  • Der Dateneingabeteil 10, der Datenkettenlängen-Detektionsverarbeitungsteil 20, der Stromcodeverarbeitungsteil 40 und die Kommunikationsschnittstelle 50 sind dieselben wie die Elemente, die mit denselben Bezugszeichen in dem Absendersystem 100 versehen sind und in der Ausführungsform 1 beschrieben wurden. Deshalb wird ihre Beschreibung hier weggelassen.
  • Der Erzeugungsverarbeitungsteil des Schlüssels mit variabler Länge 30b enthält einen Blindzeichenentfernungsverarbeitungsteil 37 sowie einen Konvertierungsregel-Halteteil 31b, einen Erzeugungsverarbeitungsteil der konvertierten Zeichenkette 32b, eine Liste verwendeter Schlüssel 33, einen Verschlüsselungsschlüsselkonvertierungsteil 34, einen Konvertierungsregel-Selektionsfunktionsverarbeitungsteil 35 und einen Hash-Funktions-Verarbeitungsteil 36.
  • Hierin entfernt der Blindzeichenentfernungsverarbeitungsteil 37 Blindzeichen aus einer konvertierten Zeichenkette, die durch den Erzeugungsverarbeitungsteil der konvertierten Zeichenkette 32b erzeugt wurde, um nur Zeichen zu extrahieren, die an der Erzeugung eines Verschlüsselungsschlüssels beteiligt sind.
  • In der Ausführungsform 5 enthält eine Anfangszeichenkette Blindzeichen, die beim Erzeugen eines Verschlüsselungsschlüssels nicht verwendet werden. Hierin wird zum Beispiel "ABCD", die in der Ausführungsform 4 verwendet wurde, als Anfangszeichenkette verwendet, und "B" und "b" sollen Blindzeichen sein, die beim Erzeugen eines Verschlüsselungsschlüssels nicht verwendet werden. Ferner wird in der Ausführungsform 5 eine Vielzahl von Sätzen von Konvertie rungsregeln verwendet, die auch eine Konvertierungsregel in bezug auf Blindzeichen enthalten. Als Beispiel hält der Konvertierungsregel-Halteteil 31b genauso wie in der Ausführungsform 4 vier Konvertierungsregeln (Konvertierungsregel 1 bis Konvertierungsregel 4), wie in 10(a) gezeigt. Bei diesen Konvertierungsregeln wird angenommen, daß "B" und "b" Blindzeichen sind, die beim Erzeugen eines Verschlüsselungsschlüssels nicht verwendet werden.
  • Es wird angenommen, daß die Konvertierungsregel-Selektionsfunktion des Konvertierungsregel-Selektionsfunktionsverarbeitungsteils 35 eine Konvertierungsregel der Zahl des Resultats verwendet, das durch eine Restklassenoperation von 3xmod5 erhalten wurde (wobei x die Länge einer Zeichenkette ist), genauso wie bei der Ausführungsform 4.
  • Wie bei der Ausführungsform 4 erzeugt bei der ersten Verarbeitung der Erzeugungsverarbeitungsteil des Schlüssels mit variabler Länge 30b eine Zeichenkette, indem bei "ABCD" begonnen wird, eine Restklassenoperation der Länge einer Zeichenkette in jeder Stufe der Zeichenkonvertierung ausgeführt wird und eine Konvertierungsregel, die in 10(a) gezeigt ist, gemäß dem Resultat der Restklassenoperation umgeschaltet wird, wie in 10(b) gezeigt.
  • In der Ausführungsform 5 wird die folgende fünfte Verarbeitung vor der in der Ausführungsform 2 beschriebenen zweiten Verarbeitung ausgeführt. Bei der fünften Verarbeitung entfernt der Blindzeichenentfernungsverarbeitungsteil 37 Blindzeichen aus einer konvertierten Zeichenkette, die durch den Erzeugungsverarbeitungsteil der konvertierten Zeichenkette 32b erzeugt wurde, um nur Zeichen zu extrahieren, die beim Erzeugen eines Verschlüsselungsschlüssels verwendet werden. Falls die Länge der konvertierten Zeichen kette die Länge eines Klartextes nicht erreicht, wird die erste Verarbeitung fortgesetzt, um die Zeichenkonvertierung auszuführen, und die Zeichenkonvertierung wird wiederholt, bis die Länge der konvertierten Zeichenkette, die nur aus den Zeichen besteht, die beim Erzeugen eines Verschlüsselungsschlüssels verwendet werden, die Länge eines Klartextes erreicht. wenn bei diesem Beispiel angenommen wird, daß die Länge eines Klartextes 7 ist, beträgt in dem Fall, wenn die Länge einer konvertierten Zeichenkette durch die erste Verarbeitung 7 ist (d. h. "aABbCdD"), wie in 10(b) gezeigt, die Länge 5 (d. h. "aACdD"), indem die Blindzeichen bei der fünften Verarbeitung entfernt werden. Deshalb wird die erste Verarbeitung fortgesetzt. Aus der konvertierten Zeichenkette "bAbBaCcD" mit einer Länge von 8 wird "AaCcD" mit einer Länge von 5, indem die Blindzeichen bei der fünften Verarbeitung entfernt werden, so daß die erste Verarbeitung weiter fortgesetzt wird. Wenn die konvertierte Zeichenkette "cdAcBbcCdD" mit einer Länge von 10 erhalten wird, wird die konvertierte Zeichenkette "cAccCdD" mit einer Länge von 7 nach dem Entfernen der Blindzeichen erhalten. Deshalb wird bei der fünften Verarbeitung "cAccCdD" erhalten.
  • Die zweiten bis vierten Verarbeitungen sind dieselben wie jene in der Ausführungsform 2. Bei diesem Beispiel wird angenommen, daß die konvertierte Zeichenkette mit einer Länge von 7 in der Liste verwendeter Schlüssel 33 noch nicht verwendet worden ist. Schließlich wird "cAccCdD" in Binärzahlen konvertiert, die einen Verschlüsselungsschlüssel bilden, um einen Verschlüsselungsschlüssel "1011001" zu erhalten. Ein Stromcode wird unter Verwendung des Verschlüsselungsschlüssels erzeugt.
  • In dem Erzeugungsverarbeitungsteil des Schlüssels mit variabler Länge des Empfängersystems 200b wird die Konvertierung mit einer Anfangszeichenkette "ABCD" auf der Basis der Länge von 7 eines Verschlüsselungsschlüssels gestartet, werden die ersten bis fünften Verarbeitungen ausgeführt und wird ein Verschlüsselungsschlüssel "1011001" aus "cAccCdD" erhalten. Ein Stromcode wird mit dem Verschlüsselungsschlüssel entschlüsselt, um einen Klartext zu erhalten.
  • (Ausführungsform 6)
  • Das Kryptosystem mit Schlüssel mit variabler Länge der vorliegenden Erfindung kann mit verschiedenen Computern konfiguriert werden, indem ein Programm, das Verarbeitungsoperationen zum Realisieren der oben angegebenen Konfiguration beschreibt, auf einem computerlesbaren Aufzeichnungsmedium aufgezeichnet wird. Beispiele für ein Aufzeichnungsmedium, das ein Programm speichert, das Verarbeitungsoperationen zum Realisieren eines Kryptosystems mit Schlüssel mit variabler Länge der vorliegenden Erfindung speichert, enthalten ein Aufzeichnungsmedium 400 in einer Aufzeichnungsvorrichtung in einem Netz und ein Aufzeichnungsmedium 405 wie beispielsweise eine Festplatte und ein RAM eines Computers sowie ein tragbares Aufzeichnungsmedium 401 wie etwa eine CD-ROM 402 und eine flexible Platte 403. Bei der Ausführung des Programms wird das Programm auf einen Computer 404 geladen und auf einem Hauptspeicher ausgeführt.
  • Es versteht sich, daß gemäß dem Kryptosystem mit Schlüssel mit variabler Länge der vorliegenden Erfindung verschiedene Abwandlungen und Änderungen an dem oben angegebenen Verfahren und der Vorrichtung vorgenommen werden können, ohne vom obigen Konzept der vorliegenden Erfindung abzuweichen. Deshalb sei erwähnt, daß die vorliegende Erfindung nicht auf die obigen Ausführungsformen begrenzt ist.
  • Industrielle Anwendbarkeit
  • Auf Grund der oben angegebenen Konfiguration hat die vorliegende Erfindung die folgenden Effekte.
  • In dem Kryptosystem mit Schlüssel mit variabler Länge der vorliegenden Erfindung bleibt, da ein Verschlüsselungsschlüssel und ein Entschlüsselungsschlüssel in Abhängigkeit von der Länge eines Klartextes und eines verschlüsselten Textes selektiert werden, die Schwierigkeit des Verteilens eines Schlüssels erspart.
  • Geheimhaltungsparameter, die durch eine Verschlüsselungsvorrichtung und eine Entschlüsselungsvorrichtung gemeinsam genutzt werden sollten, sind eine Anfangskette, Sätze von Konvertierungsregeln und eine Konvertierungsregel-Selektionsfunktion sowie eine echte Zufallszahlenfolge zum Verschlüsseln eines Hash-Funktions-Wertes, um einen Erzeugungsverarbeitungsteil des Schlüssels mit variabler Länge zu bilden. Diese Parameter können in einer kleinen Menge von Informationen dargestellt werden. Deshalb können sie sicher und leicht zum Beispiel unter Verwendung eines Kryptosystems mit öffentlichem Schlüssel gesendet werden.
  • Bei dem Verschlüsselungssystem der vorliegenden Erfindung wird kein Schlüssel zweimal verwendet. Deshalb besteht nicht die Möglichkeit, daß ein Klartext lediglich aus einem verschlüsselten Text erhalten wird. Es ist auch unmöglich, einen Erzeugungsverarbeitungsteil des Schlüssels mit variabler Länge aus einem Schlüssel vorherzusagen, der willkürlich erhalten wird, da es eine unendliche Anzahl von Sätzen von Parametern gibt, die den Erzeugungsverarbeitungsteil des Schlüssels mit variabler Länge bilden. Deshalb ist die Sicherheit des Kryptosystems sehr hoch.
  • Ein Schlüssel wird in dem Erzeugungsverarbeitungsteil des Schlüssels mit variabler Länge dadurch erzeugt, daß eine Zeichenkonvertierung und eine Konvertierungsregel-Selektionsfunktion wiederholt werden. Ein Schlüssel kann mit hoher Geschwindigkeit erzeugt werden, falls die Konvertierungsregel-Selektionsfunktion so festgelegt wird, daß die Berechnung leicht ist.
  • Sobald ein Schlüssel erzeugt ist, kann die Verschlüsselung nur durch Addition ausgeführt werden, und die Entschlüsselung kann nur durch Subtraktion ausgeführt werden. Deshalb können die Verschlüsselung und die Entschlüsselung mit hoher Geschwindigkeit erfolgen. In dem Fall, wenn ein Klartext, ein verschlüsselter Text und ein Schlüssel aus 0 und 1 gebildet sind, werden die Verschlüsselung und die Entschlüsselung durch eine XOR-Operation ausgeführt und können mit höherer Geschwindigkeit vorgenommen werden.
  • Eine Verschlüsselungsvorrichtung und eine Entschlüsselungsvorrichtung enthalten dieselben Bildungselemente (z. B. einen Erzeugungsverarbeitungsteil des Schlüssels mit variabler Länge). Deshalb ist es tatsächlich leicht, diese Vorrichtungen zu konfigurieren.

Claims (17)

  1. Kryptosystem mit Schlüssel mit variabler Länge in einem Stromkryptosystem, welches Kryptosystem betriebsfähig ist, um die Verschlüsselung eines Klartextes und die Entschlüsselung eines verschlüsselten Textes auszuführen, bei dem dann, wenn die Verschlüsselung eines Klartextes ausgeführt wird, ein Klartext und ein Verschlüsselungsschlüssel miteinander addiert werden, indem jeweilige Zeichen des Klartextes und des Verschlüsselungsschlüssels als Zahlenwerte betrachtet werden, um eine Kette von verschlüsseltem Text zu erhalten, und bei dem dann, wenn die Entschlüsselung des verschlüsselten Textes ausgeführt wird, werte des Verschlüsselungsschlüssels, die erhalten werden, indem jeweilige Zeichen des Verschlüsselungsschlüssels als Zahlenwerte betrachtet werden, von Werten des verschlüsselten Textes subtrahiert werden, indem jeweilige Zeichen desselben als Zahlenwerte betrachtet werden, welches System umfaßt: einen Erzeugungsverarbeitungsteil eines Schlüssels mit variabler Länge (30a) zum Erzeugen eines Verschlüsselungsschlüssels mit einer erforderlichen beliebigen Länge; einen Datenkettenlängen-Detektionsverarbeitungsteil (20) zum Detektieren einer Länge einer Zeichenkette; und einen Hash-Funktions-Verarbeitungsteil (36) zum Zuordnen einer Zeichenkette zu einem Hash-Funktions-Wert, bei dem, während der Verschlüsselung eines Klartextes, der Datenkettenlängen-Detektionsteil dafür ausgelegt ist, um die Länge des Klartextes zu detektieren, der Erzeugungsverarbeitungsteil des Schlüssels mit variabler Länge dafür ausgelegt ist, um eine Vielzahl von Verschlüsselungsschlüsseln mit einer besonderen Länge zu erzeugen, basierend auf der detektierten Länge des Klartextes, und um einen Verschlüsselungsschlüssel zur Stromverschlüsselungsverarbeitung zu selektieren, und der Hash-Funktions-Verarbeitungsteil dafür ausgelegt ist, um einen Hash-Wert in bezug auf den zu verschlüsselnden Klartext zu erzeugen, während das Kryptosystem dafür ausgelegt ist, um den Hash-Wert zusammen mit dem erzeugten verschlüsselten Text zu senden; oder bei dem, während der Entschlüsselung eines verschlüsselten Textes, der Datenkettenlängen-Detektionsverarbeitungsteil dafür ausgelegt ist, um die Länge eines verschlüsselten Textes zu detektieren, der Erzeugungsverarbeitungsteil des Schlüssels mit variabler Länge dafür ausgelegt ist, um eine Vielzahl von Verschlüsselungsschlüsseln mit einer besonderen Länge auf der Basis der detektierten Länge des verschlüsselten Textes zu erzeugen, um eine Vielzahl von verschlüsselten Klartexten zur Stromentschlüsselungsverarbeitung zu erhalten, und der Hash-Funktions-Verarbeitungsteil dafür ausgelegt ist, um einen Hash-Wert in bezug auf jeden der entschlüsselten Klartexte zu erzeugen und einen Klartext zu selektieren, der einen Hash-Wert hat, der einem gesendeten Hash-Wert gleich ist.
  2. Kryptosystem mit Schlüssel mit variabler Länge nach Anspruch 1, bei dem eine echte Zufallszahlenfolge, die zuvor durch einen Sender und einen Empfänger gemeinsam insgeheim genutzt wurde, als Hash-Funktion des Hash-Funktions-Verarbeitungsteils (36) verwendet wird.
  3. Kryptosystem mit Schlüssel mit variabler Länge nach Anspruch 1, bei dem der Erzeugungsverarbeitungsteil des Schlüssels mit variabler Länge (30a) enthält: einen Konver tierungsregel-Halteteil (31a) zum Halten einer Vielzahl von Sätzen von Konvertierungsregeln zum Konvertieren eines Zeichens in eine Zeichenkette mit einer Länge von 1 oder mehr; eine Konvertierungsregel-Selektionsfunktion (35) zum Selektieren eines Konvertierungsregelsatzes von der Vielzahl von Sätzen von Konvertierungsregeln auf der Basis einer Länge einer zu konvertierenden Zeichenkette; und einen Erzeugungsverarbeitungsteil einer konvertierten Zeichenkette (32a) zum Wiederholen der Zeichenkonvertierung ab einer Anfangszeichenkette und zum Konvertieren jedes Zeichens einer gegenwärtigen Zeichenkette unter Verwendung einer Konvertierungsregel, die gemäß einer Länge der gegenwärtigen Zeichenkette selektiert wird, wodurch eine neue Zeichenkette erzeugt wird, bei dem der Erzeugungsverarbeitungsteil der konvertierten Zeichenkette dafür ausgelegt ist, um die Zeichenkonvertierung zu wiederholen, bis eine Länge der erzeugten konvertierten Zeichenkette eine Länge eines Klartextes erreicht, um einen Verschlüsselungsschlüssel zu erzeugen.
  4. Kryptosystem mit Schlüssel mit variabler Länge nach Anspruch 3, bei dem der Erzeugungsverarbeitungsteil der konvertierten Zeichenkette (32a) dafür ausgelegt ist, um eine Anfangszeichenkette aus Zeichen, deren Arten sich von jenen der Zeichen unterscheiden, die den Verschlüsselungsschlüssel bilden, als Anfangszeichenkette zu verwenden und eine Zeichenkonvertierungsregel in bezug auf Zeichen, deren Arten sich von jenen der Zeichen unterscheiden, die den Verschlüsselungsschlüssel bilden, als Konvertierungsregel zu verwenden, bei dem, bei Gebrauch, die Zeichenkonvertierung unter Verwendung der Anfangszeichenkette und der Zeichenkonvertierungsregel wiederholt wird und der Verschlüsselungsschlüssel durch eine zweite Zeichenkonvertierung zum Konvertieren jedes Zeichens einer erzeugten Zeichenkette in Zeichen, die den Verschlüsselungsschlüssel bilden, erzeugt wird.
  5. Kryptosystem mit Schlüssel mit variabler Länge nach Anspruch 3, bei dem der Erzeugungsverarbeitungsteil der konvertierten Zeichenkette (32a) dafür ausgelegt ist, um als Anfangszeichenkette eine kombinierte Anfangszeichenkette zu verwenden, die erzeugt wird, indem Zeichen, die zum Erzeugen des Verschlüsselungsschlüssels verwendet werden, mit Blindzeichen kombiniert werden, die sich von den Zeichen unterscheiden, die zum Erzeugen des Verschlüsselungsschlüssels verwendet werden, und bei dem der Erzeugungsverarbeitungsteil der konvertierten Zeichenkette dafür ausgelegt ist, um als Konvertierungsregel eine kombinierte Konvertierungsregel zu verwenden, die erzeugt wird, indem eine Zeichenkonvertierungsregel in bezug auf die Zeichen, die zum Erzeugen des Verschlüsselungsschlüssels verwendet werden, mit einer Zeichenkonvertierungsregel in bezug auf die Blindzeichen kombiniert wird, die sich von den Zeichen unterscheiden, die zum Erzeugen des Verschlüsselungsschlüssels verwendet werden, wobei die Zeichenkonvertierung, bei Gebrauch, unter Verwendung der kombinierten Anfangszeichenkette und der kombinierten Konvertierungsregel wiederholt wird und nur Zeichen, die zum Erzeugen des Verschlüsselungsschlüssels verwendet werden, aus einer erzeugten Zeichenkette extra hiert werden, um einen Verschlüsselungsschlüssel zu erzeugen.
  6. Kryptosystem mit Schlüssel mit variabler Länge nach irgendeinem der Ansprüche 3 bis 5, bei dem dann, wenn eine Länge einer erzeugten konvertierten Zeichenkette, die eine Länge eines Klartextes erreicht, eine Länge ist, die für einen Verschlüsselungsschlüssel bereits verwendet worden ist, der Erzeugungsverarbeitungsteil der konvertierten Zeichenkette (32a) dafür ausgelegt ist, um die Zeichenkonvertierung fortzusetzen, um eine konvertierte Zeichenkette mit einer Länge zu erzeugen, die für einen Verschlüsselungsschlüssel nicht verwendet worden ist, und um einen Abschnitt der konvertierten Zeichenkette zu übernehmen, der eine Länge hat, die jener eines Klartextes gleich ist, und den verbleibenden Abschnitt derselben auszurangieren, um den Verschlüsselungsschlüssel zu erzeugen.
  7. Kryptosystem mit Schlüssel mit variabler Länge nach irgendeinem der Ansprüche 3 bis 5, bei dem dann, wenn eine Länge einer erzeugten konvertierten Zeichenkette, die eine Länge des Klartextes erreicht, die Länge des Klartextes überschreitet, der Erzeugungsverarbeitungsteil der konvertierten Zeichenkette (32a) dafür ausgelegt ist, um einen Abschnitt der konvertierten Zeichenkette zu übernehmen, der eine Länge hat, die jener des Klartextes gleich ist, und den verbleibenden Abschnitt derselben auszurangieren, um den Verschlüsselungsschlüssel zu erzeugen.
  8. Kryptosystem mit Schlüssel mit variabler Länge nach Anspruch 7, bei dem der Erzeugungsverarbeitungsteil der konvertierten Zeichenkette (32a) eine Liste der verwendeten Schlüssel enthält, die Verlaufsinformationen über Längen eines in der Vergangenheit verwendeten Verschlüsselungsschlüssels verzeichnet.
  9. Verfahren bei einem Kryptosystem mit Schlüssel mit variabler Länge, bei dem ein Klartext und ein Verschlüsselungsschlüssel miteinander addiert werden, indem jeweilige Zeichen des Klartextes und des Verschlüsselungsschlüssels als Zahlenwerte betrachtet werden, wobei eine Kette, die durch die Addition erhalten wird, als verschlüsselter Text verwendet wird, und bei dem, bei der Entschlüsselung, Werte des Verschlüsselungsschlüssels, die erhalten werden, indem jeweilige Zeichen des Verschlüsselungsschlüssels als Zahlenwerte betrachtet werden, von Werten des verschlüsselten Textes subtrahiert werden, indem jeweilige Zeichen desselben als Zahlenwerte betrachtet werden, welches Verfahren umfaßt: i) Verschlüsselung eines Klartextes durch Detektieren einer Länge des Klartextes; Erzeugen einer Vielzahl von Verschlüsselungsschlüsseln mit einer besonderen Länge auf der Basis der detektierten Länge des Klartextes durch einen Erzeugungsverarbeitungsteil eines Schlüssels mit variabler Länge (30a); Selektieren eines Verschlüsselungsschlüssels zur Stromverschlüsselungsverarbeitung; und Erzeugen eines Hash-Wertes in bezug auf den zu verschlüsselnden Klartext, welcher Hash-Wert zusammen mit dem erzeugten verschlüsselten Text gesendet wird; oder ii) Entschlüsselung eines verschlüsselten Textes durch Detektieren einer Länge des verschlüsselten Textes; Erzeugen einer Vielzahl von Verschlüsselungsschlüsseln mit einer besonderen Länge auf der Basis der detektierten Länge des verschlüsselten Textes, um eine Vielzahl von entschlüsselten Klartexten zur Stromentschlüsselungsverarbeitung zu erhalten; Erzeugen eines Hash-Wertes in bezug auf jeden der entschlüsselten Klartexte; und Selektieren eines Klartextes mit einem Hash-Wert, der einem empfangenen Hash-Wert gleich ist.
  10. Verfahren nach Anspruch 9, bei dem eine echte Zufallszahlenfolge, die zuvor durch einen Sender und einen Empfänger gemeinsam insgeheim genutzt wurde, als Hash-Funktions-Wert verwendet wird.
  11. Verfahren nach Anspruch 9, bei dem die Erzeugung der Verschlüsselungsschlüssel durch den Erzeugungsverarbeitungsteil des Schlüssels mit variabler Länge (30a) enthält: Selektieren eines Konvertierungsregelsatzes von einer Vielzahl von Sätzen von Konvertierungsregeln zum Konvertieren eines Zeichens in eine Zeichenkette mit einer Länge von 1 oder mehr auf der Basis einer Länge einer zu konvertierenden Zeichenkette; Ausführen der Zeichenkonvertierung ab einer Anfangszeichenkette und Konvertieren jedes Zeichens einer gegenwärtigen Zeichenkette unter Verwendung einer Konvertierungsregel, die gemäß einer Länge der gegenwärtigen Zeichenkette selektiert wird, wodurch eine neue Zeichenkette erzeugt wird, bei dem der Erzeugungsverarbeitungsteil der konvertierten Zeichenkette die Zeichenkonvertierung wiederholt, bis eine Länge der erzeugten konvertierten Zeichenkette eine Länge eines Klartextes erreicht, um einen Verschlüsselungsschlüssel zu erzeugen.
  12. Verfahren nach Anspruch 11, bei dem, während der Zeichenkonvertierung, eine Anfangszeichenkette aus Zeichen, deren Arten sich von jenen der Zeichen unterscheiden, die den Verschlüsselungsschlüssel bilden, als Anfangszeichenkette verwendet wird und eine Zeichenkonvertierungsregel in bezug auf Zeichen, deren Arten sich von jenen der Zeichen unterscheiden, die den Verschlüsselungsschlüssel bilden, als Konvertierungsregel verwendet wird, bei dem die Zeichenkonvertierung unter Verwendung der Anfangszeichenkette und der Zeichenkonvertierungsregel wiederholt wird und der Verschlüsselungsschlüssel durch eine zweite Zeichenkonvertierung zum Konvertieren jedes Zeichens einer erzeugten Zeichenkette in Zeichen, die den Verschlüsselungsschlüssel bilden, erzeugt wird.
  13. Verfahren nach Anspruch 11, bei dem, während der Zeichenkonvertierung, eine kombinierte Anfangszeichenkette, die durch das Kombinieren von Zeichen, die zum Erzeugen des Verschlüsselungsschlüssels verwendet werden, mit Blindzeichen erzeugt wird, die sich von den Zeichen unterscheiden, die zum Erzeugen des Verschlüsselungsschlüssels verwendet werden, als Anfangszeichenkette verwendet wird und eine kombinierte Konvertierungsregel, die durch das Kombinieren einer Zeichenkonvertierungsregel in bezug auf die Zeichen, die zum Erzeugen des Verschlüsselungsschlüssels verwendet werden, mit einer Zeichenkonvertierungsregel in bezug auf die Blindzeichen erzeugt wird, die sich von den Zeichen unterscheiden, die zum Erzeugen des Verschlüsselungsschlüssels verwendet werden, als Konvertierungsregel verwendet wird, und bei dem die Zeichenkonvertierung unter Verwendung der kombinierten Anfangszeichenkette und der kombinierten Konvertierungsregel wiederholt wird und nur Zeichen, die zum Erzeugen des Verschlüsselungsschlüssels verwendet werden, aus einer erzeugten Zeichenkette extrahiert werden, um einen Verschlüsselungsschlüssel zu erzeugen.
  14. Verfahren nach irgendeinem der Ansprüche 11 bis 13, bei dem dann, falls eine Länge einer erzeugten konvertierten Zeichenkette, die die Länge eines Klartextes erreicht, eine Länge ist, die für einen Verschlüsselungsschlüssel bereits verwendet worden ist, die Zeichenkonvertierung fortgesetzt wird, um eine konvertierte Zeichenkette mit einer Länge zu erzeugen, die für einen Verschlüsselungsschlüssel nicht verwendet worden ist, und ein Abschnitt der konvertierten Zeichenkette, der eine Länge hat, die jener eines Klartextes gleich ist, übernommen wird und der verbleibende Abschnitt derselben ausrangiert wird, um den Verschlüsselungsschlüssel zu erzeugen.
  15. Verfahren nach irgendeinem der Ansprüche 11 bis 13, bei dem dann, falls eine Länge einer erzeugten konvertierten Zeichenkette, die eine Länge des Klartextes erreicht, die Länge des Klartextes überschreitet, während der Zeichenkonvertierung ein Abschnitt der konvertierten Zeichenkette, der eine Länge hat, die jener des Klartextes gleich ist, übernommen wird und der verbleibende Abschnitt derselben ausrangiert wird, um den Verschlüsselungsschlüssel zu erzeugen.
  16. Verfahren nach Anspruch 14, bei dem die Zeichenkonvertierung eine Liste der verwendeten Schlüssel nutzt, die Verlaufsinformationen über Längen eines in der Vergangenheit verwendeten Verschlüsselungsschlüssels verzeichnet.
  17. Computerlesbares Aufzeichnungsmedium, das ein Verarbeitungsprogramm zum Realisieren eines Kryptosystems mit Schlüssel mit variabler Länge in einem Stromkryptosystem speichert, bei dem ein Klartext und ein Verschlüsselungsschlüssel miteinander addiert werden, indem jeweilige Zeichen des Klartextes und Verschlüsselungsschlüssels als Zahlenwerte betrachtet werden, wobei eine Kette, die durch die Addition erhalten wird, als verschlüsselter Text verwendet wird und wobei, bei der Entschlüsselung, Werte des Verschlüsselungsschlüssels, die erhalten werden, indem jeweilige Zeichen des Verschlüsselungsschlüssels als Zahlenwerte betrachtet werden, von Werten des verschlüsselten Textes subtrahiert werden, indem jeweilige Zeichen desselben als Zahlenwerte betrachtet werden, welches Programm umfaßt: eine Erzeugungsverarbeitungsoperation eines Verschlüsselungsschlüssels mit variabler Länge, zum Erzeugen eines Verschlüsselungsschlüssels mit einer erforderlichen beliebigen Länge, und mit einem Hash-Funktions-Verarbeitungsteil zum Zuordnen einer Zeichenkette zu einem Hash-Funktions-Wert; eine Datenkettenlängen-Detektionsverarbeitungsoperation zum Detektieren einer Länge einer Zeichenkette; eine Stromcodeerzeugungsverarbeitungsoperation zum Erzeugen eines Stromcodes unter Verwendung eines bezeichneten Verschlüsselungsschlüssels; eine Stromcodeentschlüsselungsverarbeitungsoperation zum Entschlüsseln des Stromcodes unter Verwendung eines bezeichneten Verschlüsselungsschlüssels; wobei das Programm betriebsfähig ist, um die Verschlüsselung eines Klartextes und/oder die Entschlüsselung eines verschlüsselten Textes auszuführen, bei dem dann, wenn die Verschlüsselung eines Klartextes ausgeführt wird, die Erzeugungsverarbeitungsoperation des Verschlüsselungsschlüssels mit variabler Länge enthält: Erzeugen einer Vielzahl von Verschlüsselungsschlüsseln mit einer besonderen Länge auf der Basis einer Länge eines Klartextes, die bei der Datenkettenlängen-Detektionsverarbeitungsoperation detektiert wird; Selektieren eines Verschlüsselungsschlüssels zur Stromverschlüsselungsverarbeitung; und Erzeugen eines Hash-Wertes in bezug auf den Klartext, der zu verschlüsseln ist, wobei die Stromcodeerzeugungsverarbeitungsoperation das Erzeugen eines Stromcodes unter Verwendung eines Verschlüsselungsschlüssels enthält, der bei der Erzeugungsverarbeitungsoperation des Verschlüsselungsschlüssels mit variabler Länge erzeugt und selektiert wird; und bei dem dann, wenn die Entschlüsselung eines verschlüsselten Textes ausgeführt wird, die Erzeugungsverarbeitungsoperation des Verschlüsselungsschlüssels mit variabler Länge enthält: Erzeugen einer Vielzahl, oder weniger, von Verschlüsselungsschlüsseln mit einer besonderen Länge, die für die Verschlüsselung verwendet werden, auf der Basis der Länge des verschlüsselten Textes, die bei der Datenkettenlängen-Detektionsverarbeitungsoperation detektiert: wird, um eine Vielzahl von entschlüsselten Klartexten zu erhalten; Erzeugen eines Hash-Wertes in bezug auf jeden der entschlüsselten Klartexte; und Selektieren eines Klartextes mit einem Hash-Wert, der einem empfangenen Hash-Wert gleich ist, wobei die Stromcodeentschlüsselungsverarbeitungsoperation das Entschlüsseln eines Stromcodes unter Verwendung des Verschlüsselungsschlüssels enthält, der bei der Erzeugungsverarbeitungsoperation des Verschlüsselungsschlüssels mit variabler Länge erzeugt und selektiert wird.
DE69929251T 1999-10-20 1999-10-20 Verschlüsselungssystem mit einem schlüssel veränderlicher länge Expired - Lifetime DE69929251T2 (de)

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
PCT/JP1999/005803 WO2001030020A1 (fr) 1999-10-20 1999-10-20 Systeme de cryptage de cle a longueur variable

Publications (2)

Publication Number Publication Date
DE69929251D1 DE69929251D1 (de) 2006-02-02
DE69929251T2 true DE69929251T2 (de) 2006-07-13

Family

ID=14237062

Family Applications (1)

Application Number Title Priority Date Filing Date
DE69929251T Expired - Lifetime DE69929251T2 (de) 1999-10-20 1999-10-20 Verschlüsselungssystem mit einem schlüssel veränderlicher länge

Country Status (5)

Country Link
US (1) US7224795B2 (de)
EP (1) EP1223707B1 (de)
JP (1) JP3782351B2 (de)
DE (1) DE69929251T2 (de)
WO (1) WO2001030020A1 (de)

Families Citing this family (51)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
GB0116016D0 (en) * 2001-06-29 2001-08-22 Simoco Digital Systems Ltd Communications systems
WO2003019899A2 (fr) * 2001-08-24 2003-03-06 Thomson Licensing S.A. Reseau numerique local, procedes d'installation de nouveaux dispositifs et procedes de diffusion et de reception de donnees dans un tel reseau
US7380120B1 (en) 2001-12-12 2008-05-27 Guardian Data Storage, Llc Secured data format for access control
US8065713B1 (en) 2001-12-12 2011-11-22 Klimenty Vainstein System and method for providing multi-location access management to secured items
US10033700B2 (en) 2001-12-12 2018-07-24 Intellectual Ventures I Llc Dynamic evaluation of access rights
US7930756B1 (en) 2001-12-12 2011-04-19 Crocker Steven Toye Multi-level cryptographic transformations for securing digital assets
US7260555B2 (en) 2001-12-12 2007-08-21 Guardian Data Storage, Llc Method and architecture for providing pervasive security to digital assets
US10360545B2 (en) 2001-12-12 2019-07-23 Guardian Data Storage, Llc Method and apparatus for accessing secured electronic data off-line
US7921284B1 (en) 2001-12-12 2011-04-05 Gary Mark Kinghorn Method and system for protecting electronic data in enterprise environment
US7921450B1 (en) 2001-12-12 2011-04-05 Klimenty Vainstein Security system using indirect key generation from access rules and methods therefor
US7178033B1 (en) 2001-12-12 2007-02-13 Pss Systems, Inc. Method and apparatus for securing digital assets
US7921288B1 (en) 2001-12-12 2011-04-05 Hildebrand Hal S System and method for providing different levels of key security for controlling access to secured items
US7783765B2 (en) 2001-12-12 2010-08-24 Hildebrand Hal S System and method for providing distributed access control to secured documents
US8006280B1 (en) * 2001-12-12 2011-08-23 Hildebrand Hal S Security system for generating keys from access rules in a decentralized manner and methods therefor
US7681034B1 (en) 2001-12-12 2010-03-16 Chang-Ping Lee Method and apparatus for securing electronic data
US7565683B1 (en) 2001-12-12 2009-07-21 Weiqing Huang Method and system for implementing changes to security policies in a distributed security system
USRE41546E1 (en) 2001-12-12 2010-08-17 Klimenty Vainstein Method and system for managing security tiers
US7950066B1 (en) 2001-12-21 2011-05-24 Guardian Data Storage, Llc Method and system for restricting use of a clipboard application
US8176334B2 (en) 2002-09-30 2012-05-08 Guardian Data Storage, Llc Document security system that permits external users to gain access to secured files
US8613102B2 (en) 2004-03-30 2013-12-17 Intellectual Ventures I Llc Method and system for providing document retention using cryptography
US7512810B1 (en) 2002-09-11 2009-03-31 Guardian Data Storage Llc Method and system for protecting encrypted files transmitted over a network
US7836310B1 (en) 2002-11-01 2010-11-16 Yevgeniy Gutnik Security system that uses indirect password-based encryption
US7890990B1 (en) 2002-12-20 2011-02-15 Klimenty Vainstein Security system with staging capabilities
US7212817B2 (en) * 2003-04-30 2007-05-01 Hewlett-Packard Development Company, L.P. Partitioning a database keyed with variable length keys
US20040220941A1 (en) * 2003-04-30 2004-11-04 Nielson Mark R. Sorting variable length keys in a database
US8707034B1 (en) 2003-05-30 2014-04-22 Intellectual Ventures I Llc Method and system for using remote headers to secure electronic files
CN100499451C (zh) * 2003-08-26 2009-06-10 中兴通讯股份有限公司 网络通信安全处理器及其数据处理方法
US7703140B2 (en) 2003-09-30 2010-04-20 Guardian Data Storage, Llc Method and system for securing digital assets using process-driven security policies
US8127366B2 (en) 2003-09-30 2012-02-28 Guardian Data Storage, Llc Method and apparatus for transitioning between states of security policies used to secure electronic documents
US7707427B1 (en) 2004-07-19 2010-04-27 Michael Frederick Kenrich Multi-level file digests
US8015416B2 (en) 2004-11-19 2011-09-06 Megachips Corporation Memory information protection system and methods
JP4119882B2 (ja) * 2004-11-19 2008-07-16 株式会社メガチップス メモリ情報保護システム、メモリ情報の保護方法、および半導体メモリ
JP5147412B2 (ja) 2005-01-21 2013-02-20 サーティコム コーポレーション 楕円曲線乱数生成
WO2007043297A1 (ja) * 2005-10-11 2007-04-19 Matsushita Electric Industrial Co., Ltd. データ送信装置、及びデータ受信装置
JP4603499B2 (ja) * 2006-03-22 2010-12-22 Necパーソナルプロダクツ株式会社 自動更新システム、自動更新方法
JP2008113172A (ja) * 2006-10-30 2008-05-15 Hitachi Ltd コンテンツ送信装置、コンテンツ受信装置及びコンテンツ暗号化方法
KR101405321B1 (ko) * 2007-03-16 2014-06-27 재단법인서울대학교산학협력재단 키 연산 방법 및 이를 이용한 공유 키 생성 방법
US7929694B2 (en) * 2007-05-31 2011-04-19 Alcatel-Lucent Usa Inc. Variable length private key generator and method thereof
WO2009082356A1 (en) * 2007-12-24 2009-07-02 Nanyang Polytechnic Method and system for securing wireless systems and devices
DE102008010789B4 (de) * 2008-02-22 2010-09-30 Fachhochschule Schmalkalden Verfahren zur zugriffs- und kommunikationsbezogenen Zufallsver- und Entschlüsselung von Daten
JP5759932B2 (ja) * 2012-05-24 2015-08-05 株式会社エヌ・ティ・ティ・データ 鍵データ生成装置、鍵データ生成方法、及びプログラム
US8744078B2 (en) * 2012-06-05 2014-06-03 Secure Channels Sa System and method for securing multiple data segments having different lengths using pattern keys having multiple different strengths
US9465961B2 (en) * 2012-12-18 2016-10-11 Rambus Inc. Methods and circuits for securing proprietary memory transactions
US9690935B2 (en) * 2012-12-31 2017-06-27 Fireeye, Inc. Identification of obfuscated computer items using visual algorithms
JP6206866B2 (ja) 2013-02-19 2017-10-04 インターナショナル・ビジネス・マシーンズ・コーポレーションInternational Business Machines Corporation 難読化データをサーバに保持させる装置及び方法
US12028333B2 (en) 2013-05-14 2024-07-02 Kara Partners Llc Systems and methods for variable-length encoding and decoding for enhancing computer systems
US10057250B2 (en) * 2013-05-14 2018-08-21 Kara Partners Llc Technologies for enhancing computer security
KR101330071B1 (ko) 2013-07-01 2013-11-18 (주)아울시스템즈 데이터베이스의 숫자형 데이터의 보안 방법 및 장치
US11411718B2 (en) * 2020-06-12 2022-08-09 The Boeing Company Partial overlapping multi-key encryption of a data set
CN111865573A (zh) * 2020-06-22 2020-10-30 上海上实龙创智能科技股份有限公司 一种动态密码生成***、生成方法、设备及存储介质
US11777714B2 (en) * 2021-12-17 2023-10-03 Watson Knox Williams, JR. Matrix encryption—a symmetric key encryption technology

Family Cites Families (15)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
DE2658065A1 (de) * 1976-12-22 1978-07-06 Ibm Deutschland Maschinelles chiffrieren und dechiffrieren
JPS62213444A (ja) * 1986-03-14 1987-09-19 Hitachi Ltd デ−タ保護方式
JP2952885B2 (ja) * 1989-04-19 1999-09-27 日本電気株式会社 鍵管理方式
SG42847A1 (en) * 1993-05-05 1997-10-17 Zunquan Liu Device and method for data encryption
US5440640A (en) * 1993-10-05 1995-08-08 Arithmetica, Inc. Multistream encryption system for secure communication
US5454039A (en) * 1993-12-06 1995-09-26 International Business Machines Corporation Software-efficient pseudorandom function and the use thereof for encryption
NZ329891A (en) * 1994-01-13 2000-01-28 Certco Llc Method of upgrading firmware of trusted device using embedded key
US5425103A (en) * 1994-03-14 1995-06-13 Shaw; William Y. Variable-key cryptography system
US5799090A (en) * 1995-09-25 1998-08-25 Angert; Joseph C. pad encryption method and software
US5717756A (en) * 1995-10-12 1998-02-10 International Business Machines Corporation System and method for providing masquerade protection in a computer network using hardware and timestamp-specific single use keys
JPH1013407A (ja) * 1996-06-25 1998-01-16 Fukushima Nippon Denki Kk スクランブルパターン設定方式
JP3086887B2 (ja) * 1996-08-08 2000-09-11 株式会社ローレルインテリジェントシステムズ 情報伝達方法、情報発信方法、情報再生方法及び通信装置
JP3854674B2 (ja) * 1996-12-06 2006-12-06 オリンパス株式会社 暗号通信装置
JPH1127256A (ja) * 1997-07-07 1999-01-29 Toyo Commun Equip Co Ltd 楕円ストリーム暗号システム
US20020124176A1 (en) * 1998-12-14 2002-09-05 Michael Epstein Biometric identification mechanism that preserves the integrity of the biometric information

Also Published As

Publication number Publication date
US7224795B2 (en) 2007-05-29
US20020101996A1 (en) 2002-08-01
DE69929251D1 (de) 2006-02-02
EP1223707A4 (de) 2004-05-12
JP3782351B2 (ja) 2006-06-07
EP1223707B1 (de) 2005-12-28
EP1223707A1 (de) 2002-07-17
WO2001030020A1 (fr) 2001-04-26

Similar Documents

Publication Publication Date Title
DE69929251T2 (de) Verschlüsselungssystem mit einem schlüssel veränderlicher länge
DE69721439T2 (de) Kryptographisches verfahren und einrichtung zum nichtlinearen zusammenfugen eines datenblocks und eines schlussels
DE69031736T2 (de) Verschlüsselungsmethode
DE69433257T2 (de) Verfahren und Kommunikationssystem unter Verwendung einer Verschlüsselungseinrichtung
DE2231835C3 (de) Verfahren zur in mehreren Stufen erfolgenden Ver- und Entschlüsselung binärer Daten
DE69222090T2 (de) Einrichtung und Verfahren zum blockweisen Verschlüsseln von Daten
DE69916160T2 (de) Vorrichtung und Verfahren zur kryptographischen Verarbeitung sowie Aufzeichnungsmedium zum Aufzeichnen eines kryptographischen Verarbeitungsprogramms zur Ausführung einer schnellen kryptographischen Verarbeitung ohne Preisgabe der Sicherheit
CH660822A5 (de) Zufallsprimzahlen-erzeugungsmittel in einer mit oeffentlichem schluessel arbeitenden daten-verschluesselungsanlage.
DE60315700T2 (de) Verfahren zum erzeugen einer stromverschlüsselung mit mehreren schlüsseln
DE69532227T2 (de) Signalsendeverfahren und kommunikationssystem
DE10148415C2 (de) Verfahren und Vorrichtung zum Verschlüsseln und Entschlüsseln von Daten
DE19744961A1 (de) Erzeugen eindeutiger und unvorhersagbarer Werte
DE3203412A1 (de) Schnelles oeffentliches realzeit-verschluesselungssystem
DE69937007T2 (de) Verfahren und vorrichtung zur verschlüsselung und entschlüsselung von daten
DE2843583A1 (de) Verfahren und vorrichtung zum entschluesseln verschluesselter nachrichten
DE2231849B2 (de) Verschlüsselungsverfahren zur Erhöhung der Entschlüsselungsfestigkeit von blockweise zu verschlüsselnden Binärdaten und Anordnung zur Durchführung des Verfahrens
DE602004007904T2 (de) Verschlüsselungsverfahren und -system
DE69729297T2 (de) Verschlüsselungsvorrichtung für binärkodierte nachrichten
DE69333257T2 (de) Anlage für Signalschaltung und -verarbeitung
DE60038042T2 (de) Einserkomplement-verschlüsselungskombinator
EP0189734A1 (de) Verfahren und Vorrichtung für die Umwandlung einer digitalen Datensequenz in die verschlüsselte Form
DE60004409T2 (de) Schaltung und Verfahren zur Zufallszahlerzeugung
DE3210081A1 (de) Verfahren und anordnung zum uebertragen von verschluesselten texten
DE102020000814A1 (de) Schlüsselgenerierung und PACE mit Sicherung gegen Seitenkanalangriffe
EP2288073B1 (de) Vorrichtung zur Verschlüsselung von Daten

Legal Events

Date Code Title Description
8364 No opposition during term of opposition
8328 Change in the person/name/address of the agent

Representative=s name: SEEGER SEEGER LINDNER PARTNERSCHAFT PATENTANWAELTE