HINTERGRUND DER ERFINDUNGBACKGROUND OF THE INVENTION
1. Gebiet der Erfindung1. Field of the invention
Die
vorliegende Erfindung betrifft das Gebiet des Schutzes von Information.
Insbesondere wendet sich die vorliegende Erfindung der Bereitstellung
eines Schutzes für
digitale Videoinformation zu, um deren sichere Übertragung von einer Videoquelleneinrichtung
zu einer Videoempfangseinrichtung zu ermöglichen.The
The present invention relates to the field of information protection.
In particular, the present invention is directed to the provision
a protection for
digital video information for their secure transmission from a video source device
to enable a video receiving device.
2. Hintergrundinformation2. Background information
Im
Allgemeinen bietet Unterhaltung, Ausbildung, Kunst usw. (im Folgenden
zusammenfassend als "Information" bezeichnet) in digitaler
Form verpackt höhere
Audio- und Videoqualität
als deren analoge Gegenstücke.
Informationsproduzenten, insbesondere solche in der Unterhaltungsindustrie,
sind jedoch immer noch zurückhaltend,
die digitale Form vollständig
einzubeziehen. Der primäre
Grund ist, dass digitale Information besonders gefährdet gegenüber Piraterie
ist. Im Gegensatz zu der analogen Form, wo allgemein ein gewisser Grad
von Qualitätsverlust
mit jedem Kopieren auftritt, ist eine gestohlene Kopie von digitaler
Information faktisch so gut wie das "Gold master". Im Ergebnis ist großer Aufwand
durch die Industrie getrieben worden, um Techniken zu entwickeln
und anzupassen, um Schutz für
den Vertrieb und die Wiedergabe von digitaler Information bereitzustellen.in the
General offers entertainment, education, art, etc. (below
collectively referred to as "information") in digital
Mold packs higher
Audio and video quality
as their analog counterparts.
Information producers, in particular those in the entertainment industry,
but they are still reluctant
the digital form completely
included. The primary
Reason is that digital information is particularly vulnerable to piracy
is. Unlike the analogous form, where generally a certain degree
of quality loss
With every copying occurs, is a stolen copy of digital
Information as good as the "gold master". The result is great effort
driven by industry to develop techniques
and adapt to protection for
to provide distribution and reproduction of digital information.
Aus
historischen Gründen
ist die Übertragungsschnittstelle
zwischen einer Videoquelleneinrichtung (beispielsweise einem Personalcomputer)
und einer Videoempfangseinrichtung (beispielsweise) einem Monitor)
eine analoge Schnittstelle. Daher wurde der Bereitstellung eines
Schutzes für
die Übertragung
zwischen der Quelleneinrichtung und der Empfangseinrichtung wenig
Beachtung geschenkt. Mit Fortschritten bei integrierten Schaltungskreisen
und anderen, damit verbundenen Technologien taucht ein neuer Typ
einer digitalen Schnittstelle zwischen der Videoquelleneinrichtung
und einer Empfangseinrichtung auf. Die Verfügbarkeit dieses Typ einer neuen
digitalen Schnittstelle stellt jedoch eine andere, neue Herausforderung
dar, um digitale Videoinformation zu schützen. Während im Allgemeinen ein großer Umfang
von Verschlüsselungstechnologie bekannt
ist, stellen die Betriebscharakteristika wie das Volumen der Daten,
deren fließende
Eigenschaft, die Bitrate usw. sowie die Anordnung von Rechenkapazität typischerweise
in der Quelleneinrichtung und nicht in der Empfangseinrichtung eine
einzigartige Zusammenstellung von Herausforderungen dar, was neue
und neuartige Lösungen
erfordert.Out
historical reasons
is the transmission interface
between a video source device (for example, a personal computer)
and a video receiving device (for example) a monitor)
an analog interface. Therefore, the provision of a
Protection for
the transfer
between the source device and the receiving device little
Attention paid. With advances in integrated circuits
and other related technologies, a new type emerges
a digital interface between the video source device
and a receiving device. The availability of this type of new
However, digital interface presents another, new challenge
to protect digital video information. While generally a large scale
known by encryption technology
is, set the operational characteristics like the volume of data,
their flowing
Property, bitrate, etc., as well as the arrangement of computational capacity typically
in the source device and not in the receiving device a
unique compilation of challenges, what new ones
and novel solutions
requires.
ZUSAMMENFASSUNG
DER ERFINDUNGSUMMARY
THE INVENTION
Eine
Videoquelleneinrichtung liefert einen Basiswert für einen
symmetrischen Verschlüsselungs/Entschlüsselungs-Prozess
an eine Videoempfangseinrichtung, an die die Videoquelleneinrichtung
eine Videoinformation liefern soll. Zur Übertragung zu der Videoempfangseinrichtung
verschlüsselt
die Videoquelleneinrichtung die Videoinformation, was die Erzeugung
eines ersten Verschlüsselungsschlüssels durch
funktionale Transformation des Basiswerts umfasst. Die Videoquelleneinrichtung überprüft ferner
periodisch, dass die übertragene
Videoinformation tatsächlich
symmetrisch durch die Videoempfangseinrichtung entschlüsselt wird.A
Video source equipment provides a base value for one
symmetric encryption / decryption process
to a video receiving device to which the video source device
to provide video information. For transmission to the video receiving device
encoded
the video source device the video information, what the generation
a first encryption key
functional transformation of the underlying asset. The video source device also checks
periodically that the transferred
Video information actually
is decrypted symmetrically by the video receiving device.
KURZE BESCHREIBUNG
DER ZEICHNUNGENSHORT DESCRIPTION
THE DRAWINGS
Die
vorliegende Erfindung wird anhand von Ausführungsbeispielen aber ohne
Beschränkungen
beschrieben, die in den angefügten
Zeichnungen dargestellt sind, in denen gleiche Bezugszeichen ähnliche
Elemente bezeichnen und in denenThe
The present invention will be described by way of embodiments but without
restrictions
described in the attached
Drawings are shown in which like reference numerals are similar
Denote elements and in which
1 eine Übersicht
der vorliegenden Erfindung gemäß einem
Ausführungsbeispiel
darstellt; 1 an overview of the present invention according to an embodiment represents;
2 einen
symmetrischen Verschlüsselungs/Entschlüsselungs-Prozess
darstellt, der auf einem Verfahren zum Bereitstellen von Videoinformation
von einer Quelleneinrichtung für
eine Empfangseinrichtung gemäß einem
Ausführungsbeispiel
basiert, 2 FIG. 5 illustrates a symmetric encryption / decryption process based on a method of providing video information from a source device for a receiving device according to an embodiment; FIG.
3a–3b den
symmetrischen Verschlüsselungs/Entschlüsselungs-Prozess
aus 2 gemäß einem
Ausführungsbeispiel
darstellen, 3a - 3b the symmetric encryption / decryption process 2 according to one embodiment,
4 die
Videoquellen- und empfangseinrichtung aus 1 in größerem Detail
gemäß einem
Ausführungsbeispiel
darstellt, 4 the video source and receiving device off 1 in greater detail according to one embodiment,
5 die
kombinierte Block/Strom-Verschlüsselung
aus 4 in größerem Detail
gemäß einem
Ausführungsbeispiel
darstellt, 5 the combined block / stream encryption off 4 in greater detail according to one embodiment,
6 den
Blockschlüssel-Abschnitt
aus 5 in größerem Detail
gemäß einem
Ausführungsbeispiel der
Erfindung darstellt, 6 the block key section 5 in greater detail according to an embodiment of the invention,
7 den
Blockdaten-Abschnitt aus 5 in größerem Detail gemäß einem
Ausführungsbeispiel
darstellt und 7 the block data section 5 in greater detail according to one embodiment and represents
8a–8c den
Stromdaten-Abschnitt aus 5 in größerem Detail gemäß einem
Ausführungsbeispiel
der Erfindung darstellen. 8a - 8c the stream data section 5 in greater detail according to an embodiment of the invention.
DETAILLIERTE
BESCHREIBUNG DER ERFINDUNGDETAILED
DESCRIPTION OF THE INVENTION
In
der folgenden Beschreibung werden verschiedene Gesichtspunkte der
vorliegenden Erfindung beschrieben, und es verschiedene Details
werden dargelegt, um ein breites Verständnis der vorliegenden Erfindung
zu ermöglichen.
Es ist jedoch für
den Fachmann offensichtlich, dass die vorliegende Erfindung mit
nur einigen oder allen Gesichtspunkten umgesetzt werden kann und
dass die vorliegende Erfindung ohne die speziellen Details umgesetzt
werden kann. In anderen Beispielen können gut bekannte Merkmale
weggelassen oder vereinfacht werden, um die vorliegende Erfindung
nicht zu verschleiern.In
In the following description, various aspects of the
present invention, and there are various details
are set out to provide a broad understanding of the present invention
to enable.
It is, however, for
the person skilled in the art that the present invention with
only some or all aspects can be implemented and
that the present invention implemented without the specific details
can be. In other examples, well known features
omitted or simplified to the present invention
not to disguise.
Verschiedene
Operationen werden als eine Vielzahl diskreter Schritte beschrieben,
die wiederum in einer Weise durchgeführt werden, die zum Verständnis der
vorliegenden Erfindung am hilfreichsten ist. Die Reihenfolge der
Beschreibung sollte jedoch nicht so ausgelegt werden, als dass sie
impliziert, dass diese Operationen notwendigerweise in der Reihenfolge
durchgeführt
werden, in der sie dargestellt werden oder sogar reihenfolgenabhängig sind.
Schließlich
bezieht sich eine wiederholte Verwendung der Phrase "in einem Ausführungsbeispiel" nicht notwendigerweise
auf dasselbe Ausführungsbeispiel,
obwohl dies der Fall sein kann.Various
Operations are described as a variety of discrete steps,
which in turn are carried out in a manner that is useful for understanding the
present invention is most helpful. The order of
However, description should not be construed as being
implies that these operations are necessarily in order
carried out
where they are presented or even order-dependent.
After all
does not necessarily refer to repeated use of the phrase "in one embodiment"
to the same embodiment,
although this may be the case.
Nunmehr
Bezug nehmend auf 1, in dem ein Blockdiagramm
gemäß einem
Ausführungsbeispiel gezeigt
ist, das eine Übersicht
der vorliegenden Erfindung darstellt. Wie dargestellt, sind eine
Videoquelleneinrichtung 102 und eine Videoempfangseinrichtung 104 durch
eine digitale Videoverbindung 106 miteinander verbunden.
Die Videoquelleneinrichtung 102 liefert über die
digitale Videoverbindung 106 Videoinformation an die Videoempfangseinrichtung 104.
Gemäß der vorliegenden
Erfindung sind die Videoquelleneinrichtung 102 und die
Videoempfangseinrichtung 104 ausgestattet, um in der Lage
zu sein, gemeinsam einen symmetrischen Verschlüsselungs/Entschlüsselungs-Prozess
auszuführen.
Als Ergebnis kann Videoinformation in einer robuster verschlüsselten
digitalen Form von der Videoquelleneinrichtung 102 zu der
Videoempfangseinrichtung 104 über die Videoverbindung 106 geliefert
werden, was es schwieriger macht, die Videoinformation während der Übertragung
zu stehlen.Referring now to 1 in which a block diagram according to an embodiment is shown, which is an overview of the present invention. As shown, a video source device 102 and a video receiving device 104 through a digital video connection 106 connected with each other. The video source device 102 delivers via the digital video connection 106 Video information to the video receiving device 104 , According to the present invention, the video source device 102 and the video receiving device 104 equipped to be able to jointly execute a symmetric encryption / decryption process. As a result, video information may be in a more robust encrypted digital form from the video source device 102 to the video receiving device 104 over the video connection 106 which makes it harder to steal the video information during transmission.
Außer für die Lehren
der hierin eingeschlossenen vorliegenden Erfindung, die im Folgenden
detaillierter beschrieben wird, ist von der Videoquelleneinrichtung 102 und
der Videoempfangseinrichtung 104 beabsichtigt, einen großen Bereich
solcher Geräte
darzustellen, die im Stand der Technik bekannt sind. Beispiele von
Videoquelleneinrichtungen beinhalten Computer aller Größen (von
Palm-Größe-Geräten zu Desktop-Geräten und
jenseits davon), Set-up-Boxen oder DVD-Abspielgeräte, sind
aber nicht darauf beschränkt,
während Beispiele
von Videoempfangseinrichtungen CRT-Monitore, Flat-Panel-Displays
oder Fernseh-Geräte
beinhalten, aber nicht darauf beschränkt sind. Die digitale Videoverbindung 106 kann
in jeder aus einer Anzahl von mechanischen oder elektrischen Formen
implementiert werden, solange sie mit den Betriebserfordernissen (d.h.
Geschwindigkeit, Bitrate usw.) übereinstimmt
und ein Mechanismus (der als Hardware oder über ein Protokoll verwirklicht
ist) vorgesehen ist, um die Information zu steuern, die zwischen
Videoquellen- und empfangseinrichtung 102 und 104 (im
Folgenden einfach Quellen- bzw. Empfangseinrichtung) ausgetauscht
werden soll.Except for the teachings of the present invention included herein, which will be described in more detail below, the video source device 102 and the video receiving device 104 Intended to represent a wide range of such devices known in the art. Examples of video source devices include, but are not limited to, computers of all sizes (from Palm size devices to desktop devices and beyond), set-up boxes, or DVD players, while examples of video reception devices include CRT monitors, flat-panel Displays or television sets include, but are not limited to. The digital video connection 106 may be implemented in any of a number of mechanical or electrical forms, as long as it is consistent with the operating requirements (ie, speed, bitrate, etc.) and a mechanism (implemented as hardware or via a protocol) is provided to control the information between the video source and receiving device 102 and 104 (hereinafter simply source or receiving device) to be replaced.
2 stellt
eine Übersicht über das
Verfahren zum Liefern von Videoinformation von einer Quelleneinrichtung
zu einer Empfangseinrichtung gemäß einem
Ausführungsbeispiel
dar, das auf dem symmetrischen Verschlüsselungs/Entschlüsselungs-Prozess basiert.
In diesem Ausführungsbeispiel
wird von der Quellen- und der Empfangseinrichtung 102 und 104 angenommen,
dass sie beide mit einem Array von privaten Schlüsseln und einer komplementären Kennzeichnung
durch eine Zertifizierungseinrichtung versehen sind. Wie dargestellt
liefert die Quelleneinrichtung 102 nach dem Anschalten
oder nach einem Reset einen Basiswert für den symmetrischen Verschlüsselungs/Entschlüsselungs-Prozess
an die Empfangseinrichtung 104 (Block 202). In
dem dargestellten Ausführungsbeispiel
ist der Basiswert eine Zufallszahl (An). An kann gemäß einer aus
einer Anzahl von Techniken, die im Stand der Technik bekannt sind,
erzeugt werden. Zusätzlich
liefert die Quelleneinrichtung 102 ebenfalls seine Kennzeichnung
(Ak) an die Empfangseinrichtung 104 (Block 202).
Als Antwort liefert die Empfangseinrichtung 104 seine Kennzeichnung
(Bk) zurück
(Block 203). Nach dem Austausch der obigen Information
erzeugen die Quelleneinrichtung und die Empfangseinrichtung 102 und 104 unabhängig voneinander
deren entsprechende Kopien eines Berechtigungsschlüssels (Km),
wobei Ak und Bk verwendet werden (Block 204 und 205).
In dem dargestellten Ausführungsbeispiel
erzeugt die Quelleneinrichtung 102 ihre Kopie von Km durch
Aufsummieren von privaten Schlüsseln
ihres vorgesehenen Arrays, der durch Bk indiziert ist, während die
Empfangseinrichtung 104 ihre Kopie von Km durch Aufsummieren
privater Schlüssel
ihres vorgesehenen Arrays erzeugt, der durch Ak indiziert ist. Zu
diesem Zeitpunkt, wenn sowohl die Quelleneinrichtung 102 als
auch die Empfangseinrichtung 104 autorisierte Einrichtungen
sind, besitzen sie beide und Teilen einen gemeinsamen geheimen Berechtigungsschlüssel Km. 2 FIG. 4 illustrates an overview of the method for providing video information from a source device to a receiving device according to an embodiment based on the symmetric encryption / decryption process. In this embodiment, the source and the receiving device 102 and 104 assumed that they are both provided with an array of private keys and a complementary tag by a certification facility. As shown provided supplies the source device 102 after powering up or after a reset, a base value for the symmetric encryption / decryption process to the receiving device 104 (Block 202 ). In the illustrated embodiment, the base value is a random number (An). An can be generated according to any of a number of techniques known in the art. In addition, the source device provides 102 also its identification (Ak) to the receiving device 104 (Block 202 ). In response, the receiving device provides 104 its identification (Bk) back (block 203 ). After exchanging the above information, the source device and the receiving device generate 102 and 104 independently of each other, their respective copies of an authentication key (Km) using Ak and Bk (Block 204 and 205 ). In the illustrated embodiment, the source device generates 102 its copy of Km by summing up private keys of its designated array indexed by Bk while the receiving device 104 generates its copy of Km by summing up private keys of its designated array indexed by Ak. At this time, if both the source device 102 as well as the receiving device 104 are authorized entities, they both possess and share a common secret authentication key Km.
In
einem Ausführungsbeispiel
sind die Quelleneinrichtung 102 und die Empfangseinrichtung 104 vorher
mit einem Array von 40 56-Bit-Privat-Schlüsseln durch die Zertifizierungseinrichtung
versehen. An ist eine 64-Bit-Zufallszahl und Km ist 56-Bit lang.
Für genauere
Informationen zu dem oben beschriebenen Berechtigungsverfahren wird
auf die ebenfalls anhängige
U.S.-Patentanmeldung mit der Nummer 09/275,722 verwiesen, die am
24. März
1999 eingereicht wurde und "Method
and Apparatus for the Generation of Cryptographic Keys" betitelt ist und
die gleichen Erfinder sowie Anmelder wie die vorliegende Anmeldung
hat.In one embodiment, the source device 102 and the receiving device 104 previously provided with an array of 40 56-bit private keys by the certification facility. An is a 64-bit random number and Km is 56-bit long. For more detailed information on the justification procedure described above, see co-pending U.S. Patent Application Serial No. 09 / 275,722, filed March 24, 1999, entitled "Method and Apparatus for the Generation of Cryptographic Keys" and the same inventors and applicant as the present application has.
Wenn
eine mit einer Berechtigung versehene Empfangseinrichtung 104 vorliegt,
verschlüsselt
die Quelleneinrichtung 102 Videoinformation in eine verschlüsselte Form,
bevor die Videoinformation an die Empfangseinrichtung 104 übertragen
wird. Die Quelleneinrichtung 102 verschlüsselt die
Videoinformation unter Verwendung eines symmetrischen Verschlüsselungs/Entschlüsselungs-Prozesses
und verwendet die Zufallszahl (An) sowie den unabhängig erzeugten
Berechtigungsschlüssel
(Km) (Block 206). Nach Empfang der Videoinformation in
verschlüsselter
Form entschlüsselt
die Empfangseinrichtung 104 die verschlüsselte Videoinformation, wobei
derselbe symmetrische Verschlüsselungs/Entschlüsselungs-Prozess
angewandt wird und wobei der gelieferte An-Wert sowie ihre unabhängig erzeugte
Kopie von Km verwendet wird (Block 207).If an authorized receiving device 104 is present, the source device encrypts 102 Video information in an encrypted form before the video information to the receiving device 104 is transmitted. The source device 102 Encrypts the video information using a symmetric encryption / decryption process and uses the random number (An) and the independently generated authentication key (Km) (Block 206 ). Upon receipt of the video information in encrypted form, the receiving device decrypts 104 the encrypted video information using the same symmetric encryption / decryption process and using the supplied An value and its independently generated copy of Km (Block 207 ).
Gemäß der vorliegenden
Erfindung leitet die Quelleneinrichtung 102 als einen integralen
Teil des Verschlüsselns
von Videoinformation einen Satz von Verifikationsreferenzwerten
in eine vorbestimmten Weise ab (Block 208). In ähnlicher
Weise leitet die Empfangseinrichtung 104 ebenfalls als
einen integralen Teil des symmetrischen Entschlüsselns von Videoinformation
einen Satz von Verifikationswerten auf eine vorbestimmte Weise ab
und sendet diese abgeleiteten Verifikationswerte an die Quelleneinrichtung 102 (Block 209).
Nach Empfang jeder dieser Verifikationswerte vergleicht die Quelleneinrichtung 102 den
empfangenen Verifikationswert mit dem Entsprechenden der Verifikationsreferenzwerte,
um zu bestimmen und zu bestä tigen,
dass die verschlüsselte
Videoinformation tatsächlich
in geeigneter Weise durch die Empfangseinrichtung 104 entschlüsselt worden
ist (Block 210).According to the present invention, the source device routes 102 as an integral part of encrypting video information, a set of verification reference values in a predetermined manner (Block 208 ). Similarly, the receiving device conducts 104 also as an integral part of symmetrically decrypting video information, a set of verification values in a predetermined manner and sends these derived verification values to the source device 102 (Block 209 ). Upon receipt of each of these verification values, the source device compares 102 the received verification value with the corresponding one of the verification reference values to determine and confirm that the encrypted video information is actually suitably received by the receiving means 104 has been decrypted (block 210 ).
In
dem dargestellten Ausführungsbeispiel
erzeugen sowohl die Quelleneinrichtung 102 als auch die Empfangseinrichtung 104 die
Verifikationsreferenz- und Verifikationswerte kontinuierlich, aber
die Verifikationswerte werden von der Empfangseinrichtung 104 an
die Quelleneinrichtung 102 periodisch nach vorgegebenen
Intervallen geliefert.In the illustrated embodiment, both the source device generate 102 as well as the receiving device 104 the verification reference and verification values are continuous, but the verification values are received by the receiving device 104 to the source facility 102 delivered periodically at predetermined intervals.
In
einem Ausführungsbeispiel
sind die Verifikationsreferenz- und Verifikationswerte alle 64-Bit
lang, und die Empfangseinrichtung 104 liefert der Quelleneinrichtung 102 Verifikationswerte
bei der Initialisierung und bei jedem 64sten Rahmen danach.In one embodiment, the verification reference and verification values are all 64 bits long, and the receiving device 104 provides the source device 102 Verification values at initialization and at every 64th frame thereafter.
Die 3a–3b stellen
den symmetrischen Verschlüsselungs/Entschlüsselungs-Prozess
gemäß einem
Ausführungsbeispiel
in größerem Detail
dar. In diesem Ausführungsbeispiel
wird von der Videoinformation angenommen, eine Multi-Rahmen-Videoinformation
zu sein, wobei jeder Rahmen eine Vielzahl von Linien von Videoinformation
hat. Zwischen zwei Linien eines Rahmens gibt es ein Intervall, um
einer Empfangseinrichtung zu erlauben, selbst horizontal "nachzuziehen", was im Allgemeinen
als das horizontale Nachziehintervall oder horizontale Blanking-Intervall
(HBI) bekannt ist. In ähnlicher
Weise ist zwischen zwei Rahmen ein Intervall, um einer Empfangseinrichtung
zu erlauben, selbst vertikal "nachzuziehen", was im Allgemeinen
als das vertikale Nachziehintervall oder vertikale Blanking-Intervall
(VBI) bekannt ist.The 3a - 3b illustrate the symmetric encryption / decryption process in more detail according to an embodiment. In this embodiment, the video information is assumed to be multi-frame video information, each frame having a plurality of lines of video information. There is an interval between two lines of a frame to allow a receiver to "trace" itself horizontally, which is generally known as the horizontal retrace interval or horizontal blanking interval (HBI). Similarly, between two frames is an interval to allow a receiving device to self-tail vertically, which is generally known as the Vertical Redrawing Interval or Vertical Blanking Interval (VBI).
Die
Quelleneinrichtung 102 erzeugt zuerst einen Session-Schlüssel (Ks)
für die Übertragungssession (Block 302).
In dem dargestellten Ausführungsbeispiel
wird Ks durch Blockver schlüsselung
der oben erwähnten
Zufallszahl An erzeugt, wobei der Berechtigungsschlüssel Km
als der Blockverschlüsselungsschlüssel verwendet
wird, was C1 Takte angewandt wird. Die Dauer einer Übertragungssession
ist anwendungsabhängig. Typischerweise
entspricht sie einer natürlichen
Begrenzung der Videoinformation, z.B. die Übertragung des einzelnen Films
kann eine Übertragungssession
darstellen oder stattdessen kann die Übertragung einer Folge einer
Serie eine Übertragungssession
darstellen.The source device 102 first creates a session key (Ks) for the transmission session (Block 302 ). In the illustrated embodiment, Ks is generated by block encryption of the above-mentioned random number An, using the authentication key Km as the block encryption key, applying C1 clocks. The duration of a transfer session is application-dependent. Typically, it corresponds to a natural limitation of the video information, eg the transmission of the single movie may represent a broadcast session, or instead the transmission of a series episode may represent a broadcast session.
Nach
der Erzeugung des Session-Schlüssels
Ks erzeugt die Quelleneinrichtung 102 eine Anfangsversion
einer zweiten Zufallszahl (M0) (Block 304). In dem dargestellten
Ausführungsbeispiel
erzeugt die Quelleneinrichtung 102 zuerst eine Pseudozufallsbitfolge
(mit p Bits pro Takt), wobei eine Stromverschlüsselung mit der oben beschriebenen
Zufallszahl An und dem Sessions-Schlüssel Ks (in zwei Rollen, als
eine andere eingegebene Zufallszahl und als der Stromverschlüsselungsschlüssel) verwendet
wird, was C2 Takte angewandt wird. Die Quelleneinrichtung 102 leitet
M0 aus der Pseudozufallsbitfolge ab, wenn die Bitfolge erzeugt worden ist.After the generation of the session key Ks, the source device generates 102 an initial version of a second random number (M0) (block 304 ). In the illustrated embodiment, the source device generates 102 First, a pseudorandom bit string (with p bits per clock), using a stream encryption with the random number An described above and the session key Ks (in two roles, as another input random number and as the stream encryption key), applying C2 clocks. The source device 102 derives M0 from the pseudorandom bit string when the bit string has been generated.
Als
Nächstes
erzeugt die Quelleneinrichtung 112 einen Rahmenschlüssel (Ki)
für den
nächsten
Rahmen (Block 306). In dem dargestellten Ausführungsbeispiel
wird Ki durch Blockverschlüsselung
einer unmittelbar vorhergehenden Version der zweiten Zufallszahl
Mi-1 erzeugt, wobei der Session-Schlüssel Ks als Blockverschlüsselungsschlüssel verwendet
wird, was C3 Takte angewandt wird. Dies bedeutet, dass für den ersten Rahmen,
Frame-1, der Rahmenschlüssel
K1 durch Blockverschlüsselung
der oben beschriebenen Anfangsversion der zweiten Zufallszahl M0
erzeugt wird, wobei Ks verwendet wird, was C3 Takte angewandt wird.
Zusätzlich
wird diese Operation in der Folge bei jedem vertikalen Blanking-Intervall
für den
dann nächsten
Rahmen, Frame-2, Frame-3 usw. wiederholt.Next, the source device generates 112 a frame key (Ki) for the next frame (block 306 ). In the illustrated embodiment, Ki is generated by block ciphering an immediately preceding version of the second random number Mi-1, using the session key Ks as a block encryption key, applying C3 clocks. That is, for the first frame, frame-1, the frame key K1 is generated by block encryption of the above-described initial version of the second random number M0, using Ks, which applies C3 clocks. In addition, this operation is subsequently repeated every vertical blanking interval for the next frame, frame 2, frame 3, and so on.
Nach
Erzeugung des Rahmenschlüssels
Ki erzeugt die Quelleneinrichtung 102 die aktuelle Version der
zweiten Zufallszahl (Mi) (Block 303). Für das dargestellte Ausführungsbeispiel
erzeugt die Quelleneinrichtung 102 zuerst eine Pseudozufallsbitfolge
(mit p Bit pro Takt), wobei eine Stromverschlüsselung mit der vorhergehenden
Version der zweiten Zufallszahl Mi-1 und dem Rahmenschlüssel Ki
(in zwei Rollen, als eine andere Eingabezufallszahl und als der
Stromverschlüsselungsschlüssel) verwendet
werden, was C4 Takte angewandt wird. Die Quelleneinrichtung 102 leitet
Mi aus der Pseudozufallsbitfolge ab, wenn die Bitfolge erzeugt wird.After generation of the frame key Ki, the source device generates 102 the current version of the second random number (Mi) (block 303 ). For the illustrated embodiment, the source device generates 102 first a pseudorandom bit string (with p bits per clock), using a stream encryption with the previous version of the second random number Mi-1 and the frame key Ki (in two roles, as another input random number and as the stream encryption key), applying C4 clocks , The source device 102 derives Mi from the pseudorandom bit string when the bit string is generated.
Nach
Erzeugung der aktuellen Version der zweiten Zufallszahl Mi erzeugt
die Quelleneinrichtung 102 wieder eine Pseudozufallsbitfolge
(mit p Bit pro Takt), um den Rahmen zu verschlüsseln (Block 308).
In dem dargestellten Ausführungsbeispiel
erzeugt die Quelleneinrichtung 102 die Pseudozufallsbitfolge
unter Verwendung einer Stromverschlüsselung mit einer unmittelbar
vorhergehenden Version der zweiten Zufallszahl Mi-1 und dem Rahmenschlüssel Ki
(in zwei Rollen, als eine andere Eingabezufallszahl und als der
Stromverschlüsselungsschlüssel), was
C5 Taktzyklen angewandt wird. Die Videoinformation wird verschlüsselt durch
Ausführen
einer Exklusiv-ODER-Operation
(XOR-Operation) an dem Videostrom und der Pseudozufallsbitfolge.
Die Pseudozufallsbitfolge wird vorzugsweise mit einer Rate erzeugt,
die ausreichend ist, ein Pixel eines RGB-Signals pro Takt zu verschlüsseln. Daher
ist C5 gleich der Anzahl von Bits pro Pixel multipliziert mit der
Anzahl von Pixeln pro Linie sowie der Anzahl von Linien pro Rahmen.After generation of the current version of the second random number Mi, the source device generates 102 again a pseudo random bit sequence (with p bits per clock) to encode the frame (block 308 ). In the illustrated embodiment, the source device generates 102 the pseudo-random bit string using current encryption with an immediately preceding version of the second random number Mi-1 and the frame key Ki (in two roles, as another input random number and as the stream encryption key), which is applied to C5 clock cycles. The video information is encrypted by performing an exclusive OR (XOR operation) on the video stream and the pseudo random bit string. The pseudo-random bit string is preferably generated at a rate sufficient to encrypt one pixel of an RGB signal per clock. Therefore, C5 is equal to the number of bits per pixel multiplied by the number of pixels per line as well as the number of lines per frame.
In
dem dargestellten Ausführungsbeispiel
wird eine Stromverschlüsselung,
die aufeinanderfolgend Mi und Ki im Verlauf der Erzeugung der Pseudozufallsbitfolge
umformt, verwendet. Zusätzlich
wird die Robustheit der verschlüsselten
Videoinformation weiter durch Erhöhen der Unvorhersagbarkeit
der Pseudo zufallsbitfolge durch nachfolgende Modifikation des dann
aktuellen Zustandes von Ki bei den horizontalen Blanking-Intervallen des Rahmens
verstärkt
(Block 310).In the illustrated embodiment, a stream encryption successively transforming Mi and Ki in the course of the generation of the pseudorandom bit string is used. In addition, the robustness of the encrypted video information is further enhanced by increasing the unpredictability of the pseudorandom bit string by subsequently modifying the then current state of Ki at the frame horizontal blanking intervals (Block 310 ).
In
die Empfangseinrichtung 104 erzeugt diese in ähnlicher
Weise zuerst einen Session-Schlüssel
(Ks) für
die Übertragungs-Session
(Block 312). Nach Erzeugung des Session-Schlüssels
Ks, erzeugt die Empfangseinrichtung 104 eine Anfangsversion
der zweiten Zufallszahl (M0) (Block 314). Als Nächstes erzeugt
die Empfangseinrichtung 104 den Rahmenschlüssel (Ki)
und die zweite Zufallszahl (Mi) für den nächsten Rahmen (316).
Diese Operation wird in ähnlicher
Weise aufeinanderfolgend bei jedem vertikalen Blanking-Intervall
für den
dann nächsten
Rahmen wiederholt. In der Zwischenzeit erzeugt die Empfangseinrichtung 104 nach
Erzeugung von jedem Rahmenschlüssel
Ki und Mi entsprechende Pseudozufallsbitfolgen, um den Rahmen zu entschlüsseln (Block 318).
Die verschlüsselte
Videoinformation wird durch Ausführen
einer Exklusiv-ODER-Operation
(XOR-Operation) an dem Videostrom und der entsprechenden Pseudozufallsbitfolge durchgeführt. Die
Empfangseinrichtung 104 wendet ebenfalls eine Stromverschlüsselung
an, die aufeinanderfolgend Mi und Ki im Verlauf des Erzeugens der
Pseudozufallsbitfolge umwandelt. Des Weiteren wird Ki aufeinanderfolgend
bei den horizontalen Blanking-Intervallen des Rahmens verändert (Block 320).
Ki, die Pseudozufallsbitfolge und Mi werden symmetrisch erzeugt,
wie zuvor für
die Quelleneinrichtung 102 beschrieben.In the receiving device 104 similarly, it first generates a session key (Ks) for the transmission session (Block 312 ). After generation of the session key Ks, the receiving device generates 104 an initial version of the second random number (M0) (block 314 ). Next, the receiving device generates 104 the frame key (Ki) and the second random number (Mi) for the next frame ( 316 ). This operation is similarly repeated at each vertical blanking interval for the next frame then. In the meantime, the receiving device generates 104 after generation of each frame key Ki and Mi corresponding pseudorandom bit strings to decrypt the frame (block 318 ). The encrypted video information is performed by performing an exclusive OR (XOR) operation on the video stream and the corresponding pseudo random bit string. The receiving device 104 also applies a stream encryption, which successively converts Mi and Ki in the course of generating the pseudorandom bit string. Furthermore, Ki will open successively changed at the horizontal blanking intervals of the frame (block 320 ). Ki, the pseudo random bit sequence, and Mi are generated symmetrically as before for the source device 102 described.
In
einem Ausführungsbeispiel
haben Ks und jedes Ki beide eine Länge von 84-Bit. C1 und C3 sind beide
48 Takte lang. Jedes Pixel hat 24 Bit, und die Pseudozufallsbitfolge
wird mit 24 Bit pro Takt erzeugt. Jedes Mi hat eine Länge von
64-Bit, C3 und C4 haben eine Länge
von 56 Takten. Jedes 64-Bit große
Mi wird durch Aneinanderhängen
der "unteren" 16- Bitstromverschlüsselungsausgabe
von jedem der letzten vier Takte gebildet.In
an embodiment
Both Ks and each ki are 84-bits long. C1 and C3 are both
48 bars long. Each pixel has 24 bits, and the pseudo random bit string
is generated with 24 bits per clock. Every Wed has a length of
64-bit, C3 and C4 have a length
of 56 bars. Every 64-bit big
Wed gets stuck together
the "lower" 16-bit stream cipher output
formed by each of the last four bars.
Demgemäß kann die
Videoinformation vorteilhafterweise in verschlüsselter Form mit vergrößerter Robustheit
von der Quelleneinrichtung 102 zu der Empfangseinrichtung 104 über die
Verbindung 106 mit reduziertem Diebstahlrisiko übertragen
werden.Accordingly, the video information may advantageously be in encrypted form with increased robustness from the source device 102 to the receiving device 104 about the connection 106 be transmitted with reduced theft risk.
4 stellt
Videoquellen- und Empfangseinrichtungen aus 1 in Übereinstimmung
mit einem Ausführungsbeispiel
in größerem Detail
dar. Wie dargestellt, enthalten die Videoquelleneinrichtung 102 und
die Empfangseinrichtung 104 Schnittstellen 108a und 108b,
die an den entsprechenden Enden der Verbindung 106 angeordnet
sind. Jede der Schnittstelle 108a und 108b ist
vorteilhafterweise mit einer Verschlüsselungseinrichtung 110 gemäß der vorliegenden
Erfindung und einem XOR 112 versehen, um das Verfahren
zum Videoinformationsschutz gemäß der vorliegenden
Erfindung wie oben beschrieben durchzuführen. Zusätzlich ist die Schnittstelle 108a ferner
der Einfachheit der Darstellung halber dargestellt, als sei sie
mit einem separaten Zufallszahlengenerator 114 versehen.
Mit Ausnahme der Schnittstellen 108a und 108b sind
die Videoquelleneinrichtung 102 und die Empfangseinrichtung 104 ferner
vorgesehen, eine breite Kategorie dieser Einrichtungen, die in dem
Stand der Technik bekannt sind, darzustellen. 4 issues video source and reception equipment 1 in accordance with one embodiment in more detail. As shown, the video source device includes 102 and the receiving device 104 interfaces 108a and 108b at the corresponding ends of the connection 106 are arranged. Each of the interface 108a and 108b is advantageously with an encryption device 110 according to the present invention and an XOR 112 to perform the video information protection method according to the present invention as described above. In addition, the interface 108a for the sake of simplicity of presentation, as if with a separate random number generator 114 Mistake. Except for the interfaces 108a and 108b are the video source device 102 and the receiving device 104 and to provide a broad category of these devices known in the art.
Der
Zufallszahlengenerator 114 wird verwendet, um die vorher
beschriebene Zufallszahl An zu erzeugen. Der Zufallszahlengenerator 114 kann
als Hardware oder Software in jeder aus einer Anzahl von Ausführungen
implementiert werden, die im Stand der Technik bekannt sind. In
alternativen Ausführungsbeispielen kann
die Verschlüsselungseinrichtung 110 ebenfalls
verwendet werden, um An zu erzeugen, wie der Fachmann der fol genden
Beschreibung entnehmen kann, ohne die Verwendung eines separaten
Zufallszahlengenerators.The random number generator 114 is used to generate the previously described random number An. The random number generator 114 can be implemented as hardware or software in any of a number of embodiments known in the art. In alternative embodiments, the encryption device 110 can also be used to generate An, as one skilled in the art will appreciate from the following description, without the use of a separate random number generator.
Die
Verschlüsselungseinheit 110 ist
eine neuartige kombinierte Block/Stromverschlüsselungseinheit, die in der
Lage ist, entweder in einer Blockbetriebsart oder einer Strombetriebsart
betrieben zu werden. Um das Verfahren zum Schutz von Videoinformation
gemäß der vorliegenden
Erfindung durchzuführen,
wird die Verschlüsselungseinheit 110 in
der Block-Betriebsart
verwendet, um den oben beschriebenen Session-Schlüssel
Ks und die Rahmenschlüssel
Ki zu erzeugen, und in der Strom-Betriebsart, um die Pseudozufallsbitfolgen
für die
verschiedenen Rahmen zu erzeugen (und indirekt Mi, da sie aus den
entsprechenden Bitfolgen abgeleitet werden).The encryption unit 110 is a novel combined block / stream encryption unit capable of operating in either a block mode or a stream mode. To perform the video information protection method according to the present invention, the encryption unit becomes 110 in the block mode, to generate the session key Ks described above and the frame keys Ki, and in the stream mode to generate the pseudorandom bit strings for the various frames (and indirectly Mi, as derived from the corresponding bit strings become).
In
der Quelleneinrichtung 102 wird der XOR 112 verwendet,
um die Videoinformation zu verschlüsseln, wobei sie mit der Pseudozufallsbitfolge,
die von der Verschlüsselungseinheit 110 erzeugt
worden ist, an der Schnittstelle 108a kombiniert wird.
Geht man zu der Empfangseinrichtung 104 über, wird
der XOR 112 verwendet, um die verschlüsselte Videoinformation zu
entschlüsseln,
wobei sie mit der Pseudozufallsbitfolge kombiniert wird, die durch
die Verschlüsselungseinheit 110 an
der Schnittstelle 108b erzeugt worden ist.In the source facility 102 becomes the XOR 112 used to encrypt the video information, using the pseudo-random bit string provided by the encryption unit 110 has been generated at the interface 108a combined. Going to the receiving device 104 over, the XOR becomes 112 used to decrypt the encrypted video information, combining it with the pseudo-random bit string generated by the encryption unit 110 at the interface 108b has been generated.
5 stellt
die kombinierte Block/Strom-Verschlüsselungseinheit
aus 4 gemäß einem
Ausführungsbeispiel
in größerem Detail
dar. Wie dargestellt, umfasst die kombinierte Block/Strom-Verschlüsselungseinheit 110 einen
Block-Schlüssel-Abschnitt 502,
einen Datenabschnitt 504, einen Strom-Schlüssel-Abschnitt 506 und
einen Abbildungsabschnitt 508, die miteinander verbunden
sind. Der Block-Schlüssel-Abschnitt 502 und
der Datenabschnitt 504 werden sowohl in der Block-Betriebsart
als auch in der Strom-Betriebsart verwendet, während der Strom-Schlüssel-Abschnitt 506 und
der Abbildungsabschnitt 508 nur in der Strom-Betriebsart verwendet
werden. 5 turns off the combined block / stream encryption unit 4 According to one embodiment, in more detail. As shown, the combined block / stream encryption unit comprises 110 a block key section 502 , a data section 504 , a power-key section 506 and an imaging section 508 that are interconnected. The block key section 502 and the data section 504 are used in both block mode and stream mode while the stream key section 506 and the imaging section 508 only be used in the current mode.
Kurz
gefasst, wird in der Block-Betriebsart der Block-Schlüssel-Abschnitt 502 mit
einem Blockverschlüsselungsschlüssel versehen,
beispielsweise der zuvor beschriebene Berechtigungsschlüssel Km
oder der Session-Schlüssel
Ks, während
der Datenabschnitt 504 mit dem Fließtext versehen wird, beispielsweise die
vorher beschriebene Zufallszahl An oder die abgeleitete Zufallszahl
Mi-1. Das "Rekeying
enable"-Signal wird
in einen "abgeschalteten" Zustand gesetzt,
wobei der Block-Schlüssel-Abschnitt 502 von
dem Strom-Schlüssel-Abschnitt 506 betriebsmäßig entkoppelt
wird. Während
jedes Taktzyklus werden sowohl der Blockverschlüsselungsschlüssel als
auch der Fließtext
umgewandelt. Der Blockverschlüsselungsschlüssel wird
unabhängig
umgewandelt, während
die Umwandlung des Fließtextes
abhängig
ist von der Umwandlung, die an dem Blockverschlüsselungsschlüssel durchgeführt wird.
Nach einer gewünschten
Anzahl von Taktzyklen wird der bereitgestellte Fließtext in
verschlüsselten
Text umgewandelt. Für
das zuvor beschriebene Verfahren zum Schutz von Videoinformation
wird das verschlüsselte
An ausgelesen und als der Session-Schlüssel Ks verwendet, wenn der
Block-Schlüssel-Abschnitt 502 mit
Km versehen wird und der Datenabschnitt 504 mit dem An
versehen wird. Wenn der Block-Schlüssel-Abschnitt 502 mit
Ks versehen wird und der Datenabschnitt 504 mit dem Mi-1
versehen wird, wird das verschlüsselte
Mi-1 ausgelesen und als der Rahmenschlüssel Ki verwendet.In a nutshell, in block mode, the block key section becomes 502 with a block encryption key, for example the previously described authorization key Km or the session key Ks, while the data portion 504 is provided with the body text, for example, the previously described random number An or the derived random number Mi-1. The "Rekeying enable" signal is set to a "disabled" state, with the block key section 502 from the power key section 506 is operationally decoupled. During each clock cycle, both the block encryption key and the body text are converted. The block encryption key is independently converted, while the conversion of the body text depends on the conversion performed on the block encryption key. After a desired number of clock cycles, the provided body text is converted to encrypted text. For the video information protection method described above, the encrypted to is read out and used as the session key Ks when the block key section 502 is provided with Km and the data section 504 is provided with the on. If the block key section 502 is provided with Ks and the data section 504 is provided with the Mi-1, the encrypted Mi-1 is read out and used as the frame key Ki.
Um
den verschlüsselten
Fließtext
zu entschlüsseln,
werden der Block-Schlüssel-Abschnitt 502 und der
Datenabschnitt 504 in ähnlicher
Weise verwendet, wie es oben beschrieben wurde, um die zwischenzeitlichen "Schlüssel" zu erzeugen, die
weggespeichert werden (in Speicherplätzen, die nicht dargestellt
sind). Die gespeicherten, zwischenzeitlichen "Schlüssel" werden dann auf
den verschlüsselten
Text in umgekehrter Reihen folge angewendet, was zu dem Entschlüsseln des
verschlüsselten
Textes zurück
in ursprünglichen
Fließtext
führt.
Ein anderer Ansatz zum Entschlüsseln
des verschlüsselten
Textes wird beschrieben, nachdem der Block-Schlüssel-Abschnitt 502 und
der Datenabschnitt 504 weiter gemäß einem Ausführungsbeispiel
beschrieben worden sind, wobei Bezug auf 6–7 genommen
wird.To decrypt the encrypted body text, become the block-key section 502 and the data section 504 used as described above to generate the intermediate "keys" that are cached away (in memory locations that are not shown). The stored intermediate "keys" are then applied to the encrypted text in reverse order, resulting in the decrypting of the encrypted text back to the original text. Another approach to decrypting the encrypted text is described after the block key section 502 and the data section 504 have further been described according to an embodiment, wherein reference to 6 - 7 is taken.
In
der Strom-Betriebsart wird der Strom-Schlüssel-Abschnitt 506 mit
einem Strom-Verschlüsselungsschlüssel versehen,
beispielsweise der zuvor beschriebene Session-Schlüssel Ks
oder der Rahmenschlüssel Ki.
Der Block-Schlüssel-Abschnitt 502 und
der Datenabschnitt 504 werden mit Zufallszahlen versehen,
beispielsweise die zuvor beschriebenen Session/Rahmen-Schlüssel Ks/Ki
und die abgeleiteten Zufallszahlen Mi-1. Das "Rekeying enable"-Signal wird auf einen "eingeschalteten" Zustand gesetzt,
wobei der Block-Schlüssel-Abschnitt 502 mit
dem Strom-Schlüsselabschnitt 506 betriebsmäßig verbunden
wird. Periodisch bei vorbestimmten Intervallen, beispielweise die
zuvor beschriebenen horizontalen Blanking-Intervalle, wird der Strom-Schlüssel-Abschnitt 506 verwendet,
um einen oder mehrere Datenbits zu erzeugen, um dynamisch den dann
aktuellen Zustand der Zufallszahl, die in dem Block-Daten-Abschnitt 502 gespeichert
ist, zu verändern. Während jedes
Taktzyklus zwischen den vorbestimmten Intervallen werden sowohl
die Zufallszahl, die in dem Block-Schlüsselabschnitt 502 gespeichert
ist, als auch der Datenabschnitt 502 umgewandelt. Die Zufallszahl, mit
der der Block-Schlüssel-Abschnitt 502 versehen
wird, wird unabhängig
umgewandelt, während
die Umwandlung der Zufallszahl, mit der der Datenabschnitt 504 versehen
ist, abhängig
ist von der Umwandlung, die in dem Block-Schlüssel-Abschnitt 502 durchgeführt wird.
Der Aufzeichnungsblock 506 fragt einen Teilabschnitt von
jedem der neu umgewandelten Zustände
der Zufallszahlen ab und reduziert diese, um ein Bit der Pseudozufallsbitfolge
zu erzeugen. Somit wird in einer gewünschten Anzahl von Taktzyklen
eine Pseudozufallsbitfolge einer gewünschten Länge erzeugt.In the power mode, the power key section becomes 506 provided with a stream encryption key, for example, the previously described session key Ks or the frame key Ki. The block key section 502 and the data section 504 are provided with random numbers, for example the previously described session / frame keys Ks / Ki and the derived random numbers Mi-1. The "Rekeying enable" signal is set to an "on" state, with the block key section 502 with the power key section 506 is operationally connected. Periodically at predetermined intervals, for example the previously described horizontal blanking intervals, the stream key section becomes 506 used to generate one or more data bits to dynamically determine the then current state of the random number contained in the block data section 502 is stored to change. During each clock cycle between the predetermined intervals, both the random number appearing in the block key portion 502 is stored, as well as the data section 502 transformed. The random number with which the block key section 502 is converted independently, while the conversion of the random number with which the data section 504 is dependent on the conversion, in the block key section 502 is carried out. The recording block 506 polls a subsection of each of the newly converted states of the random numbers and reduces them to produce one bit of the pseudorandom bit string. Thus, a pseudorandom bit string of a desired length is generated in a desired number of clock cycles.
In
dem dargestellten Ausführungsbeispiel
kann wegen der Verwendung des "Rekeying
enable"-Signals
der Strom-Schlüssel-Abschnitt 506 sogar
während
der Block-Betriebsart in Betrieb bleiben, da seine Ausgaben effektiv
durch das "Rekeying
enable"-Signal (das
in einen "disabled"-Zustand gesetzt
ist) verworfen werden.In the illustrated embodiment, because of the use of the "Rekeying enable" signal, the stream key section 506 even remain operational during the block mode since its outputs are effectively discarded by the "rekeying enable" signal (which is in a "disabled" state).
6 stellt
den Block-Schlüssel-Abschnitt
aus 5 gemäß einem
Ausführungsbeispiel
in größerem Detail
dar. Wie dargestellt, umfasst der Block-Schlüssel-Abschnitt 502 Register 602a–602c,
Austauschkästen 604 und
eine lineare Umwandlungseinheit 606. In der Block-Betriebsart
werden die Register 602a–602c gemeinsam auf
einen Blockverschlüsselungsschlüssel initialisiert,
z.B. den Berechtigungsschlüssel
Km oder den Session-Schlüssel
Ks. In der Strom-Betriebsart werden die Register 602a–602c gemeinsam
auf eine Zufallszahl initialisiert, z.B. den Session-Schlüssel Ks
oder den Rahmenschlüssel
Ki. Bei jedem Durchlauf verändern die
Austauschboxen 604 und die lineare Umwandlungseinheit 606 den
Inhalt der Register 602a–602c. Insbesondere
erhalten die Austauschboxen 604 den Inhalt des Registers 602a,
verändern
ihn und speichern dann den ausgetauschten Inhalt in das Register 602c.
In ähnlicher
Weise erhält
die lineare Umwandlungseinheit 606 den Inhalt der Register 602b und 602c,
wandelt diesen linear um und speichert dann in entsprechender Weise den
linear umgewandelten Inhalt in die Register 602a und 602b. 6 turns off the block key section 5 according to one embodiment, in greater detail. As illustrated, the block key section comprises 502 register 602a - 602c , Exchange boxes 604 and a linear conversion unit 606 , In block mode, the registers become 602a - 602c is initialized to a block encryption key, eg the authorization key Km or the session key Ks. In the power mode, the registers 602a - 602c initialized to a random number, eg the session key Ks or the frame key Ki. With each pass, the replacement boxes change 604 and the linear conversion unit 606 the contents of the registers 602a - 602c , In particular, receive the replacement boxes 604 the contents of the register 602a , change it and then save the exchanged content in the register 602c , Similarly, the linear conversion unit gets 606 the contents of the registers 602b and 602c , converts it linearly and then stores in a corresponding manner the linearly converted content in the registers 602a and 602b ,
Die
Austauschboxen 604 und die lineare Umwandlungseinheit 606 können in
einer Vielzahl von Möglichkeiten
gemäß gut bekannten
kryptographischen Prinzipien implementiert werden. Eine spezielle
Implementation ist in größerem Detail
nach der Beschreibung von 7 angegeben.The exchange boxes 604 and the linear conversion unit 606 can be implemented in a variety of ways according to well known cryptographic principles. A specific implementation is described in more detail after the description of 7 specified.
7 stellt
den Block-Daten-Abschnitt aus 5 gemäß einem
Ausführungsbeispiel
in größerem Detail
dar. In dem dargestellten Ausführungsbeispiel
ist der Datenabschnitt 504 in ähnlicher Weise aufgebaut wie der
Block-Schlüssel-Abschnitt 502,
außer
dass die lineare Umwandlungseinheit 706 ebenfalls den Inhalt
des Registers 602b berücksichtigt,
wenn die Inhalte der Register 702a–702c umgewandelt
werden. In der Block-Betriebsart
werden die Register 702a–702c gemeinsam mit
dem Target-Fließtext
initialisiert, z.B. die zuvor beschriebene Zufallszahl An oder die
abgeleitete Zufallszahl Mi-1. In der Strom-Betriebsart werden die
Register 702a–702c gemeinsam
mit einer Zufallszahl initialisiert. Bei jedem Durchlauf verändern die
Austauschboxen 704 und die lineare Umwandlungseinheit 706 den
Inhalt der Register 702a–702c, wie zuvor für den Block-Schlüsselabschnitt 502 beschrieben
mit Ausnahme der zuvor angegebenen Unterschiede. 7 turns off the block data section 5 according to one embodiment, in greater detail. In the illustrated embodiment, the data portion 504 constructed in a similar way to the block key section 502 except that the linear conversion unit 706 also the content of register 602b considered if the contents of the register 702a - 702c being transformed. In block mode, the registers become 702a - 702c initialized together with the target body text, eg the random number An described above or the derived random number Mi-1. In the current mode, the registers 702a - 702c initialized together with a random number. With each pass, the replacement boxes change 704 and the linear conversion unit 706 the contents of the registers 702a - 702c as before for the block key section 502 described with the exception of the differences indicated above.
Wiederum
können
die Austauschboxen 604 und die lineare Umwandlungseinheit 606 in
einer Vielzahl von Möglichkeiten
gemäß gut bekannten
kryptrographischen Prinzipien implementiert werden.Again, the replacement boxes 604 and the linear conversion unit 606 can be implemented in a variety of ways according to well-known cryptographic principles.
In
einer Implementation für
das oben beschriebene Ausführungsbeispiel
ist jedes Register 602a, 602b, 602c, 702a, 702b, 702c 28-Bit
breit. [Immer dann, wenn die Register 602a–602c oder 702a–702cb gemeinsam
mit einem Schlüsselwert
oder einer Zufallszahl mit weniger als 84-Bits initialisiert werden,
werden die Bitnummern kleiner als 84 auf die Bitstellungen mit niedriger
Nummer initialisiert, wobei die Bitstellungen höherer Nummer mit Nullen gefüllt werden.]
Zusätzlich
ist jeder Satz von Austauschboxen 604 oder 704 mit
sieben 4-Eingabe- mal 4-Ausgabe-Austauschboxen versehen. Jede lineare
Umwandlungseinheit 606 oder 706 liefert 56 Ausgabewerte
durch Kombination der Ausgaben von 8 Diffusionsnetzwerken (von denen
jedes sieben Ausgaben erzeugt). Insbesondere wird die Betriebsweise
der Austauschboxen 604/704 und der linearen Umwandlungseinheit 606/706 durch
die vier folgenden Tabellen bestimmt. Für die Austauschboxen 604/704 ist
die I-te Eingabe in Box J das (I*7+J)-te Bit des Registers 602a/702a,
und die I-te Ausgabe der Box J geht an das (I*7+J)-te Bit des Registers 602c/702c.
[Das Bit 0 ist das am wenigstens signifikante Bit.] Für jedes
Diffusionsnetzwerk (lineare Umwandlungseinheit 606 sowie 706)
sind die Eingaben im Allgemeinen mit I0–I6 bezeichnet, und die Ausgaben
sind mit O0–O6
bezeichnet. Die zusätzlichen
Eingaben für
jedes Diffusionsnetzwerk der linearen Umwandlungseinheit 706 sind
mit K0–K6
bezeichnet.In one implementation for the embodiment described above, each register is 602a . 602b . 602c . 702a . 702b . 702c 28-bit wide. [Whenever the registers 602a - 602c or 702a - 702cb initialized together with a key value or random number less than 84 bits, the bit numbers less than 84 are initialized to the low-number bit positions, where the higher-number bit positions are filled with zeros.] In addition, each set of replacement boxes 604 or 704 provided with seven 4 input times 4 output replacement boxes. Each linear conversion unit 606 or 706 provides 56 output values by combining the outputs of 8 diffusion networks (each producing seven outputs). In particular, the operation of the exchange boxes 604 / 704 and the linear conversion unit 606 / 706 determined by the four following tables. For the replacement boxes 604 / 704 the I-th input in Box J is the (I * 7 + J) -th bit of the register 602a / 702a , and the I-th output of Box J goes to the (I * 7 + J) th bit of the register 602c / 702c , [Bit 0 is the least significant bit.] For each diffusion network (linear conversion unit 606 such as 706 ), the inputs are generally designated I0-I6, and the outputs are labeled O0-O6. The additional inputs for each diffusion network of the linear conversion unit 706 are designated K0-K6.
Tabelle
I – Ersetzungen,
die durch jede der sieben Teil-Austauschboxen
der Austauschboxen 604/704 durchgeführt werden. Table I - Replacements performed by each of the seven replacement boxes of Exchange Boxes 604/704.
Tabellen
II und III – Diffusionsnetzwerke
für lineare
Umwandlungseinheit 606/706 (Fortsetzung in Tabelle IV). Tables II and III - Diffusion Networks for Linear Conversion Unit 606/706 (continued in Table IV).
Tabelle
IV – Diffusionsnetzwerke
für lineare
Umwandlungseinheit 606/706 (Fortsetzung von Tabellen II & III). Table IV - Diffusion Networks for Linear Conversion Unit 606/706 (continuation of Tables II & III).
Nunmehr
zurückkommend
auf 5 ist zu berücksichtigen,
dass ein verschlüsselter
Text durch Erzeugung der Zwischen-"Schlüssel" und der Anwendung
dieser rückwärts entschlüsselt werden
kann. Alternativ kann in einem Ausführungsbeispiel, wo entweder
die Umkehrung der Austauschboxen 604/704 und der
linearen Umwandlungseinheiten 606/706 enthalten
ist oder wo sie dynamisch neu aufgebaut werden kann, um in umgekehrter
Weise zu arbeiten, der verschlüsselte
Text wie folgt entschlüsselt
werden. Zuerst wird der Verschlüsselungsschlüssel, der
verwendet wird, um den Fließtext
zu verschlüsseln,
in den Block-Schlüssel-Abschnitt 502 geladen,
und der Block-Schlüssel-Abschnitt 502 läuft durch
R-1-Umläufe
weiter, d.h. einen Umlauf kürzer
als die Anzahl von Umläufen
(R), die angewandt wird, um den Fließtext zu verschlüsseln. Nach
den anfänglichen
R-1 Umläufen
wird der verschlüsselte
Text in den Datenabschnitt 504 geladen und beide Abschnitte,
Block-Schlüssel-Abschnitt 502 und
Datenabschnitt 504, werden "rückwärts" betrieben, d.h.
die Austauschboxen 605/704 und die linearen Umwandlungseinheiten 606/706 wenden
die umgekehrten Ersetzungen bzw. linearen Umwandlungen an.Now come back on 5 It should be noted that an encrypted text can be decrypted by creating the intermediate "keys" and applying them backwards. Alternatively, in one embodiment where either the reversal of the replacement boxes 604 / 704 and the linear conversion units 606 / 706 or, where it can be dynamically rebuilt to work in reverse, the encrypted text is decrypted as follows. First, the encryption key used to encrypt the body text is put in the block key section 502 loaded, and the block-key section 502 continues through R-1 rounds, ie one round trip shorter than the number of rounds (R) that is used to encrypt the body text. After the initial R-1 rounds, the encrypted text becomes the data section 504 loaded and both sections, block key section 502 and data section 504 , are operated "backwards", ie the replacement boxes 605 / 704 and the linear conversion units 606 / 706 apply the reverse substitutions or linear transformations.
Die 8a–8c stellen
den Strom-Schlüssel-Abschnitt
aus 5 gemäß einem
Ausführungsbeispiel
in größerem Detail
dar. Wie in 8a dargestellt, umfasst der
Strom-Schlüsselabschnitt 506 eine
Anzahl von linearen Rückkopplungsverschieberegistern
(LFSRs) 802 und eine Kombinierfunktion 804, die
wie dargestellt miteinander verbunden sind. Die LFSRs 802 werden
gemeinsam mit einem Stromverschlüsselungsschlüssel initialisiert,
beispielsweise dem zuvor beschriebenen Rahmenschlüssel Ki.
Während
des Betriebs wird der Stromverschlüsselungsschlüssel aufeinanderfolgend
durch die LFSRs 802 verschoben. Ausgewählte Ausgaben werden aus den
LFSRs 802 entnommen, und die Kombinierfunktion 804 wird
verwendet, um die ausgewählten
Ausgaben zu kombinieren. In der Strom-Betriebsart (unter der "Rekeying" ermöglicht wird)
wird das kombinierte Ergebnis verwendet, um einen dann aktuellen
Zustand eines Blockverschlüsselungsschlüssels in
dem Block-Schlüssel-Abschnitt 502 zu
verändern.The 8a - 8c turn off the power key section 5 according to one embodiment in greater detail. As in 8a illustrated includes the power key section 506 a number of linear feedback shift registers (LFSRs) 802 and a combine function 804 , which are connected to each other as shown. The LFSRs 802 are initialized together with a stream encryption key, for example the frame key Ki described above. During operation, the stream encryption key is sequentially accessed by the LFSRs 802 postponed. Selected issues are from the LFSRs 802 taken out, and the Kombinierfunktion 804 is used to combine the selected outputs. In the stream mode (under which "rekeying" is enabled), the combined result is used to obtain a then current state of a block cipher key in the block key section 502 to change.
In
dem dargestellten Ausführungsbeispiel
werden vier LFSRs mit unterschiedlicher Länge verwendet Drei Sätze von
Ausgaben werden aus den vier LFSRs genommen. Die Polynome, die durch den
LFSR dargestellt werden, und die Bit-Positionen der drei Sätze von
LFSR-Ausgaben sind durch die folgende Tabelle gegeben: In
the illustrated embodiment
Four different LFSRs are used. Three sets of
Expenses are taken from the four LFSRs. The polynomials by the
LFSR, and the bit positions of the three sets of
LFSR expenses are given by the following table:
Tabelle
V – Polynome
der LFSRs und Abgriffpositionen. Table V - Polynomials of LFSRs and tap positions.
Das
kombinierte Ergebnis wird aus dem dritten Satz von LFSR-Ausgaben
erzeugt, wobei der erste und der zweite Satz von LFSR-Ausgaben als
Daten bzw. Steuereingaben für
die Kombinierfunktion 802 verwendet werden. Der dritte
Satz von LFSR-Ausgaben
wird in ein einzelnes Bit kombiniert. In der Strom-Betriebsart (in der "Rekeying" eingeschaltet ist)
wird das kombinierte einzelne Bit dann verwendet, um dynamisch ein
vorbestimmtes Bit eines dann aktuellen Zustandes eines Blockverschlüsselungsschlüssels in
dem Block-Schlüssel-Abschnitt 502 zu
verändern.The combined result is generated from the third set of LFSR outputs, with the first and second sets of LFSR outputs as data or control inputs for the combine function 802 be used. The third set of LFSR outputs is combined into a single bit. In the current mode (in which "rekeying" is on), the combined single bit is then used to dynamically set a predetermined bit of a then current state of a block encryption key in the block key section 502 to change.
8b stellt
die Kombinierfunktion 804 gemäß einem Ausführungsbeispiel
in größerem Detail
dar. Wie dargestellt, umfasst die Kombinierfunktion 804 ein
Shuffle-Netzwerk 806 und XORs 808a–808b,
die in Reihe miteinander verbunden sind, und LFSRs 802 wie
dargestellt. In dem dargestellten Ausführungsbeispiel umfasst das
Shuffle-Netzwerk 806 vier binäre Shuffle-Einheiten 810a–810d,
die in Reihe miteinander verbunden sind, wobei die erste und die
letzte binäre
Shuffle-Einheit 810a und 810d mit XOR 808a bzw. 808b verbunden sind.
XOR 808a nimmt die erste Gruppe von LFSR-Ausgaben und kombiniert
sie zu einer einzelne Biteingabe für das Shuffle-Netzwerk 806.
Die binären
Shuffle-Einheiten 810a–810d leiten
die Ausgabe des XOR 808a in Reihe weiter und mischen diese.
Die zweite Gruppe von LFSR-Ausgaben
wird verwendet, um das Mischen bei Entsprechenden der binären Shuffle-Einheiten 810a–810d zu
steuern. Der XOR 808b kombiniert den dritten Satz von LFSR-Ausgaben
mit der Ausgabe der letzten binären
Shuffle-Einheit 810d. 8b represents the combining function 804 according to one embodiment, in greater detail. As shown, the combining function comprises 804 a shuffle network 806 and XORs 808a - 808b connected in series and LFSRs 802 as shown. In the illustrated embodiment, the shuffle network includes 806 four binary shuffle units 810a - 810d which are connected in series, with the first and the last binary shuffle unit 810a and 810d with XOR 808a respectively. 808b are connected. XOR 808a takes the first set of LFSR outputs and combines them into a single bit input for the shuffle network 806 , The binary shuffle units 810a - 810d direct the output of the XOR 808a continue in series and mix them. The second set of LFSR outputs is used to mix with the corresponding binary shuffle units 810a - 810d to control. The XOR 808b combines the third set of LFSR outputs with the output of the last binary shuffle unit 810d ,
8c stellt
eine binäre
Shuffle-Einheit 810* (wobei * eines aus a-d ist) gemäß einem
Ausführungsbeispiel
in größerem Detail
dar. Jede binäre
Shuffle-Einheit 810* umfasst zwei Flip-Flops 812a und 812b und eine
Anzahl von Selektoren 814a– 814c, die wie dargestellt
miteinander verbunden sind. Die Flip-Flops 812a und 812b werden
verwendet, um zwei Zustandswerte (A, B) zu speichern. Jeder Selektor 814a, 814b oder 814c empfängt eine
Entsprechende der zweiten Gruppe von LFSR-Ausgaben als sein Steuerungssignal.
Die Selektoren 814a–814b empfangen
ebenfalls die Ausgabe des XOR 808a oder einer unmittelbar
vorhergehenden Shuffle-Einheit 810* als Eingabe. Die Selektoren 814a–814b sind
mit den Flip-Flops 812a–812b verbunden, um
einen der zwei gespeicherten Zustandswerte auszugeben und um die
gespeicherten Werte gemäß dem Zustand
des ausgewählten
Signals zu mischen sowie zu verändern.
Insbesondere in dem dargestellten Ausführungsbeispiel gibt die binäre Shuffle-Einheit 810*,
wenn die gespeicherten Zustandswerte (A, B) sind und die eingegebenen
und ausgewählten
Werte (D, S) sind, A aus und speichert (B, D) wenn der Wert von
S "0" ist. Die binäre Shuffle-Einheit 810* gibt
B aus und speichert (D, A) wenn der Wert von S "1" ist. 8c represents a binary shuffle unit 810 * (where * is one of ad) according to one embodiment in greater detail. Each binary shuffle unit 810 * includes two flip-flops 812a and 812b and a number of selectors 814a - 814c , which are connected to each other as shown. The flip-flops 812a and 812b are used to store two state values (A, B). Every selector 814a . 814b or 814c receives a corresponding one of the second group of LFSR outputs as its control signal. The selectors 814a - 814b also receive the output of the XOR 808a or an immediately preceding shuffle unit 810 * as input. The selectors 814a - 814b are with the flip flops 812a - 812b connected to output one of the two stored state values and to mix and change the stored values according to the state of the selected signal. In particular, in the illustrated embodiment, the binary shuffle unit 810 * when the stored state values (A, B) are and the input and selected values (D, S) are A off and stores (B, D) when the value of S is "0". The binary shuffle unit 810 * outputs B and stores (D, A) if the value of S is "1".
Nun
zurückkommend
auf 5 erzeugt die Aufzeichnungsfunktion 508,
wie dargestellt und zuvor beschrieben, die Pseudozufallsbitfolge
basierend auf den Inhalten von ausgewählten Registern des Block-Schlüssel-Abschnitts 502 und
des Datenabschnitts 504. In einem Ausführungsbeispiel, wo der Block-Schlüssel-Abschnitt 502 und
der Datenabschnitt 504 gemäß den entsprechenden Ausführungsbeispielen,
die in 6–7 dargestellt
sind, implementiert sind, erzeugt die Aufzeichnungsfunktion 508 die
Pseudozufallsbitfolge mit 24 Bit pro Takt basierend auf den Inhalten
von Registern (Ky und Kz) 602b–602c und (By und
Bz) 702b–702c.
Insbesondere wird jedes der 24 Bits durch Ausführen der XOR-Operation an neun
Termen gemäß der folgenden
Formel erzeugt:
(BO•KO) ⊕ (B1•K1) ⊕ (B2•K2) ⊕ (B3•K3) ⊕ (B4•K4) ⊕ (B5•K5) ⊕ (B6•K6) ⊕ B7 ⊕ K7,
wobei "⊕" eine logische XOR-Funktion darstellt, "•" eine logische "UND"-Funktion
darstellt und die Eingabewerte B und K für die 24 Ausgabe-Bits wie folgt
sind Now coming back up 5 generates the recording function 508 as shown and described above, the pseudo-random bit string based on the contents of selected registers of the block-key portion 502 and the data section 504 , In one embodiment, where the block-key section 502 and the data section 504 according to the respective embodiments, in 6 - 7 are implemented, generates the recording function 508 the pseudorandom bit string at 24 bits per clock based on the contents of registers (Ky and Kz) 602b - 602c and (By and Bz) 702b - 702c , In particular, each of the 24 bits is generated by performing the XOR operation on nine terms according to the following formula:
(BO • KO) ⊕ (B1 • K1) ⊕ (B2 • K2) ⊕ (B3 • K3) ⊕ (B4 • K4) ⊕ (B5 • K5) ⊕ (B6 • K6) ⊕ B7 ⊕ K7,
where "⊕" represents a logical XOR function, "•" represents a logical "AND" function and the input values B and K for the 24 output bits are as follows
Demgemäß ist ein
neuartiges Verfahren und eine neuartige Vorrichtung zum Verschlüsseln und
Entschlüsseln
von Videoinformation beschrieben worden, um die Videoinformation
gegen unautorisiertes Kopieren während
der Übertragung
zu schützen.Accordingly, a
novel method and a novel device for encrypting and
decipher
of video information has been described to the video information
against unauthorized copying during
the transmission
to protect.
Nachtragsupplement
Aus
der vorhergehenden Beschreibung wird der Fachmann erkennen, dass
viele andere Veränderungen
der vorliegenden Erfindung möglich
sind. Insbesondere kann, während
die vorliegende Erfindung als in Schnittstellen 108a und 108b implementiert
beschrieben worden ist, ein Teil der Logik in andere Komponenten der
Videoquelleneinrichtung 102 und der -empfangseinrichtung 104 verteilt
sein. Zusätzlich
können
ein nicht-LFSR-basierter Strom-Schlüssel-Abschnitt, mehr oder weniger
Blockschlüsselregister,
größere oder
kleinere Blockschlüsselregister,
mehr oder weniger Austauscheinheiten umfassend alternative Austauschmuster sowie
unterschiedliche lineare Umwandlungseinheiten verwendet werden.
Damit ist die vorliegende Erfindung nicht durch die beschriebenen
Details beschränkt,
sondern die vorliegende Erfindung kann mit Veränderungen und Modifikationen
innerhalb des Gedankens und des Schutzbereichs der angefügten Ansprüche ausgeführt werden.From the foregoing description, those skilled in the art will recognize that many other variations of the present invention are possible. In particular, while the present invention may be used as in interfaces 108a and 108b implemented, part of the logic into other components of the video source device 102 and the receiving device 104 be distributed. In addition, a non-LFSR based stream key section, more or fewer block key registers, larger or smaller block key registers, more or fewer exchange units including alternative exchange patterns, as well as different linear conversion units may be used. Thus, the present invention is not limited by the details described, but the present invention may be embodied with changes and modifications within the spirit and scope of the appended claims.