DE4341045A1 - Verfahren zum Verschlüsseln von in Blöcke unterteilten, digitalen Daten und Datenfernübertragungsanlage - Google Patents

Verfahren zum Verschlüsseln von in Blöcke unterteilten, digitalen Daten und Datenfernübertragungsanlage

Info

Publication number
DE4341045A1
DE4341045A1 DE19934341045 DE4341045A DE4341045A1 DE 4341045 A1 DE4341045 A1 DE 4341045A1 DE 19934341045 DE19934341045 DE 19934341045 DE 4341045 A DE4341045 A DE 4341045A DE 4341045 A1 DE4341045 A1 DE 4341045A1
Authority
DE
Germany
Prior art keywords
data
bytes
blocks
encryption
code word
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.)
Withdrawn
Application number
DE19934341045
Other languages
English (en)
Inventor
Antal Dr Lisziewicz
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.)
Individual
Original Assignee
Individual
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 Individual filed Critical Individual
Priority to DE19934341045 priority Critical patent/DE4341045A1/de
Publication of DE4341045A1 publication Critical patent/DE4341045A1/de
Withdrawn 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/34Bits, or blocks of bits, of the telegraphic message being interchanged in time
    • 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/0618Block ciphers, i.e. encrypting groups of characters of a plain text message using fixed encryption transformation

Landscapes

  • Engineering & Computer Science (AREA)
  • Computer Security & Cryptography (AREA)
  • Computer Networks & Wireless Communication (AREA)
  • Signal Processing (AREA)
  • Storage Device Security (AREA)

Description

Die Erfindung bezieht sich auf ein Verfahren zum Verschlüsseln von in Blöcke mit jeweils n Bytes Umfang unterteilten, digitalen Daten, wobei aus einem wählbaren Codewort ein Verschlüsselungs­ code generiert wird, der auf die Daten angewendet wird. Weiter­ hin bezieht sich die Erfindung auf eine Datenfernübertragungs­ anlage mit mindestens zwei Anschlüssen, wobei an jedem Anschluß eine Sende- und/oder Empfangsvorrichtung für in Blöcke mit jeweils n Bytes Umfang unterteilte, digitale Daten vorgesehen ist und wobei jede Sende- und/oder Empfangsvorrichtung eine Ver­ schlüsselungseinrichtung zum Verschlüsseln der zu sendenden Daten und/oder eine Entschlüsselungseinrichtung zum Ent­ schlüsseln der empfangenen, verschlüsselten Daten und eine Eingabe- und Speichereinrichtung für ein die Verschlüsselungs- bzw. die Entschlüsselungseinrichtung steuerndes Codewort aufweist. Hierbei bezeichnet n eine ganze Zahl. Mit kleinen Buchstaben wird auch im folgenden jeweils auf ganze Zahlen bezug genommen.
Die Übertragung von digitalen Daten in Form von Blöcken ist als allgemeiner Standard anzusehen. Auch das Abspeichern von Daten in Rechneranlagen erfolgt in Form solcher Blöcke. Der Umfang der Blöcke beträgt typischerweise 512 Bytes. Auf den genauen Umfang der Blöcke kommt es für die vorliegende Erfindung jedoch nicht an. Es kann genauso von Blöcken mit einem Umfang von jeweils 1024 Bytes oder auch nur 256 Bytes ausgegangen werden.
Mit den fortschreitenden Möglichkeiten der elektronischen Datenfernübertragung ist die Gefahr verbunden, daß Daten während ihrer Übertragung von unbefugten Dritten zum Zwecke des Mißbrauchs "abgehört", d. h. mitgeschnitten werden. Diese Gefahr wird durch die wachsende Anzahl mobiler Sende- und Empfangs­ vorrichtungen, beispielsweise sogenannter Funktelefone, noch gesteigert. Hier ist es mit vergleichsweise geringem technischen Aufwand möglich, die übertragenen Daten mitzuschneiden. Die Varianten des Datenmißbrauchs sind vielfältig. Sie reichen vom Ausforschen von Kennworten oder Kennzahlen, die beim sogenannten Home-Banking verwendet werden, bis zur Industriespionage bei der Übermittlung von Konstruktionszeichnungen per Telefax. Auch die Datenübertragungsstrecken bei Computernetzwerken eröffnen Möglichkeiten, Daten beim Übertragen unbefugt mitzuschneiden.
Aus der EP-A 0 289 086 ist ein Verfahren zum Verschlüsseln von digitalen Daten bekannt, wobei aus einem wählbaren Codewort ein Verschlüsselungscode generiert wird, der auf die Daten angewendet wird. Dabei kann davon ausgegangen werden, daß die digitalen Daten dem Standard entsprechend in Blöcke unterteilt sind, so daß die EP-A 0 289 086 ein Verfahren der eingangs beschriebenen Art betrifft. Ebenso ist eine Datenfernüber­ tragungsanlage der eingangs beschriebenen Art offenbart. Dabei wird der Verschlüsselungscode aus einem wählbaren Schlüssel­ signal und einem wählbaren Anfangszahlensignal generiert. Der Verschlüsselungscode wird über eine exklusiv-ODER-Logikver­ knüpfung bit-weise auf die zu verschlüsselnden Daten angewendet. Das Anfangszahlensignal wird progressiv unter Rückkopplung mit dem Verschlüsselungscode geändert, um die unbefugte Ent­ schlüsselung der verschlüsselten Daten zu erschweren. Durch die bit-weise Exklusiv-ODER-Logikverknüpfung des Verschlüsselungs­ codes mit den zu verschlüsselnden digitalen Daten wird die den Daten zugrundeliegende Struktur weitgehend zerstört. Hieraus ergibt sich zwar eine hohe Datensicherheit, die Übertragung der verschlüsselten Daten mit herkömmlichen Datenfernübertragungs­ anlagen ist jedoch nicht mehr ohne weiteres möglich.
Der Erfindung liegt daher die Aufgabe zugrunde, ein Verfahren und eine Datenfernübertragungsanlage der eingangs beschriebenen Art aufzuzeigen, die trotz hoher Datensicherheit die Anwendung herkömmlicher Datenfernübertragungstechnik erlaubt.
Erfindungsgemäß wird dies bei dem Verfahren dadurch erreicht, daß der Verschlüsselungscode eine eineindeutige, injektive Umsetzungsfunktion U(i) ist, die die von 0 bis (m*n - 1) laufenden Positionen i der Bytes innerhalb von n aufeinander abfolgenden Blöcken verändert. Bei dem neuen Verfahren erfolgt die Verschlüsselung der Daten nicht durch eine Veränderung der Daten selbst, vielmehr wird die Abfolge der Bytes, aus denen sich die Daten zusammensetzen, innerhalb der bestehenden Blöcke verändert. Dabei kann die Umsetzungsfunktion U(i) die einzelnen Blöcke jeweils auf sich selbst abbilden (dies entspricht n = 1) oder die Positionen der einzelnen Bytes über eine bestimmte Anzahl von mehreren aufeinander abfolgenden Blöcken miteinander vertauschen. Wenn im folgenden die Formulierung "vertauschen" verwendet wird, so bedeutet dies nicht allein einen einfachen, d. h. einmaligen Platzwechsel zweier Bytes. Die einzelnen Bytes können aufgrund der Umsetzungsfunktion U(i) jede beliebige Reihenfolge innerhalb der m aufeinander abfolgenden Blöcke einnehmen. Durch die Vertauschung der Bytes innerhalb der Blöcke wird zwar eine Verschlüsselung der digitalen Daten erreicht, deren für die Übertragung wichtige Struktur bleibt jedoch voll­ ständig erhalten. Die verschlüsselten Daten können daher problemlos, d. h. ohne besondere Vorkehrungen mit herkömmlichen Datenfernübertragungsanlagen übermittelt werden. Die anschließende Entschlüsselung entspricht der Verschlüsselung und bereitet keinerlei Schwierigkeiten.
Die n*m Bytes der m aufeinander abfolgenden Blöcke können zu jeweils einem Block von N = n*m Bytes umorganisiert werden. Diese Möglichkeit ist praktisch auf solche Fälle beschränkt, in denen m als ganze Potenz von 2 darstellbar ist. Ansonsten erleichtert sie jedoch die Datenhandhabung im Fall m < 1.
Der Aufwand beim Generieren des Verschlüsselungscodes aus dem Codewort kann dadurch reduziert werden, daß die Umsetzungs­ funktion U(i) unter Kombination von 2 eineindeutigen, injektiven Umsetzungsteilfunktionen T₁(k) und T₂(l) generiert wird, von denen mindestens eine ihrerseits aus dem Codewort generiert wird, wobei k von 0 bis (o - 1) und l von 0 bis (p - 1) läuft, wobei o*p = m*n ist und wobei U (k*p + l) = (p*T₁(k) + T₂(l)) ist. Die Argumentbereiche der Umsetzungsteilfunktionen T₁(k) und T₂(l) sind zusammen kleiner, im Einzelfall sogar deutlich kleiner als der Argumentbereich der Umsetzungsfunktion U(i). Dennoch kann U(i) als einfache Kombination der beiden Umsetzungsteil­ funktionen dargestellt werden. Die größte Aufwandsersparnis ergibt sich, wenn die Obergrenzen o und p der Argumentbereiche der Umsetzungsteilfunktionen T₁(k) und T₂(l) etwa gleich groß sind. Dabei können beide Umsetzungsteilfunktionen ihrerseits aus dem Codewort generiert werden. Sofern nur eine Umsetzungsteil­ funktion aus dem Codewort generiert wird, kann die zweite Umsetzungsteilfunktion fest oder auch variabel gewählt werden. Im zweiten Fall dient die variable Umsetzungsteilfunktion als zusätzliches Codewort für die jeweilige Verschlüsselung der Daten.
Eine zusätzliche Verschlüsselungsmöglichkeit ist auch durch die Wahl unterschiedlicher Obergrenzen o und p der Argumentbereiche der Umsetzungsteilfunktionen T₁(k) und T₂(l) gegeben. Wenn die Umsetzungsfunktion U(i) die Bytes innerhalb eines Datenblocks von 512 Bytes vertauscht, so kann die Obergrenze o bzw. p im sinnvollen Rahmen die Werte 8, 16, 32 und 64 annehmen. Jede Obergrenze ergibt dabei einen anderen Verschlüsselungscode. Es versteht sich, daß weder o noch p größer als n*m sein können.
Die Aufspaltung der Umsetzungsfunktion U(i) in weitere Um­ setzungsteilfunktionen ist möglich, jedoch nur bei Blöcken mit größerem Umfang bzw. bei der Vertauschung der Bytes über mehrere Blöcke hinweg sinnvoll. Die oben aufgeführten Regeln für zwei Umsetzungsteilfunktionen gelten für drei oder mehr Umsetzungs­ teilfunktionen entsprechend.
Die Umsetzungsfunktion U(i) bzw. die Umsetzungsteilfunktion T₁(k) bzw. die Umsetzungsteilfunktion T₂(l) kann unter Verwendung einer alle möglichen Zeichen des Codewortes genau einmal enthaltenden Zeichenkette Z gewonnen werden, wobei U(0) bzw. T₁(0) bzw. T₂(0) die Position des ersten Zeichens des Codewortes innerhalb der Zeichenkette modulo m*n bzw. modulo o bzw. p ist, wobei u(1) bzw. T₁(1) bzw. T₂(1) die Position des zweiten Zeichens des Codewortes innerhalb der Zeichenkette Z modulo m*n bzw. modulo o bzw. modulo p ist, sofern diese Werte noch nicht belegt sind, anderenfalls wird zu dem jeweiligen Wert so oft ein m*n bzw. o bzw. p nicht teilender Zuschlag j (Relativprimzahl) hinzu­ addiert, bis ein freier Wert erreicht ist, und wobei die weiteren Werte von U(i) bzw. T₁(k) bzw. T₂(l) entsprechend, gegebenenfalls unter mehrfacher Wiederholung des Codewortes vergeben werden. Anhand dieser Vorgehensweise wird die Umsetzungsfunktion bzw. die Umsetzungsteilfunktion in einfacher, eindeutiger Weise aus dem Codewort generiert. Wenn die eigentliche Länge des Codewortes dabei nicht ausreicht, wird das Codewort so häufig wiederholt, bis die Umsetzungsfunktion bzw. die Umsetzungsteilfunktion vollständig ist. Bei dem zur Ver­ meidung von Doppeltbelegungen verwendeten Zuschlag j handelt es sich um eine sogenannte Relativprimzahl, die als Linearfaktor in m*n bzw. o bzw. p nicht enthalten ist. Ohne diese Randbedingung wäre die Gefahr von Endlosschleifen gegeben, da die sich nach der Addition von j ergebende Summe selbstverständlich noch einmal modulo m*n bzw. o bzw. p genommen werden muß.
Die Zeichenkette Z unter deren Verwendung die Umsetzungsfunktion bzw. eine oder beide Umsetzungsfunktionen generiert werden, kann als zusätzliches Codewort verwendet werden, d. h. wählbar sein. Da die Zeichenkette Z alle möglichen Zeichen des Codewortes ent­ halten muß, kann durch eine Nichtunterscheidung zwischen Groß- und Kleinschreibung die Länge der Zeichenkette Z reduziert werden. Weitere Reduktionsmöglichkeiten ergeben sich dadurch, daß für das Codewort nur Zahlen und einfache Buchstaben erlaubt sind. Durch diese Maßnahmen wird jedoch gleichzeitig die Ent­ schlüsselbarkeit des aktuellen Verschlüsselungscodes durch Unbe­ fugte erleichtert. Die einfache Verknüpfung des Ver­ schlüsselungscodes mit einem Codewort ist jedoch durch die Umsetzungsteilfunktionen weitgehend aufgehoben.
In Blöcke unterteilte digitale Daten sind üblicherweise noch einmal in sogenannte Records unterteilt. Dies ermöglicht, die unbefugte Entschlüsselung der verschlüsselten Daten dadurch zu erschweren, daß die Daten vor Anwendung des Verschlüsselungs­ codes komprimiert werden, indem die ursprüngliche Recordlänge den komprimierten Daten vorangestellt wird, indem in jeweils einen Block der komprimierten Daten die Inhalte der Records bis zum letzten genutzten Zeichen und in einen benachbarten Block der komprimierten Daten die Anzahlen der lehren Plätze am Ende der Records übertragen werden. Das Komprimieren der Daten reduziert überdies deren Übertragungszeit und damit den Zeit­ raum, in dem ein unbefugter Eingriff auf die Daten erfolgen kann. Beim Komprimieren der Daten werden so viele Records in den beiden ersten Blöcken mit ihren benutzten Inhalten bzw. ihrer Anzahl der Lehrplätze am Ende abgelegt, bis kein weiterer Record mehr vollständig unterzubringen wäre. Mit dem nächsten Record der zu komprimierenden Daten wird ein neues Paar von Blöcken begonnen. Das Ende des genutzten Bereichs der Blöcke mit den komprimierten Daten ist kenntlich zu machen, um ein einfaches Dekomprimieren der Daten nach ihrer Entschlüsselung zu ermöglichen.
Nach den Endmarkierungen können die Blöcke der komprimierten Daten mit besonders häufig vorkommenden Zeichen oder im bis­ herigen Block unterdurchschnittlich selten vorkommenden Zeichen aufgefüllt werden. Dies erschwert die Entschlüsselung der ver­ schlüsselten Daten ohne Kenntnis des Verschlüsselungscodes erheblich.
Eine Datenfernübertragungsanlage der eingangs beschriebenen Art ist erfindungsgemäß dadurch gekennzeichnet, daß die Ver­ schlüsselungs- und Entschlüsselungseinrichtungen jeweils einen Datenumsetzer aufweisen, der die Positionen der m*n Bytes inner­ halb von m aufeinander abfolgenden Blöcken verändert. Die Ver­ änderung der Positionen der einzelnen Bytes erfolgt vorzugsweise nach dem zuvor beschriebenen Verfahren. Es versteht sich, daß die Verschlüsselungs- bzw. Entschlüsselungseinrichtungen nicht permanent aktiviert sein müssen. Es reicht ihre Aktivierbarkeit für den Fall aus, daß sicherheitsrelevante Daten übertragen werden. Mit nicht aktivierten Verschlüsselungs- bzw. Ent­ schlüsselungseinrichtungen ist dann die Kommunikation mit beliebigen weiteren Anschlüssen ohne solche Einrichtungen möglich. Bei der Datenfernübertragungsanlage kann es sich um das Telefonnetz mit angeschlossenen Telefaxgeräten oder Rechneran­ lagen oder auch ein integriertes Rechnernetzwerk handeln.
Der Datenumsetzer kann die n*m Bytes der m aufeinander ab­ folgenden Blöcke zu jeweils einem Block von N = n*m Bytes um­ organisieren.
Jede Sende- und/oder Empfangsvorrichtung kann eine Speicher­ einrichtung für eine die Verschlüsselungs- bzw. die Ent­ schlüsselungseinrichtung in Verbindung mit dem Codewort steuernde Zeichenkette Z aufweisen. Eine weitere Speicherein­ richtung kann für eine Bereichsaufteilung vorgesehen sein, wenn die Steuerung der Verschlüsselungs- bzw. der Entschlüsselungs­ einrichtung durch das Codewort und die Zeichenkette Z über oben beschriebene Umsetzungsteilfunktionen erfolgt. Die zusätzlichen Speichereinrichtungen dienen dann zur Festlegung der Obergrenzen o und p für die Argumentbereiche der Umsetzungsteilfunktionen T₁(k) und T₂(l).
Bei der Datenfernübertragungsanlage kann an jedem der beiden Anschlüsse auch eine Fernsprecheinrichtung (Telefon) vorgesehen sein. In diesem Fall weisen die Fernsprecheinrichtungen jeweils einen Analog-/Digitalwandler für die zu sendenden Daten und einen Digital-/Analogwandler für die empfangenen Daten auf. Analoge Signale, wie sie für die meisten Fernsprecheinrichtungen typisch sind, können nur nach Umwandlung in digitale Daten gemäß dem neuen Verfahren verschlüsselt werden. Die Umwandlung eines beliebigen analogen Sprachsignals in ein digitales Signal und zurück stellt jedoch kein Problem dar. Personenabhängige Nuancen des Klangbildes können bereits bei 256 Digitalisierungsstufen ausreichend genau erfaßt werden. Hiervon ausgehend reichen zwei parallel geschaltete Fernsprechleitungen aus, um unter Aus­ nutzung der normalerweise möglichen Baud-Rate ein ver­ schlüsseltes Telefongespräch zu führen.
Die Erfindung wird im folgenden anhand von Ausführungsbeispielen näher erläutert und beschrieben. Es zeigt:
Fig. 1 die Verteilung von nicht komprimierten und komprimierten digitalen Daten in Blöcken,
Fig. 2 die Verschlüsselung der digitalen Daten gemäß Fig. 1 und
Fig. 3 eine Datenfernübertragungsanlage, bei der die zu über­ tragenden Daten gemäß Fig. 2 verschlüsselt werden.
In Fig. 1a ist die Struktur herkömmlicher digitaler Daten dargestellt. Die digitalen Daten sind in Blöcke 1 mit einem Umfang von jeweils n Bytes unterteilt, wobei n typischerweise gleich 512 ist. Jeder Block ist seinerseits in eine Mehrzahl von Records 2 unterteilt. Dies ist schematisch beim rechten Block 1 wiedergegeben. Jeder Record 2, der hier als Zeile des Blocks 1 dargestellt ist endet, mit einer wechselnden Anzahl von freien Plätzen. Die freien Plätze schließen sich an den letzten Platz 3 des jeweiligen Records 2 an.
Vor der eigentlichen Verschlüsselung werden die digitalen Daten in Fig. 1a komprimiert, woraus sich eine Struktur gemäß Fig. 1b ergibt. Hier sind die Daten wieder in Blöcke 1 unterteilt. Dieselbe Datenmenge befindet sich jedoch in einer geringeren Anzahl von Blöcken 1. Dabei sind jeweils zwei Blöcke einander zugeordnet. In dem ersten der Blöcke ist die Recordlänge 4, auf der die Komprimierung der Daten beruht, abgelegt. An die Recordlänge 4 schließen sich die Positionen 5 der letzten belegten Plätze 3 der Records 2 gemäß Fig. 1a an. In dem zweiten Block 1 sind die benutzten Bereiche der Records 2 direkt hintereinander abgelegt. Die dabei verbleibenden ungenutzten Bereiche 6 der Blöcke 1 sind im Anschluß an eine Endmarkierung 7, die den davorliegenden benutzten Bereich abschließt, mit beliebigen Füllzeichen aufgefüllt. Diese Füllzeichen erschweren die unbefugte Entschlüsselung der anschließend verschlüsselten digitalen Daten.
Die Verschlüsselung erfolgt nach dem in Fig. 2 schematisch dargestellten Verfahren. Aus einer Zeichenkette Z und einem Codewort C werden zunächst zwei Teilumsetzungsfunktionen T₁ und T₂ generiert. Die Teilumsetzungsfunktionen T₁ und T₂ werden zu einer Umsetzungsfunktion U kombiniert. Die Umsetzungsfunktion U wird in einem Datenumsetzer 8 auf die zuvor in einem Komprimierer 9 komprimierten Daten angewendet. Dabei wird die Abfolge der einzelnen Bytes innerhalb der Blöcke verändert.
Obergrenzen o und p der Argumentbereiche der Teilumsetzungs­ funktionen T₁ und T₂ sind so gewählt, daß o*p die Obergrenze des gewünschten Argumentbereichs der Umsetzungsfunktion U ist. Die Obergrenze des Argumentbereichs der Umsetzungsfunktion U wird dadurch festgelegt wie groß der Umfang n in Bytes der Blöcke 1 ist und über welche Anzahl m von Blöcken 1 die Position der Bytes innerhalb der Blöcke vertauscht werden soll. Im folgenden wird der Fall n gleich 512 und m gleich 1 beschrieben. In Abhängigkeit davon sind verschiedene Werte von o und p denkbar, die sich jeweils in anderen Umsetzungsfunktionen U nieder­ schlagen. Hier wird der Fall o gleich 16 und p gleich 32 behandelt. Als Zeichenkette Z wird auf den ASC II-Code zurück­ gegriffen. Es kann jedoch jede beliebige Zeichenkette Verwendung finden, die jedes in dem Codewort C vorkommende Zeichen genau einmal enthält. Das im folgenden verwendete Codewort C lautet:
L 4 i 1 s 9 z 3 i 2 e 1 w i 1 c 1 z
Aus der Zeichenkette Z und dem Codewort C werden in einem Funktionsgenerator 10 die Umsetzungsteilfunktionen T₁ und T₂ generiert. Die Vorgehensweise ist für beide Umsetzungsteil­ funktionen dieselbe. Nachstehend wird die Generierung der Um­ setzungsteilfunktion T₁ beschrieben. Hieraus ergibt sich die Generierung der Umsetzungsteilfunktion T₂, indem statt der Ober­ grenze o die Obergrenze p gesetzt wird. Für T₁(0) wird die Position des ersten Zeichens "L" des Codewortes C innerhalb der Zeichenkette Z modulo o, d. h. modulo 16, vergeben. Da "L" den ASC II-Code 076 aufweist, entspricht dies dem Wert 12. Die ASC II-Codes der Zeichen "4", "i", "1" und "s" sind 052, 105, 049 und 115. So ergibt sich die T₁(1) zu 4, T₁(2) zu 9, T₁(3) zu 1 und T₁(4) zu 3. Bei T₁(5) tritt insofern eine kleine Schwierig­ keit auf, als daß der ASC II-Code von 9 057 ist, woraus eigent­ lich der Wert 9 für T₁(5) folgen würde. Der Wert 9 ist jedoch bereits durch T₁(2) belegt. Um dem abzuhelfen wird ein Zuschlag j zu dem zunächst für Ti(5) ermittelten Wert hinzuaddiert. Dieser Zuschlag muß zur Vermeidung von Endlosschleifen eine Zahl sein, die kein Linearfaktor von o ist und sich auch nicht durch Linearfaktoren von o darstellen läßt. Im einfachsten Fall und so auch hier wird j gleich 1 gesetzt. Hieraus ergibt sich für T₁(5) der Wert 10. Ein entsprechender Vorgang wiederholt sich bei T₁(6), da dem Zeichen "z" der ASC II-Code 122 zugeordnet ist, aus dem für T₁(6) zunächst der Wert 10 folgen würde. Nach einmaliger Addition von 1 ergibt sich der tatsächliche Wert 11. Die Addition des Zuschlags j kann auch mehrfach erforderlich sein. Dies ist beispielsweise bei T₁(7) der Fall. Der ASC II-Code von "3" ist 051. Entsprechend wäre der Wert von T₁(7) zunächst 3. Dieser Wert ist jedoch bereits von T₁(4) belegt. Darüberhinaus ist auch der nächste Wert 4 bereits von T₁(1) belegt. Letztlich ergibt sich für T₁(7) der Wert 5.
Die Ermittlung von T₁(k) ist noch einmal anhand der nachstehenden Tabelle nachzuvollziehen. Dort ist in der ersten Spalte jeder Zeile das Argument k angegeben. Anschließend ist das ent­ sprechende Zeichen des Codewortes und dessen ASC II-Code aufge­ führt. Am Ende jeder Zeile ist die Berechnung des Wertes T₁(k) wiedergegeben. Die Berechnung geht jeweils von dem ASC II-Code modulo o (gleich 16) aus:
Tabelle 1
T₂(l) wird auf die gleiche Weise ermittelt, wobei entweder mit dem nächsten Buchstaben des Codewortes weitergemacht oder mit dem ersten Buchstaben des Codewortes von neuem begonnen wird. Im letzteren Fall ergibt sich T₂(l) gemäß der nachfolgenden Tabelle 2:
Tabelle 2
Für die Bestimmung von T₂(l) ist das Codewort selbst zu kurz. Es wird daher durch eine Wiederholung seiner Zeichenfolge ver­ längert. Aus den Funktionen T₁(k) und T₂(l) wird in einem Kombinierer 11 die Umsetzungsfunktion U ermittelt. Dabei gilt U(kp + l = (p*T₁(k) + T₂(l)). Beispielsweise ist U(253)=U(7*32 + 29). Dies entspricht nach der obigen Vorschrift 32*T₁(7) + T₂(29). Dies ist gleich 103. Die Umsetzungsfunktion U steuert den Datenumsetzer 8, der die zuvor in dem Komprimierer 9 gemäß Fig. 1 komprimierten Daten innerhalb von m aufeinanderfolgenden Blöcken, d. h. im vorliegenden Fall innerhalb eines Blocks 1 vertauscht. Auf diese Weise erfolgt die gewünschte Ver­ schlüsselung der digitalen Daten. Die Entschlüsselung der digitalen Daten erfolgt in einem weiteren Datenumsetzer, der U-1, d. h. die Umkehrfunktion von U gesteuert wird. U-1 ergibt sich automatisch bei Kenntnis der Umsetzfunktion U.
Die in Fig. 3 schematisch wiedergegebene Datenfernüber­ tragungsanlage weist zwei Anschlüsse 12 auf. An jedem Anschluß 12 ist eine Sende- und Empfangsvorrichtung 13 vorgesehen. Die Sende- und Empfangsvorrichtungen 13 weisen jeweils eine Ver­ schlüsselungseinrichtung 14 zum Verschlüsseln der zu sendenden Daten auf, die gleichzeitig als Entschlüsselungseinrichtung für die empfangenen, verschlüsselten Daten dient. Die Sende- und Empfangsvorrichtungen 13 sind zur Übertragung von digitalen Daten vorgesehen, die gemäß Fig. 1 in Blöcke unterteilt sind. Für die eigentliche Verschlüsselung bzw. Entschlüsselung der Daten weisen die Verschlüsselungs-/Entschlüsselungseinrichtungen 14 jeweils einen Datenumsetzer 8 auf. Dem Datenumsetzer 8 sind jeweils verschiedene Speicher 15 bis 17 zugeordnet. Der Speicher 15 dient zum Ablegen des Codewortes c, der Speicher 16 zum Ablegen der Zeichenkette z und im Speicher 17 wird die Bereichs­ aufteilung zwischen den Umsetzungsteilfunktionen T₁(k) und T₂(l) gemäß Fig. 2 vorgenommen. Den Speichern 15 bis 17 ist eine gemeinsame hier nicht gesondert dargestellte Eingabeeinrichtung zugeordnet. Hinsichtlich der konkreten Funktion des Datenum­ setzers 8 wird auf die Beschreibung von Fig. 2 bezug genommen. Die Verschlüsselungs-/Entschlüsselungseinrichtungen 14 sind mit Hilfe von Schaltern 18 für den Fall überbrückbar, daß eine Verschlüsselung der zu übertragenden Daten nicht erfolgen soll. An jedem Anschluß 12 ist als eigentliche Datenquelle eine Fern­ sprecheinrichtung 19 vorgesehen. Die Fernsprecheinrichtungen weisen jeweils einen Datenwandler 20 zur Analog-/Digitalwandlung eines ausgehenden Signals und zur Digital-/Analogwandlung eines eingehenden Signals auf. Für den Fall, daß die Verschlüsselungs- /Entschlüsselungseinrichtungen 14 mit den Schaltern 18 über­ brückt werden, können die Datenwandler 20 auch deaktiviert werden. In diesem Fall werden jedoch analoge Daten zwischen den Anschlüssen 12 übertragen. Liegt der Datenfernübertragungsanlage gemäß Fig. 3 das herkömmliche, an sich analoge Fernsprechnetz zugrunde, so müssen zwischen den Anschlüssen 12 zwei parallel geschaltete Leitungen vorhanden sein. Nur mit zwei Leitungen kann ein zur Sprachwiedergabe ausreichender digitaler Datenstrom sicher übertragen werden. Bei zwei parallelen Fernsprech­ leitungen ist eine Digitalisierung des Analogsignals in den Datenwandlern 20 in 256 Graustufen problemlos möglich. Damit sind individuelle Sprachklangbilder ohne weiteres erkennbar. Die Verschlüsselungs- und Entschlüsselungseinrichtungen 14 führen nur aufgrund der Verschlüsselung und Entschlüsselung nur zu einer kaum merkbaren Verzögerung bei der Datenübertragung zwischen den beiden Fernsprecheinrichtungen 19. So ist das abhörsichere Führen verschlüsselter Telefongespräche problemlos und ohne Komforteinbußen realisierbar.
Bezugszeichenliste
1 = Block
2 = Record
3 = letzter belegter Platz
4 = Recordlänge
5 = Position
6 = ungenutzter Bereich
7 = Endmarkierung
8 = Datenumsetzer
9 = Komprimierer
10 = Funktionsgenerator
11 = Kombinierer
12 = Anschluß
13 = Sende- und Empfangsvorrichtung
14 = Verschlüsselungs-/Entschlüsselungseinrichtung
15 = Speicher
16 = Speicher
17 = Speicher
18 = Schalter
19 = Fernsprecheinrichtung
20 = Datenwandler

Claims (12)

1. Verfahren zum Verschlüsseln von in Blöcke mit jeweils n Bytes Umfang unterteilten, digitalen Daten, wobei aus einem wählbaren Codewort ein Verschlüsselungscode generiert wird, der auf die Daten angewendet wird, dadurch gekennzeichnet, daß der Verschlüsselungscode eine eineindeutige, injektive Umsetzungs­ funktion U(i) ist, die die von 0 bis (n*m - 1) laufenden Positionen i der n*m Bytes innerhalb von m aufeinander abfolgenden Blöcken verändert.
2. Verfahren nach Anspruch 1, dadurch gekennzeichnet, daß die n*m Bytes der m aufeinander abfolgenden Blöcke zu jeweils einem Block von N = n*m Bytes umorganisiert werden.
3. Verfahren nach Anspruch 1 oder 2, dadurch gekennzeichnet, daß die Umsetzungsfunktion U(i) unter Kombination von zwei einein­ deutigen, injektiven Umsetzungsteilfunktionen T₁(k) und T₂(l) generiert wird, von denen mindestens eine ihrerseits aus dem Codewort generiert wird, wobei k von 0 bis (o - 1) und l von 0 bis (p - 1) läuft, wobei o*p = n*m ist und wobei U(k*p + l) = (p*T₁(k) + T₂(l)) ist.
4. Verfahren nach Anspruch 3, dadurch gekennzeichnet, daß die Obergrenzen o und p der Argumentbereiche der Umsetzungsteil­ funktionen T₁(k) und T₂(l) wählbar sind.
5. Verfahren nach einem der Ansprüche 1 bis 4, dadurch gekennzeichnet, daß die Umsetzungsfunktion U(i) bzw. die Umsetzungsteilfunktion T₁(k) bzw. die Umsetzungsteilfunktion T₂(l) unter Verwendung einer alle möglichen Zeichen des Code­ wortes genau einmal enthaltenen Zeichenkette Z gewonnen wird, wobei U(0) bzw. T₁(0) bzw. T₂(0) die Position des ersten Zeichens des Codewortes innerhalb der Zeichenkette Z modulo n*m bzw. modulo o bzw. modulo p ist, wobei U(1) bzw. T₁(1) bzw. T₂(1) die Position des zweiten Zeichens des Codewortes innerhalb der Zeichenkette Z modulo n*m bzw. modulo o bzw. modulo p ist, sofern dieser Wert noch nicht belegt ist, anderenfalls wird zu dem jeweiligen Wert so oft ein n*m bzw. o bzw. p nichtteilender Zuschlag j (Relativprimzahl) hinzuaddiert, bis ein freier Wert erreicht ist, und wobei die weiteren Werte von U(i) bzw. T₁(k) bzw. T₂(l) entsprechend, gegebenenfalls unter mehrfacher Wieder­ holung des Codewortes vergeben werden.
6. Verfahren nach Anspruch 5, dadurch gekennzeichnet, daß die Zeichenkette Z wählbar ist.
7. Verfahren nach einem der Ansprüche 1 bis 6, wobei die zu verschlüsselnden Daten innerhalb der Blöcke in Records unter­ teilt sind, dadurch gekennzeichnet, daß die Daten vor Anwendung des Verschlüsselungscodes komprimiert werden, wobei die ursprüngliche Recordlänge (4) den komprimierten Daten vorange­ stellt wird, wobei in jeweils einem Block (1) der komprimierten Daten die Inhalte der Records (2) bis zum letzten genutzten Zeichen (3) und in einen benachbarten Block (1) der komprimierten Daten die Anzahlen der leeren Plätze am Ende der Records (2) übertragen werden.
8. Verfahren nach Anspruch 7, dadurch gekennzeichnet, daß die Blöcke (1) der komprimierten Daten mit besonders häufig vor­ kommenden Zeichen oder im bisherigen Block unterdurchschnittlich selten vorkommenden Zeichen aufgefüllt werden.
9. Datenfernübertragungsanlage mit mindestens zwei Anschlüssen, wobei an jedem Anschluß eine Sende- und/oder Empfangsvor­ richtung für in Blöcke mit jeweils n Bytes Umfang unterteilte, digitale Daten vorgesehen ist und wobei jede Sende-/oder Empfangsvorrichtung eine Verschlüsselungseinrichtung zum Verschlüsseln der zu sendenden Daten und/oder eine Ent­ schlüsselungseinrichtung zum Entschlüsseln der empfangenen verschlüsselten Daten und eine Eingabe- und Speichereinrichtung für ein die Verschlüsselungs- bzw. die Entschlüsselungsein­ richtung steuerndes Codewort aufweist, dadurch gekennzeichnet, daß die Verschlüsselungs- und Entschlüsselungseinrichtungen (14) jeweils einen Datenumsetzer (8) aufweisen, der die Positionen der n*m Bytes innerhalb von m aufeinander abfolgenden Blöcken verändert.
10. Datenfernübertragungsanlage nach Anspruch 8, dadurch gekennzeichnet, daß der Datenumsetzer (8) die n*m Bytes der m aufeinander abfolgenden Blöcke zu jeweils einem Block von N = n*m Bytes umorganisiert.
11. Datenfernübertragungsanlage nach Anspruch 9 oder 10, dadurch gekennzeichnet, daß jede Sende- und/oder Empfangsvorrichtung (13) eine Eingabe- und Speichereinrichtung (16) für eine die Verschlüsselungs- bzw. die Entschlüsselungseinrichtung (14) in Verbindung mit dem Codewort steuernde Zeichenkette Z aufweist.
12. Datenfernübertragungsanlage nach Anspruch 9, 10 oder 11, dadurch gekennzeichnet, daß an jedem Anschluß eine Fernsprech­ einrichtung (19) (Telefon) vorgesehen ist, wobei die Fernsprech­ einrichtungen (19) jeweils einen Analog-Digitalwandler (20) für die zu sendenden Daten und einen Digital-Analogwandler (20) für die empfangenen Daten aufweisen.
DE19934341045 1993-12-02 1993-12-02 Verfahren zum Verschlüsseln von in Blöcke unterteilten, digitalen Daten und Datenfernübertragungsanlage Withdrawn DE4341045A1 (de)

Priority Applications (1)

Application Number Priority Date Filing Date Title
DE19934341045 DE4341045A1 (de) 1993-12-02 1993-12-02 Verfahren zum Verschlüsseln von in Blöcke unterteilten, digitalen Daten und Datenfernübertragungsanlage

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
DE19934341045 DE4341045A1 (de) 1993-12-02 1993-12-02 Verfahren zum Verschlüsseln von in Blöcke unterteilten, digitalen Daten und Datenfernübertragungsanlage

Publications (1)

Publication Number Publication Date
DE4341045A1 true DE4341045A1 (de) 1995-06-08

Family

ID=6503979

Family Applications (1)

Application Number Title Priority Date Filing Date
DE19934341045 Withdrawn DE4341045A1 (de) 1993-12-02 1993-12-02 Verfahren zum Verschlüsseln von in Blöcke unterteilten, digitalen Daten und Datenfernübertragungsanlage

Country Status (1)

Country Link
DE (1) DE4341045A1 (de)

Cited By (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
WO2000001111A1 (en) * 1998-06-30 2000-01-06 Adobe Systems Incorporated Secure data encoder and decoder
EP0779727A3 (de) * 1995-12-08 2003-09-17 Nippon Telegraph And Telephone Corporation Verfahren und Vorrichtung zur Kommunikation mit Paketverschlüsselung
EP1471486A2 (de) * 2003-01-31 2004-10-27 Khalil Jiraki Zeitbasierter Verschlüsselungsalgorithmus

Citations (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US4275265A (en) * 1978-10-02 1981-06-23 Wisconsin Alumni Research Foundation Complete substitution permutation enciphering and deciphering circuit
EP0399487A2 (de) * 1989-05-24 1990-11-28 Mitsubishi Denki Kabushiki Kaisha Einrichtung zur Transformationskodierung
SU1163744A1 (ru) * 1983-04-22 1992-04-30 Kazakov N M Устройство дл кодировани и декодировани сообщений

Patent Citations (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US4275265A (en) * 1978-10-02 1981-06-23 Wisconsin Alumni Research Foundation Complete substitution permutation enciphering and deciphering circuit
SU1163744A1 (ru) * 1983-04-22 1992-04-30 Kazakov N M Устройство дл кодировани и декодировани сообщений
EP0399487A2 (de) * 1989-05-24 1990-11-28 Mitsubishi Denki Kabushiki Kaisha Einrichtung zur Transformationskodierung

Non-Patent Citations (1)

* Cited by examiner, † Cited by third party
Title
LEE, Lin-shan: A Speech Security System Not Re- quiring Synchronization. In: IEEE Communications Magazine, July 1985, Vol.23, No.7, S.42-55 *

Cited By (5)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
EP0779727A3 (de) * 1995-12-08 2003-09-17 Nippon Telegraph And Telephone Corporation Verfahren und Vorrichtung zur Kommunikation mit Paketverschlüsselung
WO2000001111A1 (en) * 1998-06-30 2000-01-06 Adobe Systems Incorporated Secure data encoder and decoder
US6275587B1 (en) 1998-06-30 2001-08-14 Adobe Systems Incorporated Secure data encoder and decoder
EP1471486A2 (de) * 2003-01-31 2004-10-27 Khalil Jiraki Zeitbasierter Verschlüsselungsalgorithmus
EP1471486A3 (de) * 2003-01-31 2006-02-08 Khalil Jiraki Zeitbasierter Verschlüsselungsalgorithmus

Similar Documents

Publication Publication Date Title
DE2231835C3 (de) Verfahren zur in mehreren Stufen erfolgenden Ver- und Entschlüsselung binärer Daten
EP0032107B1 (de) Chiffrier/Dechiffriersystem
DE69929251T2 (de) Verschlüsselungssystem mit einem schlüssel veränderlicher länge
DE69534012T2 (de) Authentifizierungsverfahren für mobile Kommunikation
DE2231849B2 (de) Verschlüsselungsverfahren zur Erhöhung der Entschlüsselungsfestigkeit von blockweise zu verschlüsselnden Binärdaten und Anordnung zur Durchführung des Verfahrens
DE4423209C2 (de) Verfahren zum Durchführen einer Punkt-zu-Punkt-Kommunikation bei abhörsicheren Kommunikationssystemen
CH656761A5 (de) Datenuebertragungsanlage, die eine verschluesselungs/entschluesselungs-vorrichtung an jedem ende wenigstens einer datenverbindung aufweist.
DE2046630B2 (de) Verfahren zur verschlüsselten Nachrichtenübermittlung durch zeitliche Vertauschung von Informationselementen
DE4325773A1 (de) Verfahren zum Herstellen einer Telefonverbindung
DE1512273A1 (de) Chiffriereinheit fuer eine kryptographische Fernschreibanlage
DE2942067A1 (de) Digitale konferenzschaltung
DE2828012A1 (de) Einrichtung zur uebertragung eines faksimile-signals mit redundanzverringerung
DE69729297T2 (de) Verschlüsselungsvorrichtung für binärkodierte nachrichten
DE2805294A1 (de) Kodierende (daten-)uebertragungsanlage fuer faksimilesignale
DE1054491B (de) Anordnung zur Erzeugung von n-stelligen, binaeren Schluesselzahlen zur Verschluesselung von binaeren Signalen
DE2403651C3 (de) Schaltungsanordnung für die nichtlineare Umwandlung von digitalen Binärziffern in digitale Signale
DE2154019C3 (de) Zufallskodegenerator
DE2723804A1 (de) Verfahren und vorrichtung zum verschluesseln bzw. entschluesseln von klanginformation
DE60004409T2 (de) Schaltung und Verfahren zur Zufallszahlerzeugung
EP0048903A1 (de) Sicherheitssystem zur Verhinderung unerlaubter Manipulationen bei der elektronischen Textübertragung in Nachrichtennetzen
DE4341045A1 (de) Verfahren zum Verschlüsseln von in Blöcke unterteilten, digitalen Daten und Datenfernübertragungsanlage
EP0307627A1 (de) Verfahren zur Erzeugung und Verteilung von Geheimschlüsseln
DE3631797A1 (de) Verfahren und vorrichtung zur verschluesselung von nutzdaten
DE2943726C2 (de) Verfahren und Einrichtung zur Ver- und Entschlüsselung von Daten
DE3831215A1 (de) Netzuebergangseinrichtung und fernmeldeendgeraet

Legal Events

Date Code Title Description
OM8 Search report available as to paragraph 43 lit. 1 sentence 1 patent law
8139 Disposal/non-payment of the annual fee