mmi@dynakrypt.com (770) 821-1614

Cryptography

Cryptography Basics/Terminology

Suppose you have data or information that you want to protect and keep private, and you want to make sure only authorized recipients can access it. In order to do this, you must change the data or information in some way that thieves, hackers or unintended recipients cannot access it. 


In cryptographic terminology, the data or information that you want to protect and keep private is called plaintext. Altering the contents of the plaintext in such a way that thieves, hackers or unintended recipients cannot access it is called encryption. The encrypted plaintext is called the ciphertext.


The process of retrieving the plaintext from the ciphertext is called decryption. The Encryption and Decryption procedures make use of a key, and a specialized mathematical coding method or cipher, such that decryption can be performed only by knowing the proper key, and what cipher or technique was used to make the information secret.

What is Cryptography?

Cryptography is the art or science of keeping communications secret. Cryptanalysis is the art of breaking ciphers, i.e. retrieving the plaintext from the ciphertext without knowing the key or cipher used. People who do cryptography are called cryptographers, and people who practice cryptanalysis are called cryptanalysts.


Cryptography deals with all aspects of secure messaging, authentication, digital signatures, electronic money, and other applications. Cryptology is the branch of mathematics that studies the mathematical foundations of cryptographic methods. Cryptographic methods rely on the secrecy of the algorithms or ciphers, the ability of the algorithm to scramble the plaintext sufficiently to resist cryptanalysis, and a secret key to protect the encrypted message in case the algorithm is discovered. All modern algorithms use a key to control encryption and decryption. Ideally, it is hoped that a message can be decrypted only with the proper key.


There are two (2) standard classes of key-based encryption algorithms, symmetric (or secret-key) and asymmetric (or public-key) algorithms. MMI has ushered in a new classification of security algorithms, where symmetric algorithms use the same key for encryption and decryption (or the decryption key is easily derived from the encryption key), and asymmetric algorithms use a different key for encryption and decryption, and the decryption key cannot be derived from the encryption key.


Symmetric algorithms can be divided into stream ciphers and block ciphers. Stream ciphers can encrypt a single bit of plaintext at a time, whereas block ciphers take a number of bits (typically 64 bits in modern ciphers), and encrypt them as a single unit.

Asymmetric ciphers (also called public-key algorithms or generally public-key cryptography) permit the encryption key to be public (it can even be published in a newspaper), allowing anyone to encrypt with the key, whereas only the proper recipient (who knows the decryption key) can decrypt the message. The encryption key is also called the public key, and the decryption key is called the private key or secret key.

Cryptographic Strength

Modern cryptographic algorithms are no longer pencil-and-paper ciphers. Strong cryptographic algorithms are designed to be executed by computers or specialized hardware devices. In most applications, cryptography is done in computer software.


Generally, symmetric algorithms are much faster to execute on a computer than asymmetric ones. In practice, they are often used together, so that a public-key algorithm is used to encrypt a randomly generated encryption key, and the random key is used to encrypt the actual message using a symmetric algorithm. This is sometimes called hybrid encryption. 


The only way to increase the cryptographic strength of an encryption process until now was to encrypt information multiple times with different keys as shown with Triple DES (TDES). This is a time prohibitive process that could be impractical if thousands of bits are required to protect information from Quantum Computers and Special Purpose Computers.  

DynaKrypt® makes it possible and practical to exceed the 256-bit key limitation associated with the Advanced Encryption Standard (AES) and other encryption systems with these limitations, without going through multiple encryptions of the entire text when utilizing conventional algorithms. Additionally, a private encryption algorithm is also used. This powerful combination of private and public algorithms makes DynaKrypt® produce encrypted text that cannot be decrypted unless the correct dynamic properties, correct super large keys, and the correct algorithms are used.

Why DynaKrypt® is Dynamic

Conventional encryption methods without MMI enhancement can be described as being static. This means that they do not change with each encryption, block of text, computer state, event, time, or have dynamic inputs. The encrypted ciphertext is only dependent on a single key of a fixed length, and has only one encryption algorithm, method, or process. In the case of AES, the key length is only 32 characters or 256 bits. There are only 256 characters in the ASCII character table that one can choose to make their keys. Hence, AES is limited to 25632 or 2256 numbers of possible keys. The ciphertext is dependent only on a key comprising 32 characters. While this is a formidable task for conventional computers to calculate all the possible keys for a 256-Bit key, it is not a challenge for Quantum computers that are being made available for purchase today.


DynaKrypt® also has the property of being irreversible. If an algorithm is reversible, an attacker or unauthorized person that uses the wrong key in the decryption process can always get back to the original ciphertext by simply encrypting the attempt with the wrong key. This process can be done automatically and repeated over and over until the right key is found. This is due to an inherent property of conventional static symmetric encryption systems which is the reversibility of encryption and decryption. It is believed that these properties of static symmetric encryption systems make them more susceptible to being cracked or broken by cryptologists/hackers using algorithmic cryptanalysis like differential cryptanalysis or T-Attack, and various forms of Power Analysis (PA): Simple (SPA), Differential (DPA), and High-Order Differential (HO-DPA).


Unlike prior art, DynaKrypt® is a parametric dynamic encryption method because it changes with each encryption, block of text, computer state or program event, and user inputs. It is parametric because it is based on Dynamic Parameters. Although it uses keys similar to a conventional static symmetric encryption system, the process of encryption-decryption is not reversible. Encryption must be done first before decryption can be attempted. Also, if the wrong keys are used on an encrypted file or encrypted information in an attempt to decrypt it, that file cannot be recovered by any known method or process. This is because dynamic parameters are required to decrypt the encrypted file. If the wrong key is used in an attempt to decrypt information, the wrong dynamic parameters will be used in the decryption process. This makes the encrypted file or information become a severely encrypted file that is unreadable and useless.