Anfrage: Auftragsprogrammierung
Anfrage: Auftragsprogrammierung
Hallo,
Ich suche einen PB-Programmierer der mir ein Include liefert das folgende Funktionen erfüllt:
Berechnen eines 2048 Bit Diffie-Hellman Schlüsselaustausches
- Berechnen von Primzahlen bis 2048 Bit (Bereich)
- Berechnen von Zufallszahlen bis 2048 Bit
- Berechnen von Modulo über diese Zahlen
- Berechnen von PowerModulo dieser Zahlen
- Ein- und Ausgabe immer per HEX
- Kein Einsatz von fremd-DLL's oder Userlibrarys!
- Bitte zuverlässigen und gut kommentierten Code!
Es soll ein einzelnes Include sein. Ich benötige Varianten für PB 3.94 und PB4 (für später mal). Vorerst muss es auf Windows laufen (ab W2000).
Ich kann funktionierenden Code für beinahe alle diese Aufgaben als C- und VB-Code liefern. Ich hab nur nicht die Zeit und den Nerv das alles nach PB zu wandeln. Auch fehlt mir das KnowHow, das auf Speed zu optimieren (evtl. mit Inline-Assembler?).
Angebote mit Preis in EUR (netto) und Zeitschätzung bitte per PN! Anfragen zu Details beantworte ich gerne hier im Thread.
Volker
Ich suche einen PB-Programmierer der mir ein Include liefert das folgende Funktionen erfüllt:
Berechnen eines 2048 Bit Diffie-Hellman Schlüsselaustausches
- Berechnen von Primzahlen bis 2048 Bit (Bereich)
- Berechnen von Zufallszahlen bis 2048 Bit
- Berechnen von Modulo über diese Zahlen
- Berechnen von PowerModulo dieser Zahlen
- Ein- und Ausgabe immer per HEX
- Kein Einsatz von fremd-DLL's oder Userlibrarys!
- Bitte zuverlässigen und gut kommentierten Code!
Es soll ein einzelnes Include sein. Ich benötige Varianten für PB 3.94 und PB4 (für später mal). Vorerst muss es auf Windows laufen (ab W2000).
Ich kann funktionierenden Code für beinahe alle diese Aufgaben als C- und VB-Code liefern. Ich hab nur nicht die Zeit und den Nerv das alles nach PB zu wandeln. Auch fehlt mir das KnowHow, das auf Speed zu optimieren (evtl. mit Inline-Assembler?).
Angebote mit Preis in EUR (netto) und Zeitschätzung bitte per PN! Anfragen zu Details beantworte ich gerne hier im Thread.
Volker
Zuletzt geändert von Kukulkan am 07.03.2006 09:11, insgesamt 1-mal geändert.
- NicTheQuick
- Ein Admin
- Beiträge: 8809
- Registriert: 29.08.2004 20:20
- Computerausstattung: Ryzen 7 5800X, 64 GB DDR4-3200
Ubuntu 24.04.2 LTS
GeForce RTX 3080 Ti - Wohnort: Saarbrücken
Re: Anfrage: Auftragsprogrammierung
Ist das auch eine Procedure oder gehören die Unterpunkte dazu?Volker Schmid hat geschrieben:Berechnen eines 2048 Bit Diffie-Hellman
Was ist ein Modus über eine Zahl?- Berechnen von Modus über diese Zahlen
Was ist das besondere an PowerMod?- Berechnen von PowerMod dieser Zahlen
Bis wann brauchst du das ganze?
Hi Nic,
Grüsse,
Volker
Das ist die gewünschte Funktionalität. Alle Unterpunkte sind Bestandteil dieser Funktionalität (sozusagen die Details).Ist das auch eine Procedure oder gehören die Unterpunkte dazu?
Sorry, meite natürlich Modulo.Was ist ein Modus über eine Zahl?
http://documents.wolfram.com/mathematic ... s/PowerModWas ist das besondere an PowerMod?
Nach Auftragserteilung max. 1 Woche.Bis wann brauchst du das ganze?
Grüsse,
Volker
könntest diese codes mal hier posten...hab kein plan was dieser schlüsselaustausch isIch kann funktionierenden Code für beinahe alle diese Aufgaben als C- und VB-Code liefern. Ich hab nur nicht die Zeit und den Nerv das alles nach PB zu wandeln. Auch fehlt mir das KnowHow, das auf Speed zu optimieren (evtl. mit Inline-Assembler?)
Hallo Armada,
Hier die Info's zu Diffie-Hellman:
http://de.wikipedia.org/wiki/Diffie-Hellman
Unten bei Wikipedia findest Du auch Links mit Beispielen etc.. Nur will ich das mit Zahlen in der Grösse von 2048 Bit machen (PB-Quads sind 64 Bit).
Volker
Hier die Info's zu Diffie-Hellman:
http://de.wikipedia.org/wiki/Diffie-Hellman
Unten bei Wikipedia findest Du auch Links mit Beispielen etc.. Nur will ich das mit Zahlen in der Grösse von 2048 Bit machen (PB-Quads sind 64 Bit).
Volker
- hardfalcon
- Beiträge: 3447
- Registriert: 29.08.2004 20:46
Für alle, die das ganze nocmal etwas einfacher erklärt haben wollen, hier ein Link:
http://www.xml-dev.com/blog/index.php?a ... pic&id=196
(Hab den Link aus dem Wikipedia-Artikel...)
http://www.xml-dev.com/blog/index.php?a ... pic&id=196
(Hab den Link aus dem Wikipedia-Artikel...)
habs noch nich getestet:
wenn du lust hast kannste das ja schonmal testen obs funzt...
wenn ich zeit hab mach ich weiter...
achja und weil ich das jetzt erst sehe...geld will ich keins...dafür is aber auch nich kommentiert
Code: Alles auswählen
Structure BigVar
w.w[128]
EndStructure
Procedure BigVar_Length(*Var.BigVar)
Protected Zaehler
For Zaehler = 127 To 0 Step -1
If *Var\w[Zaehler] <> 0
Break
EndIf
Next
ProcedureReturn Zaehler
EndProcedure
Procedure BigVar_Addition(*Var1.BigVar, *Var2.BigVar, *Ergebnis.BigVar)
Protected Zwischenergebnis, Zaehler, Uebertrag
For Zaehler = 0 To 127
Zwischenergebnis = *Var1\w[Zaehler] + *Var2\w[Zaehler]
Uebertrag = Zwischenergebnis >> 16
*Ergebnis\w[Zaehler] = Zwischenergebnis & $FFFF
Next
EndProcedure
Procedure BigVar_Subtraktion(*Var1.BigVar, *Var2.BigVar, *Ergebnis.BigVar)
Protected Zwischenergebnis, Zaehler, Uebertrag
For Zaehler = 0 To 127
Zwischenergebnis = *Var1\w[Zaehler] - *Var2\w[Zaehler] - Uebertrag
If Zwischenergebnis < 0
Uebertrag = 1
Zwischenergebnis + $10000
Else
Uebertrag = 0
EndIf
*Ergebnis\w[Zaehler] = Zwischenergebnis & $FFFF
Next
EndProcedure
Procedure BigVar_RandomNumber(Startwert, *Ergebnis.BigVar)
Protected Zaehler, ende
RandomSeed(Startwert)
For Zaehler = 0 To Random(127)
*Ergebnis\w[Zaehler] = Random($FFFF)
Next
EndProcedure
Procedure BigVar_Multiplikation(*Var1.BigVar, *Var2.BigVar, *Ergebnis.BigVar)
Protected Laenge1, Laenge2, Zaehler, Zaehler1, Zaehler2, Zwischenergebnis, Uebertrag, Tempvar.BigVar
Laenge1 = BigVar_Length(*Var1)
Laenge2 = BigVar_Length(*Var2)
For Zaehler1 = 0 To Laenge1
For Zaehler2 = 0 To Laenge2
Zwischenergebnis = *Var1\w[Zaehler1] * *Var2\w[Zaehler2]
Zwischenergebnis + Uebertrag
Uebertrag = Zwischenergebnis >> 16
Tempvar\w[Zaehler1 + Zaehler2] = Zwischenergebnis & $FFFF
Next
If Uebertrag
Tempvar\w[Zaehler1 + Zaehler2 + 1] = Uebertrag
EndIf
BigVar_Addition(@Tempvar, *Ergebnis, *Ergebnis)
For Zaehler = 0 To 127
Tempvar\w[Zaehler] = 0
Next
Uebertrag = 0
Next
EndProcedure
wenn ich zeit hab mach ich weiter...
achja und weil ich das jetzt erst sehe...geld will ich keins...dafür is aber auch nich kommentiert

Hallo armada,
Danke für deine Mühe. Kannst Du ein Beispiel machen, wie die Zahlen in die BigVar-Struktur übergeben werden? Ich hab die Zahlen ja als HEX (zB "849dbd59069bff80cf30d052b74beeefc285b46fc773218c737ec8ee993b4f2ded30f48edace915f" für eine 320 Bit Zahl). Hex in Dec ist kein Thema, aber wie (Reihenfolge? Immer in 16Bit Blöcken?) muss das in deiner Struktur liegen?
Eigentlich fehlt dann nur noch die Division durch 2 und der Modulo. Dann könnte ich es testen.
Volker
Danke für deine Mühe. Kannst Du ein Beispiel machen, wie die Zahlen in die BigVar-Struktur übergeben werden? Ich hab die Zahlen ja als HEX (zB "849dbd59069bff80cf30d052b74beeefc285b46fc773218c737ec8ee993b4f2ded30f48edace915f" für eine 320 Bit Zahl). Hex in Dec ist kein Thema, aber wie (Reihenfolge? Immer in 16Bit Blöcken?) muss das in deiner Struktur liegen?
Eigentlich fehlt dann nur noch die Division durch 2 und der Modulo. Dann könnte ich es testen.
Volker
also gut is ja nich viel arbeit...und du brauchst nur division durch 2? was ist dann falls das ergebnis ungerade ist...die funktionen sind jetzt nur für grade zahlen...die 1 abschneiden oder wie soll ichs machen?Volker Schmid hat geschrieben:Hallo armada,
Danke für deine Mühe. Kannst Du ein Beispiel machen, wie die Zahlen in die BigVar-Struktur übergeben werden? Ich hab die Zahlen ja als HEX (zB "849dbd59069bff80cf30d052b74beeefc285b46fc773218c737ec8ee993b4f2ded30f48edace915f" für eine 320 Bit Zahl). Hex in Dec ist kein Thema, aber wie (Reihenfolge? Immer in 16Bit Blöcken?) muss das in deiner Struktur liegen?
Eigentlich fehlt dann nur noch die Division durch 2 und der Modulo. Dann könnte ich es testen.
Volker