WinBatch Tech Support Home

Database Search

If you can't find the information using the categories below, post a question over in our WinBatch Tech Support Forum.

TechHome

P6CryptAES

Can't find the information you are looking for here? Then leave a message over on our WinBatch Tech Support Forum.

P6CryptAES Extender

 Keywords: encryption  decryption 

P6CryptAES

[ http://www.wizardwrx.com/FREEBIES/P6CryptAES.html ]

The P6CryptAES WIL extender library provides complete, one stop access to the AES (Rijndael) encryption and decryption algorithms. The library is built around the implementation published by Dr. Brian Gladman, which is implemented entirely in C. Although he also provided a version of the 128 bit Rijndael algorithm in Intel Assembly, I chose not to use it, so that I could transparently support Rijndael at 192 and 256 bit cipher strengths. Whereas his functions must be called for each block of 16 bytes, the functions in this library are called once to process an entire block.

Known Issues and Limitations

Since the library processes whole files and whole blocks of text, you must have enough memory to hold up to two complete copies of the text. Encrypted text requires the number of bytes of text, plus 16 bytes, for the encrypted text. Likewise, decrypted text requires 16 fewer bytes than the encrypted text to hold the decrypted text. If text is being read from or written to a file, the memory requirement decreases to 32 bytes, plus whatever space the C run-time library allocates for file buffers. We exert no control over the allocation of buffer space; we leave that to the C run-time library.

The functions that encrypt and decrypt strings are further limited by the maximum value of an unsigned integer, which we believe to be 65,536 bytes. Allowing for trailing null characters and the encryption overhead reduces this a further 17 bytes, to 65,519 bytes. Accordingly, these functions return an error if you specify an input length greater than 65,519 bytes.

Required DLL Files

For 16-bit Intel processors Extender DLL Name.
[This platform is unsupported. There are no plans for a down-level port.]

For 32-bit Intel processors Extender DLL Name.

AddExtender("P6CryptAES.dll")

Additional Dlls required: NONE

Credits

Developer:
David Gray
WizardWrx
http://www.wizardwrx.com/

This extender provides additional capability to the Windows Interface Language by providing support for encryption and decryption of files and other data using the AES (Rijndael) algorithm.

Credit is gratefully extended to Dr. Brian Gladman for his implementation of AES (Rijndael), around which I have wrapped these C functions that make the algorithm more accessible to working programmers.

Credit is gratefully extended to Alan Kreutzer for his suggestion and illustration of passing data from a binary buffer to a WIL extender.


Article ID:   W16873
File Created: 2007:07:13:09:12:56
Last Updated: 2007:07:13:09:12:56