DE60119080T2 - Verfahren und vorrichtung zur herstellung von kryptosynchronismus in einem auf gepackten daten basierenden kommunikationssystem - Google Patents

Verfahren und vorrichtung zur herstellung von kryptosynchronismus in einem auf gepackten daten basierenden kommunikationssystem Download PDF

Info

Publication number
DE60119080T2
DE60119080T2 DE60119080T DE60119080T DE60119080T2 DE 60119080 T2 DE60119080 T2 DE 60119080T2 DE 60119080 T DE60119080 T DE 60119080T DE 60119080 T DE60119080 T DE 60119080T DE 60119080 T2 DE60119080 T2 DE 60119080T2
Authority
DE
Germany
Prior art keywords
data frames
rate
state vector
frames
communication channel
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.)
Expired - Lifetime
Application number
DE60119080T
Other languages
English (en)
Other versions
DE60119080D1 (de
Inventor
Anthony San Diego MAURO
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.)
Qualcomm Inc
Original Assignee
Qualcomm Inc
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 Qualcomm Inc filed Critical Qualcomm Inc
Application granted granted Critical
Publication of DE60119080D1 publication Critical patent/DE60119080D1/de
Publication of DE60119080T2 publication Critical patent/DE60119080T2/de
Anticipated expiration legal-status Critical
Expired - Lifetime legal-status Critical Current

Links

Classifications

    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L9/00Cryptographic mechanisms or cryptographic arrangements for secret or secure communications; Network security protocols
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04KSECRET COMMUNICATION; JAMMING OF COMMUNICATION
    • H04K1/00Secret communication
    • 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/12Transmitting and receiving encryption devices synchronised or initially set up in a particular manner

Landscapes

  • Engineering & Computer Science (AREA)
  • Computer Networks & Wireless Communication (AREA)
  • Signal Processing (AREA)
  • Computer Security & Cryptography (AREA)
  • Mobile Radio Communication Systems (AREA)
  • Data Exchanges In Wide-Area Networks (AREA)
  • Financial Or Insurance-Related Operations Such As Payment And Settlement (AREA)
  • Communication Control (AREA)
  • Compression, Expansion, Code Conversion, And Decoders (AREA)

Description

  • HINTERGRUND DER ERFINDUNG
  • I. Gebiet der Erfindung
  • Die vorliegende Erfindung betrifft im Allgemeinen das Gebiet von Paketdatenkommunikationen unter Verwendung von Verschlüsselungstechnologie zum Schützen von Information, und insbesondere das Vorsehen eines Verfahrens und einer Vorrichtung zum Erreichen von Krypto-Synchronisation in solch einem Kommunikationssystem.
  • II. Hintergrund
  • Das Gebiet der Paketdatenkommunikationen hat weit verbreitete Akzeptanz mit der Popularität des Internets erlangt. Anfänglich wurden Paketdatenkommunikationen über Drähte übertragen, mit verschiedenen Kommunikationskomponenten, welche durch Drähte verbunden sind. Kürzlich traten Anwendungen welche drahtlose Sendung von Paketdaten benötigen in Erscheinung, in der Form von drahtlosen Telefonen und anderen drahtlosen Kommunikationsgeräten, wie drahtlosen Modems. Jüngst entstand ein Bedarf bei diesen drahtlosen Kommunikationsgeräten dafür, dass sie Techniken verwenden, um sicher zu stellen, dass bestimmte Sendungen nicht durch nicht beabsichtigte Parteien abgefangen werden. Solche Schutztechniken verwenden oft Verschlüsselungstechnologie, und sind nützlich in solchen Anwendungen wie Militär, Polizei und andere Sicherheitsanwendungen.
  • Eine Technik zum Verwenden von Verschlüsselungstechnologie in einem drahtlosen Kommunikationsgerät ist analoge Signale in diskrete Datenpakete, oder Rahmen, zu digitalisieren, einen Zufallscode für jeden Rahmen zu generieren, dann den Code auf jeden Rahmen zum Verschlüsseln der darin enthaltenen Information anzuwenden. Die Zufallscodes welche durch die Technik generiert wurden können unter Verwendung von gut bekannten Verschlüsselungstechniken mit öffentlichem Schlüssel ausgeführt werden, welche Information unter Verwendung eines öffentlichen Schlüssels, oder Co des, verschlüsseln, und die Information unter Verwendung eines privaten Schlüssels entschlüsseln.
  • Die Verschlüsselungstechnik, welche oben stehend beschrieben wurde, ist insbesondere zur Verwendung in Datenkommunikationssystemen geeignet, aufgrund der Art von vielen Datensendeprotokollen wie TCP oder IP. In solchen Systemen werden Daten als diskrete Segmente, oder Datenrahmen, gesendet, wobei jeder Datenrahmen im Allgemeinen eine vorbestimmte Anzahl von Informationsbits enthält. Alternativ sind andere Datenrahmen durch eine vorbestimmte Zeitdauer definiert, welche eine variable Anzahl von Informationsbits innerhalb jedes Rahmens enthalten. Traditionell wurden solche Datenkommunikationssysteme verwendet, um Information zu senden, welche nicht zeitkritisch ist, wie E-Mail, Datendateien und Internetwebseiteninformation.
  • Kürzlich wurden Datenkommunikationssysteme verwendet um auch zeitkritische Information zu senden, einschließlich Audioinformation, wie menschliche Sprache, und Videoinformation. In solchen Systemen wird zeitkritische Information in digitale Information konvertiert, oft in Datenrahmen wie oben stehend beschrieben. Die Datenrahmen können dann über ein Computernetzwerk wie das Internet unter Verwendung von gut bekannten Datensendeprotokollen wie TCP und IP gesendet werden.
  • Eines der hauptsächlichen Probleme des Sendens von zeitkritischer Information unter Verwendung von Datenprotokollen ist die Verzögerung, welche mit dem Sendevorgang verbunden ist. Viele Datenprotokolle verwenden einen erneuten Sendevorgang wenn die Datensegmente nicht korrekt empfangen wurden. Der erneute Übertragungsvorgang fügt eine Verzögerung, oder Latenzzeit, in nachfolgend gesendeten Datenrahmen ein, was wiederum die zeitkritischen Daten beeinflusst. Zum Beispiel können Verzögerungen von mehr als ein paar hundert Millisekunden in Sprache zu einer nicht akzeptablen Sprachqualität führen.
  • Eine Lösung um das Problem der Latenzzeit zu reduzieren, wenn zeitkritische Information unter Verwendung eines Datenkommunikationssystems gesendet wird, ist Datenrahmen fallen zu lassen, entweder bei einem Sender oder einem Empfänger, wenn die Latenzzeit eine vorbestimmte Schwelle übersteigt. In einem Sender werden Rahmen fallen gelassen durch die Sendung von nur eines Teils der gesamten Anzahl von Rahmen, welche zur Sendung verfügbar sind. In einem Empfänger werden Rahmen fallen gelassen durch Ignorieren eines Teils der gesamten Anzahl von empfangenen Rahmen.
  • Während das Fallen lassen von Datenrahmen das Problem der Latenzzeit reduziert fügt es ein anderes Problem in Kommunikationssysteme ein, welche die oben erklärte Kryptographietechnik verwenden. Wenn nämlich ein Datenrahmen bei einem Sender fallen gelassen wird ist die Entschlüsselung von nachfolgenden Rahmen bei dem Empfänger nicht möglich, weil die sequentielle Nummerierung von jedem Rahmen als ein Ergebnis des Verschlüsselungsvorgangs gestört ist. Der Entschlüsselungsvorgang hängt von einem Strom von aufeinanderfolgend nummerierten Rahmen ab, wie sie durch den Verschlüsselungsprozess bei dem Sender generiert wurden. Wenn deshalb Rahmen bei dem Sender vor der Verschlüsselung fallen gelassen werden sind die Rahmen, welche durch den Entschlüsselungsprozess empfangen wurden nicht länger mit dem Verschlüsselungsprozess synchronisiert, was zu Rahmen führt, welche nicht korrekt entschlüsselt werden.
  • ZUSAMMENFASSUNG DER ERFINDUNG
  • Die vorliegende Erfindung ist ein Verfahren und eine Vorrichtung zum Erreichen von Krypto-Synchronisation in einem Paketdatenkommunikationssystem zwischen einem Sender und einem Empfänger. In einem Sender wird Information in Datenrahmen digitalisiert und dann zu einem Vocoder geliefert, welcher Vocoderrahmen generiert. Die Vocoderrahmen werden in einem Speicher gespeichert, und dann zu einem Verschlüsselungsmodul zum Verschlüsseln von jedem Vocoderrahmen vor der Sendung geliefert. Vocoder rahmen werden durch Kombinieren von jedem Rahmen mit einem einzigartigen Code, oder Codebuch, welches durch das Verschlüsselungsmodul generiert wird, verschlüsselt. Das Codebuch wird unter Verwendung von mindestens einem Zustandsvektor generiert, welcher im Allgemeinen eine sequentielle Zählung ist, welche bei einer vorbestimmten Rate, normalerweise ein Vielfaches der Rate mit welcher Vocoderrahmen generiert werden, erhöht wird.
  • Wenn Rahmen bei dem Sender fallen gelassen werden, oftmals um Sendelatenzzeit zu verringern, wird der Zustandsvektor für eine Zeit, welche proportional ist zu der Anzahl von fallen gelassenen Rahmen, gesperrt. Wenn ein Rahmen fallen gelassen wird, wird deshalb der Zustandsvektor nicht erhöht. Wenn die gewünschte Anzahl von Rahmen fallen gelassen wurde wird der Zustandsvektor wieder frei gegeben, und nimmt die Erhöhung mit der vorbestimmten Rate wieder auf.
  • Der Effekt des Festhaltens des Zustandsvektors während Perioden des Fallen Lassens von Rahmen erlaubt sequentielle Verschlüsselung für jeden Rahmen, welcher zu dem Verschlüsselungsmodul geliefert wird. Die Technik erlaubt, dass jede Anzahl von Rahmen bei dem Sender vor der Verschlüsselung fallen gelassen wird, während sichergestellt wird, dass der Entschlüsselungsvorgang bei dem Empfänger mit dem Verschlüsselungsprozess synchronisiert ist.
  • Bei dem Empfänger werden Rahmen empfangen und in einer Warteschlange gespeichert. Rahmen werden zu dem Entschlüsselungsmodul geliefert, um Entschlüsselungsvocoderrahmen zu generieren. Ein Zustandsvektorgenerator welcher innerhalb des Empfängers angeordnet ist wird mit der vorbestimmten Rate erhöht. Wenn jeder Rahmen zu dem Entschlüsselungsmodul geliefert wird wird er unter Verwendung eines Codebuchs welches von dem derzeitigen Zustandsvektor abgeleitet ist entschlüsselt.
  • Wenn eine Anzahl von Rahmen, welche innerhalb der Warteschlange gespeichert sind, zu dem Punkt reduziert wird, wo es keine Rahmen mehr gibt, welche zur Entschlüsselung verfügbar sind, bekannt als ein Unterlaufzustand, wird ein Löschungs- bzw. Auslöschungsrahmen direkt zu einem Vocoder geliefert, und der Zustandsvektorgenerator wird gesperrt, was den Zustandsvektor vom erhöht bzw. inkrementiert werden abhält. Wenn Rahmen zur Entschlüsselung verfügbar werden in der Warteschlange zu einer späteren Zeit, wird der Zustandsvektorgenerator frei gegeben, wodurch erlaubt wird, dass sich der Zustandsvektor erhöht, wodurch nachfolgende Zustandsvektoren zu dem Entschlüsselungsmodul geliefert werden und Krypto-Synchronisation mit dem Verschlüsselungsprozess aufrecht erhalten wird.
  • Wenn viele Rahmen in der Warteschlange vor der Entschlüsselung zu einer gegebenen Zeit gespeichert sind, kann eine Verzögerung, oder Latenzzeit, resultieren. Während Telefonkommunikationen verursacht Latenzzeit eine ärgerliche Verzögerung zwischen der Zeit, wenn ein Benutzer in einen Sender spricht und der Zeit, wenn die Sprache durch den Empfänger gehört wird. Um das Problem der Latenzzeit zu reduzieren werden einige der Rahmen, welche in der Warteschlange gespeichert sind, nicht durch das Entschlüsselungsmodul verarbeitet, oder durch irgend ein anderes Element in dem Empfänger. Dies ist als Rahmen fallen lassen bekannt.
  • Wenn Rahmen von der Warteschlange fallen gelassen werden wird der Zustandsvektor derart angepasst, dass Krypto-Synchronisation von nachfolgenden Rahmen aufrecht erhalten wird. Um dies zu Erreichen wird der Zustandsvektor durch die Anzahl von aufeinander folgenden fallen gelassenen Rahmen plus eins angepasst.
  • KURZE BESCHREIBUNG DER ZEICHNUNGEN
  • 1 zeigt ein funktionales Blockdiagramm eines drahtlosen Senders unter Verwendung von kryptographischen Sicherheitstechniken wie in der vorliegenden Erfindung verwendet;
  • 2a, 2b und 2c zeigen die Beziehung zwischen Vocoderrahmen und einem Zustandsvektor wie in dem Sender von 1 verwendet;
  • 3 zeigt ein funktionales Blockdiagramm eines drahtlosen Empfängers unter Verwendung von kryptographischen Sicherheitstechniken wie in der vorliegenden Erfindung verwendet;
  • 4a, 4b und 4c zeigen die Beziehung zwischen Vocoderrahmen und einem Zustandsvektor wie in dem Empfänger von 3 verwendet;
  • 5 ist ein Flussdiagramm, welches das Verfahren der vorliegenden Erfindung wie in dem Sender von 1 verwendet zeigt;
  • 6 ist ein Flussdiagramm, welches das Verfahren der vorliegenden Erfindung wie in dem Empfänger von 3 während einem Unterlaufzustand verwendet zeigt; und
  • 7 ist ein Flussdiagramm, welches das Verfahren der vorliegenden Erfindung wie bei dem Empfänger von 3 während eines Zustands des Fallenlassens von Rahmen zeigt.
  • DETAILIERTE BESCHREIBUNG DER BEVORZUGTEN AUSFÜHRUNGSBEISPIELE
  • Die hierin beschriebenen Ausführungsbeispiele sind mit Bezug auf ein drahtloses Kommunikationssystem, welches gemäß der Verwendung von CDMA Signalverarbeitungstechniken der IS-95, IS-707 und IS-99 Übergangsstandards betrieben wird. Während die vorliegende Erfindung besonders durch Verwendung innerhalb eines solchen Kommunikationssystems geeignet ist soll es verstanden werden, dass die vorliegende Erfindung in verschiedenen anderen Typen von Kommunikationssystemen, welche Information in diskreten Paketen senden, auch bekannt als Datenpakete, Datenrahmen oder einfach Rahmen, verwendet werden kann, einschließlich sowohl drahtloser wie auch drahtgebundenen Kommunikationssystemen und satellitenbasierten Kommunikationssystemen. Zusätzlich werden während der Beschreibung verschiedene gut bekannte Systeme in Blockform dargelegt. Dies wird zum Zweck der Klarheit getan.
  • Ein funktionales Blockdiagramm eines drahtlosen Senders 100 unter Verwendung von kryptographischen Sicherheitstechniken ist in 1 gezeigt. Audioinformation, wie Sprache, wird von akustischer Energie in elektrische Energie durch den Wandler 102, typischerweise ein Mikrofon, konvertiert. Der Wandler 102 kann alternativ ein Videogerät, zum Beispiel eine Digitalkamera oder einen Videorekorder zum Aufnehmen von Lichtenergie und Konvertieren der Lichtenergie in elektrische Signale aufweisen. Die elektrische Energie, welche durch den Wandler 102 generiert wird, wird zu einem Vocoder 104 geliefert, welcher im Allgemeinen die Bandbreite, welche zum Senden der Audioinformation notwendig ist, reduziert. Alternativ wird ein Verarbeitungsgerät, welches für den Typ von Wandler geeignet ist, anstelle des Vocoders 104 verwendet, wie ein Videoverarbeitungsgerät in dem Fall dass eine Kamera als Wandler 102 verwendet wird. Typischerweise generiert der Vocoder 104 Datenrahmen bei einer konstanten, festen Rate, welche die ursprüngliche Audioinformation repräsentiert. Alternativ generiert der Vocoder 104 Datenrahmen mit einer variablen Rate. Jeder Datenrahmen ist normalerweise in der Länge fixiert, gemessen in Millisekunden. Die Datenrahmen werden zu einem Speicher 106 in dem exemplarischen Ausführungsbeispiel geliefert, wo sie kurz vor der Verschlüsselung gespeichert werden und weiter verarbeitet werden durch andere funktionale Elemente des Senders 100. In dem exemplarischen Ausführungsbeispiel speichert der Speicher 106 jeweils bzw. zu einem Zeitpunkt nur einen Vocoderrahmen. In einem anderen Ausführungsbeispiel wird der Speicher 106 nicht zum Speichern von Vocoderrahmen, wie sie durch den Vocoder 104 erzeugt wurden, verwendet. Vielmehr werden Rahmen direkt zu dem Verschlüsselungsmodul 108 geliefert.
  • Der Vocoder 104 kann ferner verbessert werden durch zur Verfügung stellen von variablen Datenraten innerhalb der Datenrahmen welche er erzeugt. Ein Beispiel eines solchen Vocoders mit variablen Datenrahmen findet sich in dem US Patent Nummer 5,414,796 (das '796 Patent), benannt „VARIABLE RATE VOCODER"; dem Bevollmächtigten der vorliegenden Erfindung zugeordnet. Wenn wenige oder keine Information zur Sendung verfügbar ist erzeugen Vocoder mit variablen Raten Datenrahmen mit reduzierten Datenraten, wodurch die Sendekapazität des drahtlosen Kommunikationssystems erhöht wird. In dem Vocoder mit variabler Datenrate wie in dem '796 Patent beschrieben weisen Datenrahmen Daten zu entweder der vollen, einer halben, einer viertelten oder einer achtelten der Datenrate der höchsten Datenrate, welche in dem Kommunikationssystem verwendet wird, auf.
  • Das Verschlüsselungsmodul 108 ist zum Verschlüsseln von jedem Datenrahmen mit einem einzigartigen Code, oder Codebuch, verantwortlich. Im Allgemeinen wird ein Codebuch für jeden Datenrahmen welcher verschlüsselt werden soll erzeugt, im Allgemeinen mit derselben Rate mit der Rahmen durch den Vocoder 104 generiert werden. Deshalb ist ein Codebuch im Allgemeinen für jeden Datenrahmen welcher verschlüsselt werden soll verfügbar. Andere Techniken erlauben, dass zwei Datenrahmen mit einem Codebuch verschlüsselt werden, wobei das Codebuch zweimal so viele Bits wie ein Datenrahmen hat.
  • Das Codebuch wird unter Verwendung von einer von mehreren gut bekannten Techniken erzeugt. Unter diesen ist der Datenverschlüsselungsstandard (GES), FEAL, und der internationale Datenverschlüsselungsalgorithmus (IDEA = International Data Encryption Algorithm). In dem exemplarischen Ausführungsbeispiel der vorliegenden Erfindung wird DES verwendet um Codebücher zu erzeugen, unter Verwendung eines Zustandsvektors zusammen mit einem oder mehreren Verschlüsselungsschlüssel, wie in 1 gezeigt ist. Der Zustandsvektor ist in seiner einfachsten Form eine Zellsequenz, welche mit einer vorbestimmten Rate erhöht wird, im Allgemeinen gleich zu einem Vielfachen der Rate mit welcher Datenrahmen durch den Vocoder 104 generiert werden. Der Zustandsvektor wird durch den Zustandsvektorgenerator 110 generiert, unter Verwendung von gut bekannten Techniken, wie diskrete elektronische Komponenten, oder ein digitaler Mikroprozessor in Kom bination mit einem Satz von Softwareanweisungen. Andere Techniken, welche im Stand der Technik bekannt sind, können auch betrachtet werden.
  • Das Verschlüsselungsmodul 108 erzeugt ein Codebuch jedes Mal, wenn der Zustandsvektorgenerator 110 erhöht wird. Jedes Codebuch wird digital mit einem Datenrahmen, welcher in dem Speicher 106 gespeichert ist, kombiniert, im Allgemeinen in der Reihenfolge der Datenrahmen, welche im Speicher 106 gespeichert sind, um einen verschlüsselten Datenrahmen für jeden Datenrahmen, welcher zu dem Verschlüsselungsmodul 108 geliefert wird, zu erzeugen. Codebücher werden mit Datenrahmen unter Verwendung von gut bekannten Techniken wie das Addieren von einem Datenrahmen zu einem Codebuch unter Verwendung von Modulo 2 Arithmetik kombiniert. In einem anderen Ausführungsbeispiel werden zwei Datenrahmen zu einem einzigen Codebuch addiert, wobei das Codebuch in diesem Ausführungsbeispiel zweimal die Anzahl von Bits wie ein einziger Datenrahmen hat.
  • In der vorliegenden Erfindung werden nicht alle Vocoderrahmen, welche durch den Vocoder 104 erzeugt wurden, zu einem Empfänger gesendet. Einige der Rahmen werden eliminiert, oder „fallen gelassen", bevor sie durch das Verschlüsselungsmodul 108 verschlüsselt werden. Rahmen werden fallen gelassen, um den Effekt der Latenzzeit, oder Verzögerung, zwischen einem Sender und einem Empfänger zu reduzieren. Latenzzeit kann ein Problem sein, wenn Echtzeit, oder nahe Echtzeitinformation unter Verwendung von Datenprotokollen gesendet wird, weil die Datenprotokolle im Allgemeinen erneute Sendung von Rahmen anfordern, um einen hohen Prozentsatz von fehlerfrei empfangenen Rahmen sicherzustellen. Erneute Sendungen von Rahmen verursachen einen Rückstau in der Anzahl von Rahmen, welche gesendet werden sollen, was zu erhöhter Latenzzeit führt. Durch Reduzierung der gesamten Anzahl von Rahmen, welche gesendet werden sollen, wird die Latenzzeit reduziert oder eliminiert.
  • Unter Bezugnahme auf 1 steuert ein Prozessor 120 im Allgemeinen den Vorgang des Fallen lassens von Rahmen, wie auch die Anzahl von sol chen Vorgängen innerhalb des Senders 100. Der Prozessor 120 weist ein digitales Verarbeitungsgerät wie einen gut bekannten Mikrocomputer, DSP, oder benutzerspezifischen integrierten ASIC auf. Rahmen können in einer Anzahl von Verfahren fallen gelassen werden. Zum Beispiel können Rahmen mit einer einzigen festen Rate, einer zweifachen festen Rate, mit einer variablen Rate oder einer Kombination von jeder dieser Techniken fallen gelassen werden.
  • Wenn eine einzige, feste Rate des Fallen-lassens von Rahmen verwendet wird, werden Rahmen durch den Prozessor 120 mit einer vorbestimmten, festen Rate fallen gelassen. In dem exemplarischen Ausführungsbeispiel ist die Rate, mit der ein Rahmen fallengelassen wird, ein Rahmen pro hundert Rahmen, die durch den Vocoder 104 generiert wurden, oder 1 %. Der Prozessor 120 zählt die Anzahl von Rahmen, welche durch den Vocoder 104 generiert wurden. Wenn der einhundertste Rahmen generiert wurde lässt der Prozessor 120 den Rahmen dadurch fallen, dass er ihn nicht im Speicher 106 speichert, wenn ein solcher Speicher verwendet wird. Wenn der Speicher 106 nicht verwendet wird wird der einhundertste Rahmen ganz einfach nicht zu dem Verschlüsselungsmodul 108 geliefert. Der nächste Rahmen wird durch den Vocoder 104 erzeugt, der einhunderterste Rahmen wird dann zu dem Speicher 106 oder direkt zu dem Verschlüsselungsmodul 108 geliefert, wie auch immer. Alternativ können andere vorbestimmte festen Raten verwendet werden, jedoch haben Tests gezeigt, dass das Fallen lassen von mehr als 10 % der Rahmen zu schlechter Sprachqualität bei dem Empfänger führt.
  • In dem Fall eines Schemas zum Fallen lassen von Rahmen mit einer einzigen festen Rate werden Rahmen ohne Berücksichtigung davon, wie viel oder wie wenig Kommunikationskanallatenzzeit zwischen dem Sender und dem Empfänger existiert, fallen gelassen. Jedoch überwacht in einem anderen Ausführungsbeispiel der Prozessor 120 die Kommunikationskanallatenzzeit und implementiert die Technik zum Fallen lassen von Rahmen mit fester Rate nur, wenn die Kommunikationskanallatenzzeit eine vorbestimmte Schwelle übersteigt. Die Kommunikationskanallatenzzeit wird im Allgemeinen durch Überwachen der Kommunikationskanalqualität bestimmt. Die Kommunikationskanalqualität wird durch Verfahren bestimmt, welche im Stand der Technik gut bekannt sind und unten stehend beschrieben werden. Wenn die Kommunikationskanallatenzzeit unter die vorbestimmte Schwelle fällt fährt der Prozessor 120 nicht mit dem Vorgang des Fallen lassens von Rahmen fort.
  • Fallen lassen von Rahmen kann auch unter Verwendung eines Ansatzes mit dualer, fester Rate implementiert werden. In diesem Verfahren werden Rahmen mit einer von zwei festen Raten fallen gelassen, abhängig von der Kommunikationskanallatenzzeit. Eine erste Rate wird verwendet, um Rahmen fallen zu lassen, wenn die Kommunikationskanallatenzzeit weniger als eine vorbestimmter Schwelle ist. Eine zweite feste Rate wird verwendet, um Rahmen fallen zu lassen, wenn die Kommunikationskanallatenzzeit die vorbestimmte Schwelle übersteigt. Wiederum wird die Kommunikationskanallatenzzeit im Allgemeinen von der Kommunikationskanalqualität abgeleitet, welche wiederum von der Kanalfehlerrate abhängt.
  • Oft wird die Kommunikationskanalqualität, und somit die Kommunikationskanallatenzzeit, in Ausdrücken einer Kanalfehlerrate, oder in der Anzahl von Rahmen, welche durch den Empfänger fehlerhaft empfangen wurden, dividiert durch die gesamte Anzahl von Rahmen, welche in einer gegebenen Zeitperiode gesendet wurden, ausgedrückt. Eine typische vorbestimmte Schwelle in dem Verfahren des Fallen lassens mit dualer fester Rate kann dann gleich sieben Prozent sein, was bedeutet dass wenn mehr als sieben Prozent der gesendeten Rahmen fehlerhaft empfangen wurden, im Allgemeinen aufgrund eines verschlechterten Kanalzustands, Rahmen mit der zweiten Rate fallen gelassen werden. Die zweite Rate ist im Allgemeinen größer als die erste Rate. Wenn die Kanalqualität gut ist wird die Fehlerrate im Allgemeinen kleiner sein als die vorbestimmte Rate, deshalb werden Rahmen unter Verwendung der ersten Rate fallen gelassen, typischerweise gleich oder zwischen ein und vier Prozent.
  • In der Praxis kann die erste Rate zum Fallen lassen von Rahmen gleich ein Prozent sein, und die zweite Rate zum Fallen lassen von Rahmen kann gleich acht Prozent sein. Die vorbestimmte Schwelle wird auf einen Pegel gesetzt welcher eine verschlechterte Kanalqualität anzeigt, ausgedrückt in Ausdrücken von dem Prozentsatz von Rahmen welche durch den Empfänger fehlerhaft empfangen wurden. In dem vorliegenden Beispiel wird eine Fehlerrate von sieben Prozent als die vorbestimmte Schwelle gewählt. Der Prozessor 120 ist dazu in der Lage, die Kanalqualität in einer von mehreren Verfahren, welche im Stand der Technik gut bekannt sind, zu bestimmen. Zum Beispiel kann der Prozessor die Anzahl von NAKs, welche durch den Sender 100 empfangen wurden, zählen. Eine NAK (= negative acknoledgement) ist der geläufige Industrieausdruck, welcher „negative Bestätigung" bedeutet. Eine NAK wird durch einen Empfänger gesendet wenn er Fehler beim Empfangen von Daten von dem Sender 100 detektiert. Wenn eine NAK durch den Sender 100 empfangen wird werden einer oder mehrere vorher gesendeten Rahmen erneut gesendet, und zwar diejenigen Rahmen, welche in der NAK identifiziert sind. Eine höhere Anzahl von NAKs indiziert eine schlechte Kanalqualität, weil mehrere erneute Übertragungen von Rahmen notwendig sind um den schlechten Kanalzustand auszugleichen. Der Leistungspegel von gesendeten Rahmen ist eine andere Indikation, welche der Prozessor verwenden kann um die Kanalqualität zu bestimmen. Alternativ kann der Prozessor 120 einfach die Kanalqualität basierend auf der Anzahl von Rahmen, welche in einer Sendewarteschlange gespeichert sind, wie dem Speicher 106, bestimmen. Unter schlechtem Kanalzustand tritt ein Rückstau von Rahmen in dem Speicher 106 aufgrund einer großen Anzahl von erneuten Übertragungen von Rahmen auf, was dazu führt, dass die Anzahl von Rahmen, welche im Speicher 106 gespeichert sind, sich erhöht. Wenn der Kanalzustand gut ist ist die Anzahl von Rahmen, welche im Speicher 106 gespeichert sind, relativ klein.
  • Wenn sich die Kanalqualität erhöht werden Rahmen mit einer ersten Rate fallen gelassen. Wenn sich die Kanalqualität verschlechtert werden Rahmen mit einer zweiten, höheren Rate fallen gelassen.
  • Der Grund, warum Rahmen mit einer höheren Rate fallen gelassen werden wenn die Kanalqualität schlecht ist, ist, dass mehr erneute Übertragungen von Rahmen auftreten während schlechtem Kanalzustand, was dazu führt, dass ein Rückstau von Rahmen, welche im Speicher 106 auf die Sendung warten, auftritt. Bei dem Empfänger, während schlechtem Kanalzustand, ist ein Empfangspuffer aufgrund des Fehlens von fehlerfrei empfangenen Rahmen zunächst unterversorgt, und läuft dann über, wenn sich der Kanalzustand verbessert. Wenn der Empfangspuffer unterläuft bzw. unterversorgt ist, werden Löschungsrahmen zu einem Sprachdecodierer geliefert, um die Störung in der Sprachqualität für einen Benutzer zu minimieren. Wenn der Empfangspuffer überläuft, oder relativ groß wird, ist die Latenzzeit erhöht. Wenn deshalb die Kommunikationskanalqualität verschlechtert ist, ist es wünschenswert, Rahmen mit einer erhöhten Rate bei dem Sender 100 fallen zu lassen, so dass weder der Speicher 106 noch der Empfangspuffer zu groß werden, wodurch die Latenzzeit auf nicht mehr tolerable Pegel erhöht wird.
  • Ein anderes Verfahren des Fallen lassens von Rahmen bei dem Sender 100 ist durch fallen lassen von Rahmen mit einer variablen Rate, abhängig von der Kommunikationskanallatenzzeit. In diesem Ausführungsbeispiel bestimmt der Prozessor 120 die Qualität des Kommunikationskanals unter Verwendung von einer der oben beschriebenen Techniken. Die Rate, mit welcher Rahmen fallen gelassen werden, ist invers proportional zu der Kommunikationskanalqualität. Wenn die Kanalqualität durch die Kanalfehlerrate bestimmt wird, ist die Rate, mit welcher Rahmen fallen gelassen werden, direkt proportional zu der Kanalfehlerrate.
  • Ein weiteres Verfahren des Fallen lassens von Rahmen bei dem Sender 100 ist durch Fallen-lassen von Rahmen gemäß der Rate, mit welcher die Datenrahmen durch den Vocoder 104 codiert wurden. In diesem Ausführungsbei spiel weist der Vocoder 104 einen Vocoder mit variabler Rate, wie oben stehend beschrieben, auf. Der Vocoder 104 codiert Audioinformation in Datenrahmen mit verschiedenen Datenraten, in dem exemplarischen Ausführungsbeispiel 4 Raten: Volle Rate, halbe Rate, viertel Rate und achtel Rate. Der Prozessor 120, welcher innerhalb des Senders angeordnet ist, bestimmt die Kommunikationskanallatenzzeit im Allgemeinen durch Bestimmung der Kommunikationskanalqualität unter Verwendung der oben diskutierten Techniken. Wenn der Prozessor 120 bestimmt, dass der Kommunikationskanal verschlechtert wurde unter eine vorbestimmte Schwelle wird eine Prozentzahl von Datenrahmen, welche die geringste codierte Rate haben welche durch den Vocoder 104 generiert wurden, fallen gelassen. In dem exemplarischen Ausführungsbeispiel wird eine Prozentzahl von achtel Raten Rahmen fallen gelassen wenn die Kommunikationskanalqualität um mehr als eine vorbestimmte Schwelle verschlechtert wurde. Wenn der Prozessor 120 bestimmt, dass der Kommunikationskanal weiter verschlechtert wurde unter eine zweite vorbestimmte Schwelle wird eine Prozentzahl von Datenrahmen welche die zweit geringste Codierrate haben, welche durch den Vocoder 104 generiert wurden, zusätzlich zu den Rahmen fallen gelassen, welche die geringste Codierrate haben. In dem exemplarischen Ausführungsbeispiel wird eine Prozentzahl von sowohl viertel Raten Rahmen wie auch achtel Raten Rahmen fallen gelassen wenn der Kommunikationskanal um mehr als eine zweite vorbestimmte Schwelle degradiert wird, wie sie durch den Vocoder 104 generiert wurden. Ähnlich wird eine Prozentzahl von Halbraten- und Vollraten Rahmen fallen gelassen wenn der Kommunikationskanal sich weiter verschlechtert. In einem dazu in Beziehung stehenden Ausführungsbeispiel wird, wenn der Kommunikationskanal unter die zweite vorbestimmte Schwelle verschlechtert wird nur eine Prozentzahl von Datenrahmen welche eine Codierrate der zweit geringsten Codierrate haben fallen gelassen, während Datenrahmen welche eine Codierrate gleich zu der geringsten Codierrate haben nicht fallen gelassen werden.
  • Die Prozentzahl von Rahmen, welche in einem der oben beschriebenen Szenarien fallen gelassen werden ist im Allgemeinen eine vorab bestimmte, feste Anzahl, und kann entweder die gleiche für jede Rahmencodierrate sein oder davon verschieden. Wenn zum Beispiel Rahmen mit der geringsten Rate fallen gelassen werden kann der vorbestimmte Prozentsatz sechzig Prozent sein. Wenn die zweit geringsten und geringsten Rahmen beide fallen gelassen werden kann der vorbestimmte Prozentsatz gleich sechzig Prozent sein, oder er kann gleich einem kleinerem Prozentsatz, zum Beispiel dreißig Prozent, sein.
  • Nachdem die verschlüsselten Datenrahmen durch das Verschlüsselungsmodul 108 generiert wurden werden sie in dem Speicher 106 gespeichert oder alternativ in einem zweiten Speicher (nicht gezeigt) bis sie für weitere Verarbeitungselemente benötigt werden. Wenn zum Beispiel Datenprotokolle verwendet werden um die verschlüsselten Datenrahmen zu senden wird der Formatierprozessor 112 die verschlüsselten Datenrahmen, welche im Speicher 106 gespeichert sind, verwenden, um Datensegmente gemäß dem bestimmten Datenprotokoll, welches in Verwendung ist, zu konstruieren, wie das gut bekannte TCP Datenprotokoll. Alternativ, oder zusätzlich dazu, kann der Formatierprozessor 112 eines oder mehrere andere Datenprotokolle verwenden, wie das gut bekannte RLP Datenprotokoll welches primär in CDMA Kommunikationssystemen verwendet wird.
  • Die formatierten Rahmen werden als nächstes zu dem Modulator 114 geliefert. Der Modulator 114 moduliert die formatierten Rahmen unter Verwendung der vorbestimmten Modulationstechnik des drahtlosen Kommunikationssystems. Beispiele von verschiedenen Modulationstechniken umfassen Zeitmultiplex-Vielfachzugriff (TDMA = Time Division Multiple Access), Codemultiplex-Vielfachzugriff (CDMA = Code Division Multiple Access), und Frequenzmultiplex-Vielfachzugriff (FDMA = Frequency Division Multiple Access).
  • Wenn die Datensegmente einmal moduliert wurden werden sie durch den Sender 106 heraufkonvertiert und gesendet. Das heraufkonvertierte Signal wird zu der Antenne 118 zur drahtlosen Sendung zu einem Empfänger geliefert.
  • Ein Problem bei Verwendung des Verschlüsselungsverfahrens zusammen mit dem Verfahren des Fallen lassens von Rahmen wie oben stehend beschrieben ist, dass der Vorgang des Fallen lassens von Rahmen Diskontinuitäten in den verschlüsselten Rahmen, welche durch das Verschlüsselungsmodul 108 generiert wurden, verursacht. Diskontinuitäten resultieren daraus, dass der Zustandsvektor, welcher durch den Zustandsvektorgenerator 110 generiert wurde, zu einer Zeit erhöht bzw. inkrementiert wird, zu welcher kein Vocoderrahmen für die Verschlüsselung verfügbar ist, aufgrund des Vorgangs des Fallen-lassens von Rahmen. Dies ist am besten in den 2a, 2b und 2c illustriert.
  • 2a illustriert eine sequentielle Serie von Vocoderrahmen welche mit eins bis sechs nummeriert sind, und der Wert des Zustandsvektors, welcher durch den Zustandsvektorgenerator 108 generiert wurde korrespondiert zu jedem Vocoderrahmen. In dem exemplarischen Ausführungsbeispiel werden Vocoderrahmen mit einer konstanten Rate von einem Rahmen alle zwanzig Millisekunden durch den Vocoder 104 generiert. Jeder Vocoderrahmen kann kurz in dem Speicher 106 vor der Verwendung durch das Verschlüsselungsmodul 108 gespeichert werden. In einem alternativen Ausführungsbeispiel werden die Vocoderrahmen direkt zu dem Verschlüsselungsmodul 108 geliefert. In jedem Fall werden Vocoderrahmen zu dem Verschlüsselungsmodul 108 mit der gleichen Rate geliefert, mit welcher der Vocoder 104 Vocoderrahmen erzeugt, in dem exemplarischen Ausführungsbeispiel alle 20 Millisekunden. Der Zustandsvektorgenerator 110 wird mit der vorbestimmten Rate erhöht, im Allgemeinen ein Vielfaches der Rate, mit welcher Vocoderrahmen durch den Vocoder 104 generiert werden.
  • In 2a wird der Vocoderrahmen 1 durch das Verschlüsselungsmodul 108 unter Verwendung eines Codebuchs, welches von dem Zustandsvektor 1 abgeleitet ist, codiert. Der Rahmen 2 wird als nächstes codiert, unter Verwendung eines Codebuchs, welches von dem Zustandsvektor 2 abgeleitet ist. Der Rahmen 3 wird als nächstes codiert, unter Verwendung eines Code buchs, welches von dem Zustandsvektor 3 abgeleitet ist, und so weiter. In einem Empfänger werden die verschlüsselten Vocoderrahmen entschlüsselt unter Verwendung eines Zustandsvektors, welcher mit Rahmen synchronisiert ist, welche durch den Sender 100 verschlüsselt wurden. Mit anderen Worten wird der Vocoderrahmen 1, welcher unter Verwendung eines Codebuchs welches von dem Zustandsvektor 1 abgeleitet wurde verschlüsselt wurde, unter Verwendung eines Codebuchs welches von dem Zustandsvektor gleich zu eins abgeleitet wurde, entschlüsselt. Der Vocoderrahmen 2 wird unter Verwendung eines Codebuchs, welches von einem Zustandsvektor gleich zu zwei abgeleitet wurde, entschlüsselt, und so weiter.
  • 2b illustriert ein Problem des Verschlüsselungsvorgangs von 2a, wenn ein Rahmen bei dem Sender 100 fallen gelassen wird. Wie zuvor sind Vocoderrahmen 1 bis 6 in der Sequenz wie durch den Vocoder 104 generiert gezeigt. Zunächst wird der Vocoderrahmen 1 generiert und durch das Verschlüsselungsmodul 108 (mit oder ohne die Verwendung des Speichers 106) verschlüsselt, unter Verwendung eines Codebuchs, welches von dem Zustandsvektor 1 abgeleitet ist. Als nächstes wird der Vocoderrahmen 2 durch den Vocoder 104 generiert und dann unter Verwendung eines Codebuchs, welches von dem Zustandsvektor 2 abgeleitet ist, verschlüsselt. Als nächstes wird der Rahmen 3 durch den Vocoder 104 generiert, jedoch bestimmt der Prozessor 120, dass mindestens ein Rahmen fallen gelassen werden soll. Deshalb wird der Rahmen 3 nicht zu dem Verschlüsselungsmodul 108 geliefert. Zwischenzeitlich fährt der Zustandsvektorgenerator 110 damit fort, sich zu erhöhen, und liefert den Zustandsvektor 3 zu dem Verschlüsselungsmodul 108. Ein Codebuch, welches von dem Zustandsvektor 3 resultiert, wird generiert, jedoch wird es nicht verwendet aufgrund dessen, dass der Vocoderrahmen 3 fallen gelassen wird. Als nächstes wird der Vocoderrahmen 4 generiert und verschlüsselt unter Verwendung eines Codebuchs, welches von dem Zustandsvektor 4 abgeleitet ist.
  • Bei dem Empfänger wird der Vocoderrahmen 1 empfangen und unter Verwendung eines Codebuchs, welches von dem Zustandsvektor 1 abgeleitet ist, entschlüsselt. Der Vocoderrahmen 2 wird dann entschlüsselt unter Verwendung eines Codebuchs, welches von dem Zustandsvektor 2 abgeleitet ist. Der nächste empfangene Rahmen ist der Vocoderrahmen 4, weil der Vocoderrahmen 3 fallen gelassen wurde. Der Vocoderrahmen 4 wird entschlüsselt unter Verwendung eines Codebuchs, welches von dem Zustandsvektor 3 abgeleitet wurde, was zu unverständlichen Daten führt, weil der Vocoderrahmen 4 unter Verwendung eines Codebuchs entschlüsselt werden muss, welches von einem Zustandsvektor gleich zu drei abgeleitet wurde.
  • Unter Verwendung der vorliegenden Erfindung wird, wenn ein Vocoderrahmen bei dem Sender 100 fallen gelassen wurde, der Zustandsvektorgenerator 110 gesperrt, so dass ein Zustandsvektor nicht erhöht wird während Zeiten wenn Rahmen fallen gelassen werden. Dies ist in 2c illustriert. Wie in 2c gezeigt werden Vocoderrahmen 1 bis 6 generiert durch den Vocoder 104. Jedoch werden in diesem Beispiel Vocoderrahmen 3, 4 und 5 durch den Prozessor 120 fallen gelassen. Der Vocoderrahmen 1 wird codiert unter Verwendung eines Codebuchs, welches von dem Zustandsvektor 1 abgeleitet wurde. Der Vocoderrahmen 2 wird verschlüsselt unter Verwendung eines Codebuchs, welches von dem Zustandsvektor 2 abgeleitet wurde. Die Vocoderrahmen 3, 4 und 5 werden fallen gelassen durch den Prozessor 120. Der Prozessor 120 sendet ein Kommando zu dem Zustandsvektorgenerator 110, welches den Zustandsvektor davon abhält, für die drei Rahmen, welche fallen gelassen wurden, erhöht zu werden. Wenn eine ausreichende Anzahl von Rahmen fallen gelassen wurde erlaubt der Prozessor 120 dem nächsten Rahmen in der Sequenz, in diesem Beispiel Vocoderrahmen 6, durch das Verschlüsselungsmodul 110 verschlüsselt zu werden. Ein Kommando wird auch durch den Prozessor 120 zu dem Zustandsvektorgenerator 110 gesendet, welcher den Zustandsvektor zu seinem nächsten Wert erhöht, in diesem Beispiel zu einem Wert von drei. Deshalb wird der Vocoderrahmen 6 verschlüsselt unter Verwendung eines Codebuchs, welches von dem Zustandsvektor 3 abgeleitet ist.
  • Bei dem Empfänger wird der Vocoderrahmen 1 empfangen und entschlüsselt unter Verwendung eines Codebuchs, welches von einem Zustandsvektor gleich zu 1 abgeleitet wurde. Der Vocoderrahmen 2 wird entschlüsselt unter Verwendung eines Codebuchs, welches von einem Zustandsvektor gleich zu zwei abgeleitet wurde. Der nächste Rahmen welcher empfangen werden soll ist der Vocoderrahmen 6, weil die Vocoderrahmen 3, 4 und 5 bei dem Sender 100 fallen gelassen wurden. Der Vocoderrahmen 6 wird entschlüsselt unter Verwendung eines Codebuchs, welches von einem Zustandsvektor gleich zu drei abgeleitet wurde, welcher der Zustandsvektor ist, welcher verwendet wurde um diesen Rahmen bei dem Sender 100 zu verschlüsseln. Wie man sehen kann erhält bzw. bewahrt dieses Verfahren die Krypto-Synchronisation zwischen dem Sender 100 und einem Empfänger.
  • 3 ist ein funktionales Blockdiagramm eines Empfängers 300 welcher verwendet wird um die Information, welche durch den Sender 100 gesendet wurde, zu empfangen. In 3 wird das heraufkonvertierte Signal durch den RF Empfänger 302 unter Verwendung von im Stand der Technik gut bekannten Techniken empfangen. Das heraufkonvertierte Signal wird herunterkonvertiert und dann zu dem Demodulator 304 geliefert, wobei das herunterkonvertierte Signal in Datenrahmen konvertiert wird. In dem exemplarischen Ausführungsbeispiel weisen die Datenrahmen RLP Rahmen auf, wobei jeder Rahmen 20 Millisekunden in der Dauer hat.
  • Die RLP Rahmen werden dann in einem Empfangspuffer 306 zur Verwendung durch den Formatierprozessor 308 gespeichert. Der Formatierprozessor 308 verwendet die Rahmen von dem Puffer 306 um die ursprünglichen Datenrahmen, in diesem Beispiel die Vocoderrahmen, zu rekonstruieren. Wenn mehrere Datenprotokolle verwendet wurden um die Information zu senden, zum Beispiel TCP und RLP, beinhaltet der Formatierprozessor 308 beide Protokolle, um Vocoderrahmen zu generieren. Die Vocoderrahmen, welche durch den Formatierprozessor 308 generiert wurden, werden in der Warteschlange 312 gespeichert, im Allgemeinen in einer sequentiellen Art und Weise. Die Warteschlange 312 ist im Allgemeinen dazu in der Lage, mehrere Vocoderrahmen zu speichern, bevor die Rahmen durch das Entschlüsselungsmodul 314 verwendet werden.
  • Das Entschlüsselungsmodul 314 ist zum Entschlüsseln von jedem Datenrahmen, welcher in der Warteschlange 312 gespeichert ist, mit einem einzigartigen bzw. einmaligen Codebuch zu entschlüsseln, ähnlich zu der Technik, welche zum Verschlüsseln der Datenrahmen wie oben stehend diskutiert verwendet wurde. Im Allgemeinen wird ein Codebuch für jeden Datenrahmen, welcher entschlüsselt werden soll, generiert, im Allgemeinen mit derselben Rate, mit welcher Rahmen durch den Vocoder 104 bei dem Sender 100 generiert wurden. Deshalb ist im Allgemeinen ein Codebuch für jeden Datenrahmen welches entschlüsselt werden soll verfügbar. Andere Techniken erlauben, dass zwei Vocoderrahmen mit einem Codebuch entschlüsselt werden, wobei das Codebuch zweimal so viel Bits wie ein Vocoderrahmen hat.
  • Das Codebuch wird unter Verwendung von einer von mehreren gut bekannten Techniken wie oben stehend erklärt erzeugt. In dem exemplarischen Ausführungsbeispiel der vorliegenden Erfindung wird ein Zustandsvektor verwendet, um das Codebuch zu generieren, zusammen mit einem oder mehreren Entschlüsselungsschlüsseln, wie in 3 gezeigt ist. Der Zustandsvektor in 3 ist, wie der Zustandsvektor in dem Sender 100, eine Zellsequenz, welche mit der gleichen vorbestimmten Rate wie der Zustandsvektor bei dem Sender 100 erhöht wird. Der Zustandsvektor wird durch den Zustandsvektorgenerator 316 unter Verwendung von gut bekannten Techniken wie diskrete elektronische Komponenten oder ein digitaler Mikroprozessor in Kombination mit einem Satz von Softwareanweisungen generiert. Andere Techniken, welche im Stand der Technik gut bekannt sind, seien auch betrachtet.
  • Das Entschlüsselungsmodul 314 erzeugt ein Codebuch für jeden Zustandsvektor welcher zu ihm von dem Zustandsvektorgenerator 316 geliefert wird. Die Vocoderrahmen welche in der Warteschlange 312 gespeichert sind wer den zu dem Entschlüsselungsmodul 314 sequenziell geliefert, wo ein einzigartiges Codebuch, welches von dem derzeitigen Zustandsvektor abgeleitet wird, digital mit jedem Vocoderrahmen kombiniert wird, um entschlüsselte Vocoderrahmen zu erzeugen. Codebücher werden mit Datenrahmen unter Verwendung von gut bekannten Techniken wie das Addieren von einem Datenrahmen zu einem Codebuch, unter Verwendung von Modulo 2 Arithmetik, kombiniert. In einem anderen Ausführungsbeispiel werden zwei Datenrahmen mit einem einzigen Codebuch kombiniert, wobei das Codebuch in diesem Ausführungsbeispiel zweimal die Anzahl von Datenbits wie ein einziger Vocoderrahmen hat.
  • Nachdem die entschlüsselten Vocoderrahmen durch das Entschlüsselungsmodul 314 generiert wurden werden sie in der Warteschlange 312 oder in einem anderen Speichergerät gespeichert, bis sie durch den Vocoder 318 benötigt werden. Der Vocoder 318 benötigt einen konstanten Strom von Vocoderrahmen um die ursprünglichen Daten welche durch den Sender 100 gesendet wurden korrekt zu reproduzieren. Der Vocoder 318 verwendet Vocoderrahmen welche in der Warteschlange 312 gespeichert sind um eine digitale Replikation des ursprünglichen Signals welches von dem Sender 100 gesendet wurde zu generieren. Der Vocoder 318 benötigt im Allgemeinen einen konstanten Strom von Vocoderrahmen von der Warteschlange 312 um die ursprüngliche Audioinformation zuverlässig zu reproduzieren. Der Vocoder 318 liefert ein digitalisiertes Ausgangssignal zu dem digital zu analog Konverter D/A 320. D/A 320 konvertiert das digitalisierte Signal von dem Vocoder 318 in ein analoges Signal. Das analoge Signal wird dann zu dem Ausgangswandler 322 gesendet, wo das analoge Signal in ein akustisches Signal konvertiert wird, welches dazu geeignet ist, von einem Zuhörer gehört zu werden. Natürlich kann der Ausgangstransduser bzw. -wandler 322 alternativ einen Videomonitor aufweisen, welcher geeignet ist, zum Sehen von Standbildern oder Video, oder irgendein anderes Gerät welches für die Anwendung in der Hand geeignet ist.
  • Die Koordination der oben stehenden Vorgänge wird im Allgemeinen durch den Prozessor 324 gehandhabt. Der Prozessor 324 kann in einer von vielen Art und Weisen, welche alle im Stand der Technik gut bekannt sind, implementiert sein, einschließlich eines diskreten Prozessors oder eines Prozessors welcher in einem anwendungsspezifischen ASIC integriert ist. Alternativ kann jedes der oben stehenden Blockelemente einen individuellen Prozessor haben, um die besonderen Funktionen von jedem Block zu erreichen, wobei der Prozessor 324 im Allgemeinen verwendet werden würde um die Aktivitäten zwischen den Blöcken zu koordinieren.
  • Wie bereits erwähnt benötigt der Vocoder 318 im Allgemeinen einen konstanten Strom von Vocoderrahmen um die ursprüngliche Audioinformation ohne Störung zu rekonstruieren. Um einen konstanten Strom von Vocoderrahmen zu erreichen wird die Warteschlange 312 verwendet. Vocoderrahmen, welche durch den Formatierprozessor 308 erzeugt wurden, werden im Allgemeinen nicht mit einer konstanten Rate erzeugt, aufgrund der Qualität des Kommunikationskanals und der Tatsache, dass ein Vocoder mit variabler Rate oft in dem Sender 100 verwendet wird, welcher Vocoderrahmen mit verschiedenen Codierraten erzeugt. Die Warteschlange 312 erlaubt Änderungen in der Vocoderrahmengenerationsrate durch den Formatierprozessor 308 während ein konstanter Strom von Vocoderrahmen zu dem Vocoder 318 sichergestellt wird. Ein mögliches Problem mit der Verwendung der Warteschlange 312 ist, dass sie eine Verzögerung verursachen kann, oder Latenzzeit, während der Sendung von Audioinformation zwischen dem Sender 100 und dem Empfänger 300, zum Beispiel in einem Telefongespräch.
  • Ein Ziel der Warteschlange 312 ist, genügend Vocoderrahmen zu halten, um den Vocoder 318 mit Vocoderrahmen während Perioden von geringer Datengeneration durch den Formatierprozessor 308 zu liefern (wodurch ein Unterlauf der Warteschlange 312 verhindert wird), aber nicht zu viele Rahmen aufgrund der erhöhten Latenzzeit welche in einer solchen Situation erzeugt wird. In einem Unterlaufzustand weist der Prozessor 324 den Vocoder 318 an, eine oder mehrere „Löschungs-" Rahmen zu verwenden, anstatt aktuelle Vocoderrahmen. Ein Löschungsrahmen ist im Stand der Technik gut bekannt, welcher einen Rahmen beschreibt, welcher keine Daten enthält, aber dem Vocoder 318 erlaubt, mit der Verarbeitung mit nachfolgender Information ohne Störung fort zu fahren. In einem Unterlaufzustand wird ein Löschungsrahmen durch den Vocoder 318 verwendet, in jeder Zeitperiode in welcher ein Vocoderrahmen nicht verfügbar ist zur Verwendung in der Warteschlange 312, in dem exemplarischen Ausführungsbeispiel alle 20 Millisekunden.
  • Andererseits, wenn die Anzahl von Vocoderrahmen welche in der Warteschlange 312 gespeichert sind relativ groß wird, wird die Latenzzeit ein Problem. Latenzzeit ist definiert als eine Zeitverzögerung zwischen den Zeitpunkten, wenn Information in einen Sender eingegeben wird, und wenn die Information zur Verwendung bei einem Empfänger verfügbar ist. Bei dem Empfänger 300 erhöht sich die Sprachlatenzzeit im Verhältnis zu der Anzahl von Rahmen welche in der Warteschlange 312 gespeichert sind, wenn die Anzahl von Vocoderrahmen welche in der Warteschlange 312 gespeichert sind sich erhöht. Wenn zum Beispiel die Anzahl von Rahmen welche in der Warteschlange 312 gespeichert sind gleich fünfzig ist, wird die Latenzzeit gleich zu fünfzig mal zwanzig Millisekunden sein (die Länge von jedem Rahmen in dem exemplarischen Ausführungsbeispiel), oder eine Sekunde, was für die meisten Audiokommunikationen nicht akzeptabel ist.
  • Um das Problem der Latenzzeit zu bekämpfen werden Vocoderrahmen von der Warteschlange 312 entfernt, oder fallen gelassen, um die Anzahl von Vocoderrahmen welche schlussendlich durch den Vocoder 318 verarbeitet werden zu reduzieren. Durch Fallen lassen von Vocoderrahmen bei der Warteschlange 312 wird das Problem der Latenzzeit reduziert. Jedoch müssen Rahmen derart fallen gelassen werden, dass ein minimaler Betrag von Störung in die Audioinformation eingefügt wird.
  • Rahmen können gemäß einem von einer Anzahl von Verfahren, welche im Stand der Technik bekannt sind, fallen gelassen werden. Zum Beispiel kön nen Rahmen mit einer einzelnen, festen Rate, mit zwei oder mehr festen Raten, mit einer variablen Rate oder einer Kombination von irgendeiner von diesen Verfahren fallen gelassen werden. Zusätzlich, wenn ein Vocoder 104 mit variabler Rate in dem Sender 100 verwendet wird können Rahmen auf der Basis der Rate, mit welcher die Rahmen durch den Vocoder 104 codiert wurden, fallen gelassen werden.
  • Im Allgemeinen ist die Entscheidung, wann Rahmen fallen gelassen werden, auf der Kommunikationskanallatenzzeit, wie durch die Kommunikationskanalqualität bestimmt, basiert, welche wiederum von der Größe der Warteschlange 312 abgeleitet werden kann. Wenn die Größe der Warteschlange 312 sich über eine vorbestimmte Schwelle erhöht, erhöht sich die Latenzzeit auf einen nicht gewünschten Pegel. Deshalb, wenn die Größe der Warteschlange 312 eine vorbestimmte Schwelle übersteigt, beginnt der Prozessor 324 damit, Rahmen von der Warteschlange 312 unter Verwendung von einem oder mehreren Verfahren, welche oben beschrieben wurden, fallen zu lassen. Wenn sich die Größe der Warteschlange 312 unter die vorbestimmte Schwelle verringert wird das Fallen lassen von Rahmen durch den Prozessor 324 angehalten. Wenn sich zum Beispiel die Größe der Warteschlange 312 auf zwei Rahmen verringert ist Latenzzeit nicht länger ein Problem und der Prozessor 324 hält den Vorgang des Fallen lassens von Rahmen an.
  • Wenn eines oder mehrere Schemata mit festen Raten verwendet werden um Rahmen fallen zu lassen werden zwei oder mehr vorbestimmte Schwellen verwendet um zu bestimmen wann jede feste Rate des Fallen lassen verwendet wird. Wenn zum Beispiel die Größe der Warteschlange 312 größer als eine erste vorbestimmte Schwelle zunimmt beginnt der Prozessor 324 damit, Rahmen mit einer ersten vorbestimmten Rate wie ein Prozent fallen zu lassen. Wenn die Größe der Warteschlange 312 damit fortfährt, anzusteigen, beginnt der Prozessor 324 damit, Rahmen mit einer zweiten vorbestimmten Rate fallen zu lassen, wenn die Größe der Warteschlange 312 über eine zweite vorbestimmte Größe ansteigt. Wenn die Größe der Warteschlange 312 unter die zweite Schwelle fällt hält der Prozessor 324 das Fallen las sen von Rahmen mit der zweiten vorbestimmten Rate an und beginnt damit, Rahmen langsamer mit der ersten vorbestimmten Rate fallen zu lassen. Wenn die Größe der Warteschlange 312 weiter abfällt, unter die zweite vorbestimmte Schwelle, oder Größe, hält der Prozessor 324 das Fallen lassen von Rahmen vollständig an, so dass die Größe der Warteschlange 312 zu einem geeigneten Pegel ansteigen kann.
  • Wenn ein Schema das variablen Fallen lassens von Rahmen verwendet wird bestimmt der Prozessor 324 die Größe der Warteschlange 312 auf einer kontinuierlichen oder fast kontinuierlichen Basis und passt die Rate des Fallen lassens von Rahmen dementsprechend an. Wenn sich die Größe der Warteschlange 312 erhöht erhöht sich die Rate mit welcher Rahmen fallen gelassen werden auch. Wenn die Größe der Warteschlange 312 abfällt fällt die Rate mit welcher Rahmen fallen gelassen werden ab. Wenn wiederum die Größe der Warteschlange 312 unter eine vorbestimmte Schwelle fällt, hält der Prozessor 324 den Vorgang des Fallen lassens von Rahmen vollständig an.
  • Rahmen können auch gemäß der Anzahl von Rahmen, welche in der Warteschlange 312 gespeichert sind, und der Rate, mit welcher Rahmen durch den Vocoder 104 codiert wurden, wenn der Vocoder 104 ein Vocoder mit variabler Rate ist, fallen gelassen werden. Wenn die Größe der Warteschlange 312 eine erste vorbestimmte Schwelle, oder Größe, übersteigt werden Vocoderrahmen, welche eine Codierrate mit der niedrigsten codierten Rate haben, fallen gelassen. Wenn die Größe der Warteschlange 312 eine zweite vorbestimmte Schwelle übersteigt werden Vocoderrahmen, welche eine Codierrate bei der zweit niedrigsten Codierrate und der niedrigsten Codierrate haben, fallen gelassen. Möglicherweise können Rahmen, welche mit der dritt niedrigsten Codierrate plus der zweit niedrigsten und der niedrigsten Codierrate codiert wurden fallen gelassen werden wenn die Anzahl von Rahmen welche in der Warteschlange 312 gespeichert sind eine dritte vorbestimmte Schwelle übersteigt. Wenn wiederum die Anzahl von Rahmen welche in der Warteschlange 312 gespeichert sind unter die vorbestimmten Schwelle fällt lässt der Prozessor 324 Rahmen gemäß der codierten Rate fallen, wenn jede Schwelle passiert wird.
  • Wie oben stehend erklärt kann fallen lassen von Rahmen bei dem Empfänger 300 oder bei dem Sender 100 auftreten. Jedoch kann in einem anderen Ausführungsbeispiel das Fallen lassen von Rahmen sowohl bei dem Sender 100 wie auch bei dem Empfänger 300 auftreten. Jede Kombination dieser Techniken des Fallen lassens von Rahmen welche oben stehend diskutiert wurden kann in einem solchen Fall verwendet werden.
  • Bei dem Empfänger 300 kann während einer Periode des Unterlaufens oder Fallen lassens von Rahmen die Krypto-Synchronisation zwischen dem Sender 100 und dem Empfänger 300 gestört werden. Die Störung wird durch Vocoderrahmen verursacht welche mit einem Codebuch verschlüsselt wurden, welches von einem ersten Zustandsvektor abgeleitet wurde, und entschlüsselt wurden gemäß einem Codebuch, welches von einem zweiten Zustandsvektor abgeleitet wurde. Dies führt dazu, dass Vocoderrahmen fehlerhaft entschlüsselt werden.
  • Die vorliegende Erfindung sperrt den Zustandsvektor derart, dass er während eines Unterlaufzustands erhöht wird, und dass der Zustandsvektor während einer Situation des Fallen lassens von Rahmen weiterläuft. In einer Unterlaufsituation sperrt der Prozessor 324 den Zustandsvektorgenerator 316 gegen das erhöht werden wenn Löschungsrahmen zu dem Vocoder 318 geliefert werden. Der Zustandsvektorgenerator 316 wird frei gegeben wenn ein Rahmen wieder für die Entschlüsselung in der Warteschlange 312 verfügbar wird.
  • 4a illustriert diesen Punkt. Wie in 4a gezeigt ist wird das Vergehen von Zeit mit Zeitperioden T1, T2, T3 und so weiter bezeichnet, wobei T1 zuerst in der Zeit auftritt. Jede Zeitperiode ist gleich zu der Rate mit welcher Vocoderrahmen bei dem Vocoder 104 in dem Sender 104 erzeugt werden, in dem exemplarischen Ausführungsbeispiel 20 Millisekunden. Bei T1 ist ein Rahmen in der Warteschlange 312 zur Entschlüsselung durch das Entschlüsselungsmodul 314 verfügbar. Der Zustandsvektor von dem Zustandsvektorgenerator 316 ist gleich zu 205 und wird auf den Rahmen in der Warteschlange 312 angewandt, um ihn zu entschlüsseln. Bei T2 wird der Zustandsvektor erhöht. Ein anderer Rahmen wird zur Entschlüsselung in der Warteschlange 312 verfügbar, so dass der Zustandsvektor von 206 auf den Rahmen angewandt wird, um ihn zu entschlüsseln. Bei T3 ist kein Rahmen für die Entschlüsselung in der Warteschlange 312 verfügbar. Deshalb sperrt der Prozessor 324 den Zustandsvektorgenerator 316 gegen das Erhöht werden, was dazu führt, dass der Zustandsvektorgenerator bei dem Wert von 206 bleibt. Bei T4 wiederum ist kein Rahmen verfügbar in der Warteschlange 312 zur Entschlüsselung, somit bleibt der Zustandsvektorgenerator 312 gesperrt gegen das Erhöhen des Zustandsvektors. Bei T5 wird ein Rahmen verfügbar in der Warteschlange 312, so dass der Zustandsvektorgenerator 316 frei gegeben wird, und es wird ihm erlaubt, sich auf den nächsten Wert, welcher 207 ist, zu erhöhen. Der Rahmen in der Warteschlange 312 wird dann zu dem Entschlüsselungsmodul 314 geliefert und wird unter Verwendung eines Codebuchs, welches von dem Zustandsvektor, welcher einen Wert von 207 hat, abgeleitet ist, entschlüsselt. Bei T6 ist kein Rahmen für die Entschlüsselung in der Warteschlange 312 verfügbar, somit sperrt der Prozessor 324 den Zustandsvektorgenerator 316 gegen das Erhöht werden, was zu einem Wert des Zustandsvektors von 207 führt.
  • Während einer Situation des Fallen lassens von Rahmen lässt der Prozessor 324 Rahmen von der Warteschlange 312 vor der Entschlüsselung durch das Entschlüsselungsmodul 314 fallen. Für jeden Rahmen welcher fallen gelassen wird muss der Prozessor 324 den Zähler des Zustandsvektors erhöhen, um den/die Rahmen, welche/r fallen gelassen wurde/n, zu kompensieren.
  • 4b und 4c illustrieren diesen Punkt. Wie in 4b gezeigt ist werden Vocoderrahmen in der Warteschlange 312 gespeichert wenn sie von dem Formatierprozessor 308 verfügbar werden, beginnend mit dem Rahmen 1 und fortfahrend bis Rahmen 7 und darüber hinaus. Rahmen werden zu dem Entschlüsselungsmodul 314 mit einer vorbestimmten Rate geliefert, welche durch die Rate definiert ist, mit welcher Vocoderrahmen durch den Vocoder 104 generiert werden. 4c illustriert wie der Zustandsvektorgenerator 316 während des Fallen lassens von Rahmen beeinflusst wird. Zur Zeit T1 liefert der Zustandsvektorgenerator einen Zustandsvektor welcher einen Wert von 205 hat zu dem Entschlüsselungsmodul 314, wo ein Codebuch erzeugt wird um den Rahmen 1 zu entschlüsseln. Zur Zeit T2 wird der Zustandsvektor auf 206 erhöht, wo er zu dem Entschlüsselungsmodul 314 zur Verwendung in der Generierung eines Codebuchs zur Entschlüsselung von Rahmen 2 geliefert wird. Zur Zeit T3 lässt der Prozessor 324 Rahmen 3 und Rahmen 4 fallen. In einem alternativen Ausführungsbeispiel wählt der Prozessor 324 vorab welcher Rahmen/welche Rahmen, welche/r in der Warteschlange 312 gespeichert sind, fallen gelassen werden. In jedem Fall liefert zur Zeit T3 der Prozessor 324 den nächsten nicht fallen gelassenen Rahmen zu dem Entschlüsselungsmodul 314, welcher in diesem Fall Rahmen 5 ist. Der Prozessor 324 weist auch den Zustandsvektorgenerator 316 an, einen Zustandsvektor basierend auf der Anzahl von Rahmen welche fallen gelassen wurden zu generieren. In diesem Fall wurden zwei Rahmen fallen gelassen, deshalb weist der Prozessor 324 den Zustandsvektorgenerator 316 an, einen Zustandsvektor gleich zu 209 zu generieren, welcher gleich ist zu dem Wert welchen der Zustandsvektor normalerweise bei (207) plus zwei haben würde, um die zwei fallen gelassenen Rahmen zu kompensieren.
  • Zur Zeit T4 ist Rahmen 6 zur Entschlüsselung verfügbar, somit wird er zu dem Entschlüsselungsmodul 314 geliefert, während der Zustandsvektor um eins erhöht wird, in diesem Fall auf einen Wert von 210. Zur Zeit T5 wird Rahmen 7 durch den Prozessor 324 fallen gelassen und der Rahmen 8 ist zur Entschlüsselung verfügbar. Deshalb weist zur Zeit T5 der Prozessor 324 den Zustandsvektorgenerator an, den Zustandsvektor um zwei auf 212 zu erhöhen (eins für eine normale Erhöhung und eins um den einen Rahmen, der fallen gelassen wurde, zu kompensieren), und liefert Rahmen 8 zu dem Entschlüsselungsmodul 314. In jedem des Unterlauffalls und des Falls des Fallen lassens von Rahmen weist der Prozessor 324 den Zustandsvektorge nerator 316 an, den Zustandsvektor derart anzupassen, dass er mit dem Zustandsvektor welcher den Rahmen verschlüsselt hat synchronisiert bleibt.
  • 5 ist ein Flussdiagramm, welches das Verfahren der vorliegenden Erfindung wie in dem Sender 100 verwendet illustriert. In Schritt 500 werden Datenrahmen generiert, normalerweise mit einer konstanten Rate, durch den Vocoder 104. In einem alternativen Ausführungsbeispiel werden Datenrahmen nicht durch den Vocoder 104 generiert, sondern durch irgendein anderes datenerzeugendes Gerät wie eine Videokamera, ein Computer, oder eine Digitalkamera. In dem exemplarischen Ausführungsbeispiel werden Rahmen mit einer Rate von einem Rahmen alle 20 Millisekunden generiert.
  • In Schritt 502 werden Rahmen von dem Vocoder 104 im Speicher 106 zur temporären Speicherung gespeichert. In dem exemplarischen Ausführungsbeispiel kann nur ein Rahmen gespeichert werden zu irgendeiner Zeit, in dem Speicher 106. Jedoch kann in anderen Ausführungsbeispielen eine alternative Anzahl von Rahmen in dem Speicher 106 gespeichert sein. In noch einem anderen Ausführungsbeispiel werden Rahmen direkt von dem Vocoder 104 zu dem Verschlüsselungsmodul 108 ohne den Bedarf für den Speicher 106 geliefert.
  • In Schritt 504 entscheidet der Prozessor 120 ob ein Rahmen fallen gelassen wird oder nicht, basierend auf einem oder mehreren Kriterien wie der Sendelatenzzeit. Wenn der Prozessor 120 bestimmt, dass ein Rahmen fallen gelassen werden soll, sperrt der Prozessor 120 den Zustandsvektorgenerator 110 in Schritt 506, wodurch der Zustandsvektor am erhöht werden gehindert wird. In Schritt 508 lässt der Prozessor 120 den Rahmen, welcher derzeit zur Verarbeitung durch das Entschlüsselungsmodul 108 verfügbar ist fallen. In dem exemplarischen Ausführungsbeispiel liefert der Prozessor 120 nicht den derzeitigen Vocoderrahmen welcher in Speicher 106 gespeichert ist zu dem Verschlüsselungsmodul 108.
  • In Schritt 510 bestimmt der Prozessor 120 ob der nächste Rahmen in der Sequenz fallen gelassen werden soll. Wenn dem so ist fährt der Prozessor zurück zu Schritt 508, wo der nächste Rahmen, welcher in dem Speicher 106 gespeichert ist, fallen gelassen wird, und der Zustandsvektorgenerator 110 bleibt gesperrt. Wenn der nächste Rahmen nicht fallen gelassen wird fährt die Verarbeitung mit Schritt 510 fort.
  • Unter Rückbezugnahme auf Schritt 504, wenn der Prozessor 120 bestimmt, dass der derzeitige Rahmen nicht fallen gelassen werden soll, fährt die Verarbeitung mit Schritt 510 fort, wo der Zustandsvektorgenerator 110 frei gegeben wird (wenn er in einem vorherigen Schritt gesperrt wurde), wodurch der Zustandsvektor erhöht wird.
  • In Schritt 512 wird der derzeitige Rahmen welcher im Speicher 106 gespeichert wird zu dem Verschlüsselungsmodul 108 geliefert und wird unter Verwendung eines Codebuchs, welches von dem derzeitigen Wert des Zustandsvektors abgeleitet ist verschlüsselt. Das Ergebnis dieses Vorgangs ist dass Rahmen unter Verwendung von aufeinander folgenden Zustandsvektoren verschlüsselt werden, auch wenn einer oder mehrere Rahmen durch den Prozessor 112 vor der Verschlüsselung fallen gelassen werden.
  • 6 ist ein Flussdiagramm, welches das Verfahren der vorliegenden Erfindung wie in dem Empfänger 300 während eines Unterlaufzustands verwendet illustriert. In Schritt 600 bestimmt der Prozessor 324 ob irgendein Rahmen zur Entschlüsselung in der Warteschlange 312 verfügbar ist oder nicht. Wenn mindestens ein Rahmen verfügbar ist zur Entschlüsselung wird der Zustandsvektor in Schritt 602 erhöht. Als nächstes wird in Schritt 604 mindestens ein Rahmen zu dem Entschlüsselungsmodul 314 geliefert, wo er unter Verwendung eines Codebuchs, welches von dem derzeitigen Wert des Zustandsvektors von dem Zustandsvektorgenerator 316 abgeleitet ist, entschlüsselt wird. Um korrekt entschlüsselt zu werden muss der Rahmen im Allgemeinen durch ein Codebuch entschlüsselt werden, welches von einem Zustandsvektor abgeleitet ist, welcher den gleichen Zustandsvektor trifft, welcher verwendet wurde, um den Rahmen bei dem Sender 100 zu verschlüsseln. Nachdem der Rahmen entschlüsselt wurde, kehrt die Verarbeitung dann zu Schritt 600 zurück, wo der Prozessor 324 bestimmt, ob ein anderer Rahmen zur Entschlüsselung verfügbar ist.
  • Wenn keine Rahmen zur Entschlüsselung in Schritt 600 verfügbar sind fährt die Verarbeitung mit Schritt 606 fort, wo der Prozessor 324 den Zustandsvektorgenerator 316 sperrt, wodurch der Wert des Zustandsvektors auf seinen derzeitigen Zustand eingefroren wird. Als nächstes, Schritt 608, liefert der Prozessor 324 einen Löschungsrahmen zu dem Vocoder 318, so dass die Verarbeitung nicht unterbrochen wird. Die Verarbeitung kehrt dann zurück zu Schritt 600, wo der Prozessor 324 erneut bestimmt, ob ein Rahmen zur Entschlüsselung verfügbar ist. Wenn kein Rahmen verfügbar ist liefert der Prozessor 324 einen anderen Löschungsrahmen zu dem Vocoder 318. Schritt 606 wird nicht wiederholt in der Situation, weil der Zustandsvektorgenerator 316 bereits vorher gesperrt wurde.
  • Der obige Vorgang stellt sicher, dass Rahmen korrekt entschlüsselt werden, auch wenn sie zu dem Verschlüsselungsmodul 314 in irregulären Intervallen geliefert werden.
  • 7 ist ein Flussdiagramm, welches das Verfahren der vorliegenden Erfindung wie in dem Empfänger 300 während des Zustands des Fallen lassens eines Rahmens detailliert beschreibt. Wie vorstehend erwähnt tritt das Fallen lassen von Rahmen in dem Empfänger 300 auf, wenn die Latenzzeit übermäßig wird, oftmals bestimmt durch die Anzahl von Rahmen welche in der Warteschlange 312 zu einer gegebenen Zeit gespeichert sind. Der Vorgang beginnt in Schritt 700, wo ein Rahmen, welcher in der Warteschlange 312 gespeichert ist, zu dem Entschlüsselungsmodul 314 geliefert wird. In Schritt 702 bestimmt der Prozessor 324 die Anzahl von aufeinander folgenden Rahmen welche vor dem derzeitigen Rahmen fallen gelassen wurden. Wenn keine vorher aufeinander folgenden Rahmen fallen gelassen wurden fährt die Verarbeitung mit Schritt 704 fort, wo der Zustandsvektor um einen vorbestimmten Betrag erhöht wird, in dem exemplarischen Ausführungsbeispiel um eins.
  • Unter Rückbezugnahme auf Schritt 702, wenn vorherige Rahmen fallen gelassen wurden, fährt die Verarbeitung mit Schritt 706 fort. Normalerweise werden Rahmen von der Warteschlange 312 zu dem Entschlüsselungsmodul 314 aufeinander folgend geliefert, wie sie in der Warteschlange 312 gespeichert wurden. Wenn jedoch der Prozessor 324 bestimmt, dass einer oder mehrere Rahmen fallen gelassen werden müssen, werden der eine oder mehrere Rahmen welche fallen gelassen wurden nicht zu dem Entschlüsselungsmodul 314 geliefert. Vielmehr wird der nächste Rahmen in der Warteschlange 312 nach dem/den fallen gelassenen Rahmen zu dem Entschlüsselungsmodul 314 geliefert. In Schritt 706 bestimmt der Prozessor 324 wie viele aufeinander folgende Rahmen vor dem derzeitigen Rahmen fallen gelassen wurden. Der Zustandsvektor wird um einen proportionalen Betrag in Bezug auf die Anzahl von fallen gelassenen Rahmen erhöht. Wenn zum Beispiel zwei Rahmen vor dem derzeitigen Rahmen fallen gelassen wurden wird der Zustandsvektor um drei erhöht, eins für die normale Erhöhung und zwei um die zwei Rahmen, welche fallen gelassen wurden, zu kompensieren. Dieser Vorgang stellt sicher, dass Rahmen korrekt entschlüsselt werden, auch wenn einer oder mehrere Rahmen vor der Entschlüsselung fallen gelassen wurden.
  • In Schritt 708 wird der derzeitige Rahmen entschlüsselt unter Verwendung eines Codebuchs, welches von dem derzeitigen Wert des Zustandsvektors abgeleitet wurde.
  • Dieser Vorgang stellt sicher, dass Rahmen korrekt entschlüsselt werden auch wenn einer oder mehrere Rahmen vor der Entschlüsselung fallen gelassen wurden.
  • Die vorgesehen Beschreibung der bevorzugten Ausführungsbeispiele wird geliefert, um jedem Fachmann zu ermöglichen, die vorliegende Erfindung auszuführen oder zu benutzen. Die verschiedenen Modifikationen zu diesen Ausführungsbeispielen werden dem Fachmann unmittelbar offensichtlich sein, und die hierin definierten allgemeinen Prinzipien können auf andere Ausführungsbeispiele ohne die Verwendung der erfinderischen Fähigkeit angewandt werden. Somit wird es nicht beabsichtigt, die vorliegende Erfindung auf die hierin gezeigten Ausführungsbeispiele einzuschränken, sondern ihr soll der weiteste Umfang, welcher mit den Prinzipien und neuen Merkmalen, wie hierin offenbart, konsistent ist, zugestanden werden.

Claims (40)

  1. Ein Verfahren zum Erlangen von kryptographischer bzw. Krypto-Synchronisation in einem Paketdatenkommunikationssystem, wobei das Paketdatenkommunikationssystem einen Sender und einen Empfänger aufweist, wobei der Sender und der Empfänger jeweils kryptographische Sicherheitsfähigkeiten besitzen, wobei in dem Sender folgende Schritte ausgeführt werden: Generieren von Datenrahmen mit einer vorbestimmten Rate in dem Sender; Inkrementieren eines Zustandsvektors mit der vorbestimmten Rate; Vorsehen des Zustandsvektors an ein Verschlüsselungsmodul; Generieren eines Codebuchs von dem Verschlüsselungsmodul unter Verwendung von mindestens dem Zustandsvektor, wobei das Codebuch zum Verschlüsseln von zumindest einem der Datenrahmen dient; und Sperren bzw. Deaktivieren des Zustandsvektors, wenn eine oder mehrere der Datenrahmen fallengelassen werden.
  2. Verfahren nach Anspruch 1, wobei der Zustandsvektor freigegeben wird, nachdem eine gewünschte Anzahl der Datenrahmen fallengelassen wurde.
  3. Verfahren nach Anspruch 1, wobei der Schritt des Generierens der Datenrahmen folgende Schritte aufweist: Konvertieren von Informationen in ein digitales Format; Vorsehen der digitalen Informationen an einen Vocoder; und Generieren der Datenrahmen durch den Vocoder mit einer ersten Rate.
  4. Verfahren nach Anspruch 1, wobei der Schritt des Fallenlassens eines oder mehrerer der Datenrahmen den Schritt des Fallenlassens der Datenrahmen mit einer festgelegten, vorbestimmten Rate aufweist.
  5. Verfahren nach Anspruch 1, wobei der Schritt des Fallenlassens eines oder mehrerer der Datenrahmen die folgenden Schritte aufweist: Bestimmen einer Kommunikationskanal-Latenzzeit; und Fallenlassen der Datenrahmen mit einer variablen Rate in Übereinstimmung mit der Kommunikationskanal-Latenzzeit.
  6. Verfahren nach Anspruch 5, wobei der Schritt des Fallenlassens der Datenrahmen mit einer variablen Rate folgende Schritte aufweist: Senken der Rate, wenn die Kommunikationskanal-Latenzzeit unter zumindest einen vorbestimmten Schwellenwert bzw. Schwelle fällt; und Anheben der Rate, wenn die Kommunikationskanal-Latenzzeit zumindest eine andere vorbestimmte Schwelle überschreitet.
  7. Verfahren nach Anspruch 1, wobei der Schritt des Fallenlassens der Datenrahmen folgende Schritte aufweist: Bestimmen einer Kommunikationskanal-Latenzzeit; Fallenlassen der Datenrahmen mit einer vorbestimmten festgelegten Rate, wenn die Kommunikationskanal-Latenzzeit unter eine vorbestimmte Schwelle fällt; und Fallenlassen der Datenrahmen mit einer zweiten vorbestimmten festgelegten Rate, wenn die Kommunikationskanal-Latenzzeit die vorbestimmte Schwelle überschreitet.
  8. Verfahren nach Anspruch 1, wobei der Schritt des Fallenlassens einer oder mehrerer der Datenrahmen folgende Schritte aufweist: Bestimmen einer Kommunikationskanal-Latenzzeit; und Fallenlassen eines jeden der Datenrahmen mit einer codierten Rate gleich einer ersten Codierrate, wenn die Kommunikationskanal-Latenzzeit eine vorbestimmte Schwelle überschreitet.
  9. Verfahren nach Anspruch 8, das weiterhin den Schritt des Fallenlassens eines jeden der Datenrahmen mit einer codierten Rate gleich zu der ersten codierten Rate und einer zweiten Codierrate aufweist, wenn die Kommunikationskanal-Latenzzeit eine zweite vorbestimmte Schwelle überschreitet.
  10. Ein Verfahren zum Erreichen einer Krypto-Synchronisation in einem Paketdatenkommunikationssystem, wobei das Paketdatenkommunikationssystem einen Sender und einen Empfänger aufweist, wobei der Sender und der Empfänger jeweils kryptographische Sicherheitsfähigkeiten besitzen, wobei in dem Empfänger die folgenden Schritte ausgeführt werden: Generieren von Datenrahmen bei dem Empfänger; Speichern der Datenrahmen sequenziell in einer Warteschlange; Vorsehen der gespeicherten sequenziell zu einem Entschlüsselungsmodul; Fallenlassen einer oder mehrerer der Datenrahmen in der Warteschlange; Inkrementieren eines Zustandsvektors mit einer vorbestimmten Rate; Vorsehen des Zustandsvektors an ein Entschlüsselungsmodul; Generieren eines Codebuchs von dem Entschlüsselungsmodul, unter Verwendung von zumindest dem Zustandsvektor, wobei das Codebuch zum Entschlüsseln zumindest eines Rahmens der Datenrahmen dient; und Anpassen des Zustandsvektors für jeden der erwähnten einen oder mehreren Datenrahmen, die fallengelassen werden.
  11. Verfahren nach Anspruch 10, wobei der Schritt des Anpassens des Zustandsvektors die folgenden Schritte aufweist: Bestimmen einer Anzahl von fallengelassenen Datenrahmen; und Vorrücken des Zustandsvektors proportional zu der Anzahl von fallengelassenen Rahmen.
  12. Verfahren nach Anspruch 11, wobei der Schritt des Vorrückens des Zustandsvektors den Schritt des Vorrückens des Zustandsvektors um einen Wert von eins für jeden der einen oder mehreren fallengelassenen Rahmen aufweist.
  13. Verfahren nach Anspruch 10, das weiterhin die folgenden Schritte aufweist: Anlegen des angepassten Zustandsvektors an das Entschlüsselungsmodul; Generieren eines zweiten Codebuchs, abgeleitet von dem angepassten Zustandsvektor; Vorsehen eines sequentiellen nicht-fallengelassenen Rahmens in der Warteschlange an das Entschlüsselungsmodul; und Entschlüsseln des sequentiellen, nicht-fallengelassenen Rahmens unter Verwendung des zweiten Codebuchs.
  14. Verfahren nach Anspruch 10, wobei der Schritt des Fallenlassens einer oder mehrerer der Datenrahmen den Schritt des Fallenlassens des einen oder mehreren Datenrahmens mit einer festgelegten Rate aufweist.
  15. Verfahren nach Anspruch 10, wobei der Schritt des Fallenlassens eines oder mehrerer der Datenrahmen die folgenden Schritte aufweist: Bestimmen einer Kommunikationskanal-Latenzzeit; und Fallenlassen eines oder mehrerer Datenrahmen mit einer variablen Rate gemäß der Kommunikationskanal-Latenzzeit.
  16. Verfahren nach Anspruch 15, wobei der Schritt des Fallenlassens des einen oder mehrerer der Datenrahmen mit einer variablen Rate die folgenden Schritte aufweist: Senken der Rate, wenn die Kommunikationskanal-Latenzzeit unter mindestens eine vorbestimmte Schwelle fällt; und Anheben der Rate, wenn die Kommunikationskanal-Latenzzeit zumindest eine weitere vorbestimmte Schwelle überschreitet.
  17. Verfahren nach Anspruch 10, wobei der Schritt des Fallenlassens des einen oder mehrerer der Datenrahmen die folgenden Schritte aufweist: Bestimmen einer Kommunikationskanal-Latenzzeit; Fallenlassen der Datenrahmen mit einer ersten vorbestimmten festgelegten Rate, wenn die Kommunikationskanal-Latenzzeit unter eine vorbestimmte Schwelle fällt; und Fallenlassen der Datenrahmen mit einer zweiten vorbestimmten festgelegten Rate, wenn die Kommunikationskanal-Latenzzeit die vorbestimmte Schwelle überschreitet.
  18. Verfahren nach Anspruch 10, wobei der Schritt des Fallenlassens eines oder mehrerer der Datenrahmen die folgenden Schritte aufweist: Bestimmen einer Kommunikationskanal-Latenzzeit; und Fallenlassen eines jeden der Datenrahmen mit einer codierten Rate gleich einer ersten Codierrate, wenn die Kommunikationskanal-Latenzzeit eine vorbestimmte Schwelle überschreitet.
  19. Verfahren nach Anspruch 18, das weiterhin den Schritt des Fallenlassens einer oder mehrerer der Datenrahmen mit einer codierten Rate gleich der ersten Codierrate und einer zweiten Codierrate aufweist, wenn die Kommunikationskanal-Latenzzeit eine zweite vorbestimmte Schwelle überschreitet.
  20. Ein Verfahren zum Erlangen einer Krypto-Synchronisation in einem Paketdatenkommunikationssystem, wobei das Paketdatenkommunikationssystem einen Sender und einen Empfänger aufweist, wobei der Sender und der Empfänger jeweils kryptographische Sicherheitsfähigkeiten besitzen, wobei in dem Empfänger folgende Schritte ausgeführt werden: Generieren von Datenrahmen bei dem Empfänger; Speichern der Datenrahmen in einer Warteschlange; Vorsehen von zumindest einem der Datenrahmen von der Warteschlange an ein Entschlüsselungsmodul, bei Verfügbarkeit in der Warteschlange; Vorsehen eines Zustandsvektors an das Entschlüsselungsmodul, wobei der Zustandsvektor um eine vorbestimmte Rate inkrementiert wird; Generieren eines Codebuchs von dem Entschlüsselungsmodul, und zwar unter Verwendung von zumindest dem Zustandsvektor, wobei das Codebuch zum Entschlüsseln von zumindest einem der Datenrahmen dient; und Sperren des Zustandsvektors, wenn die Warteschlange sich in einem unterversorgten Zustand (underflow condition) befindet.
  21. Verfahren nach Anspruch 20, wobei der Schritt des Sperrens des Zustandsvektors die folgenden Schritte aufweist: Bestimmen, dass keine der Datenrahmen zur Entschlüsselung in der Warteschlange zur Verfügung stehen; Sperren des Zustandsvektors; Bestimmen, dass zumindest einer der Datenrahmen für die Entschlüsselung in der Warteschlange zur Verfügung steht; Freigeben des Zustandsvektors; und Inkrementieren des Zustandsvektors um einen Wert von eins.
  22. Ein Sender (100) zum Erlangen einer Krypto-Synchronisation in einem Paketdatenkommunikationssystem, wobei das Paketdatenkommunikationssystem den Sender (100) und einen Empfänger (300) aufweist, wobei der Sender und der Empfänger jeweils kryptographische Sicherheitsfähigkeiten besitzen, wobei der Sender (100) Folgendes aufweist: Mittel (104) zum Generieren von Datenrahmen mit einer vorbestimmten Rate; Mittel (110) zum Generieren eines Zustandsvektors, wobei der Zustandsvektor mit der vorbestimmten Rate inkrementiert wird; ein Verschlüsselungsmodul (108) zum Generieren eines Codebuchs von zumindest dem Zustandsvektor, wobei das Codebuch zum Verschlüsseln von zumindest einem der Datenrahmen dient; und ein Prozessor (120) zum Fallenlassen von einem oder mehreren der Datenrahmen und zum Sperren des Zustandsvektors für jeden der Datenrahmen der fallengelassen wird.
  23. Vorrichtung nach Anspruch 22, wobei die Datenrahmen mit einer festgelegten, vorbestimmten Rate fallengelassen werden.
  24. Vorrichtung nach Anspruch 22, wobei die Datenrahmen mit einer variablen Rate fallengelassen werden.
  25. Vorrichtung nach Anspruch 14, wobei: der Prozessor (120) weiterhin zum Bestimmen einer Kommunikationskanal-Latenzzeit dient; die Datenrahmen mit einer gesenkten Rate fallengelassen werden, wenn die Kommunikationskanal-Latenzzeit eine vorbestimmte Schwelle überschreitet; und die Datenrahmen fallengelassen werden mit einer erhöhten Rate, wenn die Kommunikationskanal-Latenzzeit unter zumindest eine weitere vorbestimmte Schwelle fällt.
  26. Vorrichtung nach Anspruch 22, wobei der Prozessor (120) weiterhin dient zum Bestimmen einer Kommunikationskanal-Latenzzeit, zum Fallenlassen der Datenrahmen mit einer ersten festgelegten Rate, wenn die Kommunikationskanal-Latenzzeit unter eine vorbestimmte Schwelle fällt, und zum Fallenlassen der Datenrahmen mit einer zweiten festgelegten Rate, wenn die Kommunikationskanal-Latenzzeit die vorbestimmte Schwelle überschreitet.
  27. Vorrichtung nach Anspruch 22, wobei der Prozessor (120) weiterhin dient zum Bestimmen einer Kommunikationskanal-Latenzzeit und zum Fallenlassen eines jeden der Datenrahmen mit einer codierten Rate gleich einer ersten Codierungsrate, wenn die Kommunikationskanal-Latenzzeit eine vorbestimmte Schwelle überschreitet.
  28. Vorrichtung nach Anspruch 27, wobei der Prozessor (120) weiterhin zum Fallenlassen eines jeden der Datenrahmen dient, und zwar mit einer codierten Rate gleich der ersten Codierrate, und einer zweiten Codierrate, wenn die Kommunikationskanal-Latenzzeit eine zweite vorbestimmte Schwelle überschreitet.
  29. Vorrichtung nach Anspruch 22, wobei die Mittel (104) zum Generieren der Datenrahmen Folgendes aufweisen: einen Empfänger zum Empfangen eines drahtlosen Kommunikationssignals; und einen Demodulator zum Demodulieren des drahtlosen Kommunikationssignals und zum Erzeugen der Datenrahmen.
  30. Ein Empfänger (300) zum Erreichen einer Krypto-Synchronisation in einem Paketdatenkommunikationssystem, wobei das Paketdatenkommunikationssystem einen Sender (100) und den Empfänger (300) aufweist, wobei der Sender und der Empfänger jeweils kryptographische Sicherheitsfähigkeiten besitzen, wobei der Empfänger (300) Folgendes aufweist: Mittel (304) zum Generieren der Datenrahmen; eine Warteschlange (312) zum Speichern der Datenrahmen; Mittel (316) zum Generieren eines Zustandsvektors, wobei der Zustandsvektor mit einer vorbestimmten Rate inkrementiert wird; ein Entschlüsselungsmodul (314) zum Generieren eines Codebuchs von zumindest einem Zustandsvektor, wobei das Codebuch zum Entschlüsseln von zumindest einem der Datenrahmen dient; und ein Prozessor (324) zum Fallenlassen einer oder mehrerer der Datenrahmen in der Warteschlange (312) und zum Anpassen des Zustandsvektors für jeden der Datenrahmen, die fallengelassen werden.
  31. Empfänger nach Anspruch 30, wobei der Prozessor (324) den Zustandsvektor durch Bestimmen einer Anzahl von fallengelassenen Datenrahmen und Fortschreiten des Zustandsvektors proportional zu der Anzahl von fallengelassenen Rahmen anpasst.
  32. Empfänger nach Anspruch 31, wobei der Zustandsvektor um einen Wert von eins pro jeden fallengelassenen Datenrahmen vorgerückt wird.
  33. Empfänger nach Anspruch 30, wobei der Prozessor (324) den einen oder die mehreren Datenrahmen mit einer festgelegten Rate fallen lässt.
  34. Empfänger nach Anspruch 30, wobei der Prozessor (324) weiterhin zum Bestimmen einer Kommunikationskanal-Latenzzeit dient und zum Fallenlassen des einen oder der mehreren Datenrahmen mit einer variablen Rate gemäß der Kommunikationskanal-Latenzzeit.
  35. Empfänger nach Anspruch 34, wobei: der Prozessor (324) die Rate senkt, wenn die Kommunikationskanal-Latenzzeit unter die zumindest eine vorbestimmte Schwelle fällt; und der Prozessor (324) die Rate erhöht, wenn die Kommunikationskanal-Latenzzeit zumindest eine weitere vorbestimmte Schwelle überschreitet.
  36. Empfänger nach Anspruch 30, wobei der Prozessor (324) weiterhin zum Bestimmen einer Kommunikationskanal-Latenzzeit dient; und zum Fallenlassen des einen oder mehreren Datenrahmens, mit einer ersten vorbestimmten festgelegten Rate, wenn die Kommunikationskanal-Latenzzeit unter eine vorbestimmte Schwelle kanal-Latenzzeit unter eine vorbestimmte Schwelle fällt; und zum Fallenlassen des einen oder der mehreren Datenrahmen mit einer zweiten vorbestimmten festgelegten Rate, wenn die Kommunikationskanal-Latenzzeit die vorbestimmte Schwelle überschreitet.
  37. Empfänger nach Anspruch 30, wobei der Prozessor (324) weiterhin zum Bestimmen einer Kommunikationskanal-Latenzzeit dient; und zum Fallenlassen eines jeden des einen oder der mehreren Datenrahmen mit einer codierten Rate gleich einer ersten Codierungsrate, wenn die Kommunikationskanal-Latenzzeit eine vorbestimmte Schwelle überschreitet.
  38. Empfänger nach Anspruch 37, wobei der Prozessor (324) den einen oder die mehreren Datenrahmen fallen lässt, und zwar mit einer codierten Rate gleich zu der ersten Codierrate und einer zweiten Codierrate, wenn die Kommunikationskanal-Latenzzeit eine zweite vorbestimmte Schwelle überschreitet.
  39. Ein Empfänger (300) zum Erreichen einer Krypto-Synchronisation in einem Paketdatenkommunikationssystem, wobei das Paketdatenkommunikationssystem einen Sender (100) und den Empfänger (300) aufweist, wobei der Sender und der Empfänger jeweils kryptographische Sicherheitsfähigkeiten besitzen, wobei der Empfänger (300) Folgendes aufweist: Mittel (304) zum Generieren von Datenrahmen; eine Warteschlange (312) zum Speichern der Datenrahmen; Mittel (316) zum Generieren eines Zustandsvektors, wobei der Zustandsvektor mit einer vorbestimmten Rate inkrementiert wird; ein Entschlüsselungsmodul (314) zum Generieren eines Codebuchs von zumindest dem Zustandsvektor, wobei das Codebuch zum Entschlüsseln von mindestens einem der Datenrahmen dient; und ein Prozessor (324) zum Sperren des Zustandsvektors, wenn keine Datenrahmen für die Entschlüsselung in der Warteschlange zur Verfügung stehen.
  40. Empfänger nach Anspruch 39, wobei der Zustandsvektor freigegeben wird, wenn zumindest ein Datenrahmen für die Entschlüsselung in der Warteschlange zur Verfügung steht.
DE60119080T 2000-01-20 2001-01-19 Verfahren und vorrichtung zur herstellung von kryptosynchronismus in einem auf gepackten daten basierenden kommunikationssystem Expired - Lifetime DE60119080T2 (de)

Applications Claiming Priority (3)

Application Number Priority Date Filing Date Title
US489194 1974-07-17
US09/489,194 US7003114B1 (en) 2000-01-20 2000-01-20 Method and apparatus for achieving crypto-synchronization in a packet data communication system
PCT/US2001/001893 WO2001054343A2 (en) 2000-01-20 2001-01-19 Method and apparatus for achieving crypto-syncronization in a packet data communication system

Publications (2)

Publication Number Publication Date
DE60119080D1 DE60119080D1 (de) 2006-06-01
DE60119080T2 true DE60119080T2 (de) 2006-11-30

Family

ID=23942791

Family Applications (1)

Application Number Title Priority Date Filing Date
DE60119080T Expired - Lifetime DE60119080T2 (de) 2000-01-20 2001-01-19 Verfahren und vorrichtung zur herstellung von kryptosynchronismus in einem auf gepackten daten basierenden kommunikationssystem

Country Status (12)

Country Link
US (2) US7003114B1 (de)
EP (1) EP1252737B1 (de)
JP (1) JP4694079B2 (de)
KR (1) KR100840146B1 (de)
AT (1) ATE324722T1 (de)
AU (1) AU2001232877A1 (de)
DE (1) DE60119080T2 (de)
ES (1) ES2266155T3 (de)
HK (1) HK1051097B (de)
MY (1) MY129358A (de)
TW (1) TW563321B (de)
WO (1) WO2001054343A2 (de)

Families Citing this family (44)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
DE19817007C2 (de) * 1998-04-17 2001-08-09 Deutsche Telekom Ag Verfahren zur Nutzung digitaler Datennetze zum Zwecke der Bandbreitenreduktion bei der Übertragung von Daten über Sprachverbindungswege
US7003114B1 (en) * 2000-01-20 2006-02-21 Qualcomm Incorporated Method and apparatus for achieving crypto-synchronization in a packet data communication system
US7505594B2 (en) * 2000-12-19 2009-03-17 Qualcomm Incorporated Discontinuous transmission (DTX) controller system and method
US7095856B2 (en) * 2002-03-29 2006-08-22 Motorola, Inc. Method and apparatus to maintain encryption synchronization in a multi-modulation TDM system
US7530084B2 (en) * 2002-05-28 2009-05-05 Sony Corporation Method and apparatus for synchronizing dynamic graphics
US8840475B2 (en) * 2002-12-10 2014-09-23 Ol2, Inc. Method for user session transitioning among streaming interactive video servers
US20040165560A1 (en) * 2003-02-24 2004-08-26 Harris John M. Method and apparatus for predicting a frame type
US7715559B2 (en) * 2004-08-26 2010-05-11 Motorola, Inc. Crypto-synchronization for secure communication
US7596224B2 (en) * 2004-12-07 2009-09-29 Motorola, Inc. Method and system for secure call alert
US8228917B2 (en) 2005-04-26 2012-07-24 Qualcomm Incorporated Method and apparatus for ciphering and re-ordering packets in a wireless communication system
US7643817B2 (en) * 2005-05-18 2010-01-05 General Dynamics C4 Systems, Inc. Method and apparatus for rapid secure session establishment on half-duplex AD-hoc group voice cellular network channels
US7747021B2 (en) * 2005-05-18 2010-06-29 General Dynamics C4 Systems, Inc. Method and apparatus for fast secure session establishment on half-duplex point-to-point voice cellular network channels
US20060280159A1 (en) * 2005-06-10 2006-12-14 Hao Bi Method and apparatus for voice communication
EP1742475A1 (de) * 2005-07-07 2007-01-10 Nagravision S.A. Verfahren und Vorrichtung zu verschlüsselten Daten mit bedingtem Zugriff
US8611305B2 (en) * 2005-08-22 2013-12-17 Qualcomm Incorporated Interference cancellation for wireless communications
US8594252B2 (en) * 2005-08-22 2013-11-26 Qualcomm Incorporated Interference cancellation for wireless communications
US8743909B2 (en) * 2008-02-20 2014-06-03 Qualcomm Incorporated Frame termination
US8630602B2 (en) 2005-08-22 2014-01-14 Qualcomm Incorporated Pilot interference cancellation
US9071344B2 (en) * 2005-08-22 2015-06-30 Qualcomm Incorporated Reverse link interference cancellation
US9014152B2 (en) * 2008-06-09 2015-04-21 Qualcomm Incorporated Increasing capacity in wireless communications
US7715563B2 (en) * 2006-02-16 2010-05-11 General Dynamics C4 Systems, Inc. Rapid acquisition of state vectors in an encrypted data communication system
JP2007282097A (ja) * 2006-04-11 2007-10-25 Canon Inc デジタルカメラおよびその制御方法
US20070242828A1 (en) * 2006-04-12 2007-10-18 General Dynamics C4 Systems, Inc. Dynamic interleaving of state vector components in an encrypted data communication system
JP4954622B2 (ja) * 2006-06-29 2012-06-20 京セラ株式会社 受信装置および復号方法
US20080288518A1 (en) * 2007-05-15 2008-11-20 Motorola, Inc. Content data block processing
US8204224B2 (en) * 2007-11-24 2012-06-19 University Of Massachusetts Wireless network security using randomness
US9326135B2 (en) 2008-02-21 2016-04-26 Google Technology Holdings LLC Method and apparatus for secure communication in a digital two way radio protocol
US9237515B2 (en) 2008-08-01 2016-01-12 Qualcomm Incorporated Successive detection and cancellation for cell pilot detection
US9277487B2 (en) 2008-08-01 2016-03-01 Qualcomm Incorporated Cell detection with interference cancellation
US20100097955A1 (en) * 2008-10-16 2010-04-22 Qualcomm Incorporated Rate determination
US8291218B2 (en) * 2008-12-02 2012-10-16 International Business Machines Corporation Creating and using secure communications channels for virtual universes
US9160577B2 (en) 2009-04-30 2015-10-13 Qualcomm Incorporated Hybrid SAIC receiver
US8787509B2 (en) 2009-06-04 2014-07-22 Qualcomm Incorporated Iterative interference cancellation receiver
US8831149B2 (en) 2009-09-03 2014-09-09 Qualcomm Incorporated Symbol estimation methods and apparatuses
EP2505011B1 (de) 2009-11-27 2019-01-16 Qualcomm Incorporated Kapazitätssteigerung in der drahtlosen kommunikation
WO2011063569A1 (en) 2009-11-27 2011-06-03 Qualcomm Incorporated Increasing capacity in wireless communications
US8634291B2 (en) * 2010-01-26 2014-01-21 Oracle America, Inc. Energy efficient management of datalinks
EP2540091A2 (de) * 2010-02-26 2013-01-02 Thomson Licensing System und verfahren zur synchronisierung eines elektronischen programmführers mit angehaltenen programmen
US8730251B2 (en) * 2010-06-07 2014-05-20 Apple Inc. Switching video streams for a display without a visible interruption
MX2013008070A (es) * 2011-01-12 2014-01-20 Landmark Graphics Corp Visualizacion de la formacion de la tierra en tres dimensiones.
US8824687B2 (en) * 2011-05-04 2014-09-02 Acquire Media Ventures, Inc. Method and system for pacing, acking, timing, and handicapping (path) for simultaneous receipt of documents employing encryption
US8971348B2 (en) * 2012-10-31 2015-03-03 Qualcomm Incorporated Allocation of voice idle time period for inter-RAT measurement
AU2016293610B2 (en) * 2015-07-16 2019-01-24 Dtc Communications, Inc. Covert surveillance system concealment kit for rapid development
JP7170278B2 (ja) * 2017-05-17 2022-11-14 パナソニックIpマネジメント株式会社 映像記録装置及び映像記録検証システム並びに映像記録方法及び映像検証方法

Family Cites Families (11)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US4817146A (en) * 1984-10-17 1989-03-28 General Electric Company Cryptographic digital signal transceiver method and apparatus
US5179591A (en) * 1991-10-16 1993-01-12 Motorola, Inc. Method for algorithm independent cryptographic key management
JPH05316100A (ja) * 1992-04-03 1993-11-26 Nec Corp 暗号化音声パケット同期方式
US5592556A (en) * 1994-08-09 1997-01-07 Ericsson Ge Mobile Communications Inc. Digital radio with vocoding encrypting codec
JPH1013406A (ja) * 1996-06-25 1998-01-16 Nec Corp ディジタル秘話装置
WO1999014979A1 (en) 1997-09-15 1999-03-25 Celotek Corporation Cryptographic system for public atm/sonet communication system with virtual circuit lookup and pipelined data encryption and decryption
US6219420B1 (en) * 1998-09-02 2001-04-17 Motorola, Inc. High assurance encryption system and method
US6298055B1 (en) * 1998-10-26 2001-10-02 Cisco Technology, Inc. Early detection of in-band signals in a packet voice transmitter with reduced transmission delay
EP1127421A4 (de) * 1998-10-28 2004-12-15 L 3 Comm Corp Verfahren zur verschlüsselung und zum authentifizieren und vorrichtung zur sicherung von telefongesprächen
US6665872B1 (en) * 1999-01-06 2003-12-16 Sarnoff Corporation Latency-based statistical multiplexing
US7003114B1 (en) * 2000-01-20 2006-02-21 Qualcomm Incorporated Method and apparatus for achieving crypto-synchronization in a packet data communication system

Also Published As

Publication number Publication date
US7474749B2 (en) 2009-01-06
HK1051097B (zh) 2006-11-10
EP1252737B1 (de) 2006-04-26
KR20030009340A (ko) 2003-01-29
US20060126844A1 (en) 2006-06-15
DE60119080D1 (de) 2006-06-01
HK1051097A1 (en) 2003-07-18
ES2266155T3 (es) 2007-03-01
MY129358A (en) 2007-03-30
WO2001054343A3 (en) 2002-01-17
ATE324722T1 (de) 2006-05-15
EP1252737A2 (de) 2002-10-30
JP4694079B2 (ja) 2011-06-01
WO2001054343A2 (en) 2001-07-26
KR100840146B1 (ko) 2008-06-23
JP2003521153A (ja) 2003-07-08
TW563321B (en) 2003-11-21
US7003114B1 (en) 2006-02-21
AU2001232877A1 (en) 2001-07-31

Similar Documents

Publication Publication Date Title
DE60119080T2 (de) Verfahren und vorrichtung zur herstellung von kryptosynchronismus in einem auf gepackten daten basierenden kommunikationssystem
DE60034473T2 (de) Verfahren und einrichtung zur effizienten datenübertragungskontrolle in einem drahtlosen sprache-über-daten kommunikationssystem
DE60223166T2 (de) Transportformatkombination-(TFC)auswahl für Kommunikationen mit komprimiertem Modus in einem W-CDMA system
DE602004003520T2 (de) Verfahren und Vorrichtung zur Verschlüsselung und Entschlüsselung eines Datenstromes
DE60035417T2 (de) Reihenfolgezählung von datenpaketen
DE112005002986B4 (de) Verfahren und Medienzugangscontroller für drahtlose Breitbandkommunikation mit variabler Größe der Dateneinheiten und verzögertem Aufbau von Dateneinheiten
DE60118259T2 (de) Erhaltung der Ende-zu-Ende-Synchronisation einer Fernmeldeverbindung
DE60312689T2 (de) Verfahren und vorrichtung zur verminderung von übertragungsfehlern
DE60208681T2 (de) System und verfahren zur rahmenneusendung in einem rundsendekommunikationssystem
DE69918172T2 (de) Entropiekodierung von variabler zu variabler länge
DE60028900T2 (de) Automatische Neusynchronisation einer Geiheimsynchronisationsinformation
DE69733890T2 (de) Verfahren und vorrichtung zur sicherstellung der richtigkeit der bitzahl und synchroner datenübertragung über einen die synchronisation nicht aufrechterhaltenden kanal
AT405346B (de) Verfahren zum herleiten der nachwirkperiode in einem sprachdecodierer bei diskontinuierlicher übertragung, sowie sprachcodierer und sender-empfänger
DE60038035T2 (de) Headerkomprimierung durch verwendung von divisionsresten
DE60209475T2 (de) Datensicherungs-kommunikationsvorrichtung und -verfahren
DE10203537B4 (de) Verfahren und Vorrichtung zur Übertragung digitalisierter Audiodaten
DE69935554T2 (de) Verfahren und Rechnerprogrammprodukt zum effizienten und zuverlässigen Übertragen von kleinen Datennachrichten von einem Sendesystem zu einer grossen Anzahl von Empfangssystemen
EP2666254B1 (de) Authentifizierung von verschlüsselten datenblöcken
DE60224005T2 (de) Verfahren und vorrichtung zur verarbeitung von mehreren audiobitströmen
CN106789427A (zh) 一种网络传输量计算方法
DE602005005087T2 (de) System und verfahren zur verbesserung der audioqualität für auf ip basierende systeme unter verwendung eines amr-nutzinformationsformats
EP0993712B1 (de) Verfahren und anordnung zur codierung digitaler daten
DE69724907T2 (de) Entschlusselung von wiederholten daten in einem verschlusselten kommunikationssystem
DE60034009T2 (de) Verfahren zur Aktualisierung von Geheimschlüsseln in einem Datenkommunikationssystem
EP1604494B1 (de) Verfahren und sender zur übertragung von datenpaketen

Legal Events

Date Code Title Description
8364 No opposition during term of opposition