DLD addLibrary: 'libnettle.so.4'. NettleSymmetricCipher subclass: NettleAes [ | decrypt | aes_set_encrypt_key: length key: key [ ] aes_set_decrypt_key: length key: key [ ] NettleAes class >> aes_invert_key: ctx src: src [ ] nettle_encrypt: length dst: dst src: src [ ] nettle_decrypt: length dst: dst src: src [ ] set_encrypt_key: key [ self aes_set_encrypt_key: (key size) key: key ] set_decrypt_key: key [ self aes_set_decrypt_key: (key size) key: key ] encrypt: data [ | size result | size := data size. result := ByteArray new: size. self nettle_encrypt: size dst: result src: data. ^result ] decrypt: data [ | size result | size := data size. result := ByteArray new: size. self nettle_decrypt: size dst: result src: data. ^result ] ]