DE10161203A1 - Method for generation of primary number candidates, whose validity can then be checked with further methods, whereby the method speeds up the finding of probable prime numbers - Google Patents

Method for generation of primary number candidates, whose validity can then be checked with further methods, whereby the method speeds up the finding of probable prime numbers

Info

Publication number
DE10161203A1
DE10161203A1 DE2001161203 DE10161203A DE10161203A1 DE 10161203 A1 DE10161203 A1 DE 10161203A1 DE 2001161203 DE2001161203 DE 2001161203 DE 10161203 A DE10161203 A DE 10161203A DE 10161203 A1 DE10161203 A1 DE 10161203A1
Authority
DE
Germany
Prior art keywords
prime
determined
numbers
prime number
mod
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.)
Ceased
Application number
DE2001161203
Other languages
German (de)
Inventor
Klaus-Dieter Lewke
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.)
Individual
Original Assignee
Individual
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 Individual filed Critical Individual
Priority to DE2001161203 priority Critical patent/DE10161203A1/en
Publication of DE10161203A1 publication Critical patent/DE10161203A1/en
Ceased legal-status Critical Current

Links

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F7/00Methods or arrangements for processing data by operating upon the order or content of the data handled
    • G06F7/60Methods or arrangements for performing computations using a digital non-denominational number representation, i.e. number representation without radix; Computing devices using combinations of denominational and non-denominational quantity representations, e.g. using difunction pulse trains, STEELE computers, phase computers
    • G06F7/72Methods or arrangements for performing computations using a digital non-denominational number representation, i.e. number representation without radix; Computing devices using combinations of denominational and non-denominational quantity representations, e.g. using difunction pulse trains, STEELE computers, phase computers using residue arithmetic

Landscapes

  • Physics & Mathematics (AREA)
  • General Physics & Mathematics (AREA)
  • Engineering & Computer Science (AREA)
  • Computational Mathematics (AREA)
  • Mathematical Analysis (AREA)
  • Mathematical Optimization (AREA)
  • Pure & Applied Mathematics (AREA)
  • Theoretical Computer Science (AREA)
  • Computing Systems (AREA)
  • Mathematical Physics (AREA)
  • General Engineering & Computer Science (AREA)
  • Complex Calculations (AREA)

Abstract

Method involves generation of candidates z of the form z = N x k + r, where r is an aliquant of z. According to the method z is increased or decreased by multiples of N. Also according to the method N is determined so that when it is divided by an appropriate function the result is as large as possible and k is prefereably generated by a random number.

Description

Die Erfindung betrifft verbesserte Verfahren zum Auffinden großer Primzahlen mit kürzeren Rechenzeiten und/oder geringerem Speicherbedarf. The invention relates to improved methods for finding large prime numbers with shorter ones Computing times and / or less memory requirements.

Große Primzahlen sind Grundlagen vieler kryptographischer Verfahren. Derartige Verfahren sind z. B. aus folgenden U.S. Patenten bekannt: US Pat. 4.405.829, US Pat. 4.748.668, US Pat. 4.625.076 und US Pat. 4.200.770. Large prime numbers are the basis of many cryptographic methods. Such procedures are z. B. from the following U.S. Patents known: US Pat. 4,405,829, US Pat. 4,748,668, US Pat. 4,625,076 and U.S. Pat. 4,200,770.

Der stetigen Steigerung der Rechenleistung, die Angreifern das Brechen von Schlüsseln ermöglichen könnte, wird durch Forderung nach immer höheren Schlüssellängen begegnet. Schlüssel sind jeweils so zu wählen, dass sie während ihrer Nutzungsdauer allen denkbaren Angriffen standhalten können. Dies erfordert, größere Primzahlen in der Konstruktion der Schlüssel zu verwenden. Zwangsläufig steigt damit aber auch der Aufwand für die Schlüsselerzeugung. The steady increase in computing power, the attackers breaking keys could be countered by demanding ever longer key lengths. Are keys to be chosen so that they can withstand all conceivable attacks during their useful life can. This requires using larger prime numbers in the construction of the keys. Inevitably, this also increases the effort for key generation.

Die naheliegende Methode der Primzahlprüfung, die Teilbarkeit durch alle kleineren Zahlen zu prüfen, kann für große Zahlen nicht effektiv eingesetzt werden, da die Anzahl erforderlicher Probedivisionen die Leistungsfähigkeit der Rechner überfordert. The obvious method of checking the prime number, the divisibility by all smaller numbers too check cannot be used effectively for large numbers because the number required Trial divisions overwhelmed the performance of the computers.

Gegenwärtig werden daher meist Primzahlkandidaten p durch einen Zufallszahlengenerator erzeugt und dann wird überprüft, ob p eine Primzahl ist. At the moment, therefore, mostly prime number candidates p are generated by a random number generator and then it is checked whether p is a prime number.

Tests, die in der Literatur vorgeschlagen werden, basieren auf dem kleinen Satz von Fermat:
Für jede ganze Zahl a > 0 gilt: ap-1 mod p = 1 falls p Primzahl.
Tests suggested in the literature are based on Fermat's small theorem:
For every integer a> 0 applies: a p-1 mod p = 1 if p prime number.

Im Test wird geprüft, ob die Gleichung für verschiedene, vorzugsweise zufällig gewählte Zahlen a erfüllt ist. Falls die Gleichung für irgendein a nicht gilt, kann p keine Primzahl sein. Eine bekannte Verbesserung ist der sogenannte Rabin-Miller-Test. Der Rabin-Miller-Test ist z. B. aus Alfred J. Menezes, Paul C. von Oorschot, Scott A. Vanstone: Handbook of Applied Cryptology, CRC Press, ISBN: 0-8493-8523-7 bekannt. The test checks whether the equation for different, preferably randomly selected numbers a is satisfied. If the equation does not hold for any a, p cannot be a prime number. An acquaintance Improvement is the so-called Rabin-Miller test. The Rabin-Miller test is e.g. B. from Alfred J. Menezes, Paul C. von Oorschot, Scott A. Vanstone: Handbook of Applied Cryptology, CRC Press, ISBN: 0-8493-8523-7 known.

Der Rabin-Miller-Test wird in der Praxis am häufigsten eingesetzt und gilt als sehr effizient. In der Regel müssen aber viele Kandidaten getestet werden, da Primzahlen im Bereich großer Zahlen selten sind. The Rabin-Miller test is used most frequently in practice and is considered to be very efficient. In the Usually, however, many candidates have to be tested because prime numbers are in the range of large numbers are rare.

Der Primzahltest benötigt insbesondere für die Exponentiation in Rechensystemen, deren Hardware keine ausreichend lange Arithmetik bereitstellt, hohe Rechenzeiten, da die Operationen mittels Software auf Operationen kürzerer Zahlen zurückgeführt werden müssen. The prime number test requires the hardware in particular for exponentiation in computer systems arithmetic is not long enough, high computing times because the operations are carried out using Software must be attributed to operations of shorter numbers.

Es ist bekannt, dass die Suche nach Primzahlen deutlich beschleunigt werden kann, indem vor Ausführung des Primzahltests solche Zahlen ausgeschlossen werden, die ohnehin durch kleine Primzahlen teilbar sind. It is known that the search for prime numbers can be sped up significantly by pre Execution of the prime test will exclude such numbers, which are already indicated by small ones Prime numbers are divisible.

Mit Variationen werden heute die folgenden Verfahren eingesetzt:
Zunächst wird mittels eines Zufallszahlengenerators ein ungerader Primzahlkandidat p0 geeigneter Größe bestimmt. Ist p0 keine Primzahl, werden die nächst größeren ungeraden Zahlen p0 + 2, p0 + 4, p0 + 6, . . . auf ihre Primzahleigenschaft untersucht. Testet man zunächst die Teilbarkeit von p0 durch kleine Primzahlen (3, 5, 7, . . . usw.) mittels Probedivisionen und speichert man dabei die jeweiligen Divisionsreste, kann man durch Inkrementieren um 2, 4, 6, . . . der jeweiligen Reste modulo des jeweiligen Divisors auf die Divisionsreste von p0 + 2, p0 + 4, p0 + 6, . . . schließen. Dazu ist keine erneute Division langer Zahlen notwendig. Ein Divisionsrest 0 zeigt die Teilbarkeit durch die entsprechende Primzahl an.
The following methods are used today with variations:
First, an odd prime number candidate p 0 of a suitable size is determined using a random number generator. If p 0 is not a prime number, the next largest odd numbers p 0 + 2, p 0 + 4, p 0 + 6,. , , examined for their prime number property. If you first test the divisibility of p 0 by small prime numbers (3, 5, 7,......) Using trial divisions and save the respective division remainders, you can increment by 2, 4, 6,. , , of the respective residues modulo of the respective divisor to the division residues of p 0 + 2, p 0 + 4, p 0 + 6,. , , conclude. It is not necessary to divide long numbers again. A division remainder 0 indicates the divisibility by the corresponding prime number.

Weitergehende Einzelheiten sind aus J. Brand, 1 Damg ≙rd , P. Landrock: Speeding up Prime Number Generation, Advances in Cryptology-ASIACRYPT '91, Lecture Notes in Computer Science 739 (pp. 440-449), Springer 1991 oder J. Brand, I. Damg ≙rd: On generation of probable Primes by Incremental Search, advances in Cryptology - CRYPTO '92, Lecture Notes in Computer Science 740 (pp. 358-370), Springer 1993 bekannt. Further details are from J. Brand, 1 Damg ≙rd, P. Landrock: Speeding up Prime Number Generation, Advances in Cryptology-ASIACRYPT '91, Lecture Notes in Computer Science 739 (pp. 440-449), Springer 1991 or J. Brand, I. Damg ≙rd: On generation of probable Primes by Incremental Search, advances in Cryptology - CRYPTO '92, Lecture Notes in Computer Science 740 (pp. 358-370), Springer 1993.

Eine andere Methode wird z. B. in P. Horster, P. Schartner: Bemerkungen zur Erzeugung dublettenfreier Primzahlen, in Sicherheitsinfrastrukturen- in P. Horster (Hrsgb.): Grundlagen, Realisierungen, rechtliche Aspekte, Anwendungen, Vieweg 1999 (pp. 358-368, insbesondere Abschnitt 4) ausführlich beschrieben. Betrachtet man zu einer vorgegebenen Zahl N die Abstände der zu N teilerfremden Zahlen, wiederholt sich das Muster der Abstände periodisch. Die ermittelten Abstände werden in einer Tabelle, Skipliste genannt, abgelegt. N wird dabei als Produkt kleiner Primzahlen, bevorzugt 2.3.5.7 = 210, gewählt. Nachdem der erste Primzahlkandidat der passenden Position in der Skipliste zugeordnet worden ist, werden die weiteren Primzahlkandidaten durch Addieren der Abstände der Skipliste gewonnen, die dabei zyklisch durchlaufen wird. Nachteilig bei beiden Verfahren ist der Speicheraufwand. Entweder müssen die kleinen Primzahlen und die Reste des jeweiligen Primzahlkandidaten oder die Skiplisten gespeichert werden. Another method is e.g. B. in P. Horster, P. Schartner: Comments on production duplicate-free prime numbers, in security infrastructures - in P. Horster (ed.): basics, Realizations, legal aspects, applications, Vieweg 1999 (pp. 358-368, in particular Section 4) described in detail. If we consider the distances to a given number N of the numbers alien to N, the pattern of the distances is repeated periodically. The determined Distances are stored in a table called a ski list. N becomes smaller as a product Prime numbers, preferably 2.3.5.7 = 210, chosen. After the first prime number candidate of the matching Position in the ski list has been assigned, the other prime number candidates are by Add up the distances of the ski list, which is cycled through. The disadvantage of both methods is the storage effort. Either the small prime numbers and the remnants of the respective prime number candidate or the ski lists are saved.

Je nach gewünschter Größe der Primzahlen und verfügbarer Prozessorleistung, kann der Aufwand für die Erzeugung von kryptographischen Schlüsseln bis zu einer Minute Rechenzeit erfordern. Die Rechenzeit der Erzeugung von Schlüsseln für das RSA-Verfahren wird von der Suche nach Primzahlen dominiert, wobei hier wiederum die meiste Zeit durch den Rabin-Miller-Test beansprucht wird. Depending on the desired size of the prime numbers and available processor power, the effort can require up to one minute of computing time for the generation of cryptographic keys. The Computing time of key generation for the RSA process is the search for Prime numbers dominate, with most of the time here again using the Rabin-Miller test is claimed.

Die bekannten Verfahren finden die kleinste Primzahl, die größer als der erste Primzahlkandidat ist. Der Vorteil in der Rechenzeit ist zwangsläufig damit verbunden, dass die Wahrscheinlichkeit einer Primzahl ausgewählt zu werden, von der Größe der Primzahllücke abhängt, die sie nach oben begrenzt. The known methods find the smallest prime number that is larger than the first prime candidate. The advantage in computing time is inevitably linked to the fact that the probability of a Prime number to be selected depends on the size of the prime gap that it goes up limited.

Es wurde aber herausgefunden, dass durch die erfindungsgemäßen Verfahren Primzahlen mit geringerem Speicher- und Rechenaufwand gefunden werden können, wobei das Ergebnis nicht zwangsläufig die zum ersten Primzahlkandidaten nächstgrößere Primzahl ist. Auch ist die Wahrscheinlichkeit, eine bestimmte Primzahl auszuwählen, nicht von der Größe der benachbarten Primzahllücke abhängig. However, it was found that the method according to the invention has prime numbers with less memory and computational effort can be found, but the result is not is necessarily the next largest prime number to the first prime candidate. That too is Probability of choosing a particular prime number, not the size of the neighboring one Prime gap dependent.

Aufgabe der Erfindung sind Verfahren für das Generieren von Primzahlkandidaten, die bereits mit hoher Wahrscheinlichkeit Primzahlen sind, insbesondere Verfahren mit geringem Speicherbedarf. The object of the invention are methods for generating prime number candidates that are already using are highly likely to be prime numbers, especially methods with low memory requirements.

Fachleuten sind folgende Notationen und Eigenschaften ganzer Zahlen bekannt:

  • a) x mod y bezeichnet den Rest r, der bei Division von x durch y entsteht, wobei x und y ganze Zahlen sein sollen. Es soll also gelten:

    x = a.y + r mit r∈{0, 1, . . . y - 1}

    Die Modulooperation ist mit Addition, Subtraktion und Multiplikation verträglich, d. h.

    (a + b) mod x = ((a mod x) + (b mod x)) mod x

    (a - b) mod x = ((a mod x) - (b mod x)) mod x

    (a.b) mod x = ((a mod x).(b mod x)) mod x
  • b) Die folgende Eigenschaft ist als Chinesischer Restsatz bekannt:
    Für paarweise teilerfremde Zahlen q1, q2, . . ., qn und beliebige Zahlen a1, a2, . . ., an existiert eine Lösung des Gleichungssystems:

    ai = x mod qi, i = 1, . . ., n

    Alle Lösungen haben den gleichen Rest modulo q1.q2.. . ..qn,.
    Die zusätzliche Forderung 0 ≤ x < q1.q2.. . ..qn-1.qn, wählt eine eindeutige Lösung aus.
    Für zwei Gleichungen

    ai = y mod qi, i = 1,2

    erhält man eine Lösung des Gleichungssystems durch

    y = (((a1 - a2).u)mod q1).q2 + a2 mit (u.q2) mod q1 = 1

    Eine Lösung des gesamten Gleichungssystems lässt sich sukzessive bestimmen, indem zwei Gleichungen (z. B. die ersten beiden) entsprechend ihrer Lösung ersetzt werden:

    y = x mod q1.q2

    ai = x mod qi, i = 3, . . ., n
  • c) φ(x) bezeichnet die Anzahl der Zahlen zwischen 0 und x, die zu x teilerfremd sind. φ ist als Eulersche Funktion bekannt.
    Wenn


    die Zerlegung von x in Primfaktoren ist, gilt


    Insbesondere gilt für jede Primzahl p: φ(p) = p - 1.
  • d) Die Anzahl der Primzahlen zwischen 0 und n nähert sich asymptotisch


  • e) Falls r teilerfremd ist zu N, ist k.N + r für unendlich viele k > 0 eine Primzahl.
    Die Anzahl der Primzahlen der Form k.N + r, die kleiner sind als eine Schranke n, nähert sich asymptotisch


The following notations and properties of integers are known to experts:
  • a) x mod y denotes the remainder r that arises when x is divided by y, where x and y are to be integers. So the following should apply:

    x = ay + r with r∈ {0, 1,. , , y - 1}

    The modulo operation is compatible with addition, subtraction and multiplication, ie

    (a + b) mod x = ((a mod x) + (b mod x)) mod x

    (a - b) mod x = ((a mod x) - (b mod x)) mod x

    (ab) mod x = ((a mod x). (b mod x)) mod x
  • b) The following property is known as the Chinese remainder sentence:
    For pair-alien numbers q 1 , q 2 ,. , ., q n and any numbers a 1 , a 2,. , ., a n there is a solution to the system of equations:

    a i = x mod q i , i = 1,. , ., n

    All solutions have the same remainder modulo q 1 .q 2 ... ..q n ,.
    The additional requirement 0 ≤ x <q 1 .q 2 ... ..q n-1 .q n , selects a unique solution.
    For two equations

    a i = y mod q i , i = 1.2

    you get a solution to the system of equations

    y = (((a 1 - a 2 ) .u) mod q 1 ) .q 2 + a 2 with (uq 2 ) mod q 1 = 1

    A solution of the entire system of equations can be successively determined by replacing two equations (e.g. the first two) according to their solution:

    y = x mod q 1 .q 2

    a i = x mod q i , i = 3,. , ., n
  • c) φ (x) denotes the number of numbers between 0 and x that are prime to x. φ is known as Euler's function.
    If


    is the decomposition of x into prime factors


    In particular, for each prime number p: φ (p) = p - 1.
  • d) The number of prime numbers between 0 and n approaches asymptotically


  • e) If r is prime to N, kN + r is a prime number for infinitely many k> 0.
    The number of prime numbers of the form kN + r, which are smaller than a bound n, approaches asymptotically


Die Aufgabe der Erfindung wird dadurch gelöst, dass ausschließlich solche Primzahlkandidaten erzeugt werden, die teilerfremd zu einer Zahl N sind, wobei N vorzugsweise kleine Primfaktoren besitzt. The object of the invention is achieved in that only such prime number candidates are generated that are prime to a number N, where N is preferably small prime factors has.

Erfindungsgemäß werden die Primzahlkandidaten durch folgendes Verfahren bestimmt.

  • 1. Bestimme (vorab) eine Zahl N:
    (Bevorzugt ist N durch viele kleine Primzahlen teilbar.)
  • 2. Bestimme eine Zahl 1 < r < N, die teilerfremd zu N ist.
  • 3. Bestimme eine Zahl k durch einen Zufallszahlengenerator.
    Setze z ← k.N + r
  • 4. Unterwerfe z einem Primzahltest, z. B. dem Rabin-Miller-Test.
  • 5. Falls z den Primzahltest nicht besteht:
    Setze z ← z + N, weiter mit 4.
    (Oder alternativ z ← z + ν.N, ν ≠ 0, z ∈ Z)
    Sonst:
    z ist die gewünschte Primzahl.
According to the invention, the prime number candidates are determined by the following method.
  • 1. Determine (in advance) a number N:
    (N is preferably divisible by many small prime numbers.)
  • 2. Find a number 1 <r <N that is prime to N.
  • 3. Determine a number k by a random number generator.
    Set z ← kN + r
  • 4. Submit z a prime test, z. B. the Rabin-Miller test.
  • 5. If z does not pass the prime number test:
    Set z ← z + N, continue with 4.
    (Or alternatively z ← z + ν.N, ν ≠ 0, z ∈ Z )
    Otherwise:
    z is the desired prime number.

Das erfindungsgemäße Verfahren stellt keine Einschränkung bezüglich der auffindbaren Primzahlen dar, denn jede Zahl z lässt sich für ein vorgegebenes N in der Form z = k.N + r, mit 0 ≤ r < N schreiben. Falls z eine Primzahl ist, muss r teilerfremd zu N sein. Es sei denn N ist selbst eine Primzahl und z = N. Eigenschaft (v) garantiert, dass durch das Verfahren in endlicher Zeit eine Primzahl gefunden wird. The method according to the invention places no restriction on the prime numbers that can be found because every number z can be given for a given N in the form z = k.N + r, with 0 ≤ r <N write. If z is a prime number, r must be prime to N. Unless N is itself one Prime number and z = N. Property (v) guarantees that a Prime number is found.

Die Laufzeit der Primzahlsuche wird im Wesentlichen dadurch bestimmt, wie oft Primzahltests (z. B. der Rabin-Miller-Test) für die generierten Primzahlkandidaten ausgeführt werden. The duration of the prime search is essentially determined by how often prime tests (e.g. the Rabin-Miller test) for the generated prime number candidates.

Die Wahrscheinlichkeit einer beliebigen Zahl z < x, Primzahl zu sein, beträgt


Ist der Primzahlkandidat teilerfremd zu einer Zahl N, verbessert sich die Wahrscheinlichkeit um den Faktor N/φ(N). Dieser Verbesserungsfaktor ergibt sich in den bekannten Verfahren, wobei N das Produkt der Primzahlen ist, zu denen Teilbarkeit ausgeschlossen wird.
The probability of any number z <x to be prime is


If the prime number candidate is prime to a number N, the probability improves by the factor N / φ (N). This improvement factor results in the known methods, where N is the product of the prime numbers, to which divisibility is excluded.

Die Anzahl der positiven, ganzen Zahlen der Form z = k.N + r < x ist x/N. Aus (v) folgt daher die Wahrscheinlichkeit


dass eine Zahl dieser Form eine Primzahl ist. Das erfindungsgemäße Verfahren wird also ebenso den Verbesserungsfaktor N/φ(n) charakterisiert.
The number of positive integers of the form z = kN + r <x is x / N. The probability follows from (v)


that a number of this form is a prime number. The method according to the invention is therefore also characterized by the improvement factor N / φ (n).

Im Vergleich bietet die Erfindung jedoch folgende Vorteile:
Das erfindungsgemäße Verfahren erfordert, wenn N gespeichert wird, einen Speicher von log2(N) Bits. Dagegen erfordert das Verwenden einer Skipliste das Speichern von φ(N) Zahlen, deren Länge mit wachsendem N steigt. φ(N) selbst wächst stärker als log2(N) und für N > 30 gilt φ(N) > log2(N). Bei gleichem Speicherbedarf kann durch das erfindungsgemäße Verfahren ein größerer Verbesserungsfaktor und damit ein Laufzeitvorteil erreicht werden, da größere Werte für N gewählt werden können.
In comparison, however, the invention offers the following advantages:
If N is stored, the method according to the invention requires a memory of log 2 (N) bits. In contrast, using a skip list requires storing φ (N) numbers, the length of which increases with increasing N. φ (N) itself grows faster than log 2 (N) and for N> 30 φ (N)> log 2 (N) applies. With the same memory requirement, the method according to the invention can achieve a larger improvement factor and thus a runtime advantage, since larger values for N can be selected.

Auch gegenüber der Methode der Prüfung auf Teilbarkeit gegen kleine Primzahlen ergibt sich für das erfindungsgemäße Verfahren eine Speichereinsparung, da N in Bits etwas kürzer ausfällt als die Länge der zu speichernden Faktoren zusammengerechnet. Zudem muss eine gespeicherte Zahl jeweils auf die Länge von adressierbaren Speichereinheiten aufgefüllt werden, was den Speicherbedarf zusätzlich erhöht. Werden auch die Reste früherer Divisionen gespeichert, um Rechenzeiten zu sparen, verdoppelt sich der Speicheraufwand. Compared to the method of testing for divisibility against small prime numbers, the result for the method according to the invention saves memory since N in bits is somewhat shorter than that Total length of the factors to be saved. You must also have a saved number each be filled to the length of addressable storage units, which the Storage requirements additionally increased. The remnants of previous divisions are also saved at computing times to save, the storage effort doubles.

Varianten des erfindungsgemäßen Verfahrens, die weiter unten erläutert werden, erlauben weitere Speichereinsparungen dadurch, dass N nicht explizit gespeichert werden muss. Variants of the method according to the invention, which are explained further below, allow further ones Memory savings due to the fact that N does not have to be saved explicitly.

Ein weiterer Vorteil des erfindungsgemäßen Verfahrens gegenüber der Prüfung auf Teilbarkeit durch kleine Primzahlen ist der geringere Aufwand für die Generierung des nächsten Primzahlkandidaten. Another advantage of the method according to the invention compared to testing for divisibility small prime numbers mean less effort for generating the next one Prime candidates.

N kann für das Verfahren einmalig vorab bestimmt werden und kann auch öffentlich bekannt sein, ohne Angriffsmöglichkeiten auf den Schlüssel zu eröffnen. Ist die ermittelte Primzahl später Teil des öffentlichen Schlüssels in einem Public-Key-Verfahren, kann r ohnehin später leicht ermittelt werden. In anderen Fällen sollte r geheim gehalten werden. Bei Bedarf kann r auch für jede zu erzeugende Primzahl neu bestimmt und anschließend gelöscht werden. N can be determined once in advance for the process and can also be known to the public, without opening the key to attack. Is the prime number determined later part of the public key in a public key procedure can easily be determined later anyway become. In other cases, r should be kept secret. If necessary, r can also be used for everyone generating prime number redetermined and then deleted.

Das RSA-Verfahren benötigt zwei Primzahlen p, p'. Das Produkt dieser Primzahlen n = p.p' bildet einen Teil des öffentlichen Schlüssels. Falls p und p' durch die Verfahren der Erfindung gefunden werden, ergibt sich aus p = k.N + r, p' = k.N + r', die Beziehung n mod N = (r.r') mod N. Diese Gleichung hat aber φ(N) Lösungen. D. h. für jedes r existiert ein passendes r', so dass die Gleichung erfüllt wird. The RSA method requires two prime numbers p, p '. The product of these prime numbers n = p.p 'forms part of the public key. If p and p 'are found by the methods of the invention are obtained from p = k.N + r, p '= k.N + r', the relationship n mod N = (r.r ') mod N. This But the equation has φ (N) solutions. I.e. there is a suitable r 'for each r, so that the Equation is satisfied.

Ein Verlassen des Bereichs, in dem die gesuchte Primzahl liegen soll, sollte zusätzlich geprüft und abgefangen werden. Nach Bereichsüberschreitung kann das Verfahren entweder komplett neu oder von einem neuen Startwert unter Beibehaltung von r aufgesetzt werden. Leaving the area in which the prime number is to be located should also be checked and be intercepted. After exceeding the range, the procedure can either be completely new or be set up from a new starting value while maintaining r.

Die Erfindung umfasst im Weiteren Methoden zur Bestimmung der Parameter r und N. The invention further includes methods for determining the parameters r and N.

In einer ersten bevorzugten Ausführungsform des erfindungsgemäßen Verfahrens wird N bestimmt durch


wobei αi die i-te Primzahl ist.
In a first preferred embodiment of the method according to the invention, N is determined by


where α i is the i th prime number.

Tabelle 1 zeigt jeweils den Speicherbedarf für


und den jeweiligen Verbesserungsfaktor.
Table 1 shows the storage requirements for


and the respective improvement factor.

Diese Wahl ist in dem Sinne optimal, dass der angegebene Verbesserungsfaktor N/φ(n) von keiner anderen Zahl erreicht oder überschritten wird, die kleiner als N ist. This choice is optimal in the sense that the specified improvement factor N / φ (n) of no other number is reached or exceeded that is less than N.

Die Güte des Verfahrens steigt durch Aufnahme eines weiteren Primfaktors pn+1 jeweils um den Faktor pn+1/(pn+1 - 1). Ab einer gewissen Größe der Primzahl wirkt sich dies nur geringfügig aus. Eine deutliche Verbesserung kann nur noch erreicht werden, wenn das Produkt viele Primzahlen enthält, N also entsprechend groß wird. The quality of the method increases by adding a further prime factor p n + 1 by a factor of p n + 1 / (p n + 1 - 1). From a certain size of the prime number, this has only a minor effect. A significant improvement can only be achieved if the product contains many prime numbers, that is, N becomes correspondingly large.

In einer zweiten Ausführungsform des erfindungsgemäßen Verfahrens wird N bestimmt durch


wobei b die Basis der Zahldarstellung ist, die im Rechensystem verwendet wird.
In a second embodiment of the method according to the invention, N is determined by


where b is the basis of the number representation used in the computing system.

Für die Werte αj werden bevorzugt die kleinsten Primzahlen eingesetzt, die nicht Teiler von bi - 1 sind. Falls b durch 2 teilbar ist, sollte das Produkt mindestens den Teiler 2 beisteuern. Im Extremfall kann das Produkt leer sein und hat dann den Wert 1. The smallest prime numbers that are not divisors of b i -1 are preferably used for the values α j . If b is divisible by 2, the product should contribute at least divider 2. In extreme cases, the product can be empty and then has the value 1.

Aus einer Zahldarstellung zu einer vorgegebenen Basis b kann leicht die Darstellung zur Basis bn gewonnen werden und umgekehrt: Jeweils k Ziffern der Darstellung zur Basis b werden zu einer Ziffer der Basis bk zusammengefasst. The representation for the base b n can easily be obtained from a number representation for a predetermined base b and vice versa: k digits of the representation for the base b are combined into one digit of the base b k .

In heutigen Rechenanlagen sind Darstellungen zur Basis 2, die sogenannten Binärdarstellungen üblich und die Zusammenfassung von 8 Bits zu einem Byte als kleinste adressierbare Speichereinheit, was der Basis 256 entspricht. In today's computing systems, representations are based on 2, the so-called binary representations usual and the combination of 8 bits into a byte as the smallest addressable Storage unit, which corresponds to the base 256.

Die Erfindung wird daher vorzugsweise bezogen auf Basen der Form 2i realisiert, die direkt aus der Binärdarstellung des Rechensystems abgeleitet werden können. Denkbar sind jedoch auch analoge Vorgehensweisen bezüglich anderer Basen. Vorschläge zur Realisierung von entsprechenden Rechenwerken sind aus der Fachliteratur bekannt, wurden aber bisher nicht kommerziell realisiert. 2i - 1 (analog bi - 1) ist insbesondere dann durch viele kleine Primzahlen teilbar, wenn i selbst viele Teiler besitzt. Tabelle 2 listet günstige Werte für i auf. Es sind dort jeweils die Primteiler von 2i - 1 und die Verbesserungsfaktoren N/φ(n) bei Aufnahme der kleinsten teilerfremden Primzahlen in das Produkt angegeben. The invention is therefore preferably implemented with reference to bases of the form 2 i , which can be derived directly from the binary representation of the computing system. However, analogous procedures with regard to other bases are also conceivable. Suggestions for the implementation of corresponding arithmetic units are known from the specialist literature, but have not yet been implemented commercially. 2 i - 1 (analogue b i - 1) is divisible by many small prime numbers in particular if i itself has many divisors. Table 2 lists favorable values for i. The prime divisors of 2 i - 1 and the improvement factors N / φ (n) for the inclusion of the smallest non-prime prime numbers in the product are given there.

Vorteilhaft ist, dass N nicht selbst gespeichert werden muss. Lediglich der Exponent i und


müssen verfügbar sein. Der Wert dieses Produktes wird bevorzugt einmalig vorab berechnet und gespeichert.
It is advantageous that N does not have to be stored itself. Only the exponent i and


must be available. The value of this product is preferably calculated and saved once in advance.

Für die Multiplikation und Addition von bzw. mit N kann die Zahldarstellung ausgenutzt werden. Mit den Rechenvorteilen durch die Zahldarstellung stellt sich das Verfahren wie folgt dar:

  • 1. Bestimme (evtl. vorab) einen Exponenten i und


    Es sei: N = t.(bi - 1)
  • 2. Bestimme eine Zahl r mit 1 < r < N, die teilerfremd zu N ist.
  • 3. Bestimme eine Zahl k durch einen Zufallszahlengenerator.
    Setze z ← k.t
    Setze z ← k.bi - z
    Setze z ← z + r
  • 4. Unterwerfe z einem Primzahltest, z. B. dem Rabin-Miller-Test.
  • 5. Falls z den Primzahltest nicht besteht:
    Setze z ← z - t
    Setze z ← z + bi.t, weiter mit 4.
    Sonst:
    z ist die gewünschte Primzahl.
The number representation can be used for the multiplication and addition of or with N. With the calculation advantages of the number representation, the procedure is as follows:
  • 1. Determine (possibly in advance) an exponent i and


    Let N = t. (B i - 1)
  • 2. Find a number r with 1 <r <N that is prime to N.
  • 3. Determine a number k by a random number generator.
    Set z ← kt
    Set z ← kb i - z
    Set z ← z + r
  • 4. Submit z a prime test, z. B. the Rabin-Miller test.
  • 5. If z does not pass the prime number test:
    Set z ← z - t
    Set z ← z + b i .t, continue with 4.
    Otherwise:
    z is the desired prime number.

Die Multiplikation mit bi kann durch Shiftoperationen realisiert werden. Dazu brauchen nur i und t abgespeichert zu werden. Eine explizite Berechnung von bi und bi.t kann entfallen. The multiplication by b i can be realized by shift operations. To do this, only i and t need to be saved. An explicit calculation of b i and b i .t can be omitted.

r kann auf unterschiedliche Weise bestimmt werden. Die Verfahren sind weitgehend unabhängig davon, ob N durch die erste oder die zweite beschriebene Ausführungsform bestimmt wird. Sollen die Schlüssel in einem Schlüsselträger mit eingeschränkten Rechenfähigkeiten generiert werden, z. B. einer Chipkarte, können bei der Initialisierung, bzw. Personalisierung feste, aber pro Schlüsselträger individuelle Werte vorgeben werden. Aufwändige Rechenschritte, die nur einmalig benötigt werden, können so in das Personalisierungssystem verlagert werden. r can be determined in different ways. The procedures are largely independent whether N is determined by the first or the second described embodiment. Should the keys are generated in a key carrier with limited computing capabilities, z. B. a chip card, can be fixed during the initialization or personalization, but per Key holders are given individual values. Time-consuming arithmetic steps that are only required once can be shifted into the personalization system.

Eine dritte Ausführungsform der Erfindung vermeidet die explizite Berechnung von r und k.N. Dazu wird der erste Primzahlkandidat vollständig durch einen Zufallszahlengenerator erzeugt und auf gemeinsame Teiler mit N geprüft. Ist der erste Primzahlkandidat nicht teilerfremd zu N, werden weitere durch Inkrementieren oder Dekrementieren oder erneute zufällige Auswahl bestimmt:

  • 1. Bestimme (evtl. vorab) eine Zahl N:
    (Bevorzugt ist N durch viele kleine Primzahlen teilbar.)
    Bestimme vorab ein Inkrement inc (z. B. inc = 2)
  • 2. Bestimme eine (vorzugsweise ungerade) Zahl z durch einen Zufallszahlengenerator.
  • 3. Suche einen gemeinsamen Teiler von z und N. (z. B. durch Probedivisionen mit den Primteilern von N.
  • 4. Falls ggT(z, N) ≠ 1
    Setze z ← z + inc wiederhole Schritt 3
    (Alternativ: weiter mit 2)
    Sonst (z ist von der Form: k = k.N + r)
    weiter mit Schritt 4
  • 5. Unterwerfe z einem Primzahltest, z. B. dem Rabin-Miller-Test.
  • 6. Falls z den Primzahltest nicht besteht:
    Setze z ← z + N, weiter mit 5.
    (Allgemein z ← z + v.N, v ≠ 0, v ∈ Z)
    Sonst:
    z ist die gewünschte Primzahl.
A third embodiment of the invention avoids the explicit calculation of r and kN. For this purpose the first prime number candidate is generated entirely by a random number generator and checked for common divisors with N. If the first candidate for prime numbers is not prime to N, others are determined by incrementing or decrementing, or by random selection again:
  • 1. Determine (possibly beforehand) a number N:
    (N is preferably divisible by many small prime numbers.)
    Determine an increment inc in advance (e.g. inc = 2)
  • 2. Determine a (preferably odd) number z by a random number generator.
  • 3. Find a common divisor of z and N. (e.g. by trial divisions with the prime divisors of N.
  • 4. If ggT (z, N) ≠ 1
    Set z ← z + inc repeat step 3
    (Alternatively: continue with 2)
    Otherwise (z is of the form: k = kN + r)
    continue with step 4
  • 5. Submit z a prime test, z. B. the Rabin-Miller test.
  • 6. If z does not pass the prime number test:
    Set z ← z + N, continue with 5.
    (General z ← z + vN, v ≠ 0, v ∈ Z )
    Otherwise:
    z is the desired prime number.

Die Verbesserung gegenüber dem Stand der Technik durch diese Ausführungsform besteht im Inkrementieren um N. Hierdurch ist die Überprüfung auf gemeinsame Teiler zu N nur einmal erforderlich. Diese Ausführungsform kann vorteilhaft angewendet werden, wenn für die Überprüfung auf gemeinsame Teiler eine vorhandene Implementierung genutzt werden soll. Z. B. kann eine verbesserte Primzahlsuche auf vorhandenen Programmkode im EEPROM-Speicher eines Kartenchips zurückgreifen, so dass weniger wertvoller EEPROM-Speicher der Chipkarte benötigt oder keine neue Maskenentwicklung erforderlich wird. The improvement over the prior art by this embodiment consists in Increment by N. This means that the check for common divisors to N is only once required. This embodiment can be used advantageously when checking for shared divider an existing implementation should be used. For example, a improved prime number search for existing program code in the EEPROM memory Use card chips so that less valuable EEPROM memory or the chip card is required no new mask development is required.

Eine vierte Ausführungsform der Erfindung, die mit der ersten oder zweiten Ausführungsform verträglich ist, bestimmt einen Kandidaten für r mittels eines Zufallszahlengenerators und prüft den Kandidaten anschließend auf gemeinsame Teiler mit N. Dazu kann z. B. der größte gemeinsame Teiler des Kandidaten mit N berechnet werden. Ist der Kandidat nicht teilerfremd zu N, kann entweder ein weiterer Kandidat durch Inkrementieren oder Dekrementieren des bisherigen Kandidaten oder durch erneute Anwendung eines Zufallszahlengenerators gefunden werden.

  • 1. Bestimme (vorab) eine Zahl N:
    (Bevorzugt ist N durch viele kleine Primzahlen teilbar.)
  • 2. 2.1 Bestimme eine Zahl r < N durch einen Zufallszahlengenerator.
  • 3. 2.2 Falls ggT(r, N) ≠ 1
    setze r ← r + 1 mod N, wiederhole Schritt 2.2
    (Alternativ: weiter mit 2.1)
    Sonst
    weiter mit 4.
  • 4. Bestimme eine Zahl k durch einen Zufallszahlengenerator.
    Setze z ← k.N + r
  • 5. Falls z den Primzahltest nicht besteht:
    Setze z ← z + N, weiter mit 4.
    (Allgemein z ← z + ν.N, ν ≠ 0, ν ∈ Z)
    Sonst:
    z ist die gewünschte Primzahl.
A fourth embodiment of the invention, which is compatible with the first or second embodiment, determines a candidate for r using a random number generator and then checks the candidate for common divisors with N. For example, B. the largest common divisor of the candidate can be calculated with N. If the candidate is not prime to N, either a further candidate can be found by incrementing or decrementing the previous candidate, or by using a random number generator again.
  • 1. Determine (in advance) a number N:
    (N is preferably divisible by many small prime numbers.)
  • 2. 2.1 Determine a number r <N by a random number generator.
  • 3. 2.2 If ggT (r, N) ≠ 1
    set r ← r + 1 mod N, repeat step 2.2
    (Alternatively: continue with 2.1)
    Otherwise
    continue with 4.
  • 4. Determine a number k by a random number generator.
    Set z ← kN + r
  • 5. If z does not pass the prime number test:
    Set z ← z + N, continue with 4.
    (General z ← z + ν.N, ν ≠ 0, ν ∈ Z )
    Otherwise:
    z is the desired prime number.

Eine fünfte Ausführungsform der Erfindung, die mit der ersten oder zweiten Ausführungsform verträglich ist, bestimmt pro Schlüsselträger eine nichtleere Menge von Zahlen vorab und wählt daraus eine Zahl r für das Verfahren der Erfindung zufällig oder deterministisch aus.

  • 1. Bestimme (vorab) eine Zahl N:
    (Bevorzugt ist N durch viele kleine Primzahlen teilbar.)
  • 2. 2.1 Bestimme (vorab) eine Menge M = {r1, r2, . . ., rm}, mit 0 < ri < N von Zahlen, die teilerfremd zu N sind.
  • 3. 2.2 Wähle r ∈ M
  • 4. Bestimme eine Zahl k durch einen Zufallszahlengenerator.
    Setze z ← k.N + r
  • 5. Unterwerfe z einem Primzahltest, z. B. dem Rabin-Miller-Test.
  • 6. Falls z den Primzahltest nicht besteht:
    Setze z ← z + N, weiter mit 4.
    (Allgemein z ← z + ν.N, ν ≠ 0, ν ∈ Z)
    Sonst:
    z ist die gewünschte Primzahl.
A fifth embodiment of the invention, which is compatible with the first or second embodiment, predetermines a non-empty set of numbers per key carrier and selects a number r for the method of the invention at random or deterministically.
  • 1. Determine (in advance) a number N:
    (N is preferably divisible by many small prime numbers.)
  • 2. 2.1 Determine (in advance) a set M = {r 1 , r 2 ,. , ., r m }, with 0 <r i <N of numbers that are not prime to N.
  • 3. 2.2 Choose r ∈ M
  • 4. Determine a number k by a random number generator.
    Set z ← kN + r
  • 5. Submit z a prime test, z. B. the Rabin-Miller test.
  • 6. If z does not pass the prime number test:
    Set z ← z + N, continue with 4.
    (General z ← z + ν.N, ν ≠ 0, ν ∈ Z )
    Otherwise:
    z is the desired prime number.

Insbesondere für Chipkarten und andere Träger von Schlüsseln, die über geringen Speicherplatz und/oder beschränkte Rechenkapazität verfügen, ist diese Variante besonders geeignet. Die Menge M kann in den Schlüsselträger bei der Personalisierung geladen werden. Da Schlüsselträger ohnehin in gesicherter Umgebung initialisiert bzw. personalisiert werden müssen, können die geladenen Werte geheim gehalten werden. Durch Kenntnis der Werte ist aber auch ein Angriff auf die später erzeugten Schlüssel wenig Erfolg versprechend, da die Menge der erzeugbaren Primzahlen immer noch sehr groß ist. Especially for smart cards and other key carriers that have limited storage space and / or have limited computing capacity, this variant is particularly suitable. The amount M can be loaded into the key holder during personalization. Since key holder anyway The loaded ones can be initialized or personalized in a secure environment Values are kept secret. Knowing the values is also an attack on those later generated key promising little success, since the set of prime numbers that can be generated always is still very large.

Die vorab bestimmten und im Schlüsselträger abgelegten Zahlen können außerhalb des Schlüsselträgers durch ein anderes Verfahren der Erfindung bestimmt werden, z. B. für Chipkarten durch das Personalisierungssystem. The numbers determined in advance and stored in the key carrier can be outside the Key carrier can be determined by another method of the invention, e.g. B. for smart cards by Personalization system.

Eine sechste Ausführungsform der Erfindung, die mit der ersten oder zweiten Ausführungsform verträglich ist, bestimmt die Zahl r durch algebraische Konstruktion aus einer Menge bekannter, zu N teilerfremder Zahlen, die vorzugsweise vorab erzeugt und im Schlüsselträger abgespeichert werden.

  • 1. Bestimme (vorab) eine Zahl N:
    (Bevorzugt ist N durch viele kleine Primzahlen teilbar.)
  • 2. 2.1 Bestimme (vorab) eine Menge M = {r1, r2, . . ., rm}, mit 0 < ri < N von Zahlen, die teilerfremd zu N sind.
  • 3. 2.2 Bestimme zufällige Zahlen 0 ≤ n0 ≤ 1, 0 ≤ n1, n2, . . ., nm < φ(N)
    Setze


  • 4. Setze z ← k.N + r
  • 5. Unterwerfe z einem Primzahltest, z. B. dem Rabin-Miller-Test.
  • 6. Falls z den Primzahltest nicht besteht:
    Setze z ← z + N, weiter mit 4.
    (Allgemein: z ← z + ν.N, ν ≠ 0, ν ∈ Z)
    Sonst:
    z ist die gewünschte Primzahl.
A sixth embodiment of the invention, which is compatible with the first or second embodiment, determines the number r by algebraic construction from a set of known numbers which are alien to N and which are preferably generated in advance and stored in the key carrier.
  • 1. Determine (in advance) a number N:
    (N is preferably divisible by many small prime numbers.)
  • 2. 2.1 Determine (in advance) a set M = {r 1 , r 2 ,. , ., r m }, with 0 <r i <N of numbers that are not prime to N.
  • 3. 2.2 Find random numbers 0 ≤ n 0 ≤ 1, 0 ≤ n 1 , n 2 ,. , ., n m <φ (N)
    Set


  • 4. Set z ← kN + r
  • 5. Submit z a prime test, z. B. the Rabin-Miller test.
  • 6. If z does not pass the prime number test:
    Set z ← z + N, continue with 4.
    (General: z ← z + ν.N, ν ≠ 0, ν ∈ Z )
    Otherwise:
    z is the desired prime number.

Schritt 2 der sechsten Ausführungsform konstruiert eine Zahl r, die zu N teilerfremd ist. (Die Menge aller mittels der Formel erzeugten Zahlen bilden mit der Multiplikation modulo N eine Untergruppe der Gruppe aller teilerfremden Zahlen zu N). Ist φ(N) nicht bekannt, kann für die Exponenten eine grobe Abschätzung von φ(N) eingesetzt werden. Step 2 of the sixth embodiment constructs a number r that is prime to N. (The With the multiplication modulo N, the set of all numbers generated using the formula forms one Subgroup of the group of all non-prime numbers for N). If φ (N) is not known, the Exponents a rough estimate of φ (N) can be used.

Auch kann der Rechenaufwand explizit durch Wahl von Exponenten begrenzt werden, die wesentlich kürzer als N sind. Ein solches Vorgehen würde zwar den Zahlenbereich der möglichen Rechenergebnisse einschränken, kann aber bereits ausreichend viele verschiedene Zahlen erzeugen (z. B. Exponenten von 32 bis 72 Bit, wobei N selbst länger als 360 Bit). The computing effort can also be explicitly limited by choosing exponents that are significantly shorter than N. Such an approach would admit the number range of possible Limit calculation results, but can already generate a sufficient number of different numbers (e.g. Exponents from 32 to 72 bits, where N itself is longer than 360 bits).

Vorzugsweise werden ri mit einer großen Ordnung gewählt, d. h. dass kein kleines l > 0 existiert, so dass r l|i mod N = 1. Bei günstiger Wahl kann bereits bei Speicherung weniger Zahlen ri eine große Menge von Werten mittels der Formel erzeugt werden. Insbesondere kann das Verfahren angewendet werden, wenn die Menge M nur aus einer einzigen Zahl ri besteht. Preferably, r i are chosen with a large order, ie that there is no small l> 0, so that r l | i mod N = 1. With a favorable choice, a large number of values can be generated using the formula even if fewer numbers r i are stored , In particular, the method can be used if the set M consists of only a single number r i .

Die sich ergebende Zahl r kann selbst bei Kenntnis der gespeicherten Zahlen r, nicht mit ausreichender Wahrscheinlichkeit vorhergesagt werden. The resulting number r cannot be used even if the stored numbers r are known sufficient probability can be predicted.

Günstig wirkt sich aus, dass die benötigten arithmetischen Operationen für die Durchführung des Rabin-Miller-Tests ohnehin verfügbar sein müssen. Dies ist vorteilhaft gegenüber der dritten und vierten Ausführungsform, welche die Implementierung einer Prüfung auf gemeinsame Teiler erfordert. Eine evtl. höhere Rechenzeit durch die Exponentiation wird ganz oder teilweise dadurch ausgeglichen, dass eine Suche nach teilerfremden Zahlen zu N entfällt. The fact that the arithmetic operations required to carry out the Rabin-Miller tests must be available anyway. This is advantageous over the third and fourth embodiment, which implements the implementation of a check on common dividers requires. A possibly higher computing time due to the exponentiation is partially or entirely due to this compensated that a search for non-prime numbers for N is omitted.

Die vorab bestimmten und im Schlüsselträger abgelegten Zahlen r1, r2, . . . rk können außerhalb des Schlüsselträgers zufällig z. B. analog zu der dritten Ausführungsform oder durch das Verfahren der siebten Ausführungsform bestimmt werden. Für Chipkarten kann die Menge durch das Personalisierungssystem bestimmt werden. The numbers r 1 , r 2 ,. , , r k can happen to happen outside of the key holder z. B. can be determined analogously to the third embodiment or by the method of the seventh embodiment. For chip cards, the amount can be determined by the personalization system.

Eine siebte Ausführungsform der Erfindung, die mit der ersten oder zweiten Ausführungsform verträglich ist, bestimmt die Zahl r für die Primzahlgenerierung durch Anwendung des chinesischen Restsatzes (Eigenschaft (ii)). A seventh embodiment of the invention that with the first or second embodiment is compatible, determines the number r for the prime number generation using the Chinese Remaining sentence (property (ii)).

Voraussetzung ist, dass eine Zerlegung von N in ein Produkt paarweise teilerfremder Zahlen: N = q1.q2.. . ..qn angegeben werden kann.

  • 1. Bestimme (vorab) eine Zahl N.
    Bestimme eine Faktorisierung N = q1.q2.. . ..qn in paarweise teilerfremde
    Faktoren (bzw. die Faktoren sind durch die Konstruktion von N bekannt).
  • 2. Bestimme für 0 ≤ k ≤ n (zufällige) Zahlen rk so dass jeweils 0 < rk < qk.
  • 3. Bestimme r als Lösung des Gleichungssystems

    rk = r mod qk, k = 1, . . ., n
  • 4. Bestimme eine Zahl k durch einen Zufallszahlengenerator.
    Setze z ← k.N + r
  • 5. Unterwerfe z einem Primzahltest, z. B. dem Rabin-Miller-Test.
  • 6. Falls z den Primzahltest nicht besteht:
    Setze z ← z + N, weiter mit 4.
    (Allgemein: z ← z + ν.N, ν ≠ 0, ν ∈ Z)
    Sonst:
    z ist die gewünschte Primzahl.
The prerequisite is that N is broken down into a product of numbers that are not prime factors: N = q 1 .q 2 ... ..q n can be specified.
  • 1. Determine (in advance) a number N.
    Determine a factorization N = q 1 .q 2 ... ..q n in pairs relatively alien
    Factors (or the factors are known from the construction of N).
  • 2. Determine for 0 ≤ k ≤ n (random) numbers r k such that 0 <r k <q k .
  • 3. Determine r as a solution to the system of equations

    r k = r mod q k , k = 1,. , ., n
  • 4. Determine a number k by a random number generator.
    Set z ← kN + r
  • 5. Submit z a prime test, z. B. the Rabin-Miller test.
  • 6. If z does not pass the prime number test:
    Set z ← z + N, continue with 4.
    (General: z ← z + ν.N, ν ≠ 0, ν ∈ Z )
    Otherwise:
    z is the desired prime number.

Die Kandidaten für die Zahlen rk können, analog zur dritten Ausführungsform, jeweils durch einen Zufallszahlengenerator bestimmt werden und verworfen werden, wenn der größte gemeinsame Teiler zu qk verschieden von 1 ist. Analogous to the third embodiment, the candidates for the numbers r k can each be determined by a random number generator and rejected if the greatest common divisor to q k is different from 1.

Falls


wobei p Primzahl und h > 0 ist, kann rk bestimmt werden aus zwei zufällig gewählten Zahlen xk und yk durch


Jede so bestimmte Zahl ist teilerfremd zu qk und umgekehrt ist jede zu qk teilerfremde Zahl zwischen 0 und


in dieser Form darstellbar. Der Fall, dass qk selbst eine Primzahl ist, wird durch hk= 1, yk = 0 dargestellt.
If


where p is prime and h> 0, r k can be determined from two randomly chosen numbers x k and y k


Each thus determined number is relatively prime to q k and is reversed to each q k prime number between 0 and


can be represented in this form. The case that q k itself is a prime number is represented by h k = 1, y k = 0.

Diese Ausführungsform eignet sich nur bedingt für Träger mit kleinem Speicher. Sie kann aber auf PCs oder leistungsfähigeren Rechnern implementiert werden. Sie ist gut für Stellen geeignet, die Schlüssel bereitstellen (z. B. Zertifizierungsstellen gemäß Signaturgesetz). Insbesondere aber können Personalisierungssysteme für Schlüsselträger (z. B. Chipkarten) mithilfe der siebten Ausführungsform Parameter generieren, die der personalisierte Schlüsselträger für die fünfte oder sechste Ausführungsform benötigt. This embodiment is only suitable to a limited extent for carriers with a small memory. But it can PCs or more powerful computers can be implemented. It is well suited for positions that Provide keys (e.g. certification bodies in accordance with the Signature Act). But in particular can Personalization systems for key carriers (e.g. chip cards) using the seventh Embodiment generate parameters that the personalized key holder for the fifth or sixth Embodiment needed.

Die folgende achte Ausführungsform der Erfindung eignet sich besonders dann, wenn eine Primzahl in einem eng begrenzten Bereich gesucht wird. Diese Ausführungsform generiert zur Bestimmung des Primzahlkandidaten jeweils neue teilerfremde Zahlen r zu N.

  • 1. Gegeben seien zwei Zahlen a und b, mit a < b, zwischen denen die gesuchte Primzahl liegen soll. Ebenfalls gegeben sei ein Parameter s.
  • 2. Bestimme (vorab) eine Zahl N.
  • 3. Bestimme k ≥ 0, so dass k.N < b vorzugsweise so, dass (k + 1).N > a.
  • 4. Bestimme eine Zahl r0 < N und eine Zahl r < N, die teilerfremd zu N sind.
    Setze i ← 0
  • 5. Setze z ← r + k.N
  • 6. Solange z < a
    setze z ← z + N
  • 7. Falls z > b weiter mit 10
  • 8. Unterwerfe z einem Primzahltest, z. B. dem Rabin-Miller-Test.
  • 9. Falls z den Primzahltest besteht:
    z ist die gewünschte Primzahl.
    Sonst
    weiter mit 10.
  • 10. Falls i < s
    setze r ← (r.r0) mod N,
    setze i ← i + 1
    weiter mit 5.
    Sonst weiter mit 4.
The following eighth embodiment of the invention is particularly suitable when a prime number is sought in a narrowly limited range. In order to determine the prime number candidate, this embodiment generates new non-prime numbers r to N.
  • 1. Given two numbers a and b, with a <b, between which the prime number is to be located. A parameter s is also given.
  • 2. Determine (in advance) a number N.
  • 3. Determine k ≥ 0 such that kN <b is preferably such that (k + 1) .N> a.
  • 4. Find a number r 0 <N and a number r <N that are prime to N.
    Set i ← 0
  • 5. Set z ← r + kN
  • 6. As long as z <a
    set z ← z + N
  • 7. If z> b continue with 10
  • 8. Submit z a prime test, z. B. the Rabin-Miller test.
  • 9. If z passes the prime test:
    z is the desired prime number.
    Otherwise
    continue with 10.
  • 10. If i <s
    set r ← (rr 0 ) mod N,
    set i ← i + 1
    continue with 5.
    Otherwise continue with 4.

Wenn der Abstand der Zahlen a, b nicht wesentlich größer als N ist, führt das Inkrementieren von z um N - wie für die Ausführungsformen beschrieben - schnell zum Verlassen des vorgegebenen Bereichs. Diese achte Ausführungsform erlaubt dennoch durch die Wahl eines großen Wertes für N, Primzahlkandidaten z zu erzeugen, die keine kleinen Primfaktoren besitzen. If the distance between the numbers a, b is not significantly larger than N, incrementing z around N - as described for the embodiments - quickly to leave the predetermined Range. This eighth embodiment nevertheless allows, by choosing a large value for N, To generate prime number candidates z that have no small prime factors.

In Schritt 4 können r und r0 durch die Verfahren der vorstehenden Ausführungsformen bestimmt werden. Als Beispiel sei hier eine Anwendung der sechsten Ausführungsform angegeben.

  • 1. Gegeben seien zwei Zahlen a und b, mit a < b, zwischen denen die gesuchte Primzahl liegen soll. Ebenfalls gegeben sei ein Parameter s.
  • 2. Bestimme (vorab) eine Zahl N und eine Menge von Zahlen M = {r1, r2, . . ., rm} mit 0 < ri < N, die teilerfremd zu N sind und eine große Ordnung modulo N haben.
  • 3. Bestimme k ≥ 0, so dass k.N < b vorzugsweise so, dass (k + 1).N > a.
  • 4. Bestimme zufällige Zahlen 0 ≤ n0 ≤ 1, 0 ≤ n1, n2, . . ., nm < φ(N)
    Setze


    Setze i ← 0
    Bestimme j: 1 ≤ j ≤ m, vorzugsweise durch einen Zufallszahlengenerator.
  • 5. Setze z ← r + k.N
  • 6. Solange z < a
    setze z ← z + N
  • 7. Falls z > b weiter mit 10
  • 8. Unterwerfe z einem Primzahltest, z. B. dem Rabin-Miller-Test.
  • 9. Falls z den Primzahltest besteht:
    z ist die gewünschte Primzahl.
    Sonst
    weiter mit 10.
  • 10. Falls i < s
    setze r ← (r.rj) mod N,
    setze i ← i + 1
    weiter mit 5.
    Sonst weiter mit 4.
In step 4, r and r 0 can be determined by the methods of the above embodiments. An application of the sixth embodiment is given here as an example.
  • 1. Given two numbers a and b, with a <b, between which the prime number is to be located. A parameter s is also given.
  • 2. Determine (in advance) a number N and a set of numbers M = {r 1 , r 2 ,. , ., r m } with 0 <r i <N, which are not prime to N and have a large order modulo N.
  • 3. Determine k ≥ 0 such that kN <b is preferably such that (k + 1) .N> a.
  • 4. Determine random numbers 0 ≤ n 0 ≤ 1, 0 ≤ n 1 , n 2 ,. , ., n m <φ (N)
    Set


    Set i ← 0
    Determine j: 1 ≤ j ≤ m, preferably using a random number generator.
  • 5. Set z ← r + kN
  • 6. As long as z <a
    set z ← z + N
  • 7. If z> b continue with 10
  • 8. Submit z a prime test, z. B. the Rabin-Miller test.
  • 9. If z passes the prime test:
    z is the desired prime number.
    Otherwise
    continue with 10.
  • 10. If i <s
    set r ← (rr j ) mod N,
    set i ← i + 1
    continue with 5.
    Otherwise continue with 4.

In P. Horster, P. Schartner: Bemerkungen zur Erzeugung dublettenfreier Primzahlen, in Sicherheitsinfrastrukturen- in Grundlagen, Realisierungen, rechtliche Aspekte, Anwendungen, Vieweg 1999 wird ein Verfahren zur dublettenfreien Generierung von Primzahlen vorgeschlagen. In diesem Verfahren wird der zu generierenden Primzahl eine eindeutige Nummer zugeordnet. Die Eindeutigkeit zwischen verschiedenen Generierungsstellen, bzw. -komponenten wird durch die Festlegung von Nummernkreisen garantiert. In P. Horster, P. Schartner: Comments on the Generation of Duplicate-Free Prime Numbers, in Security infrastructures - in basics, realizations, legal aspects, applications, Vieweg 1999 proposed a method for the duplicate-free generation of prime numbers. In this method assigns a unique number to the prime number to be generated. The Uniqueness between different generation points or components is ensured by the Guaranteed number ranges guaranteed.

Die jeweils vergebene Nummer ist wesentlich kürzer als die zu erzeugende Primzahl. Im Generierungsprozess werden bestimmte Bits der Primzahl nicht zufällig gewählt, sondern durch die vergebene Nummer bestimmt. Die gefundenen Primzahlen unterscheiden sich dann mindestens in diesen Bits. The number assigned is much shorter than the prime number to be generated. in the Certain bits of the prime number are not selected randomly, but by the generation process assigned number determined. The prime numbers found then differ at least in these bits.

Dieses Verfahren kann in naheliegender Weise mit der Erfindung kombiniert werden. Dazu werden zunächst die Nummer und die zufälligen Bits der Primzahl bestimmt, die links der Bits liegen, die durch die Nummer bestimmt sind. Ist N in den jeweiligen Ausführungsformen nicht zu groß gewählt, läßt sich durch einfache arithmetische Berechnungen ein Intervall bestimmen, aus dem ein passender Faktor k gewählt werden kann. This method can be combined in an obvious manner with the invention. To do this first determine the number and random bits of the prime number that lie to the left of the bits that are determined by the number. N is not too large in the respective embodiments selected, an interval can be determined from simple arithmetic calculations, from which a suitable factor k can be selected.

Darüber hinaus können Dubletten erfindungsgemäß dadurch vermieden werden, dass in der jeweiligen Ausführungsform der Parameter r nur von einer einzigen Generierungsstelle bzw. -komponente verwendet wird. Es ist leicht zu beweisen, dass unterschiedliche Reste modulo N hinreichend dafür sind, dass verschiedene Primzahlen gefunden werden und daraus erzeugte RSA-Schlüssel verschieden sind. In addition, according to the invention, duplicates can be avoided in that respective embodiment of the parameters r only from a single generation point or component is used. It is easy to prove that different residues modulo N are sufficient for this are that different prime numbers are found and RSA keys generated from them are different.

Bei den heutigen Anforderungen an RSA-Schlüssel (RSA-Moduli von 1024 Bits) sind Primzahlen von ca. 512 Bits erforderlich. In den jeweiligen Ausführungsformen der Erfindung kann N daher in der Länge von 360 Bits oder länger gewählt werden, so dass durch einmalige Verwendung jedes möglichen Wertes für N keine praktischen Beschränkungen entstehen. In today's requirements for RSA keys (RSA moduli of 1024 bits) are prime numbers 512 bits required. In the respective embodiments of the invention, N can therefore in the length of 360 bits or longer can be selected so that by using each one possible value for N there are no practical restrictions.

In der vierten Ausführungsform der Erfindung kann dazu z. B. der Bereich zwischen 1 und N in disjunkte Intervalle aufgeteilt werden. Jeder Generierungsstelle wird jeweils eines oder mehrere der Intervalle zugeordnet, so dass die Zahl r des angegebenen Verfahrens nur von einer einzigen Generierungsstelle gewählt wird. In the fourth embodiment of the invention, z. B. the range between 1 and N in disjoint intervals can be divided. Each generation site will have one or more of the Intervals assigned so that the number r of the specified method is only one Generation point is selected.

Eine Festlegung derart, dass jede Generierungsstelle festgelegte Werte an bestimmte Bitpositionen in r kodiert, stellt einen Spezialfall dieser Methode dar. A definition such that each generation point has fixed values at certain bit positions encoded in r is a special case of this method.

Bei der Anwendung der fünften Ausführungsform können den Generierungskomponenten paarweise disjunkte Mengen Mg = {r1, r2, . . ., rm} zugeteilt werden. Insbesondere bei der Schlüsselerzeugung in den Schlüsselträgern, z. B. Chipkarten, kann das Personalisierungssystem die jeweiligen Zahlen rj bestimmen und diese den Schlüsselträgern zuteilen. Dadurch entsteht in den Schlüsselträgern selbst kein Aufwand für die Vermeidung von Dubletten. Knapper Speicher in den Schlüsselträgern (z. B. Chipkarten) steht somit dublettenfreier Schlüsselerzeugung nicht im Wege. Das Personalisierungssystem kann die rj z. B. mithilfe eines Zufallszahlengenerators erzeugen, gegen eine Liste verwendeter Zahlen vergleichen und Dubletten verwerfen oder Methoden verwenden, die keine Dubletten erzeugt, insbesondere die deterministische Bestimmung einiger Bits der zu erzeugenden Zahl. Auch kann für die Erzeugung von M weiterhin die siebte Ausführungsform angewendet werden. Diese kann insbesondere so modifiziert werden, dass sie keine Dubletten erzeugt, so dass bei der Aufteilung auf die Mengen M kein Aufwand mehr entsteht. When using the fifth embodiment, the generation components can be paired disjoint sets M g = {r 1 , r 2 ,. , ., r m } can be allocated. Especially when generating keys in the key carriers, e.g. B. chip cards, the personalization system can determine the respective numbers r j and assign them to the key carriers. This means that there is no effort to avoid duplicates in the key holder itself. Shortage of memory in the key carriers (e.g. chip cards) does not prevent duplicate-free key generation. The personalization system can the r j z. B. using a random number generator, compare against a list of numbers used and discard duplicates or use methods that do not generate duplicates, in particular the deterministic determination of some bits of the number to be generated. The seventh embodiment can also continue to be used for generating M. In particular, this can be modified in such a way that it does not produce duplicates, so that there is no more effort involved in distributing the quantities M.

Auch in der siebten Ausführungsform können Dubletten bei zentraler Generierung nachträglich verworfen werden. Für die Vermeidung von Dubletten werden in der siebten Ausführungsform ein oder mehrere der teilerfremden Faktoren von N = q1.q2.. . ..qn ausgewählt. Da die Nummerierung der Faktoren willkürlich ist, kann angenommen werden, dass es sich um die Faktoren q1 bis qi handelt. In the seventh embodiment as well, duplicates can be subsequently discarded when generated centrally. To avoid duplicates, in the seventh embodiment one or more factors of N = q 1 .q 2 ... ..q n selected. Since the numbering of the factors is arbitrary, it can be assumed that they are the factors q 1 to q i .

Für die jeweilige Bestimmung von r durch das Gleichungssystem

rk = r mod qk, k = 1, . . ., n

werden erfindungsgemäß die Werte rk für k ≤ i so gewählt, dass die Tupeln (r1, . . ., ri) verschieden sind.
For the respective determination of r by the system of equations

r k = r mod q k , k = 1,. , ., n

According to the invention, the values r k for k i i are chosen such that the tuples (r 1 ,..., r i ) are different.

Für k > i wird rk vorzugsweise durch einen Zufallszahlengenerator bestimmt, wie für die siebte Ausführungsform ohne Dublettenvermeidung beschrieben. For k> i, r k is preferably determined by a random number generator, as described for the seventh embodiment without duplicate avoidance.

Analog zu den vorstehend beschriebenen Ausführungsformen können den Generierungsstellen verschiedene, paarweise disjunkte Bereiche von Tupeln zugeordnet werden. Analogous to the embodiments described above, the generation sites different, pairwise disjoint areas of tuples can be assigned.

Claims (15)

1. Verfahren zur Erzeugung von Primzahlkandidaten z, deren Primzahleigenschaft ggf. durch weitere Verfahren bekräftigt oder widerlegt wird, dadurch gekennzeichnet, dass a) eine Zahl N bestimmt wird, bzw. vorab bestimmt ist, vorzugsweise so, dass N/φ(n) möglichst groß ist, und b) eine Zahl r, vorzugsweise zwischen 0 und N, bestimmt wird, bzw. vorab bestimmt ist, die zu N teilerfremd ist, c) eine Zahl k bestimmt wird, vorzugsweise durch einen Zufallszahlengenerator, und d) z durch die Formel z = k.N + r berechnet wird. 1. A method for generating prime number candidates z, the prime number property of which may be corroborated or refuted by further methods, characterized in that a) a number N is determined or is determined in advance, preferably such that N / φ (n) is as large as possible, and b) a number r, preferably between 0 and N, is determined or is determined in advance and is not prime to N, c) a number k is determined, preferably by a random number generator, and d) z is calculated by the formula z = kN + r. 2. Verfahren zur Erzeugung eines weiteren Primzahlkandidaten z' aus einem bekannten Primzahlkandidaten z, wobei a) die Primzahleigenschaft von z' ggf. durch weitere Verfahren bekräftigt oder widerlegt wird, b) bekannt ist, dass z zu einer bekannten Zahl N > 2 teilerfremd ist, insbesondere Zahlen z, die durch Verfahren nach Anspruch 1 erzeugt sind, dadurch gekennzeichnet, dass a) z' durch Addieren oder Subtrahieren eines Vielfachen w von N, insbesondere N selbst, aus z hervorgeht (z' = z + w bzw. z' = z - w). 2. A method for generating a further prime number candidate z 'from a known prime number candidate z, wherein a) the prime number property of z 'may be confirmed or refuted by further procedures, b) it is known that z is prime to a known number N> 2, in particular numbers z generated by the method according to claim 1, characterized in that a) z 'results from z by adding or subtracting a multiple w from N, in particular N itself (z' = z + w or z '= z - w). 3. Verfahren nach Anspruch 1 dadurch gekennzeichnet, dass der in Anspruch 1, Eigenschaft c) genannte Faktor k für die Bestimmung des Vielfachen von N innerhalb eines vorab bestimmten Bereiches gewählt wird, so dass der resultierende Primzahlkandidat innerhalb vorgegebener Grenzen liegt. 3. The method according to claim 1, characterized in that the factor k mentioned in claim 1, property c) for the determination of the multiple of N is selected within a predetermined range, so that the resulting Candidate prime number is within specified limits. 4. Verfahren nach Anspruch 2 dadurch gekennzeichnet, dass a) das Über- bzw. Unterschreiten vorgegebener Grenzen für die gesuchte Primzahl geprüft wird und b) das Verfahren nach Bestimmung eines neuen ersten Primzahlkandidaten, insbesondere aber nicht beschränkt auf Bestimmung des neuen Primzahlkandidaten durch Verfahren nach Anspruch 1, erneut gestartet wird oder durch Variation des in Anspruch 2c genannten Parameters w die Einhaltung der Grenzen erreicht wird. 4. The method according to claim 2, characterized in that a) the exceeding or falling below predetermined limits for the prime number sought is checked and b) the method is restarted after determining a new first prime number candidate, in particular but not limited to determining the new prime number candidate by the method according to claim 1, or compliance with the limits is achieved by varying the parameter w mentioned in claim 2c. 5. Verfahren nach Ansprüchen 1 und 2 dadurch gekennzeichnet, dass die in Anspruch 1, bzw. Anspruch 2 genannte Zahl N bestimmt wird als das Produkt der Primzahlen, die unterhalb einer vorgegebenen Grenze liegen. 5. The method according to claims 1 and 2, characterized in that the number N stated in claim 1 or claim 2 is determined as the product of Prime numbers that are below a specified limit. 6. Verfahren nach Ansprüchen 1 bis 2 bei Verwendung einer Arithmetik mit einer Basis b und einer Wahl von N = α.(bi - 1), bzw. N = α.(bi + 1) dadurch gekennzeichnet, dass a) für die Bestimmung des ersten Primzahlkandidaten und/oder die Inkrementierung bzw. Dekrementierung nach Anspruch 2 die Multiplikation mit (bi - 1), bzw. (bi + 1), durch eine Shiftoperation und eine Subtraktion, bzw. Addition, realisiert wird und/oder b) N im Rechensystem dargestellt wird durch Abspeicherung des Exponenten i und des Faktors α, wobei α insbesondere für α = 1 oder α = 2 nicht explizit gespeichert werden muss. 6. The method according to claims 1 to 2 when using arithmetic with a base b and a choice of N = α. (B i - 1), or N = α. (B i + 1), characterized in that a) for the determination of the first prime number candidate and / or the incrementation or decrementation according to claim 2, the multiplication by (b i - 1), or (b i + 1), realized by a shift operation and a subtraction or addition will and / or b) N is represented in the computer system by storing the exponent i and the factor α, wherein α does not have to be explicitly stored, in particular for α = 1 or α = 2. 7. Verfahren nach Anspruch 1 dadurch gekennzeichnet, dass die in Anspruch 1 genannte Zahl r bestimmt wird, indem durch einen Zufallszahlengenerator Kandidaten für r erzeugt und Kandidaten, die nicht teilerfremd zu N sind, verworfen werden. 7. The method according to claim 1, characterized in that the number r mentioned in claim 1 is determined by a random number generator Candidates for r are generated and candidates that are not prime to N are rejected. 8. Verfahren nach Anspruch 1 dadurch gekennzeichnet, dass die in Anspruch 1 genannte Zahl r durch zufällige oder deterministische Auswahl eines Elementes aus einer zuvor bestimmten Menge M = {r1, r2, . . ., rm} zu N teilerfremder Zahlen bestimmt wird. 8. The method according to claim 1, characterized in that the number r mentioned in claim 1 by random or deterministic selection of an element from a predetermined amount M = {r 1 , r 2 ,. , ., r m } is determined to N non-prime numbers. 9. Verfahren nach Anspruch 1 dadurch gekennzeichnet, dass die in Anspruch 1 genannte Zahl r mittels einer zuvor bestimmten Menge M = {r1, r2, . . ., rm} zu N teilerfremder Zahlen bestimmt wird durch


wobei die nj insbesondere durch einen Zufallszahlengenerator bestimmt werden können.
9. The method according to claim 1, characterized in that the number r mentioned in claim 1 by means of a predetermined amount M = {r 1 , r 2 ,. , ., r m } to N non-prime numbers is determined by


the n j can be determined in particular by a random number generator.
10. Verfahren nach Anspruch 1 bei einer bekannten Faktorisierung von N = q1.q2.. . ..qn in paarweise teilerfremde Faktoren dadurch gekennzeichnet, dass die in Anspruch 1 genannte Zahl r bestimmt wird als Lösung des Gleichungssystems
rk = r mod qk, k = 1, . . ., n
10. The method according to claim 1 with a known factorization of N = q 1 .q 2 ... ..q n characterized in factors that are relatively prime to the pair in that the number r mentioned in claim 1 is determined as a solution of the system of equations
r k = r mod q k , k = 1,. , ., n
11. Verfahren nach Anspruch 10 dadurch gekennzeichnet, dass für einen Faktor der Zahl N der Form


Primzahl rk bestimmt wird durch


wobei die Parameter xk und yk vorzugsweise durch einen Zufallszahlengenerator bestimmt werden.
11. The method according to claim 10, characterized in that for a factor of the number N of the form


Prime number r k is determined by


the parameters x k and y k are preferably determined by a random number generator.
12. Vermeidung von Primzahldubletten bei der Anwendung vorstehender Verfahren durch Belegung ausgewählter Stellen der Primzahl mit bestimmten, nur einmalig verwendeten Ziffern, dadurch gekennzeichnet, dass a) der Bereich für Faktor k bei Anwendung von Verfahren nach Ansprüchen 1 und/oder 3 entsprechend festgelegt wird, oder b) zunächst ein bis auf die festgelegten Ziffern vorläufiger Primzahlkandidat durch einen Zufallszahlengenerator erzeugt wird, und die nächst größere oder kleinere Zahl z errechnet wird, für die z mod N = r gilt. 12. Avoidance of duplicate prime numbers when using the above methods by covering selected digits of the prime number with certain digits that are used only once, characterized in that a) the range for factor k when using methods according to claims 1 and / or 3 is determined accordingly, or b) first of all a provisional prime number candidate is generated by a random number generator, and the next larger or smaller number z is calculated for which z mod N = r applies. 13. Verfahren zur Vermeidung von Dubletten in erzeugten kryptographischen Schlüsseln und Primzahlen in Verfahren nach vorstehenden Ansprüchen dadurch gekennzeichnet, dass a) der Bereich 1, . . ., N - 1 in paarweise disjunkte Mengen aufgeteilt wird, b) jeder Vorrichtung, welche Primzahlen erzeugt, eine dieser Mengen zugeteilt wird, c) und die jeweilige Vorrichtung einen Wert für das in vorstehenden Ansprüchen genannte r aus der ihr zugeteilten Menge höchstens einmal verwendet. 13. A method for avoiding duplicates in generated cryptographic keys and prime numbers in the method according to the preceding claims, characterized in that a) area 1,. , ., N - 1 is divided into pairwise disjoint sets, b) each device which generates prime numbers is allocated one of these sets, c) and the respective device uses a value for the r mentioned in the preceding claims from the amount allocated to it at most once. 14. Verfahren nach Ansprüchen 11 und 12 dadurch gekennzeichnet, dass a) Gleichungen des Schemas rk = r mod qk, k = 1, . . ., n ausgezeichnet werden b) und bei der Wahl der rk in diesen Gleichungen Dubletten vermieden werden. 14. The method according to claims 11 and 12, characterized in that a) Equations of the scheme r k = r mod q k , k = 1,. , ., n are awarded b) and duplicates are avoided in the choice of r k in these equations. 15. Vorrichtung zur Generierung von Primzahlen, einschließlich der Primzahlgenerierung als Teilschritt übergreifenden Verfahrens, insbesondere der Erzeugung kryptographischer Schlüssel dadurch gekennzeichnet dass a) ein erster Primzahlkandidaten durch Verfahren nach Anspruch 1, 5 und/oder 7 gebildet wird, b) weitere Primzahlkandidaten durch Verfahren nach mindestens einem der Ansprüche 2 bis 6 bis 7 gebildet werden, c) in die Vorrichtung eine Menge M für die Durchführung von Verfahren nach mindestens einem der Ansprüche 8 bis 11 vor Ausführung der Primzahlgenerierung gespeichert wird, insbesondere während der Personalisierungsphase von Schlüsselträgern, insbesondere Chipkarten, d) und/oder in die Vorrichtung zur Vermeidung von Primzahldubletten mittels eines Verfahrens nach Ansprüchen 12 bis 14 ein individueller Bereich eingestellt wird, aus dem die Primzahl zu wählen ist, oder die Vorrichtung ein Verfahren vorhält, welches einen entsprechenden Bereich aus gespeicherten Daten, insbesondere einer Identifikation (Seriennummer o. ä) ableitet. 15. Device for generating prime numbers, including the prime number generation as a sub-step overarching method, in particular the generation of cryptographic keys, characterized in that a) a first prime number candidate is formed by the method according to claim 1, 5 and / or 7, b) further prime number candidates are formed by the method according to at least one of claims 2 to 6 to 7, c) a quantity M for carrying out methods according to at least one of claims 8 to 11 is stored in the device before the prime number generation is carried out, in particular during the personalization phase of key carriers, in particular chip cards, d) and / or in the device for avoiding duplicate prime numbers by means of a method according to claims 12 to 14, an individual range is set from which the prime number is to be selected, or the device maintains a method which has a corresponding range of stored data, in particular an identification (serial number or similar).
DE2001161203 2001-12-13 2001-12-13 Method for generation of primary number candidates, whose validity can then be checked with further methods, whereby the method speeds up the finding of probable prime numbers Ceased DE10161203A1 (en)

Priority Applications (1)

Application Number Priority Date Filing Date Title
DE2001161203 DE10161203A1 (en) 2001-12-13 2001-12-13 Method for generation of primary number candidates, whose validity can then be checked with further methods, whereby the method speeds up the finding of probable prime numbers

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
DE2001161203 DE10161203A1 (en) 2001-12-13 2001-12-13 Method for generation of primary number candidates, whose validity can then be checked with further methods, whereby the method speeds up the finding of probable prime numbers

Publications (1)

Publication Number Publication Date
DE10161203A1 true DE10161203A1 (en) 2003-07-03

Family

ID=7709042

Family Applications (1)

Application Number Title Priority Date Filing Date
DE2001161203 Ceased DE10161203A1 (en) 2001-12-13 2001-12-13 Method for generation of primary number candidates, whose validity can then be checked with further methods, whereby the method speeds up the finding of probable prime numbers

Country Status (1)

Country Link
DE (1) DE10161203A1 (en)

Cited By (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
DE102004007615A1 (en) * 2004-02-17 2005-09-01 Giesecke & Devrient Gmbh Determine a data value that most likely represents a prime number
DE102004044453A1 (en) * 2004-09-14 2006-03-30 Giesecke & Devrient Gmbh Data value testing method for cryptographic applications, involves determining auxiliary value in course of prime number test, and withdrawing another prime number test by auxiliary value

Non-Patent Citations (1)

* Cited by examiner, † Cited by third party
Title
MAURER, U.: Fast Generation of Prime Numbers and Secure Public-Key Cryptographic Parameters. In: Journal of Cryptology, ISSN 0933-2790, 1995, Vol. 8, No. 3, S. 123-155 *

Cited By (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
DE102004007615A1 (en) * 2004-02-17 2005-09-01 Giesecke & Devrient Gmbh Determine a data value that most likely represents a prime number
DE102004044453A1 (en) * 2004-09-14 2006-03-30 Giesecke & Devrient Gmbh Data value testing method for cryptographic applications, involves determining auxiliary value in course of prime number test, and withdrawing another prime number test by auxiliary value

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
DE60217260T2 (en) Data processing and encryption unit
EP1262037B1 (en) Portable data carrier provided with access protection by dividing up codes
DE69434703T2 (en) Method of generating DSA signatures with low-cost portable units
DE69826963T2 (en) Device for modular inversion for securing information
DE60031304T3 (en) METHOD FOR AUTHENTICATING SOFTWARE USERS
DE102015104421A1 (en) Method of using a token in cryptography
EP1922837B1 (en) Method for securely encrypting or decrypting a message
EP1290545B1 (en) Cryptographic method and cryptographic device
EP2641241B1 (en) Method for long-number division or modular reduction
DE112018002723T5 (en) SYSTEM, METHOD AND DEVICE FOR HIDDEN DEVICE OPERATIONS
DE10161203A1 (en) Method for generation of primary number candidates, whose validity can then be checked with further methods, whereby the method speeds up the finding of probable prime numbers
DE102014101936A1 (en) Method for permuting data elements and permuting device
WO2013060466A2 (en) Determination of a division remainder and detection of prime number candidates for a cryptographic application
WO2002019065A2 (en) Method and device for carrying out a modular exponentiation in a cryptographic processor
EP2975799A1 (en) Data-minimising authentication
EP1504337B1 (en) Calculating the modular inverse of a value
DE60119254T2 (en) Arithmetic unit for determining the inverse of an integer modulus of a large number
DE10357749B4 (en) Apparatus and method for determining a divisor freedom of a test number with respect to a plurality of primes
EP3504616B1 (en) Module and method for the secured computation of mathematical operations
EP1518165B1 (en) Computation of a multiple of a group element for cryptographic purposes
DE10357751B4 (en) Apparatus and method for providing a test number
DE10101884A1 (en) Cryptography implementation based on inversion using elliptic curves, intended for use with processors having long number registers, but limited processing power, the algorithm used reducing processing time considerably
DE10156708A1 (en) Method and device for multiplying and method and device for adding on an elliptic curve
EP1271304B1 (en) Method for calculating the modular inverses of two numbers

Legal Events

Date Code Title Description
OP8 Request for examination as to paragraph 44 patent law
8131 Rejection