DE602004003067T2 - Verfahren zur verschlüsselung eines fehlertoleranzkomprimierten audio- oder videostroms - Google Patents

Verfahren zur verschlüsselung eines fehlertoleranzkomprimierten audio- oder videostroms Download PDF

Info

Publication number
DE602004003067T2
DE602004003067T2 DE602004003067T DE602004003067T DE602004003067T2 DE 602004003067 T2 DE602004003067 T2 DE 602004003067T2 DE 602004003067 T DE602004003067 T DE 602004003067T DE 602004003067 T DE602004003067 T DE 602004003067T DE 602004003067 T2 DE602004003067 T2 DE 602004003067T2
Authority
DE
Germany
Prior art keywords
data
stream
bits
encrypted
encryption
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.)
Active
Application number
DE602004003067T
Other languages
English (en)
Other versions
DE602004003067D1 (de
Inventor
Jean Nicolai
William Orlando
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
STMicroelectronics SA
Original Assignee
STMicroelectronics SA
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Application filed by STMicroelectronics SA filed Critical STMicroelectronics SA
Publication of DE602004003067D1 publication Critical patent/DE602004003067D1/de
Application granted granted Critical
Publication of DE602004003067T2 publication Critical patent/DE602004003067T2/de
Active legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Classifications

    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L9/00Cryptographic mechanisms or cryptographic arrangements for secret or secure communications; Network security protocols
    • H04L9/06Cryptographic mechanisms or cryptographic arrangements for secret or secure communications; Network security protocols the encryption apparatus using shift registers or memories for block-wise or stream coding, e.g. DES systems or RC4; Hash functions; Pseudorandom sequence generators
    • H04L9/065Encryption by serially and continuously modifying data stream elements, e.g. stream cipher systems, RC4, SEAL or A5/3
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N19/00Methods or arrangements for coding, decoding, compressing or decompressing digital video signals
    • H04N19/60Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using transform coding
    • H04N19/61Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using transform coding in combination with predictive coding
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N21/00Selective content distribution, e.g. interactive television or video on demand [VOD]
    • H04N21/20Servers specifically adapted for the distribution of content, e.g. VOD servers; Operations thereof
    • H04N21/23Processing of content or additional data; Elementary server operations; Server middleware
    • H04N21/238Interfacing the downstream path of the transmission network, e.g. adapting the transmission rate of a video stream to network bandwidth; Processing of multiplex streams
    • H04N21/2389Multiplex stream processing, e.g. multiplex stream encrypting
    • H04N21/23895Multiplex stream processing, e.g. multiplex stream encrypting involving multiplex stream encryption
    • H04N21/23897Multiplex stream processing, e.g. multiplex stream encrypting involving multiplex stream encryption by partially encrypting, e.g. encrypting only the ending portion of a movie
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N7/00Television systems
    • H04N7/16Analogue secrecy systems; Analogue subscription systems
    • H04N7/167Systems rendering the television signal unintelligible and subsequently intelligible
    • H04N7/1675Providing digital key or authorisation information for generation or regeneration of the scrambling sequence
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L2209/00Additional information or applications relating to cryptographic mechanisms or cryptographic arrangements for secret or secure communication H04L9/00
    • H04L2209/08Randomization, e.g. dummy operations or using noise
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L2209/00Additional information or applications relating to cryptographic mechanisms or cryptographic arrangements for secret or secure communication H04L9/00
    • H04L2209/30Compression, e.g. Merkle-Damgard construction
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L2209/00Additional information or applications relating to cryptographic mechanisms or cryptographic arrangements for secret or secure communication H04L9/00
    • H04L2209/34Encoding or coding, e.g. Huffman coding or error correction

Description

  • Die vorliegende Erfindung betrifft ein Verfahren zur Verarbeitung komprimierter Daten, sowie Geräte und Träger für dessen Anwendung.
  • Das Fachgebiet der Erfindung ist das der Herstellung von Verschlüsselungsvorrichtungen für Audio- und/oder Videodaten.
  • Die Erfindung betrifft insbesondere ein Verfahren zur selektiven (partiellen) Verschlüsselung von Audio- oder Videodaten durch einen Verschlüsselungsalgorithmus, wobei die Daten komprimiert und in einem Standardformat organisiert sind und Codewörter unterschiedlicher Länge aufweisen können.
  • Die gesicherte Verteilung von Videodateien ist zur Zeit auf die Gebührenfernsehübertragung über Kabel oder Satellit eingeschränkt; die Sicherung wird durch „private" Verschlüsselungssysteme sichergestellt, die von einem einzigen Anbieter definiert, ausgeführt und kontrolliert werden: der Fernsehanstalt.
  • Die neuen Videonormen mit niedriger Übertragungsrate, das Internet mit hoher Übertragungsrate und die tragbaren Endgeräte in drahtlosen Netzen des Typs 3G-Telephon oder PDA müssten bald die Verteilung von Videodateien erlauben: insbesondere Telekonferenz, Multimedia-Mitteilungen, Film-Vorankündigungen, Live-Sportinformationen, Videos auf Anforderung.
  • Es treten Sicherheitsanforderungen auf, die von den derzeitigen Lösungen nicht erfüllt werden können. Es gelten folgende Bedingungen:
    • a- Die Syntax des verschlüsselten Stroms muss so weit wie irgend möglich der Verschlüsselungsnorm entsprechen, um den Transport im Netz zu erleichtern; das Datenverarbeitungsverfahren muss Transparenz für Umcodierung und Änderungen der Übertragungsrate sicherstellen, sowie aus Vertrauensgründen Transparenz für Router und Server; das Verfahren muss den zufälligen Zugriff und andere Video-Verarbeitungen ohne Entschlüsselung des gesamten Stromes erlauben und muss den Transport mit Protokollen ermöglichen, die für Standardvideo vorgesehen sind;
    • b- die Effektivität der Kompression darf nicht aufgrund der Sicherung der Daten durch Verschlüsselung beeinträchtigt werden;
    • c- die Sicherung muss mit verschiedenen Tools kompatibel sein, die von den Kompressionsnormen (MPEG4, H264) für Videodaten vorgesehen sind, insbesondere die Fehlerempfindlichkeit, für die drahtlose Übertragung und den Verlust von IP-Paketen (Internet-Protokoll), sowie die mehrstufige Codierung, für Teilnehmerendgeräte mit heterogener Bandbreite,
    • d- das Niveau der Sicherheit und visuellen Maskierung muss der Anwendung angepasst sein: Widerstandsfähigkeit gegen Video-spezifische Angriffe,
    • e- die erforderliche Rechenleistung muss für Anwendungen wie die drahtlose Übertragung von Multimedia-Dateien in kontinuierlichem Datenstrom („streaming") mit mitgeführten Endgeräten kompatibel sein.
  • Nach der MPEG-Norm besteht eine Videosequenz aus einer Folge von Gruppen von Bildern, wobei jede Bildgruppe aus einer Folge von Bildern vom Typ I (intracodiert), P (prädiktiv) und B (bidirektional) besteht; jedes Bild vom Typ I ist in Makroblöcke aufgeteilt; jeder Makroblock ist in vier Luminanzblöcke und in zwei Chrominanzblöcke umgewandelt, wobei diese Umwandlung zu einem ersten Informationsverlust führt.
  • Jeder Block von 64 Pixeln wird durch eine DCT-Transformation („discrete cosine transform") in eine Tabelle von 64 Koeffizienten umgewandelt; diese Tabelle wird durch Quantisierung („quantization") komprimiert und dann in Abhängigkeit von der Anzahl an Koeffizienten des Wertes Null, die bei einer Durchmusterung der Tabelle im Zickzack angetroffen werden, geordnet und verschlüsselt („zig-zag ordering" und „run-length coding"); die sich daraus ergebenden komprimierten Daten werden in Wörter unterschiedlicher Länge codiert („Huffman coding"); diese Umwandlungen führen ebenfalls zu einem Informationsverlust.
  • Verschiedene Verfahren zur Verschlüsselung eines standardisierten Videodatenstroms – insbesondere eines Stroms nach der MPEG-Norm – wurden vorgeschlagen, um bestimmten der oben angeführten Anforderungen Rechnung zu tragen.
  • Wenn ein Codewort, das Teil einer Tabelle von Codewörtern unterschiedlicher Länge ist, vollständig verschlüsselt wird, entsteht im Allgemeinen ein Codewort, das nicht dieser Tabelle angehört („nicht konformes" Wort); dementsprechend kann ein Decoder, der die Codewörter bitweise analysiert und bei jedem Bit Entscheidungen trifft, die Grenze des verschlüsselten Codewortes nicht erkennen, „verirrt" sich und weiß nicht mehr, welches Datenfeld er gerade analysiert; dieser Nachteil beruht auf der Tatsache, dass die Codewörter unterschiedliche Längen haben.
  • Die Schrift „A fast MPEG video encryption algorithm", Changgui Shi et al., ACM Multimedia 98, beschreibt ein Verfahren zur Verschlüsselung komprimierter Videodaten im Format MPEG durch einen Geheimschlüssel; die Vorzeichenbits der Koeffizienten (AC und DC) von Huffman – die Codewörter unterschiedlicher Länge sind – werden bitweise durch eine Antivalenzfunktion mit einem Schlüssel bestimmter Länge verknüpft (d. h. bitweise mit Hilfe logischer Antivalenzgatter mit den Bits des Schlüssels verknüpft) und werden jeweils – im Videodatenstrom – durch die Werte von Bits ersetzt, die sich in diesem Vorgang ergeben; in dieser Schrift wird vorgeschlagen, einen oder mehrere lange(n) Schlüssel zu verwenden; als Beispiel wird ein Schlüssel von 128 Bit verwendet.
  • Nach dieser Schrift werden nur die Vorzeichenbits der Codewörter verschlüsselt, und nur bei den Codewörtern, die Nutzdaten darstellen (Bewegungsvektoren und DCT-Koeffizienten, die die Textur darstellen), was ein konformes Codewort ergibt. Würden die Codewörter verschlüsselt, die etwas anderes darstellen, beispielsweise die Anzahl verschlüsselter Blöcke, würde sich der Decoder verirren, selbst wenn nach dem Verschlüsseln konforme Codewörter erhalten würden.
  • Dieses Verfahren der selektiven Verschlüsselung, die auf einen sehr kleinen Teil des Datenstromes angewendet wird, erfordert geringere Rechenkapazitäten, als die, die von den Verfahren zur vollständigen Verschlüsselung des Stromes gebraucht werden; zum Ausgleich ist die Maskierung der verschlüsselten Bilder relativ gering.
  • Nach der oben genannten Schrift Changgui Shi et al. erlauben Synchronisationspunkte, die dem Datenstrom hinzugefügt werden, einem Decoder, der über den Schlüssel verfügt, zu wissen, ab welcher Stelle im verschlüsselten Strom er wieder den Entschlüsselungsschlüssel anwenden muss; diese Synchronisationspunkte werden am Anfang jeder Gruppe von Bildern eingefügt, zu Beginn jedes Bildes des Typs I oder zu Beginn einer bestimmten Anzahl von Bildern.
  • Der Anhang E der Norm ISO 14496-2 definiert mehrere Tools oder nützliche Modi zur Minimisierung der negativen Folgen von Feh lern bei der Übertragung eines komprimierten Datenstromes: i) Synchronisationszeichen, ii) die Trennung zwischen den Texturdaten einerseits, den Kopf- und Bewegungsdaten andererseits, iii) die Verwendung reversibler Codes unterschiedlicher Länge zur Verschlüsselung der Texturdaten.
  • In einem Modus „Videopaketsynchronisation" kann ein periodisches Synchronisationszeichen am Ende eines Makroblocks geschaffen werden, wenn die Anzahl an Bits seit dem vorangehenden Zeichen einen bestimmten Schwellenwert überschreitet; ein Videopaket (Teil des Stromes zwischen zwei aufeinander folgenden Zeichen) weist so eine variable Anzahl an Makroblöcken auf.
  • Wenn der Datenstrom teilweise mit einem Blockverschlüsselungsalgorithmus verschlüsselt ist, wie etwa nach der DES-(Block von 64 Bit) und umso mehr nach der AES-Norm (128 Bit), kann die Anzahl zu verschlüsselnder Datenbits innerhalb eines derartigen Videopakets kleiner sein, als die Anzahl der Bits des Verschlüsselungsblocks, insbesondere wenn das Paket die Bewegungsvektoren enthält, die den Bildern vom Typ P und B angehören; ein derartiges Paket wird in diesem Fall unverschlüsselt übertragen und die Maskierung der Sequenz wird verringert sein.
  • Das Patent US 6 505 299 B1 (Zeng et al.) beschreibt verschiedene Verfahren zur Verschlüsselung (teilweise komprimierter) quantisierter Videodaten vor deren Codierung mit Huffman-Tabellen, Lauflängencodierung, arithmetischer Verschlüsselung oder anderer Entropiecodierung: Auf das Bild wird eine Raum-Frequenz-Transformation angewandt, was eine Transformationskoeffiziententabelle erzeugt; diese Koeffizienten werden dann verschlüsselt, entweder durch Verwürfelung ihrer Vorzeichenbits, oder durch Verwürfelung ihrer niedrigstwertigen Bits oder durch Mischung von Blöcken der Tabelle, oder durch Mischung von Koeffizienten, die einem Raumfrequenzbereich der Tabelle entsprechen.
  • Diese Schrift schlägt außerdem vor, die Bewegungsvektoren der Bilder vom Typ P und B zu verschlüsseln; dies verstärkt die Maskierung der verschlüsselten Bilder.
  • Ein Nachteil dieser Verschlüsselungsverfahren besteht darin, dass sie die Effektivität der Datenkompression verringern, die durch Quantisierung erhalten wird; ein anderer Nachteil besteht darin, dass sie größere Rechenmittel erfordern als die, die für eine Verschlüsselung nach Huffman-Codierung oder Ähnlichem erforderlich sind.
  • Die Patentanmeldung US-2002/0018565 (Luttrel et al.) beschreibt ein Verfahren zur selektiven Verschlüsselung eines MPEG4-Datenstroms, das die Codierungssyntax bewahrt; nach diesem Verfahren werden die Indizes (fester Länge gleich n) einer Tabelle von 2n Wörtern unterschiedlicher Länge verschlüsselt und für jeden Index der Tabelle wird das (unverschlüsselte) Wort, das diesem Index entspricht, durch das (unverschlüsselte) Wort ersetzt, das dem verschlüsselten Index entspricht; dieses Verfahren erlaubt nicht, die Beziehung der unverschlüsselten Tabelle zwischen der Länge eines Codewortes und der Häufigkeit des Auftretens des entsprechenden Symbols in einem Datenstrom zu erhalten; es verringert dementsprechend die Datenkompression durch Codierung mit Hilfe der verschlüsselten Tabelle.
  • Bestimmte der bekannten Verfahren zur Verschlüsselung eines Videodatenstroms sind gegen den Verlust eines Datenpaketes unempfindlich; dagegen reagieren diese Verfahren empfindlich auf den isolierten Verlust eines oder mehrerer Datenbits, was insbesondere in den drahtlosen Übertragungssystemen häufig eintritt.
  • Außerdem sind diese bekannten Verfahren inkompatibel mit den Verfahren zur Anpassung des Stromes an eine veränderliche Bandbreite, die von der Norm MPEG4FGS („fine granularity scalability", MPEG-4 Video Verification Model version 18.0, Januar 2001) vorgesehen sind, in denen ein Datenstrom zur Anpassung des Datenstroms an einen Übertragungskanal geringerer Bandbreite an willkürlichen Stellen beschnitten wird, sobald die Anzahl Bits, die dem Kanal zugewiesen sind, erreicht wird, beispielsweise in der Mitte eines Bildes.
  • Die vorliegende Erfindung hat zum Gegenstand, ein verbessertes Verfahren zum Verschlüsseln eines standardisierten Stroms komprimierter Daten vorzuschlagen.
  • Die vorliegende Erfindung hat ebenfalls zum Gegenstand, ein derartiges Verfahren vorzuschlagen, das – mindestens teilweise – den Nachteilen der bekannten Verfahren zum Verschlüsseln eines standardisierten Stroms komprimierter Audio- und Videodaten Abhilfe schafft.
  • Im Sinne der vorliegenden Anmeldung werden die Begriffe „codiertes Wort", „Codewort" und „Codeword" ohne Unterschied zur Bezeichnung eines Wortes einer Tabelle von Wörter unterschiedlicher Längen angewandt.
  • Die Erfindung wird durch die Patentansprüche definiert.
  • Sie betrifft das Verschlüsseln eines standardisierten Stroms komprimierter Audio- oder Videodaten, das das Verschlüsseln durch Pseudozufallsstrom mindestens eines Teils der Bits von Datenpaketen umfasst, der von zwei aufeinander folgenden Synchronisationszeichen begrenzt ist.
  • Da die Stromverschlüsselung bitweise erfolgt, ist die Stellung eines verschlüsselten Bits in einem verschlüsselten Datenpaket dieselbe, wie die, die das entsprechende Datenbit im Datenpaket vor der Verschlüsselung einnahm; außerdem beeinflusst der Zustand eines verschlüsselten Bits (bzw. eines unverschlüsselten Bits) nicht die benachbarten Bits; dieses Verschlüsselungsverfahren ist mit den Schwankungen der Anzahl zu verschlüsselnder Bits von einem Paket zum anderen kompatibel; kein zu verschlüsselndes Datenbit bleibt also unverschlüsselt; außerdem kann das Entschlüsseln eines stromverschlüsselten Paketes ausgehend vom Anfangssynchronisationszeichen des folgenden Pakets rückwärts erfolgen; die Erfindung erlaubt es zu vermeiden, dass die Verschlüsselung isolierte Fehler verbreitet, die durch die Übertragung entstanden sind und nur ein oder mehrere Bits innerhalb eines verschlüsselten Datenpaketes betreffen, was eine blockweise Verschlüsselung nicht erlaubt; die Erfindung erlaubt ebenfalls, ein zur Anpassung des Stroms an eine geringere Bandbreite beschnittenes Paket zu entschlüsseln.
  • Um Versuchen der betrügerischen Entschlüsselung zuvorzukommen, wird ein anderer (einmaliger) Pseudozufallsstrom bei jedem Paket des Datenstroms verwendet: Bei jedem Synchronisationszeichen des Datenstroms wird ein neuer Pseudozufallsstrom erzeugt, der bitweise durch eine Antivalenzfunktion mit den zu verschlüsselnden Datenbits verknüpft wird (d. h. der an Antivalenzgatter angelegt wird), und werden im Strom die verschlüsselten Datenbits wieder an der Stelle eingesetzt, die sie jeweils vor der Verschlüsselung einnahmen.
  • Vorzugsweise wird ein Verschlüsselungsstrom eines bestimmten Paketes durch Verarbeitung einer nicht verschlüsselten Information des bestimmten Paketes, zweite unverschlüsselte Information genannt, durch Verarbeitung einer nicht verschlüsselten Information des Datenstroms, die nicht dem bestimmten Paket angehört, erste unverschlüsselte Information genannt, und durch Verarbeitung eines einmaligen vorzugsweise für den Strom charakteristischen Geheimschlüssels erzeugt.
  • Ebenfalls vorzugsweise ist die unverschlüsselte Information des bestimmten Paketes eine Information des Kopfes des Pakets, und ist die unverschlüsselte Information des Datenstromes, die nicht zum bestimmten Paket gehört, ein Zeitstempel („time stamp") des Stroms.
  • In einer bevorzugten Ausführungsform wird zur Erzeugung eines einmaligen (von den anderen Pseudozufallsströmen verschiedenen) Pseudozufallsstroms für jedes Paket des Datenstromes eine oder mehrere Informationen aus dem Kopf des betrachteten Pakets und/oder Datenstroms verwendet, insbesondere ein Zeitstempel („time stamp") der Gruppe von Bildern, zu der das betrachtete Paket gehört, die mit einem Index verbunden sein kann/können, wie etwa dem Index des ersten Makroblocks des betrachteten Pakets, um eine Datenkombination zu bilden, die für das betrachtete Paket spezifisch ist.
  • Vorzugsweise werden außerdem blockweise mit Hilfe eines Geheimschlüssels die ersten und zweiten nicht verschlüsselten Daten verschlüsselt; zu diesem Zweck wird vorzugsweise ein Verschlüsselungsalgorithmus für Blöcke von 64 Bit, 128 Bit, 192 Bit oder 256 Bit verwendet, um für jedes Datenpaket einen Pseudozufallsstrom ausgehend von einem Schlüssel und von charakteristischen Daten des betrachteten Paketes zu erzeugen.
  • Zur Erhöhung der Widerstandsfähigkeit der Verschlüsselung gegen „Angriffe" (betrügerische Entschlüsselungsversuche), die die Kenntnis unverschlüsselter Teile des Datenstroms ausnutzen, wird außerdem vorzugsweise ein Hash-Algorithmus verwendet, um den Verschlüsselungsstrom der Daten des bestimmten Pakets ausgehend vom Ergebnis der blockweisen Verschlüsselung der ersten und zweiten nicht verschlüsselten Daten zu erzeugen.
  • Wenn, wie im Fall der Norm MPEG4, mindestens ein Teil der Daten des Stroms in Wörter unterschiedlicher Länge codiert wurde, werden nur die Bits dieser Codewörter verschlüsselt, die nach Verschlüsseln und Wiedereinsetzen ins Codewort der Struktur der Codewörter des zu verschlüsselnden Datenstroms entsprechen; vorzugsweise wird hierzu für Codewörter einer Codeworttabelle, die nicht alle dieselbe Länge haben, vorzugsweise für jedes Codewort der Tabelle mindestens ein Teil der Bits – und vorzugsweise alle Bits – verschlüsselt, die nach zufälliger Ände rung ihres/ihrer Werte(s) und nach bitweisem Ersetzen der unverschlüsselten Bits im zu verschlüsselnden Codewort durch die verschlüsselten Bits zur Bildung eines zweiten Codewortes der Codeworttabelle führt; die Länge des Codewortes bleibt so während dieses Verschlüsselns unverändert; mit anderen Worten werden die Codewörter mindestens einer Gruppe mehrerer Codewörter (und vorzugsweise aller Gruppen mehrerer Codewörter) der Tabelle gemischt (permutiert), die dieselbe Länge haben.
  • In einer bevorzugten Ausführungsform der Erfindung wird der Tabelle von Codewörtern unterschiedlicher Länge ein Index zur Identifizierung jedes Codewortes der Tabelle hinzugefügt, sowie mindestens ein Parameter, der für jedes Codewort der Tabelle die Anzahl – und gegebenenfalls die Stellung im Codewort – des oder der zu verschlüsselnden Bits definiert.
  • Zum Verschlüsseln einer Folge von Codewörtern eines Pakets des Datenstroms wird für jedes Codewort mit Hilfe dieser Tabelle die Anzahl und Stellung der zu verschlüsselnden Bits des Wortes ermittelt; dem Wort wird/werden das/die zu verschlüsselnde(n) Bit(s) entnommen und in einen Pufferspeicher geschrieben, wobei in diesem Pufferspeicher die zu verschlüsselnden Bits, die den Codewörtern der Folge der Codewörter entnommen wurden, verkettet werden; wenn dieser Pufferspeicher voll ist oder wenn ein Anfangssynchronisationszeichen des folgenden Pakets erreicht wird, wird die Kette von Bits verschlüsselt, die sich im Pufferspeicher befindet, und jedes der verschlüsselten Bits wird jeweils wieder an der Stelle eingesetzt, die sie vor dem Verschlüsseln im entsprechenden Codewort in der Codewortfolge des Pakets einnahmen; so wird nach dem Verschlüsseln ein Datenstrom erhalten, der der Kompressionsnorm genügt.
  • Um eine Folge so verschlüsselter Codewörter zu entschlüsseln, werden die umgekehrten Schritte ausgeführt: Jedem Wort des Stroms werden die verschlüsselten Bits entnommen, die in einen Pufferspeicher geschrieben werden; wenn dieser Puffer voll ist oder wenn ein Synchronisationszeichen des folgenden Paketes erreicht ist, wird die Bitfolge, die er enthält, entschlüsselt und dann jeweils jedes entnommene verschlüsselte Bit im Strom durch das entschlüsselte Bit derselben Stelle im Puffer ersetzt; dann wird der Puffer geleert, bevor in derselben Weise die Wörter des folgenden Pakets verarbeitet werden.
  • Alternativ hierzu wird fortlaufend („dem Strom folgend") jedes zu verschlüsselnde Bit des Datenstroms verschlüsselt, nachdem es dem Strom entnommen wurde, mit Hilfe einer Antivalenzverknüpfung mit dem entsprechenden Bit eines Blocks des Verschlüsselungs-Pseudozufallsstroms verschlüsselt und dann an die Stelle zurückversetzt, die es vorher im Datenstrom einnahm. Die Nachführung der Nummer des für die Antivalenzverknüpfung zu verwendenden Bits im Block des Verschlüsselungs-Pseudozufallsstroms kann mit einem Zähler erfolgen, der bei jedem neuen verschlüsselten Bit erhöht wird. Dieses Verfahren vermeidet die Notwendigkeit, die zu verschlüsselnden Bits in einem Puffer zu speichern, wie auch den Rest des Paketes in Erwartung der fehlenden Bits; es verringert also gleichzeitig die Kosten für Speicherplatz und die Verarbeitungsdauern, die durch diese Speicherungen hervorgerufen werden.
  • Die Vorteile dieses fortlaufenden Verschlüsselungsverfahrens durch Pseudozufallsstrom sind besonders wichtig für die Entschlüsselung, die im Allgemeinen in Geräten stattfindet, deren Rechenkapazität und Speicherplatz knapp sind.
  • Zum Entschlüsseln eines Datenstroms, der nach diesem Verfahren verschlüsselt wurde, wird in gleicher Weise vorgegangen, wie zum Verschlüsseln: Fortlaufend („mit dem Strom") wird jedes zu entschlüsselnde Bit des verschlüsselten Datenstroms, nachdem es dem Strom entnommen wurde, mit Hilfe einer Antivalenzverknüpfung mit dem entsprechenden Bit des Entschlüsselungs-Pseudozufallsblocks entschlüsselt.
  • In einem anderen Aspekt schlägt die Erfindung einen von einem Computer lesbaren Träger vor, auf dem ein Programmcode gespeichert ist, der die oben definierten Vorgänge ausführt, um dem Computer zu ermöglichen, einen komprimierten Datenstrom zu verschlüsseln oder umgekehrt einen erfindungsgemäß verschlüsselten komprimierten Datenstrom zu entschlüsseln.
  • Die Erfindung erlaubt es, mit reversiblen oder nicht reversiblen Codewörtern unterschiedlicher Länge mit oder ohne Vorzeichen codierte Datenströme unter Erhaltung der Codesyntax des Stroms zu verschlüsseln.
  • Die Erfindung erlaubt ebenfalls, im Fall von Tabellen von Codewörtern mit Vorzeichen, eine im Vergleich zu den Verfahren, die nur das Vorzeichenbit verschlüsseln, vollständigere Verwürfelung der Daten (insbesondere Bilder oder Töne) zu erreichen.
  • In einem anderen Aspekt schlägt die Erfindung einen Coder (oder einen Decoder) vor, wie er durch den Patentanspruch 17 definiert wird.
  • Weitere Merkmale und Vorteile der Erfindung erscheinen in der folgenden Beschreibung, die sich auf die beigefügten Zeichnungen bezieht und die ohne jegliche einschränkende Wirkung mehrere bevorzugte Ausführungsformen und -beispiele der Erfindung darstellt. Es zeigen:
  • 1a und 1b eine erfindungsgemäß angewandte Tabelle, die die Tabelle B-12 des Anhangs B der Norm MPEG4 (ISO 14496-2) umfasst, sowie eine Spalte von Indizes, die jeweils jedem Wort zugeordnet sind, und eine Spalte von Parametern, die die Anzahl verschlüsselbarer Bits jedes Wortes angeben.
  • 2 ist ein Teil der Tabelle B-23 des Anhangs B dieser Norm.
  • 3 ist ein Schema, das die erfindungsgemäße Verschlüsselung einer Folge von Wörtern eines Paketes eines Datenstroms darstellt.
  • Die verschlüsselbaren Bits des durch RVLC („reversible variable length coding" – reversible variable Längencodierung) codierten Teils eines MPEG4-Pakets (siehe 3) werden nicht blockweise verschlüsselt, sondern stromweise („stream cipher" – Stromverschlüsselung) FC, was die verschlüsselten Bits an ihrer Stelle belässt. Dies erlaubt es zu vermeiden, dass die Verschlüsselung zufällige Fehler verbreitet, die durch die Übertragung (vom Typ „drahtlos") verursacht wurden.
  • Das Paket P weist eine Reihe von Makroblöcken MB1, ..., MB3 von Bewegungsdaten auf, ein Trennungszeichen MM, gefolgt von einer Reihe von Makroblöcken MB4, ..., MB6, ... von Texturdaten.
  • Bei jedem Anfangssynchronisationszeichen MSI1 eines Pakets P des Stroms 10 von Videodaten wird ein neuer Pseudozufallsstrom FC erzeugt, der durch bitweise Antivalenzverknüpfung mit jedem der zu verschlüsselnden Nutzdatenbits angewandt wird, die vorher dem Strom 10 entnommen und in einem Register oder Pufferspeicher 11 gespeichert wurden. Die so verschlüsselten Bits werden dann wieder an ihrer Stelle eingesetzt; es werden nur die Bits verschlüsselt, die es erlauben, weiterhin der Kompressionsnorm zu genügen, d. h. die Vorzeichenbits und einige zusätzliche Bits, wie hierunter beschrieben.
  • Zur Sicherstellung der Sicherheit muss angesichts dessen, dass die blockweise Verschlüsselung für sicherer angesehen wird, jeder Pseudozufallsstrom zur Verschlüsselung der Pakete, wie etwa P (begrenzt durch zwei aufeinander folgende Synchronisationszeichen MSI1 und MSI2), einmalig sein.
  • Zur Sicherstellung der Fehlertoleranz muss der Pseudozufallsstrom FC geheim und fehlerlos vom Coder zum Decoder übermittelt werden können, auch wenn der Strom 10 von Videodaten Fehler enthält.
  • Zur Sicherstellung der Anpassbarkeit an die veränderliche Band breite muss, wenn nur der Anfang des verschlüsselten Pakets P empfangen wurde, der Anfang des Pakets P trotzdem entschlüsselt werden können. Dies wird durch die Tatsache sichergestellt, dass jedes verschlüsselte Bit unabhängig von den anderen verschlüsselten Bits ist und sich an der Stelle des entsprechenden unverschlüsselten Bits befindet.
  • Der Pseudozufallsstrom wird durch einen einmaligen Schlüssel C erzeugt, der beispielsweise mit der zu verschlüsselnden Videodatei verbunden ist, und durch Daten, die sich häufig ändern, die vor Fehlern geschützt sind und sich nie wiederholen; in einem MPEG-Strom gibt es nach den Bildanfangsmarken („VOP start code"), wie etwa IMT (3), im Allgemeinen einen Zeitstempel oder „time stamp": Innerhalb eines Filmes ist der Zeitstempel nie derselbe; ein von diesen Marken ausgehend berechneter Verschlüsselungsstrom wird sich also nie wiederholen; in einem anderen Film oder Datenstrom können sich dieselben Zeitstempel befinden, da jedoch der Schlüssel C der Datei ein anderer ist, sind die Verschlüsselungsströme FC verschieden.
  • Der Schlüssel wird dem Decoder unabhängig vom Strom übermittelt, beispielsweise durch ein Protokoll mit öffentlichem Schlüssel. Wenn sich ein Zeitstempel IMT nur am Anfang jedes Bildes (oder „video object plane") befindet, kann die dieser Marke entsprechende Information D1 mit einer zweiten Information D2 verbunden werden, wie etwa dem Index I1M des ersten Makroblocks des zu verschlüsselnden Videopakets P. So ist diese Verbindung im ganzen Film einmalig.
  • Um den Schlüssel C und die Daten D1 und D2 zur Erzeugung eines Pseudozufallsstroms FC zu verbinden, der sich sehr stark von einem anderen Pseudozufallsstrom unterscheidet, der mit demselben Schlüssel und einer Information D1 (Zeitstempel) erzeugt wurde, die sich nur sehr wenig vom ersten Zeitstempel des vorangehenden Pakets unterscheidet, werden die kombinierten Informationen D1 und D2 (auf 64 oder 128 Bit beispielsweise durch „0" aufgefüllt) mit einem Blockverschlüsselungsalgorithmus ACB wie etwa DES verschlüsselt, wobei der Schlüssel C der einmalige Geheimschlüssel für die Gesamtheit der Pakete des Stroms ist. Das Ergebnis wird einem Hash-Algorithmus (etwa nach der Norm SHA1) unterworfen, der einerseits zum Ziel hat, eine Meldung FC fester Länge auszugeben, beispielsweise von 160 Bit bei SHA1, und andererseits eine sehr verschiedene Meldung auszugeben, wenn der Eingang sich wenig, sogar nur um ein einziges Bit, ändert.
  • Ein derartiger SHA1-Algorithmus gibt 160 Bit aus, die durch Antivalenzverknüpfung auf die zu verschlüsselnden Nutzbits angewandt werden. Wenn es zwischen zwei aufeinander folgenden Synchronisationszeichen (wie etwa MSI1 und MSI2 im Paket P) weniger als 160 zu verschlüsselnde Bits gibt, werden nur die ersten Bits der SHA1-Ausgabe verwendet; wenn es dagegen mehr als 160 gibt, genügt es, mit Hilfe des einmaligen Schlüssels C, derselben Informationen D1 und D2 und eines Index D3, der erhöht wird, einen anderen Verschlüsselungsstromblock FC von 160 Bit zu erzeugen; in dieser Weise werden in dem Fall, wo ein einziger Verschlüsselungsstromblock FC nicht ausreichend groß ist, um alle Bits des betrachteten Pakets P zu verschlüsseln, ein oder mehrere zusätzliche Blöcke FC erzeugt, deren letzter nicht unbedingt vollständig verwendet wird. Um die Einmaligkeit jedes Verschlüsselungsstromblockes sicherzustellen, wird ein zusätzlicher Index D3 in den Anfangsblock eingefügt, der bei jedem neuen Verschlüsselungsstromblock erhöht wird, der bei einem bestimmten Paket verwendet wird.
  • Auf diese Weise kann der Verschlüsselungsstrom FC der Datenbits des Videopakets nach einer der folgenden Formeln erhalten werden:
    FC = SHA1(einmaliger DESschlüssel ((Zeitstempel) & [Ergänzung auf 64 Bit])),
    oder
    FC = SHA1(einmaliger AESschlüssel ((Zeitstempel) & Index & [Ergänzung auf 128 Bit])),
    je nachdem, ob eine DES- oder AES-Verschlüsselung verwendet wird, um den Verschlüsselungsstrom FC zu erzeugen.
  • Es ist möglich, Varianten dieses Verfahrens zu verwenden, die einen einzigen Schlüssel und einen Zeitstempel kombinieren.
  • Um einen Verschlüsselungsstrom zu erhalten, der aus einer Folge von Blöcken fester Länge besteht, können verschiedene symmetrische blockweise Verschlüsselungsalgorithmen, wie etwa „twofish", „serpent" oder die AES-Varianten zu 192 oder 256 Bit für die Daten und/oder den Schlüssel verwendet werden.
  • Zur Verringerung der Vorhersagbarkeit der Eingangsdaten des blockweisen ACB-Verschlüsselungsalgorithmus, der zur Erzeugung des Verschlüsselungsstroms verwendet wird, kann ein zweiter Schlüssel (C2 in 3) in diese Eingangsdaten eingefügt werden; dieser Schlüssel kann bei jedem zu verschlüsselnden Datenstrom (wie etwa einem Film) geändert werden, oder er kann auch bei einem gegebenen Datenstrom (Film) in regelmäßigen Zeitabständen geändert werden (beispielsweise jede Minute oder Sekunde), um das Sicherheitsniveau zu erhöhen; dieser zweite Schlüssel kann unabhängig vom Datenstrom übertragen werden, was eine geringfügige Vergrößerung der zu übertragenden Datenmenge bewirkt, oder kann auch durch einen dem Decoder bekannten Pseudozufalls-Algorithmus aus dem ersten Schlüssel (oder Hauptschlüssel) berechnet werden.
  • Wenn Fehler in der Übertragung des Datenstroms 10 auftreten, kann der Pseudozufallsstrom FC vom Decoder in derselben Weise regeneriert werden, wie sie oben für die Verschlüsselung beschrieben wurde, sofern die unverschlüsselten Daten D1 und D2 von den Fehlern nicht betroffen sind (der Hauptschlüssel C wird ja getrennt vom Strom 10 an den Decoder übertragen); dies wird im Allgemeinen der Fall sein, da ein Zeitstempel etwa zwanzig Bits pro Paket ausmacht, während die Nutzdaten eines Pakets mehrere Tausend Bit darstellen können.
  • Dieses Verfahren ist also mit den Tools der MPEG4-Norm kompatibel, die erlauben, den Paketfehlern und isolierten Fehlern Abhilfe zu schaffen.
  • Die Verwendung einer Hash-Funktion zur Erzeugung jedes Blocks des Verschlüsselungsstroms erlaubt die Erhöhung der Widerstandsfähigkeit der Verschlüsselung gegen Angriffe, die auf der Kenntnis unverschlüsselter Teile des Datenstroms beruhen.
  • Derartige unverschlüsselte Teile können aus einem oder mehreren vollkommen schwarzen Bildern bestehen oder aus einem oder mehreren Bildern, die die Marke des Produzenten eines Videofilms tragen, wie die, die im Allgemeinen im Vorspann eines Films erscheinen; die Kenntnis dieser unverschlüsselten Bilder und der entsprechenden verschlüsselten Daten erlaubt einem „Angreifer", mehrere Blöcke des Verschlüsselungsstroms zu bestimmen, indem die verschlüsselten Daten und die entsprechenden unverschlüsselten Daten an die Eingänge von Antivalenzgattern angelegt werden; wenn diese Blöcke keiner Verwürfelung durch ein Hash-Verfahren unterworfen wurden, ist es dann möglich, den Schlüssel ganz oder teilweise zu bestimmen; dagegen ist es dank der Verteilereigenschaft der Hash-Algorithmen schwierig – oder gar unmöglich – den Schlüssel aus der Kenntnis von Blöcken des Verschlüsselungsstromes abzuleiten, da diese Blöcke verwürfelt wurden.
  • Die Auswahl der zu verschlüsselnden Nutzdatenbits, die den Makroblöcken MB1 bis MB3 von Bewegungsdaten und den Makroblöcken MB4 bis MB6 (und folgenden) von Texturdaten entnommen wurden, wird jetzt unter Bezug auf die 1a, 1b und 2 beschrieben.
  • Das folgende Beispiel, das unter Bezug auf die 1a und 1b beschrieben wird, betrifft die Tabelle B-12 von Codewörtern für die Codierung der Bewegungsvektoren.
  • Wie in den 1a und 1b zu erkennen, weist die Tabelle 1 vier Spalten 4, 3, 2, 5 auf, die enthalten:
    • – Werte V, in diesem Fall Werte von Differenzen von Bewegungsvektoren, wie etwa V1 und V2;
    • – Codewörter M, die den verschiedenen zu verschlüsselnden Werten V zugehören, wie M1, M2, M3, M4, M33, M65;
    • – Indizes I, die zwischen 1 und 65 liegen, um jedes Wort M der Tabelle zu kennzeichnen, wie etwa I1, I2, I33, I65;
    • – Parameter NBC, die jeweils jedem Wort M der Tabelle zugeordnet sind, wie etwa NBC1, NBC2, NBC3, NBC33, zur Festlegung der Anzahl Bits des betrachteten Wortes, deren Ersatz durch das komplementäre Bit ein anderes Wort der Tabelle 1 erzeugt.
  • In dieser Figur ist zu erkennen, dass der größte Teil der Codewörter M von mindestens acht Bits eine Anzahl NBC verschlüsselbarer Bits von zwei, drei oder vier aufweist; insbesondere können in der Gruppe der vier Codewörter von dreizehn Bits, zu denen das Wort M33 gehört, zwei Bits jedes Wortes komplementiert (umgekehrt) werden.
  • Wie oben beschrieben wurde, sind die verschlüsselbaren Bits dieser Tabelle die Bits, die rechts von jedem Codewort gruppiert sind; wenn dies nicht der Fall ist, muss die Tabelle außerdem für jedes Codewort M die Angabe der Stellung jedes verschlüsselbaren Bits dieses Wortes enthalten.
  • Zur Verschlüsselung einer Folge von Codewörtern M, die einen der Makroblöcke MB1, ..., MB3 von Bewegungsdaten des Datenpakets bilden, wird der Tabelle 1 die Anzahl NBC verschlüsselbarer Bits des 1. Wortes M entnommen; die verschlüsselbaren Bits des Wortes M werden in den Puffer 11 (3) übertragen; der Vorgang wird für die folgenden Wörter des zu verschlüsselnden Stroms 10 wiederholt und die verschlüsselbaren, diesen Wörtern entnommenen Bits werden nacheinander im Puffer 11 verkettet, bis dieser voll ist oder bis zum Ende des Pakets; zu diesem Zeitpunkt werden die Bits des Puffers 11 verschlüsselt, indem sie ebenso, wie der Verschlüsselungsstrom FC, an die Eingänge von 160 Antivalenzgattern angelegt werden; die ausgegebenen verschlüsselten Bits werden bitweise in den Strom von Wörtern an den jeweiligen Stellen der Bits eingesetzt, die dem Strom 10 entnommen wurden, um einen verschlüsselten Strom zu bilden.
  • Alternativ können die verschlüsselbaren Bits fortlaufend („dem Strom folgend") verschlüsselt werden, wie oben beschrieben wurde.
  • Um ein Paket – oder einen Teil eines beschnittenen Pakets – eines erfindungsgemäß verschlüsselten Datenstroms zu entschlüsseln, erfolgt die Analyse des Stroms von links nach rechts; wenn ein Codewort von einem MPEG-Decoder analysiert wird, wird bei jedem Bit eine Entscheidung gefällt; nach dem Lesen des letzten unverschlüsselten Bits eines verschlüsselten Wortes bestimmt der Decoder die Gruppe von verschlüsselten Wörtern der Tabelle, die den bereits gelesenen unverschlüsselten Bits entspricht und bestimmt dementsprechend die Anzahl verschlüsselter Bits, die dem letzten unverschlüsselten Bit folgen; wenn beispielsweise die unverschlüsselte Bitfolge „000010" lautet, erlaubt das Lesen der Tabelle 1 zu bestimmen, dass das verschlüsselte Wort zwei verschlüsselte Bits aufweist, die diesen unverschlüsselten Bits folgen.
  • Die Verarbeitung dieser Bits ist dann identisch mit der zum Verschlüsseln angewandten: Die zu entschlüsselnden Bits werden in einem Puffer verkettet, bis er voll ist oder bis zum Ende des Pakets; der Inhalt des Puffers kann bitweise mit einem Entschlüsselungsstrom, der auf dieselbe Weise erzeugt wurde, wie sie oben zum Verschlüsseln angegeben wurde, an die Eingänge von Antivalenzgattern angelegt werden; die entschlüsselten Bits an den Ausgängen der Gatter werden wieder bitweise an den Stellen, die die verschlüsselten Bits einnahmen, in den zu entschlüsselnden Strom eingefügt.
  • Eine identische oder ähnliche Datenverarbeitung, wie die soeben beschriebene, kann auf die mit den reversiblen Codewörtern der Tabelle B-23 komprimierten Daten angewandt werden, deren 11 erste Codes in 2 erkennbar sind: Auf dunkelgrauem Hintergrund erscheinen die Zeichenbits, die verschlüsselt werden können; auf hellgrauem Hintergrund erscheinen diejenigen, die auch nach dem oben für die Tabelle B-12 beschriebenen Verfahren verschlüsselt werden können.

Claims (19)

  1. Verfahren zum Verschlüsseln eines standardisierten Stroms (10) komprimierter Audio- oder Videodaten, das das Verschlüsseln durch Pseudozufallsstrom (FC) mindestens eines Teils der Bits von Datenpaketen (P) aufweist, die von zwei aufeinander folgenden Synchronisationszeichen (MSI1, MSI2) abgegrenzt sind, dadurch gekennzeichnet, dass es Folgendes aufweist: – die Produktion mindestens eines Blocks des Verschlüsselungs-Pseudozufallsstroms, der für jedes Paket (P) des Datenstroms unterschiedlich ist, indem ein neuer Verschlüsselungs-Pseudozufallsstrom (FC) bei jedem ursprünglichen Synchronisationszeichen (MSI1, MSI2) eines Datenpakets erzeugt wird, – das bitweise Anwenden des Verschlüsselungsstroms mit den zu verschlüsselnden Datenbits anhand einer Funktion exklusiv „oder", um verschlüsselte Datenbits zu erzielen, und – das Ersetzen in dem Datenstrom (10) der nicht verschlüsselten Datenbits durch die verschlüsselten Datenbits an der Stelle, die sie jeweils vor dem Verschlüsseln einnahmen, und dadurch, dass der Verschlüsselungsstrom (FC) eines Pakets (P) durch nicht verschlüsselte Datenverarbeitung (D1, D2) des Datenstroms erzeugt wird.
  2. Verfahren nach Anspruch 1, angewandt an das Verschlüsseln komprimierter Daten, die zum Teil durch Tabellen (1) umkehrbarer codierter Wörter mit variabler Länge und nicht umkehrbarer codierter Wörter mit variabler Länge, die ein Vorzeichen haben oder nicht, codiert sind.
  3. Verfahren nach einem der Ansprüche 1 und 2, bei dem zumindest ein Block des Verschlüsselungsstroms (FC) erzeugt wird, indem mindestens eine nicht verschlüsselte Information (D1, D2) des Datenstroms (10) mittels eines symmetrischen blockweisen Verschlüsselungsalgorithmus erzeugt wird, und dann durch Anwenden eines Hasch-Algorithmus an das Ergebnis des blockweisen Verschlüsselns der Information (D1, D2).
  4. Verfahren nach einem der Ansprüche 1 bis 3, angewandt an das Verschlüsseln eines Datenstroms, der in abgeschnittener Form in einem Kanal mit verringertem Durchlassbereich übertragen wird.
  5. Verfahren nach einem der Ansprüche 1 bis 4, das die Produktion mehrerer Blöcke von Verschlüsselungs-Pseudozufallsströmen für ein gegebenes Paket, die sich durch mindestens einen Index (D3) unterscheiden, aufweist.
  6. Verfahren nach einem der Ansprüche 1 bis 5, beim dem die Produktion des Verschlüsselungsstroms (FC) eines Datenpakets (P) die Verarbeitung einer nicht verschlüsselten Information (D2) des betreffenden Datenpakets (P) unter Einsatz eines Geheimschlüssels (C), der vorzugsweise einzigartig und für den Datenstrom charakteristisch ist, aufweist.
  7. Verfahren nach einem Ansprüche 1 bis 6, bei dem die Produktion des Verschlüsselungsstroms (FC) eines Datenpakets die Verarbeitung einer nicht verschlüsselten Information (D1) aufweist, die nicht zu dem betreffenden Paket gehört, indem ein vorzugsweise einzigartiger und für den Datenstrom charakteristischer Geheimschlüssel (C) verwendet wird.
  8. Verfahren nach den Ansprüche 6 und 7, bei dem die nicht verschlüsselte Information (D2) des betreffenden Pakets eine Kopfteilinformation des Pakets ist, und bei dem die nicht verschlüsselte Information (D1) des Datenstroms, die nicht zum betreffenden Paket gehört, eine zeitliche Kennzeichnung, „time stamp" genannt, eines Teils des Stroms ist, der das betreffende Paket enthält.
  9. Verfahren nach den Ansprüchen 6 und 7 oder 8, bei dem die Produktion des Verschlüsselungsstroms der Daten eines bestimmten Pakets das blockweise Verschlüsseln der Daten, die nicht mit einem Schlüssel (C) verschlüsselt sind, aufweist.
  10. Verfahren nach Anspruch 9, bei dem die Produktion eines Verschlüsselungsstroms der Daten eines bestimmten Pakets den Einsatz eines Hasch-Algorithmus zum Erzeugen eines Verschlüsselungsstroms (FC) ausgehend von dem Ergebnis des blockweisen Verschlüsselns der nicht verschlüsselten Daten aufweist.
  11. Verfahren nach einem der Ansprüche 7 bis 10, bei dem man mit den Daten (D1, D2) einen zweiten Schlüssel (C2) kombiniert, der ausgehend von dem ersten Schlüssel (C) durch einen Pseudozufallsalgorithmus berechnet wird.
  12. Verfahren nach einem der Ansprüche 1 bis 11, bei dem man alle Bits des Pakets verschlüsselt, die nach dem Zufallswechsel ihres/ihrer Werts/Werte und nach dem bitweisen Ersetzen in dem zu verschlüsselten codierten Wort der nicht verschlüsselten Bits durch die verschlüsselten Bits das Bilden eines codierten Worts der Tabelle codierter Wörter bewirkt.
  13. Verfahren nach einem der Ansprüche 1 bis 12, bei dem man zu der Tabelle (1) codierter Wörter mit verschiedenen Längen einen Index (I) zur Identifikation jedes codierten Worts der Tabelle sowie mindestens einen Parameter (NBC) hinzufügt, der für jedes codierte Wort der Tabelle die Anzahl und die Position des oder der zu verschlüsselten Bits in dem codierten Wort definiert.
  14. Verfahren nach einem der Ansprüche 2 bis 13, bei dem man zum Verschlüsseln einer Folge codierter Wörter eines bestimmten Datenpakets: – für jedes codierte Wort mit der Tabelle die Anzahl und die Position der zu verschlüsselnden Bits des Worts bestimmt, – aus dem Wort das/die zu verschlüsselnde(n) Bit(s) extrahiert und es/sie in einen Pufferspeicher (11) gibt, indem man in diesem Pufferspeicher die zu verschlüsselnden Bits, die aus den codierten Wörtern des bestimmten Pakets extrahiert wurden, konkateniert, – wenn dieser Pufferspeicher (11) voll ist, oder wenn alle verschlüsselbaren Bits aus dem bestimmten Datenpaket extrahiert wurden, die Kette von Bits, die in dem Pufferspeicher gegenwärtig ist, durch einen einzigartigen Verschlüsselungsstrom (FC) verschlüsselt und jedes der verschlüsselten Bits wieder an die Stelle gibt, das es jeweils vor dem Verschlüsseln in dem Paket belegte.
  15. Verfahren nach einem der Ansprüche 1 bis 14, bei dem man einen blockweisen Verschlüsselungsalgorithmus (ACB) zu 64 Bits, 128 Bits, 192 Bits oder 256 Bits verwendet, um einen Verschlüsselungs-Pseudozufalls strom (FC) zu erzeugen.
  16. Komprimierter Strom verschlüsselter Daten, der indirekt durch ein Verfahren nach einem der Ansprüche 1 bis 15 erzielt wird.
  17. Codierer oder Decodierer eines Stroms formatierter und komprimierter Audio- oder Videodaten zum Umsetzen der Operationen eines Verfahrens nach einem der Ansprüche 1 bis 15, dadurch gekennzeichnet, dass er Folgendes aufweist – eine Tabelle (1) codierter Wörter mit verschiedenen Längen, wobei die Tabelle für jedes Wort einen Index (I) und einen Parameter (NBC) aufweist, die die Bits des zu verschlüsselnden oder entschlüsselnden Worts definieren, – Mittel (D1, D2, D3, C, C2, ACB, FC, XOR) zum Verschlüsseln oder Entschlüsseln durch Ströme, die die Bits verschlüsseln oder entschlüsseln können, indem sie die folgenden Operationen ausführen: – Erzeugen mindestens eines Blocks des Verschlüsselungs-Pseudozufallsstroms, der für jedes Paket (P) des Datenstroms unterschiedlich ist, indem ein neuer Verschlüsselungs-Pseudozufallsstrom (FC) bei jedem ursprünglichen Synchronisationszeichen (MSI1, MSI2) eines Datenpakets erzeugt wird, – bitweises Anwenden des Verschlüsselungsstroms mit den zu verschlüsselnden Datenbits mittels einer exklusiv-„ODER"-Funktion, um verschlüsselte oder entschlüsselte Datenbits zu erzielen, und – Ersetzen der nicht verschlüsselten oder ver schlüsselten Datenbits in dem Datenstrom (10) durch verschlüsselte oder entschlüsselte Datenbits an der Stelle, die sie jeweils vor dem Verschlüsseln oder Entschlüsseln belegten, wobei der Verschlüsselungsstrom (FC) eines Datenpakets (P) durch Verarbeiten nicht verschlüsselter Daten (D1, D2) des Datenstroms erzeugt wird.
  18. MPEG4-Codierer oder -Decodierer nach Anspruch 17, der ferner Folgendes aufweist: – einen Pufferspeicher (11), der dazu vorgesehen ist, vorübergehend die für ihr Ver(Ent)schlüsseln ausgewählten Datenbits aufzunehmen, – Mittel zum Aktivieren der Ver(Ent)schlüsselungsmittel durch Strom, um das Ver(Ent)schlüsseln der Bits zu bewirken, die in dem Zwischenspeicher gespeichert sind, wenn der Zwischenspeicher voll ist, oder wenn ein Synchronisationszeichen (MSI2) eines darauf folgenden Datenpakets (P) erreicht wurde, um die in dem Datenstrom ausgewählten Bits durch die gespeicherten und ent(ver)schlüsselten Bits zu ersetzen, und um den Zwischenspeicher zu entleeren.
  19. Träger, der von einem Computer gelesen werden kann, auf dem ein Programmcode aufgezeichnet ist, der die von einem der Ansprüche 1 bis 15 definierten Operationen umsetzt, um es dem Computer zu erlauben, einen Strom komprimierter Daten zu verschlüsseln, oder umgekehrt, einen Strom komprimierter verschlüsselter Daten zu entschlüsseln.
DE602004003067T 2003-07-16 2004-07-08 Verfahren zur verschlüsselung eines fehlertoleranzkomprimierten audio- oder videostroms Active DE602004003067T2 (de)

Applications Claiming Priority (3)

Application Number Priority Date Filing Date Title
FR0308641 2003-07-16
FR0308641A FR2857811A1 (fr) 2003-07-16 2003-07-16 Methode de chiffrage d'un flux audio ou video compresse a tolerance d'erreurs
PCT/FR2004/001794 WO2005009040A2 (fr) 2003-07-16 2004-07-08 Methode de chiffrage d’un flux audio ou video compresse a tolerance d’erreurs

Publications (2)

Publication Number Publication Date
DE602004003067D1 DE602004003067D1 (de) 2006-12-14
DE602004003067T2 true DE602004003067T2 (de) 2007-05-31

Family

ID=33548155

Family Applications (1)

Application Number Title Priority Date Filing Date
DE602004003067T Active DE602004003067T2 (de) 2003-07-16 2004-07-08 Verfahren zur verschlüsselung eines fehlertoleranzkomprimierten audio- oder videostroms

Country Status (5)

Country Link
US (1) US7680269B2 (de)
EP (1) EP1645129B1 (de)
DE (1) DE602004003067T2 (de)
FR (1) FR2857811A1 (de)
WO (1) WO2005009040A2 (de)

Families Citing this family (33)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
EP1518120A4 (de) 2002-03-11 2008-08-13 Momenta Pharmaceuticals Inc Analyse sulfatierter polysaccharide
US7469012B2 (en) * 2002-05-14 2008-12-23 Broadcom Corporation System and method for transcoding entropy-coded bitstreams
US8101733B1 (en) 2006-06-27 2012-01-24 Momenta Pharmaceuticals, Inc. Methods of evaluating mixtures of polysaccharides
US8189627B2 (en) 2006-06-28 2012-05-29 Samsung & Electronics Co., Ltd. System and method for digital communications using multiple parallel encoders
US7968082B1 (en) 2007-01-26 2011-06-28 Momenta Pharmaceuticals, Inc. Evaluating mixtures of low molecular weight heparins by NMR
US7790466B1 (en) 2007-01-26 2010-09-07 Momenta Pharmaceuticals, Inc. Evaluating mixtures of low molecular weight heparins by chain profiles or chain mapping
SE533185C2 (sv) * 2007-02-16 2010-07-13 Scalado Ab Metod för behandling av en digital bild samt bildrepresentationsformat
SE531398C2 (sv) * 2007-02-16 2009-03-24 Scalado Ab Generering av en dataström och identifiering av positioner inuti en dataström
US8111670B2 (en) * 2007-03-12 2012-02-07 Samsung Electronics Co., Ltd. System and method for processing wireless high definition video data using remainder bytes
US9139876B1 (en) 2007-05-03 2015-09-22 Momenta Pharmacueticals, Inc. Method of analyzing a preparation of a low molecular weight heparin
US8467526B2 (en) * 2008-06-09 2013-06-18 International Business Machines Corporation Key evolution method and system of block ciphering
CN101710964B (zh) * 2009-11-17 2012-09-05 深圳国微技术有限公司 Mpeg2传输流数据包的加密和解密方法
US8520958B2 (en) * 2009-12-21 2013-08-27 Stmicroelectronics International N.V. Parallelization of variable length decoding
WO2011090948A1 (en) 2010-01-19 2011-07-28 Momenta Pharmaceuticals, Inc. Evaluating heparin preparations
US8903088B2 (en) 2011-12-02 2014-12-02 Adobe Systems Incorporated Binding of protected video content to video player with encryption key
US8879731B2 (en) * 2011-12-02 2014-11-04 Adobe Systems Incorporated Binding of protected video content to video player with block cipher hash
US9064318B2 (en) 2012-10-25 2015-06-23 Adobe Systems Incorporated Image matting and alpha value techniques
US9201580B2 (en) 2012-11-13 2015-12-01 Adobe Systems Incorporated Sound alignment user interface
US10638221B2 (en) 2012-11-13 2020-04-28 Adobe Inc. Time interval sound alignment
US9355649B2 (en) 2012-11-13 2016-05-31 Adobe Systems Incorporated Sound alignment using timing information
US9076205B2 (en) 2012-11-19 2015-07-07 Adobe Systems Incorporated Edge direction and curve based image de-blurring
US8897588B2 (en) 2012-11-20 2014-11-25 Adobe Systems Incorporated Data-driven edge-based image de-blurring
US10249321B2 (en) 2012-11-20 2019-04-02 Adobe Inc. Sound rate modification
US9451304B2 (en) 2012-11-29 2016-09-20 Adobe Systems Incorporated Sound feature priority alignment
US10455219B2 (en) 2012-11-30 2019-10-22 Adobe Inc. Stereo correspondence and depth sensors
US9135710B2 (en) 2012-11-30 2015-09-15 Adobe Systems Incorporated Depth map stereo correspondence techniques
US10249052B2 (en) 2012-12-19 2019-04-02 Adobe Systems Incorporated Stereo correspondence model fitting
US9208547B2 (en) 2012-12-19 2015-12-08 Adobe Systems Incorporated Stereo correspondence smoothness tool
US9214026B2 (en) 2012-12-20 2015-12-15 Adobe Systems Incorporated Belief propagation and affinity measures
CA3047489A1 (en) 2016-12-21 2018-06-28 Bayer Pharma Aktiengesellschaft Antibody drug conjugates (adcs) having enzymatically cleavable groups
US20230057517A1 (en) * 2021-08-10 2023-02-23 Samsung Electronics Co., Ltd. Systems, methods, and apparatus for dividing and encrypting data
US11870617B2 (en) * 2021-09-15 2024-01-09 Qualcomm Incorporated Multilevel coding for physical layer security
US11764805B2 (en) 2021-10-06 2023-09-19 Samsung Display Co., Ltd. System and method for transition encoding with reduced error propagation

Family Cites Families (6)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
EP0888008B1 (de) * 1992-07-21 2002-11-27 Matsushita Electric Industrial Co., Ltd. Verschlüsselungsvorrichtung
US5541995A (en) * 1994-04-18 1996-07-30 Apple Computer Inc. Method and apparatus for decoding non-sequential data packets
US6505299B1 (en) * 1999-03-01 2003-01-07 Sharp Laboratories Of America, Inc. Digital image scrambling for image coding systems
US20020018565A1 (en) * 2000-07-13 2002-02-14 Maximilian Luttrell Configurable encryption for access control of digital content
US7088398B1 (en) * 2001-12-24 2006-08-08 Silicon Image, Inc. Method and apparatus for regenerating a clock for auxiliary data transmitted over a serial link with video data
US7062048B2 (en) * 2003-01-27 2006-06-13 Wegener Communications, Inc. Apparatus and method for single encryption with multiple authorization of distributed content data

Also Published As

Publication number Publication date
DE602004003067D1 (de) 2006-12-14
US7680269B2 (en) 2010-03-16
EP1645129A2 (de) 2006-04-12
FR2857811A1 (fr) 2005-01-21
WO2005009040A2 (fr) 2005-01-27
EP1645129B1 (de) 2006-11-02
US20060182274A1 (en) 2006-08-17
WO2005009040A3 (fr) 2005-03-31

Similar Documents

Publication Publication Date Title
DE602004003067T2 (de) Verfahren zur verschlüsselung eines fehlertoleranzkomprimierten audio- oder videostroms
DE60109467T2 (de) Verfahren und vorrichtung zur übertragung von netzwerkinformationen durch sichere transkodierung
DE602004003520T2 (de) Verfahren und Vorrichtung zur Verschlüsselung und Entschlüsselung eines Datenstromes
DE602004006042T2 (de) Skalierbares und fehlerfestes Verwalten von digitalen Rechten für skalierbares Medium
DE60311231T2 (de) Verfahren zum ermöglichen von direktzugriff und spleissen in einem verschlüsselten videostrom
Liu et al. A survey of video encryption algorithms
DE112006002893B4 (de) Verfahren zum Verarbeiten von Abschnitten von Daten aus einer Mehrzahl von Datenströmen an einem Umcodierungsknoten
DE112006004258B4 (de) Serielle und parallele Verarbeitung von Daten unter Verwendung von Informationen über die Daten und Informationen über ein Streaming-Netz
DE112007001012T5 (de) Verteilte Speicherung von Mediendaten
EP2311257B1 (de) Vorrichtung und verfahren zum verschlüsseln von bilddaten und entschlüsseln der verschlüsselten bilddaten und bilddatenverteilungssystem
EP2141923A1 (de) Verfahren und Vorrichtungen zur selektiven Datenverschlüsselung
DE10392598T5 (de) Unterstützung von fortschrittlichen Codierungsformaten in Mediendateien
US7504968B2 (en) Media data decoding device
DE10392586T5 (de) Allgemeine Anpassungsschicht für JVT-Video
WO2007077074A2 (de) Verfahren und vorrichtung zum generieren eines markierten datenstroms, verfahren und vorrichtung zum einfügen eines wasserzeichens in einen markierten datenstrom und markierter datenstrom
DE112010005315T5 (de) Verfahren und Vorrichtung zur sicheren Verteilung und Speicherung von Daten unter Verwendung von N Kanälen
DE602004010577T2 (de) System und Verfahren zur individuellen Video-Verschlüsselung
DE60224803T2 (de) Synchronisationsinformation welche im nächsten paket eines verschlüsselten rahmens einer stromverschlüsselung redundant eingefügt ist
DE60034009T2 (de) Verfahren zur Aktualisierung von Geheimschlüsseln in einem Datenkommunikationssystem
DE112006003046T5 (de) Serielle Verarbeitung von Daten unter Verwendung von Informationen über die Daten und Informationen über ein Streaming-Netz
DE60116964T2 (de) Verschlüsselungsverarbeitung für einen Medienstrom
DE112006002900B4 (de) Parallele Verarbeitung von Daten unter Verwendung von Informationen über die Daten und Informationen über ein Streaming-Netz
Thomas et al. Secure transcoders for single layer video data
DE10229976B4 (de) Verfahren zur Ver- und Entschlüsselung von nach dem Verfahren der priorisierten Pixelübertragung übertragenen oder gespeicherten digitalen Daten
EP1499126A1 (de) Verfahren zum Verschlüsseln eines komprimierten Audio- oder Videostroms mit Kodierungssyntaxschutz

Legal Events

Date Code Title Description
8364 No opposition during term of opposition