WHIRLPOOL

It is a function of hash designed by Vincent Rijmen [1] and Paulo S. L. M. Barreto [2]. The hash has been recommended by the NESSIE [3] project and has been adopted by the International Organization for Standardization (ISO) and the International Electrotechnical Commission (IEC) as part of the international standard ISO/IEC 10118-3.

WHIRLPOOL is a Miyaguchi-Preneel construction [4] based in a modification of the Advanced Encryption Standard (AES)[5]. Giving a message of a smaller size of 2 256 bytes, returns a hash of 512 bytes.

The WHIRLPOOL algorithm has had two revisions since the original specification (year 2000). In the first revision, in 2001, the S-Box aleatory generated with good cryptographic properties was changed to one whose properties were improved and was easier to implement in hardware. The second revision, in 2003, the difusion array was changed. The crypt.whirlpool function of Axional Studio includes until the second revision of the algorithm.

References

  1. Vincent Rijmen (Lovaina, Belgium, 16 October 1970), cryptographer designer of the Advanced Encryption Standard.
  2. Paulo S. L. M. Barreto (Salvador, Bahía, Brazil, 19 Novemnber 1965), cryptographer co-designer of the Whirlpool funtion.
  3. NESSIE (New European Schemes for Signatures, Integrity and Encryption), european project of research and developping of data encryption algorithms.
  4. Miyaguchi-Preneel: Mathematical function of compression and text encryption.
  5. Advanced Encryption Standard (AES) also knowed as Rijndael, is a encryption scheme by blocks adopted as a standard of encryption the government of the United States.

1 crypt.whirlpool

<crypt.whirlpool>
    <cadena /> !
</crypt.whirlpool>

Exceptions

Requires 1 argument

The entry parameter has not been specified.

Example

In this example the data-string is empty unstring, for example the length of the string is zero.

Copy
<xsql-script name='crypt.whirlpool'>
	<body>
		<println><crypt.whirlpool><string/></crypt.whirlpool></println>
	</body>
</xsql-script>
Example

In this example, the data-string consist in a single-byte, it means the coded version in ASCII of the letter 'a'.

Copy
<xsql-script name='crypt.whirlpool'>
	<body>
		<println><crypt.whirlpool><string>a</string></crypt.whirlpool></println>
	</body>	            


</xsql-script>
Example

In this example, the data-string i a string of three bytes that consist in the coded version in ASCII of 'abc'.

Copy
<xsql-script name='crypt.whirlpool'>
	<body>	            
		<println><crypt.whirlpool><string>abc</string></crypt.whirlpool></println>
	</body>	            


</xsql-script>
Example

In this example, the data-string is a string of 14 bytes that consist in the coded version in ASCII of 'message digest'.

Copy
<xsql-script name='crypt.whirlpool'>
	<body>	            
		<println><crypt.whirlpool><string>message digest</string></crypt.whirlpool></println>
	</body>	            


</xsql-script>
Example

In this example, the data-string is a string of 26 bytes that consist in the coded version in ASCII of 'abcdefghijklmnopqrstuvwxyz'.

Copy
<xsql-script name='crypt.whirlpool'>
	<body>	            
		<println><crypt.whirlpool><string>abcdefghijklmnopqrstuvwxyz</string></crypt.whirlpool></println>
	</body>	            


</xsql-script>
Example

In this example, the data-string is a string of 62 bytes that consist in the coded version in ASCII of 'ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz0123456789'.

Copy
<xsql-script name='crypt.whirlpool'>
	<body>	            
		<println><crypt.whirlpool><string>ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz0123456789</string></crypt.whirlpool></println>
	</body>	            


</xsql-script>
Example

In this example, the data-string is a string of 80 bytes that consist in the coded version in ASCII of eight repetitions of '1234567890'.

Copy
<xsql-script name='crypt.whirlpool'>
	<body>	            
		<println><crypt.whirlpool><string>12345678901234567890123456789012345678901234567890123456789012345678901234567890</string></crypt.whirlpool></println>
	</body>	            


</xsql-script>
Example

In this example, the data-string is a string of 32 bytes that consist in the coded version in ASCII of 'abcdbcdecdefdefgefghfghighijhijk'.

Copy
<xsql-script name='crypt.whirlpool'>
	<body>	            
		<println><crypt.whirlpool><string>abcdbcdecdefdefgefghfghighijhijk</string></crypt.whirlpool></println>
	</body>	            


</xsql-script>