Data Security and Authentication is achieved, primarily, through cryptography. Cryptography generally refers to encryption, which is the process of manipulating ordinary data into unintelligible gibberish, ciphertext. Alternatively, decryption transforms unintelligible ciphertext back into plaintext. Ciphers, such as AES or 3DES, contain a pair of algorithms which create the data encryption and the decryption. A cipher is controlled both by the algorithm and a key, which can be of varying lengths. 

A cryptographic hash function is a deterministic procedure that takes an arbitrary block of data and returns a fixed-size bit string. The data to be encoded is often called the "message", and the hash value is sometimes called the message digest. Cryptographic hash functions have many information security applications, notably in digital signatures, message authentication codes (MACs), and other forms of authentication. They can also be used as ordinary hash functions, to index data in hash tables; as fingerprints, to detect duplicate data or uniquely identify files; or as checksums to detect accidental data corruption. 

Example of Data Security and Authentication:
The Advanced Encryption Security (AES) is a block cipher adopted as an encryption standard by the U.S. government. AES, like many other ciphers, uses a fixed block size and uses a key size of 128, 192, or 256 bits. Concurrent EDA has created cores for each key size variant and algorithm function.

Concurrent EDA has the capability to rapidly create data security and authentication cores that can process data at 25 billion bits per second. The following are completed cores that implement data security and authentication and illustrate the types of cores that Concurrent EDA can create using our automation tools.