DE102022004783A1 - Method for generating two large prime numbers by additive division without a trusted dealer in a communication system with a number of participants - Google Patents

Method for generating two large prime numbers by additive division without a trusted dealer in a communication system with a number of participants Download PDF

Info

Publication number
DE102022004783A1
DE102022004783A1 DE102022004783.7A DE102022004783A DE102022004783A1 DE 102022004783 A1 DE102022004783 A1 DE 102022004783A1 DE 102022004783 A DE102022004783 A DE 102022004783A DE 102022004783 A1 DE102022004783 A1 DE 102022004783A1
Authority
DE
Germany
Prior art keywords
party
prime numbers
test
prime
generating
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
DE102022004783.7A
Other languages
German (de)
Inventor
wird später genannt Erfinder
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.)
Kcrypt Lab Ug Haftungsbeschraenkt
Original Assignee
Kcrypt Lab Ug Haftungsbeschraenkt
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 Kcrypt Lab Ug Haftungsbeschraenkt filed Critical Kcrypt Lab Ug Haftungsbeschraenkt
Publication of DE102022004783A1 publication Critical patent/DE102022004783A1/en
Pending legal-status Critical Current

Links

Images

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F17/00Digital computing or data processing equipment or methods, specially adapted for specific functions
    • G06F17/10Complex mathematical operations
    • 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

Landscapes

  • Engineering & Computer Science (AREA)
  • Physics & Mathematics (AREA)
  • General Physics & Mathematics (AREA)
  • Data Mining & Analysis (AREA)
  • Theoretical Computer Science (AREA)
  • Mathematical Physics (AREA)
  • Mathematical Analysis (AREA)
  • Computational Mathematics (AREA)
  • Computer Security & Cryptography (AREA)
  • Signal Processing (AREA)
  • Mathematical Optimization (AREA)
  • Algebra (AREA)
  • Pure & Applied Mathematics (AREA)
  • Databases & Information Systems (AREA)
  • Software Systems (AREA)
  • General Engineering & Computer Science (AREA)
  • Computer Networks & Wireless Communication (AREA)
  • Complex Calculations (AREA)

Abstract

Die Erfindung betrifft ein Verfahren zur Erzeugung von zwei großen Primzahlen durch additives Teilen ohne einen vertrauenswürdigen Händler in einem Kommunikationssystem mit einer Anzahl von Teilnehmern n. Es ist das Ziel der Erfindung, zwei große Primzahlen in einem Kryptosystem zu erzeugen, indem die benötigte Rechenleistung reduziert wird, so dass die Erzeugungszeit akzeptabel ist (< 1 Minute). Gelöst wird diese Aufgabe nach einem Verfahren gemäß den Ansprüchen 1 und 2.The invention relates to a method for generating two large prime numbers by additive division without a trusted dealer in a communication system with a number of participants n. The aim of the invention is to generate two large prime numbers in a cryptosystem by reducing the required computing power so that the generation time is acceptable (< 1 minute). This object is achieved by a method according to claims 1 and 2.

Description

Die Erfindung betrifft ein Verfahren zur Erzeugung der beiden großen Primzahlen durch additives Teilen ohne einen vertrauenswürdigen Händler in einem Kommunikationssystem mit mehreren Teilnehmern.The invention relates to a method for generating the two large prime numbers by additive division without a trusted dealer in a communication system with several participants.

Die Parteien können alle Teilnehmer eines Kommunikationsnetzes sein, wie Computer, APPs, Server usw.The parties can be any participant in a communications network, such as computers, apps, servers, etc.

Solche Methoden sind aus dem Stand der Technik bekannt. Eine „Naive“ genannte Methode zur Erzeugung einer Primzahl ist, dass jede Partei Pi eine Zufallszahl auswählt pi ∈ [2k-1, 2k - 1] so dass: p i = { p i 3 ( m o d   4 ) , i f α i ( m o d   n ) p i 0 ( m o d   4 ) , i f α i ( m o d   n )

Figure DE102022004783A1_0001
Such methods are known from the state of the art. A method called “naive” for generating a prime number is that each party P i selects a random number p i ∈ [2 k-1 , 2 k - 1] such that: p i = { p i 3 ( m O d 4 ) , i e α i ( m O d n ) p i 0 ( m O d 4 ) , i e α i ( m O d n )
Figure DE102022004783A1_0001

Eine weitere Methode ist die „Composit“-Methode. Diese Methode zur Erzeugung von Geheimnissen für ein Schwellenwert-Kryptosystem wurde von Boneh und Franklin als Möglichkeit zur Verbesserung der Schlüsselgenerierungsphase vorgeschlagen ( Dan Boneh und M. Franklin. Efficient generation of shared RSA keys. Journal of the ACM, 48 (4):702{722, Juli 2001. doi: 10.1145/502090.502094 .).Another method is the “composite” method. This method of generating secrets for a threshold cryptosystem was proposed by Boneh and Franklin as a way to improve the key generation phase ( Dan Boneh and M. Franklin. Efficient generation of shared RSA keys. Journal of the ACM, 48 (4):702{722, July 2001. doi: 10.1145/502090.502094 .).

Es wird angenommen, dass jede Partei Pi M = ϱ \ 2 ϱ

Figure DE102022004783A1_0002
berechnet, so dass M ≤ 2k. Die Parteien wählen dann ai ∈ R [3, M], ai ⊥ M und bi und erhalten: a = a 1 × a 2 × a n m o d   M b = b 1 × b 2 × + b n m o d   M
Figure DE102022004783A1_0003
It is assumed that each party P i M = ϱ \ 2 ϱ
Figure DE102022004783A1_0002
calculated so that M ≤ 2 k . The parties then choose a i ∈ R [3, M], a i ⊥ M and b i and obtain: a = a 1 × a 2 × a n m O d M b = b 1 × b 2 × + b n m O d M
Figure DE102022004783A1_0003

Die interessanteste Frage ist also, wie man die multiplikative Aufteilung von a über a1, ..., an in ein additives Teilen über b1,..., bn umwandelt, ohne dass a verraten wird.The most interesting question is how to transform the multiplicative division of a over a 1 , ..., a n into an additive division over b 1 ,..., b n without revealing a.

Eine weitere Methode ist die sogenannte „Dubner's Sophie Germain primes“-Methode. Dieser Ansatz basiert auf Polynomen eingeführt von „ Dubner“ (Harvey Dubner, Large Sophie Germain primes. Mathematics of Computation, 65(213):393-396, January 1996. doi: 10.1090/s0025-5718-96-00670-9 ). Jede Partei Pi wählt eine Zufallszahl pi ∈ [2k-1, 2k - 1] wobei pi definiert ist als: p i = { ( r × 3003 ) 1, i f   i 1 r × 3003, i f   i 1

Figure DE102022004783A1_0004
Another method is the so-called “Dubner's Sophie Germain primes” method. This approach is based on polynomials introduced by “ Dubner” (Harvey Dubner, Large Sophie Germain primes. Mathematics of Computation, 65(213):393-396, January 1996. doi: 10.1090/s0025-5718-96-00670-9 ). Each party P i chooses a random number p i ∈ [2 k-1 , 2 k - 1] where p i is defined as: p i = { ( r × 3003 ) 1, i e i 1 r × 3003, i e i 1
Figure DE102022004783A1_0004

Die aus dem Stand der Technik bekannten Verfahren sind nicht geeignet, zwei große Primzahlen in akzeptabler Zeit mit allgemein verfügbarer, gängiger Rechenleistung zu erzeugen.The methods known from the state of the art are not suitable for generating two large prime numbers in an acceptable time with generally available, common computing power.

Ziel der Erfindung ist es, zwei große Primzahlen in einem Kryptosystem zu generieren, indem die benötigte Rechenleistung so reduziert wird, dass die Generierungszeit akzeptabel ist (< 1 Minute).The aim of the invention is to generate two large prime numbers in a cryptosystem by reducing the required computing power so that the generation time is acceptable (< 1 minute).

Ein Kryptosystem erfordert eine Möglichkeit, verteilte Primzahlen zu erzeugen p und q ohne sie zu verraten. Um dies zu erreichen, verwendet das erfindungsgemäße Verfahren die additive Verteilung jeder Primzahl. Jede Partei wählt eine Zufallszahl aus, die über ein geheimes Teilungsschema über die ganzen Zahlen verteilt wird, das eine Variante des Shamir-Teilungsschemas ist. Jede Partei Pi wählt zwei Zahlen aus pi und qi und erstellt zwei Polynome pi(x) und qi(x). Dann erhält jede Partei Pj von jeder anderen Partei Pi die Werte von pi(j) und qi(j) über einen sicheren Kanal. Der einzige Grund für die Verwendung eines sicheren Kanals ist hier die Vermeidung der Notwendigkeit, die Werte p und q zu erzeugen. Jede Partei sollte nur das i -te Element an Partei Pi senden. Dies erlaubt der Partei Pi den Wert Ni zu konstruieren, welcher dann gesendet wird. Durch die Verwendung des BGW-Protokolls können die n Parteien den Wert N = pq ohne Offenlegung von p und q erhalten: N = p q = i = 1 n ( j = 1 n p j ( i ) × j = 1 n q j ( i ) )

Figure DE102022004783A1_0005
A cryptosystem requires a way to generate distributed primes p and q without revealing them. To achieve this, the inventive method uses the additive distribution of each prime. Each party selects a random number that is distributed over the integers via a secret division scheme, which is a variant of the Shamir division scheme. Each party P i selects two numbers p i and q i and creates two polynomials p i (x) and q i (x). Then each party P j receives the values of p i (j) and q i (j) from every other party P i via a secure channel. The only reason for using a secure channel here is to avoid the need to generate the values p and q. Each party should only send the i -th element to party P i . This allows party P i to construct the value N i , which is then sent. By using the BGW protocol, the n parties can obtain the value N = pq without revealing p and q: N = p q = i = 1 n ( j = 1 n p j ( i ) × j = 1 n q j ( i ) )
Figure DE102022004783A1_0005

Diese Methode ermöglicht es, einen vertrauenswürdigen Händler zu vermeiden, aber sie kann nicht mit einer Standard-Siebtechnik verwendet werden. Außerdem musste ein Weg gefunden werden, um verteilte Primzahlen zu erzeugen, die sichere Primzahlen sind. Diese werden als T-Primzahlen im Sinne der Erfindung bzweichnet. Sie sind das Schlüsselelement der Erfindung.This method allows avoiding a trusted dealer, but it cannot be used with a standard screening technique. In addition, a way had to be found to avoid to generate divided prime numbers that are secure prime numbers. These are referred to as T-primes in the sense of the invention. They are the key element of the invention.

Sie beruhen auf der Annahme, dass es viele große sichere Primzahlen der Form p = ( r × ϱ ) 1

Figure DE102022004783A1_0006
gibt, wobei ϱ
Figure DE102022004783A1_0007
das Produkt aus den ersten T-Primzahlen und r eine gerade Zufallszahl ist. Mit dieser Methode kann man p ∈ [2k-1, 2k - 1] generieren, wenn r R [ 2 k 1 l o g 2 ϱ ,2 k l o g 2 ϱ 1 ]
Figure DE102022004783A1_0008
ist.They are based on the assumption that there are many large secure primes of the form p = ( r × ϱ ) 1
Figure DE102022004783A1_0006
where ϱ
Figure DE102022004783A1_0007
is the product of the first T primes and r is an even random number. With this method, one can generate p ∈ [2 k-1 , 2 k - 1] if r R [ 2 k 1 l O G 2 ϱ ,2 k l O G 2 ϱ 1 ]
Figure DE102022004783A1_0008
is.

Diese Annahme unterstützt das additive Teilen natürlicherweise und erlaubt es, die Primzahl zu definieren als p = i = 1 n p i .

Figure DE102022004783A1_0009
Jede Pi definiert eine Primzahl pi: p i = { ( r × ϱ ) 1, i f   i 1 r × ϱ , i f   i 1
Figure DE102022004783A1_0010
This assumption naturally supports additive division and allows us to define the prime number as p = i = 1 n p i .
Figure DE102022004783A1_0009
Each P i defines a prime number p i : p i = { ( r × ϱ ) 1, i e i 1 r × ϱ , i e i 1
Figure DE102022004783A1_0010

Gegenstand der Erfindung ist die Frage, wie man den besten T. Das erfindungsgemäße Verfahren verwendet einen dynamischen Wert, der abhängig ist von k über Υ: T = m a x { t , ρ | l o g 2 ( i = 1 t ρ ) k × ϒ }

Figure DE102022004783A1_0011
The subject of the invention is the question of how to determine the best T. The inventive method uses a dynamic value that depends on k over Υ: T = m a x { t , ρ | l O G 2 ( i = 1 t ρ ) k × ϒ }
Figure DE102022004783A1_0011

In der Phase der Schlüsselgenerierung müssen die Parteien unter Umständen einige Iterationen durchführen, die als Versuche bezeichnet werden, um einen Wert N zu erzeugen, der den Biprimalitätstest besteht, der bestätigt, dass er das Produkt zweier unbekannter Primzahlen ist. Eine einfache Möglichkeit, diese Bedingung zu erfüllen und die Entropie dieser Phase zu erhöhen, ist die folgende Bedingung α ≡ i(mod n) für die i-te Partei, wobei α die Anzahl der Versuche ist.In the key generation phase, the parties may need to perform some iterations, called trials, to produce a value N that passes the biprimality test, which confirms that it is the product of two unknown primes. A simple way to satisfy this condition and increase the entropy of this phase is to set the following condition α ≡ i(mod n) for the ith party, where α is the number of trials.

Boneh und Franklin ( Dan Boneh und M. Franklin. Effiziente Erzeugung von gemeinsamen RSA-Schlüsseln. Journal of the ACM, 48 (4):702{722, July 2001. doi: 10.1145/502090.502094 .) zeigten, wie die Parteien mit Hilfe des Miller-Rabin-Primatitätstests überprüfen können, dass der Wert N das Produkt von zwei Primzahlen ist p und q ist, ohne sie zu verraten.Boneh and Franklin ( Dan Boneh and M. Franklin. Efficient generation of shared RSA keys. Journal of the ACM, 48 (4):702{722, July 2001. doi: 10.1145/502090.502094 .) showed how the parties can use the Miller-Rabin primality test to verify that the value N is the product of two prime numbers p and q without revealing them.

Es wird davon ausgegangen, dass eine Partei δ R * N

Figure DE102022004783A1_0012
wählt, so dass δ teilerfremd ist zu N und das Jacobi-Symbol δ N = 1
Figure DE102022004783A1_0013
sind. Dann errechnen sie Qi als: Q i = { δ ( N + 1 p i q i ) / 4 , i f α i ( m o d   n ) δ ( p i q i ) / 4 , i f α i ( m o d   n )
Figure DE102022004783A1_0014
It is assumed that a party δ R * N
Figure DE102022004783A1_0012
such that δ is relatively prime to N and the Jacobi symbol δ N = 1
Figure DE102022004783A1_0013
Then calculate Q i as: Q i = { δ ( N + 1 p i q i ) / 4 , i e α i ( m O d n ) δ ( p i q i ) / 4 , i e α i ( m O d n )
Figure DE102022004783A1_0014

Dies ermöglicht es der Partei, den Biprimalitätstest durchzuführen: i = 1 n Q 1 ? ± 1 ( m o d   N )

Figure DE102022004783A1_0015
This allows the party to perform the biprimality test: i = 1 n Q 1 ? ± 1 ( m O d N )
Figure DE102022004783A1_0015

Es ist also klar, dass dieser Test auf der Annahme aufbaut, dass p ≡ q ≡ 3(mod 4). Dies wird auch durch das erfindungsgemäße Verfahren natürlicherweise unterstützt.It is therefore clear that this test is based on the assumption that p ≡ q ≡ 3(mod 4). This is also naturally supported by the method according to the invention.

Da es sich um einen Miller-Rabin-Primatitätstest handelt, nutzt das erfindungsgemäße Verfahren dessen Eigenschaft, dass, wenn der Biprimalitätstest gilt, dann ist der Wert N das Produkt von zwei starken Primzahlen zur Basis δ mit einer Wahrscheinlichkeit von höchstens 1/4. Wenn der Biprimitätstest l -mal jedes Mal mit einem neuen δ durchgeführt wird und der Wert N den Test immer noch besteht, dann ist der Wert N das Produkt aus zwei starken Primzahlen mit einer Wahrscheinlichkeit von 4-l.Since it is a Miller-Rabin primality test, the inventive method takes advantage of its property that if the biprimality test holds, then the value N is the product of two strong primes to base δ with a probability of at most 1/4. If the biprimality test is performed l times each time with a new δ and the value N still passes the test, then the value N is the product of two strong primes with a probability of 4 -l .

Lockerung der Bedingung für sichere PrimzahlenRelaxing the condition for safe prime numbers

Der klassische RSA Modulus ist N = pq, wobei p und q sichere Primzahlen sind. Dies bedeutet, dass p = 2p' + 1 und q = 2q' + 1, wobei p' und q' ebenfalls Primzahlen sind und gcd(N, ϕ (N)) = 1 ist. Das Paillier-Kryptosystem hat diese Anforderung übernommen, allerdings kann in Anlehnung an „ Rivest und Silverman“ (Ronald L. Rivest und Robert Silverman. Sind „starke“ Primzahlen für RSA erforderlich? In 1997 RSA Laboratories Seminar Series. Citeseer, 1999 .), „ Damgard und Koprowski“ [Ivan Damgard und Maciej Koprowski. Practical threshold RSA signatures without a trusted dealer. In International Conference on the Theory and Applications of Cryptographic Techniques, Seiten 152{165. Springer, 2001 ) und „ Nishide und Sakurai“ (Takashi Nishide und Kouichi Sakurai. Distributed Paillier cryptosystem without trusted dealer. In International Workshop on Information Security Applications, Seiten 44{60. Springer, 2010. doi: 10.1007/978-3-642-17955-6 4 ), eine Primzahl p verwendet werden, die die Bedingung erfüllt, dass (p - 1)/2 nicht teilbar ist durch eine Primzahl kleiner oder gleich n. Also muss die Primzahl p nicht unbedingt eine sichere Primzahl sein.The classical RSA modulus is N = pq, where p and q are secure primes. This means that p = 2p' + 1 and q = 2q' + 1, where p' and q' are also primes and gcd(N, ϕ (N)) = 1. The Paillier cryptosystem has adopted this requirement, but following " Rivest and Silverman” (Ronald L. Rivest and Robert Silverman. Are “strong” primes required for RSA? In 1997 RSA Labora tories Seminar Series. Citeseer, 1999 .), " Damgard and Koprowski“ [Ivan Damgard and Maciej Koprowski. Practical threshold RSA signatures without a trusted dealer. In International Conference on the Theory and Applications of Cryptographic Techniques, pages 152{165. Springer, 2001 ) and " Nishide and Sakurai” (Takashi Nishide and Kouichi Sakurai. Distributed Paillier cryptosystem without trusted dealer. In International Workshop on Information Security Applications, pages 44{60. Springer, 2010. doi: 10.1007/978-3-642-17955-6 4 ), a prime number p can be used that satisfies the condition that (p - 1)/2 is not divisible by a prime number less than or equal to n. So the prime number p does not necessarily have to be a sure prime number.

Jede Partei Pi wählt Ra,i ∈ R [0, Kx] und Rb,p',i, Rb,q',i ∈ R [0,K2x2], wobei m = ρ n ρ ,

Figure DE102022004783A1_0016
x = n × (3 × 2k/2-1)/m, m ≤ 2k/4-1 und K = 2k/2-1. p'i und q'i können dann wie folgt berechnet werden: p ' i = { ( p i 1 ) × R a , i + m R b , p ' , i i f α i ( m o d   n ) ( p i ) × R a , i + m R b , p ' , i i f α i ( m o d   n ) q ' i = { ( q i 1 ) × R a , i + m R b , q ' , i i f α i ( m o d   n ) ( q i ) × R a , i + m R b , q ' , i i f α i ( m o d   n )
Figure DE102022004783A1_0017
Each party P i chooses R a,i ∈ R [0, Kx] and R b,p',i , R b,q',i ∈ R [0,K 2 x 2 ], where m = ρ n ρ ,
Figure DE102022004783A1_0016
x = n × (3 × 2 k/2-1 )/m, m ≤ 2 k/4-1 and K = 2 k/2-1 . p' i and q' i can then be calculated as follows: p ' i = { ( p i 1 ) × R a , i + m R b , p ' , i i e α i ( m O d n ) ( p i ) × R a , i + m R b , p ' , i i e α i ( m O d n ) q ' i = { ( q i 1 ) × R a , i + m R b , q ' , i i e α i ( m O d n ) ( q i ) × R a , i + m R b , q ' , i i e α i ( m O d n )
Figure DE102022004783A1_0017

Sobald γ p ' = i = 1 n p ' i  und  γ q ' = i = 1 n q ' i

Figure DE102022004783A1_0018
erhalten wurden, ist es einfach zu beweisen, dass γp' und γq' nicht durch irgendeine Primzahl teilbar sind, die kleiner ist als n: g c d ( γ p ' , m ) ? 1 g c d ( γ q ' , m ) ? 1
Figure DE102022004783A1_0019
As soon as γ p ' = i = 1 n p ' i and γ q ' = i = 1 n q ' i
Figure DE102022004783A1_0018
obtained, it is easy to prove that γ p' and γ q' are not divisible by any prime number smaller than n: G c d ( γ p ' , m ) ? 1 G c d ( γ q ' , m ) ? 1
Figure DE102022004783A1_0019

Es ist klar, dass (p - 1)/2 und (q - 1)/2 nicht durch eine Primzahl kleiner als n teilbar sind. Wie gezeigt, kann man dies tun, ohne dass man p und q verrät, wenn P ' > ( 2 × n 2 × ( 3 × 2 k 1 ) ) 2

Figure DE102022004783A1_0020
It is clear that (p - 1)/2 and (q - 1)/2 are not divisible by a prime number less than n. As shown, this can be done without revealing p and q if P ' > ( 2 × n 2 × ( 3 × 2 k 1 ) ) 2
Figure DE102022004783A1_0020

Allerdings kann ein guter Wert N verworfen werden.However, a good value of N can be discarded.

Wenn ja, führt dies zu: m | j = 1 n R a , i

Figure DE102022004783A1_0021
If so, this leads to: m | j = 1 n R a , i
Figure DE102022004783A1_0021

Das erfindungsgemäße Verfahren und seine Auswirkungen auf die Rechenzeit zur Erzeugung der beiden großen Primzahlen werden anhand der Abbildungen näher erläutert. Diese zeigen:

  • : Leistung zur Erzeugung von T-Primzahlen mit einem erfindungsgemäßen Verfahren
  • : Benchmark der Auswirkungen der Wiederverwendung von p und q
The method according to the invention and its effects on the computing time for generating the two large prime numbers are explained in more detail using the figures. These show:
  • : Performance for generating T-primes using a method according to the invention
  • : Benchmark the impact of reusing p and q

Im Rahmen dieser Erfindung wurde ein Benchmark zu den aus dem Stand der Technik bekannten Verfahren zur Erzeugung zweier großer Primzahlen durchgeführt.Within the scope of this invention, a benchmark was carried out on the methods known from the state of the art for generating two large prime numbers.

Dieser Abschnitt unterstützt die Entscheidung, den Zufallswert Υ ∈ R [0.2,0.4] für die Konstante Υ zu verwenden, um die T in der T-Primzahl zu definieren.This section supports the decision to use the random value Υ ∈ R [0.2,0.4] for the constant Υ to define the T in the T-prime.

Für das Benchmarking wurde bei jedem Benchmark-Test der echte (Hardware-) Zufallszahlengenerator SwiftRNG Pro verwendet: Jeder Teilnehmer Pi erstellt eine Primzahl pi, die zur Berechnung von p = 1 n p i

Figure DE102022004783A1_0022
verwendet wird.For benchmarking, the real (hardware) random number generator SwiftRNG Pro was used in each benchmark test: Each participant P i creates a prime number p i which is used to calculate p = 1 n p i
Figure DE102022004783A1_0022
is used.

Es wurde mehrmals versucht, bis ein p erhalten wurde, die eine wahrscheinlich Primzahl ist und außerdem die Bedingung erfüllt, dass (p - 1)/2 nicht durch eine Primzahl kleiner oder gleich n teilbar ist. Es wurden die Miller-Rabin- und Lucas-Lehmer-Primzahltests verwendet, um festzustellen, ob p wahrscheinlich eine Primzahl ist. Bei den Tests wurde jede Technik verwendet, um 123 Primzahlen zu generieren, die die Anforderungen für jede n ∈ {1, 2, 3, 4, 7, 11, 18, 29, 47, 76, 123} und k ∈ {1024, 2048, 4096, 8192} erfüllen. Die Ergebnisse für Υ ∈ [0.00, 0.99] mit Schritt 0.01 und für Υ ∈ R [0.2, 0.4] sind in den 1a-1d dargestellt. Es wurde angenommen, dass Υ ∈ R [0.2, 0.4] als optimaler Wert verwendet werden kann, da dadurch die Entropie der Primzahlen nicht verringert wird. Außerdem lässt sich so die Anzahl der Versuche auf ein akzeptables Maß reduzieren.It was tried several times until a p was obtained that is a probably prime number and also satisfies the condition that (p - 1)/2 is not divisible by a prime number less than or equal to n. The Miller-Rabin and Lucas-Lehmer primality tests were used to determine whether p is probably is a prime number. In the tests, each technique was used to generate 123 prime numbers that satisfy the requirements for each n ∈ {1, 2, 3, 4, 7, 11, 18, 29, 47, 76, 123} and k ∈ {1024, 2048, 4096, 8192}. The results for Υ ∈ [0.00, 0.99] with step 0.01 and for Υ ∈ R [0.2, 0.4] are shown in the 1a-1d It was assumed that Υ ∈ R [0.2, 0.4] can be used as the optimal value, since it does not reduce the entropy of the primes and also reduces the number of trials to an acceptable level.

Die gleichen Benchmarks wurden für die drei anderen oben beschriebenen Methoden (Naive, Composite und Dubners) und T-Primzahlen mit Υ ∈ R [0.2,0.4] druchgeführt. Allerdings wurden die Tests für größere Werte von k als 2048 Bits wurden jedoch nicht durchgeführt, da die Ergebnisse der Tests mit kleineren k bereits inakzeptabel waren. Die Ergebnisse sind in Tabelle 1 unten dargestellt. Es ist klar, dass die erfindungsgemäße Methode viel weniger Versuche erfordert, um eine gute Primzahl zu erhalten. Table 1: Number of attempts by T-primes Υ ∈ R [0.2, 0.4]) and other methods, plus Tukey's whiskers k T-primes Dubner's Composite Naive 1024 2048 4096 8192 1024 2048 4096 1024 2048 1024 2048 Upper whisker 225 433 781 1409 750 1424 2733 3820 11633 3827 7665 3rd quartile 104 198 354 652 339 649 1251 1597 5072 1691 3374 Median 51 98 172 337 155 324 624 407 1997 740 1375 Ist quartile 23 41 69 147 65 132 263 115 698 267 513 Lower whisker 1 1 1 1 1 1 1 2 9 1 1 Mean 75 139 247 468 249 487 949 1422 3809 1277 2509 Skewness 2.45 1.78 1.77 2.11 2.15 2.35 2.19 3.39 2.53 3.18 2.69 Kurtosis 12.91 3.90 4.06 6.70 6.31 8.17 6.86 15.87 8.76 16.94 10.67 The same benchmarks were performed for the three other methods described above (Naive, Composite and Dubners) and T-primes with Υ ∈ R [0.2,0.4]. However, the tests for values of k larger than 2048 bits were not performed because the results of the tests with smaller k were already unacceptable. The results are presented in Table 1 below. It is clear that the inventive method requires much fewer attempts to obtain a good prime. Table 1: Number of attempts by T-primes Υ ∈ R [0.2, 0.4]) and other methods, plus Tukey's whiskers k T-primes Dubner's Composite Naive 1024 2048 4096 8192 1024 2048 4096 1024 2048 1024 2048 Upper whisker 225 433 781 1409 750 1424 2733 3820 11633 3827 7665 3rd quarter 104 198 354 652 339 649 1251 1597 5072 1691 3374 Median 51 98 172 337 155 324 624 407 1997 740 1375 Is quartile 23 41 69 147 65 132 263 115 698 267 513 Lower whiskers 1 1 1 1 1 1 1 2 9 1 1 Mean 75 139 247 468 249 487 949 1422 3809 1277 2509 Skewness 2.45 1.78 1.77 2.11 2.15 2.35 2.19 3.39 2.53 3.18 2.69 Kurtosis 12.91 3.90 4.06 6.70 6.31 8.17 6.86 15.87 8.76 16.94 10.67

Benchmarking der Auswirkungen der Wiederverwendung p und qBenchmarking the impacts of reuse p and q

Dieser Abschnitt unterstützt die Entscheidung, p oder q nicht wiederzuverwenden, wenn beide Komponenten von N = pq Primzahlen sind, aber nur eine von ihnen die oben beschriebene sichere Primzahlbedingung erfüllt hat.This section supports the decision not to reuse p or q when both components of N = pq are prime, but only one of them has satisfied the safe prime condition described above.

Für das Benchmarking wurde dieselbe Technik und Umgebung verwendet, wobei für jeden Benchmark-Test ein Pseudozufallszahlengenerator auf der Grundlage der Algorithmen Yarrow und Fortuna mit der Hash-Funktion BLAKE3 verwendet wurde, der oben verwendet wurde, um 123 verschiedene Werte von N zu erzeugen, von denen jeder alle Anforderungen erfüllt. 2 zeigt eine zusammenfassende Statistik der Anzahl der Versuche für Υ ∈ R [0.2,0 .4]. Es wurden verschiedene Werte von k ∈ {1024,2048,4096,8192} und n ∈ [1, 123] verwendet, wobei p oder q in späteren Versuchen wiederverwendet worden sein können, um N zu erhalten. Es ist klar, dass die Wiederverwendung p oder q keine signifikante Auswirkung auf die Anzahl der Versuche hat, um N zu erhalten. Außerdem ist die Anzahl der Versuche nicht abhängig von n oder dem verwendeten Pseudozufallszahlengenerator.The same technique and environment was used for benchmarking, using for each benchmark test a pseudorandom number generator based on the Yarrow and Fortuna algorithms with the BLAKE3 hash function used above to generate 123 different values of N, each of which satisfies all requirements. 2 shows summary statistics of the number of trials for Υ ∈ R [0.2,0 .4]. Various values of k ∈ {1024,2048,4096,8192} and n ∈ [1, 123] were used, where p or q may have been reused in later trials to obtain N. It is clear that reusing p or q has no significant effect on the number of trials to obtain N. Furthermore, the number of trials does not depend on n or the pseudorandom number generator used.

Benchmarking der Schlüsselgenerierung mit verschiedenen nBenchmarking key generation with different n

Dieser Abschnitt beschreibt die Ergebnisse einer Reihe von Benchmarks - mit demselben Pseudozufallszahlengenerator wie zuvor -, die mit einer Implementierung des beschriebenen Kryptosystems durchgeführt wurden.This section describes the results of a series of benchmarks - using the same pseudorandom number generator as before - performed on an implementation of the described cryptosystem.

Für das Benchmarking wurden 13 Zufallsschlüssel mit t = 1, n ∈ {1, 2, 3, 4, 7, 11, 18, 29, 47, 76, 123} und k ∈ {1024, 2048} erzeugt. Für jeden Benchmark erstellte die Anwendung n unabhängige Parteien. Jeder erzeugte Schlüssel wurde auch verwendet, um n digitale Signaturen aus n Teilen zu erzeugen, die dann n-mal überprüft verifiziert wurden. Für jeden dieser Tests wurde auch der Zero-Knowledge-Beweis angewendet.For benchmarking, 13 random keys were generated with t = 1, n ∈ {1, 2, 3, 4, 7, 11, 18, 29, 47, 76, 123} and k ∈ {1024, 2048}. For each benchmark, the application created n independent parties. Each generated key was also used to generate n digital signatures from n parts, which were then verified n times. For each of these tests, the zero-knowledge proof was also applied.

Alle Benchmarks wurden auf normaler Hardware durchgeführt, die derzeit und üblicherweise verfügbar ist. Ein Beispiel für eine solche Hardware ist der Apple Mac Mini mit einer M1 CPU und 8 GB RAM. Für unser Kryptosystem wurde der dynamische Binärübersetzer Rosetta verwendet, um die OpenJDK 64-Bit-Server-VM (Version 16-ea+24) auszuführen. Es wurde keine Netzwerkkommunikation verwendet, was das Kryptosystem dazu zwang, alle Berechnungen in einem einzigen Thread durchzuführen. Es wurde eine redundante Umgebung verwendet, um die Leistung der erfindungsgemäßen Implementierung zu verschlechtern, was die Ergebnisse noch deutlicher macht.All benchmarks were performed on normal hardware that is currently and commonly available. An example of such hardware is the Apple Mac Mini with an M1 CPU and 8 GB RAM. For our cryptosystem, the dynamic binary translator Rosetta was used to run the OpenJDK 64-bit server VM (version 16-ea+24). No network communication was used, which forced the cryptosystem to perform all computations in a single thread. A redundant environment was used to degrade the performance of the inventive implementation, which makes the results even more significant.

Die Ergebnisse sind in Tabelle 2 unten dargestellt. Es wird deutlich, dass das erfindungsgemäße Verfahren auf derzeit verfügbarer Hardware mit einem akzeptablen Sicherheitsniveau eingesetzt werden kann, das für die absehbare Zukunft (d. h. bis zur Verfügbarkeit von Quantencomputern) ausreichend ist. Table 2: Average times in seconds to generate a random key pair. Confidence interval 99.9% k n RUN TIME CI k n RUN TIME CI 1024 1 0.6 0.48 1024 1 0.56 0.47 1024 2 0.45 0.41 1024 2 0.56 0.62 1024 3 1.45 1.44 1024 3 0.65 0.4 1024 4 2.33 1.41 1024 4 0.55 0.51 1024 7 3.58 2.64 1024 7 0.95 0.55 1024 11 6.86 6.51 1024 11 1.8 0.84 1024 18 11.41 10.08 1024 18 3.86 1.55 1024 29 16.75 13.29 1024 29 9.5 4.15 1024 47 30.35 22.99 1024 47 24.16 9.89 1024 76 89.89 83.6 1024 76 61.24 16.85 1024 123 188.23 85.95 1024 123 142.75 22.37 2048 1 6.35 7.17 2048 1 10.04 8.86 2048 2 6.62 6.33 2048 2 5.74 6.16 2048 3 19.37 22.84 2048 3 3.95 2.54 2048 4 20.92 21.62 2048 4 4.78 4.81 2048 7 50.23 53.75 2048 7 13.08 13.93 2048 11 61.06 58.35 2048 11 18.31 14.73 2048 18 128.01 104.38 2048 18 30.97 16.85 2048 29 215.12 232.7 2048 29 52.48 38.6 2048 47 270.78 254.34 2048 47 161.83 77.63 2048 76 602.28 585.96 2048 76 286.1 31.72 2048 123 2,135.56 1,609.16 2048 123 741.35 287.99 (a) Single thread (b) Eight threads The results are shown in Table 2 below. It is clear that the method according to the invention can be used on currently available hardware with an acceptable level of security that is sufficient for the foreseeable future (ie until quantum computers are available). Table 2: Average times in seconds to generate a random key pair. Confidence interval 99.9% k n RUNTIME CI k n RUNTIME CI 1024 1 0.6 0.48 1024 1 0.56 0.47 1024 2 0.45 0.41 1024 2 0.56 0.62 1024 3 1.45 1.44 1024 3 0.65 0.4 1024 4 2.33 1.41 1024 4 0.55 0.51 1024 7 3.58 2.64 1024 7 0.95 0.55 1024 11 6.86 6.51 1024 11 1.8 0.84 1024 18 11.41 10.08 1024 18 3.86 1.55 1024 29 16.75 13.29 1024 29 9.5 4.15 1024 47 30.35 22.99 1024 47 24.16 9.89 1024 76 89.89 83.6 1024 76 61.24 16.85 1024 123 188.23 85.95 1024 123 142.75 22.37 2048 1 6.35 7.17 2048 1 10.04 8.86 2048 2 6.62 6.33 2048 2 5.74 6.16 2048 3 19.37 22.84 2048 3 3.95 2.54 2048 4 20.92 21.62 2048 4 4.78 4.81 2048 7 50.23 53.75 2048 7 13.08 13.93 2048 11 61.06 58.35 2048 11 18.31 14.73 2048 18 128.01 104.38 2048 18 30.97 16.85 2048 29 215.12 232.7 2048 29 52.48 38.6 2048 47 270.78 254.34 2048 47 161.83 77.63 2048 76 602.28 585.96 2048 76 286.1 31.72 2048 123 2,135.56 1,609.16 2048 123 741.35 287.99 (a) Single-thread (b) Eight threads

Der Arbeitsablauf der Schlüsselerzeugung unter Verwendung der sicheren großen Primzahlen wird nun näher erläutert:The workflow of key generation using secure large prime numbers is now explained in more detail:

Der Schlüssel wird durch einen iterativen Prozess erzeugt, der einen oder mehrere Versuche erfordern kann, um einen Schlüssel zu erhalten N zu erhalten, der den Biprimalitätstest bestehen kann:The key is generated through an iterative process that may require one or more attempts to obtain a key N that can pass the biprimality test:

Alle n = h = 0 l n l

Figure DE102022004783A1_0023
-Parteien, die neue Schlüsselpaare erzeugen, mit k als Moduluslänge in Bits, mit Schwellenwertparametern t = h = 0 l t l ( t = m a x ( t l ) , t l )
Figure DE102022004783A1_0024
und konjunktiven (disjunktiven) Rängen 0,...,l sollten sich auf zwei ungerade Primzahlen P' und P" übereinstimmen, die als Bootstrap- und Secrets-Moduli bezeichnet werden. Diese sollten mindestens den folgenden Anforderungen genügen: P ' > ( 2 × n 2 × ( 3 × 2 k 1 ) ) 2 P ' '   > 2 2 k + k / 2 1
Figure DE102022004783A1_0025
All n = H = 0 l n l
Figure DE102022004783A1_0023
-Parties generating new key pairs, with k as modulus length in bits, with threshold parameters t = H = 0 l t l ( t = m a x ( t l ) , t l )
Figure DE102022004783A1_0024
and conjunctive (disjunctive) ranks 0,...,l should agree on two odd prime numbers P' and P", which are called bootstrap and secrets moduli. These should satisfy at least the following requirements: P ' > ( 2 × n 2 × ( 3 × 2 k 1 ) ) 2 P ' ' > 2 2 k + k / 2 1
Figure DE102022004783A1_0025

Jede Partei wählt eine eindeutige i ∈ [1, n], und definiert t' = max(0, n - 1) , t'' = max(0, n/2 - 1) und t''' = max(0, n/3 - 1). m ist das Produkt aller Primzahlen, die kleiner oder gleich n sind. Später wird verwendet, dass Ml = Πρ∈ℙ\2ρ, wobei ρ > Ml-1, M0 = 3 und Ml ≤ 2k/2-1, und ϱ ,

Figure DE102022004783A1_0026
welche das Produkt der ersten paar T -Primzahlen darstellt, wobei T definiert ist durch Gleichung [eq:T] mit Υ ∈ R [0.2,0.4]. Jede Partei definiert außerdem Δ = n! und λi: λ i = Δ × i ' S \ { i } i ' i ' S \ { i } i i '
Figure DE102022004783A1_0027
Each party chooses a unique i ∈ [1, n], and defines t' = max(0, n - 1) , t'' = max(0, n/2 - 1) and t''' = max(0, n/3 - 1). m is the product of all primes less than or equal to n. Later it is used that M l = Π ρ∈ℙ\2 ρ, where ρ > M l-1 , M 0 = 3 and M l ≤ 2 k/2-1 , and ϱ ,
Figure DE102022004783A1_0026
which is the product of the first few T -primes, where T is defined by equation [eq:T] with Υ ∈ R [0.2,0.4]. Each party also defines Δ = n! and λ i : λ i = Δ × i ' S \ { i } i ' i ' S \ { i } i i '
Figure DE102022004783A1_0027

Wobei gilt S ∈ [1, n].Where S ∈ [1, n].

Für jeden Versuch α berechnet jede Partei Pi pi und qi. p i , q i = { ( r × ϱ ) 1, i f α i ( m o d   n ) r × ϱ , i f α i ( m o d   n )

Figure DE102022004783A1_0028
wobei r R [ 2 k / 2 1 l o g 2 ϱ ,2 k / 2 l o g 2 ϱ 1 ]
Figure DE102022004783A1_0029
gerade ist. Außerdem berechnet die Partei p'i und q'i: p ' i , q ' i = { ( p i 1, q i 1 ) , i f α i ( m o d   n ) ( p i , q i ) , i f α i ( m o d   n )
Figure DE102022004783A1_0030
For each trial α, each party calculates P i p i and q i . p i , q i = { ( r × ϱ ) 1, i e α i ( m O d n ) r × ϱ , i e α i ( m O d n )
Figure DE102022004783A1_0028
where r R [ 2 k / 2 1 l O G 2 ϱ ,2 k / 2 l O G 2 ϱ 1 ]
Figure DE102022004783A1_0029
is even. In addition, the party calculates p' i and q' i : p ' i , q ' i = { ( p i 1, q i 1 ) , i e α i ( m O d n ) ( p i , q i ) , i e α i ( m O d n )
Figure DE102022004783A1_0030

Außerdem wählt jede Partei K = 2k/2-1, Ra ∈ R [0, Kx] und Rb ∈ R ℤ *K2x2 , wobei x = n × (3 × 2k-1)/m, m = ρ n ρ ,   m 2 k / 4 1 ,

Figure DE102022004783A1_0031
und Zufallskoeffizienten a, a', b, b', c, d, e ∈ R ℤP'. Diese Werte werden in den Polynomen für ∀j, l ∈ [1, n] verwendet: p i ( x ) = p i + a 1 x + a 2 x 2 + + a t ' ' x t ' ' ( m o d   P ' ) q i ( x ) = q i + b 1 x + b 2 x 2 + + b t ' ' x t ' ' ( m o d   P ' ) p ' i ( x ) = p ' i + a ' 1 x + a ' 2 x 2 + + a ' t ' ' x t ' ' ( m o d   P ' ) q ' i ( x ) = q ' i + b ' 1 x + b ' 2 x 2 + + b ' t ' ' x t ' ' ( m o d   P ' ) h i ( x ) = 0 + c 1 x + c 2 x 2 + + c t ' x t ' ( m o d   P ' ) R a , i , l ( x ) = R a , i , l + d i , p ' , l ,1 x + e i , p ' , l ,2 x 2 + + e i , p ' , l , t ' ' x t ' ' ( m o d   P ' ) m R b , p ' , i ( x ) = m R b , p ' , i + e i , p ' ,1 x + e i , p ' ,2 x 2 + + e i , p ' , t ' x t ' ( m o d   P ' ) m R b , p ' , i ( x ) = m R b , p ' , i + e i , q ' ,1 x + e i , q ' ,2 x 2 + + e i , q ' , t ' x t ' ( m o d   P ' )
Figure DE102022004783A1_0032
In addition, each party chooses K = 2 k/2-1 , R a ∈ R [0, Kx] and R b ∈ R ℤ * K 2 x 2 , where x = n × (3 × 2 k-1 )/m, m = ρ n ρ , m 2 k / 4 1 ,
Figure DE102022004783A1_0031
and random coefficients a, a', b, b', c, d, e ∈ R ℤ P' . These values are used in the polynomials for ∀j, l ∈ [1, n]: p i ( x ) = p i + a 1 x + a 2 x 2 + + a t ' ' x t ' ' ( m O d P ' ) q i ( x ) = q i + b 1 x + b 2 x 2 + + b t ' ' x t ' ' ( m O d P ' ) p ' i ( x ) = p ' i + a ' 1 x + a ' 2 x 2 + + a ' t ' ' x t ' ' ( m O d P ' ) q ' i ( x ) = q ' i + b ' 1 x + b ' 2 x 2 + + b ' t ' ' x t ' ' ( m O d P ' ) H i ( x ) = 0 + c 1 x + c 2 x 2 + + c t ' x t ' ( m O d P ' ) R a , i , l ( x ) = R a , i , l + d i , p ' , l ,1 x + e i , p ' , l ,2 x 2 + + e i , p ' , l , t ' ' x t ' ' ( m O d P ' ) m R b , p ' , i ( x ) = m R b , p ' , i + e i , p ' ,1 x + e i , p ' ,2 x 2 + + e i , p ' , t ' x t ' ( m O d P ' ) m R b , p ' , i ( x ) = m R b , p ' , i + e i , q ' ,1 x + e i , q ' ,2 x 2 + + e i , q ' , t ' x t ' ( m O d P ' )
Figure DE102022004783A1_0032

Jede Partei berechnet nun die Tupel für ∀j, l ∈ [1, n]: ( p i , j = p i ( j ) ) , q i , j = q i ( j ) , h i , j = h i ( j ) ) ( p ' i , j , l = p ' i ( j ) ) , q ' i , j , l = q ' i ( j ) , R a , i , l , j = R a , i , l ( j ) , ) ( m R b , p ' , i , j = m R b , p ' , i ( j ) , m R b , q ' , i , j = m R b , q ' , i ( j ) )

Figure DE102022004783A1_0033
Each party now calculates the tuples for ∀j, l ∈ [1, n]: ( p i , j = p i ( j ) ) , q i , j = q i ( j ) , H i , j = H i ( j ) ) ( p ' i , j , l = p ' i ( j ) ) , q ' i , j , l = q ' i ( j ) , R a , i , l , j = R a , i , l ( j ) , ) ( m R b , p ' , i , j = m R b , p ' , i ( j ) , m R b , q ' , i , j = m R b , q ' , i ( j ) )
Figure DE102022004783A1_0033

Über einen sicheren Kanal erhält jede Partei Pi von jeder anderen Partei Pj Tupel (i, j) für diesen Versuch. Dies ermöglicht ihnen die Berechnung von Ni und γi,p',l und γi,q',l ∀l ∈ [1, n]: N i = ( j = 1 n p j , i × j = 1 n q j , i + j = 1 n h j , i ) × λ i ( m o d   P ' ) γ i , p ' , l = ( j = 1 n p ' j , i , l × j = 1 n R a , j , l , i + j = 1 n m R b , p ' , j , i ) × λ i ( m o d   P ' ) γ i , p ' , l = ( j = 1 n p ' j , i , l × j = 1 n R a , j , l , i + j = 1 n m R b , p ' , j , i ) × λ i ( m o d   P ' )

Figure DE102022004783A1_0034
Through a secure channel, each party P i receives tuples (i, j) from every other party P j for this trial. This allows them to compute N i and γ i,p',l and γ i,q',l ∀l ∈ [1, n]: N i = ( j = 1 n p j , i × j = 1 n q j , i + j = 1 n H j , i ) × λ i ( m O d P ' ) γ i , p ' , l = ( j = 1 n p ' j , i , l × j = 1 n R a , j , l , i + j = 1 n m R b , p ' , j , i ) × λ i ( m O d P ' ) γ i , p ' , l = ( j = 1 n p ' j , i , l × j = 1 n R a , j , l , i + j = 1 n m R b , p ' , j , i ) × λ i ( m O d P ' )
Figure DE102022004783A1_0034

Diese Ni, γi,p',l und γi,q',l ∀l ∈ [1, n] werden an alle Parteien weitergegeben, so dass diese N und γp',l und γq',l ∀l ∈ [1, n] berechnen können: N = ( i = 1 n N i ) ÷ Δ ( m o d   P ' ) γ p ' , l = ( i = 1 n γ i , p ' , l ) ÷ Δ ( m o d   P ' ) γ q ' , l = ( i = 1 n γ i , q ' , l ) ÷ Δ ( m o d   P ' )

Figure DE102022004783A1_0035
These N i , γ i,p',l and γ i,q',l ∀l ∈ [1, n] are passed on to all parties so that they can calculate N and γ p',l and γ q',l ∀l ∈ [1, n]: N = ( i = 1 n N i ) ÷ Δ ( m O d P ' ) γ p ' , l = ( i = 1 n γ i , p ' , l ) ÷ Δ ( m O d P ' ) γ q ' , l = ( i = 1 n γ i , q ' , l ) ÷ Δ ( m O d P ' )
Figure DE102022004783A1_0035

Jede Partei stellt sicher, dass N nicht durch einen Faktor einer beliebigen Ml teilbar ist und dass es mindestens Wert l existiert, für den γp',l und γp',l nicht teilbar durch einen Faktor von m sind: g c d ( N , M l ) ? 1 , l [ 0, ( k ) ] g c d ( γ p ' l , m ) ? g c d ( γ q ' l , m ) ? 1 , l [ 1, n ]

Figure DE102022004783A1_0036
Each party ensures that N is not divisible by a factor of any M l and that there exists at least l for which γ p',l and γ p',l are not divisible by a factor of m: G c d ( N , M l ) ? 1 , l [ 0, ( k ) ] G c d ( γ p ' l , m ) ? G c d ( γ q ' l , m ) ? 1 , l [ 1, n ]
Figure DE102022004783A1_0036

Scheitert eine der drei Prüfungen der Zweigliedrigkeit, müssen die Parteien einen neuen Versuch unternehmen.If one of the three tests of dualism fails, the parties must make a new attempt.

Jetzt prüft jede Partei Pi, ob N ein Produkt aus genau zwei Primzahlen ist. Die Partei wählt δ R * N

Figure DE102022004783A1_0037
und δ ⊥ N derart, dass das Jacobi-Symbol δ N = 1
Figure DE102022004783A1_0038
zur Definition von Qi: Q i = { δ ( N + 1 p i q i ) / 4 , i f α i ( m o d   n ) δ ( p i q i ) / 4 , i f α i ( m o d   n )
Figure DE102022004783A1_0039
Now each party P i checks whether N is a product of exactly two prime numbers. The party chooses δ R * N
Figure DE102022004783A1_0037
and δ ⊥ N such that the Jacobi symbol δ N = 1
Figure DE102022004783A1_0038
to define Q i : Q i = { δ ( N + 1 p i q i ) / 4 , i e α i ( m O d n ) δ ( p i q i ) / 4 , i e α i ( m O d n )
Figure DE102022004783A1_0039

Dies ermöglicht es der Partei, den Biprimalitätstest durchzuführen: i = 1 n Q 1 ? ± 1 ( m o d   N )

Figure DE102022004783A1_0040
This allows the party to perform the biprimality test: i = 1 n Q 1 ? ± 1 ( m O d N )
Figure DE102022004783A1_0040

Scheitert der Biprimalitätstest, müssen die Parteien einen neuen Versuch unternehmen.If the biprimality test fails, the parties must make a new attempt.

Wenn N den Biprimalitätstest besteht, wird der Wert zur Erstellung der geheimen Schlüssel und des öffentlichen Schlüssels verwendet.If N passes the biprimality test, the value is used to create the secret key and the public key.

ZITATE ENTHALTEN IN DER BESCHREIBUNGQUOTES INCLUDED IN THE DESCRIPTION

Diese Liste der vom Anmelder aufgeführten Dokumente wurde automatisiert erzeugt und ist ausschließlich zur besseren Information des Lesers aufgenommen. Die Liste ist nicht Bestandteil der deutschen Patent- bzw. Gebrauchsmusteranmeldung. Das DPMA übernimmt keinerlei Haftung für etwaige Fehler oder Auslassungen.This list of documents listed by the applicant was generated automatically and is included solely for the better information of the reader. The list is not part of the German patent or utility model application. The DPMA accepts no liability for any errors or omissions.

Zitierte Nicht-PatentliteraturCited non-patent literature

  • Dan Boneh und M. Franklin. Efficient generation of shared RSA keys. Journal of the ACM, 48 (4):702{722, Juli 2001. doi: 10.1145/502090.502094 [0004]Dan Boneh and M. Franklin. Efficient generation of shared RSA keys. Journal of the ACM, 48 (4):702{722, July 2001. doi: 10.1145/502090.502094 [0004]
  • Dubner“ (Harvey Dubner, Large Sophie Germain primes. Mathematics of Computation, 65(213):393-396, January 1996. doi: 10.1090/s0025-5718-96-00670-9 [0007]Dubner" (Harvey Dubner, Large Sophie Germain primes. Mathematics of Computation, 65(213):393-396, January 1996. doi: 10.1090/s0025-5718-96-00670-9 [0007]
  • Dan Boneh und M. Franklin. Effiziente Erzeugung von gemeinsamen RSA-Schlüsseln. Journal of the ACM, 48 (4):702{722, July 2001. doi: 10.1145/502090.502094 [0016]Dan Boneh and M. Franklin. Efficient generation of shared RSA keys. Journal of the ACM, 48 (4):702{722, July 2001. doi: 10.1145/502090.502094 [0016]
  • Rivest und Silverman“ (Ronald L. Rivest und Robert Silverman. Sind „starke“ Primzahlen für RSA erforderlich? In 1997 RSA Laboratories Seminar Series. Citeseer, 1999 [0021]Rivest and Silverman” (Ronald L. Rivest and Robert Silverman. Are “strong” primes required for RSA? In 1997 RSA Laboratories Seminar Series. Citeseer, 1999 [0021]
  • Damgard und Koprowski“ [Ivan Damgard und Maciej Koprowski. Practical threshold RSA signatures without a trusted dealer. In International Conference on the Theory and Applications of Cryptographic Techniques, Seiten 152{165. Springer, 2001 [0021]Damgard and Koprowski" [Ivan Damgard and Maciej Koprowski. Practical threshold RSA signatures without a trusted dealer. In International Conference on the Theory and Applications of Cryptographic Techniques, pages 152{165. Springer, 2001 [0021]
  • Nishide und Sakurai“ (Takashi Nishide und Kouichi Sakurai. Distributed Paillier cryptosystem without trusted dealer. In International Workshop on Information Security Applications, Seiten 44{60. Springer, 2010. doi: 10.1007/978-3-642-17955-6 4 [0021]Nishide and Sakurai” (Takashi Nishide and Kouichi Sakurai. Distributed Paillier cryptosystem without trusted dealer. In International Workshop on Information Security Applications, pages 44{60. Springer, 2010. doi: 10.1007/978-3-642-17955-6 4 [0021]

Claims (2)

Verfahren zum Erzeugen von zwei großen Primzahlen durch additives Teilen ohne einen vertrauenswürdigen Händler in einem Kommunikationssystem mit einer Anzahl von Teilnehmern n umfassend die folgenden Schritte: a. Für jeden Versuch wählt die Partei Pi zufällige Zahlen pi und qi: ( p i , q i ) = { ( r × ϱ ) 1, i f   i 1 r × ϱ , i f   i 1
Figure DE102022004783A1_0041
b. ϱ
Figure DE102022004783A1_0042
ist das Produkt der ersten T Primzahlen, wobei T definiert ist als: T = max { t , ρ | log 2 ( i = 1 t ρ ) k × ϒ }
Figure DE102022004783A1_0043
c. Für jeden Versuch wählt jede Partei eine neue zufällige rationale Zahl Υ zwischen 0 und 1 und wählt r R [ 2 k 1 log 2 ϱ ,2 k log 2 ϱ 1 ] .
Figure DE102022004783A1_0044
d. Um einen Wert N zu erhalten, verwenden alle Parteien ein n-aus-n additives Secret-Sharing-Schema, um pi und qi als pi,x = pi(x) und qi,x = qi(x) gemeinsam zu teilen, was ihnen die Berechnung von N ohne Offenlegung von p oder q erlaubt: N = i = 1 n ( j = 1 n p j , i × j = 1 n q j , i )
Figure DE102022004783A1_0045
e. Jede Partei führt einen Biprimalitätstest durch, um zu bestätigen, dass N das Produkt zweier Primzahlen ist, wobei im Falle eines negativen Testergebnisses die Schritte ab Schritt (a) wiederholt werden.
A method for generating two large prime numbers by additive division without a trusted dealer in a communication system with a number of participants n, comprising the following steps: a. For each trial, party P i chooses random numbers p i and q i : ( p i , q i ) = { ( r × ϱ ) 1, i e i 1 r × ϱ , i e i 1
Figure DE102022004783A1_0041
b. ϱ
Figure DE102022004783A1_0042
is the product of the first T prime numbers, where T is defined as: T = Max { t , ρ | log 2 ( i = 1 t ρ ) k × ϒ }
Figure DE102022004783A1_0043
c. For each trial, each party chooses a new random rational number Υ between 0 and 1 and selects r R [ 2 k 1 log 2 ϱ ,2 k log 2 ϱ 1 ] .
Figure DE102022004783A1_0044
d. To obtain a value N, all parties use an n-out-of-n additive secret sharing scheme to share p i and q i as p i,x = p i (x) and q i,x = q i (x), which allows them to compute N without revealing p or q: N = i = 1 n ( j = 1 n p j , i × j = 1 n q j , i )
Figure DE102022004783A1_0045
e. Each Party shall perform a biprimality test to confirm that N is the product of two prime numbers, repeating the steps from step (a) in case of a negative test result.
Verfahren nach Anspruch 1, wobei der Biprimalitätstest wie folgt durchgeführt wird: a. eine Partei wählt δ R * N
Figure DE102022004783A1_0046
derart, dass δ teilerfremd zu N ist, und das Jacobi-Symbol δ N = 1
Figure DE102022004783A1_0047
dann berechnen die Parteien den Wert Qi als: Q i = { δ ( N + 1 p i q i ) / 4 , if α i ( mod  n ) δ ( p i q i ) / 4 , if α i ( mod  n )
Figure DE102022004783A1_0048
b. Dies ermöglicht es der Partei, den Biprimalitätstest durchzuführen mit: i = 1 n Q 1 ? ± 1 ( mod  N )
Figure DE102022004783A1_0049
Procedure according to Claim 1 , where the biprimality test is carried out as follows: a. a party chooses δ R * N
Figure DE102022004783A1_0046
such that δ is relatively prime to N, and the Jacobi symbol δ N = 1
Figure DE102022004783A1_0047
then the parties calculate the value Q i as: Q i = { δ ( N + 1 p i q i ) / 4 , if α i ( mod n ) δ ( p i q i ) / 4 , if α i ( mod n )
Figure DE102022004783A1_0048
b. This allows the party to perform the biprimality test with: i = 1 n Q 1 ? ± 1 ( mod N )
Figure DE102022004783A1_0049
DE102022004783.7A 2022-05-07 2022-12-16 Method for generating two large prime numbers by additive division without a trusted dealer in a communication system with a number of participants Pending DE102022004783A1 (en)

Applications Claiming Priority (2)

Application Number Priority Date Filing Date Title
DE102022001605 2022-05-07
DE102022001605.2 2022-05-07

Publications (1)

Publication Number Publication Date
DE102022004783A1 true DE102022004783A1 (en) 2024-05-08

Family

ID=90732350

Family Applications (1)

Application Number Title Priority Date Filing Date
DE102022004783.7A Pending DE102022004783A1 (en) 2022-05-07 2022-12-16 Method for generating two large prime numbers by additive division without a trusted dealer in a communication system with a number of participants

Country Status (1)

Country Link
DE (1) DE102022004783A1 (en)

Citations (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US6330332B1 (en) 1997-07-30 2001-12-11 Fujitsu Limited Prime number generation apparatus B-smoothness judgement apparatus and computer memory product
DE60001215T2 (en) 1999-02-08 2003-11-20 Hewlett Packard Co VERIFICATION OF PRIVATE PARTS FROM A PUBLIC KEY CRYPTOGRAPHY SYSTEM
DE69938624T2 (en) 1998-05-22 2009-06-10 Certco Inc. ROBUST AND EFFICIENT DISTRIBUTED GENERATION OF A RSA KEY

Patent Citations (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US6330332B1 (en) 1997-07-30 2001-12-11 Fujitsu Limited Prime number generation apparatus B-smoothness judgement apparatus and computer memory product
DE69938624T2 (en) 1998-05-22 2009-06-10 Certco Inc. ROBUST AND EFFICIENT DISTRIBUTED GENERATION OF A RSA KEY
DE60001215T2 (en) 1999-02-08 2003-11-20 Hewlett Packard Co VERIFICATION OF PRIVATE PARTS FROM A PUBLIC KEY CRYPTOGRAPHY SYSTEM

Non-Patent Citations (6)

* Cited by examiner, † Cited by third party
Title
Damgard und Koprowski" [Ivan Damgard und Maciej Koprowski. Practical threshold RSA signatures without a trusted dealer. In International Conference on the Theory and Applications of Cryptographic Techniques, Seiten 152{165. Springer, 2001
Dan Boneh und M. Franklin. Efficient generation of shared RSA keys. Journal of the ACM, 48 (4):702{722, Juli 2001. doi: 10.1145/502090.502094
Dan Boneh und M. Franklin. Effiziente Erzeugung von gemeinsamen RSA-Schlüsseln. Journal of the ACM, 48 (4):702{722, July 2001. doi: 10.1145/502090.502094
Dubner" (Harvey Dubner, Large Sophie Germain primes. Mathematics of Computation, 65(213):393-396, January 1996. doi: 10.1090/s0025-5718-96-00670-9
Nishide und Sakurai" (Takashi Nishide und Kouichi Sakurai. Distributed Paillier cryptosystem without trusted dealer. In International Workshop on Information Security Applications, Seiten 44{60. Springer, 2010. doi: 10.1007/978-3-642-17955-6 4
Rivest und Silverman" (Ronald L. Rivest und Robert Silverman. Sind „starke" Primzahlen für RSA erforderlich? In 1997 RSA Laboratories Seminar Series. Citeseer, 1999

Similar Documents

Publication Publication Date Title
EP0384475B1 (en) Method for subscriber identification and for the generation and verification of electronic signatures in a data exchange system
DE60313704T2 (en) Method and apparatus for generating a secret key
DE69918818T2 (en) A method for generating a public key in a secure digital communication system and implicit certificate
DE60215332T2 (en) System and method for sharing a common secret
DE60006147T2 (en) Key approval protocol with separate keys
DE69917592T2 (en) AGAINST ELECTRICAL CONSUMER STOCK RESISTANT CRYPTOGRAPHY
DE60207691T2 (en) METHOD FOR THE TESTABLE DIVISION OF A SECRET IN POTENTIAL ASYNCHRONOUS NETWORKS
DE102017209014A1 (en) Method and apparatus for attaching transactions to a block chain
CH711133A2 (en) Protocol for signature generation.
DE10143728A1 (en) Device and method for calculating a result of a modular exponentiation
EP1368929A2 (en) Authentication method
EP2684312B1 (en) Method for authentication, rf chip document, rf chip reader and computer program products
DE69633253T2 (en) CRYPTOGRAPHIC PROCEDURE WITH PUBLIC KEY
DE69831792T2 (en) METHOD FOR THE DIGITAL SIGNATURE
DE60105449T2 (en) A method for increasing the security of a public key encryption process
DE102022004783A1 (en) Method for generating two large prime numbers by additive division without a trusted dealer in a communication system with a number of participants
EP2730050B1 (en) Method for generating and verifying an electronic pseudonymous signature
DE69928519T2 (en) PROTOCOL ON CONVENTION ON AN AUTHENTICATED KEY
EP3832950A1 (en) Cryptographic signature system
DE60220918T2 (en) METHOD FOR CARRYING OUT A CRYPTOGRAPHIC CALCULATION USING A PUBLIC KEY
EP1119941B1 (en) Method for establishing a common key between an exchange and a group of subscribers
WO2011000608A1 (en) Devices and methods for establishing and validating a digital certificate
DE102022004782A1 (en) Method for determining the correctness of the application of a subscriber&#39;s part of a secret key by modular exponentiation using a zero-confidence proof in a communication system
DE19518546C1 (en) Exchange of cryptographic codes between terminal and network server
EP1504337B1 (en) Calculating the modular inverse of a value

Legal Events

Date Code Title Description
R123 Application deemed withdrawn due to non-payment of filing fee
R073 Re-establishment requested
R074 Re-establishment allowed
R079 Amendment of ipc main class

Free format text: PREVIOUS MAIN CLASS: G06F0017100000

Ipc: H04L0009080000

R012 Request for examination validly filed
R163 Identified publications notified