Rijndael encryption algorithm

VA Smalltalk is a "100% VisualAge compatible" IDE that includes the original VisualAge technology and the popular VA Assist and WidgetKit add-ons.

Moderators: Eric Clayberg, wembley, tc, Diane Engles, solveig

Rijndael encryption algorithm

Postby michael.voss@lvr.de » Wed Feb 18, 2009 2:00 am

Hi everybody!
Currently, we are looking for an implementation of the AES Rijndael encryption algorithm. Is there anything like that impemented VA (any feature) or can someone provide some hints as to how this could be implemented in Smalltalk ? Another alternative would be to wrap a c/c++-library; do you have any experience with that (i. e. wrapping an encryption/decryption library, not wrapping c/c++-code)?

Thanks
Michael
michael.voss@lvr.de
 
Posts: 2
Joined: Wed Feb 27, 2008 2:10 am

Re: Rijndael encryption algorithm

Postby jvdsandt » Wed Feb 18, 2009 6:06 am

Hello Michael,

AES encryption functionality is not part of the standard VA environment. But this functionality is part of the OpenSSL cryptography C library. This library is shipped with VA and is used for the implementation of the SSL/HTTPS features of VA.

The application SciSslOpenSSLInterface contains the code that accesses OpenSSL. Unfortunately only the functions related to SSL/HTTPS communication are wrapped in Smalltalk. If you need to access other functions like the AES related functions you have to write your own wrapper code. I have done this for the SHA1 function that is also part of OpenSSL. See the post: viewtopic.php?f=12&t=2329&p=9351&hilit=SHA1#p9118

I haven't yet figured out how to access the AES functions in OpenSSL. This seems to be a bit more complicated than the SHA1 function. If I get it working or if I find some other way to implement AES in VA Smalltalk I will let you know.

Kind regards,
Jan van de Sandt.
jvdsandt
 
Posts: 15
Joined: Sun Nov 23, 2008 8:46 am

Re: Rijndael encryption algorithm

Postby jvdsandt » Wed Feb 18, 2009 6:26 am

Hello,

In another post on this forum I read that the version of the OpenSSL libs that are shipped with VA 7.5 and VA 8.0B1 is 0.9.6g. According to the Wikipedia article about AES (link: http://en.wikipedia.org/wiki/Advanced_E ... n_Standard ) AES support was implemented in version 0.9.7 of OpenSSL. So AES support cannot be implemented using the OpenSSL version that is shipped with VA.

An extra reason to ask for an update of the OpenSSL libraries that are shipped with VA version 8 :-)

Jan van de Sandt.
jvdsandt
 
Posts: 15
Joined: Sun Nov 23, 2008 8:46 am

Re: Rijndael encryption algorithm

Postby marten » Wed Feb 18, 2009 8:45 am

jvdsandt wrote:Hello Michael,

AES encryption functionality is not part of the standard VA environment. But this functionality is part of the OpenSSL cryptography C library. This library is shipped with VA and is used for the implementation of the SSL/HTTPS features of VA.

The application SciSslOpenSSLInterface contains the code that accesses OpenSSL. Unfortunately only the functions related to SSL/HTTPS communication are wrapped in Smalltalk. If you need to access other functions like the AES related functions you have to write your own wrapper code. I have done this for the SHA1 function that is also part of OpenSSL. See the post: viewtopic.php?f=12&t=2329&p=9351&hilit=SHA1#p9118

I haven't yet figured out how to access the AES functions in OpenSSL. This seems to be a bit more complicated than the SHA1 function. If I get it working or if I find some other way to implement AES in VA Smalltalk I will let you know.

Kind regards,
Jan van de Sandt.


As already mentioned: in the 0.9.7 version are several AES functions ... should they not be usable as you have shown in an earlier posting ?

EVP_aes_128_cbc 0x10050460 0x00050460 2927 (0xb6f) libeay32.dll C:\OpenSSL\libeay32.dll Exported Function
EVP_aes_128_cfb1 0x100505e0 0x000505e0 3251 (0xcb3) libeay32.dll C:\OpenSSL\libeay32.dll Exported Function
EVP_aes_128_cfb128 0x10050470 0x00050470 3222 (0xc96) libeay32.dll C:\OpenSSL\libeay32.dll Exported Function
EVP_aes_128_cfb8 0x10050650 0x00050650 3248 (0xcb0) libeay32.dll C:\OpenSSL\libeay32.dll Exported Function
EVP_aes_128_ecb 0x10050490 0x00050490 2644 (0xa54) libeay32.dll C:\OpenSSL\libeay32.dll Exported Function
EVP_aes_128_ofb 0x10050480 0x00050480 3224 (0xc98) libeay32.dll C:\OpenSSL\libeay32.dll Exported Function
EVP_aes_192_cbc 0x100504a0 0x000504a0 3155 (0xc53) libeay32.dll C:\OpenSSL\libeay32.dll Exported Function
EVP_aes_192_cfb1 0x10050630 0x00050630 3264 (0xcc0) libeay32.dll C:\OpenSSL\libeay32.dll Exported Function
EVP_aes_192_cfb128 0x100504b0 0x000504b0 3225 (0xc99) libeay32.dll C:\OpenSSL\libeay32.dll Exported Function
EVP_aes_192_cfb8 0x100506a0 0x000506a0 3252 (0xcb4) libeay32.dll C:\OpenSSL\libeay32.dll Exported Function
EVP_aes_192_ecb 0x100504d0 0x000504d0 2862 (0xb2e) libeay32.dll C:\OpenSSL\libeay32.dll Exported Function
EVP_aes_192_ofb 0x100504c0 0x000504c0 3221 (0xc95) libeay32.dll C:\OpenSSL\libeay32.dll Exported Function
EVP_aes_256_cbc 0x100505a0 0x000505a0 2996 (0xbb4) libeay32.dll C:\OpenSSL\libeay32.dll Exported Function
EVP_aes_256_cfb1 0x10050640 0x00050640 3271 (0xcc7) libeay32.dll C:\OpenSSL\libeay32.dll Exported Function
EVP_aes_256_cfb128 0x100505b0 0x000505b0 3223 (0xc97) libeay32.dll C:\OpenSSL\libeay32.dll Exported Function
EVP_aes_256_cfb8 0x100506b0 0x000506b0 3255 (0xcb7) libeay32.dll C:\OpenSSL\libeay32.dll Exported Function
EVP_aes_256_ecb 0x100505d0 0x000505d0 2720 (0xaa0) libeay32.dll C:\OpenSSL\libeay32.dll Exported Function
EVP_aes_256_ofb 0x100505c0 0x000505c0 3220 (0xc94) libeay32.dll C:\OpenSSL\libeay32.dll Exported Function
Marten Feldtmann, Principal Smalltalk User, Private
SkypeMe callto://marten.feldtmann
marten
[|]
 
Posts: 641
Joined: Sat Oct 14, 2006 7:10 am
Location: Hamburg - Germany


Return to VA Smalltalk 7.0, 7.5 & 8.0

Who is online

Users browsing this forum: Yahoo [Bot] and 1 guest