SkillAgentSearch skills...

AES

ABAP Utilities for AES/Rijndael encryption, decryption

Install / Use

/learn @Sumu-Ning/AES
About this skill

Quality Score

0/100

Supported Platforms

Universal

README

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 use PKCS #7, No Padding and PKCS #5 do not work well with AES, unless you know clearly what they are doing.)

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.
View on GitHub
GitHub Stars88
CategoryDevelopment
Updated4mo ago
Forks23

Languages

ABAP

Security Score

92/100

Audited on Nov 18, 2025

No findings