-
Gebiet der Technik
-
Die vorliegende Offenbarung bezieht sich auf eine Proxy-Neuverschlüsselungs-(PRE)-Technik in der funktionellen Verschlüsselung oder der attributbasierten Verschlüsselung, bei der ein Zugriffsbereich festgelegt werden kann.
-
Hintergrund zum Stand der Technik
-
PRE ist ein System, bei dem die Entschlüsselungsbefugnis für einen Chiffretext an eine andere Person übertragen wird, ohne den Chiffretext zu entschlüsseln.
-
In der Nicht-Patentliteratur 1 wird ein PRE-Schema bei attributbasierter Verschlüsselung (attributbasierte PRE, ABPRE) beschrieben. In der Nicht-Patentliteratur 2 wird ein Schema der attributbasierten Verschlüsselung beschrieben, bei dem ein bestimmter Nutzer beliebige Attributänderungen vornehmen kann (anpassbare, attributbasierte Verschlüsselung, Ad-PRE). In der Patentliteratur 1 wird ein PRE-Schema beschrieben, bei dem eine Zunahme der Datengröße eines Chiffretextes beim Wiederverschlüsseln im Vergleich zu Nicht-Patentliteratur 1 und Nicht-Patentliteratur 2 reduziert wird.
-
Liste der Entgegenhaltungen
-
Patentliteratur
-
-
US 2015 / 0 318 988 A1 betrifft eine funktionale Proxy-Neuverschlüsselung.
-
Nicht-Patentliteratur
-
Nicht-Patentliteratur 1: Song Luo, Jianbin Hu und Zhong Chen „Ciphertext Policy Attribute-Based Proxy Re-encryption“ Nicht-Patentliteratur 2: Junzuo Lai and Robert H. Deng and Yanjiang Yang and Jian Weng. „Adaptable Ciphertext-Policy Attribute-Based Encryption“
-
Kurzfassung der Erfindung
-
Technisches Problem
-
Bei dem in der Nichtpatentliteratur 1 beschriebenen PRE-Schema besteht das Problem darin, dass die Datengröße eines Chiffretextes bei jeder erneuten Durchführung von Verschlüsselung zunimmt. Insbesondere bei Durchführung einer N-maligen Neuverschlüsselung erhöht sich die Datengröße eines Chiffretextes um eine Größe, die proportional zu N ist. Daher besteht ein zweckmäßigkeitsbezogenes Problem, dass bei wiederholter Durchführung von Neuverschlüsselung die Datengröße eines Chiffretextes eine vom System festgelegte Größe überschreiten kann.
-
Wenn Daten einmal entschlüsselt und dann neuverschlüsselt werden, können Daten, die vergrößert wurden, gelöscht werden. Die einmalige Entschlüsselung der Daten führt jedoch dazu, dass die Daten wieder zu einem Klartext werden, so dass es ein Sicherheitsproblem gibt.
-
Bei dem in Nicht-Patentliteratur 2 beschriebenen PRE-Schema kann eine Entität mit einer bestimmten hochrangigen Autorität einen Zugriffsbereich für jeden beliebigen Chiffretext frei ändern. Da jedoch der Zugriffsbereich für jeden beliebigen Chiffretext beliebig verändert werden kann, ergibt sich ein Sicherheitsproblem.
-
Bei dem in der Patentliteratur 1 beschriebenen PRE-Schema kann eine Zunahme der Datengröße eines Chiffretextes beim Neuverschlüsseln unterdrückt werden. Die Datengröße eines Chiffretextes nimmt jedoch proportional zur Anzahl von Malen von Durchführung von Neuverschlüsselung zu, wie in Nicht-Patentliteratur 1 und Nicht-Patentliteratur 2.
-
Eine Aufgabe der vorliegenden Offenbarung besteht darin, die Datengröße eines durch Neuverschlüsselung generierten Chiffretextes nicht von der Anzahl von Malen von Durchführung der Neuverschlüsselung abhängig zu machen.
-
Lösung der des Problems
-
Eine Neuverschlüsselungseinrichtung gemäß der vorliegenden Offenbarung weist auf:
- eine Chiffretext-Erwerbungseinheit, um einen Chiffretext ctS aus einem Sitzungsschlüssel K und den Chiffretext ctS, in dem der Sitzungsschlüssel K verschlüsselt ist, die durch einen Verschlüsselungsalgorithmus unter Verwendung als Eingabe von Attributinformationen S, die einen Bereich definieren, für den Entschlüsselung zuzulassen ist, generiert werden, zu erwerben;
- eine Schlüssel-Erwerbungseinheit, um einen Neuverschlüsselungsschlüssel rk, enthaltend einen konvertierten Entschlüsselungsschlüssel skΓ~, der durch Setzen einer Zufallszahl r in einen Entschlüsselungsschlüssel skΓ generiert wird, mit dem der Chiffretext ctS entschlüsselt werden kann, einen Sitzungsschlüssel K' und einen Chiffretext ctS', in dem der Sitzungsschlüssel K' verschlüsselt ist, die durch den Verschlüsselungsalgorithmus unter Verwendung als Eingabe von Attributinformationen S', die einen Bereich definieren, für den Entschlüsselung zuzulassen ist, und Konvertierungsinformationen, die aus der Zufallszahl r generiert werden, generiert werden, zu erwerben;
- eine Neuverschlüsselter-Chiffretext-Generierungseinheit, um ein Chiffreelement K~ durch Löschen eines Elements, das sich auf die Zufallszahl r bezieht, durch die Konvertierungsinformationen aus Entschlüsselungsinformationen K^, und Setzen des Sitzungsschlüssels K', wobei die Entschlüsselungsinformationen K^ durch Entschlüsseln des Chiffretextes cts mit dem konvertierten Entschlüsselungsschlüssel skΓ ~, der in dem Neuverschlüsselungsschlüssel rk enthalten ist, erhalten werden, zu generieren; und
- eine Ausgabeeinheit, um einen neuverschlüsselten Chiffretext rctS', der das Chiffreelement K~ und den Chiffretext ctS' enthält, auszugeben.
-
Vorteilhafte Wirkungen der Erfindung
-
In der vorliegenden Offenbarung enthält ein neuverschlüsselter Chiffretext rctS' ein Chiffreelement K~, das aus einem Sitzungsschlüssel K und einem Sitzungsschlüssel K' generiert wird und einen Chiffretext ctS' enthält. Der Sitzungsschlüssel K' wird durch Entschlüsseln des Chiffretextes ctS' mit einem Entschlüsselungsschlüssel skΓ' generiert, und der Sitzungsschlüssel K kann aus dem Chiffreelement K~ und dem Sitzungsschlüssel K' generiert werden.
-
Auch wenn ein Chiffretext ctS' als ein Chiffretext cts behandelt wird, um einen neuverschlüsselten Chiffretext rctS' zu generieren, wird ein ähnlicher neuverschlüsselter Chiffretext rctS' ausgegeben und ein Sitzungsschlüssel K kann auf ähnliche Weise generiert werden.
-
Daher ist es möglich, die Datengröße eines durch Neuverschlüsselung generierten Chiffretextes nicht von der Anzahl von Malen von Durchführung von Neuverschlüsselungen abhängig zu machen.
-
Kurzbeschreibung der Zeichnungen
-
- 1 ist eine erläuternde Zeichnung einer Matrix M^ gemäß einer ersten Ausführungsform;
- 2 ist eine erläuternde Zeichnung einer Matrix Mδ gemäß der ersten Ausführungsform;
- 3 ist eine erläuternde Zeichnung von so gemäß der ersten Ausführungsform;
- 4 ist eine erläuternde Zeichnung von s→T gemäß der ersten Ausführungsform;
- 5 ist ein Konfigurationsdiagramm eines kryptografischen Systems 100 gemäß der ersten Ausführungsform;
- 6 ist ein Konfigurationsdiagramm einer gemeinsamer-Parameter-Generierungseinrichtung 10 gemäß der ersten Ausführungsform;
- 7 ist ein Konfigurationsdiagramm einer Nutzer-Geheimschlüssel-Generierungseinrichtung 20 gemäß der ersten Ausführungsform;
- 8 ist ein Konfigurationsdiagramm einer Verschlüsselungseinrichtung 30 gemäß der ersten Ausführungsform;
- 9 ist ein Konfigurationsdiagramm einer Neuverschlüsselungsschlüssel-Generierungseinrichtung 40 gemäß der ersten Ausführungsform;
- 10 ist ein Konfigurationsdiagramm einer Neuverschlüsselungseinrichtung 50 gemäß der ersten Ausführungsform;
- 11 ist ein Konfigurationsdiagramm einer Entschlüsselungseinrichtung 60 gemäß der ersten Ausführungsform;
- 12 ist ein Flussdiagramm, das eine Funktionsweise der Gemeinsamer-Parameter-Generierungseinrichtung 10 gemäß der ersten Ausführungsform darstellt;
- 13 ist ein Flussdiagramm, das eine Funktionsweise der Nutzer-Geheimschlüssel-Generierungseinheit 20 gemäß der ersten Ausführungsform darstellt;
- 14 ist ein Flussdiagramm, das eine Funktionsweise der Verschlüsselungseinrichtung 30 gemäß der ersten Ausführungsform darstellt;
- 15 ist ein Flussdiagramm, das eine Funktionsweise der Neuverschlüsselungsschlüssel-Generierungseinrichtung 40 gemäß der ersten Ausführungsform darstellt;
- 16 ist ein Flussdiagramm, das eine Funktionsweise der Neuverschlüsselungseinrichtung 50 gemäß der ersten Ausführungsform darstellt;
- 17 ist ein Flussdiagramm, das eine Funktionsweise der Entschlüsselungseinrichtung 60, wenn ein Chiffretext cts entschlüsselt wird, gemäß der ersten Ausführungsform darstellt; und
- 18 ist ein Flussdiagramm, das eine Funktionsweise der Entschlüsselungseinrichtung 60, wenn ein neuverschlüsselter Chiffretext rctS' neuverschlüsselt wird, gemäß der ersten Ausführungsform darstellt.
-
Beschreibung von Ausführungsformen
-
Erste Ausführungsform
-
*** Voraussetzungen ***
-
<Beschreibung der Notationen>
-
Wenn A eine Zufallsvariable oder Verteilung ist, drückt Formel 101 aus, dass y gemäß der Verteilung von A aus A zufällig ausgewählt wird. Das heißt, y in Formel 101 ist eine Zufallszahl.
-
Wenn A eine Menge ist, drückt Formel 102 aus, dass y aus A gleichverteilt ausgewählt wird. Das heißt, y in Formel 102 ist eine gleichverteilte Zufallszahl.
-
Formel 103 drückt aus, dass y eine Menge ist, die durch z definiert wird, oder dass y eine durch z ersetzte Menge ist.
-
Wenn a eine Konstante ist, drückt Formel 104 aus, dass eine Maschine (ein Algorithmus) A a ausgibt, wenn x eingegeben wird.
-
Formel 105, das heißt F
q, drückt ein endliches Feld der Ordnung q aus.
-
Die Formel 106 wird als Formel 107 dargestellt.
-
Eine Vektordarstellung drückt eine Vektordarstellung in dem endlichen Feld F
q aus. Das heißt, diese ist in Formel 108 angegeben.
-
Es sei angemerkt, dass XT die Transponierte einer Matrix X bezeichnet.
-
Ein Element in einem Vektorraum der Formel 109 wird als Formel 110 dargestellt.
-
Im Fall von Formel 111 wird ein Unterraum, der durch b
i, ..., b
n gebildet wird, als Formel 112 dargestellt.
-
Formel 113 drückt das in der Formel 115 angegebene Skalarprodukt zweier Vektoren x
→ und v
→ aus, die in Formel 114 angegeben sind.
-
Für eine Basis B und eine Basis B*, die in Formel 116 angegeben sind, wird Formel 117 erstellt.
-
Es sei angemerkt, dass e
→ j einen in Formel 118 angegebenen normalen Basisvektor bezeichnet.
-
GL(n, Fq) ist eine allgemeine lineare Gruppe der Dimension n über dem endlichen Feld Fq.
-
Für eine in Formel 119 angegebene Matrix W und ein in Formel 120 angegebenes Element g in einem n-dimensionalen Vektorraum V ist Formel 121 definiert.
-
<Symmetrisch-bilineare Paarungsgruppen>
-
Symmetrisch-bilineare Paarungsgruppen (q, G, GT, g, e) sind ein Tupel aus einer Primzahl q, einer zyklischen additiven Gruppe G der Ordnung q, einer zyklischen multiplikativen Gruppe GT der Ordnung q, g ≠ 0 ∈ G, und einer in einer Polynomialzeit berechenbaren, nicht ausgearteten bilinearen Zuordnung e: G × G → GT. Die bilineare Zuordnung bedeutet e(sg, tg) = e(g, g)st und e(g, g) ≠ 1.
-
In der folgenden Beschreibung, angenommen, dass Gbpg ein Algorithmus ist, der als Eingabe 1λ nimmt und Werte eines Parameters paramG := (q, G, GT, g, e) von bilinearen Paarungsgruppen mit einem Sicherheitsparameter 1λ ausgibt.
-
<Dualpaarungs-Vektorräume>
-
Dualpaarungs-Vektorräume (q, V, G
T, A, e) können aus einem direkten Produkt der symmetrisch-bilinearen Paarungsgruppen konstruiert werden (param
G := (q, G, G
T, g, e)). Die Dualpaarungs-Vektorräume (q, V, G
T, A, e) sind ein Tupel aus einer Primzahl q, einem N-dimensionalen Vektorraum V über F
q, wie in Formel 122 angegeben, einer zyklischen Gruppe G
T der Ordnung q und einer kanonischen Basis A := (a
1, ..., a
N) des Raumes V und einer Paarungsoperation e, wie in Formel 123 angegeben. Es sei angemerkt, dass a
i ist wie in Formel 124 angegeben.
-
Eine Paarung im Raum V wird von Formel 125 definiert. Dies ist nicht entartet. Das heißt e(sx, ty) = e(x, y)
st und falls e(x, y) = 1 für jedes y ∈ V, dann x = 0. Für jedes i und j gilt: e (a
i, a
j) = e(g, g)
δi,j, wobei δ
i,j = 1 falls i = j und δ
i,j = 0, falls i ≠ j und e(g, g) ≠ 1 ∈ G
T.
wobei
-
In der folgenden Beschreibung sei angenommen, dass Gdpvs ein Algorithmus ist, der 1λ (λ ∈ natürliche Zahlen), N ∈ natürliche Zahlen und die Werte des Parameters paramG := (q, G, GT, g, e) von bilinearen Paarungsgruppen als Eingabe nimmt, und Werte eines Parameters paramv:= (q, V, GT, A, e) von Dualpaarungs-Vektorräumen des N-dimensionalen Vektorraums V mit einem Sicherheitsparameter λ ausgibt.
-
<Attributbasierte Verschlüsselung für nicht-monotone Zugriffsstruktur>
-
Bei der attributbasierten Verschlüsselung handelt es sich um ein Verschlüsselungsschema, bei dem die Funktionen der Verschlüsselung mit öffentlichen Schlüssel oder der Kennungs-(ID)-basierten Verschlüsselung erweitert werden. Die ABE ist eine Verschlüsselung mit öffentlichem Schlüssel, bei der eine Menge von Attributen Γ in einem von einem Chiffretext und einem Entschlüsselungsschlüssel und eine Zugriffsstruktur S für die Gesamtheit der Attribute in dem anderen von dem Chiffretext und dem Entschlüsselungsschlüssel festgelegt wird, und Entschlüsselung ist nur möglich, falls die Menge von Attributen Γ der Zugriffsstruktur S genügt.
-
Die ABE, bei der eine Zugriffsstruktur in einem Chiffretext festgelegt ist, wird als Chiffretext-Richtlinie-Attributbasierte-Verschlüsselung (CP-ABE) bezeichnet, und die ABE, bei der eine Zugriffsstruktur in einem Entschlüsselungsschlüssel festgelegt ist, wird als Schlüssel-Richtlinie-Attributbasierte-Verschlüsselung (KP-ABE) bezeichnet. In einer ersten Ausführungsform wird die CP-ABE erläutert. Es ist jedoch einfach, die CP-ABE in die KP-ABE zu konvertieren. Bei der ABE kann ein bedingter Ausdruck mit logischer Summe (OR) und logischer Konjunktion (AND) als eine Zugriffsstruktur festgelegt werden. Damit kann ein Zugriffsrecht wie „Abteilung A und mindestens Abteilungsleiter“ festgelegt werden, so dass die CP-ABE als nützlich für den sicheren Dateiaustausch in einem Unternehmen usw. angesehen wird.
-
<Span-Programm und nicht-monotone Zugriffsstruktur>
-
Eine Matrix M^ wird unter Bezugnahme auf 1 erläutert. Es sei angenommen, dass {p1, ..., pn} eine Menge von Variablen ist. M^ := (M, ρ) ist eine gekennzeichnete Matrix. Die Matrix M ist eine (L Zeilen × r Spalten) Matrix über Fq, und p ist eine Kennung von Spalten der Matrix M und bezieht sich auf eines von Literalen {p1, ..., pn, ¬p1, ..., ¬pn}. Eine Kennung ρi (i = 1, ..., L) jeder Zeile von M bezieht sich auf eines der Literale. Das heißt, ρ : {1, ..., L} → {p1, ..., pn, ¬p1, ..., ¬pn}.
-
Für jede Eingabesequenz δ ∈ {0, 1}n wird eine Untermatrix Mδ der Matrix M definiert. Die Matrix Mδ ist eine Untermatrix, die aus denjenigen Zeilen der Matrix M gebildet ist, deren Kennungen p sich durch die Eingabesequenz δ auf einen Wert „1“ beziehen. Das heißt, die Matrix Mδ ist eine Untermatrix, die aus den Zeilen der Matrix M gebildet ist, die sich auf pi beziehen, so dass δi = 1 ist, und den Zeilen der Matrix M, die sich auf ¬pi beziehen, so dass δi = 0.
-
Die Matrix Mδ wird unter Bezugnahme auf 2 erläutert. Es sei angemerkt, dass n = 7, L = 6 und r = 5 in 2. Das heißt, die Menge von Variablen ist {p1, ..., p7}, und die Matrix M ist eine (6 Zeilen × 5 Spalten) Matrix. In 2 wird angenommen, dass sich die Kennungen ρ so aufeinander beziehen, dass sich ρ1 auf ¬p2, ρ2 auf p1, ρ3 auf p4, ρ4 auf ¬p5, ρ5 auf ¬p3 und ρ6 auf ρ5 beziehen.
-
Es wird angenommen, dass in einer Eingabesequenz δ ∈ {0, 1}7, δ1 = 1, δ2 = 0, δ3 = 1, δ4 = 0, δ5 = 0, δ6 = 1, and δ7 = 1. In diesem Fall ist eine Untermatrix, die aus den Zeilen der Matrix M gebildet, die sich auf Literale beziehen (p1, p3, p6, p7, ¬p2, ¬p4, ¬p5), die von gestrichelten Linien umgeben sind, die Matrix Mδ. Das heißt, die Untermatrix, die aus der ersten Zeile (M1), der zweiten Zeile (M2) und der vierten Zeile (M4) der Matrix M gebildet ist, ist die Matrix Mδ.
-
Mit anderen Worten, falls Zuordnung γ : {1, ..., L} -> {0, 1} [ρ(j) = pi] ^ [δi = 1] oder [ρ(j) = ¬pi] ^ [δi = 0] ist, dann γ(j) = 1; andernfalls γ(j) = 0. In diesem Fall ist Mδ := (Mj)γ(j)=1. Es sei angemerkt, dass Mj die j-te Zeile der Matrix M ist.
-
Das heißt, in 2 ist die Zuordnung γ(j) = 1 (j = 1, 2, 4) und die Zuordnung γ(j) = 0 (j = 3, 5, 6). Daher ist (Mj)γ(j)=1 M1, M2, und M4, und ist die Matrix Mδ.
-
Konkreter, ob die j-te Zeile der Matrix M in der Matrix Mδ enthalten ist oder nicht, wird insbesondere davon abhängig bestimmt, ob der Wert der Zuordnung γ(j) „0“ oder „1“ ist.
-
Ein Span-Programm M^ akzeptiert eine Eingabesequenz δ falls und nur falls 1→ ∈ span<Mδ>, und lehnt die Eingabesequenz δ andernfalls ab. Das heißt, das Span-Programm M^ akzeptiert die Eingabesequenz δ falls und nur falls eine Linearkombination der Zeilen der Matrix Mδ, die aus der Matrix M^ durch die Eingabesequenz δ erhalten werden, 1→ ergibt. Es sei angemerkt, dass 1→ ein Zeilenvektor ist, der in jedem Element einen Wert „1“ hat. Das heißt, in einem Beispiel von 2, akzeptiert das Span-Programm M^ die Eingabesequenz δ falls und nur falls eine Linearkombination der jeweiligen Zeilen der Matrix Mδ, die aus der ersten, zweiten und vierten Zeile der Matrix M gebildet ist, 1→ ergibt. Das heißt, falls es α1, α2 und α4 gibt, bei denen α1(M1) + α2(M2) + α4(M4) = 1→ ist, akzeptiert das Span-Programm M^ die Eingabesequenz δ.
-
Das Span-Programm wird als monoton bezeichnet, falls sich seine Kennungen p nur auf positive Literale {p1, ..., pn} beziehen. Das Span-Programm wird als monoton bezeichnet, falls seine Kennungen p nur auf die Literale {p1, ..., pn, ¬p1, ..., ¬pn} bezogen sind. Dabei wird hier angenommen, dass das Span-Programm zum nicht-monoton ist. Eine Zugriffsstruktur (nicht-monotone Zugriffsstruktur) wird mit Hilfe des nicht-monotonen Span-Programms aufgebaut. Kurz gesagt, eine Zugriffsstruktur kontrolliert den Zugang zur Verschlüsselung. Das heißt, sie kontrolliert, ob ein Chiffretext entschlüsselt werden kann oder nicht.
-
<Skalarprodukt aus Attributinformationen und Zugriffsstruktur>
-
Die oben beschriebene Zuordnung γ(j) wird mit Hilfe eines Skalarprodukts von Attributinformationen berechnet. Das heißt, das Skalarprodukt der Attributinformationen wird verwendet, um zu bestimmen, welche Zeilen der Matrix M in die Matrix Mδ aufgenommen werden sollen.
-
Ut (t = 1, ..., d und Ut ⊂ {0, 1}*) ist ein Sub-Universum und eine Menge von Attributen. Jedes Ut enthält Identifikationsinformationen (t) des Sub-Universums und einen n-dimensionalen Vektor (v→). Das heißt, Ut ist (t, v→), wobei t ∈ {1, ..., d} und v→ ∈ Fq n.
-
Es sei angenommen, dass Ut := (t, v→) eine Variable p in einem Span-Programm M^ := (M, ρ) ist. Das heißt, p := (t, v→). Es sei angenommen, dass das Span-Programm M^ := (M, ρ) mit der Variablen (p := (t, v→), (t, v'→), ...) eine Zugriffstruktur S ist.
-
Das heißt, die Zugriffsstruktur S := (M, ρ) und ρ:{1, ..., L}→{(t, v→), (t, v'→), ..., ¬(t, v→), ¬(t, v'→),...}.
-
Als nächstes sei angenommen, dass Γ eine Menge von Attributen ist. Das heißt, Γ := {(t, x→ t) | x→ t ∈ Fqn, 1 ≤ t ≤ d}.
-
Wenn Γ der Zugriffsstruktur S gegeben ist, wird eine Zuordnung γ:{1, ..., L}→{0, 1} für das Span-Programm M^ := (M, ρ) wie unten beschrieben definiert. Falls [ρ(i) = (t, v→i)] ^ [(t, x→t) ∈ Γ] ^ [v→ i·x→t = 0] oder [ρ(i) = ¬(t, v→i)] ^ [(t, x→ t) ∈ Γ] ^ [v→ i·x→ t ≠ 0] für jede ganze Zahl i von i = 1, ..., L, dann ist γ(j) = 1, und andernfalls y(j) = 0.
-
Das heißt, die Zuordnung γ wird auf Grundlage des Skalarprodukts der Attributinformationen v→ und x→ berechnet. Welche Zeilen der Matrix M in die Matrix Mδ aufgenommen werden, wird dann wie oben beschrieben durch die Zuordnung γ bestimmt. Das heißt, welche Zeilen der Matrix M in die Matrix Mδ aufgenommen werden sollen, wird durch das Skalarprodukt der Attributinformationen v→ und x→ bestimmt, und falls und nur falls 1→ ∈ span<(Mi)γ(i)=1>, akzeptiert die Zugriffsstruktur S := (M, ρ) Γ.
-
<Geheimverteilungsschema>
-
Die Geheimverteilung in einer nicht-monotonen Zugriffsstruktur (oder einem Span-Programm) wird definiert.
-
Das Geheimverteilungsschema verteilt Geheiminformationen, um sie zu unsinnigen verteilten Informationen zu machen. Zum Beispiel werden Ge- heiminformationen s in 10 Teile aufgeteilt, um 10 Teile von verteilten Informationen zu generieren. Jedes der 10 Teile von verteilten Informationen enthält keine Informationen über die Geheiminformationen s. Selbst wenn also eines der Teile von verteilten Informationen erlangt wird, können keine Informationen über die Geheiminformationen s erlangt werden. Wenn andererseits alle der 10 Teile von verteilten Informationen erlangt werden, können die Geheiminformationen s zurückgewonnen werden.
-
Es gibt ein anderes Geheimverteilungsschema, nach dem die Geheiminformationen s zurückgewonnen werden können, falls einige (zum Beispiel 8 Teile) von verteilten Informationen erlangt werden können, ohne alle der 10 Teile von verteilten Informationen zu erlangen. Ein solcher Fall, in dem die Geheiminformationen s mittels 8 Teilen von 10 Teilen von verteilten Informationen zurückgewonnen werden können, wird 8-von-10 genannt. Das heißt, ein Fall, in dem die Geheiminformationen s mittels t Teilen aus n Teilen von verteilten Informationen zurückgewonnen werden können, wird t-aus-n genannt. Dieses t wird als Schwellenwert bezeichnet.
-
Es gibt noch ein anderes Geheimverteilungsschema, nach dem, wenn 10 Teile von verteilten Informationen d1, ..., d10 generiert werden, die Geheiminformationen s mittels 8 Teilen von verteilten Informationen d1, ..., d8 zurückgewonnen werden können, aber die Geheiminformationen s nicht mit 8 Teilen von verteilten Informationen d3, ..., d10 zurückgewonnen werden können. Mit anderen Worten, es gibt auch ein Geheimverteilungsschema, bei dem nicht nur die Anzahl der Teile von erhaltenen verteilten Informationen, sondern auch die Kombination von erhaltenen verteilten Informationen darüber entscheidet, ob die Geheiminformationen s zurückgewonnen werden können oder nicht.
-
s0 wird unter Bezugnahme auf 3 erläutert. s→T wird unter Bezugnahme auf 4 erläutert.
-
Es sei angenommen, dass eine Matrix M eine (L Zeilen × r Spalten) Matrix ist. Es sei angenommen, dass f
→T ein in Formel 126 angegebener Spaltenvektor ist.
-
Es sei angenommen, dass der in Formel 127 angegebene Wert so zu teilende Geheiminformationen sind.
-
Es sei angenommen, dass s
→T, wie in Formel 128 angegeben, ein Vektor von L Teilen von verteilten Informationen von s
0 ist.
-
Es sei angenommen, dass die Verteilungsinformationen si zu p(i) gehören.
-
Falls die Zugriffsstruktur S := (M, ρ) Γ akzeptiert, das heißt, falls 1 → ∈ span<(Mi)γ(i)=1> für γ: {1, ..., L} → {0, 1}, dann gibt es Konstanten {αi ∈ Fq | i ∈ I}, so dass I ⊆ {i ∈ {1, ..., L} | γ(i) -= 1}.
-
Dies geht aus der Erläuterung über das Beispiel von 1 hervor, dass, falls es α1, α2, und α4 gibt, mit welchen α1(M1) + α2(M2) + α4(M4) = 1→ das Span-Programm M^ die Eingabesequenz akzeptiert δ. Das heißt, falls das Span-Programm M^ die Eingabesequenz akzeptiert, δ, wenn es α1, α2 und α4 gibt, mit welchen α1(M1) + α2(M2) + α4(M4) = 1→ dann gibt es α1, α2 und α4, mit welchen α1(M1) + α2(M2) + α4(M4) = 1→.
-
Es sei auf Formel 129 hingewiesen.
-
Es sei angemerkt, dass die Konstanten {αi} in einer Zeit berechnet werden können, die polynomial zur Größe der Matrix M ist.
-
*** Beschreibung von Konfigurationen ***
-
Unter Bezugnahme auf 5 wird eine Konfiguration eines kryptographischen Systems 100 gemäß der ersten Ausführungsform beschrieben.
-
Das kryptografische System 100 umfasst eine Gemeinsamer-Parameter-Generierungseinrichtung 10, Nutzer-Geheimschlüssel-Generierungseinrichtungen 20, Verschlüsselungseinrichtungen 30, eine Neuverschlüsselungsschlüssel-Generierungseinrichtung 40, eine Neuverschlüsselungseinrichtung 50 und eine Entschlüsselungseinrichtung 60.
-
Die Gemeinsamer-Parameter-Generierungseinrichtung 10, jede der Nutzer-Geheimschlüssel-Generierungseinrichtungen 20, der Neuverschlüsselungsschlüssel-Generierungseinrichtung 40, jede der Verschlüsselungseinrichtungen 30, die Neuverschlüsselungseinrichtung 50 und die Entschlüsselungseinrichtung 60 sind über eine Übertragungsleitung 70 verbunden. Ein konkretes Beispiel für die Übertragungsleitung 70 ist das Internet oder ein lokales Netzwerk (LAN).
-
Unter Bezugnahme auf 6 wird eine Konfiguration der Gemeinsamer-Parameter-Generierungseinrichtung 10 gemäß der ersten Ausführungsform beschrieben.
-
Die Gemeinsamer-Parameter-Generierungseinrichtung 10 ist ein Computer.
-
Die Gemeinsamer-Parameter-Generierungseinrichtung 10 weist als Hardware einen Prozessor 11, einen Arbeitsspeicher 12, einen Datenspeicher 13 und eine Kommunikationsschnittstelle 14 auf. Der Prozessor 11 ist über Signalleitungen mit anderen Hardware-Komponenten verbunden und steuert diese anderen Hardware-Komponenten.
-
Die Gemeinsamer-Parameter-Generierungseinrichtung 10 umfasst als funktionelle Komponenten eine Erwerbungseinheit 111, eine Parameter-Generierungseinheit 112 und eine Ausgabeeinheit 113. Die Funktionen der funktionellen Komponenten der Gemeinsamer-Parameter-Generierungseinrichtung 10 werden durch Software realisiert.
-
Der Datenspeicher 13 speichert Programme, die die Funktionen der funktionellen Komponenten der Gemeinsamer-Parameter-Generierungseinrichtung 10 realisieren. Diese Programme werden von dem Prozessor 11 in den Arbeitsspeicher 12 gelesen und von dem Prozessor 11 ausgeführt. Dadurch werden die Funktionen der funktionellen Komponenten der Gemeinsamer-Parameter-Generierungseinrichtung 10 realisiert.
-
Unter Bezugnahme auf 7 wird eine Konfiguration der Nutzer-Geheimschlüssel-Generierungseinheit 20 gemäß der ersten Ausführungsform beschrieben.
Die Nutzer-Geheimschlüssel-Generierungseinrichtung 20 ist ein Computer. Die Nutzer-Geheimschlüssel-Generierungseinrichtung 20 weist als Hardware einen Prozessor 21, einen Arbeitsspeicher 22, einen Datenspeicher 23 und eine Kommunikationsschnittstelle 24 auf. Der Prozessor 21 ist über Signalleitungen mit anderen Hardware-Komponenten verbunden und steuert diese anderen Hardware-Komponenten.
-
Die Nutzer-Geheimschlüssel-Generierungseinrichtung 20 umfasst als funktionelle Komponenten eine Erwerbungseinheit 211, eine Nutzer-Geheimschlüssel-Generierungseinheit 212 und eine Ausgabeeinheit 213. Die Funktionen der funktionellen Komponenten der Nutzer-Geheimschlüssel-Generierungseinrichtung 20 werden durch Software realisiert.
Der Datenspeicher 23 speichert Programme, die die Funktionen der funktionellen Komponenten der Nutzer-Geheimschlüssel-Generierungseinheit 20 realisieren. Diese Programme werden von dem Prozessor 21 in den Arbeitsspeicher 22 gelesen und von dem Prozessor 21 ausgeführt. Dadurch werden die Funktionen der funktionellen Komponenten der Nutzer-Geheimschlüssel-Generierungseinrichtung 20 realisiert.
-
Unter Bezugnahme auf 8 wird eine Konfiguration der Verschlüsselungseinrichtung 30 gemäß der ersten Ausführungsform beschrieben.
Die Verschlüsselungseinrichtung 30 ist ein Computer.
Die Verschlüsselungseinrichtung 30 weist als Hardware einen Prozessor 31, einen Arbeitsspeicher 32, einen Datenspeicher 33 und eine Kommunikationsschnittstelle 34 auf. Der Prozessor 31 ist über Signalleitungen mit anderen Hardware-Komponenten verbunden und steuert diese anderen Hardware-Komponenten.
-
Die Verschlüsselungseinrichtung 30 umfasst als funktionelle Komponente eine Erwerbungseinheit 311, eine Chiffretext-Generierungseinheit 312 und eine Ausgabeeinheit 313. Die Funktionen der funktionellen Komponenten der Verschlüsselungseinrichtung 30 werden durch Software realisiert. Der Datenspeicher 33 speichert Programme, die die Funktionen der funktionellen Komponenten der Verschlüsselungseinrichtung 30 realisieren. Diese Programme werden von dem Prozessor 31 in den Arbeitsspeicher 32 gelesen und von dem Prozessor 31 ausgeführt. Dadurch werden die Funktionen der funktionellen Komponenten der Verschlüsselungseinrichtung 30 realisiert.
-
Unter Bezugnahme auf 9 wird eine Konfiguration der Neuverschlüsselungsschlüssel-Generierungseinrichtung 40 gemäß der ersten Ausführungsform beschrieben.
Die Neuverschlüsselungsschlüssel-Generierungseinrichtung 40 ist ein Computer.
Die Neuverschlüsselungsschlüssel-Generierungseinrichtung 40 weist als Hardware einen Prozessor 41, einen Arbeitsspeicher 42, einen Datenspeicher 43 und eine Kommunikationsschnittstelle 44 auf. Der Prozessor 41 ist über Signalleitungen mit anderen Hardware-Komponenten verbunden und steuert diese anderen Hardware-Komponenten.
-
Die Neuverschlüsselungsschlüssel-Generierungseinrichtung 40 umfasst als funktionelle Komponenten eine Erwerbungseinheit 411, eine Neuverschlüsselungsschlüssel-Generierungseinheit 412 und eine Ausgabeeinheit 413. Die Funktionen der funktionellen Komponenten der Neuverschlüsselungsschlüssel-Generierungseinrichtung 40 werden durch Software realisiert. Der Datenspeicher 43 speichert Programme, die die Funktionen der funktionellen Komponenten der Neuverschlüsselungsschlüssel-Generierungseinrichtung 40 realisieren. Diese Programme werden von dem Prozessor 41 in den Arbeitsspeicher 42 gelesen und von dem Prozessor 41 ausgeführt. Dadurch werden die Funktionen der funktionellen Komponenten der Neuverschlüsselungsschlüssel-Generierungseinrichtung 40 realisiert.
-
Unter Bezugnahme auf 10 wird eine Konfiguration der Neuverschlüsselungseinrichtung 50 gemäß der ersten Ausführungsform beschrieben. Die Neuverschlüsselungseinrichtung 50 ist ein Computer.
-
Die Neuverschlüsselungseinrichtung 50 weist als Hardware einen Prozessor 51, einen Arbeitsspeicher 52, einen Datenspeicher 53 und eine Kommunikationsschnittstelle 54 auf. Der Prozessor 51 ist über Signalleitungen mit anderen Hardware-Komponenten verbunden und steuert diese anderen Hardware-Komponenten.
-
Die Neuverschlüsselungseinrichtung 50 umfasst als funktionelle Komponente eine Erwerbungseinheit 511, eine Neuverschlüsselter-Chiffretext-Generierungseinheit 512 und eine Ausgabeeinheit 513. Die Erwerbungseinheit 511 umfasst eine Chiffretext-Erwerbungseinheit 514 und eine Schlüssel-Erwerbungseinheit 515. Die Funktionen der funktionellen Komponenten der Neuverschlüsselungseinrichtung 50 werden durch Software realisiert. Der Datenspeicher 53 speichert Programme, die die Funktionen der funktionellen Komponenten der Neuverschlüsselungseinrichtung 50 realisieren. Diese Programme werden von dem Prozessor 51 in den Arbeitsspeicher 52 gelesen und von dem Prozessor 51 ausgeführt. Dadurch werden die Funktionen der funktionellen Komponenten der Neuverschlüsselungseinrichtung 50 realisiert.
-
Unter Bezugnahme auf 11 wird eine Konfiguration der Entschlüsselungseinrichtung 60 gemäß der ersten Ausführungsform beschrieben. Die Entschlüsselungseinrichtung 60 ist ein Computer. Die Entschlüsselungseinrichtung 60 weist als Hardware einen Prozessor 61, einen Arbeitsspeicher 62, einen Datenspeicher 63 und eine Kommunikationsschnittstelle 64 auf. Der Prozessor 61 ist über Signalleitungen mit anderen Hardware-Komponenten verbunden und steuert diese anderen Hardware-Komponenten.
-
Die Entschlüsselungseinrichtung 60 weist als funktionelle Komponenten eine Erwerbungseinheit 611, eine Entschlüsselungseinheit 612 und eine Ausgabeeinheit 613 auf. Die Funktionen der funktionellen Komponenten der Entschlüsselungseinrichtung 60 werden durch Software realisiert.
-
Der Datenspeicher 63 speichert Programme, die die Funktionen der funktionellen Komponenten der Entschlüsselungseinrichtung 60 realisieren. Diese Programme werden von dem Prozessor 61 in den Arbeitsspeicher 62 gelesen und von dem Prozessor 61 ausgeführt. Dadurch werden die Funktionen der funktionellen Komponenten der Entschlüsselungseinrichtung 60 realisiert.
-
Jeder von den Prozessoren 11, 21, 31, 41, 51 und 61 ist ein integrierter Schaltkreis (IC), der Verarbeitung durchführt. Konkrete Beispiele für jeden der Prozessoren 11, 21, 31, 41, 51 und 61 sind eine zentrale Verarbeitungseinheit (CPU), ein Digitalsignalprozessor (DSP) und eine Grafikverarbeitungseinheit (GPU).
-
Jeder von den Arbeitsspeichern 12, 22, 32, 42, 52 und 62 ist eine Speichereinrichtung zum temporären Speichern von Daten. Konkrete Beispiele für jeden von den Arbeitsspeichern 12, 22, 32, 42, 52 und 62 sind ein statischer Random-Access Memory (SRAM) und ein dynamischer Random-Access Memory (DRAM).
-
Jeder von den Datenspeichern 13, 23, 33, 43, 53 und 63 ist eine Speichereinrichtung zum Speichern von Daten. Ein konkretes Beispiel für jeden von den Datenspeichern 13, 23, 33, 43, 53 und 63 ist ein Festplattenlaufwerk (HDD). Alternativ dazu kann jeder von den Datenspeichern 13, 23, 33, 43, 53 und 63 ein tragbares Speichermedium sein, wie etwa eine Secure Digital-Datenspeicherkarte (SD, eingetragene Marke), Compact Flash (CF, eingetragene Marke), NAND-Flash, eine flexible Scheibe, eine optische Scheibe, eine Compact Disk, eine Blu-ray-Disk (eingetragene Marke) oder eine Digital Versatile Disk (DVD).
-
Jede von den Kommunikationsschnittstellen 14, 24, 34, 44, 54 und 64 ist eine Schnittstelle für eine Kommunikation mit externen Einrichtungen. Konkrete Beispiele für jede von den Kommunikationsschnittstellen 14, 24, 34, 44, 54 und 64 sind ein Ethernet-Port (eingetragene Marke), ein Universal Serial Bus(USB)-Port und ein High-Definition Multimedia Interface(HDMI, eingetragene Marke)-Port.
-
6 stellt nur einen Prozessor 11 dar. Es können jedoch eine Vielzahl von Prozessoren 11 enthalten sein, und die Vielzahl von Prozessoren 11 können die Programme zur Realisierung der jeweiligen Funktionen zusammenwirkend ausführen.
-
Ebenso können eine Vielzahl von Prozessoren 21, eine Vielzahl von Prozessoren 31, eine Vielzahl von Prozessoren 41, eine Vielzahl von Prozessoren 51 und eine Vielzahl von Prozessoren 61 enthalten sein, und die Vielzahl von Prozessoren 21, die Vielzahl von Prozessoren 31, die Vielzahl von Prozessoren 41, die Vielzahl von Prozessoren 51 und die Vielzahl von Prozessoren 61 können zusammenwirkend die Programme ausführen, die die jeweiligen Funktionen realisieren.
-
*** Beschreibung der Funktionsweise ***
-
Unter Bezugnahme auf 12 bis 18 wird die Funktionsweise des kryptographischen Systems 100 gemäß der ersten Ausführungsform beschrieben.
-
Das kryptografische System 100 nach der ersten Ausführungsform realisiert die AB-PRE. Hier wird von einem Schlüsselkapselungsmechanismus (KEM) und einem Datenkapselungsmechanismus (DEM) ausgegangen, und es wird ein Beispiel beschrieben, bei dem die AB-PRE als der KEM verwendet wird.
-
Die AB-PRE umfasst einen Setup-Algorithmus, einen KG-Algorithmus, einen RKG-Algorithmus, einen Enc-Algorithmus, einen REnc-Algorithmus und einen Dec-Algorithmus.
-
Der Setup-Algorithmus ist ein probabilistischer Algorithmus, der als Eingabe einen Sicherheitsparameter 1λ und Rauminformationen n→ nimmt und einen öffentlichen Schlüssel pk und einen geheimen Hauptschlüssel msk ausgibt.
-
Der KG-Algorithmus ist ein probabilistischer Algorithmus, der als Eingabe den öffentlichen Schlüssel pk, den geheimen Hauptschlüssel msk und die Attributinformationen Γ nimmt und einen Entschlüsselungsschlüssel skr ausgibt.
Der Enc-Algorithmus ist ein probabilistischer Algorithmus, der als Eingabe den öffentlichen Schlüssel pk und Attributinformationen S nimmt und einen Chiffretext cts und einen Sitzungsschlüssel K ausgibt.
Der RKG-Algorithmus ist ein probabilistischer Algorithmus, der als Eingabe den öffentlichen Schlüssel pk, den Entschlüsselungsschlüssel skr und die Attributinformationen S' nimmt und einen Neuverschlüsselungsschlüssel rk ausgibt. Der REnc-Algorithmus ist ein probabilistischer Algorithmus, der als Eingabe den öffentlichen Schlüssel pk, den Neuverschlüsselungsschlüssel rk und den Chiffretext cts nimmt und einen neuverschlüsselten Chiffretext rctS' ausgibt. Der Dec-Algorithmus ist ein deterministischer Algorithmus, der als Eingabe den öffentlichen Schlüssel pk, den Entschlüsselungsschlüssel skr und einen von dem Chiffretext cts und dem neuverschlüsselten Chiffretext rctS' nimmt und den Sitzungsschlüssel K ausgibt.
-
In der ersten Ausführungsform sind die Attributinformationen S und die Attributinformationen S' gleichbedeutend mit der oben beschriebenen Zugriffsstruktur S := (M, ρ).
-
In 12 wird die Funktionsweise der Gemeinsamer-Parameter-Generierungseinrichtung 10 gemäß der ersten Ausführungsform beschrieben. Ein Ablauf der Funktionsweise der Gemeinsamer-Parameter-Generierungseinrichtung 10 gemäß der ersten Ausführungsform ist gleichbedeutend mit einem gemeinsamer-Parameter-Generierungsverfahren gemäß der ersten Ausführungsform. Ein Programm, das die Funktionsweise der Gemeinsamer-Parameter-Generierungseinrichtung 10 gemäß der ersten Ausführungsform realisiert, ist gleichbedeutend mit einem Gemeinsamer-Parameter-Generierungsprogramm gemäß der ersten Ausführungsform. Die Gemeinsamer-Parameter-Generierungseinrichtung 10 führt den Setup-Algorithmus aus.
-
(Schritt 511: Erwerbungsprozess)
-
Die Erwerbungseinheit 111 erwirbt einen Sicherheitsparameter 1λ und Rauminformationen n→ := (d; n1, ..., nd).
-
Konkret erwirbt die Erwerbungseinheit 111 den Sicherheitsparameter 1λ und die Rauminformationen n→, die von einem Administrator oder dergleichen des kryptografischen Systems 100 über die Kommunikationsschnittstelle 14 eingegeben werden. Die Erwerbungseinheit 111 schreibt den Sicherheitsparameter 1λ und die Rauminformationen n→ in den Arbeitsspeicher 12. Die Rauminformationen n→ sind ein Parameter, der eine Konfiguration wie die Anzahl von Dimensionen der von dem kryptografischen System 100 verwendeten Dualpaarungs-Vektorräume bestimmt.
-
(Schritt S12: Parameter-Generierungsprozess)
-
Die Parameter-Generierungseinheit 112 generiert einen öffentlichen Schlüssel pk und einen geheimen Hauptschlüssel msk, unter Verwendung als Eingabe der Sicherheitsparameter 1λ und der erworbenen Rauminformationen n→, die in Schritt S11 erworben werden..
-
Insbesondere führt die Parameter-Generierungseinheit 112 einen in Formel 130 angegebenen Algorithmus G
ob aus, unter Verwendung als Eingabe der Sicherheitsparameter 1
λ und der Rauminformationen n
→, um param
n, ein Element gt und Basen {Bt, B*
t}
t=0,...,d zu generieren.
wobei
-
Die Parameter-Generierungseinheit 112 generiert Teilbasen {B^
t, B^*
t}
t=0,...,d auf Grundlage der Basen {Bt, B*
t}
t=0,...,d wie in Formel 131 angegeben.
-
Die Parameter-Generierungseinheit 112 generiert ein Element a, ein Element A und ein Element c, wie in Formel 132 angegeben.
-
Die Parameter-Generierungseinheit 112 setzt den Sicherheitsparameter 1λ, den paramn, das Element gt, die Teilbasis {B^t}t=0,...,d, das Element A und das Element c in den öffentlichen Schlüssel pk. Die Parameter-Generierungseinheit 112 setzt die Teilbasis {B^*t}t=0,...,d, das Element a und einen Basisvektor b*0,6 in den geheimen Hauptschlüssel msk.
-
(Schritt S13: Ausgabeprozess)
-
Die Ausgabeeinheit 113 gibt den öffentlichen Schlüssel pk und den geheimen Hauptschlüssel msk aus, die in Schritt S12 generiert wurden.
-
Insbesondere überträgt die Ausgabeeinheit 113 den öffentlichen Schlüssel pk über die Kommunikationsschnittstelle 14 an jede von den Nutzer-Geheimschlüssel-Generierungseinrichtungen 20, jede von den Verschlüsselungseinrichtungen 30, die Neuverschlüsselungsschlüssel-Generierungseinrichtung 40, die Neuverschlüsselungseinrichtung 50 und an die Entschlüsselungseinrichtung 60. Die Ausgabeeinheit 113 überträgt den geheimen Hauptschlüssel msk über die Kommunikationsschnittstelle 14 an jede von den Nutzer-Geheimschlüssel-Generierungseinrichtungen 20. Zu diesem Zeitpunkt überträgt die Ausgabeeinheit 113 den geheimen Hauptschlüssel msk, nachdem dieser durch ein Verfahren wie Verschlüsselung mit einem vorhandenen Verschlüsselungsalgorithmus vertraulich gemacht wurde.
-
Der öffentliche Schlüssel pk und der geheime Hauptschlüssel msk können auf einem Speichermedium gespeichert und per Post versandt werden, anstatt über die Kommunikationsschnittstelle 14 übertragen zu werden.
-
Das heißt, die Gemeinsamer-Parameter-Generierungseinrichtung 10 führt den in Formel 133 angegebenen Setup-Algorithmus aus.
-
Unter Bezugnahme auf 13 wird die Funktionsweise der Nutzer-Geheimschlüssel-Generierungseinheit 20 gemäß der ersten Ausführungsform beschrieben.
-
Ein Ablauf der Funktionsweise der Nutzer-Geheimschlüssel-Generierungseinheit 20 gemäß der ersten Ausführungsform ist gleichbedeutend mit einem Nutzer-Geheimschlüssel-Generierungsverfahren gemäß der ersten Ausführungsform. Ein Programm, das die Funktionsweise der Nutzer-Geheimschlüssel-Generierungseinheit 20 gemäß der ersten Ausführungsform realisiert, ist gleichbedeutend mit einem Nutzer-Geheimschlüssel-Generierungsprogramm gemäß der ersten Ausführungsform.
Die Nutzer-Geheimschlüssel-Generierungseinrichtung 20 führt den KG-Algorithmus aus.
-
(Schritt S21: Erwerbungsprozess)
-
Die Erwerbungseinheit 211 erwirbt den öffentlichen Schlüssel pk, den geheimen Hauptschlüssel msk und Attributinformationen Γ := {t, x→ t|x→ t ∈ Fq nt\{0→}, 1 ≤ t ≤ d}.
Konkret empfängt die Erwerbungseinheit 211 über die Kommunikationsschnittstelle 24 den öffentlichen Schlüssel pk und den geheimen Hauptschlüssel msk, die von der Gemeinsamer-Parameter-Generierungseinrichtung 10
übermittelt werden. Die Erwerbungseinheit 211 erwirbt die Attributinformationen Γ, die über die Kommunikationsschnittstelle 14 von einem Nutzer oder dergleichen der Nutzer-Geheimschlüssel-Generierungseinheit 20 eingegeben werden. Die Erwerbungseinheit 211 schreibt den öffentlichen Schlüssel pk, den geheimen Hauptschlüssel msk und die Attributinformationen Γ in den Arbeitsspeicher 22.
Die Attributinformationen Γ geben Attribute wie eine zugehörige Organisation und eine Position des Nutzers eines Entschlüsselungsschlüssels skΓ an. So wird beispielsweise jedem t ein Attribut-Typ zugewiesen, und ein Attribut des t zugewiesenen Typs wird in x→ t gesetzt. Als konkretes Beispiel wird ein zugehöriges Unternehmen t = 1 zugewiesen, eine zugehörige Abteilung t = 2 zugewiesen, eine zugehörige Unterabteilung t = 3 zugewiesen und eine Position t = 4 zugewiesen. Dann wird das Unternehmen, zu dem der Nutzer gehört, in x→ 1 gesetzt, die Abteilung, zu der der Nutzer gehört, in x→ 2 gesetzt, die Unterabteilung, zu der der Nutzer gehört, in x→ 3 gesetzt und die Position des Nutzers in x→ 4 gesetzt.
-
(Schritt S22: Nutzer-Geheimschlüssel-Generierungsprozess)
-
Die Nutzer-Geheimschlüssel-Generierungseinheit 212 generiert den Entschlüsselungsschlüssel skΓ, unter Verwendung als Eingabe des öffentlichen Schlüssels pk, des geheimen Hauptschlüssels msk und der Attributinformationen Γ, die in Schritt S21 erworben werden.
-
Insbesondere generiert die Nutzer-Geheimschlüssel-Generierungseinheit 212 Zufallszahlen, wie in Formel 134 angegeben.
-
Die Nutzer-Geheimschlüssel-Generierungseinheit 212 generiert ein Schlüsselelement k*
0 und ein Schlüsselelement k*
t für jedes in den Attributinformationen Γ enthaltene t, wie in Formel 135 angegeben.
-
(Schritt S23: Ausgabeprozess)
-
Die Ausgabeeinheit 213 gibt als den Entschlüsselungsschlüssel skr die Attributinformationen Γ, das Schlüsselelement k*0 und die Schlüsselelemente k*t, die in Schritt S22 generiert wurden, sowie den Basisvektor b*0,6 aus. Insbesondere überträgt die Ausgabeeinheit 213 den Entschlüsselungsschlüssel skΓ über die Kommunikationsschnittstelle 24 an die Neuverschlüsselungsschlüssel-Generierungseinrichtung 40 und die Entschlüsselungseinrichtung 60. Zu diesem Zeitpunkt überträgt die Ausgabeeinheit 213 den Entschlüsselungsschlüssel skΓ, nachdem dieser durch ein Verfahren wie Verschlüsselung mit einem vorhandenen Verschlüsselungsalgorithmus vertraulich gemacht wurde. Der Entschlüsselungsschlüssel skΓ kann auf einem Speichermedium gespeichert und per Post versandt werden, anstatt über die Kommunikationsschnittstelle 24 übertragen zu werden.
-
Das heißt, die Nutzer-Geheimschlüssel-Generierungseinrichtung 20 führt den in Formel 136 angegebenen KG-Algorithmus aus.
-
Unter Bezugnahme auf 14 wird die Funktionsweise der Entschlüsselungseinrichtung 30 gemäß der ersten Ausführungsform beschrieben. Ein Ablauf der Funktionsweise der Entschlüsselungseinrichtung 30 gemäß der ersten Ausführungsform ist gleichbedeutend mit einem Verschlüsselungsverfahren gemäß der ersten Ausführungsform. Ein Programm, das die Funktionsweise der Verschlüsselungseinrichtung 30 gemäß der ersten Ausführungsform realisiert, ist gleichbedeutend mit einem Verschlüsselungsprogramm gemäß der ersten Ausführungsform.
Die Verschlüsselungseinrichtung 30 führt den Enc-Algorithmus aus.
-
(Schritt S31: Erwerbungsprozess)
-
Die Erwerbungseinheit 311 erwirbt den öffentlichen Schlüssel pk und die Attributinformationen S = (M, ρ).
Konkret empfängt die Erwerbungseinheit 311 über die Kommunikationsschnittstelle 34 den von der Gemeinsamer-Parameter-Generierungseinrichtung 10 übermittelten öffentlichen Schlüssel pk. Die Erwerbungseinheit 311 erwirbt die Attributinformationen S, die von einem Nutzer oder dergleichen der Verschlüsselungseinrichtung 30 über die Kommunikationsschnittstelle 14 eingegeben werden. Die Erwerbungseinheit 311 schreibt den öffentlichen Schlüssel pk und die Attributinformationen S in den Arbeitsspeicher 32.
-
Die Attributinformationen S geben einen Bereich von Attributen an, für den Entschlüsselung eines Chiffretextes cts zuzulassen ist. Die Attributinformationen S geben den Bereich von Attributen an, für den Entschlüsselung des Chiffretextes cts zuzulassen ist, und zwar als bedingter Ausdruck mit logischem ODER und logischem UND.
-
(Schritt S32: Chiffretext-Generierungsprozess)
-
Die Chiffretext-Generierungseinheit 312 generiert den Chiffretext cts, unter Verwendung als Eingabe des öffentlichen Schlüssels pk und der Attributinformationen S, die in Schritt S31 erworben wurden. Konkret generiert die Chiffretext-Generierungseinheit 312 verteilte Informationen s
i für jede ganze Zahl i von i = 1, ..., L und Geheiminformationen so, wie in Formel 137 angegeben.
-
Die Chiffretext-Generierungseinheit 312 generiert Zufallszahlen, wie in Formel 138 angegeben.
-
Die Chiffretext-Generierungseinheit 312 generiert ein Chiffreelement c
0, wie in Formel 139 angegeben.
-
Die Chiffretext-Generierungseinheit 312 generiert einen Sitzungsschlüssel K, wie in Formel 140 angegeben.
-
Die Chiffretext-Generierungseinheit 312 generiert ein Chiffreelement c
i für jede ganze Zahl i von i = 1, ..., L, wie in Formel 141 angegeben.
-
(Schritt S33: Ausgabeprozess)
-
Die Ausgabeeinheit 313 gibt den in Schritt S32 generierten Chiffretext ctS mit den Attributinformationen S und dem Chiffreelement ci für jede ganze Zahl i von i = 0, ..., L sowie die in Schritt S32 generierte Sitzung K aus. Insbesondere überträgt die Ausgabeeinheit 313 den Chiffretext ctS über die Kommunikationsschnittstelle 34 an die Neuverschlüsselungseinrichtung 50 und die Entschlüsselungseinrichtung 60. Die Ausgabeeinheit 313 schreibt den Sitzungsschlüssel K in den Arbeitsspeicher 32.
-
Das heißt, die Verschlüsselungseinrichtung 30 führt den in Formel 142 angegebenen Enc-Algorithmus aus.
-
Unter Bezugnahme auf 15 wird die Funktionsweise der Neuverschlüsselungsschlüssel-Generierungseinrichtung 40 gemäß der ersten Ausführungsform beschrieben.
Ein Ablauf der Funktionsweise der Neuverschlüsselungsschlüssel-Generierungseinrichtung 40 gemäß der ersten Ausführungsform ist gleichbedeutend mit einem Neuverschlüsselungsschlüssel-Generierungsverfahren gemäß der ersten Ausführungsform. Ein Programm, das die Funktionsweise der Neuverschlüsselungsschlüssel-Generierungseinrichtung 40 gemäß der ersten Ausführungsform realisiert, ist gleichbedeutend mit einem Neuverschlüsselungsschlüssel-Generierungsprogramm gemäß der ersten Ausführungsform.
-
Die Neuverschlüsselungsschlüssel-Generierungseinrichtung 40 führt den RKG-Algorithmus aus.
-
(Schritt S41: Erwerbungsprozess)
-
Die Erwerbungseinheit 411 erwirbt den öffentlichen Schlüssel pk, den Entschlüsselungsschlüssel skr und die Attributinformationen S':= (M, ρ).
-
Konkret empfängt die Erwerbungseinheit 411 über die Kommunikationsschnittstelle 44 den von der Gemeinsamer-Parameter-Generierungseinrichtung 10 übermittelten öffentlichen Schlüssel pk. Die Erwerbungseinheit 411 empfängt über die Kommunikationsschnittstelle 44 den Entschlüsselungsschlüssel skΓ, der von der Nutzer-Geheimschlüssel-Generierungseinheit 20 übermittelt wurde. Die Erwerbungseinheit 411 erwirbt die Attributinformationen S', die von einem Nutzer oder dergleichen der Neuverschlüsselungsschlüssel-Generierungseinrichtung 40 über die Kommunikationsschnittstelle 14 eingegeben werden. Die Erwerbungseinheit 411 schreibt den öffentlichen Schlüssel pk, den Entschlüsselungsschlüssel skr und die Attributinformationen S' in den Arbeitsspeicher 42.
Die Attributinformationen S geben eine Bereich von Attributen an, für den Entschlüsselung eines neuverschlüsselten Chiffretextes rctS' zuzulassen ist. Konkret, wie die Attributinformationen S, geben auch die Attributinformationen S' den Bereich von Attributen an, für den Entschlüsselung des neuverschlüsselten Chiffretextes rctS' zuzulassen ist, und zwar als bedingter Ausdruck unter Verwendung von logischem ODER und logischem UND.
-
(Schritt S42: Neuverschlüsselungsschlüssel-Generierungsprozess) Die Neuverschlüsselungsschlüssel-Generierungseinheit 412 generiert den Neuverschlüsselungsschlüssel rk, unter Verwendung als Eingabe des öffentlichen Schlüssels pk, des Entschlüsselungsschlüssels sk
Γ und der Attributinformationen S', die in Schritt S41 erworben wurden.
Konkret generiert die Neuverschlüsselungsschlüssel-Generierungseinheit 412 Zufallszahlen, wie in Formel 143 angegeben.
-
Die Neuverschlüsselungsschlüssel-Generierungseinheit 412 generiert einen konvertierten Entschlüsselungsschlüssel sk
Γ ~, wie in Formel 144 angegeben.
-
Infolgedessen ist k*
0 in dem konvertierten Entschlüsselungsschlüssel sk
Γ ~ wie in Formel 145 angegeben.
-
Die Neuverschlüsselungsschlüssel-Generierungseinheit 412 führt den Enc-Algorithmus aus, unter Verwendung als Eingabe des öffentlichen Schlüssels pk und der Attributinformationen S', um einen Chiffretext ct
S' und einen Sitzungsschlüssel K' zu generieren, wie in Formel 146 angegeben.
-
Das heißt, die Neuverschlüsselungsschlüssel-Generierungseinheit 412 führt die Prozesse von Schritt S32 von 14 aus, unter Verwendung als Eingabe des öffentlichen Schlüssels pk und der Attributinformationen S', um den Chiffretext ctS' und den Sitzungsschlüssel K' zu generieren.
-
(Schritt S43: Ausgabeprozess)
-
Die Ausgabeeinheit 413 gibt als den Neuverschlüsselungsschlüssel rk, den konvertierten Entschlüsselungsschlüssel skΓ ~, ein Element Ar·K' und den Chiffretext ctS' aus. Das Element Ar·K' wird durch Multiplizieren eines Elements Ar, das aus dem Element A und der in dem öffentlichen Schlüssel pk enthaltenen Zufallszahl r erhalten wird, mit dem Sitzungsschlüssel K' erhalten.
-
Insbesondere überträgt die Ausgabeeinheit 413 den Neuverschlüsselungsschlüssel rk über die Kommunikationsschnittstelle 44 an die Neuverschlüsselungseinrichtung 50.
-
Das heißt, die Neuverschlüsselungsschlüssel-Generierungseinrichtung 40 führt den in Formel 147 angegebenen RKG-Algorithmus aus.
-
Unter Bezugnahme auf 16 wird die Funktionsweise der Neuverschlüsselungseinrichtung 50 gemäß der ersten Ausführungsform beschrieben.
-
Ein Ablauf der Funktionsweise der Neuverschlüsselungseinrichtung 50 gemäß der ersten Ausführungsform ist gleichbedeutend mit einem Neuverschlüsselungsverfahren gemäß der ersten Ausführungsform. Ein Programm, das die Funktionsweise der Neuverschlüsselungseinrichtung 50 gemäß der ersten Ausführungsform realisiert, ist gleichbedeutend mit einem Neuverschlüsselungsprogramm gemäß der ersten Ausführungsform. Die Neuverschlüsselungseinrichtung 50 führt den REnc-Algorithmus aus.
-
(Schritt S51: Chiffretext-Erwerbungsprozess)
-
Die Chiffretext-Erwerbungseinheit 514 erwirbt den Chiffretext cts. Das heißt, die Chiffretext-Erwerbungseinheit 514 erwirbt den Chiffretext cts aus dem Sitzungsschlüssel K und dem Chiffretext cts, in dem der Sitzungsschlüssel K verschlüsselt ist, die durch den Enc-Algorithmus, der ein Verschlüsselungsalgorithmus ist, generiert wurden, unter Verwendung als Eingabe der Attributinformationen S, die den Bereich definieren, für den Entschlüsselung zuzulassen ist.
-
Konkret empfängt die Chiffre-Erwerbungseinheit 514 über die Kommunikationsschnittstelle 54 den von der Verschlüsselungseinrichtung 30 übertragenen Chiffretext cts. Die Erwerbungseinheit 514 schreibt den Chiffretext cts in den Arbeitsspeicher 52.
-
(Schritt S52: Schlüssel-Erwerbungsprozess)
-
Die Schlüssel-Erwerbungseinheit 515 erwirbt den Neuverschlüsselungsschlüssel rk. Das heißt, die Schlüssel-Erwerbungseinheit 515 erwirbt den Neuverschlüsselungsschlüssel rk, enthaltend den konvertierten Entschlüsselungsschlüssel skΓ ~, der durch Setzen der Zufallszahl r in den Entschlüsselungsschlüssel skr generiert wurde, mit dem der Chiffretext cts entschlüsselt werden kann, den Sitzungsschlüssel K' und den Chiffretext ctS', in dem der Sitzungsschlüssel K' verschlüsselt ist, die durch den Enc-Algorithmus generiert wurden, welcher ein Verschlüsselungsalgorithmus ist, unter Verwendung als Eingabe der Attributinformationen S', die den Bereich definieren, für den Entschlüsselung zuzulassen ist, und Konvertierungsinformationen, die aus der Zufallszahl r generiert wurden. Die Schlüssel-Erwerbungseinheit 515 erwirbt außerdem den öffentlichen Schlüssel pk.
-
Insbesondere empfängt die Schlüssel-Erwerbungseinheit 515 über die Kommunikationsschnittstelle 54 den von der Gemeinsamer-Parameter-Generierungseinrichtung 10 übertragenen öffentlichen Schlüssel pk und den von der Neuverschlüsselungsschlüssel-Generierungseinrichtung 40 übertragenen Neuverschlüsselungsschlüssel rk. Die Schlüssel-Erwerbungseinheit 515 schreibt den öffentlichen Schlüssel pk und den Neuverschlüsselungsschlüssel rk in den Arbeitsspeicher 52.
-
(Schritt S53: Bestimmungsprozess)
-
Die Neuverschlüsselter-Chiffretext-Generierungseinheit 512 bestimmt, ob die Attributinformationen S, die die in dem Chiffretext cts enthaltene Zugriffsstruktur ist, die in dem Neuverschlüsselungsschlüssel rk enthaltenen Attributinformationen Γ akzeptieren.
-
Falls diese akzeptiert werden, führt die Neuverschlüsselter-Chiffretext-Generierungseinheit 512 den Prozess weiter zu Schritt S54. Falls diese nicht akzeptiert werden, bestimmt die Neuverschlüsselter-Chiffretext-Generierungseinheit 512, dass ein neuverschlüsselter Chiffretext rctS' nicht generiert werden kann und beendet den Prozess.
-
(Schritt S54: Neuverschlüsselter-Chiffretext-Generierungsprozess) Die Neuverschlüsselter-Schlüssel-Generierungseinheit 512 generiert einen neuverschlüsselten Chiffretext rctS', unter Verwendung als Eingabe des in Schritt S51 erworbenen Chiffretextes ctS und des in Schritt S52 erworbenen öffentlichen Schlüssels pk und des Neuverschlüsselungsschlüssels rk.
-
Insbesondere generiert die Neuverschlüsselter-Chiffretext-Generierungseinheit 512 Entschlüsselungsinformationen K^, indem der Chiffretext cts mit dem konvertierten Entschlüsselungsschlüssel skΓ ~ entschlüsselt wird, der in dem Neuverschlüsselungsschlüssel rk enthalten ist. Die Neuverschlüsselter-Chiffretext-Generierungseinheit 512 generiert ein Chiffreelement K~, indem das Element, das sich auf die Zufallszahl r bezieht, aus den Entschlüsselungsinformationen K^ durch die Konvertierungsinformationen Ar gelöscht wird und der Sitzungsschlüssel K' gesetzt wird.
-
Dies wird nachstehend konkreter beschrieben.
Die Neuverschlüsselter-Chiffretext-Generierungseinheit 512 berechnet einen Index I und einen komplementären Koeffizienten {α
i}
i∈I, wie in Formel 148 angegeben.
-
Es sei angemerkt, dass Mi eine i-te Zeile der Matrix M ist.
-
Die Neuverschlüsselter-Chiffretext-Generierungseinheit 512 generiert die Entschlüsselungsinformationen K^ durch Entschlüsselung des Chiffretextes cts mit dem konvertierten Entschlüsselungsschlüssel sk
Γ ~, wie in Formel 149 angegeben.
-
Die Neuverschlüsselter-Chiffretext-Generierungseinheit 512 generiert ein Chiffreelement K~, indem das Element, das sich auf die Zufallszahl r bezieht, aus den Entschlüsselungsinformationen K^ durch das Element Ar·K', das die Konvertierungsinformationen Ar enthält, gelöscht wird und der Sitzungsschlüssel Kτ gesetzt wird. Insbesondere generiert die Neuverschlüsselter-Chiffretext-Generierungseinheit 512 das Chiffreelement K~ durch Dividieren der Entschlüsselungsinformationen K^ durch das Element Ar·K'.
-
(Schritt S55: Ausgabeprozess)
-
Die Ausgabeeinheit 513 gibt als den neuverschlüsselten Chiffretext rctS' den Chiffretext ctS' und das Chiffreelement K~ aus.
Insbesondere überträgt die Ausgabeeinheit 513 den neuverschlüsselten Chiffretext rctS' über die Kommunikationsschnittstelle 54 an die Entschlüsselungseinrichtung 60.
-
Das heißt, die Neuverschlüsselungseinrichtung 50 führt den in Formel 150 angegebenen REnc-Algorithmus aus.
-
Die Neuverschlüsselungseinrichtung 50 verschlüsselt den von der Verschlüsselungseinrichtung 30 generierten Chiffretext cts neu und ändert dabei den Bereich, für den Entschlüsselung zuzulassen ist, hier von den Attributinformationen S auf die Attributinformationen S'. Das Neuverschlüsselungseinrichtung 50 kann jedoch auch den neuverschlüsselten Chiffretext rctS' neu verschlüsseln und den Bereich ändern, für den Entschlüsselung zuzulassen ist. In diesem Fall kann die Chiffretext-Erwerbungseinheit 514 in Schritt S51 als den Chiffretext ctS den in dem neuverschlüsselten Chiffretext rctS' enthaltenen Chiffretext ctS' erwerben. Die folgenden Prozesse sind die gleichen wie in dem Fall, in dem der durch die Verschlüsselungseinrichtung 30 generierte Chiffretext ctS neu verschlüsselt wird.
-
Unter Bezugnahme auf die 17 und 18 wird die Funktionsweise der Entschlüsselungseinrichtung 60 gemäß der ersten Ausführungsform beschrieben.
-
Ein Ablauf der Funktionsweise der Entschlüsselungseinrichtung 60 gemäß der ersten Ausführungsform ist gleichbedeutend mit einem Entschlüsselungsverfahren gemäß der ersten Ausführungsform. Ein Programm, das die Funktionsweise der Entschlüsselungseinrichtung 60 gemäß der ersten Ausführungsform realisiert, ist gleichbedeutend mit einem Entschlüsselungsprogramm gemäß der ersten Ausführungsform.
-
Die Entschlüsselungseinrichtung 60 führt den Dec-Algorithmus aus.
-
Unter Bezugnahme auf 17 werden Prozesse, wenn der Chiffretext cts entschlüsselt wird, gemäß der ersten Ausführungsform erläutert. (Schritt S61: Erwerbungsprozess)
Die Erwerbungseinheit 611 erwirbt den öffentlichen Schlüssel pk, den Entschlüsselungsschlüssel skΓ und den Chiffretext ctS.
Konkret empfängt die Erwerbungseinheit 611 über die Kommunikationsschnittstelle 64 den von der Gemeinsamer-Parameter-Generierungseinrichtung 10 übermittelten öffentlichen Schlüssel pk. Die Erwerbungseinheit 611 empfängt über die Kommunikationsschnittstelle 64 den Entschlüsselungsschlüssel skΓ, der von der Nutzer-Geheimschlüssel-Generierungseinheit 20 übermittelt wurde. Die Erwerbungseinheit 611 erwirbt über die Kommunikationsschnittstelle 64 den von der Verschlüsselungseinrichtung 30 übertragenen Chiffretext ctS. Die Erwerbungseinheit 611 schreibt den öffentlichen Schlüssel pk, den Entschlüsselungsschlüssel skΓ und den Chiffretext ctS in den Arbeitsspeicher 62.
-
(Schritt S62: Bestimmungsprozess)
-
Die Entschlüsselungseinheit 612 bestimmt, ob die Attributinformationen S, die die in dem Chiffretext cts enthaltene Zugriffsstruktur ist, die in dem Entschlüsselungsschlüssel skΓ enthaltenen Attributinformationen Γ akzeptieren.
Falls diese akzeptiert werden, führt die Entschlüsselungseinheit 612 den Prozess weiter zu Schritt S63. Falls diese nicht akzeptiert werden, bestimmt die Entschlüsselungseinheit 612, dass der Chiffretext ctS nicht entschlüsselt werden kann und beendet den Prozess.
-
(Schritt S63: Entschlüsselungsprozess)
-
Die Entschlüsselungseinheit 612 entschlüsselt den Chiffretext ct
S mit dem Entschlüsselungsschlüssel sk
Γt, um den Sitzungsschlüssel K zu generieren. Insbesondere berechnet die Entschlüsselungseinheit 612 einen Index I und einen komplementären Koeffizienten {α
i}
i∈I, wie in Formel 151 angegeben.
-
Es sei angemerkt, dass M
i die i-te Zeile der Matrix M ist. Die Entschlüsselungseinheit 612 berechnet die Formel 152, um den Sitzungsschlüssel K zu generieren.
-
Das heißt, die Entschlüsselungseinrichtung 60 führt den in Formel 153 angegebenen Dec-Algorithmus aus.
-
Unter Bezugnahme auf 18 werden Prozesse, wenn der neuverschlüsselte Chiffretext rctS' entschlüsselt wird, gemäß der ersten Ausführungsform beschrieben.
-
(Schritt S71: Erwerbungsprozess)
-
Die Erwerbungseinheit 611 erwirbt den öffentlichen Schlüssel pk, den Entschlüsselungsschlüssel skΓ, und den neuverschlüsselten Chiffretext rctS'. Hier wird davon ausgegangen, dass die von der Zugriffsstruktur akzeptierten Attributinformationen, welche die Attributinformationen S', die Attributinformationen Γ' sind, und dass ein Entschlüsselungsschlüssel, der unter Verwendung der Attributinformationen Γ' als Eingabe generiert wird, der Entschlüsselungsschlüssel skΓ, ist.
Konkret empfängt die Erwerbungseinheit 611 über die Kommunikationsschnittstelle 64 den von der Gemeinsamer-Parameter-Generierungseinrichtung 10 übermittelten öffentlichen Schlüssel pk. Die Erwerbungseinheit 611 empfängt über die Kommunikationsschnittstelle 64 den Entschlüsselungsschlüssel skΓ, der von der Nutzer-Geheimschlüssel-Generierungseinheit 20 übermittelt wurde. Die Erwerbungseinheit 611 empfängt über die Kommunikationsschnittstelle 64 den durch die Neuverschlüsselungseinrichtung 50 generierten neuverschlüsselten Chiffretext rctS'. Die Erwerbungseinheit 611 schreibt den öffentlichen Schlüssel pk, den Entschlüsselungsschlüssel skΓ, und den neuverschlüsselten Chiffretext rctS' in den Arbeitsspeicher 62.
-
(Schritt S72: Bestimmungsprozess)
-
Die Entschlüsselungseinheit 612 bestimmt, ob die Attributinformationen S', welche die in dem neuverschlüsselten Chiffretext rctS' enthaltene Zugriffsstruktur sind, die in dem Entschlüsselungsschlüssel skΓ, enthaltenen Attributinformationen Γ' akzeptieren.
-
Falls diese akzeptiert werden, führt die Entschlüsselungseinheit 612 den Prozess weiter zu Schritt S73. Falls diese nicht akzeptiert werden, bestimmt die Entschlüsselungseinheit 612, dass der neuverschlüsselte Chiffretext rctS' nicht entschlüsselt werden kann und beendet den Prozess.
-
(Schritt S73: Entschlüsselungsprozess)
-
Die Entschlüsselungseinheit 612 entschlüsselt den neuverschlüsselten Chiffretext rctS' mit dem Entschlüsselungsschlüssel skΓ', um den Sitzungsschlüssel K zu generieren.
-
Insbesondere entschlüsselt die Entschlüsselungseinheit 612 den in dem neuverschlüsselten Chiffretext rctS' enthaltenen Chiffretext ctS' mit dem Entschlüsselungsschlüssel skΓ, um den Sitzungsschlüssel K' zu generieren, und generiert den Sitzungsschlüssel K aus dem in dem neuverschlüsselten Chiffretext rctS' enthaltenen Chiffreelement K~ und dem Sitzungsschlüssel K'.
-
Dies wird nachstehend konkreter beschrieben.
Der neuverschlüsselte Chiffretext rct
S' wird mit dem Entschlüsselungsschlüssel sk
Γ' entschlüsselt, um den Sitzungsschlüssel K zu generieren. Insbesondere berechnet die Entschlüsselungseinheit 612 einen Index I und einen komplementären Koeffizienten {α
i}
i∈I, wie in Formel 154 angegeben.
-
Es sei angemerkt, dass Mi die i-te Zeile der Matrix M ist.
-
Die Entschlüsselungseinheit 612 berechnet die Formel 155, um den Sitzungsschlüssel K' zu generieren.
-
Die Entschlüsselungseinheit 612 multipliziert das Chiffreelement K~ mit dem Sitzungsschlüssel K', um den Sitzungsschlüssel K zu generieren.
-
Das heißt, die Entschlüsselungseinrichtung 60 führt den in Formel 156 angegebenen Dec-Algorithmus aus.
-
*** Wirkungen der ersten Ausführungsform ***
-
Wie oben beschrieben, generiert das kryptographische System 100 gemäß der ersten Ausführungsform den neuverschlüsselten Chiffretext rctS', der als wesentliche Elemente nur den Chiffretext ctS' und das Chiffreelement K~ enthält. Selbst wenn das kryptografische System 100 gemäß der ersten Ausführungsform den neuverschlüsselten Chiffretext rctS' neu verschlüsselt, sind wesentliche Elemente des neuverschlüsselten Chiffretextes rctS' nur der Chiffretext ctS' und das Chiffreelement K~. Das heißt, selbst wenn die Verschlüsselung wiederholt wird, werden die wesentlichen Elemente nicht zunehmen.
-
Daher ist es möglich, die Datengröße eines durch Neuverschlüsselung generierten Chiffretextes nicht von der Anzahl von Malen von Durchführung von Neuverschlüsselungen abhängig zu machen.
-
*** Andere Konfigurationen ***
-
<Erste Variante>
-
In der ersten Ausführungsform werden die funktionellen Komponenten durch Software realisiert. Jedoch können als erste Variante die funktionellen Komponenten durch Hardware realisiert werden. In Bezug auf diese erste Variante werden Unterschiede zu der ersten Ausführungsform beschrieben.
-
Eine Konfiguration der Gemeinsamer-Parameter-Generierungseinrichtung 10 gemäß der ersten Variante wird beschrieben.
-
Wenn die funktionellen Komponenten durch Hardware realisiert werden, weist die Gemeinsamer-Parameter-Generierungseinrichtung 10 einen elektronischen Schaltkreis 15 anstelle des Prozessors 11, des Arbeitsspeichers 12 und des Datenspeichers 13 auf. Der elektronische Schaltkreis 15 ist eine dedizierte Schaltung, die die Funktionen der funktionellen Komponenten, des Arbeitsspeichers 12 und des Datenspeichers 13 realisiert.
-
Eine Konfiguration der Nutzer-Geheimschlüssel-Generierungseinheit 20 gemäß der ersten Variante wird beschrieben.
Wenn die funktionellen Komponenten durch Hardware realisiert werden, weist die Nutzer-Geheimschlüssel-Generierungseinheit 20 einen elektronischen Schaltkreis 25 anstelle des Prozessors 21, des Arbeitsspeichers 22 und des Datenspeichers 23 auf. Der elektronische Schaltkreis 25 ist eine dedizierte Schaltung, die die Funktionen der funktionellen Komponenten, des Arbeitsspeichers 22 und des Datenspeichers 23 realisiert.
-
Eine Konfiguration der Verschlüsselungseinrichtung 30 gemäß der ersten Variante wird beschrieben.
-
Wenn die funktionellen Komponenten durch Hardware realisiert werden, enthält die Verschlüsselungseinrichtung 30 einen elektronischen Schaltkreis 35 anstelle des Prozessors 31, des Arbeitsspeichers 32 und des Datenspeichers 33. Der elektronische Schaltkreis 35 ist eine dedizierte Schaltung, die die Funktionen der funktionellen Komponenten, des Arbeitsspeichers 32 und des Datenspeichers 33 realisiert.
-
Eine Konfiguration der Neuverschlüsselungsschlüssel-Generierungseinrichtung 40 gemäß der ersten Variante wird beschrieben.
Wenn die funktionellen Komponenten durch Hardware realisiert werden, enthält die Neuverschlüsselungsschlüssel-Generierungseinrichtung 40 einen elektronischen Schaltkreis 45 anstelle des Prozessors 41, des Arbeitsspeichers 42 und des Datenspeichers 43. Der elektronische Schaltkreis 45 ist eine dedizierte Schaltung, die die Funktionen der funktionellen Komponenten, des Arbeitsspeichers 42 und des Datenspeichers 43 realisiert.
-
Eine Konfiguration der Neuverschlüsselungseinrichtung 50 gemäß der ersten Variante wird beschrieben.
Wenn die funktionellen Komponenten durch Hardware realisiert werden, enthält die Neuverschlüsselungseinrichtung 50 einen elektronischen Schaltkreis 55 anstelle des Prozessors 51, des Arbeitsspeichers 52 und des Datenspeichers 53. Der elektronische Schaltkreis 55 ist eine dedizierte Schaltung, die die Funktionen der funktionellen Komponenten, des Arbeitsspeichers 52 und des Datenspeichers 53 realisiert.
-
Eine Konfiguration der Entschlüsselungseinrichtung 60 gemäß der ersten Variante wird beschrieben.
Wenn die funktionellen Komponenten durch Hardware realisiert werden, enthält die Entschlüsselungseinrichtung 60 einen elektronischen Schaltkreis 65 anstelle des Prozessors 61, des Arbeitsspeichers 62 und des Datenspeichers 63. Der elektronische Schaltkreis 65 ist eine dedizierte Schaltung, die die Funktionen der funktionellen Komponenten, des Arbeitsspeichers 62 und des Datenspeichers 63 realisiert.
-
Für jeden von den elektronischen Schaltkreisen 15, 25, 35, 45, 55 und 65 wird angenommen, eine einzelne Schaltung, eine zusammengesetzte Schaltung, ein programmierter Prozessor, ein paralleler-programmierter Prozessor, eine logische IC, eine Gatteranordnung (GA), eine anwendungsspezifische integrierte Schaltung (ASIC) oder eine feldprogrammierbare Gatteranordnung (FPGA) zu sein.
Die jeweiligen funktionellen Komponenten können durch einen elektronischen Schaltkreis 15, einen elektronischen Schaltkreis 25, einen elektronischen Schaltkreis 35, einen elektronischen Schaltkreis 45, einen elektronischen Schaltkreis 55 und einen elektronischen Schaltkreis 65 realisiert werden, oder die jeweiligen funktionellen Komponenten können auf eine Vielzahl von elektronischen Schaltkreisen 15, eine Vielzahl von elektronischen Schaltkreisen 25, eine Vielzahl von elektronischen Schaltkreisen 35, eine Vielzahl von elektronischen Schaltkreisen 45, eine Vielzahl von elektronischen Schaltkreisen 55 und eine Vielzahl von elektronischen Schaltkreisen 65 verteilt und durch diese realisiert werden.
-
<Zweite Variante>
-
Als eine zweite Variante können einige der funktionellen Komponenten durch Hardware realisiert werden und die übrigen funktionellen Komponenten können durch Software realisiert werden.
-
Jeder von den Prozessoren 11, 21, 31, 41, 51, 61, den Arbeitsspeichern 12, 22, 32, 42, 52, 62, den Datenspeichern 13, 23, 33, 43, 53, 63 und den elektronischen Schaltkreisen 15, 25, 35, 45, 55, 65 werden als Verarbeitungsschaltkreis bezeichnet. Das heißt, dass die Funktionen der funktionellen Komponenten durch den Verarbeitungsschaltkreis realisiert werden.
-
Bezugszeichenliste
-
100: Kryptografisches System, 10: Gemeinsame Parameter-Generierungseinheit, 11: Prozessor, 12: Arbeitsspeicher, 13: Datenspeicher, 14: Kommunikationsschnittstelle, 15: Elektronischer Schaltkreis, 111: Erwerbungseinheit, 112: Parameter-Generierungseinheit, 113: Ausgabeeinheit, 20: Nutzer-Geheimschlüssel-Generierungseinheit, 21: Prozessor, 22: Arbeitsspeicher, 23: Datenspeicher, 24: Kommunikationsschnittstelle, 25: elektronischer Schaltkreis, 211: Erwerbungseinheit, 212: Nutzer-Geheimschlüssel-Generierungseinheit, 213: Ausgabeeinheit, 30: Verschlüsselungseinrichtung, 31: Prozessor, 32: Arbeitsspeicher, 33: Datenspeicher, 34: Kommunikationsschnittstelle, 35: elektronischer Schaltkreis, 311: Erwerbungseinheit, 312: Chiffretext-Generierungseinheit, 313: Ausgabeeinheit, 40: Neuverschlüsselungsschlüssel-Generierungseinheit, 41: Prozessor, 42: Arbeitsspeicher, 43: Datenspeicher, 44: Kommunikationsschnittstelle, 45: elektronischer Schaltkreis, 411: Erwerbungseinheit, 412: Neuverschlüsselungsschlüssel-Generierungseinheit, 413: Ausgabeeinheit, 50: Neuverschlüsselungseinrichtung, 51: Prozessor, 52: Arbeitsspeicher, 53: Datenspeicher, 54: Kommunikationsschnittstelle, 55: elektronischer Schaltkreis, 511: Erwerbungseinheit, 512: Neuverschlüsselter-Chiffretext-Generierungseinheit, 513: Ausgabeeinheit, 514: Chiffretext-Erwerbungseinheit, 515: Schlüssel-Erwerbungseinheit, 60: Entschlüsselungseinrichtung, 61: Prozessor, 62: Arbeitsspeicher, 63: Datenspeicher, 64: Kommunikationsschnittstelle, 65: elektronischer Schaltkreis, 611: Erwerbungseinheit, 612: Entschlüsselungseinheit, 613: Ausgabeeinheit.