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übertragungsanlageInfo
- 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
Links
Classifications
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L9/00—Cryptographic mechanisms or cryptographic arrangements for secret or secure communications; Network security protocols
- H04L9/34—Bits, or blocks of bits, of the telegraphic message being interchanged in time
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L9/00—Cryptographic mechanisms or cryptographic arrangements for secret or secure communications; Network security protocols
- H04L9/06—Cryptographic 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/0618—Block 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:
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:
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
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.
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)
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)
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 | Устройство дл кодировани и декодировани сообщений |
-
1993
- 1993-12-02 DE DE19934341045 patent/DE4341045A1/de not_active Withdrawn
Patent Citations (3)
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)
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)
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 |