Making “Good” Encryption Algorithms

7
Making “Good” Making “Good” Encryption Algorithms Encryption Algorithms Substitution algorithms “hide” Substitution algorithms “hide” the plaintext and dissipate the plaintext and dissipate high letter frequencies high letter frequencies Transposition algorithms Transposition algorithms scramble text scramble text Many “good” algorithms combine Many “good” algorithms combine both techniques both techniques

description

Making “Good” Encryption Algorithms. Substitution algorithms “hide” the plaintext and dissipate high letter frequencies Transposition algorithms scramble text Many “good” algorithms combine both techniques. Shannon’s Characteristics of “Good” Ciphers. - PowerPoint PPT Presentation

Transcript of Making “Good” Encryption Algorithms

Page 1: Making “Good” Encryption Algorithms

Making “Good” Encryption Making “Good” Encryption AlgorithmsAlgorithms

Substitution algorithms “hide” the Substitution algorithms “hide” the plaintext and dissipate high letter plaintext and dissipate high letter frequenciesfrequencies

Transposition algorithms scramble Transposition algorithms scramble texttext

Many “good” algorithms combine Many “good” algorithms combine both techniquesboth techniques

Page 2: Making “Good” Encryption Algorithms

Shannon’s Characteristics of Shannon’s Characteristics of “Good” Ciphers“Good” Ciphers

Amount of secrecy needed should Amount of secrecy needed should determine the amount of labour determine the amount of labour appropriate for encryption/decryption.appropriate for encryption/decryption.

Set of keys and enciphering algorithm Set of keys and enciphering algorithm should be free from complexity.should be free from complexity.

Implementation should be simpleImplementation should be simple Errors in ciphering should not propagate.Errors in ciphering should not propagate. Size of ciphertext should be no larger than Size of ciphertext should be no larger than

the size of the plaintextthe size of the plaintext

Page 3: Making “Good” Encryption Algorithms

Properties of “Trustworthy” Properties of “Trustworthy” Encryption SystemsEncryption Systems

Based on sound mathematicsBased on sound mathematics Been analyzed by competent experts Been analyzed by competent experts

and found to be soundand found to be sound Stood the “test of time”Stood the “test of time”

Three Examples:Three Examples:• DES (data encryption standard)DES (data encryption standard)• RSA (Rivest-Shamir-Adelman)RSA (Rivest-Shamir-Adelman)• AES (Advanced Encryption Standard)AES (Advanced Encryption Standard)

Page 4: Making “Good” Encryption Algorithms

Symmetric and Asymmetric Symmetric and Asymmetric Encryption SystemsEncryption Systems

Symmetric requires one “secret” key that Symmetric requires one “secret” key that is used for encryption AND decryption (e.g. is used for encryption AND decryption (e.g. Caesar cipher might use a “key” of 3 to Caesar cipher might use a “key” of 3 to indicate shift by 3)indicate shift by 3)

As long as key remains secret, As long as key remains secret, authenticationauthentication is provided is provided

Problem is key distribution; if there are n Problem is key distribution; if there are n users, we need n * (n-1)/2 unique keysusers, we need n * (n-1)/2 unique keys

Page 5: Making “Good” Encryption Algorithms

Symmetric and Asymmetric Symmetric and Asymmetric Encryption SystemsEncryption Systems

Asymmetric requires two keys one of Asymmetric requires two keys one of which is a “public key”which is a “public key”

The public key is used for encryption The public key is used for encryption and the “private” key is used for and the “private” key is used for decryptiondecryption

If there are n users, there are n If there are n users, there are n public keys that everyone knows and public keys that everyone knows and n private keys known only to the usern private keys known only to the user

Page 6: Making “Good” Encryption Algorithms

Stream and Block CiphersStream and Block Ciphers

Stream ciphers – convert one symbol Stream ciphers – convert one symbol of plaintext immediately into a of plaintext immediately into a symbol of ciphertextsymbol of ciphertext

Transformation depends on the Transformation depends on the plaintext symbol, the key, and the plaintext symbol, the key, and the algorithmalgorithm

Error can affect all text after the Error can affect all text after the errorerror

Page 7: Making “Good” Encryption Algorithms

Stream and Block CiphersStream and Block Ciphers Block cipher encrypts a Block cipher encrypts a groupgroup of plaintext of plaintext

symbols as symbols as oneone block (e.g. columnar block (e.g. columnar transposition)transposition)

StreamStream BlockBlock

AdvantagesAdvantages Speed of Speed of transformationtransformationLow error propagationLow error propagation

High diffusionHigh diffusionImmunity to insertation Immunity to insertation of symbolsof symbols

disadvantagesdisadvantages Low diffusionLow diffusionSusceptibility to Susceptibility to malicious insertations malicious insertations and modificationsand modifications

Slowness of encryptionSlowness of encryptionError propagationError propagation