DE112014007235T5 - Kryptografisches System, Hauptschlüsselaktualisierungseinrichtung und Hauptschlüsselaktualisierungsprogramm - Google Patents

Kryptografisches System, Hauptschlüsselaktualisierungseinrichtung und Hauptschlüsselaktualisierungsprogramm Download PDF

Info

Publication number
DE112014007235T5
DE112014007235T5 DE112014007235.4T DE112014007235T DE112014007235T5 DE 112014007235 T5 DE112014007235 T5 DE 112014007235T5 DE 112014007235 T DE112014007235 T DE 112014007235T DE 112014007235 T5 DE112014007235 T5 DE 112014007235T5
Authority
DE
Germany
Prior art keywords
key
master key
base
secret
ciphertext
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
DE112014007235.4T
Other languages
English (en)
Inventor
Yutaka Kawai
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.)
Mitsubishi Electric Corp
Original Assignee
Mitsubishi Electric Corp
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 Mitsubishi Electric Corp filed Critical Mitsubishi Electric Corp
Publication of DE112014007235T5 publication Critical patent/DE112014007235T5/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/0891Revocation or update of secret information, e.g. encryption key update or rekeying
    • 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/0838Key agreement, i.e. key establishment technique in which a shared key is derived by parties as a function of information contributed by, or associated with, each of these
    • H04L9/0847Key agreement, i.e. key establishment technique in which a shared key is derived by parties as a function of information contributed by, or associated with, each of these involving identity based encryption [IBE] 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/08Key distribution or management, e.g. generation, sharing or updating, of cryptographic keys or passwords
    • 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
    • H04L9/16Cryptographic mechanisms or cryptographic arrangements for secret or secure communications; Network security protocols using a plurality of keys or algorithms the keys or algorithms being changed during operation
    • 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
    • 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
    • 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
    • H04L9/3073Public 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 involving pairings, e.g. identity based encryption [IBE], bilinear mappings or bilinear pairings, e.g. Weil or Tate pairing
    • 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/32Cryptographic mechanisms or cryptographic arrangements for secret or secure communications; Network security protocols including means for verifying the identity or authority of a user of the system or for message authentication, e.g. authorization, entity authentication, data integrity or data verification, non-repudiation, key authentication or verification of credentials
    • H04L9/3263Cryptographic mechanisms or cryptographic arrangements for secret or secure communications; Network security protocols including means for verifying the identity or authority of a user of the system or for message authentication, e.g. authorization, entity authentication, data integrity or data verification, non-repudiation, key authentication or verification of credentials involving certificates, e.g. public key certificate [PKC] or attribute certificate [AC]; Public key infrastructure [PKI] arrangements

Landscapes

  • Engineering & Computer Science (AREA)
  • Computer Security & Cryptography (AREA)
  • Signal Processing (AREA)
  • Computer Networks & Wireless Communication (AREA)
  • Theoretical Computer Science (AREA)
  • Computing Systems (AREA)
  • General Physics & Mathematics (AREA)
  • Pure & Applied Mathematics (AREA)
  • Mathematical Physics (AREA)
  • Mathematical Optimization (AREA)
  • Mathematical Analysis (AREA)
  • Physics & Mathematics (AREA)
  • Algebra (AREA)
  • Storage Device Security (AREA)

Abstract

Eine Hauptschlüsselaktualisierungseinrichtung (400) akquiriert einen öffentlichen Hauptschlüssel mpk, der eine Basis B enthält, und einen geheimen Hauptschlüssel, der eine Basis B* enthält, die sich von der im öffentlichen Hauptschlüssel mpk enthaltenen Basis B unterscheidet. Die Hauptschlüsselaktualisierungseinrichtung (400) aktualisiert die im öffentlichen Hauptschlüssel mpk enthaltene Basis B mit Aktualisierungsinformationen upk, so dass ein neuer öffentlicher Hauptschlüssel mpk' erzeugt wird, und aktualisiert die im geheimen Hauptschlüssel mpk enthaltene Basis * mit den Aktualisierungsinformationen upk, so dass ein neuer geheimer Hauptschlüssel msk' erzeugt wird.

Description

  • Technisches Gebiet
  • Die vorliegende Erfindung betrifft eine Technik zum Aktualisieren eines Hauptschlüssels in einem kryptografischen System.
  • Hintergrund zum Stand der Technik
  • Ein öffentlicher Hauptschlüssel, der als die Basis aller Chiffretexte dient, und ein geheimer Hauptschlüssel, der als die Basis aller Benutzergeheimschlüssel dient, sind für die ID-basierte Verschlüsselung, attributbasierte Verschlüsselung und funktionale Verschlüsselung verfügbar. Der öffentliche Hauptschlüssel und der geheime Hauptschlüssel bergen im Laufe der Zeit ein Sicherheitsminderungsrisiko, genauso wie es der Fall ist mit einem öffentlichen Schlüssel bei der allgemeinen Kryptographie mit öffentlichem Schlüssel, und müssen daher periodisch aktualisiert werden.
  • Wenn der öffentliche Hauptschlüssel und der geheime Hauptschlüssel aktualisiert werden, müssen auch alle Chiffretexte und alle Benutzergeheimschlüssel aktualisiert werden.
  • Nichtpatentliteratur 1 beschreibt eine Aktualisierung eines öffentlichen Hauptschlüssels und eines geheimen Hauptschlüssels bei der ID-basierten Verschlüsselung. Nichtpatentliteratur 1 beschreibt auch, dass dann, wenn der öffentliche Hauptschlüssel und der geheime Hauptschlüssel aktualisiert werden, kein Benutzergeheimschlüssel neu ausgegeben wird, sondern zur diesbezüglichen Bewerkstelligung aktualisiert wird.
  • Nichtpatentliteratur 2 beschreibt ein Verschlüsselungsschema, das die Sicherheit aufrechterhalten kann, selbst wenn gewisse Informationslecks eines geheimen Hauptschlüssels vorhanden sind.
  • Liste der zitierten Schriften
  • Patentliteratur
    • Patentliteratur 1: WO 2011/135895
  • Nichtpatentliteratur
    • Nichtpatentliteratur 1: ”A Forward Secure Scheme with Master Key Updat” Peng YANG und Kanta MATSUURA in SEISAN KENKYU 60. Aufl. (2008) Nr. 5 P 505–507.
    • Nichtpatentliteratur 2: ”Identity-Based Encryption with Master Key-Dependent Message Security and Applications” David Galindo, Javier Herranz und Jorge Villar in ESORICS 2012.
  • Zusammenfassung der Erfindung
  • Technisches Problem
  • In Nichtpatentliteratur 1, wenn ein öffentlicher Hauptschlüssel und ein geheimer Hauptschlüssel aktualisiert werden, wird ein Benutzergeheimschlüssel nicht neu ausgegeben, sondern zur diesbezüglichen Bewerkstelligung aktualisiert. In Nichtpatentliteratur 1 muss allerdings ein Chiffretext neu erzeugt werden, wenn der öffentliche Hauptschlüssel und der geheime Hauptschlüssel aktualisiert werden. Der Chiffretext muss nämlich durch Entschlüsselung als Klartext wiederhergestellt werden, und muss dann auf Grundlage eines neuen öffentlichen Hauptschlüssels wieder verschlüsselt werden.
  • In Patentliteratur 2 kann die Sicherheit nicht aufrechterhalten werden, wenn das Informationsleck eines geheimen Hauptschlüssels eine zulässige Leckmenge überschreitet. Aus diesem Grund müssen ein öffentlicher Hauptschlüssel und ein geheimer Hauptschlüssel früher oder später aktualisiert werden.
  • Die Aufgabe der vorliegenden Erfindung besteht darin, ein Verfahren zum Aktualisieren eines öffentlichen Hauptschlüssels und eines geheimen Hauptschlüssels zu realisieren, mit welchen die neue Erzeugung eines Benutzergeheimschlüssels und eines Chiffretexts nicht notwendig ist.
  • Lösung des Problems
  • Ein kryptografisches System gemäß der vorliegenden Erfindung enthält eine Hauptschlüsselaktualisierungseinrichtung, um einen öffentlichen Hauptschlüssel, der eine Basis enthält, und einen geheimen Hauptschlüssel, der eine Basis enthält, welche sich von der im öffentlichen Hauptschlüssel enthaltenen Basis unterscheidet, zu akquirieren, um die im öffentlichen Hauptschlüssel enthaltene Basis mit Aktualisierungsinformationen zu aktualisieren, um einen neuen öffentlichen Hauptschlüssel zu erzeugen, und um die im geheimen Hauptschlüssel enthaltene Basis mit den Aktualisierungsinformationen zu aktualisieren, um einen neuen geheimen Hauptschlüssel zu erzeugen.
  • Vorteilhafte Wirkungen der Erfindung
  • Gemäß der vorliegenden Erfindung werden ein öffentlicher Hauptschlüssel und ein geheimer Hauptschlüssel aktualisiert, indem eine im öffentlichen Hauptschlüssel enthaltene Basis und eine im geheimen Hauptschlüssel enthaltene Basis aktualisiert werden. Ein Benutzergeheimschlüssel und ein Chiffretext werden in die Lage versetzt, einen neuen öffentlichen Hauptschlüssel und einen neuen geheimen Hauptschlüssel zu bewerkstelligen, indem die Basis des Benutzergeheimschlüssels und die Basis des Chiffretexts aktualisiert werden; wobei der Benutzergeheimschlüssel und der Chiffretext nicht neu erzeugt werden müssen.
  • Kurzbeschreibung der Zeichnungen
  • 1 ist eine erläuternde Zeichnung einer Zugriffsstruktur S, die in der funktionalen Verschlüsselung eingesetzt wird.
  • 2 ist eine erläuternde Zeichnung einer Untermatrix Mδ.
  • 3 ist eine erläuternde Zeichnung eines Geheimwerts s0 der geheimen Dispersion.
  • 4 ist eine erläuternde Zeichnung der Dispersionswerte s1, ..., sL der geheimen Dispersion.
  • 5 ist ein Konfigurationsdiagramm eines kryptografischen Systems 10 gemäß Ausführungsform 1.
  • 6 ist ein Konfigurationsdiagramm einer Schlüsselerzeugungseinrichtung 100 gemäß Ausführungsform 1.
  • 7 ist ein Konfigurationsdiagramm einer Verschlüsselungseinrichtung 200 gemäß Ausführungsform 1.
  • 8 ist ein Konfigurationsdiagramm einer Entschlüsselungseinrichtung 300 gemäß Ausführungsform 1.
  • 9 ist ein Konfigurationsdiagramm einer Hauptschlüsselaktualisierungseinrichtung 400 gemäß Ausführungsform 1.
  • 10 ist ein Konfigurationsdiagramm einer Chiffretextaktualisierungseinrichtung 500 gemäß Ausführungsform 1.
  • 11 ist ein Konfigurationsdiagramm einer Benutzergeheimschlüsselaktualisierungseinrichtung 600 gemäß Ausführungsform 1.
  • 12 ist ein Flussdiagramm eines Setup-Algorithmus gemäß Ausführungsform 1.
  • 13 ist ein Flussdiagramm eines KG-Algorithmus gemäß Ausführungsform 1.
  • 14 ist ein Flussdiagramm eines Enc-Algorithmus gemäß Ausführungsform 1.
  • 15 ist ein Flussdiagramm eines Dec-Algorithmus gemäß Ausführungsform 1.
  • 16 ist ein Flussdiagramm eines ApdMKey-Algorithmus gemäß Ausführungsform 1.
  • 17 ist ein Flussdiagramm eines ApdCT-Algorithmus gemäß Ausführungsform 1.
  • 18 ist ein Flussdiagramm eines ApdSK-Algorithmus gemäß Ausführungsform 1.
  • 19 ist ein Diagramm zum Darstellen eines Beispiels einer Hardware-Konfiguration von jeder der Schlüsselerzeugungseinrichtung 100, Verschlüsselungseinrichtung 200, Entschlüsselungseinrichtung 300, Hauptschlüsselaktualisierungseinrichtung 400, Chiffretextaktualisierungseinrichtung 500 und Benutzergeheimschlüsselaktualisierungseinrichtung 600, gezeigt in Ausführungsform 1.
  • Beschreibung der Ausführungsformen
  • Ausführungsform 1
  • Erläuterung der Notationen
  • Die Notationen in der folgenden Beschreibung werden erläutert.
  • Wenn A eine Zufallsvariable oder Verteilung ist, bezeichnet die Formel 101, dass y aus A entsprechend der Verteilung von A zufällig ausgewählt ist. In Formel 101 ist y nämlich eine Zufallszahl. [Formel 101]
    Figure DE112014007235T5_0002
  • Wenn A eine Gruppe/Menge ist, bezeichnet die Formel 102, dass y aus A Gleichmäßig ausgewählt ist. In der Formel 102 ist y nämlich eine gleichmäßige Zufallszahl.
  • [Formel 102]
    Figure DE112014007235T5_0003
  • Die Formel 103 bezeichnet, dass z in y festgelegt ist, y durch z definiert ist oder y durch z ersetzt ist.
  • [Formel 103]
    • y := z
  • Wenn a ein fester Wert ist, bezeichnet die Formel 104 ein Ereignis, dass eine Maschine (Algorithmus) A auf die Eingabe x a ausgibt.
  • [Formel 104]
    • A(x) → a
    • Zum Beispiel
    • A(x) → 1
  • Die Formel 105 bezeichnet ein Feld der Ordnung q.
  • [Formel 105]
    • Fq
  • Die Formel 106 bezeichnet eine Vektordarstellung über dem finiten Feld Fq.
  • [Formel 106]
    • x→ bezeichnet
    • (x1, ..., xn) ∈ F n / q
  • Die Formel 107 bezeichnet das Skalarprodukt, angegeben durch die Formel 109, von zwei Vektoren x und v, angegeben in Formel 108.
  • [Formel 107]
    • x →·v →
  • [Formel 108]
    • x → = (x1, ..., xn)
  • [Formel 109]
    • Σ n / i=1xivi
  • Es wird darauf hingewiesen, dass xT die Transponierte der Matrix X bezeichnet.
  • Es wird darauf hingewiesen, dass für die in Formel 110 angegebenen Basen B und B* die Formel 111 bestimmt wird.
  • [Formel 110]
    • B := (b1, ..., bN),
  • [Formel 111]
    • (x1, ..., xN)B := Σ n / i=1xibi,
    • (y1, ..., yN)B* := Σ n / i=1yib * / i
  • Es wird darauf hingewiesen, dass e i einen orthonormalen Basisvektor, angegeben in Formel 112, bezeichnet.
  • [Formel 112]
    Figure DE112014007235T5_0004
  • Beschreibung des Inhalts
  • Die Grundlagen der funktionalen Verschlüsselung mit der Chiffretext-Strategie werden erläutert, und anschließend der Inhalt einer Technik zum Aktualisieren eines öffentlichen Hauptschlüssels mpk und eines geheimen Hauptschlüssels msk erläutert.
  • Die Grundlagen der funktionalen Verschlüsselung mit der Chiffretext-Strategie werden erläutert.
  • 1 ist eine erläuternde Zeichnung einer bei der funktionalen Verschlüsselung eingesetzten Zugriffsstruktur S.
  • Bei der funktionalen Verschlüsselung werden ein Tupel von einer L-Reihe, eine r-Spalten geheime Dispersionsmatrix M und ein Name/Label p von jeder Reihe der geheimen Dispersionsmatrix M als die Zugriffsstruktur S eingesetzt. Der Name p von jeder Reihe bezieht sich auf ein Literal von entweder positiven Literalen {p1, ..., pn} oder negativen Literalen
    Figure DE112014007235T5_0005
    die durch eine Gruppe von Variablen {p1, ..., pn} gegeben sind.
  • Für eine Eingabesequenz δ = δi ∈ {0, 1} (i = 1, ..., n) ist eine Untermatrix Mδ der geheimen Dispersionsmatrix M definiert. Die Untermatrix Mδ besteht aus denjenigen Reihen der geheimen Dispersionsmatrix M, deren Namen p sich auf den Wert ”1” durch die Eingabesequenz δ beziehen. Die Submatrix Mδ besteht nämlich aus den Reihen der geheimen Dispersionsmatrix M, die sich auf ρi, mit welchem δi = 1 ist, und aus den Reihen der geheimen Dispersionsmatrix M, welche sich auf
    Figure DE112014007235T5_0006
    mit welchem δi = 0 ist, beziehen.
  • 2 ist eine erläuternde Zeichnung der Untermatrix Mδ.
  • Es wird darauf hingewiesen, dass in 2 n = 7, L = 6 und r = 5 ist. Das heißt, die Gruppe der Variablen ist {p1, ..., p7} und die Matrix M hat 6 Zeilen und 5 Spalten. In 2 wird angenommen, dass die Namen ρ so im Zusammenhang stehen, dass ρ1p2 entspricht, ρ2p1 entspricht, ρ3p4 entspricht, ρ4p5 entspricht, ρ5p3 entspricht und ρ6p5 entspricht.
  • Es wird angenommen, dass die Eingabesequenz δ, δ1 = 1, δ2 = 0, δ3 = 1, δ4 = 0, δ5 = 0, δ6 = 1 und δ7 = 1 ist. In diesem Fall besteht die Untermatrix Mδ der Reihen der geheimen Dispersionsmatrix M, die sich auf die Literale (p1, p3, p6, p7,
    Figure DE112014007235T5_0007
    ) beziehen, welche in 2 mit unterbrochenen Linien umzeichnet sind. Das heißt, die Untermatrix Mδ besteht aus der 1sten Reihe (M1), 2ten Reihe (M2) und der 4ten Reihe (M4) der geheimen Dispersionsmatrix M.
  • Wenn [ρ(j) = pi] ∧ [δi = 1] oder [ρ(j) =
    Figure DE112014007235T5_0008
    pi] ∧ [δi = 0], dann ist das Kennfeld γ(j) = 1; ansonsten ist das Kennfeld γ(j) = 0. Der erstgenannte Fall kann ausgedrückt werden als Mδ := (Mj)γ(j)=1. Es wird darauf hingewiesen, dass M die j-te Reihe der Matrix M ist.
  • Bei der funktionalen Verschlüsselung ist jede Variable p der Gruppe von Variablen in der Zugriffsstruktur S durch ein Tupel (t, v i) eines Identifikators t und eines Vektors v i definiert. Wenn eine Attributgruppe Γ, die ein Tupel (t, x t) des Identifikators t ist, und ein Vektor x t der Zugriffsstruktur S zugeordnet wird, dann wird für jede ganze Zahl i von i = 1 für das Kennfeld γ(i) definiert, dass es γ(j) = 1 wenn [ρ(i) = (t, v i)] ∧ [(t, x t) ∊ Γ] ∧ [v i·x t = 0] oder [ρ(i) =
    Figure DE112014007235T5_0009
    (t, v i)] ∧ [(t, x t) ∊ Γ] ∧ [v i·x t ≠ 0] oder andernfalls γ(j) = 0 genügt.
  • Bei der funktionalen Verschlüsselung wird das Kennfeld γ(i) nämlich auf Grundlage des Skalarprodukts der Vektoren v i und x t berechnet. Wie vorstehend erläutert, wird durch das Kennfeld γ(i) bestimmt, welche Reihe der geheimen Dispersionsmatrix M in der Untermatrix Mδ aufzunehmen ist.
  • Die Zugriffsstruktur S akzeptiert die Attributgruppe Γ wenn, und nur wenn die lineare Kombination der Reihen der Untermatrix Mδ1 ergibt, wobei 1 ein Reihenvektor ist, dessen Elemente alle 1 sind.
  • Zum Beispiel in dem Fall gemäß 2, akzeptiert die Zugriffsstruktur S die Attributgruppe Γ, wenn, und nur wenn die lineare Kombination der jeweiligen Reihen der Untermatrix Mδ, bestehend aus den 1sten, 2ten und 4ten Reihen der geheimen Dispersionsmatrix M1 ergibt. Das heißt, wenn α1, α2 und α4 vorhanden sind, mit welchen α1(M1) + α2(M2) + α4(M4) = 1 ist, akzeptiert die Zugriffsstruktur M die Attributgruppe Γ.
  • Insbesondere wenn angenommen wird, dass die Gruppe der Zeilennummern von einer in der Untermatrix Mδ enthaltenen geheimen Dispersionsmatrix als I definiert ist, akzeptiert die Zugriffsstruktur S die Attributgruppe Γ, wenn ein Koeffizient α1 vorhanden ist, der Σi∊IαiMi = 1 genügt.
  • Bei der funktionalen Verschlüsselung mit der Chiffretext-Strategie wird ein Schlüsselelement k*t, in welchem der Vektor x t festgelegt ist, für den Identifikator t erzeugt, der in der Attributgruppe Γ enthalten ist, die das Benutzerattribut repräsentiert. Dann wird ein Benutzergeheimschlüssel skΓ, der das Schlüsselelement k*t enthält, für den in der Attributgruppe Γ enthaltenen Identifikator und für t = 0 erzeugt.
  • Das Schlüsselelement k*t für jeden Identifikator t des in der Attributgruppe Γ enthaltenen Identifikators t und von t = 0 ist ein Vektor über der Basis B*, deren Subbasis B*^ im geheimen Hauptschlüssel msk enthalten ist.
  • Der Identifikator t entspricht einer Attributkategorie. Der Attributwert der Attributkategorie, die dem Identifikator entspricht, ist im Vektor x t festgelegt. Die Attributkategorie ist eine Klassifizierung eines Attributs, wie die dazugehörige Abteilung, Geschlecht, Alter und so weiter. Wenn der Identifikator t zum Beispiel der dazugehörigen Abteilung entspricht, wird ein Wert, der die dazugehörige Abteilung des Benutzers des Geheimschlüssels skΓ repräsentiert, im Vektor x t festgelegt.
  • Bei der funktionalen Verschlüsselung mit der Chiffretext-Strategie wird für jede ganze Zahl i von i = 1, ..., L der geheimen Dispersion der i-ten Reihe der geheimen Dispersionsmatrix M der Zugriffsstruktur S ein Dispersionswert si zugeordnet. Für die i-te Reiche der geheimen Dispersionsmatrix M wird ein Chiffreelement ci erzeugt, in welchem der zugeordnete Dispersionswert si und der Vektor xt festgelegt sind. Ein Chiffreelement c0 wird erzeugt, in welchem ein Geheimwert s0 festgelegt ist, der aus der Gruppe von Dispersionswerten si, die einer Bedingung genügen, berechnet ist. Ein Chiffreelement cd+1 wird erzeugt, das aus einer Nachricht m unter Verwendung eines Sitzungsschlüssels K verschlüsselt ist. Ein Chiffretext cts, der das Chiffreelement ci für jede ganze Zahl i von i = 0, ..., L, d + 1 und die Zugriffsstruktur S enthält, wird erzeugt.
  • Das Chiffreelement ci für jede ganze Zahl von i = 0, ..., L ist ein Vektor über der Basis B, dessen Subbasis B^ im öffentlichen Hauptschlüssel mpk enthalten ist.
  • Bei der funktionalen Verschlüsselung mit der Chiffretext-Strategie sind das Schlüsselelement k*t für den Identifikator t, der in der Attributgruppe Γ enthalten ist, und das Chiffreelement ci, das durch einen Namen ρ(i) identifiziert ist, der den Identifikator t aufweist, verknüpfungsoperiert. Durch die Verknüpfungsoperation werden das Skalarprodukt v t und der Vektor x t berechnet, und das Kennfeld γ(i) berechnet. Dann wird bestimmt, welche Reihe der geheimen Dispersionsmatrix M in der Untermatrix Mδ aufzunehmen ist.
  • Wenn die Zugriffsstruktur S die Attributgruppe Γ akzeptiert, wird eine Gruppe von Dispersionswerten si, die der Bedingung genügen, extrahiert, und der Geheimwert so berechnet. Der Sitzungsschlüssel K wird aus einem Schlüsselelement k*0, dem Chiffreelement c0 und dem Geheimwert s0 erzeugt. Die Nachricht m wird unter Verwendung des Sitzungsschlüssels K berechnet.
  • 3 ist eine erläuternde Zeichnung des Geheimwerts s0 der geheimen Dispersion.
  • Der Geheimwert s0 ist die Summe der Elemente des Produkts eines Reihenvektors, dessen r von Elementen alle 1 sind, und ein Spaltenvektor f r der Elemente f1, ..., fr aufweist. Die Elemente des Reihenvektors f sind gleichmäßige Zufallszahlen.
  • 4 ist eine erläuternde Zeichnung der Dispersionswerte s1, ..., sL der geheimen Dispersion.
  • Die Dispersionswerte s1, ..., sL sind die Produkte der geheimen Dispersionsmatrix M und des Spaltenvektors f. Ein Spaltenvektor s→T ist ein Vektor, der aus den Dispersionswerten s1, ..., sL als Elemente besteht.
  • Wie vorstehend erläutert, wenn die Zugriffsstruktur M die Attributgruppe Γ akzeptiert, dann ist der Koeffizient αi vorhanden, der Σi∊IαiMi = 1→ genügt. Der Koeffizient α1 kann in polynomischer Zeit in der Größe der geheimen Dispersionsmatrix M berechnet werden. Unter Verwendung des Koeffizienten wird Σi∊IαiMi = s0 aus den Definitionen des Geheimwerts s0 und den Dispersionswerten s1, ..., sL bestimmt.
  • Der Inhalt der Technik zum Aktualisieren des öffentlichen Hauptschlüssels mpk und des geheimen Hauptschlüssels msk wird nachfolgend erläutert.
  • Wie vorstehend erläutert, enthält der öffentliche Hauptschlüssel die Subbasis B^ von der Basis B und der geheime Hauptschlüssel enthält die Subbasis B*^ von der Basis *. Das Chiffreelement ci, das im Chiffretext cts enthalten ist, ist ein Vektor über der Basis B und ein Schlüsselelement K*i, das im Benutzergeheimschlüssel skΓ enthalten ist, ist ein Vektor über der Basis B*.
  • Diesbezüglich werden in Ausführungsform 1 unter Verwendung einer Zufallsmatrix als Aktualisierungsinformationen upk die in dem öffentlichen Hauptschlüssel mpk enthaltene Subbasis B^ und die im geheimen Hauptschlüssel msk enthaltene Subbasis B*^ mit den Aktualisierungsinformationen upk aktualisiert. Somit werden der öffentliche Hauptschlüssel mpk und der geheime Hauptschlüssel msk aktualisiert.
  • Die Basis B des Chiffreelements ci, die im Chiffretext cts enthalten ist, und die Basis B* des Schlüsselelements k*i, die im Benutzergeheimschlüssel skΓ enthalten ist, werden ebenfalls mit den Aktualisierungsinformationen upk aktualisiert. Somit werden der Chiffretext cts und der Benutzergeheimschlüssel sk in die Lage versetzt, die Aktualisierung des öffentlichen Hauptschlüssels mpk und des geheimen Hauptschlüssels msk zu bewerkstelligen.
  • Beschreibung der Konfiguration
  • 5 ist ein Konfigurationsdiagramm eines kryptografischen Systems 10 gemäß Ausführungsform 1.
  • Das kryptografische System 10 ist mit einer Schlüsselerzeugungseinrichtung 100, einer Verschlüsselungseinrichtung 200, einer Entschlüsselungseinrichtung 300, einer Hauptschlüsselaktualisierungseinrichtung 400, einer Chiffretextaktualisierungseinrichtung 500 und einer Benutzergeheimschlüsselaktualisierungseinrichtung 600 ausgestattet.
  • Die Schlüsselerzeugungseinrichtung 100 nimmt als eine Eingabe ein Attributformat n und einen Sicherheitsparameter λ, und führt einen Setup-Algorithmus aus, um den öffentlichen Hauptschlüssel mpk, der die Basis B enthält, und den geheimen Hauptschlüssel, der die Basis B* enthält, welche sich von der in dem öffentlichen Hauptschlüssel mpk enthaltenen Basis unterscheidet, zu erzeugen. Die Schlüsselerzeugungseinrichtung 100 nimmt auch als eine Eingabe den öffentlichen Hauptschlüssel mpk, den geheimen Hauptschlüssel msk und die Benutzerattributgruppe Γ und führt den KG-Algorithmus aus, um den Benutzergeheimschlüssel skΓ zu erzeugen, der ein Schlüsselelement enthält, das ein Vektor über der Basis B* ist, die im geheimen Hauptschlüssel msk enthalten ist.
  • Die Schlüsselerzeugungseinrichtung 100 veröffentlicht den öffentlichen Hauptschlüssel mpk. In Antwort auf eine Anforderung von der Hauptschlüsselaktualisierungseinrichtung 400 gibt die Schlüsselerzeugungseinrichtung 100 den geheimen Hauptschlüssel msk an die Hauptschlüsselaktualisierungseinrichtung 400 im Geheimen aus.
  • Die Verschlüsselungseinrichtung 200 nimmt als Eingabe den öffentlichen Hauptschlüssel mpk, die Zugriffsstruktur S und die Nachricht m, und führt den Enc-Algorithmus aus, um den Chiffretext cts zu erzeugen, der aus der Nachricht m verschlüsselt ist, und der ein Chiffreelement enthält, das ein Vektor über der Basis B ist, die im öffentlichen Hauptschlüssel mpk enthalten ist. Die Verschlüsselungseinrichtung 200 gibt den Chiffretext cts an die Chiffretextaktualisierungseinrichtung 500 aus.
  • Die Entschlüsselungseinrichtung 300 nimmt als Eingabe den öffentlichen Hauptschlüssel mpk, den Benutzergeheimschlüssel skΓ und den Chiffretext cts oder einen aktualisierten Chiffretext cts', führt den Dec-Algorithmus aus und gibt die Nachricht m oder ein Symbol ⊥, das einen Entschlüsselungsfehler repräsentiert, aus.
  • Die Hauptschlüsselaktualisierungseinrichtung 400 nimmt als Eingabe den öffentlichen Hauptschlüssel mpk und den geheimen Hauptschlüssel msk und führt den ApdMKey-Algorithmus aus, um einen neuen öffentlichen Hauptschlüssel mpk', einen neuen geheimen Hauptschlüssel msk' und die Aktualisierungsinformationen upk zu erzeugen. Insbesondere aktualisiert die Hauptschlüsselaktualisierungseinrichtung 400 die Basis B, die im öffentlichen Hauptschlüssel mpk enthalten ist, der durch die Schlüsselerzeugungseinrichtung 100 erzeugt ist, mit den Aktualisierungsinformationen upk, wodurch der neue öffentliche Hauptschlüssel mpk' erzeugt wird. Die Hauptschlüsselaktualisierungseinrichtung 400 aktualisiert auch die Basis B*, die in dem geheimen Hauptschlüssel msk enthalten ist, der durch die Schlüsselerzeugungseinrichtung 100 erzeugt ist, mit den Aktualisierungsinformationen upk, wodurch der neue geheime Hauptschlüssel msk' erzeugt wird.
  • Die Hauptschlüsselaktualisierungseinrichtung 400 gibt den neuen öffentlichen Hauptschlüssel mpk' und den neuen geheimen Hauptschlüssel msk' an die Schlüsselerzeugungseinrichtung 100 im Geheimen aus, und gibt die Aktualisierungsinformationen upk an die Chiffretext-Aktualisierungseinrichtung 500 und die Benutzergeheimschlüsselaktualisierungseinrichtung 600 im Geheimen aus.
  • Die Chiffretextaktualisierungseinrichtung 500 speichert den Chiffretext cts und gibt den Chiffretext cts an die Entschlüsselungseinrichtung 300 in Antwort auf eine Anforderung von der Entschlüsselungseinrichtung 300 aus. Wenn der neue öffentliche Hauptschlüssel mpk' und der neue geheime Hauptschlüssel msk' erzeugt werden, nimmt die Chiffretextaktualisierungseinrichtung 500 die Aktualisierungsinformationen upk und den Chiffretext cts als Eingabe und führt den ApdCT-Algorithmus aus, um den neuen Chiffretext cts' zu erzeugen, der aus dem Chiffretext cts aktualisiert ist. Insbesondere aktualisiert die Chiffretextaktualisierungseinrichtung 500 ein Chiffreelement, das im Chiffretext cts enthalten ist, der durch die Verschlüsselungseinrichtung 200 erzeugt ist, mit den Aktualisierungsinformationen upk, wodurch der neue Chiffretext cts' erzeugt wird.
  • Der Chiffretextaktualisierungseinrichtung 500 löscht den Chiffretext cts, den diese managt, und speichert den erzeugten neuen Chiffretext cts als den Chiffretext cts.
  • Die Benutzergeheimschlüsselaktualisierungseinrichtung 600 speichert den Benutzergeheimschlüssel skΓ und gibt den gespeicherten Benutzergeheimschlüssel skΓ an die Entschlüsselungseinrichtung 300 im Geheimen aus.
  • Die Benutzergeheimschlüsselaktualisierungseinrichtung 600 nimmt als Eingabe die Aktualisierungsinformationen upk und den Benutzergeheimschlüssel skΓ und führt den ApdSK-Algorithmus aus, um einen neuen Benutzergeheimschlüssel skΓ' zu erzeugen, der aus dem Benutzergeheimschlüssel skΓ aktualisiert ist. Insbesondere aktualisiert die Benutzergeheimschlüsselaktualisierungseinrichtung 600 ein Schlüsselelement, das im Benutzergeheimschlüssel skΓ enthalten ist, mit den Aktualisierungsinformationen upk, wodurch der neue Benutzergeheimschlüssel skΓ' erzeugt wird.
  • Die Benutzergeheimschlüsselaktualisierungseinrichtung 600 löscht den Benutzergeheimschlüssel skΓ, den diese managt, und speichert den erzeugten neuen Benutzergeheimschlüssel skΓ' als den Benutzergeheimschlüssel skΓ.
  • 6 ist ein Konfigurationsdiagramm der Schlüsselerzeugungseinrichtung 100 gemäß Ausführungsform 1.
  • Die Schlüsselerzeugungseinrichtung 100 ist mit einem Informationsakquirierungsteil, einem Hauptschlüsselerzeugungsteil 120, einem Benutzergeheimschlüsselerzeugungsteil 130 und einem Schlüsselausgabeteil 140 ausgestattet.
  • Der Informationsakquirierungsteil 110 akquiriert das Attributformat n, den Sicherheitsparameter λ und die Attributgruppe Γ, die durch den Administrator des kryptografischen Systems 10 eingegeben werden.
  • Auf Grundlage des Attributformats n und des Sicherheitsparameters λ, die durch den Informationsakquirierungsteil 110 akquiriert werden, erzeugt der Hauptschlüsselerzeugungsteil 120 den öffentlichen Hauptschlüssel mpk, der die Basis B enthält, und den geheimen Hauptschlüssel msk, der die Basis B* enthält, welche sich von der im öffentlichen Hauptschlüssel mpk enthaltenen Basis B unterscheidet.
  • Auf Grundlage der Attributgruppe Γ, die durch den Informationsakquirierungsteil 110 akquiriert wird, und des öffentlichen Hauptschlüssels mpk und des geheimen Hauptschlüssels msk, die durch den Hauptschlüsselerzeugungsteil 120 erzeugt werden, erzeugt der Benutzergeheimschlüsselerzeugungsteil 130 den Benutzergeheimschlüssel skΓ, der ein Schlüsselelement enthält, das ein Vektor über der Basis B* ist, die im geheimen Hauptschlüssel msk enthalten ist.
  • Der Schlüsselausgabeteil 140 gibt den öffentlichen Hauptschlüssel mpk an einen Veröffentlichungsserver oder dergleichen aus, um den öffentlichen Hauptschlüssel mpk zu veröffentlichen, und gibt den Benutzergeheimschlüssel skΓ an die Benutzergeheimschlüsselaktualisierungseinrichtung 600 im Geheimen aus. Der Schlüsselausgabeteil 140 gibt außerdem den geheimen Hauptschlüssel msk an die Hauptschlüsselaktualisierungseinrichtung 400 im Geheimen aus.
  • Im Geheimen ausgeben bedeutet, zum Beispiel über Verschlüsselung in Entsprechung mit einer vorhandenen Kryptografie zu übertragen.
  • 7 ist ein Konfigurationsdiagramm der Verschlüsselungseinrichtung 200 gemäß Ausführungsform 1.
  • Die Verschlüsselungseinrichtung 200 ist mit einem Informationsakquirierungsteil 210, einem Chiffretexterzeugungsteil 220 und einem Chiffretextausgabeteil 230 bereitgestellt,
  • Der Informationsakquirierungsteil 210 akquiriert den öffentlichen Hauptschlüssel mpk, der durch die Schlüsselerzeugungseinrichtung 100 erzeugt ist, und die Zugriffsstruktur S und die Nachricht m, die durch den Benutzer der Verschlüsselungseinrichtung 200 eingegeben werden.
  • Auf Grundlage des öffentlichen Hauptschlüssels mpk, der Zugriffsstruktur S und der Nachricht m, die durch den Informationsakquirierungsteil 210 akquiriert werden, erzeugt der Chiffretexterzeugungsteil 220 den Chiffretext cts, der aus der Nachricht m verschlüsselt ist, und der ein Chiffreelement enthält, das ein Vektor über der Basis B ist, die im öffentlichen Hauptschlüssel mpk enthalten ist.
  • Der Chiffretextausgabeteil 230 gibt den Chiffretext cts, der durch das Chiffretexterzeugungsteil 220 erzeugt ist, an die Chiffretextaktualisierungseinrichtung 500 aus.
  • 8 ist ein Konfigurationsdiagramm der Entschlüsselungseinrichtung 300 gemäß Ausführungsform 1.
  • Die Entschlüsselungseinrichtung 300 ist mit einem Informationsakquirierungsteil 310, einem Chiffretextbestimmungsteil 320, einem Entschlüsselungsteil 330 und einem Ergebnisausgabeteil 340 ausgestattet.
  • Der Informationsakquirierungsteil 310 akquiriert den öffentlichen Hauptschlüssel mpk von der Schlüsselerzeugungseinrichtung 100, den Chiffretext cts von der Chiffretextaktualisierungseinrichtung 500 und den Benutzergeheimschlüssel skΓ von der Benutzergeheimschlüsselaktualisierungseinrichtung 600.
  • Der Chiffretextbestimmungsteil 320 bestimmt, ob oder ob nicht der durch den Informationsakquirierungsteil 310 akquirierte Chiffretext cts unter Verwendung des Benutzergeheimschlüssels skΓ entschlüsselbar ist.
  • Wenn der Chiffretextbestimmungsteil 320 den Chiffretext cts als entschlüsselbar bestimmt, entschlüsselt der Entschlüsselungsteil 330 den durch den Informationsakquierierungsteil akquirierten Chiffretext unter Verwendung des Benutzergeheimschlüssels skΓ auf Grundlage des öffentlichen Hauptschlüssels mpk.
  • Wenn der Chiffretextbestimmungsteil 320 bestimmt, dass der Chiffretext entschlüsselbar ist, gibt der Ergebnisausgabeteil 340 das Entschlüsselungsergebnis des Entschlüsselungsteils 330 aus. Wenn der Chiffretextbestimmungsteil 320 bestimmt, dass der Chiffretext nicht entschlüsselbar ist, gibt der Ergebnisausgabeteil 340 das Symbol ⊥ aus, das einen Entschlüsselungsfehler repräsentiert.
  • 9 ist ein Konfigurationsdiagramm der Hauptschlüsselaktualisierungseinrichtung 400 gemäß Ausführungsform 1.
  • Die Hauptschlüsselaktualisierungseinrichtung 400 ist mit einem Hauptschlüsselakquirierungsteil 410, einem Aktualisierungsinformationserzeugungsteil 420, einem Hauptschlüsselaktualisierungsteil 430 und einem Aktualisierungsinformationsausgabeteil 440 ausgestattet.
  • Der Hauptschlüsselakquirierungsteil 410 akquiriert den öffentlichen Hauptschlüssel mpk, der die Basis B enthält, und den geheimen Hauptschlüssel, der die Basis B* enthält, welche sich von der Basis B unterscheidet, die im öffentlichen Hauptschlüssel mpk enthalten ist.
  • Der Aktualisierungsinformationserzeugungsteil 420 erzeugt die Aktualisierungsinformationen upk zum Aktualisieren des öffentlichen Hauptschlüssels mpk und des geheimen Hauptschlüssels msk.
  • Der Hauptschlüsselaktualisierungsteil 430 aktualisiert die Basis B, die im öffentlichen Hauptschlüssel mpk enthalten ist, der durch das Hauptschlüsselakquirierungsteil 410 akquiriert ist, mit den Aktualisierungsinformationen upk, die durch den Aktualisierungsinformationserzeugungsteil 420 erzeugt sind, um den neuen öffentlichen Hauptschlüssel mpk' zu erzeugen. Der Hauptschlüsselaktualisierungsteil 430 aktualisiert außerdem die Basis B*, die im geheimen Hauptschlüssel msk enthalten ist, der durch den Hauptschlüsselakquirierungsteil 410 akquiriert ist, mit den Aktualisierungsinformationen upk, die durch den Aktualisierungsinformationserzeugungsteil 420 erzeugt sind, um den neuen geheimen Hauptschlüssel msk' zu erzeugen.
  • Der Aktualisierungsinformationsausgabeteil 440 gibt den neuen öffentlichen Hauptschlüssel mpk' und den neuen geheimen Hauptschlüssel msk', die durch den Hauptschlüsselaktualisierungsteil 430 erzeugt sind, an die Schlüsselerzeugungseinrichtung 110 im Geheimen aus. Der Aktualisierungsinformationsausgabeteil 440 gibt auch die Aktualisierungsinformationen upk, die durch den Aktualisierungsinformationserzeugungsteil 420 erzeugt sind, an die Chiffretextaktualisierungseinrichtung 500 und die Benutzergeheimschlüsselaktualisierungseinrichtung 600 im Geheimen aus.
  • 10 ist ein Konfigurationsdiagramm der Chiffretextaktualisierungseinrichtung 500 gemäß Ausführungsform 1.
  • Die Chiffretextaktualisierungseinrichtung 500 ist mit einem Chiffretextakquirierungsteil 510, einem Chiffretextspeicherteil 520, einem Aktualisierungsinformationsakquirierungsteil 530, einem Chiffretextaktualisierungsteil 540 und einem Chiffretextausgabeteil 550 ausgestattet.
  • Der Chiffretextakquirierungsteil 510 akquiriert den Chiffretext cts, der durch die Verschlüsselungseinrichtung 200 erzeugt ist.
  • Der Chiffretextspeicherteil 520 ist eine Speichereinrichtung zum Speichern des Chiffretexts cts, der durch den Chiffretextaktualisierungsteil 510 akquiriert ist.
  • Der Aktualisierungsinformationsakquirierungsteil 530 akquiriert die Aktualisierungsinformationen upk, die durch die Hauptschlüsselaktualisierungseinrichtung 400 erzeugt sind.
  • Der Chiffretextaktualisierungsteil 540 aktualisiert ein Chiffreelement, das im Chiffretext cts enthalten ist, der durch die Verschlüsselungseinrichtung 200 erzeugt ist, mit den Aktualisierungsinformationen upk, um den neuen Chiffretext cts' zu erzeugen. Insbesondere aktualisiert die Chiffretextaktualisierungseinrichtung 500 das Chiffreelement, das im Chiffretext cts enthalten ist, der durch die Verschlüsselungseinrichtung 200 erzeugt ist, mit den Aktualisierungsinformationen upk, um den neuen Chiffretext cts' zu erzeugen.
  • Der Chiffretextaktualisierungsteil 540 löscht den Voraktualisierungschiffretext cts, der im Chiffretextspeicherteil 520 gespeichert ist, und speichert den erzeugten neuen Chiffretext cts' als den Chiffretext cts.
  • In Antwort auf die Anforderung von der Entschlüsselungseinrichtung 300 gibt das Chiffretextausgabeteil 550 den im Chiffretextspeicherteil 520 gespeicherten Chiffretext cts an die Entschlüsselungseinrichtung 300 aus.
  • 11 ist ein Konfigurationsdiagramm der Benutzergeheimschlüsselaktualisierungseinrichtung 600 gemäß Ausführungsform 1.
  • Die Benutzergeheimschlüsselaktualisierungseinrichtung 600 ist mit einem Benutzergeheimschlüsselakquirierungsteil 610, einem Benutzergeheimschlüsselspeicherteil 620, einem Aktualisierungsinformationsakquirierungsteil 630, einem Benutzergeheimschlüsselaktualisierungsteil 640 und einem Benutzergeheimschlüsselausgabeteil 650 ausgestattet.
  • Der Benutzergeheimschlüsselakquirierungsteil 610 akquiriert den Benutzergeheimschlüssel skΓ, der durch die Schlüsselerzeugungseinrichtung 100 erzeugt ist.
  • Der Benutzergeheimschlüsselspeicherteil 620 ist eine Speichereinrichtung zum Speichern des Benutzergeheimschlüssels skΓ, der durch den Benutzergeheimschlüsselakquirierungsteil 610 akquiriert ist.
  • Der Aktualisierungsinformationsakquirierungsteil 630 akquiriert die Aktualisierungsinformationen upk, die durch die Hauptschlüsselaktualisierungseinrichtung 400 erzeugt sind.
  • Der Benutzergeheimschlüsselaktualisierungsteil 640 aktualisiert ein Schlüsselelement, das im Benutzergeheimschlüssel skΓ enthalten ist, mit den Aktualisierungsinformationen upk, um den neuen Benutzergeheimschlüssel skΓ ' zu erzeugen. Insbesondere aktualisiert die Benutzergeheimschlüsselaktua lisierungseinrichtung 600 das im Benutzergeheimschlüssel skΓ enthaltene Schlüsselelement mit den Aktualisierungsinformationen, um den neuen Benutzergeheimschlüssel skΓ' zu erzeugen.
  • Der Benutzergeheimschlüsselaktualisierungsteil 640 löscht den Voraktualisierungsbenutzergeheimschlüssel skΓ, der im Benutzergeheimschlüsselspeicherteil 620 gespeichert ist, und speichert den erzeugten neuen Benutzergeheimschlüssel skΓ' als den Benutzergeheimschlüssel skΓ.
  • Der Benutzergeheimschlüsselausgabeteil 650 gibt den Benutzergeheimschlüssel skΓ, der im Benutzergeheimschlüsselspeicherteil 620 gespeichert ist, an die Entschlüsselungseinrichtung 300 im Geheimen aus, wenn der Benutzergeheimschlüsselakquirierungsteil 610 den Benutzergeheimschlüssel skΓ akquiriert, und wenn der Benutzergeheimschlüsselaktualisierungsteil 640 den neuen Benutzergeheimschlüssel skΓ' erzeugt.
  • Beschreibung der Operation
  • 12 ist ein Flussdiagramm des Setup-Algorithmus gemäß Ausführungsform 1.
  • Der Setup-Algorithmus wird durch die Schlüsselerzeugungseinrichtung 100 ausgeführt.
  • S101: Informationsakquirierungsprozess
  • Der Informationsakquirierungsteil 110 akquiriert das Attributformat n := (d; n1, ..., nd) und den Sicherheitsparameter λ, der durch den Administrator oder dergleichen des kryptografischen Systems 10 unter Verwendung der Eingabeeinrichtung eingegeben wird.
  • S102: Basiserzeugungsprozess
  • Der Hauptschlüsselerzeugungsteil 120 nimmt als Eingabe das Attributformat n und den Sicherheitsparameter λ, die in Schritt S101 akquiriert sind, und berechnet die Formel 113, um einen Parameter paramn von Doppelverknüpfungsvektorräumen, Basen Bt und B*t für jede ganze Zahl t von t = 0, ..., d und einen Wert gT zu erzeugen.
  • [Formel 113]
    Figure DE112014007235T5_0010
  • Figure DE112014007235T5_0011
  • In Formel 113 ist Gbpg eine Funktion, die bilineare Verknüpfungsgruppen erzeugt und Gdpvs ist eine Funktion, die Doppelverknüpfungsvektorräume erzeugt.
  • S103: Erzeugungsprozess des öffentlichen Schlüssels
  • Der Hauptschlüsselerzeugungsteil 120 erzeugt eine Subbasis B^0 von der Basis B0, die in Schritt S102 erzeugt ist, und eine Subbasis B^t für jede ganze Zahl t von t = 1, ..., d, wie in Formel 114 gezeigt.
  • [Formel 114]
    Figure DE112014007235T5_0012
  • Der Hauptschlüsselerzeugungsteil 120 führt die Subbasis B^0 und die Subbasis B^t des Sicherheitsparameters λ, die in S101 eingegeben sind, und den paramn, erzeugt in S102, zusammen, und behandelt das Ergebnis als den öffentlichen Hauptschlüssel mpk. Für jede ganze Zahl t von t = 1, ..., d, enthält der öffentliche Hauptschlüssel mpk die Subbasis B^t von der Basis Bt, die durch die Transformationsmatrix X aus einer kanonischen Basis A transformiert ist.
  • S104: Erzeugungsprozess des Geheimschlüssels
  • Der Hauptschlüsselerzeugungsteil 120 erzeugt eine Subbasis B^*0 von einer Basis B*0, die in Schritt S102 erzeugt ist, und eine Subbasis B^*t für jede ganze Zahlt von 1 = 1, ..., d, wie in Formel 115 angegeben.
  • [Formel 115]
    • (for = für)
    • B*0 := (b * / 0,1, b * / 0,2, b * / 0,4),
  • Figure DE112014007235T5_0013
  • Der Hauptschlüsselerzeugungsteil 120 behandelt die Subbasis B^*0 und die Subbasis B^*t als den geheimen Hauptschlüssel msk bildend. Der geheime Hauptschlüssel msk enthält nämlich die Subbasis B^*t der Basis B*t, die durch eine Transformationsmatrix (XT)–1, die aus der Transformationsmatrix X erzeugt ist, aus der Basis Bt für jede ganze Zahl t von t = 1, ..., d transformiert ist.
  • S105: Schlüsselausgabeprozess
  • Der Schlüsselausgabeteil 140 gibt den in Schritt S103 erzeugten öffentlichen Hauptschlüssel mpk an den Veröffentlichungsserver oder dergleichen aus, um den öffentlichen Hauptschlüssel zu veröffentlichen. Der Schlüsselausgabeteil 140 gibt auch den geheimen Hauptschlüssel msk an die Hauptschlüsselaktualisierungseinrichtung 400 im Geheimen in Antwort auf die Anforderung von der Hauptschlüsselaktualisierungseinrichtung 400 aus.
  • 13 ist ein Flussdiagramm des KG-Algorithmus gemäß Ausführungsform 1. Der KG-Algorithmus wird durch die Schlüsselerzeugungseinrichtung 100 ausgeführt.
  • S201: Informationsakquirierungsprozess
  • Der Informationsakquierierungsteil 110 akquiriert die Benutzerattributgruppe Γ, die vom Administrator oder dergleichen des kryptografischen Systems 10 unter Verwendung der Eingabeeinrichtung eingegeben ist.
  • Die Attributgruppe Γ ist ein Tupel (t, x t) des Identifikators t und des Vektors x t. Der Identifikator t entspricht der Attributkategorie. Der Attributwert der Attributkategorie entsprechend des Identifikators t ist im Vektor x t festgelegt.
  • S202: Zufallszahlerzeugungsprozess
  • Der Benutzergeheimschlüsselerzeugungsteil 130 erzeugt Zufallszahlen, wie in Formel 116 angegeben.
  • [Formel 116]
    Figure DE112014007235T5_0014
  • S203: Schlüsselelementerzeugungsprozess
  • Auf Grundlage der Attributgruppe Γ, die in S201 akquiriert ist, und der in S202 erzeugten Zufallszahlen erzeugt der Benutzergeheimschlüsselerzeugungsteil 130 das Schlüsselelement k*0 und das Schlüsselelement K*t, welches für jeden Identifikator t ist, der in der Attributgruppe Γ enthalten ist, wie in Formel 117 angegeben.
  • [Formel 117]
    Figure DE112014007235T5_0015
  • Wie in Formel 117 angegeben, ist das Schlüsselelement k*t für t = 0 und für den in der Attributgruppe Γ enthaltenen Identifikator t ein Vektor über der Basis B*t.
  • S204: Schlüsselausgebeprozess
  • Der Schlüsselausgabeteil 140 gibt den Benutzergeheimschlüssel skΓ, der die Attributgruppe Γ enthält, die in S201 akquiriert ist, und das in S203 erzeugte Schlüsselelement k*0 und das Schlüsselelement K*t an die Benutzergeheimschlüsselaktualisierungseinrichtung 600 im Geheimen aus, wobei das Schlüsselelement k*t für jeden Identifikator t ist, der in der Attributgruppe Γ enthalten ist.
  • 14 ist ein Flussdiagramm des Enc-Algorithmus gemäß Ausführungsform 1, Der Enc-Algorithmus wird durch die Verschlüsselungseinrichtung 200 ausgeführt.
  • S301: Informationsakquirierungsprozess
  • Der Informationsakquirierungsteil 210 akquiriert den öffentlichen Hauptschlüssel mpk, der durch die Schlüsselerzeugungseinrichtung 100 erzeugt ist, und die Zugriffsstruktur S := (M, ρ) und die Nachricht m, die vom Benutzer der Verschlüsselungseinrichtung 200 unter Verwendung der Eingabeeinrichtung eingegeben ist.
  • In der Zugriffsstruktur S wurde ein in Chiffretext-cts-entschlüsselbarer Bereich festgelegt.
  • S302: Dispersionswerterzeugungsprozess
  • Der Chiffretexterzeugungsteil 220 erzeugt den Geheimwert s0 und die Dispersionswerte s→T, wie in Formel 118 angegeben.
  • [Formel 118]
    Figure DE112014007235T5_0016
  • S303: Zufallszahlerzeugungsprozess
  • Der Chiffretexterzeugungsteil 220 erzeugt Zufallszahlen, wie in Formel 110 angegeben.
  • [Formel 119]
    Figure DE112014007235T5_0017
  • S304: Chiffreelementerzeugungsprozess
  • Der Chiffretexterzeugungsteil 220 erzeugt das Chiffreelement ci für jede ganze Zahl i von i = 0, ..., L, d + 1, wie in Formel 120 angegeben.
  • [Formel 120]
    Figure DE112014007235T5_0018
  • Figure DE112014007235T5_0019
  • Wie in Formel 120 angegeben, ist das Chiffreelement ci für jede ganze Zahl i von i = 0, ..., L ein Vektor über der Basis B.
  • S305: Chiffretextausgabeprozess
  • Der Chiffretextausgabeteil 230 gibt den Chiffretext cts, der die Zugriffstruktur S enthält, die in S301 akquiriert ist, und das in S304 erzeugte Chiffreelement ci für jede ganze Zahl i von i = 0, ..., d – 1 an die Chiffretextaktualisierungseinrichtung 500 aus.
  • 15 ist ein Flussdiagramm des Dec-Algorithmus gemäß Ausführungsform 1.
  • Der Dec-Algorithmus wird durch die Entschlüsselungseinrichtung 300 ausgeführt.
  • S401: Informationsakquirierungsprozess
  • Der Informationsakquirierungsteil 310 gibt eine Anforderung an die Chiffretextaktualisierungseinrichtung 500 aus, um den Chiffretext cts von der Chiffretextaktualisierungseinrichtung 500 zu akquirieren. Der Informationsakquirierungsteil 310 akquiriert den Benutzergeheimschlüssel skΓ von der Benutzergeheimschlüsselaktualisierungseinrichtung 600. Der Informationsakquirierungsteil 310 akquiriert den von der Schlüsselerzeugungseinrichtung 100 erzeugten öffentlichen Hauptschlüssel mpk.
  • Der Chiffretextbestimmungsteil 320 bestimmt, ob oder ob nicht die Zugriffsstruktur S, die in dem in Schritt S301 akquirierten Chiffretext cts enthalten ist, die Attributgruppe Γ akzeptiert, die in dem in Schritt S401 akquirierten Benutzergeheimschlüssel skΓ enthalten ist.
  • Wenn bestimmt wird, dass die Zugriffsstruktur S die Attributgruppe Γ akzeptiert, führt der Chiffretextbestimmungsteil 320 den Prozess weiter zu S403. Wenn bestimmt wird, dass die Zugriffsstruktur S die Attributgruppe Γ nicht akzeptiert, führt der Chiffretextbestimmungsteil 320 den Prozess weiter zu S406.
  • S403: Berechnungsprozess des komplementären Koeffizienten
  • Der Entschlüsselungsteil 330 berechnet die Gruppe I der Reihenzahlen und einen komplementären Koeffizienten {αi}i∈I, der Formel 121 genügt. [Formel 121]
    Figure DE112014007235T5_0020
    wobei Mi die i-te Reihe von M ist,
    und
    Figure DE112014007235T5_0021
  • S404: Sitzungsschlüsselberechnungsprozess
  • Der Entschlüsselungsteil 330 berechnet Formel 122 auf Grundlage des Chiffretexts cts und des in Schritt S401 akquirierten Benutzergeheimschlüssels skΓ und der in Schritt S403 akquirierten berechneten Gruppe I und des komplementären Koeffizienten {αi}i∊I, um den Sitzungsschlüssel K zu berechnen.
  • [Formel 122]
    Figure DE112014007235T5_0022
  • S405: Nachrichtenberechnungsprozess
  • Der Entschlüsselungsteil 330 berechnet die Nachricht m durch Dividieren eines Chiffreelements Cd+1, das im Chiffretext cts enthalten ist, durch den in S404 berechneten Sitzungsschlüssel K.
  • S406: Ergebnisausgabeprozess
  • Wenn in S402 bestimmt wird, dass die Zugriffsstruktur S die Attributgruppe Γ akzeptiert, gibt der Ergebnisausgabeteil 340 die in S405 berechnete Nachricht m aus. Wenn in S402 bestimmt wird, dass die Zugriffsstruktur S die Attributgruppe Γ nicht akzeptiert, gibt der Ergebnisausgabeteil 340 das Symbol ⊥ aus, das einen Entschlüsselungsfehler repräsentiert.
  • 16 ist ein Flussdiagramm des ApdMKey-Algorithmus gemäß Ausführungsform 1.
  • Der ApdMKey-Algorithmus wird durch die Hauptschlüsselaktualisierungseinrichtung 400 ausgeführt.
  • S501: Hauptschlüsselakquirierungsprozess
  • Der Hauptschlüsselakquirierungsteil 410 akquiriert den derzeit angewandten öffentlichen Hauptschlüssel mpk und den geheimen Hauptschlüssel msk, die durch die Schlüsselerzeugungseinrichtung 100 erzeugt sind.
  • S502: Aktualisierungsinformationserzeugungsprozess
  • Für jede ganze Zahl t von t = 0, ..., d, erzeugt der Aktualisierungsinformationserzeugungsteil 420 eine Transformationsmatrix Wt als die Aktualisierungsinformationen upk, wie in Formel 123 gezeigt.
  • [Formel 123]
    Figure DE112014007235T5_0023
  • S503: Aktualisierungsprozess des öffentlichen Hauptschlüssels Für jede ganze Zahl t von t = 0, ..., d, multipliziert der Hauptschlüsselaktualisierungsteil 430 die Subbasis B^t des in S501 akquirierten öffentlichen Hauptschlüssels mpk mit der Transformationsmatrix Wt der in S502 erzeugten Aktualisierungsinformationen upk, um die Subbasis B^t von der Basis Bt zu aktualisieren, um dadurch eine neue Subbasis B^'t, wie in Formel 124 gezeigt, zu erzeugen.
  • [Formel 124]
    • (for = für)
    • B ^ ' / t := B ^tWt for t = 0, ..., d
  • Der Hauptschlüsselaktualisierungsteil 430 ersetzt die neue Subbasis B^'t mit der Subbasis B^t des in S501 akquirierten geheimen Hauptschlüssels mpk, um den neuen öffentlichen Hauptschlüssel mpk' zu erzeugen.
  • S504: Aktualisierungsprozess des geheimen Hauptschlüssels
  • Für jede ganze Zahl t von t = 0, ..., d, multipliziert der Hauptschlüsselaktualisierungsteil 430 die Subbasis B*^t des in S501 akquirierten geheimen Hauptschlüssels mit einer Transformationsmatrix (Wt T)–1 , die aus der Transformationsmatrix Wt der in S502 erzeugten Aktualisierungsinformationen upk transformiert ist, um die Subbasis B*^t von der Basis B*t zu aktualisieren, um dadurch eine neue Subbasis B*^'t, wie in Formel 125 gezeigt, zu erzeugen.
  • [Formel 125]
    • (for = für)
    • B ^ '* / t := B ^ * / t(Wt T)–1 for t = 0, ..., d
  • Der Hauptschlüsselaktualisierungsteil 430 ersetzt die neue Subbasis B*^'t mit der Subbasis B*^t des in S501 akquirierten öffentlichen Hauptschlüssels mpk, um den neuen geheimen Hauptschlüssel msk' zu erzeugen.
  • S505: Aktualisierungsinformationsausgabeprozess
  • Der Aktualisierungsinformationsausgabeteil 440 gibt den in S503 erzeugten neuen öffentlichen Hauptschlüssel mpk' und den in S504 erzeugten neuen geheimen Hauptschlüssel msk' an die Schlüsselerzeugungseinrichtung 100 im Geheimen aus. Der Aktualisierungsinformationsausgabeteil 440 gibt auch die in S502 erzeugten Aktualisierungsinformationen upk an die Chiffretextaktualisierungseinrichtung 500 und die Benutzergeheimschlüsselaktualisierungseinrichtung 600 im Geheimen aus.
  • 17 ist ein Flussdiagramm des ApdCT-Algorithmus gemäß Ausführungsform 1.
  • Der ApdCT-Algorithmus wird durch die Chiffretextaktualisierungseinrichtung 500 ausgeführt.
  • S601: Chiffretextakquirierungsprozess
  • Der Chiffretextakquirierungsteil 510 akquiriert den von der Verschlüsselungseinrichtung 200 erzeugten Chiffretext cts. Der Chiffretextakquirierungsteil 510 speichert den akquirierten Chiffretext cts in dem Chiffretextspeicherteil 520.
  • S602: Aktualisierungsinformationsakquirierungsprozess
  • Der Aktualisierungsinformationsakquirierungsteil 530 akquiriert die durch die Hauptschlüsselaktualisierungseinrichtung 400 erzeugten Aktualisierungsinformationen upk.
  • S603: Chiffretextaktualisierungsprozess
  • Für jede ganze Zahl i von i = 0, ..., L, multipliziert der Chiffretextaktualisierungsteil 540 das Chiffreelement ci, das im Chiffretext cts enthalten ist, der im Chiffretextspeicherteil 520 gespeichert ist, mit der Transformationsmatrix Wt der in S602 akquirierten Aktualisierungsinformationen, um ein neues Chiffreelement ci', wie in Formel 126 gezeigt, zu erzeugen.
  • [Formel 126]
    • (or = oder)
    • c ' / 0 := c0W0,
  • Figure DE112014007235T5_0024
  • Der Chiffretextaktualisierungsteil 540 löscht den voraktualisierten Chiffretext cts, der im Chiffretextspeicherteil 520 gespeichert ist, und speichert den neuen Chiffretext cts', in welchem das Chiffreelement ci durch das neue Chiffreelement ci' ersetzt ist, als den Chiffretext cts im Chiffretextspeicherteil 520.
  • S604: Chiffretextausgabeprozess
  • In Antwort auf die Anforderung von der Entschlüsselungseinrichtung 300 gibt der Chiffretextausgabeteil 550 den im Chiffretextspeicherteil 520 gespeicherten Chiffretext cts an die Entschlüsselungseinrichtung 300 aus.
  • 18 ist ein Flussdiagramm des ApdSK-Algorithmus gemäß Ausführungsform 1.
  • Der ApdSKk-Algorithmus wird durch die Benutzergeheimschlüsselaktualisierungseinrichtung 600 ausgeführt.
  • S701: Benutzergeheimschlüsselakquirierungsprozess
  • Der Benutzergeheimschlüsselakquirierungsteil 610 akquiriert den durch die Schlüsselerzeugungseinrichtung 100 erzeugten Benutzergeheimschlüssel skΓ. Der Benutzergeheimschlüsselakquirierungsteil 610 speichert den akquirierten Benutzergeheimschlüssel skΓ im Benutzergeheimschlüsselspeicherteil 620.
  • S702: Aktualisierungsinformationsakquirierungsprozess
  • Der Aktualisierungsinformationsakquirierungsteil 630 akquiriert die durch die Hauptschlüsselaktualisierungseinrichtung 400 erzeugten Aktualisierungsinformationen upk.
  • S703: Benutzergeheimschlüsselaktualisierungsprozess
  • Für t = 0 und jeden in der Attributgruppe Tenthaltenen Identifikator t multipliziert der Benutzergeheimschlüsselaktualisierungsteil 640 das Schlüsselelement k*t, das im Benutzergeheimschlüssel skΓ enthalten ist, der im Benutzergeheimschlüsselspeicherteil 620 gespeichert ist, mit der Transformationsmatrix (Wt T)–1 die aus der Transformationsmatrix Wt der in S702 akquirierten Aktualisierungsinformationen transformiert ist, um das Schlüsselelement k*t' zu aktualisieren, um dadurch ein neues Schlüsselelement k*t, wie in Formel 127 gezeigt, zu erzeugen.
  • [Formel 127]
    • (for = für)
    • k '* / 0 := k * / 0(W0 T)–1,
    • k '* / t := k * / t(Wt T)–1 for (t, x →t), ∈ Γ
  • Der Benutzergeheimschlüsselaktualisierungsteil 640 löscht den voraktualisierten Benutzergeheimschlüssel skΓ, der im Benutzergeheimschlüsselspeicherteil 620 gespeichert ist, und speichert den neuen Geheimschlüssel skΓ', in welchem das neue Schlüsselelement k*t' das Schlüsselelement k*t als den Benutzergeheimschlüssel skΓ ersetzt, im Benutzergeheimschlüsselspeicherteil 620.
  • S704: Benutzergeheimschlüsselausgabeprozess
  • Der Benutzergeheimschlüsselausgabeteil 650 gibt den Benutzergeheimschlüssel skΓ, der im Benutzergeheimschlüsselspeicherteil 620 gespeichert ist, an die Entschlüsselungseinrichtung 300 aus.
  • Wirkung der Erfindung
  • Wie vorstehend erläutert, aktualisiert die Chiffretextaktualisierungseinrichtung 500 in dem kryptografischen System 10 gemäß Ausführungsform 1 den Chiffretext cts unter Verwendung der Aktualisierungsinformationen upk, die eingesetzt werden, wenn der öffentliche Hauptschlüssel mpk und der geheime Hauptschlüssel msk aktualisiert werden, so dass der Chiffretext cts den aktualisierten öffentlichen Hauptschlüssel mpk und den geheimen Hauptschlüssel msk bewerkstelligen kann.
  • Aus diesem Grund ist es in dem kryptografischen System 10 gemäß Ausführungsform 1, wenn der öffentliche Hauptschlüssel mpk und der geheime Hauptschlüssel msk aktualisiert werden, nicht notwendig, den Chiffretext cts temporär zu entschlüsseln und dann zu verschlüsseln. Somit besteht kein Informationsleckrisiko, dass sich aus dem temporären Entschlüsseln des Chiffretexts cts ergibt. Außerdem ist es nicht erforderlich, einen stark auslastenden Prozess zum temporären Entschlüsseln und dann Verschlüsseln des Chiffretexts Cts auszuführen.
  • In ähnlicher Weise aktualisiert die Benutzergeheimschlüsselaktualisierungseinrichtung 600 in dem kryptografischen System 10 gemäß Ausführungsform 1 den Benutzergeheimschlüssel skΓ unter Verwendung der Aktualisierungsinformationen upk, die eingesetzt werden, wenn der öffentliche Hauptschlüssel mpk und der geheime Hauptschlüssel msk aktualisiert werden, so dass der Benutzergeheimschlüssel skΓ den aktualisierten öffentlichen Hauptschlüssel mpk und den geheimen Hauptschlüssel msk bewerkstelligen kann.
  • Aus diesem Grund ist es in dem kryptografischen System 10 gemäß Ausführungsform 1, wenn der öffentliche Hauptschlüssel mpk und der geheime Hauptschlüssel msk aktualisiert werden, nicht notwendig, den Benutzergeheimschlüssel skΓ auf Grundlage des aktualisierten geheimen Hauptschlüssels msk neu zu erzeugen. Somit ist es nicht notwendig, einen stark auslastenden Prozess zum Erzeugen des Benutzergeheimschlüssels skΓ auszuführen.
  • In der vorstehenden Beschreibung sind die Schlüsselerzeugungseinrichtung 100, die Hauptschlüsselaktualisierungseinrichtung 400, die Chiffretextaktualisierungseinrichtung 500 und die Benutzergeheimschlüsselaktualisierungseinrichtung 600 unterschiedliche Einrichtungen. Dies bedeutet nicht zwangsläufig, dass die Schlüsselerzeugungseinrichtung 100, die Hauptschlüsselaktualisierungseinrichtung 400, die Chiffretextaktualisierungseinrichtung 500 und die Benutzergeheimschlüsselaktualisierungseinrichtung 600 in separaten Gehäusen untergebracht sein müssen. Zwei oder mehrere aus der Schlüsselerzeugungseinrichtung 100, Hauptschlüsselaktualisierungseinrichtung 400, Chiffretextaktualisierungseinrichtung 500 und der Benutzergeheimschlüsselaktualisierungseinrichtung 600 können in einem Gehäuse untergebracht sein, um eine Einrichtung zu bilden.
  • In der vorstehenden Beschreibung sind ein Verfahren zum Aktualisieren des öffentlichen Hauptschlüssels mpk, eines geheimen Hauptschlüssels msk, eines Chiffretexts cts und eines Benutzergeheimschlüssels skΓ in der funktionalen Verschlüsselung mit der Chiffretext-Strategie erläutert.
  • Das vorstehend erläuterte Aktualisierungsverfahren ist ein Verfahren zum Transformieren der Basen des öffentlichen Hauptschlüssels mpk, des geheimen Hauptschlüssels msk, des Chiffretexts cts und des Benutzergeheimschlüssels skΓ. Somit kann das vorstehend erläuterte Aktualisierungsverfahren zur funktionalen Verschlüsselung mit der Schlüsselstrategie angewendet werden, indem es nur formal verändert wird.
  • 19 ist ein Diagramm zum Darstellen eines Beispiels einer Hardwarekonfiguration von jeder der Schlüsselerzeugungseinrichtung 100, Verschlüsselungseinrichtung 200, Entschlüsselungseinrichtung 300, Hauptschlüsselaktualisierungseinrichtung 400, Chiffretextaktualisierungseinrichtung 500 und der Benutzergeheimschlüsselaktualisierungseinrichtung 600, gezeigt in Ausführungsform 1.
  • Jede Einrichtung ist ein Computer. Ein Datenanzeigeprogramm kann konfiguriert sein, indem jedes Element von jeder Einrichtung als ein Programm implementiert ist.
  • Jede Einrichtung weist eine Hardwarekonfiguration auf, in welcher eine Recheneinrichtung 901, eine externe Speichereinrichtung 902, eine Hauptspeichereinrichtung 903, eine Kommunikationseinrichtung 904 und eine Eingabe-/Ausgabeeinrichtung 905 mit einem Bus verbunden sind.
  • Die Recheneinrichtung 901 ist eine CPU (Central Processing Unit = Zentrale Recheneinheit) oder dergleichen, welche ein Programm ausführt. Die externe Speichereinrichtung 902 ist zum Beispiel ein ROM (Read-Only-Memory), ein Flashspeicher, eine Festplatte oder dergleichen. Die Hauptspeichereinrichtung 903 ist zum Beispiel ein RAM (Random Access Memory) oder dergleichen. Die Kommunikationseinrichtung 904 ist zum Beispiel eine Kommunikationstafel oder dergleichen. Die Eingabe-/Ausgabeeinrichtung 905 ist zum Beispiel eine Maus, eine Tastatur, eine Anzeigeeinrichtung oder dergleichen.
  • Die Programme sind normalerweise in der externen Speichereinrichtung 902 gespeichert. Die Programme sind in die Hauptspeichereinrichtung 903 geladen und durch die Recheneinrichtung 901 ausgeführt.
  • Jedes Programm ist ein Programm, das eine Funktion implementiert, die als ein ”Teil” erläutert ist. Zudem speichert die externe Speichereinrichtung 902 auch ein Betriebssystem (OS). Das OS wird zumindest teilweise in die Hauptspeichereinrichtung 903 geladen. Die Recheneinrichtung 901 führt das Programm aus, während das OS ausgeführt wird.
  • In der Beschreibung von Ausführungsform 1 werden Informationen und so weiter, die als durch ein ”Teil” akquiriert, erzeugt, ausgegeben und so weiter erläutert sind, als Daten in der Hauptspeichereinrichtung 903 gespeichert.
  • Die Konfiguration gemäß 19 zeigt nur ein Beispiel der Hardwarekonfiguration von jeder Einrichtung. Die Hardwarekonfiguration von jeder Einrichtung ist nicht auf die in 19 gezeigte Konfiguration beschränkt. Jede Einrichtung kann eine andere Hardwarekonfiguration aufweisen.
  • Bezugszeichenliste
    • 10: kryptografisches System; 100: Schlüsselerzeugungseinrichtung; 110: Informationsakquirierungsteil; 120: Hauptschlüsselerzeugungsteil; 130: Benutzergeheimschlüsselerzeugungsteil; 140: Schlüsselausgabeteil; 200: Verschlüsselungseinrichtung; 210: Informationsakquirierungsteil; 220: Chiffretexterzeugungsteil; 230: Chiffretextausgabeteil; 300: Entschlüsselungseinrichtung; 310: Informationsakquirierungsteil; 320: Chiffretextbestimmungsteil; 330: Entschlüsselungsteil; 340: Ergebnisausgabeteil; 400: Hauptschlüsselaktualisierungseinrichtung; 410: Hauptschlüsselakquirierungseinrichtung; 420: Aktualisierungsinformationserzeugungsteil; 430: Hauptschlüsselaktualisierungsteil; 440: Aktualisierungsinformationsausgabeteil; 500: Chiffretextaktualisierungseinrichtung; 510: Chiffretextakquirierungsteil; 520: Chiffretextakquirierungsteil; 520: Chiffretextspeicherteil; 530: Aktualisierungsinformationsakquirierungsteil; 540: Chiffretextaktualisierungsteil; 550: Chiffretextausgabeteil; 600: Benutzergeheimschlüsselaktualisierungseinrichtung; 610: Benutzergeheimschlüsselakquirierungsteil; 620: Benutzergeheimschlüsselspeicherteil; 630: Aktualisierungsinformationsakquirierungsteil; 640: Benutzergeheimschlüsselaktualisierungsteil; 650: Benutzergeheimschlüsselausgabeteil; A: kanonische Basis; B, B*: Basis; B^, B*^: Subbasis; msk: geheimer Hauptschlüssel; mpk: öffentlicher Hauptschlüssel; Γ: Attributgruppe; S: Zugriffsstruktur; m: Nachricht; skΓ: Benutzergeheimschlüssel; skΓ': neuer Benutzergeheimschlüssel; cts: Chiffretext; cts': neuer Chiffretext; upk: Aktualisierungsinformationen; t: Identifikator; k*t: Schlüsselelement; X, W: Transformationsmatrix

Claims (8)

  1. Kryptografisches System, umfassend: eine Hauptschlüsselaktualisierungseinrichtung, um einen öffentlichen Hauptschlüssel, der eine Basis enthält, und einen geheimen Hauptschlüssel, der eine Basis enthält, welche sich von der im öffentlichen Hauptschlüssel enthaltenen Basis unterscheidet, zu akquirieren, um die im öffentlichen Hauptschlüssel enthaltene Basis mit Aktualisierungsinformationen zu aktualisieren, um einen neuen öffentlichen Hauptschlüssel zu erzeugen, und um die im geheimen Hauptschlüssel enthaltene Basis mit den Aktualisierungsinformationen zu aktualisieren, um einen neuen geheimen Hauptschlüssel zu erzeugen.
  2. Kryptografisches System nach Anspruch 1, ferner umfassend: eine Chiffretextaktualisierungseinrichtung, um einen Chiffretext zu akquirieren, der ein Chiffreelement enthält, das ein Vektor über der im öffentlichen Hauptschlüssel enthaltenen Basis ist, und um das im Chiffretext enthaltene Chiffreelement mit den Aktualisierungsinformationen zu aktualisieren, um einen neuen Chiffretext zu erzeugen.
  3. Kryptografisches System nach Anspruch 1 oder 2, ferner umfassend: eine Benutzergeheimschlüsselaktualisierungseinrichtung, um einen Benutzergeheimschlüssel zu akquirieren, der ein Schlüsselelement enthält, das ein Vektor über der im geheimen Hauptschlüssel enthaltenen Basis ist, und um das im Benutzergeheimschlüssel enthaltene Schlüsselelement mit den Aktualisierungsinformationen zu aktualisieren, um einen neuen Benutzergeheimschlüssel zu erzeugen.
  4. Kryptografisches System nach Anspruch 1, wobei der öffentliche Hauptschlüssel eine Subbasis von einer Basis B enthält, die durch eine Transformationsmatrix X aus einer kanonischen Basis A transformiert ist, wobei der geheime Hauptschlüssel eine Subbasis von einer Basis B* enthält, die durch eine Transformationsmatrix (XT)–1, die aus der Transformationsmatrix X erzeugt ist, aus der Basis B transformiert ist, und wobei die Hauptschlüsselaktualisierungseinrichtung die Subbasis von der Basis B mit einer Transformationsmatrix W, die den Aktualisierungsinformationen entspricht, multipliziert, um die Subbasis von der Basis B zu aktualisieren, und die Subbasis von der Basis B* mit einer Transformationsmatrix (WT)–1, die aus der Transformationsmatrix W erzeugt ist, multipliziert, um die Subbasis von der Basis B* zu aktualisieren.
  5. Kryptografisches System nach Anspruch 4, ferner umfassend eine Chiffretextaktualisierungseinrichtung, um einen Chiffretext zu akquirieren, der ein Chiffreelement enthält, das ein Vektor über der Basis B ist, und um das im Chiffretext enthaltene Chiffreelement mit der Transformationsmatrix W zu multiplizieren, um das Chiffreelement zu aktualisieren.
  6. Kryptografisches System nach Anspruch 4 oder 5, ferner umfassend: eine Benutzergeheimschlüsselaktualisierungseinrichtung, um einen Benutzergeheimschlüssel zu akquirieren, der ein Schlüsselelement enthält, das ein Vektor über der Basis B* ist, und um das im Benutzergeheimschlüssel enthaltene Schlüsselelement mit der Transformationsmatrix (WT)–1 zu multiplizieren, um das Schlüsselelement zu aktualisieren.
  7. Hauptschlüsselaktualisierungseinrichtung, umfassend: einen Hauptschlüsselakquirierungsteil, um einen öffentlichen Hauptschlüssel, der eine Basis enthält, und einen geheimen Hauptschlüssel, der eine Basis enthält, welche sich von der im öffentlichen Hauptschlüssel enthaltenen Basis unterscheidet, zu akquirieren; und einen Hauptschlüsselaktualisierungsteil, um die Basis, die im öffentlichen Hauptschlüssel enthalten ist, der durch den Hauptschlüsselakquirierungsteil akquiriert ist, mit Aktualisierungsinformationen zu aktualisieren, um einen neuen öffentlichen Hauptschlüssel zu erzeugen, und um die Basis, die im geheimen Hauptschlüssel enthalten ist, der durch den Hauptschlüsselakquirierungsteil akquiriert ist, mit den Aktualisierungsinformationen zu aktualisieren, um einen neuen geheimen Hauptschlüssel zu erzeugen.
  8. Hauptschlüsselaktualisierungsprogramm, welches einen Computer veranlasst, auszuführen: einen Hauptschlüsselakquirierungsprozess, um einen öffentlichen Hauptschlüssel, der eine Basis enthält, und einen geheimen Hauptschlüssel, der eine Basis enthält, welche sich von der im öffentlichen Hauptschlüssel enthaltenen Basis unterscheidet, zu akquirieren; und einen Hauptschlüsselaktualisierungsprozess, um die Basis, die im öffentlichen Hauptschlüssel enthalten ist, der durch den Hauptschlüsselakquirierungsprozess akquiriert ist, mit Aktualisierungsinformationen zu aktualisieren, um einen neuen öffentlichen Hauptschlüssel zu erzeugen, und um die Basis, die im geheimen Hauptschlüssel enthalten ist, der durch den Hauptschlüsselakquirierungsprozess akquiriert ist, mit den Aktualisierungsinformationen zu aktualisieren, um einen neuen geheimen Hauptschlüssel zu erzeugen.
DE112014007235.4T 2014-12-05 2014-12-05 Kryptografisches System, Hauptschlüsselaktualisierungseinrichtung und Hauptschlüsselaktualisierungsprogramm Pending DE112014007235T5 (de)

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
PCT/JP2014/082256 WO2016088251A1 (ja) 2014-12-05 2014-12-05 暗号システム、マスター鍵更新装置及びマスター鍵更新プログラム

Publications (1)

Publication Number Publication Date
DE112014007235T5 true DE112014007235T5 (de) 2017-09-28

Family

ID=56091223

Family Applications (1)

Application Number Title Priority Date Filing Date
DE112014007235.4T Pending DE112014007235T5 (de) 2014-12-05 2014-12-05 Kryptografisches System, Hauptschlüsselaktualisierungseinrichtung und Hauptschlüsselaktualisierungsprogramm

Country Status (5)

Country Link
US (1) US10454673B2 (de)
JP (1) JP6266130B2 (de)
CN (1) CN107005406B (de)
DE (1) DE112014007235T5 (de)
WO (1) WO2016088251A1 (de)

Families Citing this family (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
KR101994236B1 (ko) * 2017-04-21 2019-09-30 한국전자통신연구원 프라이버시 보존형 각도 기반 이상치 검출 방법 및 장치
US11593528B2 (en) * 2019-04-08 2023-02-28 The Regents Of The University Of California Compact key with reusable common key for encryption
WO2021258109A1 (en) * 2020-06-17 2021-12-23 The Regents Of The University Of California Extra-compact key with reusable common key for encryption

Family Cites Families (15)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP3965206B2 (ja) 2002-03-20 2007-08-29 松下電器産業株式会社 コンテンツを再生する再生装置
JP3965126B2 (ja) 2002-03-20 2007-08-29 松下電器産業株式会社 コンテンツを再生する再生装置
JP2005176144A (ja) * 2003-12-12 2005-06-30 Ntt Docomo Inc 端末装置、通信システム及び通信方法
JP5043408B2 (ja) 2006-11-27 2012-10-10 三菱電機株式会社 鍵管理サーバ、端末、鍵共有システム、鍵配信プログラム、鍵受信プログラム、鍵配信方法及び鍵受信方法
JP5349261B2 (ja) * 2009-04-23 2013-11-20 三菱電機株式会社 暗号処理システム、鍵生成装置、鍵委譲装置、暗号化装置、復号装置、暗号処理方法及び暗号処理プログラム
EP2503533B1 (de) * 2009-11-20 2016-10-05 Mitsubishi Electric Corporation Verschlüsselungsverarbeitungssystem, schlüsselerzeugungsvorrichtung, schlüsseldelegationsvorrichtung, entschlüsselungsvorrichtung, verschlüsselungsverarbeitungsverfahren und verschlüsselungsverarbeitungsprogramm
EP2525340B1 (de) * 2010-01-15 2018-06-06 Mitsubishi Electric Corporation Vertrauliches suchsystem und verschlüsselungsverarbeitungssystem
JP5424974B2 (ja) 2010-04-27 2014-02-26 三菱電機株式会社 暗号処理システム、鍵生成装置、暗号化装置、復号装置、署名処理システム、署名装置及び検証装置
CN102546161A (zh) * 2010-12-08 2012-07-04 索尼公司 可撤销的基于密文政策的属性基密码方法、设备和系统
US9276746B2 (en) * 2011-01-18 2016-03-01 Mitsubishi Electric Corporation Encryption system, encryption processing method of encryption system, encryption device, decryption device, setup device, key generation device, and key delegation device using a user identifier for a user who belongs to a k-th hierarchy in an organization
JP5469618B2 (ja) 2011-01-19 2014-04-16 日本電信電話株式会社 暗号化システム、復号方法、鍵更新方法、鍵生成装置、受信装置、代理計算装置、プログラム
JP5606351B2 (ja) * 2011-02-09 2014-10-15 三菱電機株式会社 暗号処理システム、鍵生成装置、暗号化装置、復号装置、鍵委譲装置、暗号処理方法及び暗号処理プログラム
JP5367039B2 (ja) 2011-09-30 2013-12-11 株式会社東芝 サーバ装置及びプログラム
JP5677273B2 (ja) * 2011-11-18 2015-02-25 三菱電機株式会社 暗号処理システム、暗号処理方法、暗号処理プログラム及び鍵生成装置
CN103297227B (zh) * 2013-07-02 2016-03-23 西安电子科技大学 支持灵活且直接撤销的密文策略下基于属性的加密

Also Published As

Publication number Publication date
CN107005406B (zh) 2020-07-17
CN107005406A (zh) 2017-08-01
US20170331622A1 (en) 2017-11-16
WO2016088251A1 (ja) 2016-06-09
JPWO2016088251A1 (ja) 2017-04-27
US10454673B2 (en) 2019-10-22
JP6266130B2 (ja) 2018-01-24

Similar Documents

Publication Publication Date Title
DE102019208032A1 (de) Verfahren und system für fehlertolerante und sichere mehrparteienberechnung mit spdz
DE60313704T2 (de) Verfahren und Vorrichtung zur Erzeugung eines Geheimschlüssels
DE69917356T2 (de) Sicherheitstechnik an einem Computernetzwerk
DE602004001273T2 (de) Verfahren und Vorrichtung zur Identifiezierungsbasierten Verschlüsselung
CN102546181B (zh) 基于密钥池的云存储加解密方法
EP3218893B1 (de) Gehärtete white box implementierung
DE112015005893B4 (de) Systeme und Verfahren für ein Mehrfachwert-Packungsschema für homomorphe Verschlüsselung
DE60215332T2 (de) System und Verfahren zum Verabreiten eines gemeinsamen Geheimnisses
DE112014007083T5 (de) Servervorrichtung, Suchsystem, Endgerätevorrichtung, Suchverfahren, Serverprogramm und Endgeräteprogramm
EP2998948B1 (de) Verschlüsselungssystem, verschlüsselungsverfahren und verschlüsselungsprogramm
CH708239B1 (de) Schlüsseleinigungsprotokoll.
DE60025401T2 (de) Erzeugung eines mathematischen eingeschränkten schlüssels unter verwendung einer einwegfunktion
DE112017007095T5 (de) Verschlüsselungsvorrichtung und entschlüsselungsvorrichtung
WO2009133206A1 (de) Verfahren zur bestimmung einer kette von schlüsseln, verfahren zur übertragung einer teilkette der schlüssel, computersystem und chipkarte
DE102019113249A1 (de) Wertevergleichsserver, wertevergleichsverschlüsselungssystem und wertevergleichsverfahren
DE112014007235T5 (de) Kryptografisches System, Hauptschlüsselaktualisierungseinrichtung und Hauptschlüsselaktualisierungsprogramm
DE102019120485A1 (de) Zufallszahlengenerator, Verschlüsselungsvorrichtung mit demselben und Verfahren zum Betreiben der Verschlüsselungsvorrichtung
DE112014007226B4 (de) Entschlüsselungsbedingungs-Hinzufügungsvorrichtung, kryptografisches System und Entschlüsselungsbedingungs-Hinzufügungsprogramm
DE112018002723B4 (de) System, verfahren und vorrichtung zur verschleierung von vorrichtungsoperationen
DE102020207980B3 (de) Anonymisierte Erzeugung und Prüfung verarbeiteter Daten
DE102015208899A1 (de) Vorrichtung und Verfahren zur flexiblen Erzeugung von kryptographischen privaten Schlüsseln und Gerät mit flexibel erzeugten kryptographischen privaten Schlüsseln
DE10248006B4 (de) Verfahren und Vorrichtung zum Verschlüsseln von Daten
EP1596527B1 (de) Übergang von einer booleschen Maskierung zu einer arithmetischen Maskierung
EP1222527A1 (de) Verfahren zum erzeugen von pseudozufallszahlen und verfahren für elektronische signatur
DE112019006051T5 (de) Sicheres-rechnen-einrichtung und client-einrichtung

Legal Events

Date Code Title Description
R012 Request for examination validly filed
R084 Declaration of willingness to licence
R016 Response to examination communication