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
- Alice and Bob agree on base parameters.
p = a large prime number, is very big usually 2048-bit or 4096-bit
- = also a prime number must be a primiteve root of p e.g. 3 is a primiteve root of 7
- 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
- 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.
- The puvlic keys are swapped over the wire
Alice sends the result of the calculation:
Bob sends the result of the calculation:
- The private key is combined with the others public key to create the shared “secret key”
Alice computes:
Bob computes:
- 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
- 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.
- 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