One-Time Pad

One-Time Pad, or sometimes called One-Time Vernam Cipher#, is a #Substitution Cryptographic #algorithm that uses a single-use secret key for encrypting. It requires the key to be as long as the plaintext and random. Thus, guarantees an Unconditional Security# to the ciphertext. However, it does face some security concerns over secure key distribution and key generation for randomness. It is only used for low bandwidth and very high security purposes.

Links to this page
  • TAC3121 Chapter 3: Classic Ciphers
  • Substitution Cryptography
  • Stream Cipher

    However, the keystream should be of one use# to prevent the possible recovery of the plaintext. Therefore, Stream Cipher exhibits the properties where it will encrypt the data with long period with no repetitions and statistically random. Though it does rely on large key size and have a large linear complexity.

  • Randomness

    There are many use cases in Cryptography# relies on random numbers such as Nonce# in authentication protocols, session keys, public key generation, and keystream for One-Time Pad.

  • Output Feedback (OFB)

    Although the bit errors will not propagate throughout the encryption scheme, it is more vulnerable to message stream Modification compare to Cipher Feedback (CFB). It is considered to be a variation of One-Time Pad#, therefore the same sequence (subkey and initialisation vector) should be thrown away once used. Furthermore, the sender and receiver need to be remained in sync.

  • Counter (CTR)

    Like Output Feedback (OFB), it is a variation of One-Time Pad# which the key and counter value should never be reused on different plaintext block. Otherwise, its security is on par to other modes of operation. CTR is a rather efficient mode of operation since it can do parallel encryptions in #hardware or #software, preprocess in advance of need, and good for high speed links with high bandwidth. Random access to encrypted data blocks is possible. Since the data blocks are rather independent of each other, it is possible to do parallel encryption no plaintexts and decryption on ciphertexts (just XOR with the corresponding encrypted counter) without worrying the order.

#cryptography #algorithm