AuthorWrite something about yourself. No need to be fancy, just an overview. ArchivesCategories |
Back to Blog
Lazarus store large numbers11/7/2023 "The group has increasingly focused on financially motivated attacks and appears to be capitalizing on both the increasing interest and skyrocketing prices for cryptocurrencies," the researchers said. But it looks as if BigIntegers can be used in FreePascal.Researchers from security firm Proofpoint have published a new report, revealing a connection between Lazarus Group and a number of multistage cyber attacks against cryptocurrency users and point-of-sale systems. There will be other, simple problems and it is well possible that there are a few not-so-simple problems. It could be that the change I made there is one of the causes for the failure of RecursiveToString. Another was the fact that there is no DivMod() function for UInt64 types, so you will have to either use the one for Longint or use div and mod separately. And there is no way you can define an array of BigInteger before BigInteger is defined, so you will have to define a type BigIntegerArray = array of BigInteger inside the BigInteger record, as a nested type. I only tried a quick and dirty test, did not do any extensive tests, but it is obviously possible to make it work. I guess the tricky routines just need some work and some debugging to make them work under FreePascal. ToString, which uses RecursiveToString, which in its turn needs an exact alignment of bytes to get a usable string, don’t work, but in the meantime - until you solved the problem - you can e.g. But I guess that, with enough time on your hands, you can make it work. That is a bit of a problem for me, because I most of the time use the former variety. Stuff like LEA EAX, seems to cause problems, but works. Additional unit written in Assembler exists, but it's not required.Ĭode can be adapted for Free Pascal. Part of a much larger library but the unit can be used self-contained.Ī quite recent contribution (2021) - unfortunately it does not support any efficient algorithms and becomes slow very fast.Īgain part of a larger library but can be used self-contained.ĭevelopment was stopped in about 2009 year.Īlmost all identifiers are in German. Though this is a Pascal source >90% are coded as x86-32 Win32 assembler routines. there is also rationals, reals & complex available with large set of functions.Burnikel-Ziegler efficiency degrades on large sizes.default thresholds & missing tool for auto detection.efficient roots: quadratically converging.efficient modular ops: based on Montgomery & Barrett reductions.efficient multiplication: Karatsuba, Toom3.basecase multiplication only 33% slower than best known pure Pascal.extensive number theory - gcd, modinv, mulmod, pow, powmod, sqrt+remainder, n-root+remainder, and a lot more.extensive set of functions - arith, bitops, comparisons, type conversion, base conversion.solid error handling (function results or exceptions).supports 16/32/64 bit, little- & big-endian.The last found snapshot was put to GitHub. Project development was stopped in about 2018. The assembler code that can be enabled with a compiler directive, is for x86-64 processors only. Library of multi-precision numbers (currently, only big integers) written for Free Pascal and Linux. This unit provides a BigDecimal-Type which stores arbitrary precision (BCD) decimal numbers and can be used like any native numeric type. Project development was stopped, the last found snapshot v0.76 was put to GitHub. Modern cryptographic library for Delphi and Lazarus/FPC implemented as a set of runtime packages.
0 Comments
Read More
Leave a Reply. |