Home
Name Modified Size InfoDownloads / Week
readme.txt 2024-03-18 10.9 kB
juliete_rsp_checksum_dll_3.2.5 build_00231.7z 2024-03-18 1.7 MB
juliete_rsp_checksum_dll_3.2.2 build_00228.7z 2024-03-06 1.7 MB
juliete_rsp_checksum_dll_3.2.0 build_00226.7z 2024-03-02 1.6 MB
juliete_rsp_checksum_dll_2.6.7 build_00173.zip 2022-07-27 3.0 MB
juliete_rsp_checksum_dll_2.6.6 build_00172.zip 2022-05-15 2.8 MB
juliete_rsp_checksum_dll_2.6.5 build_00171_debug_version.zip 2021-10-05 1.5 MB
juliete_rsp_checksum_dll_1.8.5 build_00091_debug_version.zip 2021-10-05 1.5 MB
juliete_rsp_checksum_dll_1.8.4 build_00090.zip 2021-10-03 1.4 MB
juliete_rsp_checksum_dll_1.8.1_build_00087.zip 2020-12-21 1.9 MB
juliete_rsp_checksum_dll_1.5.9_build_00065.zip 2020-12-08 1.8 MB
juliete_rsp_checksum_dll_1.5.2_build_00058.zip 2020-12-07 1.9 MB
rsp_checksum_dll_1.0.0_build_0006.rar 2018-08-06 454.4 kB
rsp_checksum_dll_021_build_0005_src.7z 2011-05-20 173.2 kB
rsp_checksum_dll_020_build_0004_src.zip 2011-04-10 286.5 kB
rsp_checksum_ocx_284_alladin_special_release.zip 2010-03-10 323.2 kB
rsp_checksum_dll_011_build_0003_src.zip 2010-03-10 325.2 kB
rsp_checksum_dll_001_bild_0002_src.zip 2009-09-26 322.8 kB
Totals: 18 Items   22.6 MB 0
/* * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * *

                      #2023 X March 21 19:50 PM Brasília Time

*                                                                             *
*                   Licensa de Copia (C) <2024>  <Aurora Boreal>              *
*                                                                             *
*     Este  programa  e software livre: voce pode redistribuir isto e/ou      *
*     modificar  isto sobre os termos do  GNU Licensa Geral Pública como     25
*     publicado  pela Fundacao  de Software  Livre, tanto a versão 3  da      *
*     Licensa, ou (dependendo da sua opcao) qualquer versao posterior.        *
*                                                                             *
*     Este  programa e distribuido na  esperanca que isto vai  ser util,      *
*     mas SEM  QUALQUER GARANTIA; sem  ate mesmo a implicada garantia de      *
*     COMERCIALIZAcaO ou CABIMENTO PARA UM FIM PARTICULAR.  Veja a            *
*     Licensa Geral Publica para mais detalhes.                               *
*                                                                             *
*     Você deve ter recebido uma  cópia da LICENSA GERAL PUBLICA e a GNU      *
*     Licensa Publica Menor junto com este programa                           *
*     Se não, veja <http://www.gnu.org/licenses/>.                            *
*                                                                             *
*     Suporte: sourceforge.net github.com                                   *
*                                                                             *
* * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * *

*       Pereira: arsoftware25@gmail.com ricardo@arsoftware.net.br             *
*           xcx: arsoftware10@gmail.com   charli@arsoftware.net.br            *
         Yasmin:                          yasmin@arsoftware.net.br            *
                                              pereira1001@users.sourceforge.net
                                                                             */

BW Checksum DLL 

Win64 dll to compute very fast the checksum of 
strings or files using RSP32, Adler32, CRC32, MD5, SHA-1,
SHA-256, MD5_32, SHA-512, SHA3-512, RIPEMD160 and Keccak-512

Where are the files?
the .net framework 4.5.1 sample project is the file .\rspchecksum\files\checksum.sln
for the win64 files goto the folder .\rspchecksum\files\checksum\bin\x64\Release
and for the source code of the dll goto the folder .\rspchecksum\files\checksum\bin\x64\Release\c sourcecode

Docs: Doxygen based docs in file
-> ./rspchecksum/files/checksum/bin/doc/html/files.html <-


What is new in the version 3.2.2 build 00228
(18/march/2024)
Added a new fast checksum derived from Adler32, 
the ds32, notice that the size of the slice
generating need to be a multiple of 4 or a different
checksum will be gerated, internally it works
with chunks of 4 bytes each time and a unique
addition, despite the simplicity it is as secure
as Adler32, give it a try, it is in rsp32.c file,
minor modifications.

What is new in the version 3.2.1 build 00227
(06/march/2024)
Added code to avoid the Spin Count multi-thread
bug, even if difficult to occur, minor
modifications.

What is new in the version 3.2.0 build 00226
(02/march/2024)
Added the possibility to compile the DLL file
with Visual Studio 2022 C compiler, minor
modifications.

What is new in the version 2.6.7 build 00173
(27/july/2022)
Converted the sample project to Visual Studio
2022, minor modifications.

What is new in the version 2.6.6 build 00172
(15/may/2022)
Added docs in the C portions of the package

What is new in the version 2.6.5 build 00171
(Terça 05 Outubro 2021  07:59)
First complete release with full multi-thread
support for the checksums
If 1 thread is selected the resulting checksum
is the standard checksum, if not it will generate 
a different value for the hash, you need to know 
in what number of threads the hash was done in order 
to check it, make your tests 

What is new in the version 1.8.4 build 00090
(Sun 03/October/2021 20:19:24)
Compiled with gcc 11.2.0 and all the compiler warnings,
next release will generate the checksums using many
threads to speed up execution, it will be a must, minor
modifications.

What is new in the version 1.8.1 build 00087
(Mon 21/December/2020 10:20:57, by bhond)
Added SHA3-512 and Keccak-512, minor modifications.

What is new in the version 1.5.9 build 00065
(Tue 08/December/2020 17:10:46, by bhond)
Added RIPEMD160, minor modifications.

What is new in the version 1.5.2 build 00058
(Mon 07/December/2020 11:00:36, by Ale dad)
Added SHA-512 to the list, it is used as the
mingw64 installation system because some people
consider it secure enough, small modifications
on the sample project, recompilation with mingw
9.2.0 and ming64 10.2.0, minor modifications

What is new in the version 1.0.0 build 0006
(Mon Aug 06 16:06:09 2018, by morcego48)
Updated the sample project to .net framework
4.5.1, small modifications in the sample
project, minor modifications.

What is new in the version 0.2.1 build 0005
(20 May 2011)
First win64 release, minor modifications.

Features

- Ability to generate the checksum using 
Adler32, CRC32 , MD5 , SHA-1 and SHA-256

- The process occurs in an in-process code 
loaded in the same address space of the 
application using the dll

Description

SHA-1 Description

Secure Hash Standard.

This Standard specifies a secure hash algorithm, SHA-1, for 
computing a condensed representation of a message or a data file. 
When a message of any length < 2^64 bits is input, the SHA-1 
produces a 160-bit output called a message digest.

The SHA-1 is called secure because it is computationally 
infeasible to find a message which corresponds to a given 
message digest, or to find two different messages which 
produce the same message digest.
Any change to a message in transit will, with very high 
probability, result in a different message digest, and 
the signature will fail to verify.
SHA-1 is a technical revision of SHA (FIPS 180).

The SHA-1 is based on principles similar to those used 
by Professor Ronald L. Rivest of MIT when designing the 
MD4 message digest algorithm, and is closely modelled 
after that algorithm.


The MD5 Message-Digest Algorithm

The algorithm takes as input a message of arbitrary 
length and produces as output a 128-bit "fingerprint" 
or "message digest" of the input.
It is conjectured that it is computationally infeasible 
to produce two messages having the same message 
digest, or to produce any message having a given 
prespecified target message digest.
The MD5 algorithm is intended for digital signature 
applications, where a large file must be "compressed" 
in a secure manner before being encrypted with a 
private (secret) key under a public-key cryptosystem 
such as RSA.
The MD5 algorithm is designed to be quite fast on 
32-bit machines.
In addition, the MD5 algorithm does not require any 
large substitution tables; the algorithm can be coded 
quite compactly.
The MD5 algorithm is an extension of the MD4 
message-digest algorithm .
MD5 is slightly slower than MD4, but is more 
"conservative" in design.
MD5 was designed because it was felt that MD4 was 
perhaps being adopted for use more quickly than 
justified by the existing critical review; because 
MD4 was designed to be exceptionally fast, it is 
"at the edge" in terms of risking successful 
cryptanalytic attack.
MD5 backs off a bit, giving up a little in speed 
for a much greater likelihood of ultimate security.
It incorporates some suggestions made by various 
reviewers, and contains additional optimizations.
The MD5 algorithm is being placed in the public 
domain for review and possible adoption as a standard.


Description of SHA-512

For more information about SHA-512 visit:
https://en.wikipedia.org/wiki/SHA-2


Description of SHA-256

The SHA-256 compression function operates on a 
512-bit message block and a 256-
bit intermediate hash value.
It is essentially a 256-bit block cipher algorithm 
which encrypts the intermediate hash value using 
the message block as key.


CRC32 Description

Generate a table for a byte-wise 32-bit CRC 
calculation on the polynomial:
x^32+x^26+x^23+x^22+x^16+x^12+x^11+x^10+x^8+x^7+x^5+x^4+x^2+x+1.

Polynomials over GF(2) are represented in binary, 
one bit per coefficient,
with the lowest powers in the most significant bit. 
Then adding polynomials is just exclusive-or, and 
multiplying a polynomial by x is a right shift by 
one. 
If we call the above polynomial p, and represent a 
byte as the polynomial q, also with the lowest power 
in the most significant bit (so the byte 0xb1 is the 
polynomial x^7+x^3+x+1), then the CRC is (q*x^32) 
mod p, where a mod b means the remainder after 
dividing a by b.

This calculation is done using the shift-register 
method of multiplying and taking the remainder.  
The register is initialized to zero, and for each 
incoming bit, x^32 is added mod p to the register 
if the bit is a one (where x^32 mod p is p+x^32 = 
x^26+...+1), and the register is multiplied mod p 
by x (which is shifting right by one and adding 
x^32 mod p if the bit shifted out is a one). 
We start with the highest power (least significant 
bit) of q and repeat for all eight bits of q.

The table is simply the CRC of all possible eight 
bit values. 
This is all the information needed to generate CRC's 
on data a byte at a time for all
combinations of CRC register values and incoming 
bytes.

(This description come from the sources of Zlib 
compression )


Adler32 Description

Adler32 is a very fast checksum based on the sum of 
the high word with the low word of a dword value in 
a sequence of input bytes
The dword is sliced in two words and the sum is 
calculated and mod against 65521 , the result value 
is added to a dword value that is the return value of 
the computation
This is the fastest checksum available to win32 , and 
provide almost the same security of the CRC32
Notice that if you want to speed up it a little
you only need to remove the mod call, with the same
security

RSP32 is an enhancement over Adler32 but at least
in my machine it is slower than CRC32, then CRC32 is the best
option to 32 bits checksum security

Documentation

Documentation is available online in the homepage

Homepage
see above

Homepage of the DLL
https://sourceforge.net/projects/rspchecksum/

Email
see above

Thanks to you for using our software, it is what Feline says

BW 2021
Source: readme.txt, updated 2024-03-18