Supported Cryptography Algorithms
Uniface supports common cryptographic algorithms for encryption. These include hash values, HMAC codes, block ciphers, RSA, and DSA.
Types of Cryptography Algorithms
Cryptography algorithms use a key to encrypt and decrypt data.
- In symmetric-key cryptography, both the sender and receiver share the same key. Symmetric key ciphers are often implemented as block ciphers, which encrypt input in blocks of plaintext.
- In asymmetric-key cryptography, two separate keys are generated by the same large random number. One key can be made public (public key) and is used to encrypt data or verify a signature. The other key should be kept private and is used to decrypt the data or sign a signature. This allows anyone with the public key to encrypt data and send it safely to the owner of the private key, who can decrypt it.
An extra layer of security may be added by using cryptographic hash functions in combination with other cryptographic algorithms.
- Cryptographic hash functions take a message of any length as input, and output a short, fixed length hash. Ideally, no two messages produce the same hash. They can be used to ensure data integrity, and to create hash message authentication codes (HMACs).
- Message authentication codes (MACs) are similar to cryptographic hash functions, but a secret key can be used to authenticate the hash value.
Encrypting and Decrypting Data in ProcScript
Using $encode, you can encrypt data and sign digital signatures using your preferred algorithm prior to sending the data. You use the $decode ProcScript function to decrypt data and verify digital signatures.
The encryption algorithm you use should match the way in which you intend to use it. For example, the XML Signature Syntax and Processing standard used by SOAP specifies the DSA and RSA algorithms that can be used to encrypt SOAP messages.