Secret key Algorithms in Cryptography

suji guna
5 min readJul 29, 2020

Cryptography is that the field concerned with linguistic and mathematical techniques for securing the information, particularly in communications. In past, cryptography was focused only with the encryption, i.e., means of remodeling information from its normal, understandable form into an unfathomable state, making it unreadable without the key. Encryption was used initially to make sure secrecy in critical information sharing, like those of spies, defense communications, and diplomats. To encrypt information user must provide the general public key of the recipient also as message to be encrypted. The generated cipher text are often sent by using an insecure channel, in order that would be very difficult to be interpreted by an attacker. At the top of the communication the recipient can decrypt the first message if provide his public key and correlated his private key.

Symmetric key algorithms

Also Known as Secret Key Cryptography, this type of algorithm uses one key both for encryption and decryption. Since one key’s used, it’s called as symmetric key cryptography. There are 5 components during a symmetric key algorithm:

  • Plaintext: this is often the first data / message that the algorithm uses as input
  • Encryption algorithm: The encryption algorithm performs various mathematical operations on this plaintext data to encrypt it.
  • Ciphertext: this is often the scrambled message that’s the results of the encryption algorithm. If intercepted by an untrusted user, it’s merely seen as garbled data.
  • Secret Key: the secret key’s also input to the encryption algorithm. The encrypted data / message is then sent to the top user, who uses an equivalent secret key to decipher the info
  • Decryption algorithm: It takes the ciphertext, the secret key, and produces the first data / message. In simple words, it runs the encryption algorithm in reverse sequence.

While being simple in theory , one among the weak points of this algorithm is that the key key too must be transmitted within the same data string. If a malicious user figures out what the key’s , the integrity of the info is lost.

Secret key cryptography algorithms typically use either block ciphers or stream ciphers.

  • In block cipher method, the plaintext is split into relatively large blocks, typically 64 or 128 bits long. Each block is then encoded separately, but an equivalent key’s wont to decrypt the info.
  • In the stream cipher method, the plaintext is partitioned into small (e.g. 1 bit) blocks. for every block of knowledge , a special key’s then generated. The encoding of every block too depends on previous blocks.

Both methods have their pros and cons, but are beyond the scope of this text .
In the field of cyber security, the symmetric key algorithms were the primary to be used.

There are several secret-key systems such as,

  • DES (and its variations): DES stands for data encryption Standard and it’s an iterative block cipher developed at IBM and defined by the U.S. government as official standard in 1977. DES block size is 64 bit long, and it use a 56 bit key (16 rounds) during encryption. it’s been estimated that a specialized computer costing 1 millions dollars requires 3.5 hours to perform an exhaustive search (brute force attack). However i can not assure this assertion in the least , as CPU speed-rates are getting more and more high (and less costly within the same time). actually keys but 128 bit are considered insecure by now. Tomorrow? Even 128 bit keys could be insecure…Triple-DES may be a variation of DES: it encrypt the plaintext 3 times. Triple-DES may be: DES-EEE3 (encrypt-encrypt-encrypt), DES-EDE3 (encrypt-decrypt-encrypt), DES-EEE2 (encrypt-encrypt-encrypt). DES-EEE3 uses 3 different secret keys during encryption. DES-EDE3 uses 3 different keys again, but within the sequence encrypt-decrypt-encrypt. DES-EDE2 is that the same of previous format but it uses 2 different keys. G-DES and DESX are other variant of DES.
  • IDEA: IDEA stands for International encoding Algorithm. it’s a 64 bit iterative block cipher with 128 bit key (8 rounds).It is considered to be immune from cryptoanalysis attacks like differential cryptoanalysis and linear cryptoanalysis. IDEA is usually considered secure. What about brute force attacks? Well, a 128 bit key means anybody of the 2¹²⁸ possible combinations could also be a possible key. So…just attempt to compute 2¹²⁸. In other words a 1 MIPS computer should work years, and you could not see the answer .
  • SAFER: SAFER stands for Secure And Fast Encryption Routine. It is a block cipher developed by Massey in 1993 for Cylink Corporation. It use a 64 bit block size.
  • RC2: RC2 stands for Ron Code or Rivest’s Cipher. It is a block cipher (64 bit) developed by Rivest for RSA Data Security. It uses a variable key size. In fact it can be made more or less secure than DES by varying the key size. It is about 2 or 3 time faster than DES.
  • RC4: RC4 is a stream cipher developed by Rivest for RSA Data Security. It is a variable key length algorithm.
  • RC5: RC5 is a block cipher developed by Rivest for RSA Data Security. It is a parameterized algorithm, in fact it has a variable block size, a variable key size, and a variable number of rounds. The block size may be 32, 64 or 128 bits long. The key size may be from 0 up to 2048 bits. The number of rounds may be from 0 to 255.
  • FEAL: FEAL stands for Fast Encipherment Algorithm. It is a block cipher developed by Shimizu and Miyaguchi. As several wake attacks were announced it should be considered insecure.
  • SKIPJACK: SKIPJACK is the algorithm contained in the CLIPPER chip. It was designed by NSA (National Secure Agency). It uses 64 bit block size and a 80 bit key. It can’t be implemented in software, but only in hardware by government-authorized manufacturers.
  • BLOWFISH: BLOWFISH is a iterative block cipher developed by Schneier.
  • SEAL: SEAL stands for Software-optimized Encryption Algorithm. It is a stream cipher developed by Rogaway and Coppersmith in 1993.

--

--

suji guna

B.Sc in Software Engineering. University of Kelaniya, SriLanka.