# FreeBSD Manual Pages

```Digest::SV1(3)	      User Contributed Perl Documentation	Digest::SV1(3)

NAME
Digest::SV1 - Cryptosleazically strong message digest format

SYNOPSIS
\$sv1  = Digest::SV1->new();

\$sv1->digest
\$sv1->hexdigest
\$sv1->b64digest

DESCRIPTION
So, you chose a hashing algorithm as recommended	by the leading
security	experts	of yesteryear, it got hacked, and now some mysterious
15 year old cracker 0wns	your toaster because of	it.

Fight back!  This hash algorithm	is designed to infuriate the
Mathematicians and Cryptographers out there, who	will swear us lowly
software	engineers are missing the point	of all this digest stuff.

Put simply, if one hashing algorithm won't do the job satisfactorily,
then why	not use	several.

The main	algorithm in this module forms the authorative definition of
how the SV1 digest format is to operate.

See Digest for a	detailed description of	the Digest API.

Warning:	some of	the constructed	and artificial mathematical formulae
may have	some kind of constructed and artificial	legislation,
documentation, papers, et cetera	that some group	of people acting as a
constructed and artificial construct known as a `legal person' that
exploited the person who	came up	with the idea might maintain has some
kind of constructed and artificial power	to restrict your freedom as
recognised by some constructed and artificial social structure.	You
are strongly advised to just not	give a smeg.

FAQ
Why such	a small	hash size?
Because the reasons that a cryptographer extends the	hash size
differ from the reasons that	a software engineer does.

What's the effective hash entropy?
Dunno.  Let's say that SHA1 is 160 bits, but	has a `difficulty' of
2^50	to crack.  We're using MD5 and Haval-256 as well, and say that
they	have respective	`difficulties' of 2^32 and 2^60	as well.

Assuming that the algorithms	are diverse enough to not share	a
common flaw,	then you could safely add the exponents	of these
difficulties	to get a rough estimate	of the safety of the
algorithm.

But then, I am not a	cryptographer. The real	reason is that md5
hashes are long enough, already!  Heck, there's no sense into
lulling you into a false sense of large hash	size cryptonirvana,
when	the algorithm might be picked apart by some 8 year old prodigy
in Russia and those extra 384 bits per checksum only	added a
complexity of about 4 to a would-be attacker.

If you really want to keep your data	safe, simply don't harbour
karmic terrorists.

AUTHOR,	CREDITS
This module is nothing other than a convention.	There are more lines
of documentation	than real code.

The real	heroes are;

Gisle Aas
Excellent "Digest::base" module and related utilities, and the
Digest::MD5 implementation.	Oh, and	help with the SHA-1 interface.

Neil Winton
The original	MD5 interface author.

Peter C.	Gutmann
Co-author of	Digest::SHA1

Uwe Hollerbach
Co-author of	Digest::SHA1

Julius C. Duque
Author of Digest::Haval-256

Ron Rivest
Inventor of the MD5 and SHA1	digest formats.	 He was	working	for
RSA for the former, and our good friends the	NSA for	SHA-1.

Yuliang Zheng, Josef Pieprzyk, and Jennifer Seberry.
Designers of	the Haval-256 digest format.

Last, and in order of actual code contributed, least:

Sam Vilain, <samv@cpan.org>

perl v5.24.1			  2017-07-03			Digest::SV1(3)
```

NAME | SYNOPSIS | DESCRIPTION | FAQ | AUTHOR, CREDITS

Want to link to this manual page? Use this URL:
<https://www.freebsd.org/cgi/man.cgi?query=Digest::SV1&sektion=3&manpath=FreeBSD+12.0-RELEASE+and+Ports>