Description: fcl-hash and hash/

This file as text.
(active) Revisions in this set:
863959357444a0754aa3a8bcc5ef662c084bbe22,0a44e3192d404146342f98e3e825f02cf3405da4,6bf0de0ba2f99e0cdd6ac2ca9157e3628976d065
216c848075589f86f1051eca2d6b35b0e99a33b0,d038f9f6e0a4041e2fb20f4e7d25bf88cb35e4f4,727d606b45402e6812b975cc83ff5b9d0d8de1dd
727f019fd799bbf37ab013c551388aef897bf732,a81e527e1d49d2a4f232574d7e0f2c5a8fcd949d,7d98462c1cd28524492922303630f599fb4b1615
de5c056ef338750a889e5af6148f3a6ece8ba73d,0f30dad3412e3ea678b821bc8995f2066c9cb9d9,76e4e5d8948ed5601fafba16343c8adba04303af
989b378bcd9007540afe067cb8edfce46948fbd5,36b4a77c946529d278d938122ac70c8e0621b531,2ec59db2fa7933213a2c67b892858282df6afed5
82c27c72c9ffb1f9d6dec0657b2d5ba6100b8307,d661e7288bbd19582e9c49d9bc4184a9cb728bff,3180a5e83ae8a77e84cd7d13940a481f3d229451
3856f3dba0335de7e81629f38f2e78bfeb06272b,077c661b2d136b3640bdf87aa2a37bf9923bb8a3,93816c379b3207d11c6a84e0251d39b9f970b94f
bfa3e156d234b569db886879211ea12279362d4e,d383f6102df663aa550a26f2838388ea574792b4,52da2011dd3660d649a27a859eae74270249595b
f5280abe54d79b180b24608ab71eff9d5b1b87c2,896ca4bb75bd4d4e4a70695245d2dd063fcc3c31,961eccf64be013fa3ce2ed70ca90080b4b6f3112
d3f748a020c1f5249f5be02c24abaaa359a98121,f7465bb3ec214d2b2839308f78a13dad366e5ddf,4603b80ac0c3836ccbecb6f5e0ecb88c84a99b78
e1ea58dd2f19717e0c60ebfe120764e874abcac6,2f1663041fd4a0c543ae533e2b17a17e1956d301,1c100f0b130edc389e17b7c9a2b23a4d1c4818de
038b01bf23e16029acc109467682249a38b7b24b,83f7213b257ea9f320a589968e46a2c79fe9163f,f8ba9e4760f9fdc31bace09bda04859c35f59d27
fce4a953a77845c863ffde49c16eb053279e56e6,afc981d2cbbea26e78fe08edc8edc3216d3b8eb7,6a9a416f84d4fc5d70f8f719b2171fe098d5e8a4
0ec1f182b4997ae5e9fd201b5dbd7cb4fb01e870,d5807e03b6bbcb6a2df5263d4d51d80a3fc5d60c,5b9998e38b04fec874d0441b625fd25496ead304
f12abd03ccd4f1810c9fb9bf2e2c48c3400edf62,aa841d584d036accb81af0e0a79c364241d0cc45,1437928ce65e927a0e0fff4f20dfb250c98e7dd1
51c3cc97fa2de22bf58af54a84786d98bf36d594,29c875897533fba31dd98c557ea1f8a3769e3422,0eeba27df610bff57371ec104470bf5b40e764ed
736f5edf98ab5e30efb82991e0b2618906c903e1,44f0bb856219142710cec005b7c489a6f429f7a6,9586d3e67429139c22c2fc892acbdb752564c4a4
487f7bf4ab2a7bd0339f4c00b326deeb523bb73d,2c15deb23741e580037f9b80de5a39851c9542b3,0b38f99b47c80731cf5279e5606def0ea3919d38
f626efef37d3377dacd1306709f7faed26a6d15b,c04024506bd2231d49b371e9814907de5dc01d58,ff2492edf5cf467ac35494e0c2087d51ee30151d
2256593e92fa68236a3e5adafa321787e9ddfd12,32a9dab401b50a69bf4068eab7c07e396b454a48,36b59feeac619f11b933cd8a61b44b7abd35fbac
a4cf7ff6e443d01fb531f1550e04d94839fc101e,1e1cc16569ce36050108947539cf31da3e710494,826aabe99db6011601402ea4c3c4c6270140ac19
413586c041bb77d4ff76143d5d272e3e5033865d,569cceb2a0d5aade804041c283cba334d9faa762,14dc707042622bdae6651a1202572d0fd9682c5d
e5996bcf5faae0790e80fa60212ea9a13fa69a1c,1a1ca7206793cd3ff4edc335a485d9546a4f4b3c,818fc4244b1573e67294f31793e4e73b7d7d986d
49665f88a52d3268cc554c03e637b1eef3ded8e2,95f8a78f901005253b2e4c7f15249e41616e04d4,e42b16beb40d7aa16e9561f77275d473289cc16c
1d357c7a49e4380f7020f1ff77aa2e37f8f19e80,60f281d47e8946890eff14fdc461c6108a1b8fc9,ffe3aae7b0591b51f850440300eae9d765a2d81b
1c676d1db1fb5ffbad4a92619709bc0c14ae1291

Clicking a revision will expand files
 


fcl-hash: rsa encrypt: fixed using non zero padding bytes
Commit consists out of
  • M packages/fcl-hash/src/fpasn.pp
  • M packages/fcl-hash/src/fphashutils.pp
  • M packages/fcl-hash/src/fprsa.pas


fcl-hash: test rsa encrypt/decrypt
Commit consists out of
  • M packages/fcl-hash/src/fprsa.pas
  • M packages/fcl-hash/tests/utestpem.pp


fcl-hash: use RDTSCP on i386 and x86-64
Commit consists out of
  • M packages/fcl-hash/src/fphashutils.pp
  • M packages/fcl-hash/tests/utestpem.pp


fcl-hash: use randomize
Commit consists out of
  • M packages/fcl-hash/src/fpasn.pp
  • M packages/fcl-hash/src/fphashutils.pp


fcl-hash: do not call randomize too often
Commit consists out of
  • M packages/fcl-hash/src/fphashutils.pp


fcl-hash: added some asn write functions
Commit consists out of
  • M packages/fcl-hash/src/fpasn.pp


fcl-hash: init X509 key with strings, write as ASN and DER
Commit consists out of
  • M packages/fcl-hash/src/fprsa.pas


fcl-web: test writing rsa keys as DER, test with RFC 7515 values
Commit consists out of
  • M packages/fcl-hash/src/fphashutils.pp
  • M packages/fcl-web/tests/tcjwt.pp


fcl-hash: added PSS helper functions I2OSP, MGF1SHA256
Commit consists out of
  • M packages/fcl-hash/src/fphashutils.pp
  • M packages/fcl-hash/src/fprsa.pas
  • M packages/fcl-web/tests/tcjwt.pp


fcl-hash: started RSASSA_PSS_SIGN
Commit consists out of
  • M packages/fcl-hash/src/fprsa.pas
  • M packages/fcl-hash/src/fptlsbigint.pas
  • M packages/fcl-web/tests/tcjwt.pp


fcl-hash: started RSASSA_PSS_SIGN
Commit consists out of
  • M packages/fcl-hash/src/fprsa.pas


fcl-hash: started RSASSA_PSS_Verify
Commit consists out of
  • M packages/fcl-hash/src/fprsa.pas


* Remove debug define
Commit consists out of
  • M packages/fcl-hash/src/fptlsbigint.pas


fcl-hash: less hints and disable range checking for bigint
Commit consists out of
  • M packages/fcl-base/src/basenenc.pp
  • M packages/fcl-hash/src/fphashutils.pp
  • M packages/fcl-hash/src/fptlsbigint.pas


fcl-hash: fixed fptlsbigint on i386
Commit consists out of
  • M packages/fcl-hash/src/fprsa.pas
  • M packages/fcl-hash/src/fptlsbigint.pas


* Do not make assumptions about string encoding
Commit consists out of
  • M packages/fcl-base/src/basenenc.pp
  • M packages/fcl-hash/src/fpasn.pp
  • M packages/fcl-hash/src/fppem.pp


* PChar -> PAnsiChar
Commit consists out of
  • M packages/hash/examples/crctest.pas
  • M packages/hash/examples/hsha1.pp
  • M packages/hash/examples/md5performancetest.pas
  • M packages/hash/examples/mdtest.pas
  • M packages/hash/examples/sha1performancetest.pas
  • M packages/hash/examples/sha1test.pp
  • M packages/hash/src/crc.pas
  • M packages/hash/src/hmac.pp
  • M packages/hash/src/md5.pp
  • M packages/hash/src/ntlm.pas
  • M packages/hash/src/sha1.pp
  • M packages/hash/src/unixcrypt.pas
  • M packages/hash/src/uuid.pas
  • M packages/hash/tests/testhash.pp


* PChar -> PAnsiChar
Commit consists out of
  • M packages/fcl-hash/src/fpasn.pp
  • M packages/fcl-hash/src/fphashutils.pp
  • M packages/fcl-hash/src/fppem.pp
  • M packages/fcl-hash/src/fprsa.pas
  • M packages/fcl-hash/src/fptlsbigint.pas
  • M packages/fcl-hash/src/onetimepass.pp
  • M packages/fcl-hash/tests/testhash.lpi
  • M packages/fcl-hash/tests/testhash.pp
  • M packages/fcl-hash/tests/utestpem.pp
  • M packages/fcl-hash/tests/utestsha512.pp


* Dotted filenames for package fcl-hash
Commit consists out of
  • A packages/fcl-hash/namespaced/System.Hash.Asn.pp
  • A packages/fcl-hash/namespaced/System.Hash.Ecc.pp
  • A packages/fcl-hash/namespaced/System.Hash.Ecdsa.pp
  • A packages/fcl-hash/namespaced/System.Hash.Onetimepass.pp
  • A packages/fcl-hash/namespaced/System.Hash.Pem.pp
  • A packages/fcl-hash/namespaced/System.Hash.Rsa.pas
  • A packages/fcl-hash/namespaced/System.Hash.Sha256.pp
  • A packages/fcl-hash/namespaced/System.Hash.Sha512.pp
  • A packages/fcl-hash/namespaced/System.Hash.Tlsbigint.pas
  • A packages/fcl-hash/namespaced/System.Hash.Utils.pp
  • A packages/fcl-hash/namespaces.lst
  • M packages/fcl-hash/src/fpasn.pp
  • M packages/fcl-hash/src/fpecc.pp
  • M packages/fcl-hash/src/fpecdsa.pp
  • M packages/fcl-hash/src/fphashutils.pp
  • M packages/fcl-hash/src/fppem.pp
  • M packages/fcl-hash/src/fprsa.pas
  • M packages/fcl-hash/src/fpsha256.pp
  • M packages/fcl-hash/src/fpsha512.pp
  • M packages/fcl-hash/src/fptlsbigint.pas
  • M packages/fcl-hash/src/onetimepass.pp


* Dotted filenames for package hash
Commit consists out of
  • A packages/hash/namespaced/System.Hash.Crc.pas
  • A packages/hash/namespaced/System.Hash.Hmac.pp
  • A packages/hash/namespaced/System.Hash.Md5.pp
  • A packages/hash/namespaced/System.Hash.Ntlm.pas
  • A packages/hash/namespaced/System.Hash.Sha1.pp
  • A packages/hash/namespaced/System.Hash.Unixcrypt.pas
  • A packages/hash/namespaced/System.Hash.Uuid.pas
  • A packages/hash/namespaces.lst
  • M packages/hash/src/crc.pas
  • M packages/hash/src/hmac.pp
  • M packages/hash/src/md5.pp
  • M packages/hash/src/ntlm.pas
  • M packages/hash/src/sha1.pp
  • M packages/hash/src/unixcrypt.pas
  • M packages/hash/src/uuid.pas


fcl-hash: fixed start without params, show config filename
Commit consists out of
  • M packages/fcl-hash/examples/.gitignore
  • M packages/fcl-hash/examples/authenticator.lpi
  • M packages/fcl-hash/examples/authenticator.pp


fcl-hash: fixed start without params, show config filename
Commit consists out of
  • M packages/fcl-hash/examples/authenticator.lpi


fcl-hash: fixed HOTPCalculateToken on non utf8 platform
Commit consists out of
  • M packages/fcl-hash/src/onetimepass.pp


* Small optimization
Commit consists out of
  • M packages/fcl-hash/src/fpsha256.pp
  • M packages/fcl-hash/src/fpsha512.pp


* Some small optimizations. Fix issue gitlab 0040387
Commit consists out of
  • M packages/fcl-hash/src/fpsha256.pp
  • M packages/fcl-hash/src/fpsha512.pp


* Initialize result in StingToHex. Fixes issue gitlab 0040388
Commit consists out of
  • M packages/fcl-hash/src/fphashutils.pp


Unroll SHA1Transform.
Commit consists out of
  • M packages/hash/src/sha1.pp


Better (and probably more correct regarding stack usage) i386 version of SHA1Transform.
Commit consists out of
  • M packages/hash/src/sha1.pp
  • M packages/hash/src/sha1i386.inc


* Packages: x86_64 assembly version of SHA1Transform added to hash package
Commit consists out of
  • M packages/hash/src/sha1.pp
  • A packages/hash/src/sha1x64_sysv.inc
  • A packages/hash/src/sha1x64_win.inc


Remove “original version” of MD5Transform.
Commit consists out of
  • M packages/hash/src/md5.pp


MD5Transform for i386 without a stack frame and with less pushes.
Commit consists out of
  • M packages/hash/src/md5i386.inc


Faster CRC-128.
Commit consists out of
  • M packages/hash/examples/crctest.pas
  • M packages/hash/src/crc.pas


* prepared test to be used as regression test
Commit consists out of
  • M packages/hash/examples/crctest.pas


* re-enabled fixed assembler code
Commit consists out of
  • M packages/hash/src/sha1.pp


Improve i386 SHA1Transform further: remove some (14) reads, and use MOVBE if suddenly available.
Commit consists out of
  • M packages/hash/src/sha1i386.inc


* use break instead of classically breaking out of the loop
* fixes gitlab 0040435
Commit consists out of
  • M packages/fcl-hash/src/fpsha512.pp

conflict, no prio, cleanup only



* Packages: x86_64 assembly language version of MD5Transform added to hash package
Commit consists out of
  • M packages/hash/src/md5.pp
  • A packages/hash/src/md5x64_sysv.inc
  • A packages/hash/src/md5x64_win.inc


* md5performancetest now gives better granularity on the elapsed time
Commit consists out of
  • M packages/hash/examples/md5performancetest.pas


* Packages: BMI1 version of MD5Transform for x86_64
Commit consists out of
  • M packages/hash/src/md5x64_sysv.inc
  • M packages/hash/src/md5x64_win.inc


* Disable debug info, patch by MichaelW. Fixes issue gitlab 0040466
Commit consists out of
  • M packages/fcl-hash/src/fpasn.pp


* Fix debug statement
Commit consists out of
  • M packages/fcl-hash/src/fppem.pp


* fix BMI1 version of SysV MD5Transform
Commit consists out of
  • M packages/hash/src/md5x64_sysv.inc


* compilation on non-x86 targets fixed
Commit consists out of
  • M packages/hash/src/md5.pp


* Patch from Rika to enable assembler version of MD5 on i386-darwin. Fixes issue gitlab 0040470
Commit consists out of
  • M packages/hash/fpmake.pp
  • M packages/hash/src/md5.pp


* Packages: i386 BMI1 implementation of MD5 hash
Commit consists out of
  • M packages/hash/src/md5i386.inc


* Packages: ARM assembly language version of MD5Transform added to hash package
Commit consists out of
  • M packages/hash/src/md5.pp
  • A packages/hash/src/md5arm.inc


* clean up strange extra char
Commit consists out of
  • M packages/hash/src/sha1.pp


* typo fixed
Commit consists out of
  • M packages/hash/src/sha1.pp


* Packages: Fixed assembler error in Hash package on x86_64 when external assembler is used
Commit consists out of
  • M packages/hash/src/sha1.pp


* FNV hash, needed for system.hash
Commit consists out of
  • M packages/hash/fpmake.pp
  • A packages/hash/src/fnvhash.pp


* Dotted version of fnvhash.pp
Commit consists out of
  • A packages/hash/namespaced/System.Hash.Fnv.pp
  • M packages/hash/namespaces.lst
  • M packages/hash/src/fnvhash.pp


* Add SHA224 hash
Commit consists out of
  • M packages/fcl-hash/src/fpsha256.pp


* Support PKCS#8 format for RSA private key, add demos
Commit consists out of
  • M packages/fcl-hash/examples/demosha256.pp
  • A packages/fcl-hash/examples/dumppem.lpi
  • A packages/fcl-hash/examples/dumppem.lpr
  • A packages/fcl-hash/examples/extractrsa.lpi
  • A packages/fcl-hash/examples/extractrsa.lpr
  • M packages/fcl-hash/src/fpasn.pp
  • M packages/fcl-hash/src/fprsa.pas


* Fix compilation of example. Fixes issue gitlab 0040715
Commit consists out of
  • M packages/fcl-hash/examples/demosha256.pp


* example does not need cwstring unit
Commit consists out of
  • M packages/hash/examples/mdtest.pas


Fixed infinite recursion in `ASNFetchOID` in fpasn.pp
Commit consists out of
  • M packages/fcl-hash/src/fpasn.pp


Add System.UMul64x64_128.
Commit consists out of
  • M packages/fcl-hash/src/fpecc.pp
  • M rtl/i386/i386.inc
  • M rtl/inc/generic.inc
  • M rtl/inc/softfpu.pp
  • M rtl/inc/system.inc
  • M rtl/inc/systemh.inc
  • M rtl/x86_64/x86_64.inc


* IN case of IO error, MD5File will return an empty digest. Fixes issue gitlab 0041194
Commit consists out of
  • M packages/hash/src/md5.pp


* don't use arm assembler md5 implementation of thumb code is generated
Commit consists out of
  • M packages/hash/src/md5.pp


Sha1 asm version using x86 SHA instructions set.
Commit consists out of
  • M packages/hash/src/sha1.pp
  • M packages/hash/src/sha1i386.inc
  • M packages/hash/src/sha1x64_sysv.inc
  • M packages/hash/src/sha1x64_win.inc
  • A packages/hash/src/sha1x86.inc


Cosmetic update for sha1performancetest.
Commit consists out of
  • M packages/hash/examples/sha1performancetest.pas


Asm sha1 comply with win64 ABI.
Commit consists out of
  • M packages/hash/src/sha1x86.inc


Write sha1 of one million "a" symbols.
Commit consists out of
  • M packages/hash/examples/sha1performancetest.pas


Sha512 speedup ~10% (only for 64 bit CPU).
Commit consists out of
  • M packages/fcl-hash/src/fpsha512.pp


Sha256 speedup ~15%.
Commit consists out of
  • M packages/fcl-hash/src/fpsha256.pp


Calculate sha256 using dedicated x86 SHA instruction set.
Commit consists out of
  • M packages/fcl-hash/src/fpsha256.pp
  • A packages/fcl-hash/src/sha256x86.inc


Sha256 performance test.
Commit consists out of
  • A packages/fcl-hash/examples/sha256performancetest.pas


Fix namespace unit case.
Commit consists out of
  • M packages/hash/src/sha1.pp


* Fix compilation using namespaces
Commit consists out of
  • M packages/fcl-hash/src/fpsha256.pp


Fix line ending in file packages/hash/src/sha1x86.inc
Commit consists out of
  • M packages/hash/src/sha1x86.inc


Fix provided by Runewalsh to fix PIC error for i386 code inside SHA1Transform_Sha1Asm
Commit consists out of
  • M packages/hash/src/sha1x86.inc


Disable assembly code in hash sha1 and fcl-hash fpsha256 units if -dOLD_ASSEMBLER compiler option is used
Commit consists out of
  • M packages/fcl-hash/src/fpsha256.pp
  • M packages/hash/src/sha1.pp


* Small optimization by LagProgramming. Fixes issue gitlab 0040710
Commit consists out of
  • M packages/fcl-hash/src/fptlsbigint.pas


Correct CPU definition.
Commit consists out of
  • M packages/hash/src/sha1.pp


* Use specialized exception. Continuation of issue gitlab 0041654
Commit consists out of
  • M packages/fcl-hash/src/fpasn.pp
  • M packages/fcl-hash/src/fpecc.pp
  • M packages/fcl-hash/src/fppem.pp
  • M packages/fcl-hash/src/fprsa.pas
  • M packages/fcl-hash/src/fptlsbigint.pas


* Fix missing unit
Commit consists out of
  • M packages/fcl-hash/src/fptlsbigint.pas

(inactive) Revisions in this set fb6867963fcc3e2e1c7a9e4e5b26d1dc4c1723dc,92978caa2f0b1bf84a1c49b20398f721aeabc76c,d3000c617448042b67ed6984a81e77946a8ece1f,2391d317bce0425c6e553e551572e05246d46f81,4d5d1c8e10b295b6b428909d5fb37f9900d3cc9e,86af4b8cd84bcd4dcd02dab42189fba7dc5d789e,ca9ea2be6134ac1e4a571fc33fd248aaffaafdd7,b8a8068dce424f75a4f5d2ff43c09151be24934e,c43579a3254627bf53a17211597ed72670e6832f,606f27563e4237e986ad8caf9ca57005f2138e89,67905957cb7f433c153ca53146a5910dbdacff22,864b2ad3f30ffc573794d88bfef99fe6e7294c94


* write execution time more precisely
Commit consists out of
  • M packages/hash/examples/sha1performancetest.pas


* Add notice that work by Wolfgang Erhardt was used
Commit consists out of
  • M packages/fcl-hash/src/fpecc.pp
  • M packages/fcl-hash/src/fphashutils.pp


* Moved comment to top of file for better visibility
Commit consists out of
  • M packages/fcl-hash/src/fpecc.pp


* Sample to demonstrate generating/showing/checking a TOTP
Commit consists out of
  • A packages/fcl-hash/examples/gentotp.pp


* Demo authenticator app
Commit consists out of
  • A packages/fcl-hash/examples/authenticator.lpi
  • A packages/fcl-hash/examples/authenticator.pp


fcl-hash: added HexStrToString
Commit consists out of
  • M packages/fcl-hash/src/fphashutils.pp


fcl-hash: added ASNFetch
Commit consists out of
  • M packages/fcl-hash/src/fpasn.pp


fcl-hash: added fprsa
Commit consists out of
  • M packages/fcl-hash/fpmake.pp
  • A packages/fcl-hash/src/fprsa.pas
  • A packages/fcl-hash/src/fptlsbigint.pas


fcl-hash: asn check boundary, added rsa private/public key parse functions
Commit consists out of
  • M packages/fcl-hash/src/fpasn.pp
  • M packages/fcl-hash/src/fphashutils.pp
  • M packages/fcl-hash/src/fppem.pp
  • M packages/fcl-hash/src/fprsa.pas


fcl-hash: fixed ASNParse_GetIntBytes for ASNSize<8
Commit consists out of
  • M packages/fcl-hash/src/fpasn.pp


fcl-hash: fixed HexStrToBytes
Commit consists out of
  • M packages/fcl-hash/src/fphashutils.pp


fcl-hash: fixed freeing TBigIntContext.BIRadix and migrated to mode objfpc
Commit consists out of
  • M packages/fcl-hash/src/fppem.pp
  • M packages/fcl-hash/src/fprsa.pas
  • M packages/fcl-hash/src/fptlsbigint.pas