Thread View: pl.comp.lang.delphi
2 messages
2 total messages
Started by danielmarcinmazur
Fri, 04 May 2018 14:11
BigInteger i 256bitowe liczby
Author: danielmarcinmazur
Date: Fri, 04 May 2018 14:11
Date: Fri, 04 May 2018 14:11
7 lines
1911 bytes
1911 bytes
Witam wszystkich. Panowie, mam pewien problem z generowaniem klucza publicznego w algorytmie ECDSA. Do obliczeń używam klasy BigInteger (http://rvelthuis.de/programs/bigintegers.html) O to kod tej funkcji: http://wklej.org/hash/3edff69b460/txt/ Generowane klucze w dużej części są nieprawidłowe. Wynika to pewnie z tego, że BigInteger nie ma ograniczenia słów, czyli można tym tworzyć liczby o rozmiarze RAMu. Zakładam więc, że po mnożeniu punktów przez skalar dochodzi do "przepełnienia" i liczba z 256bitowej zamienia się w np. 257 bitową. Teraz pytanie, jak zasymulować prawdziwe działania na 32 bajtowym buforze?
Re: BigInteger i 256bitowe liczby
Author: danielmarcinmazur
Date: Tue, 08 May 2018 07:18
Date: Tue, 08 May 2018 07:18
13 lines
1760 bytes
1760 bytes
Rozwiązanie dla potomnych
function make256bit(var bi: BigInteger): BigInteger;
begin
if bi.IsNegative then
bi := bi + BigInteger.Parse
('+0xFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFEFFFFFC2F')
else
bi := bi mod BigInteger.Parse
('+0xFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF');
result := bi;
end;
Thread Navigation
This is a paginated view of messages in the thread with full content displayed inline.
Messages are displayed in chronological order, with the original post highlighted in green.
Use pagination controls to navigate through all messages in large threads.
Back to All Threads