Cybersecurity Foundations

Cybersecurity Foundations HSR Vorlesung 1-5 PART 2: https://card2brain.ch/box/20200731_cysec_foundations_teil_2

Cybersecurity Foundations HSR Vorlesung 1-5 PART 2: https://card2brain.ch/box/20200731_cysec_foundations_teil_2


Set of flashcards Details

Flashcards 61
Language English
Category Computer Science
Level University
Created / Updated 31.07.2020 / 11.02.2025
Weblink
https://card2brain.ch/box/20200731_cybersecurity_foundations
Embed
<iframe src="https://card2brain.ch/box/20200731_cybersecurity_foundations/embed" width="780" height="150" scrolling="no" frameborder="0"></iframe>

What does AES stand for, what kind of cryptogrphy is it and what are some key data about AES

AES (Advanced Encryption Standard) is a symmetric encryption standard built around the Rijndael algorithm.

  • 128-bit block size
  • Key length of 128 , 192 or 256 bits
  • 10, 12 or 14 rounds
  • Each round: SubBytes, ShiftRows, MixColumns, Key addition

Draw the AES process

→→→ Plaintext

                   

                     XOR with key (k0, k1, k2, k3, …)

                   

             SubBytes (Confusion)

   X rounds                              

             ShiftRows (Diffusion)

                   

             MixColumns (Diffusion)

                   

←←←←←

What does each AES step do

XOR: A 128 bit Block (4Byte x 4Byte) is XOR with a part of the key, before starting round keys are created out of the «secret key», one of these round keys is used after/before each round.

Subbytes(): A funciton / lookup table, with no fixed point and no oppisite bit flap.

ShiftRows():

  • First row is not changed,
  • second is moved 1 to the left,
  • third is moved 2 to the left and
  • third is moved 3 to the left.

MixColumns: is done using a matrix multiplication. In a 128 bit block, all columns of 4 bytes are multiplied with a matrix (a Maximum Distance Separable Code is used, to have the highest possible hamming distance)

Why is a Mode of operations for block ciphers needed? 

Realistically a message with the exact size of 128-bit is very unlikely, mechanisms are needed to encrypt longer messages.

A mode of operation is the ocmbination of multiple encryptions into a protocol

How does Electronic Code Book work and what are it's disadvantages?

Each block is encrypted after another. Weak to redundant data divulging (verbreiten / enthüllen) patterns.

Is not recommended.

How does Cipher Block changing work

XOR the output of each block with the next input, is not parallelizable, is better than ECB but no perfect

How does counter mode (CTR) work

Encrypting a counter to produce a stream cipher

  • can be parallelized
  • convert a block cipher into a stream

The message is not encrypted, a number is encrypted and uses the random number that comes out to XOR the message.

Standard mode for all encryption cipher (AES)

Which problem solves Diffie-Hellman

The problem is before a message can be encrypted the “secret key” must be shared with the communication partners over an insecure channel, this problem is solved with Diffie-Hellman

How does the Diffie-Hellman algorithm work

  1. Alice and Bob agree on base parameters.

p = a large prime number, is very big usually 2048-bit or 4096-bit

  1. = also a prime number must be a primiteve root of p e.g. 3 is a primiteve root of 7
  1. Alice and Bob select numbers as private keys

Alice chooses a private value at random

Bob chooses a private value at random

 

The private vlaues must be between 1 and . Is a 2048-bit number, which is never told to anyone

  1. Alice and Bob each calculate a public key

Alica calculates:

Alica calculates:

 

The public key is created using and to mathematically hide the private version.

  1. The puvlic keys are swapped over the wire

Alice sends the result of the calculation:  

Bob sends the result of the calculation:

 

  1. The private key is combined with the others public key to create the shared “secret key”

Alice computes:  

Bob computes:  

  1. The shared secret is usually called the pre-master secret. It’s used to derive session keys

Whats the shared secret if applying the Diffi-Hlleman with the following numbers

g = 3, p = 29

Alicey private key: 23

Bob private key: 12

24, Lösungsweg in den Folien 4 S. 53

What are the two main use cases of RSA

  1. Encryption that only the owner of the public key can read. If you want to send a encrypted message to another network member just take his/her public key and encrypt the data with this key.
  2. Signing that must have been performed by the owner of the private key. If you want to trust a server he can send a message encrypted with his private key and you know by encrypting the message with his public key that ist him/her

What is the discrete logarithm problem

Discrete Logarithms:

3^29 mod 17 = x   x is easy to determine

3^x mod 17 = 12 x is hard to determine, especially for big numbers, because the solution can only be found with brute force

The following variables for an RSA process are given, encrypt and decrypt the message "m" (89)

p1=53

p2=59

n=53*59 = 3127

ϕ(n)= 3016

e=3

d=2011

encryption: 

c(MessageBob)= 893 mod 3127=1384

decryption: 

c(MessageBob) = 1384 13942011 mod 3127 = 89

This is an example from the presentation 5 starting at page 27

Tell some facts about RSA

  • RSA is very weak if encrypting short messages
  • Padding is added in short messages, optical asymmetric Encryption padding (OAEP) is the used
  • Introduces an IV into the process and then hashes it
  • The receiver will have to use the exact same padding to make sure the messages match up
  • It’s not common to see encryption done in RSA
  • RSA is 1000x slower than symmetric crypto systems

The following variables are given, what does a signature process look like if the signature of Alice is "SignatureAlice=42"

p1=61

p2=53 n=3233

ϕ(n)= 3016

e=17

d=2753

Tom: c(SignatureAlice)= 42^2753 mod 3233=3065

3065^17 mod 3233 = 42 => SignatureAlice=42

Bob: c(SignatureAlice)= 42^2753 mod 3233=3065

3065^17 mod 3233 = 42 => SignatureAlice=42

Alice: c(SignatureAlice)= 42^2753 mod 3233=3065

Lösungsweg Präsi 4 S.34

Signing is encrypting with the private key

Whats the problem with RSA in a few years

RSA is going to become slower because bigger keys will have to be used.

  • the main alternative is DSA (Digital Signature Algorithm) which uses
    • DSA only works for signing
    • it acts like RSA but uses mathematics similar to Diffie-Hellman

What is a hash funciton and why is it useful

Takes a message of any length and creates a pseudorandom hash with a fixed length.

Used for Message authentication, Integrity, passwords

A good hash algorithm is fast, but not too fast

Whats a strong hash function

Any linput length results in a fixed size hash.

1. it has to be quick but not too quick

2. it has to introduce diffusion => 1 change results in many

3. Given a hash, we can’t reverse it 

4. Given a message and its hash, we can’t find another message that hashes to the same thing  

5. We can’t find any two messages that have the same hash 

MD5: is strong but creates collisions => broken

SHA1 / SHA2: is strong and currently not broken

Whats the current hash standard

SHA-2 256 bit or 512 bit

 

SHA-3 is not better or worser than SHA-2

Which hash functions should be used for passwords and why is SHA-2 not a good solution

SHA-2 is to fast a attacker can generate a lot of hashes and compare the outputs to the found password

A good solution for password hashes are the following algorithms

  • PBKDF2(Password-Based Key Derivation Function 2)
  • bcrypt

works similar to SHA-2 but the process is repeated e.g. 5000 times this makes it 5000 times slower. also these algorithms are hard to run on a GPU which makes it more difficult to parallel create hashes to gues the password.

Where are hashes used

  • Digital signatures
  • message tampering is a common attack and with hashes it can be ensured that the message wasn't altered. 
    • The hash of the message is added to the packet the receiver applies the hash function on the content and compares it to the received hash, if both of them are the same it's more likely that the data hasn't been changed