DE102019113249A1 - Wertevergleichsserver, wertevergleichsverschlüsselungssystem und wertevergleichsverfahren - Google Patents

Wertevergleichsserver, wertevergleichsverschlüsselungssystem und wertevergleichsverfahren Download PDF

Info

Publication number
DE102019113249A1
DE102019113249A1 DE102019113249.5A DE102019113249A DE102019113249A1 DE 102019113249 A1 DE102019113249 A1 DE 102019113249A1 DE 102019113249 A DE102019113249 A DE 102019113249A DE 102019113249 A1 DE102019113249 A1 DE 102019113249A1
Authority
DE
Germany
Prior art keywords
value comparison
value
tags
numerical values
encryption
Prior art date
Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
Pending
Application number
DE102019113249.5A
Other languages
English (en)
Inventor
Hisayoshi Sato
Masayuki Yoshino
Ken NAGANUMA
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.)
Hitachi Ltd
Original Assignee
Hitachi Ltd
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 Hitachi Ltd filed Critical Hitachi Ltd
Publication of DE102019113249A1 publication Critical patent/DE102019113249A1/de
Pending legal-status Critical Current

Links

Images

Classifications

    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L9/00Cryptographic mechanisms or cryptographic arrangements for secret or secure communications; Network security protocols
    • H04L9/08Key distribution or management, e.g. generation, sharing or updating, of cryptographic keys or passwords
    • H04L9/0816Key establishment, i.e. cryptographic processes or cryptographic protocols whereby a shared secret becomes available to two or more parties, for subsequent use
    • H04L9/085Secret sharing or secret splitting, e.g. threshold schemes
    • 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/008Cryptographic mechanisms or cryptographic arrangements for secret or secure communications; Network security protocols involving homomorphic encryption
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L9/00Cryptographic mechanisms or cryptographic arrangements for secret or secure communications; Network security protocols
    • H04L9/06Cryptographic mechanisms or cryptographic arrangements for secret or secure communications; Network security protocols the encryption apparatus using shift registers or memories for block-wise or stream coding, e.g. DES systems or RC4; Hash functions; Pseudorandom sequence generators
    • H04L9/0618Block ciphers, i.e. encrypting groups of characters of a plain text message using fixed encryption transformation
    • 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/08Key distribution or management, e.g. generation, sharing or updating, of cryptographic keys or passwords
    • H04L9/0861Generation of secret information including derivation or calculation of cryptographic keys or passwords
    • H04L9/0869Generation of secret information including derivation or calculation of cryptographic keys or passwords involving random numbers or seeds
    • 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/08Key distribution or management, e.g. generation, sharing or updating, of cryptographic keys or passwords
    • H04L9/0894Escrow, recovery or storing of secret information, e.g. secret key escrow or cryptographic key storage
    • 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/14Cryptographic mechanisms or cryptographic arrangements for secret or secure communications; Network security protocols using a plurality of keys or algorithms
    • 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/30Public key, i.e. encryption algorithm being computationally infeasible to invert or user's encryption keys not requiring secrecy
    • H04L9/3006Public key, i.e. encryption algorithm being computationally infeasible to invert or user's encryption keys not requiring secrecy underlying computational problems or public-key parameters
    • H04L9/3013Public key, i.e. encryption algorithm being computationally infeasible to invert or user's encryption keys not requiring secrecy underlying computational problems or public-key parameters involving the discrete logarithm problem, e.g. ElGamal or Diffie-Hellman systems
    • 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/30Public key, i.e. encryption algorithm being computationally infeasible to invert or user's encryption keys not requiring secrecy
    • H04L9/3066Public key, i.e. encryption algorithm being computationally infeasible to invert or user's encryption keys not requiring secrecy involving algebraic varieties, e.g. elliptic or hyper-elliptic curves

Abstract

Ein Wertevergleichsserver hält einen ersten geheimen Schlüssel und eine Vielzahl von Etiketten, die Werten entsprechen, wobei jedes der Vielzahl von Etiketten ein Chiffretext ist, der durch Verschlüsseln jedes der Werte mit einem Verschlüsselungsschema mit additivem Homomorphismus unter Verwendung von geheimen Schlüsseln, die den ersten geheimen Schlüssel und einen ersten Parameter beinhalten, erhalten wird, ein Klartextraum eine Restoperation mit einer natürlichen Zahl als Modulo im Verschlüsselungsschema aufweist, und der Wertevergleichsserver einen Wert, der zum Vergleichen von zwei Werten verwendet wird, die zwei Etiketten entsprechen, die in der Vielzahl von Etiketten enthalten sind, aus dem ersten geheimen Schlüssel und den beiden Etiketten, unter Verwendung des additiven Homomorphismus erzeugt; und bestimmt, welcher der beiden Werte größer oder gleich ist, basierend darauf, ob ein diskreter Logarithmus des erzeugten Wertes zu dem ersten Parameter innerhalb eines Wertes eines vorbestimmten Bereichs berechnet werden kann.

Description

  • Die vorliegende Anmeldung beansprucht die Priorität der am 28. Mai 2018 eingereichten japanischen Patentanmeldung JP 2018-101649 , deren Inhalt hiermit durch Bezugnahme in diese Anmeldung aufgenommen ist.
  • HINTERGRUND DER ERFINDUNG
  • Gebiet der Erfindung
  • Die vorliegende Erfindung betrifft einen Wertevergleichsserver, ein Wertevergleichsverschlüsselungssystem und ein Wertevergleichsverfahren.
  • Beschreibung der zugehörigen Technik
  • In den letzten Jahren hat die Big Data Analyse, die aus einer riesigen Datenmenge unbekanntes und effektives Wissen gewinnt, Aufmerksamkeit erregt. Darüber hinaus werden verschiedene Formen der Informationsanalyse von Unternehmen zunehmend als wichtige Tätigkeiten anerkannt, die zur Erfassung sowohl externer als auch unternehmenseigener Daten durchgeführt werden, um sie für die Vermarktung und Steigerung der betrieblichen Effizienz zu nutzen.
  • Zwischenzeitlich traten bei der Verwaltung der gespeicherten Daten Probleme auf, die häufig zu Vorfällen und Störfällen führten, die das Durchsickern einer großen Menge von Informationen umfassen, die persönliche Daten von Kunden enthalten, und dies hat sich zu einem gesellschaftlichen Problem entwickelt. Unternehmen, die von solchen Leckagestörfällen betroffen sind, müssen hohe Entschädigungen zahlen, was in einigen Fällen zu einem kritischen Problem hinsichtlich des Überlebens des Unternehmens führt. Darüber hinaus wird das Auftreten solcher Leckagestörfälle dazu führen, dass Einzelpersonen bei der Bereitstellung ihrer personenbezogenen Daten für Informationshalter zögern. Daher haben selbst Unternehmen, die in keinem Zusammenhang mit den Leckagestörfällen stehen, Schwierigkeiten bei der Erfassung von Informationen, was zum Auftreten von negativen Auswirkungen des Scheiterns bei der Erfassung effektiver Analyseergebnisse führt.
  • Als Reaktion auf diese Umstände wurden Rechtsvorschriften für die korrekte Erfassung und Verwendung von Informationen erlassen. Darüber hinaus werden gegenwärtig Leitlinien für den Umgang mit Informationen in einzelnen Branchen entwickelt (insbesondere die Komplexität personenbezogener Daten und der Schutz der Privatsphäre variieren je nach Branche). Obwohl sich diese rechtlichen Aspekte und freiwilligen Beschränkungen abschreckend auf das Durchsickern von Informationen auswirken, sind auch technische Gegenmaßnahmen gegen das Durchsickern von Informationen erforderlich.
  • Beispiele für Techniken zur Verhinderung von Informationsleckagen und Datenschutzverletzungen, die durch Informationsleckagen verursacht werden, umfassen üblicherweise die Zugangskontrolle zur Beschränkung von Personen, die auf Informationen zugreifen können, und die Verschlüsselung, die für den Diebstahl von Geräten oder dergleichen wirksam ist. Leider sind jedoch nicht wenige Fälle unter den jüngsten Vorfällen von Informationslecks durch den Missbrauch der Befugnisse von Outsourcing-Agenten verursacht worden, die mit der Verwaltung von Computerressourcen betraut sind. Da dem Administrator eine legitime Befugnis zum Zugriff auf eine Datenbank oder dergleichen erteilt wird, kann der Administrator Informationen durchsuchen, die für ursprüngliche administrative Arbeiten unnötig sind, und diese Informationen können missbraucht werden.
  • In dieser Situation ist eine herkömmliche Zugangskontrolle unwirksam. Selbst wenn Verschlüsselung verwendet wird, kann der Administrator in einem Fall, in dem Informationen mit einem Schema bearbeitet werden, in dem Daten entschlüsselt werden, wenn die Daten von einem Speichermedium wie einer Speicher-Verschlüsselung abgerufen werden, die entschlüsselten Daten mit legitimen Verfahren durchsuchen.
  • Es gibt eine Betriebsweise, bei der ein Entschlüsselungsschlüssel nicht bei dem Auftraggeber oder in der Nähe des Auftraggebers platziert wird und ein begrenzter legitimer Benutzer in einem Unternehmen den Entschlüsselungsschlüssel besitzt, und eine Verschlüsselung durch den Erhalt verschlüsselter Daten bei der Verwendung der Daten erfolgt. Bei der herkömmlichen kryptographischen Technik wäre es, in einem Fall, in dem verschlüsselte Daten in einer Datenbank gespeichert sind, jedoch schwierig, eine grundlegende Verarbeitung wie die Suche und Aggregation numerischer Daten in einem Zustand, in dem die Daten verschlüsselt sind, durchzuführen. In diesem Fall wäre die Datenbank lediglich ein Chiffretext-Speicherschrank und die Datenbankfunktion wäre verschwendet.
  • In jüngster Zeit konzentriert sich die Aufmerksamkeit auf die Erforschung einer Technologie, die eine vorgegebene Verarbeitung ohne Entschlüsselung verschlüsselter Daten unter Verwendung einer hochsicheren Verschlüsselungstechnologie ermöglicht. Beispielsweise wurden aktiv Forschungen über durchsuchbare Verschlüsselungen durchgeführt, die in der Lage sind, die Übereinstimmung oder Nichtübereinstimmung von Klartext ohne Entschlüsselung verschlüsselter Daten zu bestimmen. Mit einer durchsuchbaren Verschlüsselung, die auf den Chiffretext abzielt und einen Klartext aus einer Zeichenkette (Name, Adresse usw.) aufweist, wäre es dennoch schwierig, eine Wertevergleichsverarbeitung von numerischen Daten (Bestimmung der Relation größer oder gleich zwischen numerischen Werten) und eine Verarbeitung zur Bestimmung von Ordnungsbeziehungen durchzuführen.
  • Die Wertevergleichsverarbeitung der numerischen Daten ist eine wichtige Rechenfunktion, die nicht nur zur Analyse wie Datensortierungsverarbeitung und Datenextraktionsverarbeitung durch Schwellwertbestimmung, sondern auch häufig im normalen Betrieb eingesetzt wird. In einem Fall, in dem es sich bei den zu vergleichenden numerischen Daten um personenbezogene Informationen in einem medizinischen Bereich oder um vertrauliche Unternehmensinformationen handelt, wäre die Offenlegung numerischer Daten und die Zuweisung der Verarbeitung der numerischen Daten an einen Dritten einschließlich einer externen Cloud oder dergleichen aus Sicht der Verhinderung von Informationslecks unerwünscht. Daher ist ein Verschlüsselungsschema erforderlich, das in der Lage ist, Werte zu vergleichen und gleichzeitig die numerischen Werte in einem verschlüsselten Zustand zu halten.
  • Als ein Verschlüsselungsschema, das in der Lage ist, Werte zu vergleichen, ist ein Verschlüsselungsschema bekannt, das als ordnungserhaltendes Verschlüsselungsschema bezeichnet wird. Im ordnungserhaltenden Verschlüsselungsschema werden Wertgrößenordnungen im Klartext unverändert im Chiffretext gespeichert. Somit kann jeder, der den Chiffretext erhalten hat, die Daten sortieren.
  • Mit anderen Worten, das Durchsickern eines Chiffretextes ist gleichbedeutend mit dem Durchsickern von Klartext-Ordnungsinformationen. Unter bestimmten Bedingungen, wie z.B. wenn die Gesamtzahl der Klartexte klein ist, ist Klartext aus Chiffretext vorhersagbar, d.h. nicht sehr sicher. Daher beschreiben Nathan Chenette et al, „Practical Order-Revealing Encryption with Limited Leakage“, FSE 2016 Revised Selected Papers of the 23rd International Conference on Fast Software Encryption - Volume 9783, 20. März 2016, Seite 474-493 ein Verschlüsselungsschema, bei dem der Wertevergleich von verschlüsselten Daten nur von Personen mit einem geheimen Wertevergleichsschlüssel durchgeführt werden kann.
  • ZUSAMMENFASSUNG DER ERFINDUNG
  • In dem in Nathan Chenette et al, „Practical Order-Revealing Encryption with Limited Leakage“, FSE 2016 Revised Selected Papers of the 23rd International Conference on Fast Software Encryption - Volume 9783, 20. März 2016, Seite 474-493, beschriebenen Verschlüsselungsschema nimmt die Chiffretextlänge jedoch proportional zur Gesamtzahl der Klartexte zu. Dementsprechend wäre bei Erhöhung der Gesamtzahl der Klartexte der Verarbeitungsaufwand für den Wertevergleich in verschlüsselten Daten übermäßig.
  • In Anbetracht dessen besteht eine Ausführungsform der vorliegenden Erfindung darin, einen Wertevergleich in verschlüsselten Daten zu erreichen, der auf bestimmte Ziele ausgeführt werden kann, und den Verarbeitungsaufwand beim Wertevergleich reduzieren kann.
  • Um das oben genannte Problem zu lösen, führt eine Ausführungsform der vorliegenden Erfindung die folgende Konfiguration aus. Ein Wertevergleichsserver beinhaltet einen Prozessor und einen Speicher, wobei der Speicher einen ersten geheimen Schlüssel und eine Vielzahl von Wertevergleichsetiketten enthält, wobei jedes der Vielzahl von Wertevergleichsetiketten jedem von einer Vielzahl von numerischen Werten entspricht, jedes der Vielzahl von Wertevergleichsetiketten ein Chiffretext ist, der durch Verschlüsseln jedes der Vielzahl von numerischen Werten mit einem Verschlüsselungsschema, das einen additiven Homomorphismus aufweist, unter Verwendung einer Vielzahl von geheimen Schlüsseln, die den ersten geheimen Schlüssel beinhalten, erhalten wird, und unter Verwendung eines ersten Parameters ein Klartextraum eine Restoperation mit einer natürlichen Zahl als Modulo im Verschlüsselungsschema aufweist, und wobei der Prozessor konfiguriert ist, um bei der Wertevergleichsverarbeitung: einen Wert, der zum Vergleichen von zwei numerischen Werten verwendet wird, die zwei Wertevergleichsetiketten entsprechen, die in der Vielzahl von Wertevergleichsetiketten enthalten sind, aus dem ersten geheimen Schlüssel und den beiden Wertevergleichsetiketten unter Verwendung des additiven Homomorphismus zu erzeugen; und zu bestimmen, welcher der beiden numerischen Werte, die den beiden Wertevergleichsetiketten entsprechen, größer oder gleich ist, basierend darauf, ob ein diskreter Logarithmus des erzeugten Wertes zu dem ersten Parameter innerhalb eines Wertes eines vorbestimmten Bereichs berechnet werden kann.
  • Nach einer Ausführungsform der vorliegenden Erfindung ist es in Anbetracht des Vorstehenden möglich, einen Wertevergleich in verschlüsselten Daten zu erreichen, der auf bestimmte Ziele ausführbar ist, und den Verarbeitungsaufwand beim Wertevergleich zu reduzieren.
  • Probleme, Konfigurationen und andere Auswirkungen als die oben genannten werden durch die folgende Beschreibung in den Ausführungsformen wie folgt deutlich.
  • Figurenliste
    • 1 ist ein Blockdiagramm, das ein Konfigurationsbeispiel eines wertevergleichbaren Verschlüsselungssystems gemäß einer ersten exemplarischen Ausführungsform darstellt;
    • 2 ist ein Blockdiagramm, das ein Konfigurationsbeispiel eines Wertevergleichsservers gemäß der ersten exemplarischen Ausführungsform darstellt;
    • 3 ist ein Blockdiagramm, das ein Konfigurationsbeispiel eines Benutzerendgeräts in der ersten exemplarischen Ausführungsform darstellt;
    • 4 ist ein Ablaufdiagramm, das ein Beispiel für die Verschlüsselungsverarbeitung von Verschlüsselungszieldaten, die Übertragungsverarbeitung von verschlüsselten Daten und die Speicherverarbeitung von Chiffretext gemäß der ersten exemplarischen Ausführungsform darstellt;
    • 5A ist ein Beispiel für einen Chiffretext, der ein Wertevergleichsetikett und einen verschlüsselten numerischen Zellwert gemäß der ersten exemplarischen Ausführungsform kombiniert;
    • 5B ist ein Beispiel für verschlüsselte Daten in der ersten exemplarischen Ausführungsform;
    • 6 ist ein Ablaufdiagramm, das ein Beispiel für die Wertevergleichsverarbeitung und die Sortierverarbeitung gemäß der ersten exemplarischen Ausführungsform darstellt;
    • 7 ist ein Flussdiagramm, das ein Beispiel für die Verarbeitung der Generierung von Wertevergleichsetiketten gemäß der ersten exemplarischen Ausführungsform veranschaulicht;
    • 8A ist ein Diagramm, das eine Liste von Systemparametern und geheimen Schlüsseln für die Erzeugung von Wertevergleichsetiketten gemäß der ersten exemplarischen Ausführungsform darstellt;
    • 8B ist ein Diagramm, das eine Liste von Systemparametern und geheimen Schlüsseln für die Erzeugung von Wertevergleichsetiketten gemäß der ersten exemplarischen Ausführungsform darstellt;
    • 8C ist ein Diagramm, das eine Liste von Systemparametern und geheimen Schlüsseln für die Erzeugung von Wertevergleichsetiketten gemäß der ersten exemplarischen Ausführungsform darstellt;
    • 9 ist ein Flussdiagramm, das ein Beispiel für die Wertevergleichsverarbeitung gemäß der ersten exemplarischen Ausführungsform darstellt;
    • 10 ist ein Beispiel für einen Verschlüsselungsausführungsbildschirm gemäß der ersten exemplarischen Ausführungsform;
    • 11 ist ein Beispiel für einen Sortieranforderungsbildschirm gemäß der ersten exemplarischen Ausführungsform; und
    • 12 ist ein Flussdiagramm, das ein Beispiel für die Verarbeitung der Schwellenwertbestimmung gemäß der ersten exemplarischen Ausführungsform darstellt.
  • BESCHREIBUNG DER BEVORZUGTEN AUSFÜHRUNGSFORMEN
  • Im Folgenden werden Ausführungsformen der vorliegenden Erfindung mit Bezug auf die Zeichnungen beschrieben. In der vorliegenden Ausführungsform sind prinzipiell dieselben Bezugszeichen der gleichen Konfiguration zugeordnet, und eine doppelte Beschreibung entfällt. Es ist zu beachten, dass die vorliegende Ausführungsform nur ein Beispiel für die Umsetzung der vorliegenden Erfindung ist und nicht dazu dient, den technischen Umfang der vorliegenden Erfindung einzuschränken. Im Folgenden bedeutet „Wertevergleich“ das Bestimmen einer größer oder gleich Beziehung zwischen Werten.
  • [Erste exemplarische Ausführungsform]
  • (Systemkonfiguration)
  • 1 ist ein Blockdiagramm, das ein Konfigurationsbeispiel für ein wertevergleichbares Verschlüsselungssystem darstellt. So beinhaltet beispielsweise das wertevergleichbare Verschlüsselungssystem ein oder mehrere Benutzerendgeräte 300 und einen Wertevergleichsserver 200. Jedes der Benutzerendgeräte 300 und der Wertevergleichsserver 200 sind über ein Netzwerk 100 miteinander verbunden.
  • Das Benutzerendgerät 300 enthält Verschlüsselungszieldaten einschließlich numerischer Werte. Das Benutzerendgerät 300 erzeugt zunächst ein im Folgenden zu beschreibendes Wertevergleichsetikett für den numerischen Wert und verschlüsselt anschließend die Daten. Das heißt, das Benutzerendgerät 300 ist ein Beispiel für ein Verschlüsselungsendgerät, das die Verschlüsselung durchführt. Das Benutzerendgerät 300 überträgt die verschlüsselten Daten an den Wertevergleichsserver 200.
  • Auf der Grundlage einer Anforderung des Benutzerendgeräts 300 führt der Wertevergleichsserver 200 einen Wertevergleich mit den in den Daten enthaltenen numerischen Werten in einem Zustand durch, in dem die verschlüsselten Daten verschlüsselt sind. Der Wertevergleichsserver 200 sortiert die Daten beruhend auf einem Ergebnis des Wertevergleichs. Der Wertevergleichsserver 200 überträgt das Wertevergleichsergebnis oder das Sortierergebnis an das Benutzerendgerät 300.
  • Der Wertevergleichsserver 200 ist z.B. bei einem Cloud-Dienstleister installiert. Ein Benutzer, der die Dienste des Cloud-Dienstleisters nutzt, besitzt das Benutzerendgerät 300. Ein Beispiel für das Benutzerendgerät 300 ist ein Mobiltelefon.
  • (Wertevergleichsserver)
  • 2 ist ein Blockdiagramm, das ein Konfigurationsbeispiel des Wertevergleichsservers 200 veranschaulicht. Der Wertevergleichsserver 200 wird durch einen Computer mit einer Steuerungseinheit 210, einer Speichereinheit 220, einer Eingabeeinheit 201, einer Ausgabeeinheit 202 und einer Kommunikationseinheit 203 gebildet.
  • Die Steuerungseinheit 210 beinhaltet einen Prozessor. Die Speichereinheit 220 beinhaltet eine Datenspeichereinheit 230 und eine Speichereinheit 240 für temporäre Informationen. Die Datenspeichereinheit 230 wird beispielsweise durch eine Zusatzspeichervorrichtung gebildet. Die Speichereinheit 240 für temporäre Informationen wird beispielsweise durch einen Arbeitsspeicher gebildet.
  • Der in der Steuerungseinheit 210 enthaltene Prozessor führt ein im Arbeitsspeicher gespeichertes Programm aus. Der Arbeitsspeicher beinhaltet ein ROM, das eine nichtflüchtige Speichervorrichtung ist, und ein RAM, das eine flüchtige Speichervorrichtung ist. Das ROM speichert ein unveränderliches Programm (z.B. BIOS) oder dergleichen. Das RAM ist eine Hochgeschwindigkeits- und flüchtige Speichervorrichtung, wie beispielsweise ein dynamischer Direktzugriffsspeicher (DRAM), und speichert vorübergehend ein vom Prozessor ausgeführtes Programm und zum Zeitpunkt der Ausführung des Programms verwendete Daten.
  • Die Zusatzspeichervorrichtung ist eine nichtflüchtige Speichervorrichtung mit großer Kapazität, wie beispielsweise eine magnetische Speichervorrichtung (HDD), ein Flash-Speicher (SSD) oder dergleichen, und speichert ein vom Prozessor ausgeführtes Programm und zum Zeitpunkt der Ausführung des Programms verwendete Daten. Das heißt, das Programm wird aus der Zusatzspeichervorrichtung gelesen, in den Arbeitsspeicher geladen und vom Prozessor ausgeführt.
  • Die Eingabeeinheit 201 ist beispielsweise eine Vorrichtung wie eine Tastatur oder eine Maus, die eine Eingabe von einem Bediener erhält. Die Ausgabeeinheit 202 ist eine Vorrichtung, die ein Ausführungsergebnis eines Programms in einer für den Bediener visuell erkennbaren Form ausgibt, wie beispielsweise eine Anzeigevorrichtung oder ein Drucker. Der Wertevergleichsserver 200 beinhaltet eine Eingabeschnittstelle und eine Ausgabeschnittstelle, die mit der Eingabeeinheit 201 und der Ausgabeeinheit 202 verbunden sind.
  • Die Kommunikationseinheit 203 ist eine Netzwerkschnittstellenvorrichtung, die beispielsweise die Kommunikation mit einer anderen Vorrichtung nach einem vorgegebenen Protokoll steuert. Die Kommunikationseinheit 203 beinhaltet eine serielle Schnittstelle, wie z.B. USB.
  • Das vom Prozessor ausgeführte Programm wird dem Wertevergleichsserver 200 über ein Wechselmedium (CD-ROM, Flash-Speicher, etc.) oder ein Netzwerk zugeführt und in einer nichtflüchtigen Zusatzspeichervorrichtung gespeichert, die ein nichtflüchtiges Speichermedium ist. Daher kann der Wertevergleichsserver 200 eine Schnittstelle zum Lesen von Daten vom Wechselmedium beinhalten.
  • Der Wertevergleichsserver 200 ist ein Computersystem, das physikalisch auf einem einzelnen Computer oder auf einer Vielzahl von logisch oder physikalisch konfigurierten Computern konfiguriert ist. Der Wertevergleichsserver 200 kann auf einem separaten Thread auf demselben Computer oder auf einem virtuellen Computer betrieben werden, der auf einer Vielzahl von physischen Computerressourcen aufgebaut ist. Ähnliches gilt für das Benutzerendgerät 300.
  • Die Steuerungseinheit 210 beinhaltet eine Gesamtverarbeitungseinheit 211 und eine Wertevergleichseinheit 212. So arbeitet beispielsweise der in der Steuerungseinheit 210 enthaltene Prozessor nach einem in den Arbeitsspeicher geladenen Gesamtverarbeitungsprogramm und fungiert damit als Gesamtverarbeitungseinheit 211. Der Prozessor arbeitet nach einem in den Arbeitsspeicher geladenen Wertevergleichsprogramm und fungiert damit als Wertevergleichseinheit 212. Das Gleiche gilt für einzelne Einheiten, die in der Steuerungseinheit des nachfolgend beschriebenen Benutzerendgeräts 300 enthalten sind.
  • Die Gesamtverarbeitungseinheit 211 führt die Gesamtsteuerung der Verarbeitung durch den Wertevergleichsserver 200 aus. Die Gesamtverarbeitungseinheit 211 speichert über die Eingabeeinheit 201 empfangene Informationen in der Speichereinheit 220. Die Gesamtverarbeitungseinheit 211 steuert das Senden und Empfangen von Informationen mit anderen Vorrichtungen, einschließlich des Benutzerendgeräts 300.
  • Darüber hinaus gibt die Gesamtverarbeitungseinheit 211 Daten an die Ausgabeeinheit 202 aus. Die Gesamtverarbeitungseinheit 211 liest die in der Speichereinheit 220 gespeicherten Daten und überträgt die Daten über die Kommunikationseinheit 203 an das Benutzerendgerät 300. Die Gesamtverarbeitungseinheit 211 empfängt Daten vom Benutzerendgerät 300 über die Kommunikationseinheit 203.
  • Die Datenspeichereinheit 230 der Speichereinheit 220 beinhaltet eine Speichereinheit 231 für verschlüsselte Daten und eine Wertevergleichsparameter-Speichereinheit 232. Die Speichereinheit 231 für verschlüsselte Daten enthält z.B. verschlüsselte Daten, die vom Benutzerendgerät 300 empfangen werden. Die Wertevergleichsparameter-Speichereinheit 232 enthält Parameter und Schlüssel zum Vergleichen von Werten des verschlüsselten numerischen Werts, der in den verschlüsselten Daten enthalten ist.
  • Es ist zu beachten, dass in der vorliegenden exemplarischen Ausführungsform und in anderen exemplarischen Ausführungsformen vom wertevergleichbaren Verschlüsselungssystem verwendete Informationen durch eine beliebige Datenstruktur dargestellt werden können, die nicht auf eine bestimmte Datenstruktur beschränkt ist. Beispielsweise können Datenstrukturen, die entsprechend aus Tabellen, Listen, Datenbanken oder Warteschlangen ausgewählt werden, Informationen speichern. Vom Informationsspeichersystem verwendete Informationen werden in einem entsprechenden Datenspeicherbereich in der Datenspeichervorrichtung gespeichert.
  • (Benutzerendgerät)
  • 3 ist ein Blockdiagramm, das ein Konfigurationsbeispiel für das Benutzerendgerät 300 veranschaulicht. Das Benutzerendgerät 300 wird durch einen Computer mit einer Steuerungseinheit 310, einer Speichereinheit 320, einer Eingabeeinheit 301, einer Ausgabeeinheit 302 und einer Kommunikationseinheit 303 gebildet. Die Speichereinheit 320 beinhaltet eine Datenspeichereinheit 330 und eine Speichereinheit 340 für temporäre Informationen.
  • Die Hardware, die die Steuerungseinheit 310, die Speichereinheit 320, die Eingabeeinheit 301, die Ausgabeeinheit 302, die Kommunikationseinheit 303, die Datenspeichereinheit 330 und die Speichereinheit 340 für temporäre Informationen bildet, ist ähnlich der Hardware, die die Steuerungseinheit 210, die Speichereinheit 220, die Eingabeeinheit 201, die Ausgabeeinheit 202, die Kommunikationseinheit 203, die Datenspeichereinheit 230 und die Speichereinheit 240 für temporäre Informationen bildet. Dementsprechend entfällt deren Beschreibung.
  • Die Steuerungseinheit 310 beinhaltet eine Gesamtverarbeitungseinheit 311, eine Verschlüsselungsverarbeitungseinheit 312, eine Entschlüsselungsverarbeitungseinheit 313 und eine Einheit 314 zum Erzeugen von Wertevergleichsetiketten. Die Gesamtverarbeitungseinheit 311 führt die Gesamtsteuerung der vom Benutzerendgerät 300 ausgeführten Verarbeitung aus. Die Gesamtverarbeitungseinheit 311 speichert die über die Eingabeeinheit 301 empfangenen Informationen in der Speichereinheit 320. Die Gesamtverarbeitungseinheit 311 steuert das Senden und Empfangen von Informationen an/von andere(n) Vorrichtungen, die den Wertevergleichsserver 200 umfassen.
  • Die Gesamtverarbeitungseinheit 311 gibt die Daten an die Ausgabeeinheit 302 aus. Die Gesamtverarbeitungseinheit 311 liest die in der Speichereinheit 320 gespeicherten Daten, steuert die Verschlüsselungsverarbeitungseinheit 312 zur Verschlüsselung der Daten, steuert die Entschlüsselungsverarbeitungseinheit 313 zur Entschlüsselung der verschlüsselten Daten und überträgt Daten über die Kommunikationseinheit 303 an den Wertevergleichsserver 200. Die Gesamtverarbeitungseinheit 311 empfängt Daten vom Wertevergleichsserver 200 über die Kommunikationseinheit 303.
  • Die Datenspeichereinheit 330 beinhaltet eine Verschlüsselungsschlüssel-Speichereinheit 331, eine Entschlüsselungsschlüssel-Speichereinheit 332, eine Speichereinheit 333 für Etikettenerzeugungsparameter und eine Speichereinheit 334 für Verschlüsselungszieldaten. Die Verschlüsselungsschlüssel-Speichereinheit 331 enthält einen Schlüssel zur Verschlüsselung der Verschlüsselungszieldaten. Die Entschlüsselungsschlüssel-Speichereinheit 332 enthält einen Entschlüsselungsschlüssel zum Entschlüsseln der mit dem Verschlüsselungsschlüssel verschlüsselten Daten. So können beispielsweise der Verschlüsselungsschlüssel und der Entschlüsselungsschlüssel in der Verschlüsselungsschlüssel-Speichereinheit 331 bzw. der Entschlüsselungsschlüssel-Speichereinheit 332 zwischengespeichert oder z.B. vom Benutzerendgerät 300 selbst erzeugt werden.
  • Die Speichereinheit 333 für Etikettenerzeugungsparameter enthält einen Verschlüsselungsschlüssel und einen Parameter zum Erzeugen eines Wertevergleichsetiketts. Die Verschlüsselungszieldaten 334 enthalten Verschlüsselungszieldaten, d.h. zu verschlüsselnde Klartextdaten.
  • <Verarbeitung durch das wertevergleichbare Verschlüsselungssystem>
  • (Verschlüsselungsverarbeitung und Speicherverarbeitung von Chiffretextspeichern)
  • 4 ist ein Ablaufdiagramm, das ein Beispiel für die Verschlüsselungsverarbeitung von Verschlüsselungszieldaten, die Übertragungsverarbeitung von verschlüsselten Daten und die Speicherverarbeitung von Chiffretexten darstellt. Zur Erleichterung der Erläuterung wird im Folgenden ein Beispiel für verschlüsselte Daten in einem Tabellenformat beschrieben. Im Folgenden wird davon ausgegangen, dass die Tabelle der Verschlüsselungszieldaten Spalten mit numerischen Zellen enthält, die numerische Werte aufweisen.
  • Die Einheit 314 zum Erzeugen von Wertevergleichsetiketten erzeugt Wertevergleichsetiketten für die Werte der einzelnen numerischen Zellen der von der Speichereinheit 334 für Verschlüsselungszieldaten gehaltenen Verschlüsselungszieldaten (S401). In Schritt S401 verwendet die Einheit 314 zum Erzeugen von Wertevergleichsetiketten ein Verschlüsselungsschema, bei dem ein Klartextraum eine Restoperation aufweist (z.B. eine partielle additive Gruppe, bei der der Klartextraum eine Restklassengruppe Z/nZ ist (Z ist eine Gruppe, die aus ganzzahligen ganzen Zahlen gebildet wird, n ist eine natürliche Zahl von 2 oder mehr)), welches ein Verschlüsselungsschema mit einem additiven Homomorphismus ist und die Verschlüsselung einzelner numerischer Zellwerte durchführt und dadurch ein Wertevergleichsetikett erzeugt. Obwohl im Folgenden Details beschrieben werden, können nur diejenigen, die über einen geheimen Schlüssel verfügen, aus Werten innerhalb eines vorgegebenen Bereichs einen diskreten Logarithmus eines vorgegebenen Systemparameters aus einem Wert berechnen, der mit einem geheimen Schlüssel und zwei Wertevergleichsetiketten erzeugt wurde.
  • Beachten Sie, dass die Einheit 314 zum Erzeugen von Wertevergleichsetiketten beim Erzeugen des Wertevergleichsetiketts beim Ausführen der Verschlüsselung einen Verschlüsselungsschlüssel verwendet, der von der Speichereinheit 333 für Etikettenerzeugungsparameter gehalten wird. Im Folgenden werden Details zur Verarbeitung der Erzeugung von Wertevergleichsetiketten von Schritt S403 beschrieben.
  • Anschließend verwendet die Verschlüsselungsverarbeitungseinheit 312 einen von der Verschlüsselungsschlüssel-Speichereinheit 331 gehaltenen Verschlüsselungsschlüssel und verschlüsselt einzelne Zellen, die in den Verschlüsselungszieldaten enthalten sind, und erzeugt verschlüsselte Daten (S402). In Schritt S402 kann ein beliebiges Verschlüsselungsschema (z.B. Common Key Kryptographie oder Public Key Kryptographie) verwendet werden. Beachten Sie, dass die Reihenfolge der Ausführung von Schritt S401 und Schritt S402 umgekehrt werden kann.
  • Danach kombiniert die Einheit 314 zum Erzeugen von Wertevergleichsetiketten die Werte (Chiffretext) einzelner numerischer Zellen in den verschlüsselten Daten mit den Wertevergleichsetiketten, die den Werten der numerischen Zellen entsprechen (S403). Anschließend überträgt die Gesamtverarbeitungseinheit 311 die mit dem Wertevergleichsetikett kombinierten verschlüsselten Daten an den Wertevergleichsserver 200 (S404). Die Gesamtverarbeitungseinheit 211 speichert die empfangenen verschlüsselten Daten in der Speichereinheit 231 für verschlüsselte Daten (S405).
  • 5A ist ein Beispiel für einen Chiffretext, in dem das Wertevergleichsetikett und der Wert der verschlüsselten numerischen Zelle kombiniert sind. Im Beispiel von 5A wird ein Chiffretext Di erzeugt, indem eine Bitfolge eines Chiffretextes Ei, der aus einem Klartext mi verschlüsselt wurde, mit dem unmittelbaren Ende der Bitfolge eines Wertevergleichsetiketts Ci kombiniert wird. Beachten Sie, dass z.B. die Vorgabe der Gesamtzahl der Bits des Wertevergleichsetiketts Ci es ermöglichen würde, aus dem Chiffretext Di zwischen dem Bit, das dem Wertevergleichsetikett Ci entspricht, und dem Bit, das dem Chiffretext Ei entspricht, zu unterscheiden.
  • 5B ist ein Beispiel für verschlüsselte Daten. Im Beispiel von 5B wurde das Alter, das einen numerischen Wert hat, mit der wertevergleichbaren Verschlüsselung gemäß der vorliegenden Ausführungsform verschlüsselt. Di (i = 1, 2, 3) ist ein Chiffretext ähnlich dem Chiffretext in 5A. Ci||Ei stellt eine Kombination von Bitfolgen Ci und Ei dar. Enc 1 und Enc 2 stellen beliebige Verschlüsselungsverfahren wie Common Key Kryptographie und Public Key Kryptographie dar, bei denen Zeichentypwerte, die in ihrer Sequenzbeziehung keine Bedeutung haben, wie z.B. Adressen, verschlüsselt wurden.
  • Im Beispiel von 5B werden für die numerischen Zellen und die Zeichenzellen unterschiedliche Verschlüsselungsverfahren verwendet. Beachten Sie, dass Enc 1 und Enc 2 mit demselben Verschlüsselungsschema mit demselben Schlüssel verschlüsselt werden können oder verschiedene Schemata sein können. Im Beispiel von 5B sind der oberste Datensatz mit den Positionsnamen und die linke Spalte mit den Identifikatoren der Datensätze nicht verschlüsselt. Diese Datensätze und Spalten können jedoch auch verschlüsselt werden.
  • (Wertevergleichsverarbeitung und Sortierverarbeitung)
  • 6 ist ein Ablaufdiagramm, das ein Beispiel für eine Wertevergleichsverarbeitung und eine Sortierverarbeitung darstellt. Die Gesamtverarbeitungseinheit 211 fordert z.B. eine Wertevergleichs- und Sortierverarbeitung der an den Wertevergleichsserver 200 übertragenen verschlüsselten Daten gemäß einer Befehlseingabe des Benutzers an (S501). Die Gesamtverarbeitungseinheit 211 gibt in der Anforderung das Sortieren verschlüsselter Zieldaten und eine Sortierzielspalte als numerische Zelle in den verschlüsselten Daten an. Beachten Sie, dass sowohl die Neuanordnung der verschlüsselten Daten in aufsteigender Reihenfolge der numerischen Zellwerte als auch die Sortierung der Daten in absteigender Reihenfolge Beispiele für die Sortierverarbeitung sind.
  • Die Wertevergleichseinheit 212 führt einen Wertevergleich mit dem Wert der angegebenen numerischen Zelle der angegebenen verschlüsselten Daten unter Verwendung des Wertevergleichsetiketts aus (S502). Im Folgenden werden Details zur Wertevergleichsverarbeitung in Schritt S502 beschrieben.
  • Anschließend sortiert die Wertevergleichseinheit 212 die verschlüsselten Daten anhand des Wertevergleichsergebnisses (S503). Die Gesamtverarbeitungseinheit 211 überträgt die durch die Wertevergleichseinheit 212 sortierten verschlüsselten Daten ohne Entschlüsselung an das Benutzerendgerät 300 (S504). Die Entschlüsselungsverarbeitungseinheit 313 entschlüsselt den Chiffretext der empfangenen verschlüsselten Daten unter Verwendung des in der Entschlüsselungsschlüssel-Speichereinheit 332 gespeicherten Entschlüsselungsschlüssels (S505).
  • Beachten Sie, dass 6 ein Beispiel für die Ausführung einer Sortierverarbeitung beschrieben hat, wobei das Benutzerendgerät 300 eine Vielzahl von numerischen Zellen der verschlüsselten Daten angeben und eine Wertevergleichsverarbeitung der Vielzahl von numerischen Zellen allein an dem Wertevergleichsserver 200 anfordern kann. In diesem Fall gibt der Wertevergleichsserver 200 das Ergebnis des Wertevergleichs der Vielzahl von Zellen an das Benutzerendgerät 300 zurück.
  • (Erzeugung eines Wertevergleichsetiketts)
  • 7 ist ein Flussdiagramm, das ein Beispiel für die Verarbeitung der Erzeugung von Wertevergleichsetiketten darstellt (S401). Das Benutzerendgerät 300 erhält Systemparameter G, g, u, h und U durch die Startzeit der Verarbeitung der Erzeugung von Etiketten (S401). Der Wertevergleichsserver 200 erhält durch den Startzeitpunkt der Wertevergleichsverarbeitung (S502) die gleichen Parameter.
  • Beachten Sie, dass diese Systemparameter möglicherweise vorab von einem anderen Gerät oder Benutzer bereitgestellt werden oder durch die Einheit 314 zum Erzeugen von Wertevergleichsetiketten berechnet werden. Diese Systemparameter werden in der Speichereinheit 333 für Etikettenerzeugungsparameter des Benutzerendgeräts 300 gespeichert und in der Wertevergleichsparameter-Speichereinheit 232 des Wertevergleichsservers 200 gespeichert. Beachten Sie, dass der Wertevergleichsserver 200 nicht h von den Systemparametern halten muss.
  • Beachten Sie, dass G eine endliche zyklische Gruppe ist (z.B. Z/pZ (p ist eine Primzahl)), in der die Lösung eines diskreten Logarithmusproblems in G rechnerisch schwierig ist. Wenn es rechnerisch schwierig ist, ein diskretes Logarithmusproblem in G zu lösen, zeigt dies beispielsweise einen Zustand an, dass in einem Fall, bei dem ein vorbestimmter Algorithmus verwendet wird (z.B. Baby-step, Giant-step), die Wahrscheinlichkeit, ein diskretes Logarithmusproblem in G durch eine vorgegebene Anzahl von Berechnungen (z.B. 280 mal) zu lösen, ein vorgegebener Wert ist (z.B. 1/2 oder weniger).
  • Die Systemparameter g und u sind zufällig gewählte verschiedene Generatoren von G. h ist definiert durch h = gS. Beachten Sie, dass s eine zufällig erzeugte ganze Zahl größer als 1 ist.
  • Der Systemparameter U ist eine natürliche Zahl, ein Wert, der die Lösung eines diskreten Logarithmusproblems in G zu einer Basis u ermöglicht, wenn eine Lösung des Problems ein ganzzahliger Wert von U oder weniger ist. Insbesondere wäre es beispielsweise wünschenswert, dass die Lösung, die ein ganzzahliger Wert von U oder weniger ist, es ermöglicht, ein diskretes Logarithmusproblem zu einer Basis u in G durch eine vorgegebene Anzahl von Berechnungen zu lösen, wenn ein vorgegebener Algorithmus (z.B. Baby-step Giant-step) verwendet wird. Es wird davon ausgegangen, dass U ausreichend kleiner als die Ordnung von G (z.B. mindestens ein oder mehrere Bits kleiner) und ausreichend größer als jeder der Klartexte von numerischen Zellen (z.B. mindestens ein Bit größer) ist. Der Systemparameter U ist z.B. vorläufig vorgegeben.
  • In einem Fall, in dem eine Obergrenze des Wertes der in den Verschlüsselungszieldaten enthaltenen numerischen Zelle mit Klartext T ist, erzeugt die Einheit 314 zum Erzeugen von Wertevergleichsetiketten zufällig eine natürliche Zahl R von 3 oder mehr, die RT < U erfüllt. Beachten Sie, dass T kleiner ist als die Ordnung von G.
  • Zum Zeitpunkt des Beginns der Verarbeitung (S401) zum Erzeugen von Etiketten erhält das Benutzerendgerät 300 die geheimen Schlüssel x, R und s für die Erzeugung von Wertevergleichsetiketten und speichert die erhaltenen Schlüssel in der Speichereinheit 333 für Etikettenerzeugungsparameter. Beachten Sie, dass diese Geheimschlüssel für die Erzeugung von Wertevergleichsetiketten vorab von einem anderen Gerät oder Benutzer geliefert werden können oder von der Einheit 314 zum Erzeugen von Wertevergleichsetiketten berechnet werden können. Beachten Sie, dass x ein zufällig erzeugtes Element von G ist.
  • Darüber hinaus erhält der Wertevergleichsserver 200 zum Startzeitpunkt der Wertevergleichsverarbeitung (S502) einen geheimen Schlüssel s zum Erzeugen von Wertevergleichsetiketten und speichert den erhaltenen Schlüssel s in der Wertevergleichsparameter-Speichereinheit 232. Der geheime Schlüssel s zum Erzeugen von Wertevergleichsetiketten wird sicher aufbewahrt, so dass er vor einem Dritten verborgen bleibt, der nicht berechtigt ist, einen Wertevergleich durchzuführen.
  • Die 8A bis 8C sind Diagramme, die eine Liste der oben beschriebenen Systemparameter und die Geheimschlüssel zum Erzeugen von Wertevergleichsetiketten veranschaulichen. Im Beispiel von 8 ist G eine zyklische Gruppe mit der Ordnung einer Primzahl p.
  • Zurück zur Beschreibung von 7. Die Gesamtverarbeitungseinheit 311 liest die Systemparameter G, g, u, h und U aus dem Speicher 333 für Etikettenerzeugungsparameter und gibt die Parameter in die Einheit 314 zum Erzeugen von Wertevergleichsetiketten ein (S601). Die Gesamtverarbeitungseinheit 311 liest die geheimen Schlüssel x, R und s zum Erzeugen von Wertevergleichsetiketten aus der Speichereinheit 333 für Etikettenerzeugungsparameter und gibt die Schlüssel in die Einheit 314 zum Erzeugen von Wertevergleichsetiketten ein (S602).
  • Die Gesamtverarbeitungseinheit 311 setzt eine Variable i auf i = 1 (S603). Es wird davon ausgegangen, dass es n Klartexte (m1,...., mn) von numerischen Zellen als Ziele für die Erzeugung von Wertevergleichsetiketten gibt. In einem Fall, in dem beispielsweise ein anderer Wert als eine nichtnegative ganze Zahl in m1,...., mn vorhanden ist, wäre es z.B. wünschenswert, dass alle m1,..., mn mit 10k multipliziert werden (k ist eine natürliche Zahl) oder der gleiche Wert zu allen m1,...., mn addiert wird, damit m1,...., mn in nichtnegative ganze Zahlen umgewandelt werden.
  • Die Gesamtverarbeitungseinheit 311 gibt den Klartext mi der (i-ten) numerischen Zelle als Sortierziel in die Einheit 314 zum Erzeugen von Wertevergleichsetiketten ein (S604). Die Einheit 314 zum Erzeugen von Wertevergleichsetiketten erzeugt zufällig ganze Zahlen αi und βi, die 0 <αi < R/2 < βi <R erfüllen und sie erzeugt zufällig positive ganze Zahlen δi und Ai, die kleiner sind als die Ordnung von G (S605). Darüber hinaus berechnet die Einheit 314 zum Erzeugen von Wertevergleichsetiketten Ci(1) = gδ1x, Ci(2) = gλix-1, Ci(3) = hδuRmi+αi, Ci(4) = hλiu-Rmi-βi, die Elemente von G sind (S606).
  • Die Einheit 314 zum Erzeugen von Wertevergleichsetiketten gibt Kombinationen von diesen, nämlich Ci = (Ci (1), Ci (2), Ci (3), Ci (4)), an die Gesamtverarbeitungseinheit 311 als ein Wertevergleichsetikett für den Klartext mi aus (S607). Das Wertevergleichsetikett Ci ist ein Chiffretext, der aus dem Klartext mi unter Verwendung der Geheimschlüssel x, R und s erhalten wird.
  • Die Gesamtverarbeitungseinheit 311 bestimmt, ob i = n erfüllt ist (608). In einem Fall, in dem die Gesamtverarbeitungseinheit 311 bestimmt, dass i = n nicht erfüllt ist (S608: Nein), ersetzt die Gesamtverarbeitungseinheit 311 i durch i + 1 (S609) und kehrt zu Schritt S604 zurück. In einem Fall, in dem die Gesamtverarbeitungseinheit 311 bestimmt, dass i = n erfüllt ist (S608: Ja), schließt die Gesamtverarbeitungseinheit 311 die Verarbeitung zum Erzeugen von Wertevergleichsetiketten ab.
  • (Wertevergleich unter Verwendung von Wertevergleichsetikett)
  • 9 ist ein Flussdiagramm, das ein Beispiel für die Verarbeitung von Wertevergleichen (S502) darstellt. Die Gesamtverarbeitungseinheit 211 liest die Systemparameter G, g, u, h und U aus der Wertevergleichsparameter-Speichereinheit 232 und gibt die Parameter in die Wertevergleichseinheit 212 ein (S701). Beachten Sie, dass die Wertevergleichseinheit 212 nicht h von den Systemparametern lesen muss. Die Gesamtverarbeitungseinheit 211 liest den geheimen Schlüssel s des Wertevergleichs aus der Wertevergleichsparameter-Speichereinheit 232 und gibt den Schlüssel für die Wertevergleichseinheit 212 ein (S702).
  • Anschließend bestimmt die Gesamtverarbeitungseinheit 211 nicht ausgewählte Vektoren (i, j) mit unterschiedlichen natürlichen Zahlen als Elemente (Schritt S703). Hier wird angenommen, dass i und j einzeln die Anzahl der Etiketten als Wertevergleichsziele oder weniger sind. Die Gesamtverarbeitungseinheit 211 liest zwei Etiketten Ci = (Ci (1), Ci (2), Ci (3), Ci (4)) und Cj = (Cj (1), Cj (2), Cj (3), Cj (4)) als Ziel des Wertevergleichs aus der Speichereinheit 231 für verschlüsselte Daten und gibt die Etiketten in die Wertevergleichseinheit 212 ein (S704).
  • Die Wertevergleichseinheit 212 berechnet X = Ci(1 )Cj(2) = gδi+λj unter Verwendung des additiven Homomorphismus (S705). Die Wertevergleichseinheit 212 berechnet XS = gS(δi+λj) = hδi+λj (S706). Die Wertevergleichseinheit 212 berechnet Y = Ci(3)Cj(4) = hδi+λjuR(mi-mj)+(αi-βj) (S707) unter Verwendung des additiven Homomorphismus und eines Berechnungsergebnisses aus Schritt S706. Die Wertevergleichseinheit 212 berechnet Z = Y/XS = uR(mi-mj)+(αi-βj) (S708).
  • Anschließend versucht die Wertevergleichseinheit 212 die Berechnung eines diskreten Logarithmus von Z zur Basis u innerhalb eines Bereichs von einem Schwellenwert U oder weniger (S709). Beachten Sie, dass die Berechnung des diskreten Logarithmus in Schritt S709 eine Methode wie z.B. Baby-step, Giant-step verwendet. In einem Fall, in dem der diskrete Logarithmus berechnet werden kann (S709: Ja), bestimmt die Wertevergleichseinheit 212, dass der numerische Wert von Klartext Ci größer ist als der numerische Wert von Klartext Cj, und teilt das Bestimmungsergebnis dann der Gesamtverarbeitungseinheit 211 mit (S710). In einem Fall, in dem der diskrete Logarithmus [nicht] berechnet werden kann (S709: Nein), bestimmt die Wertevergleichseinheit 212, dass der numerische Wert des Klartextes von Ci gleich dem numerischen Wert des Klartextes von Cj oder kleiner ist, und teilt dann das Bestimmungsergebnis der Gesamtverarbeitungseinheit 211 mit (S711).
  • Der Zusammenhang zwischen der Fähigkeit zur Berechnung des diskreten Logarithmus in Schritt S709 und dem Ergebnis des Wertevergleichs wird ausführlich beschrieben. In einem Fall, in dem der diskrete Logarithmus von Z zur Basis u nicht innerhalb eines Bereichs von U oder weniger berechnet werden kann, erfüllen die Klartexte mi und mj R (mi-mj) + (αi-βj) < 0 oder U < R (mi-mj) + (αi-βj) < (Ordnung der Gruppe G).
  • Unterdessen ist die Beziehung RT < U in Bezug auf eine Obergrenze T des Wertes der numerischen Zelle erfüllt. Da 0 <αi <R/2 <ßj <R erfüllt ist, wird R (mi-mj) + (αi-βj) <RT <U festgesetzt. Dementsprechend gilt die Ungleichung R (mi-mj) + (αi-βj) < 0. Wenn mi ≤ mj gilt, ist die Ungleichung anscheinend erfüllt. Unter der Annahme, dass mi> mj, kann das Ergebnis 0 > R (mi-mj) + (αi-βj) > R × 1 + (0-R) = 0 sein, was widersprüchlich ist. Dementsprechend gilt mi ≤ mj in einem Fall, in dem der diskrete Logarithmus von Z zur Basis u nicht im Bereich von U oder weniger berechnet werden kann.
  • Im Gegensatz dazu erfüllen die Klartexte mi, mj in einem Fall, in dem der diskrete Logarithmus von Z zur Basis u von Z im Bereich von U oder weniger berechnet werden kann, die Ungleichung 0 ≤ R (mi-mj) + (αi-βj) ≤ U. Wenn mi ≤ mj, gilt zumindest mindestens mi > mj, da die Ungleichung offensichtlich in Widerspruch steht. Außerdem wäre in einem Fall, in dem mi> mj erfüllt ist, die Beziehung 1 ≤ mi-mj ≤ T.
  • Zu diesem Zeitpunkt wären die Beziehungen Min{R(mi-mj) + (αi-βj)} > Rx1 + (0-R) = 0 und Max{R(mi-mj) +(αi-βj)} < RT + (αi-βj) < U + (αi-βj), wobei R(mi-mj) + (αi-βj) eine monoton zunehmende Funktion von (mi-mj) ist. Dementsprechend würden alle mi und mj, die mi > mj erfüllen, die die vorstehende Ungleichung erfüllen. Dementsprechend gilt dann in einem Fall, in dem der diskrete Logarithmus von Z zur Basis u im Bereich von U oder weniger berechnet werden kann, mi > mj.
  • Die Gesamtverarbeitungseinheit 211 bestimmt, ob es einen nicht gewählten Vektor (i, j) gibt (S712). In einem Fall, in dem festgestellt wird, dass ein nicht gewählter Vektor (i, j) vorhanden ist (S712: Ja), kehrt die Gesamtverarbeitungseinheit 211 zu Schritt S703 zurück. In einem Fall, in dem festgestellt wird, dass es keinen nicht gewählten Vektor (i, j) gibt (S712: Nein), gibt die Gesamtverarbeitungseinheit 211 alle Wertevergleichsergebnisse an die Wertevergleichseinheit 212 zurück, beendet die Wertevergleichsverarbeitung und fährt mit Schritt S503 fort.
  • Beachten Sie, dass in Fällen, in denen für die Klartexte mk und ml die Einstellung (i, j) = (k, I) oder (i, j) = (I, k) ist, mk = ml in einem Fall bestimmt würde, in dem der diskrete Logarithmus von Schritt S709 (d.h. der diskrete Logarithmus von U oder weniger) nicht berechnet werden kann. Außerdem wäre in einem Fall, in dem der diskrete Logarithmus in Schritt S709 nicht mit der Einstellung (i, j) = (k, I) berechnet werden kann, und in einem Fall, in dem der diskrete Logarithmus in Schritt S709 mit der Einstellung (i, j) = (I, k) berechnet werden kann, die Beziehung für die Klartexte mk und ml mk < ml.
  • Beachten Sie, dass selbst in einem Fall, in dem in Schritt S712 bestimmt wird, dass es einen nicht gewählten Vektor (i, j) gibt, die Gesamtverarbeitungseinheit 211 in einem Fall zu Schritt S712 weitergehen kann, ohne zu Schritt S703 zurückzukehren, indem eine Größenbeziehung zwischen mi und mj, die jedem der nicht gewählten Vektoren entspricht, aus dem bereits ausgegebenen Bestimmungsergebnis bestimmt werden kann.
  • Insbesondere in einem Fall, in dem beispielsweise bereits Bestimmungsergebnisse von m1 < m2 und m2 <m3 vorliegen, kann die Gesamtverarbeitungseinheit 211 bestimmen, dass m1 <m3 auch dann gilt, wenn (i, j) = (1, 3) und (i, j) = (3, 1) nicht gewählt sind.
  • Beachten Sie, dass es in einem Fall, in dem es ausreicht, einfach bestimmen zu können, ob bei der Wertevergleichsverarbeitung der Klartexte mi und mj mi > mj oder mi ≤ mj erfüllt ist (d.h. es besteht keine Notwendigkeit zu bestimmen, ob mi = mj oder mi <mj erfüllt ist), ausreichen würde, die Vektoren (i, j) mit unterschiedlichen natürlichen Zahlen als Elemente in den Schritten S703 und S712 (i, j) durch eine andere Kombination von natürlichen Zahlen zu ersetzen.
  • Wie vorstehend beschrieben, werden die Wertevergleichsetiketten unter Verwendung der Gruppe G erzeugt. Die Gruppe G kann eine Gruppe sein, bei der es als schwierig angesehen wird, eine Lösung des diskreten Logarithmusproblems zu berechnen, wie beispielsweise eine multiplikative Gruppe eines endlichen Feldes oder eine Gruppe, die aus rationalen Punkten einer elliptischen Kurve auf einem endlichen Feld gebildet wird, und die nicht auf die oben beschriebene Gruppe beschränkt ist.
  • 10 ist ein Beispiel für einen auf dem Benutzerendgerät 300 angezeigten Bedienbildschirm. Insbesondere ist 10 ein Beispiel für einen Verschlüsselungsausführungsbildschirm 1100. Der Verschlüsselungsausführungsbildschirm 1100 beinhaltet einen Datenanzeigebereich 1101, einen Auswahlknopf 1102, einen Verschlüsselungsausführungsknopf 1103 und einen Serverübertragungsknopf 1104. Der Datenanzeigebereich 1101 zeigt einen Teil oder alle Verschlüsselungszieldaten an.
  • Der Auswahlknopf 1102 ist ein Auswahlknopf zum Auswählen einer Spalte in Form von numerischen Zellen, die mit der wertevergleichbaren Verschlüsselung der vorliegenden exemplarischen Ausführungsform verschlüsselt werden sollen. Der Verschlüsselungsausführungsknopf 1103 ist ein Auswahlknopf zum Ausführen der Verschlüsselung von Verschlüsselungszieldaten nach Auswahl einer Spalte vom numerischen Typ mit dem Auswahlknopf 1102. Wie vorstehend beschrieben, wird beispielsweise eine als numerischer Typ ausgewählte Spalte mit einer bestimmbaren Wertevergleichsverschlüsselung in der vorliegenden exemplarischen Ausführungsform verschlüsselt, und die anderen Spalten werden mit einem normalen Verschlüsselungsschema verschlüsselt.
  • Nach Abschluss der Verschlüsselung können die verschlüsselten Daten im Datenanzeigebereich 1101 angezeigt werden. Der Server-Übertragungsknopf 1104 ist ein Auswahlknopf zum Übertragen der Daten an den Wertevergleichsserver 200, nachdem die Verschlüsselungszieldaten verschlüsselt wurden.
  • 11 ist ein Beispiel für einen auf dem Benutzerendgerät 300 angezeigten Bedienbildschirm. Insbesondere ist 11 ein Beispiel für einen Sortieranforderungsbildschirm 1200 zum Anfordern der Sortierung der an den Wertevergleichsserver 200 übertragenen verschlüsselten Daten. Der Sortieranforderungsbildschirm 1200 beinhaltet einen Auswahlknopf 1201, einen Sortieranforderungsknopf 1202, einen Datenanzeigebereich 1203, einen Entschlüsselungsausführungsknopf 1204 und einen Entschlüsselungsergebnisspeicherknopf 1205.
  • Der Auswahlknopf 1201 ist ein Auswahlknopf zur Auswahl einer Sortierziel-Spalte. Der Sortieranforderungsknopf 1202 ist ein Auswahlknopf, um den Wertevergleichsserver 200 aufzufordern, die verschlüsselten Daten anhand der Sortierziel-Spalte als Schlüssel zu sortieren.
  • Wie vorstehend beschrieben, sortiert der Wertevergleichsserver 200 die verschlüsselten Daten in einem Zustand, in dem die Daten gemäß der Sortieranforderung verschlüsselt sind, und überträgt die sortierten verschlüsselten Daten an das Benutzerendgerät 300. Der Datenanzeigebereich 1203 zeigt die vom Wertevergleichsserver 200 empfangenen sortierten verschlüsselten Daten an.
  • Der Entschlüsselungsausführungsknopf 1204 ist ein Auswahlknopf zum Entschlüsseln der sortierten verschlüsselten Daten. Das Entschlüsselungsergebnis, d.h. sortierter Klartext, kann im Datenanzeigebereich 1203 angezeigt werden. Der Entschlüsselungsergebnisspeicherknopf 1205 ist ein Auswahlknopf zum Speichern des Entschlüsselungsergebnisses in der Speichereinheit 220. Die Bedienbildschirme von 10 und 11 sind nur Beispiele, und die Bildschirmkonfiguration, die Bedienreihenfolge der Auswahlknöpfe, der Bildschirmübergang oder dergleichen sind nicht auf dieses Beispiel beschränkt.
  • (Zusammenfassung der ersten exemplarischen Ausführungsform)
  • Im wertevergleichbaren Datenverschlüsselungssystem der vorliegenden exemplarischen Ausführungsform überträgt das Benutzerendgerät 300 verschlüsselte Daten einschließlich numerischer Zellen an den Wertevergleichsserver 200. Der Wertevergleichsserver 200 führt weiterhin den Wertevergleich der numerischen Werte durch, wobei die verschlüsselten Daten verschlüsselt bleiben. Darüber hinaus führt der Wertevergleichsserver 200 die Sortierung unter Verwendung des Wertevergleichsergebnisses durch.
  • Der Wertevergleichsserver 200 überträgt das Ergebnis des Wertevergleichs oder sortierte verschlüsselte Daten an das Benutzerendgerät 300. Das Benutzerendgerät 300 entschlüsselt die vom Wertevergleichsserver 200 empfangenen sortierten verschlüsselten Daten.
  • Beachten Sie, dass der Wertevergleichsserver 200 den Wertevergleich mit einem geheimen Schlüssel des Wertevergleichs durchführt und somit Personen ohne den geheimen Schlüssel keinen Wertevergleich durchführen können. Selbst wenn der Chiffretext durchsickern würde, könnte daher kein Wertevergleich von einem Dritten durchgeführt werden, es sei denn, dass ein Durchsickern des geheimen Schlüssels des Wertevergleichs aufgetreten ist, und so kann das Durchsickern von Informationen minimiert werden. Außerdem ist es nicht möglich, verschlüsselte Daten allein mit dem geheimen Schlüssel des Wertevergleichs zu entschlüsseln.
  • Darüber hinaus hängt die Länge des Wertevergleichsetiketts nach der vorliegenden exemplarischen Ausführungsform von der maximalen Bitlänge des Klartextes ab, ist jedoch nicht proportional zur Gesamtzahl der Klartexte zur Erzeugung von Wertevergleichsetiketten. Dadurch ist es möglich, die Länge des Wertevergleichsetiketts auszublenden.
  • Beachten Sie, dass das Verschlüsselungsschema, das für die Erzeugung des Wertevergleichsetiketts verwendet wird, ein anderes Verschlüsselungsschema sein kann. Bei dem anderen Verschlüsselungsschema weist der Klartextraum jedoch eine Restoperation auf und das andere Verschlüsselungsschema weist einen additiven Homomorphismus auf. Darüber hinaus können in dem anderen Verschlüsselungsschema nur Personen, die über einen geheimen Schlüssel verfügen, einen diskreten Logarithmus eines vorgegebenen Systemparameters mit einem Wert berechnen, der unter Verwendung eines geheimen Schlüssels und zweier Wertevergleichsetiketten erzeugt wurde.
  • [Zweite exemplarische Ausführungsform]
  • Das wertevergleichbare determinierbare Verschlüsselungssystem der vorliegenden exemplarischen Ausführungsform kann weiterhin eine Schwellenwertbestimmungsverarbeitung durchführen. 12 ist ein Flussdiagramm, das ein Beispiel für die Schwellenwertbestimmungsverarbeitung darstellt. Es wird davon ausgegangen, dass die Verarbeitung von 4 bereits abgeschlossen ist. Das heißt, die durch das Verschlüsselungsschema der ersten exemplarischen Ausführungsform verschlüsselten Daten werden im Wertevergleichsserver 200 gehalten. Es wird auch davon ausgegangen, dass die Gesamtverarbeitungseinheit 311 einen Schwellenwert m für das Schwellenwertbestimmungsziel erhalten hat und den Schwellenwert m an die Einheit 314 zum Erzeugen von Wertevergleichsetiketten ausgibt. Der Schwellenwert m wird vom Benutzer z.B. über die Eingabeeinheit 201 vorgegeben.
  • In Schritt S1001 führt die Einheit 314 zum Erzeugen von Wertevergleichsetiketten eine Verarbeitung ähnlich wie diejenige in 7 für den Schwellenwert m durch und erzeugt ein Wertevergleichsetikett D. Die Gesamtverarbeitungseinheit 311 erzeugt eine Schwellenwertbestimmungsanforderung mit dem Wertevergleichsetikett D und sendet die Anforderung an den Wertevergleichsserver 200 (S1002). Die Schwellenwertbestimmungsanforderung beinhaltet eine Anforderung, um den Wertevergleichsserver 200 dazu zu veranlassen, die numerischen Zellen einschließlich der angegebenen Spalte der verschlüsselten Daten und die größer als der Schwellenwert m sind, welcher der Wert ist, der dem Wertevergleichsetikett D entspricht, zu extrahieren und zurückzugeben. Beachten Sie, dass die Spalte beispielsweise vom Benutzer über die Eingabeeinheit 201 angegeben wird.
  • Die Wertevergleichseinheit 212 verwendet das Wertevergleichsetikett D und das verschlüsselte Wertevergleichsetikett und führt eine Wertevergleichsverarbeitung auf dem Schwellenwert m und dem Wert jeder der numerischen Zellen der verschlüsselten Daten durch (S10003). Die Wertevergleichsverarbeitung ist ähnlich wie bei der Verarbeitung von 9.
  • Die Gesamtverarbeitungseinheit 311 wählt eine numerische Zelle aus, die in der Wertevergleichsverarbeitung als größer als der Schwellenwert m bestimmt wurde (S1004), und sendet die numerische Zelle oder einen Datensatz mit der numerischen Zelle in einem verschlüsselten Zustand an das Benutzerendgerät 300 (S1005).
  • Die Entschlüsselungsverarbeitungseinheit 313 verwendet einen in der Entschlüsselungsschlüsselspeichereinheit 332 gespeicherten Entschlüsselungsschlüssel und entschlüsselt einen Chiffretextabschnitt der vom Wertevergleichsserver 200 empfangenen verschlüsselten Daten (S1006).
  • Beachten Sie, dass 12 zwar ein Beispiel dafür ist, dass der Wertevergleichsserver 200 nach einem numerischen Wert sucht, der größer als der Schwellenwert m ist, er aber auch so konfiguriert werden kann, dass ein numerischer Wert, der kleiner als der Schwellenwert m ist, oder ein numerischer Wert, der zwischen den beiden Schwellenwerten liegt, gesucht wird (Bereichssuche).
  • Die vorliegende Erfindung ist nicht auf die oben beschriebenen exemplarischen Ausführungsformen beschränkt, sondern kann verschiedene Arten von Modifikationen beinhalten. So geben beispielsweise die oben beschriebenen exemplarischen Ausführungsformen eine detaillierte Erklärung, nur um die vorliegende Erfindung klar zu verstehen. Daher ist die vorliegende Erfindung nicht auf den Fall beschränkt, dass alle Komponenten in der Konfiguration vorhanden sind. Darüber hinaus kann ein Teil der Konfiguration einer exemplarischen Ausführungsform durch einen Teil der Konfiguration einer anderen exemplarischen Ausführungsform ersetzt werden. Ein Teil oder die Konfiguration einer anderen exemplarischen Ausführungsform kann zu einer bestimmten exemplarischen Ausführungsform hinzugefügt werden. Darüber hinaus wäre hinsichtlich der Teile der Konfiguration jeder der exemplarischen Ausführungsformen das Hinzufügen, Löschen und Ersetzen aus einer anderen Konfiguration möglich.
  • Darüber hinaus können die oben genannten Konfigurationen, Funktionen, Verarbeitungseinheiten, Verarbeitungsmittel oder dergleichen durch Hardware implementiert werden, indem beispielsweise ein Abschnitt oder alle mit einer integrierten Schaltung konstruiert werden. Darüber hinaus kann jede der oben beschriebenen Konfigurationen, Funktionen oder dergleichen mit Software von einem Prozessor durch Interpretieren und Ausführen eines Programms zur Realisierung einzelner Funktionen implementiert werden. Informationen wie Programme, Tabellen, Dateien, die zur Implementierung der einzelnen Funktionen verwendet werden, können sich in einer Aufzeichnungsvorrichtung wie einem Arbeitsspeicher, einer Festplatte, einem Halbleiterlaufwerk (SSD) oder einem Aufzeichnungsmedium wie einer IC-Karte, einer SD-Karte und einer DVD befinden.
  • Es ist zu beachten, dass Steuerung- und Informationsleitungen so dargestellt sind, dass sie das darstellen, was für die Beschreibung als notwendig erachtet wird, und daher nicht unbedingt alle Steuerungs- und Informationsleitungen darstellen, die mit dem Produkt zu tun haben. In der Praxis können alle Konfigurationen als im Wesentlichen miteinander verbunden betrachtet werden.
  • ZITATE ENTHALTEN IN DER BESCHREIBUNG
  • Diese Liste der vom Anmelder aufgeführten Dokumente wurde automatisiert erzeugt und ist ausschließlich zur besseren Information des Lesers aufgenommen. Die Liste ist nicht Bestandteil der deutschen Patent- bzw. Gebrauchsmusteranmeldung. Das DPMA übernimmt keinerlei Haftung für etwaige Fehler oder Auslassungen.
  • Zitierte Patentliteratur
    • JP 2018101649 [0001]

Claims (11)

  1. Wertevergleichsserver, umfassend einen Prozessor und einen Speicher, wobei der Speicher einen ersten geheimen Schlüssel und eine Vielzahl von Wertevergleichsetiketten enthält, jedes der Vielzahl von Wertevergleichsetiketten jedem der Vielzahl von numerischen Werten entspricht, jedes der Vielzahl von Wertevergleichsetiketten ein Chiffretext ist, der durch Verschlüsseln jedes der Vielzahl von numerischen Werten mit einem Verschlüsselungsschema mit additivem Homomorphismus unter Verwendung einer Vielzahl von geheimen Schlüsseln, die den ersten geheimen Schlüssel beinhalten, und unter Verwendung eines ersten Parameters erhalten wird, ein Klartextraum eine Restoperation mit einer natürlichen Zahl als Modulo im Verschlüsselungsschema aufweist und wobei der Prozessor konfiguriert ist, um bei der Wertevergleichsverarbeitung: einen Wert, der zum Vergleichen von zwei numerischen Werten verwendet wird, die zwei Wertevergleichsetiketten entsprechen, die in der Vielzahl von Wertevergleichsetiketten enthalten sind, aus dem ersten geheimen Schlüssel und den beiden Wertevergleichsetiketten unter Verwendung des additiven Homomorphismus zu erzeugen; und zu bestimmen, welcher der beiden numerischen Werte, die den beiden Wertevergleichsetiketten entsprechen, größer oder gleich ist, basierend darauf, ob ein diskreter Logarithmus des erzeugten Wertes zu dem ersten Parameter innerhalb eines Wertes eines vorbestimmten Bereichs berechnet werden kann.
  2. Wertevergleichsserver nach Anspruch 1, wobei in Bezug auf eine bestimmte natürliche Zahl i, die die Zahl der Wertevergleichsetiketten ist, ein i-tes Wertevergleichsetikett Ci, das in der Vielzahl der Wertevergleichsetiketten enthalten ist, ausgedrückt wird durch Ci = ( Ci ( 1 ) ,  Ci ( 2 ) ,  Ci ( 3 ) ,  Ci ( 4 ) ) ,
    Figure DE102019113249A1_0001
    eine Beziehung von Ci ( 1 ) = g δ i x , Ci ( 2 ) = g λ i x 1 ,  Ci ( 3 ) = h δ i u Rmi + α i ,  Ci ( 4 ) = h λ i u Rmi β i
    Figure DE102019113249A1_0002
    erfüllt ist, wobei g und u verschiedene Generatoren von G sind, wobei G eine endliche zyklische Gruppe ist, u der erste Parameter ist, x ein Element von G ist, die Wahrscheinlichkeit, ein diskretes Logarithmusproblem in G mit einer vorbestimmten Anzahl von Berechnungen unter Verwendung eines vorbestimmten Algorithmus zu lösen, ein vorbestimmter Wert oder weniger ist, h eine Beziehung von h = gS in Bezug darauf, dass s der erste geheime Schlüssel ist, aufweist öi und Ai positive ganze Zahlen sind, die kleiner als eine Ordnung von G sind, αi und βi ganze Zahlen sind, die 0 <αi < R/2 <βi < R erfüllen, in Bezug auf eine natürliche Zahl R, die 3 oder größer ist und RT <U erfüllt, T eine Obergrenze der Vielzahl von numerischen Werten ist und U ein Wert ist, der so definiert ist, dass ein diskretes Logarithmusproblem in G zu u mit einem vorbestimmten Algorithmus und mit einer vorbestimmten Anzahl von Berechnungen gelöst werden kann, wenn eine Lösung des diskreten Logarithmusproblems innerhalb eines Bereichs von U oder weniger liegt.
  3. Wertevergleichsserver nach Anspruch 2, wobei der Speicher konfiguriert ist, um Informationen zu halten, die G, g, u und U identifizieren, und wobei der Prozessor konfiguriert ist, um: unter Verwendung des additiven Homomorphismus, X = Ci(1)Cj(2) = gδi+λj und Y = Ci(3)Cj(4) = hδi+λjuR(mi-mj)+(αi-βj) zu berechnen, wobei Ci = (Ci(1), Ci(2), Ci(3), Ci(4)) und Cj = (Cj(1), Cj(2), Cj(3), Cj(4)) die beiden Wertevergleichsetiketten sind: XS = gS(δi+λj) = hδi+λj zu berechnen, Z = Y/XS = uR(mi-mi)+(αi-βi) als Wert zu berechnen, der zum Vergleichen verwendet wird: zu bestimmen, dass ein numerischer Wert, der Ci entspricht, größer als ein numerischer Wert ist, der Cj entspricht, in einem Fall, in dem der Prozessor bestimmt hat, dass der diskrete Logarithmus von Z zu u in einem Bereich von U oder weniger berechnet werden kann: und zu bestimmen, dass ein numerischer Wert, der Ci entspricht, ein numerischer Wert ist, der Cj oder weniger in einem Fall entspricht, in dem der Prozessor bestimmt hat, dass der diskrete Logarithmus von Z zu u nicht in einem Bereich von U oder weniger berechnet werden kann.
  4. Wertevergleichsserver nach Anspruch 1, wobei der Speicher jeden der Vielzahl von numerischen Werten, die durch ein Verschlüsselungsschema verschlüsselt sind, das nicht durch die Vielzahl von geheimen Schlüsseln entschlüsselt werden kann, in Verbindung mit dem Wertevergleichsetikett hält, und wobei der Prozessor konfiguriert ist, um: die Wertevergleichsverarbeitung für jede der Kombinationen von Wertevergleichsetiketten, die in der Vielzahl von Wertevergleichsetiketten enthalten sind, auszuführen: und die Vielzahl von verschlüsselten numerischen Werten auf der Grundlage eines Ergebnisses der Wertevergleichsverarbeitung zu sortieren.
  5. Wertevergleichsserver nach Anspruch 1, wobei der Speicher ein Wertevergleichsetikett hält, das einem Schwellenwert entspricht, wobei das dem Schwellenwert entsprechende Wertevergleichsetikett individuell ein Chiffretext ist, der durch Verschlüsseln des Schwellenwerts durch das Verschlüsselungsschema unter Verwendung der Vielzahl von geheimen Schlüsseln und des ersten Parameters erhalten wird, wobei der Speicher einen verschlüsselten numerischen Wert enthält, der durch Verschlüsseln jedes der Vielzahl von numerischen Werten mit einem geheimen Schlüssel, der sich von dem ersten geheimen Schlüssel unterscheidet, in Verbindung mit dem Wertevergleichsetikett erhalten wird, und wobei der Prozessor konfiguriert ist, um: die Wertevergleichsverarbeitung für das Wertevergleichsetikett, das dem Schwellenwert entspricht, und für jedes der Vielzahl von Wertevergleichsetiketten auszuführen: und eine Schwellenwertverarbeitung für den Schwellenwert des verschlüsselten numerischen Wertes auf der Grundlage eines Ergebnisses der Wertevergleichsverarbeitung auszuführen.
  6. Wertevergleichsverschlüsselungssystem, umfassend ein Verschlüsselungsendgerät und einen Wertevergleichsserver, wobei das Verschlüsselungsendgerät konfiguriert ist, um: eine Vielzahl von numerischen Werten, eine Vielzahl von geheimen Schlüsseln mit einem ersten geheimen Schlüssel, und einen ersten Parameter zu enthalten: und eine Vielzahl von Wertevergleichsetiketten, die der Vielzahl von numerischen Werten entsprechen, durch Verschlüsseln jedes der Vielzahl von numerischen Werten mit einem Verschlüsselungsschema, das einen additiven Homomorphismus aufweist, unter Verwendung einer Vielzahl von geheimen Schlüsseln, die den ersten geheimen Schlüssel beinhalten, und unter Verwendung eines ersten Parameters zu erzeugen, ein Klartextraum eine Restoperation mit einer natürlichen Zahl als modulo im Verschlüsselungsschema aufweist, wobei das Verschlüsselungsendgerät konfiguriert ist, um die Vielzahl von Wertevergleichsetiketten an den Wertevergleichsserver zu übertragen, und wobei der Wertevergleichsserver konfiguriert ist, um: den ersten geheimen Schlüssel zu halten: und, um beim Wertevergleich einen Wert, der zum Vergleichen von zwei numerischen Werten verwendet wird, die zwei Wertevergleichsetiketten entsprechen, die in der Vielzahl von Wertevergleichsetiketten enthalten sind, aus dem ersten geheimen Schlüssel und den beiden Wertevergleichsetiketten unter Verwendung des additiven Homomorphismus zu erzeugen; und um zu bestimmen, welcher der beiden numerischen Werte, die den beiden Wertevergleichsetiketten entsprechen, größer oder gleich ist, basierend darauf, ob ein diskreter Logarithmus des erzeugten Wertes zu dem ersten Parameter innerhalb eines Wertes eines vorbestimmten Bereichs berechnet werden kann.
  7. Wertevergleichsverschlüsselungssystem nach Anspruch 6, wobei das Verschlüsselungsendgerät konfiguriert ist, um: g und u zu wählen, die verschiedene Generatoren von G sind, die eine endliche zyklische Gruppe ist: x zu wählen, das ein Element von G ist: h = gS für s als dem ersten geheimen Schlüssel zu berechnen: öi und Ai zu wählen, die positive ganze Zahlen kleiner als eine Ordnung von G sind: und ganze Zahlen αi und βi zu wählen, die 0 < αi < R/2 <βi < R erfüllen, in Bezug auf eine natürliche Zahl R von 3 oder mehr, die RT < U erfüllt: u der erste Parameter ist, die Wahrscheinlichkeit, ein diskretes Logarithmusproblem in G mit einer vorbestimmten Anzahl von Berechnungen unter Verwendung eines vorbestimmten Algorithmus zu lösen, ein vorbestimmter Wert oder weniger ist, T eine Obergrenze der Vielzahl von numerischen Werten ist, U ein Wert ist, der so definiert ist, dass ein diskretes Logarithmusproblem in G zur Basis u mit einem vorbestimmten Algorithmus und mit einer vorbestimmten Anzahl von Berechnungen in einem Fall gelöst werden kann, in dem eine Lösung des diskreten Logarithmusproblems innerhalb eines Bereichs von U oder weniger liegt, und wobei das Verschlüsselungsendgerät konfiguriert ist, um ein Wertevergleichsetikett Ci = (Ci(1), Ci(2), Ci(3), Ci(4)) zu berechnen, das dem i-ten numerischen Wert in Bezug auf eine natürliche Zahl i entspricht, die kleiner oder gleich einer Zahl der Vielzahl von numerischen Werten ist, wobei Ci(1) = gδix, Ci(2) = gλix-1, Ci(3) = hδiuRmi+αi, Ci(4) = hλiu-Rmi-βi erfüllt ist.
  8. Wertevergleichsverschlüsselungssystem nach Anspruch 7, wobei der Wertevergleichsserver konfiguriert ist, um: Informationen, die G, g, u und U identifizieren, zu halten: unter Verwendung des additiven Homomorphismus X = Ci(1)Cj(2) = gδi+λj und Y = Ci(3)Cj(4) = hδi+λjuR(mi-mj)+(αi-βj) zu berechnen, wobei Ci = (Ci(1), Ci(2), Ci(3), Ci(4)) und Cj = (Cj(1), Cj(2), Cj(3), Cj(4)) die beiden Wertevergleichsetiketten sind: XS = gS(δi+λj) = hδi+λj zu berechnen, Z = Y/XS = uR(mi-mj)+(αi-βj) als den Wert zu berechnen, der für den Vergleich verwendet wird: zu bestimmen, dass ein numerischer Wert, der Ci entspricht, größer als ein numerischer Wert ist, der Cj entspricht, in einem Fall, in dem der Prozessor bestimmt hat, dass der diskrete Logarithmus von Z zu u in einem Bereich von U oder weniger berechnet werden kann: und zu bestimmen, dass ein numerischer Wert, der Ci entspricht, ein numerischer Wert ist, der Cj oder weniger entspricht, in einem Fall, in dem der Prozessor bestimmt hat, dass der diskrete Logarithmus von Z zu u nicht in einem Bereich von U oder weniger berechnet werden kann.
  9. Wertevergleichsverschlüsselungssystem nach Anspruch 6, wobei das Verschlüsselungsendgerät konfiguriert ist, um: eine Vielzahl von verschlüsselten numerischen Werten zu erzeugen, die durch Verschlüsseln jedes der Vielzahl von numerischen Werten unter Verwendung eines geheimen Schlüssels erhalten werden, der sich von dem ersten geheimen Schlüssel unterscheidet: jeden der Vielzahl von verschlüsselten numerischen Werten und jedes der Vielzahl von Wertevergleichsetiketten in Verbindung miteinander an den Wertevergleichsserver zu übertragen und wobei der Wertevergleichsserver konfiguriert ist, um: die Wertevergleichsverarbeitung für jede der Kombinationen von Wertevergleichsetiketten, die in der Vielzahl von Wertevergleichsetiketten enthalten sind, auszuführen: die Vielzahl von verschlüsselten numerischen Werten auf der Grundlage eines Ergebnisses der Wertevergleichsverarbeitung zu sortieren: und die sortierte Vielzahl von verschlüsselten numerischen Werten an das Verschlüsselungsendgerät zu übertragen.
  10. Wertevergleichsverschlüsselungssystem nach Anspruch 6, wobei das Verschlüsselungsendgerät konfiguriert ist, um: ein Wertevergleichsetikett, das dem Schwellenwert entspricht, durch Verschlüsseln eines Schwellenwerts unter Verwendung der Vielzahl von geheimen Schlüsseln und des ersten Parameters im Verschlüsselungsschema zu erzeugen: das dem Schwellenwert entsprechende Wertevergleichsetikett an den Wertevergleichsserver zu übertragen: einen verschlüsselten numerischen Wert zu erzeugen, der durch Verschlüsseln jedes der Vielzahl von numerischen Werten unter Verwendung eines geheimen Schlüssels erhalten wird, der sich von dem ersten geheimen Schlüssel unterscheidet: und jeden der verschlüsselten numerischen Werte und jedes der Vielzahl von Wertevergleichsetiketten in Verbindung miteinander an den Wertevergleichsserver zu übertragen und wobei der Wertevergleichsserver konfiguriert ist, um: die Wertevergleichsverarbeitung für das Wertevergleichsetikett, das dem Schwellenwert und jedem der Vielzahl von Wertevergleichsetiketten entspricht, auszuführen: und eine Schwellenwertverarbeitung für den Schwellenwert des verschlüsselten numerischen Wertes auf der Grundlage eines Ergebnisses der Wertevergleichsverarbeitung auszuführen.
  11. Wertevergleichsverfahren, das von einem Wertevergleichsserver implementiert wird, der Folgendes umfasst wobei der Wertevergleichsserver einen Prozessor und einen Speicher beinhaltet, wobei der Speicher einen ersten geheimen Schlüssel und eine Vielzahl von Wertevergleichsetiketten enthält, jedes der Vielzahl von Wertevergleichsetiketten jedem der Vielzahl von numerischen Werten entspricht, jedes der Vielzahl von Wertevergleichsetiketten ein Chiffretext ist, der durch Verschlüsseln jedes der Vielzahl von numerischen Werten mit einem Verschlüsselungsschema mit einem additiven Homomorphismus unter Verwendung einer Vielzahl von geheimen Schlüsseln, die den ersten geheimen Schlüssel beinhaltet, und unter Verwendung eines ersten Parameters erhalten wird, ein Klartextraum eine Restoperation mit einer natürlichen Zahl als Modulo im Verschlüsselungsschema aufweist und wobei das Wertevergleichsverfahren bei der Wertevergleichsverarbeitung durch den Prozessor umfasst, dass: durch den Prozessor aus dem ersten geheimen Schlüssel und den beiden Wertevergleichsetiketten unter Verwendung des additiven Homomorphismus ein Wert erzeugt wird, der zum Vergleichen von zwei numerischen Werten verwendet wird, die zwei Wertevergleichsetiketten entsprechen, die in der Vielzahl von Wertevergleichsetiketten enthalten sind; und durch den Prozessor bestimmt wird, welcher der beiden numerischen Werte, die den beiden Wertevergleichsetiketten entsprechen, größer oder gleich ist, basierend darauf, ob ein diskreter Logarithmus des erzeugten Wertes zu dem ersten Parameter innerhalb eines Wertes eines vorbestimmten Bereichs berechnet werden kann.
DE102019113249.5A 2018-05-28 2019-05-20 Wertevergleichsserver, wertevergleichsverschlüsselungssystem und wertevergleichsverfahren Pending DE102019113249A1 (de)

Applications Claiming Priority (2)

Application Number Priority Date Filing Date Title
JP2018101649A JP2019207281A (ja) 2018-05-28 2018-05-28 大小判定サーバ、大小判定暗号化システム、及び大小判定方法
JP2018-101649 2018-05-28

Publications (1)

Publication Number Publication Date
DE102019113249A1 true DE102019113249A1 (de) 2019-11-28

Family

ID=67384541

Family Applications (1)

Application Number Title Priority Date Filing Date
DE102019113249.5A Pending DE102019113249A1 (de) 2018-05-28 2019-05-20 Wertevergleichsserver, wertevergleichsverschlüsselungssystem und wertevergleichsverfahren

Country Status (4)

Country Link
US (1) US11184163B2 (de)
JP (1) JP2019207281A (de)
DE (1) DE102019113249A1 (de)
GB (1) GB2575347B (de)

Families Citing this family (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN112395623B (zh) * 2019-08-19 2023-09-29 华控清交信息科技(北京)有限公司 一种数据处理方法、装置和电子设备
US11671239B2 (en) 2020-05-08 2023-06-06 Samsung Electronics Co., Ltd. Encryption method and apparatus based on homomorphic encryption using odd function property
US11496287B2 (en) 2020-08-18 2022-11-08 Seagate Technology Llc Privacy preserving fully homomorphic encryption with circuit verification
US11575501B2 (en) 2020-09-24 2023-02-07 Seagate Technology Llc Preserving aggregation using homomorphic encryption and trusted execution environment, secure against malicious aggregator

Family Cites Families (6)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
ATE463898T1 (de) 2006-01-02 2010-04-15 Sap Ag System und verfahren für den vergleich von privatwerten
JP5496410B2 (ja) * 2011-02-22 2014-05-21 三菱電機株式会社 類似度算出システム及び類似度算出装置及びコンピュータプログラム及び類似度算出方法
US9281941B2 (en) * 2012-02-17 2016-03-08 International Business Machines Corporation Homomorphic evaluation including key switching, modulus switching, and dynamic noise management
EP2874341B1 (de) * 2013-09-26 2019-03-06 Koninklijke KPN N.V. Sichere auswertung eines programms
US9443092B2 (en) 2014-11-18 2016-09-13 Pitney Bowes Inc. System and method for matching data sets while maintaining privacy of each data set
US11042650B2 (en) * 2018-12-06 2021-06-22 International Business Machines Corporation Sargable query-predicate evaluation for encrypted databases

Also Published As

Publication number Publication date
JP2019207281A (ja) 2019-12-05
GB2575347A (en) 2020-01-08
US11184163B2 (en) 2021-11-23
US20190363878A1 (en) 2019-11-28
GB201906828D0 (en) 2019-06-26
GB2575347B (en) 2020-12-23

Similar Documents

Publication Publication Date Title
DE102019113249A1 (de) Wertevergleichsserver, wertevergleichsverschlüsselungssystem und wertevergleichsverfahren
DE112012002541B4 (de) Einer Warteschlangenumgebung für Anforderung/Antwort-Nachrichten zugehörige dynamische Datenschutzrichtlinien
DE102013203126B4 (de) System, Verfahren und Programmprodukt zum transparenten Zugreifen auf verschlüsselte nicht-relationale Daten in Echtzeit
DE69815599T2 (de) Verfahren und Vorrichtung zum Schutz von Anwendungsdaten in sicheren Speicherbereichen
DE102012206341B4 (de) Gemeinsame Verschlüsselung von Daten
DE69917356T2 (de) Sicherheitstechnik an einem Computernetzwerk
DE112015005893B4 (de) Systeme und Verfahren für ein Mehrfachwert-Packungsschema für homomorphe Verschlüsselung
DE102009001719B4 (de) Verfahren zur Erzeugung von asymmetrischen kryptografischen Schlüsselpaaren
DE112018000143T5 (de) Datenmaskierung
DE112017006020T5 (de) Verfahren und System für suchmusterblinde dynamische symmetrische durchsuchbare Verschlüsselung
DE112014000584T5 (de) Erreichen von Speichereffizienz bei durchgängiger Verschlüsselung unter Verwendung von nachgelagerten (Downstream-)Decryptern
DE102012218576B4 (de) Verschlüsseln von Daten und Charakterisierungsdaten, die den gültigen Inhalt einer Spalte beschreiben
DE112017007095T5 (de) Verschlüsselungsvorrichtung und entschlüsselungsvorrichtung
DE112019003304T5 (de) Datenverarbeitungssystem, datenverarbeitungsverfahren und datenverarbeitungseinrichtung
DE112021005561T5 (de) Implementieren einer widerstandsfähigen deterministischen verschlüsselung
DE112018007433T5 (de) Registrierungsvorrichtung, servervorrichtung, durchsuchbares verschlüsselungssystem, durchsuchbares verschlüsselungs-verfahren, registrierungsprogramm und serverprogramm
DE112018007468T5 (de) Geheime-Suche-Einrichtung und Geheime-Suche-Verfahren
DE112020003357T5 (de) Undurchsichtige verschlüsselung für datendeduplizierung
DE102015103251B4 (de) Verfahren und System zum Verwalten von Nutzerdaten eines Nutzerendgeräts
WO2015074745A1 (de) Verfahren, vorrichtungen und system zur online-datensicherung
DE102004019681A1 (de) Verfahren zum Schreiben von Daten und Datenverarbeitungsgerät
DE112020005557B4 (de) Registrierungseinrichtung, suchoperationseinrichtung, datenverwaltungseinrichtung, registrierungsprogramm, suchoperationsprogramm und datenverwaltungsprogramm
DE60021985T2 (de) Verfahren ind vorrichtung zur sicheren erzeugung von öffentlichen/geheimen schlüsselpaaren
DE112020007702T5 (de) System zur verarbeitung vertraulicher informationen und verfahren zur verarbeitung vertraulicher informationen
DE112021005887T5 (de) Durchsuchbares Verschlüsselungssystem und durchsuchbares Verschlüsselungsverfahren

Legal Events

Date Code Title Description
R012 Request for examination validly filed