RSP Software - Mon Apr 19 09:58:13 2004

RSP Checksum OCX 2.6.0

ActiveX OCX to compute very fast the checksum of 
strings or files using RSP32 , Adler32 , CRC32 , MD5 , SHA-1 
, SHA-256 and MD5_32

What is new in the version 2.6.0 (19/Apr/2004 09:15) : 
Added a new replacement to Adler32 , the RSP32 is as fast
as Adler32 but with several more levels of security , it can
be used to replace also CRC32 , notice that this checksum can
be modified in future releases , we are yet researching in order
to generate a more robut checksum code

What is new in the version 2.5.0 (18/Apr/2004 09:31) : 
Added a 32 bit version of MD5 to be a replacement to Adler32
and possible CRC32 also , since it can provide more security ,
the major problem is Adler32 that is just too insecure to be
used to check strings or files ,  if you really need 32 bit 
only verification the MD5 32 is the best solution

What is new in the version 2.0.0 (29/Mar/2004 16:49) : 
Added new multithread function to generate checksums of files ,
modified the internal execution to avoid possible bugs , added
pause , resume and cancel functions , added progress position ,
minor bugs fixed

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 control

- The speed execution is lightning fast

- The code is optimized for new AMD and 
Intel processors ,  check the speed execution 
against other implementations of these algorithms

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-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 the same security of the CRC32

Documentation

Documentation is available online in the homepage

Install

- To install the control just execute setup.exe and follow the instructions
- To uninstall the control , search for the package in the add/remove applications
in the controle panel , and select remove , it will remove the control
from the system


Homepage
http://rspsoftware.bighost.com.br
http://www.geocities.com/rspsoftware1/

Homepage of the control
http://rspsoftware.bighost.com.br/rspchecksum.htm
http://www.geocities.com/rspsoftware1/rspchecksum.htm

Email 
info@rspsoftware.bighost.com.br
rspsoftware1@yahoo.com

Phone
#55 41 3276 7258

Thanks for using our software

RSP Software 1996-2006