General model for (network) security

General model for (network) security

A message is to be transferred from one principal (sender) to another (recipient) across some internet service. The two must cooperate for the exchange to happen. A logical information channel is established by defining a route through the internet from the source to the destination by the principals’ cooperative user of communication protocols (e.g. TCP/IP).

All the techniques for providing security have two components:

  • A security-related transformation on information to be sent:
    • encryption of the message to make it unreadable by opponent, and/or
    • addition of a code that can be used to verify identity of sender
  • Some secret information shared by the two principals (which is hoped to be) unknown to the opponent: such as an encryption key.

Trusted Third Party (security)

A trusted third party may be needed to achieve secure transmission:

  • they are responsible for distributing secret information to the two principals while keeping it from any opponent
  • needed to arbitrate disputes between the two principals concerning authenticity of a message transmission

Link to original

This model shows 4 basic tasks:

  • design an algorithm for performing security-based transformation
  • generate secret information to be used w/ algorithm
  • develop methods for distribution of secrets
  • specify a protocol to be used by the two principals that uses the security algorithm
Link to original

General cryptographic schema

General cryptographic schema

Where and .

Link to original

  • Plaintext

    Plaintext is text that can be read and understood by anyone.

    Link to original
  • Encryption

    Encryption is a transformation that takes an input of plaintext and a key, and generates ciphertext.

    Link to original
  • Ciphertext

    Ciphertext is transformed text that needs to be “processed” to be understood.

    Link to original
  • Decryption

    Decryption is a transformation that takes an input of ciphertext and a key, and generates plaintext.

    Link to original
  • Symmetric algorithms

    Symmetric algorithms are where , or otherwise are easily derived from one another.

    Link to original
  • Asymmetric algorithms

    Asymmetric (or public key) algorithms are where we use different keys for encryption and decryption, the public key can be published without compromising the private key.

    Link to original

Cipher (short definition)

A cipher is a function (or algorithm) for performing encryption / decryption.

Link to original

Security depends only on the secrecy of the key and not on the algorithm.

Six fundamental principles for military ciphers

Six fundamental principles for military ciphers

  1. The system must be substantially, if not mathematically, undecipherable.
  2. The system must not be required to be secret and can be stolen by the enemy without causing trouble.
  3. It must be easy to communicate and retain the key without the aid of written notes, it must also be easy to change or modify the key at the discretion of the correspondents.
  4. The system ought to be compatible with telegraph communication.
  5. It must be portable, and its use must not require more than one person.
  6. Finally, given the circumstances in which such system is applied, it must be easy to use and must neither stress the mind or require the knowledge of a long series of rules.

J.-G.-H.-V.-F.-A.-A. Kerckhoffs von Nieuwenhof, “La Cryptographie Militaire” in Journal des sciences militaires, vol. IX, 1883

Link to original

Mathematical formalisation of encryption / decryption

Mathematical formalisation of encryption & decryption

  • , the alphabet, is a finite set.
  • is the message space. is a plaintext (message).
  • is the ciphertext space, whose alphabet may differ from .
  • denotes the key space of keys.
  • Each determines a bijective function from to , denoted by . is the encryption function (or transformation). Note: we write or equivalently .
  • For each , denotes a bijection from to . is the decryption function.
  • Applying is called encryption, applying is called decryption.
Link to original

Encryption scheme

An encryption scheme (or cipher) consists of a set and a corresponding set with the property that for each there is a unique such that .

i.e.

The keys and above form a key pair, sometimes denoted by . (they can be identical in the case of a symmetric key)

Link to original

To construct an encryption scheme requires fixing a message space , a ciphertext space , and a key space , as well as encryption transformations and corresponding decryption transformations .

Example

Let and . There are bijections from to . They key space specifies these transformations.

Suppose Alice and Bob agree on transformation . To encrypt , Alice computes . Bob decrypts by reversing the arrows on the diagram for and observing that points to .

Three characteristics of cryptographic systems

  1. Type of operations used to transform plaintext into ciphertext All encryption algorithms are based on two general principles:

    • Substitution (Cipher)

      Substitution: each element in plaintext is mapped into another

      Link to original
    • Transposition (Cipher)

      Transposition: elements in plaintext are rearranged (some permutation is performed)

      Link to original

    All operations must be reversible. Most systems are product systems which involve multiple stages of substitutions and transpositions.

  2. Number of keys used

    • Symmetric, single-key, secret-key, or conventional encryption: both sender and receiver use the same key
    • Asymmetric, two-key, or public-key encryption: sender and receiver use different keys
  3. Way in which plaintext is processed

    • Block cipher: input is processed one block of elements at a time, producing an output block for each input block
    • Stream cipher: elements are processed continuously, producing output elements as they come in.

Types of ciphers

Block Cipher

A block cipher is an encryption scheme that breaks up the plaintext message into strings (blocks) of a fixed length and encrypts one block at a time.

  • Encryption: takes in input one block of bits of plaintext and key of bits, producing an output of one block of ciphertext of bits.
  • Decryption: takes in input one block of bits of ciphertext and a key of bits, producing an output of one block of plaintext of bits.

Link to original

Stream Cipher

A stream cipher is a XOR operation that encrypts and decrypts one bit or one byte at a time.

Link to original

Codes

Codes work on words of varying length, translation is given by a code-book.

This poses some problems such as:

  • If there is no entry for a word, you can’t say it.
  • The code-book needs to be protected and distributed.
Link to original

Symmetric-key encryption

Symmetric-key cryptography

An encryption scheme and is symmetric-key if for each associated pair it is computationally easy to determine knowing only and to determine from . In practice, . Sender and recipient share a common key.

There are two requirements for secure use of symmetric encryption:

  1. Strong encryption algorithm: at minimum, an attacker who has access to algorithm and one or more ciphertexts should be unable to decipher ciphertext. An even stronger algorithm would prevent an attacker from decrypting ciphertext or discovering the key even if they have access to the ciphertexts with the original plaintext.
  2. Sender and receiver must obtain copies of secret key in secure fashion (and keep key secure): nobody must be able to discover the key.

As such, we only need to keep the key secret.

Link to original

Symmetric Cryptosystem Model

Symmetric Cryptosystem Model

  • A source produces a message in plaintext: .
  • An encryption key of the form is generated.
  • Encryption algorithm forms ciphertext .
  • Intended receiver, who is in possession of key , is able to invert transformation .

The attacker knows the encryption () and decryption () algorithms. Observing but not having access to or , may attempt to recover or or both by generating or .

Link to original

Cryptanalysis and brute-force attacks

The typical objective of attacking an encryption system is to compromise the key in use so that all future and past messages encrypted with that key are compromised.

Cryptanalysis

Cryptanalysis: (science of) recovering the plaintext from ciphertext without the key Cryptanalysis attacks rely on the nature of the algorithm and in some cases knowledge of the general characteristics of the plaintext or even some sample plaintext-ciphertext pairs. We exploit characteristics of the algorithm to attempt to deduce a specific plaintext or to deduce the key being used.

Link to original

Brute-force attacks

Brute-force attacks are where the attacker tries every possible key on a piece of ciphertext until an intelligible translation into plaintext is obtained.

Link to original

Average time required for exhaustive key search:

Modelling attacks

Modelling attacks

We can think of the adversary as playing a game:

  • Input: whatever adversary necessarily knows from the beginning, e.g. public key, distribution of plaintexts, etc
  • Oracle: models information adversary can obtain during an attack. different kinds of information characterise different types of attacks
  • Output: whatever the adversary wants to compute, e.g. secret key, partial information on plaintext, etc. They win if they succeed.
Link to original

Possible Attacks

Type of AttackKnown to CryptanalystPlan of attack
Ciphertext Only- encryption algorithm
- ciphertext
Given
Deduce or algorithm to compute from
Known Plaintext- encryption algorithm
- ciphertext
- one or more plaintext-ciphertext pairs formed with secret key
Given
Deduce inverse key or algorithm to compute from
Chosen Plaintext- encryption algorithm
- ciphertext
- plaintext message chosen by cryptanalyst, together with corresponding ciphertext generated with secret key
Same as above but cryptanalyst may choose .
Chosen Ciphertext- encryption algorithm
- ciphertext
- ciphertext chosen by cryptanalyst, together with corresponding decrypted plaintext generated with secret key
Cryptanalyst can not only choose plaintext, but he can modify the plaintext based on encryption results.
Chosen Text- encryption algorithm
- ciphertext
- plaintext message chosen by cryptanalyst, with corresponding ciphertext generated with secret key
- ciphertext chosen by cryptanalyst, together with its corresponding decrypted plaintext generated with secret key
Cryptanalyst can choose different ciphertexts to be decrypted and gets access to the decrypted plaintext.

Building a definition of security

Building a definition of security

  1. Specify an oracle (type of attack)
  2. Define what the adversary needs to do to win the game.
  3. The system is secure under the definition, if any efficient adversary wins the game with only negligible probability.
Link to original

Standard definition of conventional encryption

The standard definition of conventional encryption works as follows:

  • There is no input data for the adversary.
  • We choose a plaintext attack of one of two kinds:
    1. When asked to encrypt message , the oracle returns encryption of under a fixed key that is chosen randomly initially.
    2. Oracle returns encryption of a randomly chosen message, totally independent of .

The idea is that in the second case, the adversary gets completely useless data, and if they cannot tell this apart from the correct encryptions, then they cannot do any damage in the real world either.

Link to original

Classification of security

Unconditional Security

Unconditional Security

In unconditional security, the system (algorithm) is secure even if attacker has unbounded computing power since the ciphertext provides insufficient information to uniquely determine the corresponding plaintext.

  • Security measured using information theory.
  • With exception of one-time pad, there’s no unconditionally secure encryption algorithm.
  • Hence, strive for algorithm that meets one or both of:
    • Cost of breaking cipher exceeds value of encrypted information.
    • Time required to break cipher exceeds useful lifetime of information. Algorithm is computationally secure if either of these two criteria met.
Link to original

Conditional Security

Conditional security

System can be broken in principle, but this requires more computing power than a realistic attacker would have.

  • Security measured using complexity theory.
Link to original

0 items under this folder.