AGB  ·  Datenschutz  ·  Impressum  







Anmelden
Nützliche Links
Registrieren
Thema durchsuchen
Ansicht
Themen-Optionen

BigInt: RandomRange Funktion?

Offene Frage von "Z4ppy"
Ein Thema von Z4ppy · begonnen am 31. Aug 2008 · letzter Beitrag vom 3. Sep 2008
Antwort Antwort
Seite 3 von 3     123   
gammatester

Registriert seit: 6. Dez 2005
999 Beiträge
 
#21

Re: BigInt: RandomRange Funktion?

  Alt 3. Sep 2008, 08:09
Zitat von Z4ppy:
Hmm, mir is grad noch ne ganz einfache methode eingefallen :D
Man generiert quasi einfach einen Zufallsstring aus Ziffern... Man muss die Zufallszahl natürlich in einer Variable zwischenspeichern, um sicher zu gehen, dass die Zahl mit Zufügen der Ziffer net grösser wird, als R... Am Schluss kann man den String ja dann einfach in nen BigInt umwandeln...

Werde das morgen mal testen, müsste aber eigentlich funktionieren...

MfG Z4ppy
Wenn Du Ziffern durch Bits ersetzt, ist es doch genau das, was ich seit Tagen sage. Ziffern ist hier ein etwas unklares Konzept: Sind es Binärziffern, Dezimalziffern oder die Cardinals/Longword des bigint arrays? Wenn Du die Bits oder Arrayteile meinst, ist es wiederum genau das, was ich in #14 geschrieben habe (hier werden die Bits in einem Rutsch erzeugt und in das bigint-Array geschrieben):
Zitat:
Welche Funktionen Du verwenden kannst, hängt von den biginst ab. Wenn's ein array of cardinal ist, etwa isaac_read(ctx, @DeinArray, length(DeinArray)*sizeof(cardinal))
Gammatester
  Mit Zitat antworten Zitat
Z4ppy

Registriert seit: 25. Apr 2008
269 Beiträge
 
Delphi 7 Enterprise
 
#22

Re: BigInt: RandomRange Funktion?

  Alt 3. Sep 2008, 09:46
Ich dachte eigentlich an Dezimalziffern Also str:=str+inttostr(RandomRange(0,9)); wobei die erste Ziffer keine 0 sein sollte...

MfG Z4ppy

PS.: KP, ob die Syntax da oben jetz stimmt, sollte aber scho richtig sein... Und den String kann man dann ja mit TBigInt.Create(str); umwandeln...
  Mit Zitat antworten Zitat
gammatester

Registriert seit: 6. Dez 2005
999 Beiträge
 
#23

Re: BigInt: RandomRange Funktion?

  Alt 3. Sep 2008, 10:35
Zitat von Z4ppy:
Ich dachte eigentlich an Dezimalziffern Also str:=str+inttostr(RandomRange(0,9)); wobei die erste Ziffer keine 0 sein sollte...

MfG Z4ppy

PS.: KP, ob die Syntax da oben jetz stimmt, sollte aber scho richtig sein... Und den String kann man dann ja mit TBigInt.Create(str); umwandeln...
Dann wirst aus zwei Gründen aber viel Freude haben

1. Sind wir wieder beim Thema, daß RandomRange für kryptographische Anwendungen viel zu unsicher ist.

2. Wenn Du wirklich 20000-stellige Primzahlen mit der Methode erzeugen willst (das sind mehr als 66000 Bits, wenn "Stelle" wieder Dezimal bedeutet), wirst Du viel Zeit für andere Sachen haben. Versuch's erstmal mit 2048 Bits oder 1000 Dezimalstellen.

Auf jedenfall ist es besser mit den Arrayelementen zu arbeiten. Schau mal in das Testprogram der von Dir benutzten Klasse aus #1, dort wird genau das gemacht:

Delphi-Quellcode:
  p := TBigInt.Create(0);
  for i:=0 to CRYPTO_DIGITS do
    p.Digit[i] := random($FFFFFFFF);
  p.Digit[0] := p.Digit[0] or 1;
Jetzt brauchtst Du eigentlich nur noch random durch was kryptographisch Besseres zu ersetzen, zB mit dem ISAAC:

Delphi-Quellcode:
  p := TBigInt.Create(0);
  for i:=0 to CRYPTO_DIGITS do begin
    isaac_next(ctx);
    p.Digit[i] := LongWord(ctx.nextres);
  end;
  p.Digit[0] := p.Digit[0] or 1;
Gruß Gammatester
  Mit Zitat antworten Zitat
Z4ppy

Registriert seit: 25. Apr 2008
269 Beiträge
 
Delphi 7 Enterprise
 
#24

Re: BigInt: RandomRange Funktion?

  Alt 3. Sep 2008, 11:17
Ich glaub, du hast mich net verstanden Ich HABE Primzahlen bis 20k Stellen und will nun eine beliebige (natürliche) Zahl mit 1<x<p erzeugen, wobei p die 20k-stellige Zahl ist. Ich rede hier übrigens immer von Dezimalstellen...

Das mitm ISAAC werd ich mir nachher nochma ansehen

MfG Z4ppy
  Mit Zitat antworten Zitat
Antwort Antwort
Seite 3 von 3     123   


Forumregeln

Es ist dir nicht erlaubt, neue Themen zu verfassen.
Es ist dir nicht erlaubt, auf Beiträge zu antworten.
Es ist dir nicht erlaubt, Anhänge hochzuladen.
Es ist dir nicht erlaubt, deine Beiträge zu bearbeiten.

BB-Code ist an.
Smileys sind an.
[IMG] Code ist an.
HTML-Code ist aus.
Trackbacks are an
Pingbacks are an
Refbacks are aus

Gehe zu:

Impressum · AGB · Datenschutz · Nach oben
Alle Zeitangaben in WEZ +1. Es ist jetzt 08:49 Uhr.
Powered by vBulletin® Copyright ©2000 - 2024, Jelsoft Enterprises Ltd.
LinkBacks Enabled by vBSEO © 2011, Crawlability, Inc.
Delphi-PRAXiS (c) 2002 - 2023 by Daniel R. Wolf, 2024 by Thomas Breitkreuz