Skip to content
forked from Sumu-Ning/AES

ABAP Utilities for AES/Rijndael encryption, decryption

License

Notifications You must be signed in to change notification settings

jeremycoppey/AES

 
 

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

44 Commits
 
 
 
 
 
 
 
 
 
 

Repository files navigation

AES algorithm implementation by ABAP

ABAP Utilities for AES encryption, decryption under MIT License.

Actual Implementation is done by the more generic Rijndael way, and AES is treated as a special case.

Supporting:

  • Encryption mode: ECB, CBC, PCBC, CFB, OFB, CTR.
  • Padding standard: None, PKCS #5, PKCS #7.

Please just copy the source code file into ABAP editor (Source Code-Based mode), and activate it. Or install via abapGit.

Classes:

  • ZIF_AES_MODE: Interface for different encryption mode.
  • ZCL_AES_MODE_CBC: CBC mode.
  • ZCL_AES_MODE_CFB: CFB mode.
  • ZCL_AES_MODE_CTR: CTR mode.
  • ZCL_AES_MODE_ECB: ECB mode.
  • ZCL_AES_MODE_OFB: OFB mode.
  • ZCL_AES_MODE_PCBC: PCBC mode.
  • ZCL_BYTE_PADDING_UTILITY: Abstract class for Byte padding utilities, including factory method to get concrete class instances.
  • ZCL_PADDING_UTILITY_NONE: No padding.
  • ZCL_PADDING_UTILITY_PKCS_5: Padding using PKCS #5.
  • ZCL_PADDING_UTILITY_PKCS_7: Padding using PKCS #7.
  • ZCL_RIJNDAEL_UTILITY: implementation of Rijndael, encrypt and decrypt using xstring.
  • ZCL_AES_UTILITY: AES wrapper on ZCL_RIJNDAEL_UTILITY, just need to provide key and data.
  • ZCL_AES_UTILITY_TEST:
    • Testing cases of ZCL_AES_UTILITY, including encryption mode ECB, CBC, CFB, OFB, CTR, Testing of PCBC is not included yet.
    • Testing Data is from http://csrc.nist.gov/publications/nistpubs/800-38a/sp800-38a.pdf
    • Testing cases of No padding and PKCS #7 padding, but only in ECB, CBC and CTR mode.
    • Testing cases of No padding and PKCS #5 padding, but only in CBC mode.

About

ABAP Utilities for AES/Rijndael encryption, decryption

Resources

License

Stars

Watchers

Forks

Releases

No releases published

Packages

No packages published

Languages

  • ABAP 100.0%