DE69934288T2 - Effiziente Verfahren zum Hashkodieren - Google Patents

Effiziente Verfahren zum Hashkodieren Download PDF

Info

Publication number
DE69934288T2
DE69934288T2 DE69934288T DE69934288T DE69934288T2 DE 69934288 T2 DE69934288 T2 DE 69934288T2 DE 69934288 T DE69934288 T DE 69934288T DE 69934288 T DE69934288 T DE 69934288T DE 69934288 T2 DE69934288 T2 DE 69934288T2
Authority
DE
Germany
Prior art keywords
modular
bits
sum
string
key
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
DE69934288T
Other languages
English (en)
Other versions
DE69934288D1 (de
Inventor
Sarvar Montville Patel
Zulfikar Amin Boston Ramzan
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.)
Nokia of America Corp
Original Assignee
Lucent Technologies 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 Lucent Technologies Inc filed Critical Lucent Technologies Inc
Publication of DE69934288D1 publication Critical patent/DE69934288D1/de
Application granted granted Critical
Publication of DE69934288T2 publication Critical patent/DE69934288T2/de
Anticipated expiration legal-status Critical
Expired - Lifetime legal-status Critical Current

Links

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F7/00Methods or arrangements for processing data by operating upon the order or content of the data handled
    • G06F7/60Methods or arrangements for performing computations using a digital non-denominational number representation, i.e. number representation without radix; Computing devices using combinations of denominational and non-denominational quantity representations, e.g. using difunction pulse trains, STEELE computers, phase computers
    • HELECTRICITY
    • H03ELECTRONIC CIRCUITRY
    • H03MCODING; DECODING; CODE CONVERSION IN GENERAL
    • H03M7/00Conversion of a code where information is represented by a given sequence or number of digits to a code where the same, similar or subset of information is represented by a different sequence or number of digits
    • H03M7/30Compression; Expansion; Suppression of unnecessary data, e.g. redundancy reduction

Description

  • Hintergrund der Erfindung
  • Technisches Gebiet
  • Die vorliegende Erfindung betrifft die Datenmanipulation und insbesondere eine effiziente Technik zum Repräsentieren langer Ketten von Daten als kürzere Ketten von Daten.
  • Allgemeiner Stand der Technik
  • Hashing ist eine Technik zum Repräsentieren größerer Datenlängen als kürzere Datenlängen. Die Techniken sind dergestalt, daß eine relativ kleine Wahrscheinlichkeit besteht, daß zwei verschiedene längere Datenlängen als identische kurze Datenlängen repräsentiert werden. Das Merkmal wird als Wahrscheinlichkeit der Kollision bezeichnet.
    Figure 00010001
  • Die Wahrscheinlichkeit der Kollision wird durch Gleichung 1 dargestellt, die angibt, wird als die Wahrscheinlichkeit, daß eine an einer Kette x1 ausgeführte Hashing-Funktion "h" gleich dem Ergebnis einer an einer Kette x2 ausgeführten Hashing-Funktion "h" ist, kleiner oder gleich
    Figure 00010002
    oder ε ist.
  • Die Anzahl der in der längeren ungehashten Kette enthaltenen Bit beträgt "n" und wird als ein Definitionsbereich bezeichnet. Die Anzahl der Bit in der kürzeren oder gehashten Kette beträgt "l" und wird häufig als der Wertebereich der Hashing-Funktion bezeichnet. Eine Gleichung (1) genügende Hashing-Funktion wird häufig als ε universell bezeichnet.
    Figure 00020001
  • Eine weitere in der Regel mit Hashing-Funktionen assoziierte Eigenschaft wird durch Gleichung (2) dargestellt, wobei sie angibt, daß die Wahrscheinlichkeit, daß die Differenz zwischen der Ausgabe einer Hashing-Funktion "h" an der Kette x1 und der Ausgabe einer Hashing-Funktion an der Kette x2 gleich einer vorgewählten Zahl Δ ist, kleiner oder gleich
    Figure 00020002
    oder ε ist. Gleichung (2) genügende Hashing-Funktionen werden in der Regel als Universal-Hash-Funktionen des Typs εΔ bezeichnet.
    Figure 00020003
  • Bestimmte Hash-Funktionen besitzen auch eine durch Gleichung (3) dargestellte dritte Eigenschaft. Gleichung (3) zeigt, daß die Verbundwahrscheinlichkeit, daß die Ausgabe der Hashing-Funktion "h" für die Eingangskette x1 gleich einer vorbestimmten Zahl c1 und die Ausgabe der Hashing-Funktion "h" für die Eingabekette x2 gleich einer vorbestimmten Zahl c2 ist, kleiner gleich
    Figure 00020004
    oder ε ist. Eine Gleichung (3) genügende Hashing-Funktion wird als ε stark universell bezeichnet. Hashing-Funktionen, die Gleichung (3) genügen, genügen automatisch Gleichung (1) und (2).
  • Hashing-Funktionen werden in vielen Anwendungen benutzt, eine davon ist die Vereinfachung des Suchens nach Textketten. Bei Verwendung zum Suchen nach Textketten dient die Hashing-Funktion zur Verringerung der Größe der gespeicherten Informationen, und dieselbe Hashing-Funktion wird dann zum Reduzieren der Größe der Suchkriterien verwendet. Die verkürzten Suchkriterien dienen dann zur Suche nach den abgekürzten gespeicherten Informationen, um ein gewünschtes Stück Informationen effizienter zu finden. Nachdem das gewünschte Informationsstück gefunden wurde, kann der ungehashte oder Text voller Länge, der mit dem abgekürzten Text assoziiert ist, bereitgestellt werden.
  • Hashing-Funktionen werden auch in der drahtlosen Kommunikation für die Nachrichtenauthentifikation benutzt. Eine Nachricht wird authentifiziert, indem man eine Nachrichtenkette zusammen mit einem Tag sendet, das durch Ausführen einer kryptographischen Funktion an der Nachricht berechnet wird. Das Bilden eines Tag einer Nachrichtenkette ist rechnerisch aufwendig. Hash-Funktionen dienen zum Verkürzen der Nachricht auf ein Tag, so daß die kryptographische Verarbeitung, die ausgeführt werden muß, weniger intensiv ist. h(m) = (ma)modp(4)
    Figure 00030001
  • Techniken, wie zum Beispiel lineares Hashing, wie durch Gleichung (4) dargestellt, und MMH-Hashing, wie durch Gleichung (5) dargestellt, werden nun zur Repräsentation länger Daten- oder Textketten als kürze Ketten benutzt, wenn die Wahrscheinlichkeit, daß zwei verschieden lange Ketten dieselbe kurze Kette produzieren relativ klein ist. Diese Hashing-Funktionen erfordern eine Multiplikation eines Schlüssels, der "w" Wörter lang ist, mit einer "w" Wörter langen Nachricht oder Text, die bzw. der gehasht werden soll. Als Ergebnis sind w2 Operationen erforderlich, um ein Hashing einer bestimmten Kette von Daten oder Text auszuführen. Bei großen Daten- oder Textketten mit vielen Wörtern führt dies zu einer rechnerisch intensiven Operation.
  • Kurzfassung der Erfindung
  • Die vorliegende Erfindung liefert eine effiziente Hashing-Technik, die
    Figure 00040001
    Operationen benutzt, um eine "w" Wörter lange Kette zu hashen, anstelle der w2 Operationen des Stands der Technik. Die vorliegende Erfindung erzielt diese Effizienz durch Quadrieren der Summe des Schlüssels und der zu hashenden Kette, anstatt ein Produkt des Schlüssels und der zu hashenden Kette zu bilden.
    Figure 00040002
  • Bei einer Ausführungsform der Erfindung wird, wie durch Gleichung (6) dargestellt, ein Hashing einer Nachricht "m" ausgeführt, indem man die Nachrichtenkette mit einer Schlüsselkette "a" summiert und dann das Quadrat dieser Summierung bildet. Eine an dem Ergebnis der Quadrierungsoperation ausgeführte modular-"p"-Operation und eine modular-2l Operation wird an dem Ergebnis der modular-"p"-Operation ausgeführt. In diesem Fall weisen sowohl "m" als auch "a" dieselbe Länge auf, das heißt "n" Bit oder "w" Wörter lang. Es sollte beachtet werden, daß "a" länger als "n" Bit sein kann, aber "n" Bit bevorzugt wird. Der Wert "l" bedeutet die Länge in Bit der verkürzten Kette, die sich aus dem Hashing ergibt, und wird als der Wertebereich bezeichnet. Der Wert "p" wird als die erste Primzahl größer als 2n ausgewählt, wobei "n" die Anzahl der Bit in der Nachrichtenkette "m" ist. Es sollte beachtet werden, daß Gleichung (6) ein Hashing-Verfahren liefert, das Gleichung (1) und (2) erfüllt, das heißt, das Hashing-Verfahren von Gleichung (6) ist Δ-universell.
    Figure 00040003
  • Bei der zweiten Ausführungsform der vorliegenden Erfindung wird eine stark universelle Hashing-Methode bereitgestellt. In diesem Fall wird die Nachrichtenkette "m" mit einem Schlüssel "a" summiert und dann die resultierende Summe quadriert. Sowohl die Nachrichtenkette "m" als auch der Schlüssel "a" sind "w" Wörter lang und enthalten insgesamt "n" Bit. Es sollte beachtet werden, daß der Schlüssel "a" mehr als "n" Bit enthalten kann, aber "n" bevorzugt wird. Das Ergebnis der Quadrierungsoperation wird dann mit einem zweiten Schlüssel "b" summiert, der mindestens "n" Bit lang ist. An der Summe des quadrierten Terms und dem Schlüssel "b" wird wie oben mit Bezug auf Gleichung (6) besprochen eine modular-"p"-Operation ausgeführt. An dem Ergebnis der modular-"p"-Operationen wird, wie mit Bezug auf Gleichung (6) beschrieben wurde, eine Modular-2l-Operation ausgeführt. Die Verwendung dieses Hashing-Verfahrens liefert ein stark universelles Hashing-Verfahren, das Gleichung (1), (2) und (3) erfüllt.
  • Bei einer weiteren Ausführungsform der vorliegenden Erfindung werden "k" Nachrichten oder Ketten gehasht, so daß eine einzige kürzere Kette produziert wird.
    Figure 00050001
  • Gleichung (8) zeigt die Hashing-Funktion, wenn "k" Nachrichten, die jeweils "w" Wörter lang sind, gehasht werden, um eine einzige kürze Kette zu bilden. Jede Nachricht mi wird mit einem Schlüssel ai summiert, und die resultierende Summe wird quadriert. Das Ergebnis der Quadrierungsoperation für jede Nachricht mi wird dann über die "k" Nachrichten summiert. An der Gesamtsumme wird eine modular-"p"-Operation ausgeführt, und an dem Ergebnis der modular-"p"-Operation eine modular-2l-Operation. Die Werte "p" und "l" sind wieder wie oben beschrieben definiert. Das durch Gleichung (8) dargestellte Hashing-Verfahren produziert eine Δ-universelle Hashing-Funktion, die Gleichung (1) und (2) erfüllt.
  • Kurze Beschreibung der Zeichnung
  • 1 ist ein Flußdiagramm eines Quadrat-Hashing-Verfahrens;
  • 2 ist ein Flußdiagramm eines stark universellen Quadrat-Hashing-Verfahrens; und
  • 3 ist ein Flußdiagramm eines zweiten Δ-universellen Quadrat-Hashing-Verfahrens.
  • Ausführliche Beschreibung
  • 1 zeigt ein Verfahren zum Ausführen des Quadrat-Hashing-Verfahrens von Gleichung (6). Im Schritt 100 wird eine Eingangskette oder -nachricht "m" eingegeben. Im Schritt 102 wird ein Eingangsschlüssel "a" eingegeben. Die Nachricht oder Kette "m" und der Schlüssel "a" sind jeweils "n" Bit lang und bestehen aus "w" Wörtern. Der Schlüssel "a" ist eine Zufalls- oder Pseudozufallszahl und kann länger als "n" Bit sein, aber "n" Bit sind bevorzugt. Im Schritt 104 wird die Summe "s" der Kette "m" und des Schlüssels "a" gebildet. In Schritt 106 wird die Summe "s" quadriert. Im Schritt 108 wird an dem Ergebnis von Schritt 106 eine modular-"p"-Operation gebildet. "p" ist die nächste Primzahl größer als 2n; "p" kann jedoch eine größere Primzahl sein, wodurch die Leistung verschlechtert werden kann. Im Schritt 110 wird an dem Ergebnis von Schritt 108 eine modular-2l-Operation ausgeführt. "l" ist die Anzahl der Bit in der kurzen Ausgangsnachricht oder -kette. Im Schritt 112 wird das Ergebnis der modular-2l-Operation ausgegeben. Der Prozeß von 1 führt dazu, daß eine Nachricht oder Kette von "n" Bit auf eine Nachricht oder Kette von "l" Bit reduziert wird. Es sollte beachtet werden, daß der mit 1 assoziierte Prozeß eine ε-Δ-universelle Hash-Funktion ausführt, die den Eigenschaften von Gleichung (1) und Gleichung (2) genügt.
  • 2 zeigt ein Verfahren zum Ausführen des durch Gleichung (7) beschriebenen stark universellen Hashing-Verfahrens. Im Schritt 140 wird eine Nachricht oder Kette "m" eingegeben. Im Schritt 142 werden die Schlüssel "a" und "b" angegeben. Die Nachricht "m", der Schlüssel "a" und der Schlüssel "b" sind jeweils "n" Bit lang mit "w" Wörtern. Im Schritt 144 wird die Summe der Nachricht "m" und des Schlüssels "a" gebildet und als Summe "s" gespeichert. Im Schritt 146 wird das Quadrat der Summe "s" als Term "SQ" gespeichert. Im Schritt 148 wird die Summe des Terms "SQ" und des Schlüssels "b" gebildet. Im Schritt 150 wird eine modular-"p"-Operation an dem durch Schritt 148 produzierten Ergebnis ausgeführt. Wiederum ist "p" gleich der nächsten Primzahl größer als 2n; "p" kann jedoch eine größere Primzahl sein, wodurch sich die Leistung verschlechtern kann. In Schritt 152 wird an dem Ergebnis aus Schritt 150 eine modular-2l-Operation ausgeführt. "l" ist gleich der Anzahl der Bit in der Kette oder Nachricht, die von diesem Verfahren ausgegeben werden soll. Im Schritt 154 wird die kurze Nachricht oder Kette der Länge "l" ausgegeben. Es sollte beachtet werden, daß das Verfahren von 2 eine Kette oder Nachricht von "n" Bit auf eine Kette oder Nachricht von "l" Bit reduziert hat. Außerdem sollte beachtet werden, daß der Prozeß von 2 eine ε-stark-universelle Hash-Funktion ist, die den Eigenschaften von Gleichung (1), (2) und (3) genügt.
  • 3 zeigt ein Verfahren zur Durchführung des durch Gleichung (8) beschriebenen ε-Δ-universellen Hashing-Verfahrens. Im Schritt 170 wird der Index "i" gleich 1 gesetzt und die variable SUM wird gleich 0 gesetzt. Im Schritt 172 wird der Wert von "k" eingegeben. "k" ist gleich der Anzahl der Ketten oder Nachrichten, die eingegeben werden, um eine einzige verkürzte Nachricht zu produzieren. Im Schritt 174 wird die Nachricht oder Kette mi abgetrennt und im Schritt 176 wird der Eingangsschlüssel ai eingegeben. Es sollte beachtet werden, daß die Nachricht oder Kette mi und der Eingangsschlüssel ai die gleiche Länge aufweisen und "n" Bit besitzen, wodurch "w" Wörter zusammengesetzt werden. Der Schlüssel "ai" ist eine Zufalls- oder Pseudozufallszahl und kann länger als "n" Bit sein, aber "n" Bit werden bevorzugt. Vorzugsweise ist ai eine Zufallszahl. Zufallszahlen können aus vielen Quellen erzeugt werden, wie zum Beispiel Pseudozufallsgeneratoren. Im Schritt 178 wird durch Bilden der Summe der Nachricht mi und des Schlüssels ai die Summe si gebildet. Im Schritt 180 wird das Quadrat von si gleich der Variablen SQi gesetzt. Im Schritt 182 wird die Variable SUM gleich der Variablen SUM plus SQi gesetzt. Im Schritt 184 wird der Wert von "i" geprüft, um zu bestimmen, ob er gleich dem Wert "k" ist. Wenn er nicht gleich dem Wert "k" ist, wird Schritt 186 ausgeführt, indem der Wert des Index "i" um "l" inkrementiert wird, und dann wird Schritt 174 ausgeführt. Wenn im Schritt 184 bestimmt wird, daß der Wert "i" gleich "k" ist, wird Schritt 188 ausgeführt, indem eine modular-"p"-Operation an dem aktuellen Wert der Variablen SUM ausgeführt wird. Wie bereits besprochen, ist der Wert "p" die nächste Primzahl größer als der Wert 2n; "p" kann jedoch eine größere Primzahl sein, wodurch sich die Leistung verschlechtern kann. Im Schritt 190 wird an den im Schritt 188 produzierten Ergebnissen eine modular-2l-Operation ausgeführt. Wieder ist "l" die Anzahl der Bit, aus denen die Ausgangskette oder -nachricht besteht. Im Schritt 192 wird die verkürzte Nachricht oder Kette von "l" Bit ausgegeben. Es sollte beachtet werden, daß der Prozeß von 3 "k" Nachrichten von jeweils "n" Bit auf eine Nachricht von "l" Bit reduziert hat. Außerdem sollte bemerkt werden, daß das Hashing-Verfahren von 3 ein ε-Δ- universelles Hashing-Verfahren ist, das den Eigenschaften von Gleichung (1) und (2) genügt.
  • Mit Bezug auf 1, 2 und 3 sollte angemerkt werden, daß der Wert "l" in der Regel auf der Basis eines Kompromisses zwischen dem Wunsch einer kurzen Ausgangsnachricht der Länge "l" und dem Wunsch der Minimierung der Wahrscheinlichkeiten von Gleichung (1) und (2) in dem Fall einer ε-stark universellen Hash-Funktion, Gleichung (3) gewählt wird.
  • Der folgende Abschnitt gibt einen abgekürzten Beweis, der zeigt, daß die offengelegten Quadrierungs-Hash-Funktionen die Eigenschaften für Gleichung (1), (2) und (3) erfüllen.
  • Theorem 1: Die durch Gleichung (6) beschriebene Hashing-Funktion ist Δ-universell.
  • Beweis: für alle "m" ≠ "n" ε Zp und Δ ε Zp gilt Pxr[hx(m) – hx(n)= Δ] (1) = Pxr[(m + x)2 – (n + x)2 = Δ] (2) = Pxr[(m2 – "n"2 + 2(m – n)x = Δ] (3) = 1/p (4)
  • Wobei die letzte Ungleichung folgt, da für jedes gegebene "m" ≠ "n" ε Zp und δ ε Zp ein einzigartiges x existiert, das die Gleichung m2 – "n"2 + 2(m – n)x = δ erfüllt.
  • Theorem 2: Die durch Gleichung (7) beschriebene Hashing-Funktion ist eine stark universelle Familie von Hash-Funktionen.
  • Beweis: Folgt als unmittelbarer Korollar des folgenden Lemmas, das zeigt, wie man jede beliebige Δ-universelle Familie von Hash-Funktionen in eine stark universelle Familie von Hash-Funktionen umsetzen kann.
  • Lemma 1: Es sei "h" = {hx : D → R|xε K}, wobei R eine abische Gruppe und "k" die Menge von Schlüsseln ist, eine Δ-universelle Familie von Hash-Funktionen. Dann ist H' = {h'xb : D → R|xεK, bεR}, definiert durch h'x,b (m) = (hx(m) + b) (wobei die Addition die Operation unter der Gruppe R ist), eine stark universelle Familie von Hash-Funktionen.
  • Beweis: für alle "m" ≠ "n" ε D und alle a, ß ε R gilt:
    Figure 00100001
  • Die letzte Gleichung folgt, da hx eine Δ-universelle Hash-Funktion ist und hx(m) – hx(n) jeden beliebigen Wert in R mit gleicher Wahrscheinlichkeit annehmen kann.

Claims (3)

  1. Verfahren zum Erzeugen einer verkürzten Repräsentation einer Ansammlung von Bit, mit den folgenden Schritten: Eingeben der Ansammlung von "n" Bit; Summieren eines Schlüssels mit mindestens "n" Bit mit der Ansammlung von Bit, um eine Summe zu erzeugen; Quadrieren der Summe, um eine quadrierte Summe zu erzeugen; Ausführen einer modular-"p"-Operation an der quadrierten Summe, wobei "p" mindestens so groß wie eine erste Primzahl größer als 2n ist, um ein modular-"p"-Ergebnis zu erzeugen; Ausführen einer modular-2l-Operation an dem modular-"p"-Ergebnis, wobei "l" kleiner als "n" ist; und Ausgeben des modular-2l-Ergebnisses.
  2. Verfahren zum Erzeugen einer verkürzten Repräsentation einer Ansammlung von Bit, mit den folgenden Schritten: Eingeben der Ansammlung von "n" Bit; Summieren eines ersten Schlüssels mit mindestens "n" Bit mit der Ansammlung von Bit, um eine erste Summe zu erzeugen; Quadrieren der ersten Summe, um eine quadrierte Summe zu erzeugen; Summieren der quadrierten Summe mit einem zweiten Schlüssel mit mindestens "n" Bit, um eine zweite Summe zu erzeugen; Ausführen einer modular-"p"-Operation an der quadrierten Summe, wobei "p" mindestens so groß wie eine erste Primzahl größer als 2n ist, um ein modular-"p"-Ergebnis zu erzeugen; Ausführen einer modular-2l-Operation an dem modular-"p"-Ergebnis, um ein modular-2l-Ergebnis zu erzeugen, wobei "l" kleiner als "n" ist; und Ausgeben des modular-2l-Ergebnisses.
  3. Verfahren zum Erzeugen einer verkürzten Repräsentation einer Ansammlung von Bit, mit den folgenden Schritten: Eingeben der Ansammlung von "n" Bit; Summieren eines Schlüssels mit mindestens "n" Bit mit der Ansammlung von Bit, um eine Summe zu erzeugen; Quadrieren der Summe, um eine quadrierte Summe zu erzeugen; mindestens einmaliges Wiederholen der vorherigen drei Schritte, um eine Vielzahl von quadrierten Summen zu erzeugen, wobei jedesmal, wenn die Schritte wiederholt werden, ein anderer Schlüssel benutzt wird; Summieren der Vielzahl von quadrierten Summen, um eine Summierung zu erzeugen; Ausführen einer modular-"p"-Operation an der Summierung, wobei "p" mindestens so groß wie eine erste Primzahl größer als 2n ist, um ein modular-"p"-Ergebnis zu erzeugen; Ausführen einer modular-2l-Operation an dem modular-"p"-Ergebnis, wobei "l" kleiner als "n" ist; und Ausgeben des modular-2l-Ergebnisses.
DE69934288T 1998-10-20 1999-10-12 Effiziente Verfahren zum Hashkodieren Expired - Lifetime DE69934288T2 (de)

Applications Claiming Priority (2)

Application Number Priority Date Filing Date Title
US175178 1998-10-20
US09/175,178 US7174013B1 (en) 1998-10-20 1998-10-20 Efficient universal hashing method

Publications (2)

Publication Number Publication Date
DE69934288D1 DE69934288D1 (de) 2007-01-18
DE69934288T2 true DE69934288T2 (de) 2007-06-21

Family

ID=22639267

Family Applications (1)

Application Number Title Priority Date Filing Date
DE69934288T Expired - Lifetime DE69934288T2 (de) 1998-10-20 1999-10-12 Effiziente Verfahren zum Hashkodieren

Country Status (10)

Country Link
US (1) US7174013B1 (de)
EP (1) EP0996092B1 (de)
JP (1) JP2000122538A (de)
KR (1) KR100662934B1 (de)
CN (1) CN1251451A (de)
AT (1) ATE347720T1 (de)
AU (1) AU5360499A (de)
BR (1) BR9904714A (de)
CA (1) CA2280488A1 (de)
DE (1) DE69934288T2 (de)

Families Citing this family (11)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US6570988B1 (en) * 1999-06-09 2003-05-27 Microsoft Corporation Simple technique for implementing a cryptographic primitive using elementary register operations
EP1081591A3 (de) * 1999-09-01 2005-07-20 International Business Machines Corporation Zufallszahlengenerator
JP2005010826A (ja) * 2003-06-16 2005-01-13 Fujitsu Ltd 認証端末装置、生体情報認証システム、及び生体情報取得システム
JP2007086170A (ja) * 2005-09-20 2007-04-05 Nec Corp 汎用ハッシュ関数族計算装置、方法、プログラム、および共有鍵生成システム
KR101032592B1 (ko) * 2006-07-21 2011-05-06 호쿠리쿠 니혼 덴키 소프트웨어 가부시키가이샤 암호 장치, 기록 매체, 및 방법
JP5390814B2 (ja) * 2008-09-04 2014-01-15 Kddi株式会社 リング型の出力値サークル、認証システム、鍵配布システム、メンバー確認システムおよび認証方法、鍵配布方法、メンバー確認方法
CN102396178B (zh) * 2009-04-24 2014-12-10 日本电信电话株式会社 信息生成装置、方法
US8812570B2 (en) * 2009-05-28 2014-08-19 Red Hat, Inc. String hashing using a number generator
US10148285B1 (en) 2012-07-25 2018-12-04 Erich Schmitt Abstraction and de-abstraction of a digital data stream
US10795858B1 (en) 2014-02-18 2020-10-06 Erich Schmitt Universal abstraction and de-abstraction of a digital data stream
CN113271208B (zh) * 2021-05-25 2022-11-08 哈尔滨工业大学 基于多线性模数哈希函数的保密增强方法及装置

Family Cites Families (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US5442699A (en) * 1994-11-21 1995-08-15 International Business Machines Corporation Searching for patterns in encrypted data
US5625693A (en) * 1995-07-07 1997-04-29 Thomson Consumer Electronics, Inc. Apparatus and method for authenticating transmitting applications in an interactive TV system
US6122375A (en) * 1996-12-10 2000-09-19 Hitachi, Ltd. Hash value generating method and device, data encryption method and device, data decryption method and device

Also Published As

Publication number Publication date
DE69934288D1 (de) 2007-01-18
EP0996092B1 (de) 2006-12-06
EP0996092A3 (de) 2004-05-12
US7174013B1 (en) 2007-02-06
AU5360499A (en) 2000-05-04
CN1251451A (zh) 2000-04-26
JP2000122538A (ja) 2000-04-28
CA2280488A1 (en) 2000-04-20
EP0996092A2 (de) 2000-04-26
KR100662934B1 (ko) 2006-12-28
ATE347720T1 (de) 2006-12-15
KR20000047546A (ko) 2000-07-25
BR9904714A (pt) 2000-09-12

Similar Documents

Publication Publication Date Title
DE69934288T2 (de) Effiziente Verfahren zum Hashkodieren
DE4293456B4 (de) Elektronische Logikschaltung
DE69920875T2 (de) Vorrichtung und Verfahren zum Berechnen einer digitalen Unterschrift
DE69730109T2 (de) Verfahren und Vorrichtung zum Herstellen von Wasserzeichen
DE60119410T2 (de) Vorrichtung und Verfahren zur Blockverschlüsselung und zur Entschlüsselung
DE69435034T2 (de) Verfahren ind vorrichtung zur durchfuehrung einer schnellen hadamard transform
DE60315700T2 (de) Verfahren zum erzeugen einer stromverschlüsselung mit mehreren schlüsseln
DE102014102501A1 (de) Zufallszahlgenerator
DE60311507T2 (de) Verfahren zur elliptische-kurven-verschlüsselung
DE1474040B2 (de) Einrichtung zur Bildung von Speicheradressen
EP1504336B1 (de) Vorrichtung und verfahren zum erzeugen einer zufallszahl
DE69729297T2 (de) Verschlüsselungsvorrichtung für binärkodierte nachrichten
DE10248004A1 (de) Verfahren und Vorrichtung zum Verschlüsseln von Daten
DE69735290T2 (de) Verfahren zur unsymmetrischen kryptographischen kommunikation und zugehöriger tragbarer gegenstand
DE10341096A1 (de) Übergang zwischen maskierten Repräsentationen eines Wertes bei kryptographischen Berechnungen
DE112011101111T5 (de) Fourier-transformation für ein signal, das auf einem zufallszugriffskanal zu senden ist
DE2263757C2 (de) Analog-Digitalumsetzer mit verringertem Quantisierungsrauschen
DE2517360A1 (de) System zum verbessern von informationen und von prozessregelungen
EP1342153B1 (de) Verfahren und vorrichtung zum erzeugen einer pseudozufallsfolge mittels diskretem logarithmus
DE602004003675T2 (de) Sicherheitsgegenmassnahmen gegen Angriffe durch Stromverbrauchsanalysen
Babaev et al. Aspects of Binary Images Spectral Analysis
DE69832755T2 (de) Schaltung und Verfahren zum beliebigen Verschieben von M-Sequenzen
DE2704641A1 (de) Digitalfilter
DE102013208836A1 (de) Verfahren und Vorrichtung zur Erzeugung eines Hash-Werts
WO2003060753A2 (de) Verfahren und vorrichtung zur berechnung von modulo-operationen

Legal Events

Date Code Title Description
8364 No opposition during term of opposition