PatentDe  


Dokumentenidentifikation EP1388230 24.03.2005
EP-Veröffentlichungsnummer 0001388230
Titel VERFAHREN UND VORRICHTUNG ZUM VERSCHLÜSSELN EINES DISKRETEN SIGNALS SOWIE VERFAHREN UND VORRICHTUNG ZUR ENTSCHLÜSSELUNG
Anmelder Fraunhofer-Gesellschaft zur Förderung der angewandten Forschung e.V., 80686 München, DE
Erfinder DISCH, Sascha, 91052 Erlangen, DE;
HILPERT, Johannes, 90411 Nürnberg, DE;
LUTZKY, Manfred, 90427 Nürnberg, DE;
GAYER, Marc, 91054 Erlangen, DE;
BARTHOLOMÄUS, Reinfried, 91054 Erlangen, DE
DE-Aktenzeichen 50202283
Vertragsstaaten AT, CH, DE, FR, GB, LI
Sprache des Dokument DE
EP-Anmeldetag 02.08.2002
EP-Aktenzeichen 027511724
WO-Anmeldetag 02.08.2002
PCT-Aktenzeichen PCT/EP02/08661
WO-Veröffentlichungsnummer 0003015328
WO-Veröffentlichungsdatum 20.02.2003
EP-Offenlegungsdatum 11.02.2004
EP date of grant 16.02.2005
Veröffentlichungstag im Patentblatt 24.03.2005
IPC-Hauptklasse H04K 1/06

Beschreibung[de]

Die vorliegende Erfindung bezieht sich auf die Verschlüsselung diskreter Signale, wie z.B. auf die Verschlüsselung von Sprachinformationen, bzw. die entsprechende Entschlüsselung.

Bei der Nutzung, Übertragung, Verwaltung und Archivierung von Audiomaterial ist es häufig wünschenswert, die entsprechenden Inhalte vor einem unbefugten Zugriff zu schützen. Besonders im Bereich der Sprachaufzeichnung besteht die Notwendigkeit, daß ein unbefugtes Abspielen oder heimliches Abhören bei der Übertragung verhindert werden kann. Gleichzeitig soll jedoch das verwendete Datenformat weiterhin gültig bleiben, damit die zum Abspielen verwendeten Geräte auch bei einem unberechtigten Zugriff nicht in Fehlerzustände übergehen. Dies gilt insbesondere für komprimierende Datenformate wie z.B. die Datenformate gemäß den Standards MPEG2 Layer 3 und MPEG2/4 AAC (AAC = Advanced Audio Coding = fortgeschrittene Audiokodierung) .

Bei den Audioanwendungen kommt hinzu, daß die verschlüsselten Signale beim Abhören ohne Entschlüsselung der Abhöranlage keinen Schaden zufügen dürfen. Die verschlüsselten Signale sollten deshalb derart verschlüsselt sein, daß sie bei Abspielen ohne Entschlüsselung kein Knacksen, Krachen oder andere extreme Dynamiksprünge erzeugen. Während es bei der Verschlüsselung von Musikdaten häufig genügt, die Qualität der unauthorisierten Wiedergabe stark einzuschränken, wird bei Sprachinhalten insbesondere gefordert, daß bei unauthorisierter Nutzung die Wiedergabequalität der verschlüsselten Daten eine Verständlichkeit der Sprachinformationen, die beispielsweise Interviews, Reportagen usw. sein können, nicht mehr gestatten soll.

In der Patentanmeldung W099/51279 mit dem Titel "Vorrichtung und Verfahren zum Erzeugen eines verschlüsselten Audiound/oder Videostroms", deren Anmelderin ebenfalls die Fraunhofer-Gesellschaft ist, wird ein Verfahren zur Verwürfelung von kodierten Audiodaten beschrieben, das auf Vertauschungen von Linien im Frequenzbereich basiert. Mit diesem Verfahren gelingt es, Musiksignale weitgehend unkenntlich zu machen. Bei Sprachinhalten jedoch ist die genaue spektrale Zusammensetzung des Signals für die Verständlichkeit von geringem Belang, so daß, obwohl die Stimme eines Sprechers stark verfremdet wird, der Inhalt des Gesprochenen bzw. die Sprachinformationen verständlich bleiben.

Das Dokument Franaszek: "Digital Speech Scrambler", IBM Technical Disclosure Bulletin, Bd. 23, Nr. 1, S. 403-408, beschreibt eine digitalen Sprachverwürfler. Um eine Sprachverwürflung zu erzielen, werden die Abtastwerte eines digital abgetasteten Sprachsignals in Perioden pi eingeteilt, jeweils zwei zufällig ausgewählte Perioden paarweise miteinander linear kombiniert durch Subtraktion und Addition und die so kombinierten Periodenpaare in permutierter Reihenfolge übertragen bzw. ausgegeben.

Es findet bei dem digitalen Sprachverwürfler von Dokument D1 keine Transformation vom Zeitbereich in den Frequenzbereich und umgekehrt statt. Ferner sind die Blockgrößen bezüglich der Verwürfelung und der Kodierung der Zeitblöcke im Sinne der Erfindung bei dem Verwürfler von besagtem Dokument unterschiedlich. So werden immer Paare von Zeitperioden verlustfrei in zwei linear kombinierte Perioden kodiert (S. 405, Z. 19-23). Die Verwürfelung findet aber nicht in Einheiten von Paaren von Perioden sondern in Einheiten von einzelnen Perioden statt (S. 405, Z. 15 sowie S. 406, Z. 11 ff).

Das Dokument Goldburg: "A secure analog speech scrambler using the discrete cosine transform", Advances in Cryptology - Asiascrypt, proccedings of the international conference on the theory and application of cryptology, Berlin, Springer, Konferenz-Band 1, S. 299-311, bezieht sich auf die Sprachverschlüsselung mit Hilfe der Verwürfelung der DCT-Koeffizienten, die aus einem Vektor von Audio-Abtastwerten gewonnen wurden (vergleiche Seite 301). Das Dokument beschreibt folglich nicht die Änderung einer vorbestimmten Reihenfolge von kodierten Datenblöcken gemäß einer vorbestimmten Vertauschungsvorschrift sondern vielmehr die Änderung der vorbestimmten Reihenfolge der Transformations-Koeffizienten innerhalb eines kodierten Datenblocks.

Das Dokument EP 0 920 209 A1 bezieht sich auf ein Verfahren und eine Vorrichtung zur Verwürfelung von digitalen Videodaten. Nach besagtem Dokument werden die Wechselanteil-Komponenten AC1 aus einem Strom F1 extrahiert, der aus aufeinanderfolgenden Paketen von Videodaten besteht, die gemäß dem MPEG2-Video-Standard kodiert sind, wobei diese DCT-Koeffizienten daraufhin permutiert werden.

Die Aufgabe der vorliegenden Erfindung besteht darin, ein Verfahren und eine Vorrichtung zum Verschlüsseln eines diskreten Signals sowie ein Verfahren und eine Vorrichtung zur entsprechenden Entschlüsselung zu schaffen, so daß die Verschlüsselung einerseits möglichst sicher und andererseits keine Fehler bei einer unauthorisierten Verarbeitung hervorruft und mit bisherigen Kodierungen verträglich ist.

Diese Aufgabe wird durch ein Verfahren gemäß Anspruch 1 oder 8 und eine Vorrichtung gemäß Anspruch 2 oder 9 gelöst.

Der vorliegenden Erfindung liegt die Erkenntnis zugrunde, daß eine sehr hohe Sicherheit der Verschlüsselung durch Einführung einer zeitlichen Diskontinuität erzielt werden kann, und daß das Auftreten von Fehlern bei einer unauthorisierten Verarbeitung derartig verschlüsselter Signale dadurch verhindert und die Verträglichkeit mit Standardkodierungen dadurch gewährleistet werden kann, daß die Änderung der zeitlichen Reihenfolge nach einer Kodierung des diskreten Signals , d.h. bezüglich kodierter Datenblöcke, in die ein Kodierer das diskrete Signal kodiert, durchgeführt wird. Auf diese Weise wird einerseits verhindert, daß ein Dekodierer, der das verschlüsselte Signal empfängt, nicht in undefinierte Zustände gelangt, da bei der Verschlüsselung die zeitliche Diskontinuität in Einheiten von kodierten Datenblöcken erzeugt wird. Andererseits wird verhindert, daß beim Zusammenspiel mit einem beliebigen Kodierverfahren, wie z.B. bei einem komprimierenden Kodierverfahren, die demselben zugrunde liegenden zeitlichen Annahmen, wie z.B. die zeitliche und spektrale Verdeckung in dem Fall von psychoakustischen Audioverfahren, weiterhin gültig bleiben und somit die erfindungsgemäße Verschlüsselung mit solchen Kodierungen verträglich und die Implementierung der erfindungsgemäßen Verschlüsselung vereinfacht ist.

Bei einer Verschlüsselung gemäß der vorliegenden Erfindung werden die aufeinanderfolgenden Abtastwerte eines diskreten Signals in aufeinanderfolgende Zeitblöcke eingeteilt, die daraufhin in kodierte Datenblöcke mit einer vorbestimmten Reihenfolge kodiert werden. Anschließend wird die vorbestimmte Reihenfolge der kodierten Datenblöcke gemäß einer vorbestimmten Vertauschungsvorschrift geändert.

Bei der Entschlüsselung gemäß der vorliegenden Erfindung wird die Reihenfolge der kodierten Datenblöcke eines verschlüsselten Signals, das einem diskreten Signal, das aus aufeinanderfolgenden Abtastwerten besteht, in verschlüsselter Form entspricht, gemäß einer vorbestimmten Vertauschungsvorschrift bzw. einer inversen Vertauschungsvorschrift geändert, woraufhin die kodierten Datenblöcke in geänderter Reihenfolge in aufeinanderfolgende Zeitblöcke mit einer vorbestimmten Reihenfolge dekodiert werden. Dadurch werden aus den aufeinanderfolgenden Zeitblöcken die aufeinanderfolgenden Abtastwerte des diskreten Signals erzeugt.

Gemäß einem Ausführungsbeispiel der vorliegenden Erfindung wird die Änderung der vorbestimmten Reihenfolge der kodierten Datenblöcke bei der Verschlüsselung durch Permutieren einer vorbestimmten Anzahl von aufeinanderfolgenden Datenblöcken der kodierten Datenblöcke erreicht, wobei hierzu ein Permutationsvektor als Vertauschungsvorschrift erzeugt wird. Die Permutation kann bezüglich aufeinanderfolgender Gruppen von kodierten Datenblöcken mit gleicher Größe bzw. Länge durchgeführt werden. Für jede Permutationsgruppe kann ein anderer Permutationsvektor erzeugt und verwendet werden. Die Erzeugung der Permutationsvektoren findet bei der Dekodierung auf eine vorbestimmte Weise statt, wobei eine korrekte Entschlüsselung dadurch gewährleistet wird, daß bei der Entschlüsselung zur Rückpermutation der Gruppen von kodierten Datenblöcken entsprechende inverse Permutationsvektoren erzeugt und verwendet werden.

Bevorzugte Ausführungsbeispiele der vorliegenden Erfindung werden nachfolgend bezugnehmend auf die beiliegenden Zeichnungen näher erläutert. Es zeigen:

Fig. 1
ein Blockschaltbild einer Verschlüsselungsvorrichtung gemäß einem Ausführungsbeispiel der vorliegenden Erfindung;
Fig. 2
ein Blockschaltbild einer Entschlüsselungsvorrichtung gemäß einem Ausführungsbeispiel der vorliegenden Erfindung;
Fig. 3
eine schematische Skizze, die ein exemplarisches Ausführungsbeispiel einer Verschlüsselung zeigt; und
Fig. 4
eine schematische Skizze, die ein exemplarisches Ausführungsbeispiel einer Entschlüsselung zeigt.

Bevor im folgenden die vorliegende Erfindung anhand der Fig. 1 bis 4 näher erläutert wird, wird darauf hingewiesen, daß, obwohl sich die nachfolgende Beschreibung auf die Verschlüsselung von Audiosignalen bezieht, die vorliegende Erfindung ferner auch auf andere diskrete Signale anwendbar ist, wie z.B. auf die Verschlüsselung von Bild- und Videosignalen.

In Fig. 1 ist eine Verschlüsselungsvorrichtung gemäß einem Ausführungsbeispiel der vorliegenden Erfindung gezeigt, die ein diskretes Zeitsignal bzw. ein Audiosignal in kodierte Datenblöcke in verschlüsselter Form umwandelt. Die Vorrichtung von Fig. 1 umfaßt im wesentlichen einen psychoakustischen Kodierer 10, der das Zeitsignal empfängt und in kodierte Datenblöcke umwandelt bzw. kodiert, und eine Einrichtung 12 zur Änderung der Reihenfolge der kodierten Datenblöcke.

Der psychoakustische Kodierer 10 umfaßt eine Einrichtung 14 zur Einteilung der aufeinanderfolgenden diskreten Abtastwerte, aus denen das Zeitsignal besteht, in Zeitblöcke und eine Einrichtung 16 zur Kodierung der Zeitblöcke in kodierte Datenblöcke.

Die Einrichtung 12 zur Änderung der Reihenfolge umfaßt eine Einrichtung 18 zur Erzeugung eines Permutationsvektors, eine Schreibeinrichtung 20, einen ersten Zwischenspeicher 22, einen zweiten Zwischenspeicher 24 und eine Ausleseeinrichtung 26. Ein Eingang der Schreibeinrichtung 20 ist mit einem Ausgang des psychoakustischen Kodierers 10 bzw. der Einrichtung 16 zur Kodierung verbunden, während zwei Ausgänge derselben mit jeweils einem Eingang des ersten und zweiten Zwischenspeichers 22 und 24 verbunden sind. Ein Ausgang der Einrichtung 18 zur Erzeugung eines Permutationsvektors ist mit einem Eingang der Ausleseeinrichtung 26 verbunden, um einen Permutationsvektor an dieselbe auszugeben, wobei die Ausleseeinrichtung zwei weitere Eingänge aufweist, die mit den Ausgängen der Zwischenspeicher 22 und 24 verbunden sind. Die Ausleseeinrichtung 26 ist an einem Ausgang mit einem Ausgangspuffer 28 verbunden, um an denselben kodierte Datenblöcke in verschlüsselter Form auszugeben.

Nachdem im vorhergehenden der Aufbau der Verschlüsselungsvorrichtung von Fig. 1 beschrieben worden ist, wird nachfolgend die Funktionsweise desselben beschrieben.

Das Zeitsignal ist ein diskretes Audiosignal, das aus aufeinanderfolgenden Abtastwerten besteht. Der psychoakustische Kodierer 10 basiert beispielsweise auf einem Kodierverfahren des AAC-Standards. Die Einrichtung 14 teilt die aufeinanderfolgenden Abtastwerte beispielsweise in Zeitblöcke mit einer Anzahl aufeinanderfolgender Abtastwerte ein, die gleich einer Potenz von 2 ist. Zur Handhabung von Aliasingeffekten kann es vorgesehen sein, eine Einteilung in sich gegenseitig überschneidende Zeitblöcke vorzusehen, so daß jeder Abtastwert zwei Zeitblöcken zugeteilt wird, wie es beispielsweise bei der AAC-Kodierung der Fall ist.

Die Einrichtung 16 zur Kodierung der Zeitblöcke in kodierte Datenblöcke empfängt die Zeitblöcke von der Einrichtung 14 in zeitlicher Reihenfolge und führt daraufhin die Kodierung derselben durch. Die Kodierung eines Zeitblocks kann entweder einzeln bzw. isoliert Zeitblock für Zeitblock oder abhängig von vorhergehenden und nachfolgenden Zeitblöcken durchgeführt werden, um beispielsweise psychoakustische Modelle, wie z.B. die zeitliche und spektrale Verdeckung, zu berücksichtigen. Die Einrichtung 16 zur Kodierung der Zeitblöcke gibt die kodierten Datenblöcke an die Schreibeinrichung 20 in einer vorbestimmten, von dem Kodierverfahren abhängigen Reihenfolge aus. Die Datenblöcke können entweder alle dieselbe Länge oder unterschiedliche Längen aufweisen, wie z.B. in dem Fall, daß die Datenblöcke einen MPEG2/4 AAC konformen Aufbau aufweisen.

Die Schreibeinrichtung 20 empfängt die kodierten Datenblöcke und schreibt die kodierten Datenblöcke nacheinander in einen aktuellen der Zwischenspeicher 22 und 24, wobei dieselben zusammen als ein Wechselpuffer wirken, wie es im folgenden beschrieben wird. Die Größe der Zwischenspeicher 22 und 24 ist ausreichend bemessen, um N kodierte Datenblöcke zu speichern, wobei N eine Ganzzahl größer 1 ist (N>1). Die Schreibeinrichtung 20 beschreibt den aktuellen der Speicher 22 und 24 in der Reihenfolge, in der die kodierten Datenblöcke von der Einrichtung 16 übertragen werden so lange, bis sich N kodierte Datenblöcke in dem aktuellen der Zwischenspeicher 22 und 24 befinden. Wenn der aktuelle der Zwischenspeicher 22 und 24 voll ist, d.h. N gespeicherte kodierte Datenblöcke aufweist, liest die Ausleseeinrichtung 26 den gerade gefüllten Zwischenspeicher 22 und 24 aus, während die Schreibeinrichtung 20 den anderen der beiden Zwischenspeicher 22 bzw. 24 mit den kodierten Datenblöcken von der Einrichtung 16 in der Reihenfolge ihres Empfangs beschreibt.

Die Ausleseeinrichtung 26 liest den zuletzt vollständig beschriebenen Zwischenspeicher 22 bzw. 24 in einer anderen Reihenfolge aus, als derselbe beschrieben wurde. Genauer ausgedrückt liest die Ausleseeinrichtung 26 den jeweiligen Zwischenspeicher 22 bzw. 24 in einer permutierten Reihenfolge aus, die durch einen Permutationsvektor der Größe N festgelegt wird, der durch die Einrichtung 18 zur Erzeugung eines Permutationsvektors erzeugt und zugeführt wird, wie es im folgenden beschrieben werden wird. Durch das permutierte Auslesen wird die Reihenfolge der N kodierten Datenblöcke gemäß einer Vertauschungsvorschrift geändert, die durch den Permutationsvektor festgelegt wird. Die in permutierter Reihenfolge ausgelesenen kodierten Datenblöcke bilden zusammen eine Permutationsgruppe von kodierten Datenblöcken, die die Ausleseeinrichtung 26 an den Ausgangspuffer 28 ausgibt, an den sich beispielsweise eine Computerschnittstelle (nicht gezeigt) anschließt.

Die Einrichtung 18 erzeugt den Permutationsvektor der Größe N, der die Vertauschungsvorschrift festlegt, basierend auf welcher die kodierten Datenblöcke einer Permutationsgruppe permutiert werden, für jede Permutationsgruppe neu. Die Erzeugung eines Permutationsvektors basiert auf N Pseudozufallszahlen, die durch den Pseudozufallszahlengenerator 30 erzeugt werden. Der Pseudozufallszahlengenerator 30 erzeugt für die Erzeugung jedes Permutationsvektors der Länge N nacheinander N Pseudozufallszahlen und gibt dieselben an den Sortierer 34 aus, wobei der Zähler 32 bei der Ausgabe jeder Pseudozufallszahl einen Zählerwert inkrementiert und an den Umordner 36 ausgibt, wobei der Zähler 32 mit einem Wert von 0 beginnt, um bei der ersten Pseudozufallszahl einen Wert von 1 auszugeben. Auf diese Weise werden die Pseudozufallszahlen, die von dem Pseudozufallszahlengenerator 30 ausgegeben werden, parallel zur Erzeugung nummeriert bzw. mit Indices in der Reihenfolge ihrer Generierung versehen. Die durch den Pseudozufallszahlengenerator 30 erzeugten Pseudozufallszahlen bilden zusammen einen Zufallszahlenvektor bzw. ein Zufallszahlenarray aus N Pseudozufallszahlen, während die durch den Zähler 32 erzeugten Zahlen ein Indexvektor bzw. ein Indexarray bilden, der bzw. das aus ansteigenden Zahlen von 1 bis N besteht. Der Sortierer 34 empfängt den Zufallszahlenvektor und sortiert denselben mit einem geeigneten Sortierverfahren zum Beispiel in ansteigender Reihenfolge. Der Sortierer 34 ist mit dem Umordner 36 gekoppelt, um es zu ermöglichen, daß der Umordner 36 den von dem Zähler 32 empfangenen Indexvektor parallel zu der Sortierung des Zufallszahlenvektors umordnet. Das umgeordnete bzw. permutierte Indexarray, das von dem Umordner 36 erzeugt wird, stellt die Vertauschungsvorschrift für die N kodierten Datenblöcke dar, die von der Ausleseeinrichtung als nächstes gelesen werden, und wird durch den Umordner 36 als Permutationsvektor an die Ausleseeinrichtung 26 ausgegeben, die dasselbe, wie es im vorhergehenden beschrieben wurde, zur Definition der Auslesereihenfolge bezüglich des entsprechenden Zwischenspeichers 22 bzw. 24 verwendet.

Nachdem die Ausleseeinrichtung 26 die N kodierten Datenblöcke aus dem einen Zwischenspeicher 22 bzw. 24 gelesen hat, und gleichzeitig die Schreibeinrichtung den anderen Zwischenspeicher mit den nächsten N kodierten Datenblöcken von dem Kodierer 10 gefüllt hat, wechseln die Schreibeinrichtung 20 und die Ausleseeinrichtung 26 zu dem jeweils anderen Zwischenspeicher 22 bzw. 24, wobei der Auslesevorgang bezüglich der neuen in den Wechselpuffer geschriebenen kodierten Datenblöcken durchgeführt wird, die daraufhin in permutierter Reihenfolge an den Ausgangspuffer ausgegeben werden. Insgesamt ergibt sich am Ein- und Ausgang des Ausgangspuffers somit ein verschlüsseltes Signal aus kodierten Datenblöcken in permutierter Reihenfolge, das bei unauthorisierter Verarbeitung ohne Entschlüsselung und in dem Fall von Sprache eine Verständlichkeit der Sprachinformationen verhindert, wie es in Bezug auf Fig. 3 und 4 näher beschrieben werden wird.

Im folgenden wird bezugnehmend auf Fig. 2 eine Entschlüsselungsvorrichtung gemäß einem Ausführungsbeispiel der vorliegenden Erfindung erläutert. Die Entschlüsselungsvorrichtung von Fig. 2 ist vorgesehen, um die in verschlüsselter Form ausgegebenen kodierten Datenblöcke der Verschlüsselungsvorrichtung von Fig. 1 wieder in ein Zeitsignal umzuwandeln, und zwar je nach der verwendeten Kodierung auf verlustbehaftete oder verlustlose Weise.

Die Vorrichtung von Fig. 2 umfaßt eine Einrichtung 38 zum Ändern der Reihenfolge der empfangenen kodierten Datenblöcke, die das verschlüsselte Signal darstellen, sowie einen Dekodierer 40, der mit der Einrichtung 38 verbunden ist und die Dekodierung der kodierten Datenblöcke vornimmt.

Die Einrichtung 38 weist eine zu der Einrichtung 12 der Verschlüsselungsvorrichtung von Fig. 1 ähnliche Anordnung auf, und besteht aus einer Schreibeinrichtung 42, einem Zwischenspeicher 1 44, einem Zwischenspeicher 2 46, einer Ausleseeinrichtung 48 und einer Einrichtung 50 zum Erzeugen eines inversen Permutationsvektors, die einen zu der Einrichtung 18 der Verschlüsselungsvorrichtung von Fig. 1 ähnlichen Aufbau aufweist und deshalb aus Übersichtlichkeitsgründen in Fig. 2 nicht detaillierter dargestellt ist. Die Schreibeinrichtung 42 empfängt an einem Eingang die kodierten Datenblöcke, die in der verschlüsselten Form vorliegen, und ist an zwei Ausgängen mit einem Eingang des Zwischenspeichers 44 bzw. des Zwischenspeichers 46 verbunden. Die Ausleseeinrichtung umfaßt drei Eingänge, von denen einer mit einem Ausgang der Einrichtung 50 zum Erzeugen eines inversen Permutationsvektors und die anderen beiden mit jeweils einem Ausgang des Zwischenspeichers 44 bzw. 46 verbunden sind. Ein Ausgang der Ausleseeinrichtung 48 ist mit dem Dekodierer 40 verbunden, um die dekodierten Datenblöcke in vorbestimmter Reihenfolge, d.h. in der für die Dekodierung nach dem jeweiligen Kodierverfahren vorgesehenen Reihenfolge, auszugeben.

Der Dekodierer 40 umfaßt eine Einrichtung 52 zum Dekodieren der kodierten Datenblöcke, die von der Ausleseeinrichtung 48 ausgegeben werden, sowie eine sich an die Einrichtung 52 anschließende Einrichtung 54 zum Bilden der aufeinanderfolgenden Abtastwerte, wobei die Einrichtung 54 das Zeitsignal beispielsweise an einen Digital/Analog-Wandler (nicht gezeigt) oder dergleichen ausgibt.

Nachdem im vorhergehenden der Aufbau der Entschlüsselungsvorrichtung von Fig. 2 beschrieben worden ist, wird im folgenden die Funktionsweise derselben beschrieben.

Die Schreibeinrichtung 42 empfängt die kodierten Datenblöcke, die in verschlüsselter Form vorliegen, und gibt dieselben in der Reihenfolge, in der sie übertragen werden, an einen aktuellen der Zwischenspeicher 44 und 46 aus, die wie bei der Verschlüsselungsvorrichtung von Fig. 1 als Wechselpuffer zusammenwirken. Während die Schreibeinrichtung 42 einen der beiden Zwischenspeicher 44 und 46 nacheinander mit N kodierten Datenblöcken füllt, liest die Ausleseeinrichtung 48 den anderen Zwischenspeicher aus. Während das Befüllen eines Zwischenspeichers mit den kodierten Datenblöcken in der Übertragungsreihenfolge geschieht, wird das Auslesen des anderen Zwischenspeichers in permutierter Reihenfolge ausgeführt, die von dem inversen Permutationsvektor abhängt, der von der Einrichtung 50 erzeugt wird. Ein inverser Permutationsvektor bedeutet hierin, daß die durch den inversen Permutationsvektor erzeugte Vertauschungsvorschrift die Vertauschungen, die durch die Entschlüsselungsvorrichtung von Fig. 1 an einer jeweiligen Vertauschungs- bzw. Permutationsgruppe von N kodierten Datenblökken vorgenommen worden sind, wieder rückgängig macht.

Die Einrichtung 50 erzeugt die inversen Permutationsvektoren pro Auslesevorgang beispielsweise mittels einer gleichen Anordnung von Einrichtungen, wie sie für die Einrichtung 18 in Fig. 1 dargestellt ist, wobei die Einrichtung 50 jedoch aus dem Permutationsvektor, wie er durch die Einrichtung 18 erzeugt wird, durch eine geeignete Einrichtung einen inversen Permutationsvektor erzeugt, indem beispielsweise die durch den Permutationsvektor festgelegte Vertauschungsvorschrift auf einen Vektor angewendet wird, wie er von dem Zähler (siehe 32 in Fig. 1) ausgegeben wird, d.h. einen Vektor aus geordneten Zahlen von 1 bis N.

Die von der Ausleseeinrichtung 48 in permutierter Reihenfolge ausgelesenen N kodierten Datenblöcke werden der Einrichtung 52 zum Dekodieren der kodierten Datenblöcke zugeführt, wobei dieselben nun in der vorbestimmten Reihenfolge vorliegen, die zur Dekodierung der kodierten Datenblöcke gemäß dem dem Dekodierer 44 zugrundeliegenden Kodierverfahren notwendig ist, um ein korrektes Zeitsignal zu erhalten.

Nachdem die Ausleseeinrichtung 48 den jeweiligen Zwischenspeicher ausgelesen hat bzw. die Schreibeinrichtung 42 den anderen Zwischenspeicher vollständig gefüllt hat, liest die Ausleseeinrichtung den gerade von der Schreibeinrichtung 42 befüllten Zwischenspeicher aus, während die Schreibeinrichtung 42 den Zwischenspeicher beschreibt, der von der Ausleseeinrichtung 48 ausgelesen worden ist.

Die Einrichtung 52 dekodiert die kodierten Datenblöcke und gibt Zeitblöcke mit vorbestimmter Reihenfolge aus. Die Einrichtung 54 empfängt die Zeitblöcke und bildet aus denselben die aufeinanderfolgenden Abtastwerte, aus denen das Zeitsignal besteht, und gibt dieselben beispielsweise an einen Analog/Digital-Wandler (nicht gezeigt) aus.

Nachdem im vorhergehenden Ausführungsbeispiele für eine Verschlüsselungs- bzw. Entschlüsselungsvorrichtung beschrieben worden sind, wird im folgenden bezugnehmend auf die Fig. 3 und 4 ein explizites Ausführungsbeispiel beschrieben, bei dem ein diskretes Signal durch die Vorrichtung von Fig.1 in ein verschlüsseltes Signal verschlüsselt und letztgenanntes durch die Vorrichtung von Fig. 2 entschlüsselt wird, wobei zusätzlich auf Fig. 1 und 2 Bezug genommen wird.

In den Fig. 3 und 4 sind mit Rechtecken Abtastwerte des Zeit- bzw. Audiosignals, Zeitblöcke bzw. Datenblöcke dargestellt, wie es in der Beschreibung angegeben ist. Um die Datenblöcke voneinander unterscheiden zu können, sind die Datenblöcke jeweils mit einem großen Buchstaben A - 0 markiert.

Fig. 3 stellt schematisch einen Verschlüsselungsvorgang gemäß der vorliegenden Erfindung dar. Bei 60 ist eine Aufeinanderfolge von Abtastwerten 62 gezeigt, die das Zeitsignal bzw. das diskrete Signal bilden, wie es der Verschlüsselungsvorrichtung von Fig. 1 zugeführt wird.

Bei 64 ist eine Aufeinanderfolge von Zeitblöcken 66 gezeigt, wie sie von der Einrichtung 14 von Fig. 1 erzeugt wird. Wie es bereits erwähnt worden ist, kann sich jeder Abtastwert in einem oder mehreren der Zeitblöcke 66 befinden, bzw. die Zeitblöcke können sich gegenseitig überschneiden, um Aliasingartefakte auszumerzen.

Bei 68 ist eine Aufeinanderfolge von kodierten Datenblöcken A - N gezeigt, die in der vorbestimmten Reihenfolge vorliegen, wie sie von der Einrichtung 16 von Fig. 1 ausgegeben werden. Wie es zu sehen ist, kann jeder kodierte Datenblock 70 eine individuell unterschiedliche Länge bzw. Größe aufweisen, wie es durch die unterschiedlichen Größen der Blöcke veranschaulicht ist.

Bei 72 ist ein Zustand dargestellt, wie er sich für die aufeinanderfolgenden kodierten Datenblöcke 70 während der Verschlüsselung bei der Verschlüsselungsvorrichtung von Fig. 1 ergibt. Bei dem Zustand 72, wie auch bei den folgenden Zuständen der Fig. 3, sind insbesondere die Inhalte des Zwischenspeichers 1 (22 in Fig. 1), des Zwischenspeichers 2 (24 in Fig. 1) und des Ausgangspuffers (28 in Fig. 1) für den jeweiligen Zustand dargestellt. Bei 72 ist der Zustand für den exemplarischen Fall dargestellt, daß die Vertauschungsgruppengröße bei der Verschlüsselung bzw. Entschlüsselung auf 5 eingestellt ist. Der bei 72 dargestellte Zustand entspricht dem Zustand, wie er sich bei der Vorrichtung von Fig. 1 einstellt, nachdem von den Datenblöcken 70 bei 68 die ersten fünf A - E in den aktiven bzw. aktuellen Zwischenspeicher, in diesem Fall den Zwischenspeicher 1, geschrieben worden sind. Die Werte in dem Zwischenspeicher 2 und dem Ausgangspuffer, die beispielsweise dieselbe Länge bzw. Größe wie der Zwischenspeicher 1 aufweisen können, hängen von vorhergehenden kodierten Datenblöcken ab, und sind deshalb mit Bindestrichen dargestellt. Wie es zu sehen ist, sind die kodierten Datenblöcke A - E in ihrer vorbestimmten Reihenfolge in den Zwischenspeicher 1 abgelegt worden.

Bei 74 ist der Zustand dargestellt, wie er sich nach fünf weiteren kodierten Datenblöcken ergibt. Die 5 weiteren kodierten Datenblöcke F - J sind in den Zwischenspeicher 2 geschrieben worden, während die in den Zwischenspeicher 1 abgelegten kodierten Datenblöcke in den Ausgangspuffer ausgelesen worden sind. Zum Auslesen der in den Zwischenspeicher 1 abgelegten kodierten Datenblöcke ist der Permutationsvektor verwendet worden, wie er bei 76 angezeigt ist, d.h. (4,3,5,2,1). Anders ausgedrückt, ordnet der Permutationsvektor 76 jeden kodierten Datenblock in dem Zwischenspeicher 1 eine Zahl zwischen 1 bis 5 bzw. N zu, die die Auslesereihenfolge bzw. die Position angibt, an der dieser kodierte Datenblock in den Ausgangspuffer geschrieben werden soll, so daß in dem Ausgangspuffer die kodierten Datenblöcke A-E in der Reihenfolge EDBAC vorliegen.

Bei 78 ist der Zustand nach weiteren 5 kodierten Datenblöcken dargestellt. Wie es zu sehen ist, sind die 5 nachfolgenden kodierten Datenblöcke K - 0 wiederum in den Zwischenspeicher 1 geschrieben worden, während in der Zwischenzeit der Zwischenspeicher 2 mittels eines Permutationsvektors 80 (5,1,3,2,4) in den Ausgangspuffer ausgelesen worden ist, wo sich die kodierten Datenblöcke in der Reihenfolge GIHJF ergeben.

Bei 82 ist der Strom bzw. die Aufeinanderfolge von kodierten Datenblöcken in verschlüsselter Form dargestellt, wie sie in den Ausgangspuffer 28 eingegeben bzw. von demselben ausgegeben werden. Wie es zu sehen ist, sind die kodierten Datenblöcke gegenüber der vorbestimmten Reihenfolge, in der dieselben durch die dem Kodierer 10 zugrundeliegende Kodierung üblicherweise ausgegeben werden, verwürfelt bzw. gescrambelt, weshalb in dem Fall, daß die Audiodaten Träger von Sprachinformationen sind, diese Sprachinformationen bei Dekodierung ohne Entschlüsselung gemäß der vorliegenden Erfindung unverständlich sind. Dennoch wird bei Dekodierung ohne Entschlüsselung verhindert, daß der Dekodierer in ungültige Zustände gerät, da die zeitliche Diskontinuität in Einheiten von kodierten Datenblöcken definiert ist.

Ist die dem psychoakustischen Dekodierer zugrunde liegende Kodierung beispielsweise eine nach dem AAC-Standard, tritt, falls das verschlüsselte Signal von einem standardkonformen Dekoder bzw. Dekodierer dekodiert wird, kein Knacksen an den Blockgrenzen auf, sondern vielmehr äußert sich die zeitliche Diskontinuität aufgrund der vertauschten Rahmen bzw. Datenblöcke im Auftreten von Aliasinganteilen, da die Datenblöcke vermittels der inversen modifizierten diskreten Cosinustransformation (IMDCT = inverse modified discrete cosine transform) in den Zeitbereich rücktransformiert werden und an den Überlappungsbereichen der Transformationsfenster keine Aliasing-Auslöschung mehr stattfindet.

Wird das Signal 82 von einem Decoder bzw. einer Entschlüsselungsvorrichtung gemäß Fig. 2, d.h. mit einer entsprechenden inversen Vertauschung der Eingangsdaten, entschlüsselt, dann liegen in dem Zwischenspeicher wieder die Datenblöcke bzw. die Datenrahmen in der richtigen Reihenfolge vor und die anschließende Dekodierung kann standardkonform erfolgen. Dieser Entschlüsselungsvorgang wird bezugnehmend auf Fig. 4 für das explizite Ausführungsbeispiel von Fig. 3 näher erläutert.

Fig. 4 zeigt bei 84 ein Beispiel für eine Folge von kodierten Datenblöcken in verschlüsselter Form, die in diesem Fall derjenigen von Fig. 3 bei 82 entspricht. Bei 86 ist ein Zustand dargestellt, wie er sich bei der Entschlüsselungsvorrichtung von Fig. 2 ergibt, nachdem dieselbe die ersten fünf der kodierten Datenblöcke von 84 empfangen hat. Insbesondere ist bei dem Zustand 84 sowie bei den folgenden Zuständen in Fig. 4 der Inhalt des Zwischenspeichers 1 (44 in Fig. 2), der Inhalt des Zwischenspeichers 2 (46 in Fig. 2) und die Folge von kodierten Datenblöcken, die von der Einrichtung 38 an den Kodierer 40 ausgegeben wird, gezeigt. Wie es bei 86 zu sehen ist, werden die dekodierten Datenblöcke in den aktuellen Zwischenspeicher, in diesem Fall den Zwischenspeicher 1, in der Reihenfolge abgelegt, in der dieselben übertragen werden.

Bei 88 ist der Zustand dargestellt, wie er sich nach fünf weiteren kodierten Datenblöcken FGHIJ einstellt. Wie es zu sehen ist, sind die nächsten fünf kodierten Datenblöcke in den Zwischenspeicher 2 geschrieben worden, während mittels eines inversen Permutationsvektors 90 die kodierten Datenblöcke EDBAC aus dem Zwischenspeicher 1 ausgelesen werden, um zu dem Dekodierer 40 in der Reihenfolge ABCDE übertragen zu werden, wobei sich der inverse Permutationsvektor aus dem Permutationsvektor 76 von Fig. 3, der sich auf dieselbe Permutationsgruppe bezog, durch Anwenden des letztgenannten als Vertauschungsvorschrift auf einen Vektor (1,2,3,4,5) ergibt.

Bei 92 ist der Zustand dargestellt, wie er sich nach dem Auslesen weiterer fünf kodierter Datenblöcke aus dem Strom von kodierten Datenblöcken 84 ergibt. Wie es zu sehen ist, ist wieder der Zwischenspeicher 1 mit den nachfolgenden kodierten Datenblöcken K - 0 befüllt worden, während zu dem Dekodierer die kodierten Datenblöcke GHIJF in dem Zwischenspeicher 2 ausgelesen und in permutierter Reihenfolge bzw. invers permutierter Reihenfolge FGHIJ ausgegeben worden sind. Der Rückpermutation liegt der inverse Permutationsvektor 94 zugrunde, der sich aus dem Permutationsvektor 80 von Fig. 3 durch Anwenden des letztgenannten auf einen Vektor (1,2,3,4,5) ergibt.

Bei 96 ist schließlich der Strom von aufeinanderfolgenden kodierten Datenblöcken gezeigt, wie er dem Dekodierer zugeführt wird. Wie es zu sehen ist, ist die Reihenfolge wieder hergestellt, in der die kodierten Datenblöcke von dem Kodierer der Verschlüsselungsvorrichtung ausgegeben worden sind, d.h. ABCDEFGHIJKLMN..., so daß die Dekodierung standardkonform erfolgen kann.

Die im vorhergehenden bezugnehmend auf die Fig. 1 bis 4 gelieferte Beschreibung bezog sich auf eine Verschlüsselung, die auf der Vertauschung von Datenblöcken des Zeitsignals innerhalb einer Blockgruppe bzw. Vertauschungsgruppe basiert. Die Blockvertauschung im Zeitbereich zerstört die zeitliche Modulation eines Sprachsignals derart, daß in dem Fall eines Sprachsignals die Verständlichkeit erheblich reduziert wird. Ein Vorteil der obigen Ausführungsbeispiele besteht darin, daß, obwohl bei den vorhergehenden Ausführungsbeispielen zur Kodierung des Zeitsignals ein psychoakustisches Kompressionsverfahren verwendet wird, die diesem psychoakustischen Kompressionsverfahren zugrundeliegenden Annahmen, wie z.B. über die zeitliche und spektrale Verdeckung, weiterhin gültig bleiben, da die zeitliche Diskontinuität erst nach der Komprimierung erzeugt wird, d.h. die zeitliche Reihenfolge der bereits kodierten Datenrahmen vertauscht wird. Die im vorhergehenden beschriebenen Ausführungsbeispiele sind grundsätzlich für alle kodierten Datenströme anwendbar, die auf einer sequentiellen Folge in sich abgeschlossener und nach Kodierung sich überlappender Datenrahmen basieren.

In Bezug auf die im vorhergehenden beschriebenen Ausführungsbeispiele wird insbesondere darauf hingewiesen, daß die Sprachunverständlichkeit des verschlüsselten Signals dadurch verbessert werden kann, daß der psychoakustische Kodierer 10 bzw. eine Einrichtung zwischen demselben und der Einrichtung zur Änderung der Reihenfolge eine Frequenzbereichsverwürfelung gemäß der in der Beschreibungseinleitung erwähnten Patentanmeldung W099/51279 durchführt.

Nachdem im vorhergehenden die vorliegende Erfindung anhand spezieller Ausführungsbeispiele beschrieben worden ist, wird darauf hingewiesen, daß die vorliegende Erfindung sowohl in Hardware, wie z.B. als eine ASIC, eine integrierte Schaltung oder dergleichen, als auch in Software, wie z.B. als eine auf einem PC lauffähige Software, implementierbar ist. Ferner wird darauf hingewiesen, daß, obwohl im vorhergehenden die vorliegende Erfindung in Bezug auf die Verschlüsselung von Audiodaten bzw. Sprachsignalen beschrieben worden ist, die vorliegende Erfindung allgemein auf alle Gebiete anwendbar ist, bei denen diskrete Signale verwendet werden und gegebenenfalls eine Kodierung derselben stattfindet, wie z.B. bei der Bild- und Videoverarbeitung oder der Datenübertragung im allgemeinen. Dementsprechend ist die der Erzeugung der zeitlichen Diskontinuität bei der Verschlüsselung vorangehende Kodierung nicht auf eine psychoakustische Kodierung begrenzt. Beispielsweise ist auch eine JPEG-Kodierung bei Bild- oder Videodaten möglich. Allgemein ist die vorliegende Erfindung mit allen Kodierverfahren implementierbar, die aufeinanderfolgende diskrete Abtastwerte in Zeitblöcke unterteilen und diese in kodierte Datenblöcke bzw. -rahmen kodieren oder direkt bereits existierende Zeitblöcke kodieren.

Ferner wird darauf hingewiesen, daß die genaue Implementierung der Einrichtung zur Erzeugung eines Permutationsvektors eine Einrichtung zur Erzeugung der Reihenfolge der kodierten Datenblöcke auch anders implementiert sein kann, wie z.B. insbesondere im Hinblick auf die Länge der Vertauschungsgruppe N oder der Anzahl und Größe der verwendeten Zwischenspeicher.

Ferner kann die Einrichtung zur Erzeugung eines Permutationsvektors anders implementiert sein als im vorhergehenden beschrieben. Der Permutationsvektor könnte beispielsweise für alle Vertauschungsgruppen gleich sein, in welchem Fall der inverse Permutationsvektor ebenfalls fest wäre. Allgemein wird darauf hingewiesen, daß von dem in dem vorhergehenden Ausführungsbeispielen verwendeten Prinzip der Formulierung aufeinanderfolgender Vertauschungsgruppen abgewichen werden kann, und daß die Änderung der Reihenfolge auch auf andere Weisen durchgeführt werden kann, wie z.B. durch eine Änderung der Reihenfolge bezüglich der gesamten kodierten Datenblöcke, in welchem Fall eine Zwischenspeicherung aller kodierten Datenblöcke vor der Änderung der Reihenfolge bei der Verschlüsselung sowie eine Speicherung der gesamten kodierten Datenblöcke vor der Änderung der Reihenfolge bei der Entschlüsselung erforderlich wäre.


Anspruch[de]
  1. Verfahren zum Verschlüsseln eines diskreten Audiosignals, das aus aufeinanderfolgenden Abtastwerten (62) besteht, mit folgenden Schritten:
    • Einteilen der aufeinanderfolgenden Abtastwerte (62) in aufeinanderfolgende Zeitblöcke (66);
    • Kodieren der aufeinanderfolgenden Zeitblöcke (66), Zeitblock für Zeitblock, durch Transformation, von dem Zeitbereich in den Frequenzbereich, in kodierte Datenblöcke (70) mit einer vorbestimmten Reihenfolge; und
    • Ändern der vorbestimmten Reihenfolge der kodierten Datenblöcke (70) gemäß einer vorbestimmten Vertauschungsvorschrift (76, 80).
  2. Vorrichtung zum Verschlüsseln eines diskreten Audiosignals, das aus aufeinanderfolgenden Abtastwerten (62) besteht, mit

    einer Einrichtung (14) zum Einteilen der aufeinanderfolgenden Abtastwerte (62) in aufeinanderfolgende Zeitblöcke (66);

    einer Einrichtung (16) zum Kodieren der aufeinanderfolgenden Zeitblöcke (66), Zeitblock für Zeitblock, durch Transformation, von dem Zeitbereich in den Frequenzbereich, in kodierte Datenblöcke (70) mit einer vorbestimmten Reihenfolge; und

    einer Einrichtung (12) zum Ändern der vorbestimmten Reihenfolge der kodierten Datenblöcke (70) gemäß einer vorbestimmten Vertauschungsvorschrift (76, 80).
  3. Vorrichtung gemäß Anspruch 2, bei der die Einrichtung (16) zum Kodieren angepaßt ist, um eine psychoakustische Kodierung durchzuführen.
  4. Vorrichtung gemäß Anspruch 2 oder 3, bei der die Einrichtung (12) zum Ändern der vorbestimmten Reihenfolge der kodierten Datenblöcke (70) gemäß einer vorbestimmten Vertauschungsvorschrift (76, 80) ferner folgendes Merkmal aufweist:
    • eine Einrichtung (12) zum Permutieren einer vorbestimmten Anzahl von aufeinanderfolgenden dekodierten Datenblöcke (70) gemäß der vorbestimmten Vertauschungsvorschrift (76, 80).
  5. Vorrichtung gemäß Anspruch 4, bei der die vorbestimmte Vertauschungsvorschrift ein Permutationsvektor (76, 80) der Länge N ist, wobei N der vorbestimmten Anzahl von aufeinanderfolgenden der kodierten Datenblöcke (70) entspricht, wobei die Vorrichtung ferner folgendes Merkmal aufweist:
    • eine Einrichtung (18) zum Erzeugen des Permutationsvektors mit

         einer Einrichtung (30) zum aufeinanderfolgenden Erzeugen von N Pseudozufallszahlen;

         einer Einrichtung (32) zum Zuordnen jeder der N Pseudozufallszahlen einer Zahl zwischen 1 und N gemäß der Reihenfolge der Erzeugung der N Pseudozufallszahlen;

         einer Einrichtung (34) zum Sortieren der N Pseudozufallszahlen; und

         einer Einrichtung (36) zum Umordnen der N zugeordneten Zahlen parallel zu der Sortierung der N Pseudozufallszahlen, um den Permutationsvektor (76, 80) zu erhalten.
  6. Vorrichtung gemäß Anspruch 4 oder 5, bei der die Einrichtung (12) zum Permutieren angepaßt ist, um mehrere aufeinanderfolgende Gruppen von aufeinanderfolgenden kodierten Datenblöcken (70) zu permutieren, und die ferner folgende Merkmale aufweist:
    • einen Ausgangspuffer (28);
    • einen ersten und einen zweiten Zwischenspeicher (22, 24);
    • eine Einrichtung (20) zum abwechselnden Speichern der aufeinanderfolgenden Gruppen von aufeinanderfolgenden kodierten Datenblöcken (70) in einen des ersten beziehungsweise zweiten Zwischenspeichers (22, 24); und
    • eine Einrichtung (26) zum Auslesen des Speicherinhalts des anderen des ersten beziehungsweise zweiten Zwischenspeichers (22, 24), in dem die abwechselnde Speicherung nicht erfolgt, während der abwechselnden Speicherung in den einen des ersten beziehungsweise zweiten Zwischenspeichers (22, 24) und Ausgeben des Speicherinhalts an den Ausgangspuffer (28) gemäß einer der Vertauschungsvorschrift entsprechenden Reihenfolge.
  7. Vorrichtung gemäß Anspruch 6, bei der die Vertauschungsvorschrift für zumindest zwei der Gruppen einen unterschiedlichen Permutationsvektor aufweist.
  8. Verfahren zum Entschlüsseln eines verschlüsselten Audiosignals, das eine Mehrzahl von kodierten Datenblöcken in einer Reihenfolge aufweist und einem diskreten Signal, das aus aufeinanderfolgenden Abtastwerten besteht, in verschlüsselter Form entspricht, mit folgenden Schritten:
    • Ändern der Reihenfolge der kodierten Datenblöcke gemäß einer vorbestimmten Vertauschungsvorschrift (90, 94);
    • Dekodieren der kodierten Datenblöcke in der geänderten Reihenfolge, Datenblock für Datenblock, durch Transformation, von dem Frequenzbereich in den Zeitbereich, in aufeinanderfolgende Zeitblöcke mit vorbestimmter Reihenfolge; und
    • Bilden der aufeinanderfolgenden Abtastwerte aus den aufeinanderfolgenden Zeitblöcken.
  9. Vorrichtung zum Entschlüsseln eines verschlüsselten Audiosignals, das eine Mehrzahl von kodierten Datenblöcken in einer Reihenfolge aufweist und einem diskreten Signal, das aus aufeinanderfolgenden Abtastwerten besteht, in verschlüsselter Form entspricht, mit

    einer Einrichtung (38) zum Ändern der Reihenfolge der kodierten Datenblöcke gemäß einer vorbestimmten Vertauschungsvorschrift (90, 94);

    einer Einrichtung (52) zum Dekodieren der kodierten Datenblöcke in der geänderten Reihenfolge, Datenblock für Datenblock, durch Transformation, von dem Frequenzbereich in den Zeitbereich, in aufeinanderfolgende Zeitblöcke mit vorbestimmter Reihenfolge; und

    einer Einrichtung (54) zum Bilden der aufeinanderfolgenden Abtastwerte aus den aufeinanderfolgenden Zeitblöcken.
  10. Vorrichtung gemäß Anspruch 9, bei der die Einrichtung (52) zum Dekodieren angepaßt ist, um eine inverse modifizierte diskrete Cosinustransformation durchzuführen.
  11. Vorrichtung gemäß Anspruch 9 oder 10, bei der die Einrichtung (38) zum Ändern der Reihenfolge der kodierten Datenblöcke gemäß einer vorbestimmten Vertauschungsvorschrift ferner folgendes Merkmal aufweist:
    • eine Einrichtung (38) zum Permutieren einer ersten vorbestimmten Anzahl von aufeinanderfolgenden kodierten Datenblöcken gemäß der vorbestimmten Vertauschungsvorschrift.
  12. Vorrichtung gemäß Anspruch 11, bei der die vorbestimmte Vertauschungsvorschrift ein Permutationsvektor (76, 80) der Länge N ist, wobei N der vorbestimmten Anzahl von aufeinanderfolgenden der kodierten Datenblöcke (70) entspricht, wobei die Vorrichtung ferner folgendes Merkmal aufweist:
    • eine Einrichtung (50) zum Erzeugen des Permutationsvektors mit

         einer Einrichtung zum aufeinanderfolgenden Erzeugen von N Pseudozufallszahlen;

         einer Einrichtung zum Zuordnen jeder der N Pseudozufallszahlen einer Zahl zwischen 1 und N gemäß der Reihenfolge der Erzeugung der N Pseudozufallszahlen;

         einer Einrichtung zum Sortieren der N Pseudozufallszahlen;

         einer Einrichtung zum Umordnen der N zugeordneten Zahlen parallel zu der Sortierung der N Pseudozufallszahlen, um einen permutierten Vektor zu erhalten; und

         einer Einrichtung zum Anwenden des permutierten Vektors als eine Permutationsvorschrift auf einen geordneten Vektor von Zahlen von 1 bis N, um den Permutationsvektor zu erhalten.
  13. Vorrichtung gemäß Anspruch 11 oder 12, bei der die Einrichtung (38) zum Permutieren angepaßt ist, um mehrere aufeinanderfolgende Gruppen von aufeinanderfolgenden von kodierten Datenblöcken (70) zu permutieren, und die ferner folgende Merkmale aufweist:
    • einen ersten und einen zweiten Zwischenspeicher (44, 46);
    • eine Einrichtung (42) zum abwechselnden Speichern der Gruppen von aufeinanderfolgenden kodierten Datenblöcken (70) in einen des ersten und zweiten Zwischenspeichers (44, 46); und
    • eine Einrichtung (48) zum Auslesen des Speicherinhalts des anderen des ersten und zweiten Zwischenspeichers (44, 46), in dem die abwechselnde Speicherung nicht erfolgt, während der abwechselnden Speicherung in den anderen in des ersten und zweiten Zwischenspeichers (44, 46) und Ausgeben des Speicherinhalts an die Einrichtung (52) zum Dekodieren gemäß einer der Vertauschungsvorschrift entsprechenden Reihenfolge.
  14. Vorrichtung gemäß Anspruch 13, bei der die Vertauschungsvorschrift für zumindest zwei der Gruppen einen unterschiedlichen Permutationsvektor aufweist.
  15. Vorrichtung gemäß Anspruch 9 oder 13, bei dem das Audiosignal Sprachinformationen enthält.
Anspruch[en]
  1. Method for encrypting a discrete audio signal consisting of successive samples (62), comprising:
    • subdividing the successive samples (62) into successive time blocks (66);
    • coding the successive time blocks (66), on a time-block by time-block basis, by means of transformation, from the time domain into the frequency domain, into encoded data blocks (70) having a predetermined order; and
    • altering the predetermined order of the encoded data blocks (70) in accordance with a predetermined interchange specification (76, 80).
  2. Apparatus for encrypting a discrete audio signal consisting of successive samples (62), comprising:
    • means (14) for subdividing the successive samples (62) into successive time blocks (66);
    • means (16) for coding the successive time blocks (66), on a time-block by time-block basis, by means of transformation, from the time domain into the frequency domain, into encoded data blocks (70) having a predetermined order; and
    • means (12) for altering the predetermined order of the encoded data blocks (70) in accordance with a predetermined interchange specification (76, 80).
  3. Apparatus as claimed in claim 2, wherein the means (16) for coding are adapted to perform psycho-acoustic coding.
  4. Apparatus as claimed in claim 2 or 3, wherein the means (12) for altering the predetermined order of the encoded data blocks (70) in accordance with a predetermined interchange specification (76, 80) further comprise:
    • means (12) for permuting a predetermined number of successive decoded data blocks (70) in accordance with the predetermined interchange specification (76, 80).
  5. Apparatus as claimed in claim 4, wherein the predetermined interchange specification is a permutation vector (76, 80) of a length N, N corresponding to the predetermined number of successive ones of the encoded data blocks (70), the apparatus further comprising:
    • means (18) for producing the permutation vector, comprising:
      • means (30) for successively generating N pseudorandom numbers;
      • means (32) for assigning each of the N pseudorandom numbers a number between 1 and N in accordance with the order of the generation of N pseudorandom numbers; and
      • means (34) for sorting the N pseudorandom numbers;
      • means (36) for re-sorting the N assigned numbers in parallel with sorting the N pseudorandom numbers in order to obtain the permutation vector (76, 80).
  6. Apparatus as claimed in 4 or 5, wherein means (12) for permuting are adapted to permute several successive groups of successive encoded data blocks (70), further comprising:
    • an output buffer (28);
    • first and second latches (22, 24);
    • means (20) for alternately storing the successive groups of successive encoded data blocks (70) into one of the first and/or second latches (22, 24); and
    • means (26) for reading out the memory content of the other one of the first and/or second latches (22, 24) in which the alternate storing does not occur, during the alternate storing into the one of the first and/or second latches (22, 24), and outputting the memory content to the output buffer (28) in accordance with an order complying with the interchange specification.
  7. Apparatus as claimed in claim 6, wherein the interchange specification comprises a different permutation vector for at least two of the groups.
  8. Method for decrypting an encrypted signal comprising a plurality of encoded data blocks in an order and corresponding, in an encrypted form, to a discrete signal consisting of successive samples, comprising:
    • altering the order of the encoded data blocks in accordance with a predetermined interchange specification (90, 94);
    • decoding the encoded data blocks in the altered order, on a data-block by data-block basis, by means of transformation, from the frequency domain into the time domain, into successive time blocks having a predetermined order;
    • forming the successive samples from the successive time blocks.
  9. Apparatus for decrypting an encrypted signal comprising a plurality of encoded data blocks in an order and corresponding, in an encrypted form, to a discrete signal consisting of successive samples, comprising:
    • means (38) for altering the order of the encoded data blocks in accordance with a predetermined interchange specification (90, 94);
    • means (52) for decoding the encoded data blocks in the altered order, on a data-block by data-block basis, by means of transformation, from the frequency domain into the time domain, into successive time blocks having a predetermined order;
    • means (54) for forming the successive samples from the successive time blocks.
  10. Apparatus as claimed in claim 9, wherein the means (52) for decoding are adapted to perform an inverse modified discrete cosine transform.
  11. Apparatus as claimed in claim 9 or 10, wherein means (38) for altering the order of the encoded data blocks in accordance with a predetermined interchange specification further comprise:
    • means (38) for permuting a first predetermined number of successive encoded data blocks in accordance with the predetermined interchange specification.
  12. Apparatus as claimed in claim 11, wherein the predetermined interchange specification is a permutation vector (76, 80) of a length N, N corresponding to the predetermined number of successive ones of the encoded data blocks (70), the apparatus further comprising:
    • means (50) for producing the permutation vector, comprising:
      • means for successively generating N pseudorandom numbers;
      • means for assigning each of the N pseudorandom numbers a number between 1 and N in accordance with the order of the generation of N pseudorandom numbers; and
      • means for sorting the N pseudorandom numbers;
      • means for re-sorting the N assigned numbers in parallel with sorting the N pseudorandom numbers in order to obtain a permutation vector (76, 80); and
      • means for applying the permuted vector as a permutation specification to an ordered vector of numbers from 1 to N to obtain the permutation vector.
  13. Apparatus as claimed in 11 or 12, wherein means (38) for permuting are adapted to permute several successive groups of successive ones of encoded data blocks (70), further comprising:
    • first and second latches (44, 46);
    • means (42) for alternately storing the groups of successive encoded data blocks (70) into one of the first and second latches (44, 46); and
    • means (48) for reading out the memory content of the other one of the first and second latches (44, 46) in which the alternate storing does not occur, during the alternate storing into the other one of the first and second latches (44, 46), and outputting the memory content to means (52) for decoding in accordance with an order complying with the interchange specification.
  14. Apparatus as claimed in claim 13, wherein the interchange specification comprises a different permutation vector for at least two of the groups.
  15. Apparatus as claimed in claim 9 or 13, wherein the audio signal contains voice information.
Anspruch[fr]
  1. Procédé de cryptage d'un signal audio discret qui se compose de valeurs de balayage (62) successives, aux étapes suivantes consistant à :
    • diviser les valeurs de balayage (62) successives en blocs dans le temps (66) successifs ;
    • coder les blocs dans le temps (66) successifs, bloc dans le temps par bloc dans le temps, par transformation, du domaine de temps au domaine de la fréquence, pour obtenir des blocs de données codés (70) avec un ordre prédéterminé ; et
    • modifier l'ordre prédéterminé des blocs de données codés (70) selon une prescription de permutation (76, 80) prédéterminée.
  2. Dispositif de cryptage d'un signal audio discret qui se compose de valeurs de balayage successives (62), avec

       un dispositif (14) destiné à diviser les valeurs de balayage (62) successives en blocs dans le temps (66) successifs ;

       un dispositif (16) destiné à coder les blocs dans le temps (66), bloc dans le temps par bloc dans le temps, par transformation, du domaine de temps au domaine de la fréquence, pour obtenir des blocs de données codés (70) avec un ordre prédéterminé ; et

       un dispositif (12) destiné à modifier l'ordre prédéterminé des blocs de données codés (70) selon une prescription de permutation (76, 80) prédéterminée.
  3. Dispositif selon la revendication 2, dans lequel le dispositif (16) destiné à coder est adapté pour effectuer un codage psychoacoustique.
  4. Dispositif selon la revendication 2 ou 3, dans lequel le dispositif (12) destiné à modifier l'ordre prédéterminé des blocs de données codés (70) selon une prescription de permutation (76, 80) prédéterminée présente, par ailleurs, la caractéristique suivante :
    • un dispositif (12) destiné à permuter un nombre prédéterminé de blocs de données décodés (70) successifs selon la prescription de permutation (76, 80) prédéterminée.
  5. Dispositif selon la revendication 4, dans lequel la prescription de permutation est un vecteur de permutation (76, 80) de longueur N, N correspondant au nombre prédéterminé de blocs de données codés (70) successifs, le dispositif présentant, par ailleurs, la caractéristique suivante :
    • un dispositif (18) destiné à générer le vecteur de permutation, avec

         un dispositif (30) destiné à générer successivement N nombres pseudo-aléatoires ;

         un dispositif (32) destiné à associer à chacun des N nombres pseudo-aléatoires un nombre compris entre 1 et N selon l'ordre de génération des N nombres pseudo-aléatoires ;

         un dispositif (34) destiné à trier les N nombres pseudo-aléatoires ; et

         un dispositif (36) destiné à reclasser les N nombres associés en parallèle avec le tri des N nombres pseudo-aléatoires, pour obtenir le vecteur de permutation (76, 80).
  6. Dispositif selon la revendication 4 ou 5, dans lequel le dispositif (12) destiné à permuter est adapté pour permuter plusieurs groupes successifs de blocs de données codés (70) successifs, et présentant, en outre, les caractéristiques suivantes :
    • un tampon de sortie (28) ;
    • une première et une deuxième mémoire intermédiaire (22, 24) ;
    • un dispositif (20) destiné à mémoriser alternativement les groupes successifs de blocs de données codés (70) successifs dans l'une parmi la première ou la deuxième mémoire intermédiaire (22, 24) ; et
    • un dispositif (26) destiné à lire le contenu de mémoire de l'autre parmi la première ou la deuxième mémoire intermédiaire (22, 24) dans laquelle n'a pas lieu la mémorisation alternative pendant la mémorisation alternative dans l'une parmi la première ou la deuxième mémoire intermédiaire (22, 24) et à sortir le contenu de mémoire vers le tampon de sortie (28) selon un ordre correspondant à la prescription de permutation.
  7. Dispositif selon la revendication 6, dans lequel la prescription de permutation présente un vecteur de permutation différent pour au moins deux des groupes
  8. Procédé pour décrypter un signal audio crypté présentant une pluralité de blocs de données codés selon un ordre et correspondant à un signal discret composé de valeurs de balayage successives, sous forme cryptée, aux étapes suivantes consistant à :
    • modifier l'ordre des blocs de données codés selon une prescription de permutation prédéterminée (90, 94) ;
    • décoder les blocs de données codés dans l'ordre modifié, bloc de données par bloc de données, par transformation, du domaine de la fréquence au domaine de temps, pour obtenir des blocs dans le temps successifs selon un ordre prédéterminé ; et
    • former les valeurs de balayage successives à partir des blocs dans le temps successifs
  9. Dispositif pour décrypter un signal audio crypté présentant une pluralité de blocs de données codés selon un ordre et correspondant à un signal discret composé de valeurs de balayage successives, sous forme cryptée, avec

       un dispositif (38) destiné à modifier l'ordre des blocs de données codés selon une prescription de permutation (90, 94) prédéterminée ;

       un dispositif (52) destiné à décoder les blocs de données codés dans l'ordre modifié, bloc de données par bloc de données, par transformation, du domaine de la fréquence au domaine de temps, pour obtenir des blocs dans le temps successifs selon l'ordre prédéterminé ; et

       un dispositif (54) destiné à former les valeurs de balayage successives à partir des blocs dans le temps successifs.
  10. Dispositif selon la revendication 9, dans lequel le dispositif destiné à décoder (52) est adapté pour effectuer une transformation cosinusoïdale discrète modifiée inverse.
  11. Dispositif selon la revendication 9 ou 10, dans lequel le dispositif (38) destiné à modifier l'ordre des blocs de données codés selon une prescription de permutation prédéterminée présente, par ailleurs, la caractéristique suivante :
    • un dispositif (38) destiné à permuter un premier nombre prédéterminé de blocs de données codés successifs selon la prescription de permutation prédéterminée.
  12. Dispositif selon la revendication 11, dans lequel la prescription de permutation prédéterminée est un vecteur de permutation (76, 80) de longueur N, N correspondant au nombre prédéterminé de blocs de données codés (70) successifs, le dispositif présentant, par ailleurs, la caractéristique suivante :
    • un dispositif (50) destiné à générer le vecteur de permutation, avec
    • un dispositif destiné à générer successivement N nombres pseudo-aléatoires ;
    • un dispositif destiné à associer à chacun des N nombres pseudo-aléatoires un nombre compris entre 1 et N selon l'ordre de génération des N nombres pseudo-aléatoires ;
    • un dispositif destiné à trier les N nombres pseudo-aléatoires ;
    • un dispositif destiné à reclasser les N nombres associés en parallèle avec le tri des N nombres pseudo-aléatoires, pour obtenir un vecteur permuté ; et
    • un dispositif destiné à appliquer le vecteur permuté comme prescription de permutation à un vecteur ordonné de nombres de 1 à N, pour obtenir le vecteur de permutation.
  13. Dispositif selon la revendication 11 ou 12, dans lequel le dispositif (38) destiné à permuter est adapté pour permuter plusieurs groupes successifs de blocs de données codés (70) successifs et qui présente, par ailleurs, les caractéristiques suivantes :
    • une première et une deuxième mémoire intermédiaire (44, 46) ;
    • un dispositif (42) destiné à mémoriser alternativement les groupes de blocs de données codés (70) successifs dans l'une parmi la première et la deuxième mémoire intermédiaire (44, 46) ; et
    • un dispositif (48) destiné à lire le contenu de mémoire de l'autre parmi la première et la deuxième mémoire intermédiaire (44, 46) dans lequel n'a pas lieu la mémorisation alternative, pendant la mémorisation alternative dans l'autre parmi la première et la deuxième mémoire intermédiaire (44, 46) et à sortir le contenu de mémoire vers le dispositif (52) destiné à décoder selon un ordre correspondant à la prescription de permutation.
  14. Dispositif selon la revendication 13, dans lequel la prescription de permutation présente un vecteur de permutation différent pour au moins deux des groupes.
  15. Dispositif selon la revendication 9 ou 13, dans lequel le signal audio contient des informations verbales.






IPC
A Täglicher Lebensbedarf
B Arbeitsverfahren; Transportieren
C Chemie; Hüttenwesen
D Textilien; Papier
E Bauwesen; Erdbohren; Bergbau
F Maschinenbau; Beleuchtung; Heizung; Waffen; Sprengen
G Physik
H Elektrotechnik

Anmelder
Datum

Patentrecherche


Copyright © 2008 Patent-De Alle Rechte vorbehalten. eMail: info@patent-de.com