-
Notifications
You must be signed in to change notification settings - Fork 0
/
Chap3.json
177 lines (173 loc) · 14.3 KB
/
Chap3.json
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
121
122
123
124
125
126
127
128
129
130
131
132
133
134
135
136
137
138
139
140
141
142
143
144
145
146
147
148
149
150
151
152
153
154
155
156
157
158
159
160
161
162
163
164
165
166
167
168
169
170
171
172
173
174
175
176
177
{
"name" : "Matière du cours de Sécurité, juin 2021, Chapitre 3",
"elements" : [
{
"value" : "What does encrypt mean ?",
"answer" : "With the help of an encryption key, transform cleartext data into encrypted data, making it unreadable for anyone not able to decrypt it"
},
{
"value" : "What does decrypt mean ?",
"answer" : "With the help of a decryption key,recover original cleartext data from encrypted text data"
},
{
"value" : "What are encryption and decryption ?",
"answer" : "Same as encrypt and decrypt but based on algoritms. Also called cipher."
},
{
"value" : "What is cryptography ?",
"answer" : "Science (or art) of creating ciphers"
},
{
"value" : "What is Cryptanalysis ?",
"answer" : "Science (or art) of breaking ciphers"
},
{
"value" : "What is Cryptology ?",
"answer" : "Study of codes, both creating and breaking them"
},
{
"value" : "What are the 3 primitives of a cryptosystem ?",
"answer" : "1. KeyGen() : A mechanism to generate a key (or a pair of key)\n2. E(k,p) : An encryption mechanism, where k is the key and p a cleartext\n3.D(k,c) : A decryption mechanism, where k is a key and c a ciphertext"
},
{
"value" : "What is the Kerckhoff's principle ?",
"answer" : "A cryptosystem should be secured even if everything about the system, except the key, is public knowledge"
},
{
"value" : "Quelles sont les différentes classes d'attaques ?",
"answer" : "- Attaque passive (eavesdropping) : Ne nécessite aucune interaction avec les parties ciblées, difficile à détecter (ex : Analyse des enregistrement DNS)\n- Attaque active : type d'attaque nécessitant de l'identity spoofing et la falsification des communications (Ajouter, modifier, supprimer des paquets) (ex : Man In The Middle)\n- Attaque de rejeu : Renvoyer un message déjà envoyé \n- Side-channel attack : Attaque basée sur des informations concernant l'implémentation physique des méchanismes de cryptographie (Consommation d'électricité, etc)\n- Timing attack : Infer information about the cryptographic process from the time it takes"
},
{
"value" : "What is a bruteforce attack ?",
"answer" : "Exploring the keyspace to find the key (On average, half the keyspace).The larger is the keyspace, the longer it takes to find the key. Each bit added to the key doubles the time needed."
},
{
"value" : "Describe the Caesar cipher",
"answer" : "Shift every letter of a plaintext of a certain amount of letters in the alphabet. The key is then a simple number between 1 and 25\n-> Keyspace too small\n->Vulnerable to frequency analysis"
},
{
"value" : "Describe the substitution cipher",
"answer" : "Substitute one letter with another, can also be applied to n-grams. The key is then a subsitution alphabet\n-> Mono-alphabetic substitution is vulnerable to frequency analysis"
},
{
"value" : "What is frequency analysis ?",
"answer" : "Comparing symbol frequencies in the ciphertext and the destination language"
},
{
"value" : "Describe the Vigenère Cipher",
"answer" : "Repeat a given key as many times as necessary to have a key with the same length as the plaintext that must be encrypted.Then, for each letter p in the plaintext, perfom (p + k ) mod 26 where k is the corresponding letter in the key."
},
{
"value" : "When does a crypto-system is computationally secure ?",
"answer" : "When it cannot be broken by an adversary with limited capabilities."
},
{
"value" : "When does a crypto-system is unconditionally secure ?",
"answer" : "When it cannot be broken by an adversary with unlimited capabilities."
},
{
"value" : "What is the classical classification of attacks when you're attacking an algorithm ?",
"answer" : "- ciphertext-only attack : attacker has access to the ciphertext only\n- known plaintext attack : An attack where the attacker only possess the cyphertext and at least partially the plaintext\n- chosen plaintext attack : An attack where the attacker can choose a plaintext and obtain the corresponding cyphertext\n- chosen ciphertext attack : An attack where the attacker can choose a cyphertext and obtain the corresponding plaintext"
},
{
"value" : "What is a good cipher ?",
"answer" : "A good cipher should not reveal any information about the plaintext.\n\n\t->A perfectly secure crypto-system would be a system such that $Pr[P=p|C=c] = Pr[P=p]$."
},
{
"value" : "Describe Shannon's theorem",
"answer" : "In a cryptosystem (K,P,C,E,D) where K is a keyspace, P the set of every possible plaintext, C the set of every possible ciphertext, E and D are Encryption and Decryption algorithms:\n\nThe cryptosystem provides perfect secrecy if and only if :\n\t-> Every key has the same probability to occur\n\t->forall p in P, forall c in C,there is one and only one k in K such that c=E(k,p)"
},
{
"value" : "What is a Pseudo Random Number Generator (PRNG) ?",
"answer" : "Computers cannot directly generate random numbers. Thus, we need a sufficiently unpredictable seed to be considered as random (Hard drive sensors, etc). To be secured, a PNRG must be :\n\t- Equitably distributed\n\t- Not vulnerable to correlation tests (Trying to retrieve the original seed)"
},
{
"value" : "What is symmetric cryptography ?",
"answer" : "Ciphers where the same key is used to encrypt and decrypt a message.\n\t- Security depends on the algorithm and the secrecy of the key\n\t- One main problem : How can I securely exchange the key ?"
},
{
"value" : "Describe how One-time pad cihper works.",
"answer" : "Cipher based on the one-time usage of a random stream of data of the same size as the plaintext. Then, for each letter, $c_i = p_i + k_i$ and $p_i = c_i + k_i$ where + is the modulo addition.\n\t -> Guarantees perfect secrecy if the size of the keyspace is the same as the size of the plaintext space and keys are uniformly distributed.\n\t ->Such key management is infeasible in pratice"
},
{
"value" : "Describe how Stream cipher works.",
"answer" : "One-Time pad where a seed is exchanged instead of keys. This seed is then used to generate as many value as necessary for the One-Time pad algorithm.\n\t-> The whole security depends on how secure the PNRG is."
},
{
"value" : "Describe how RC4 cipher works.",
"answer" : "RC4 fonctionne de la façon suivante : la clef RC4 permet d’initialiser un tableau de 256 octets en répétant la clef autant de fois que nécessaire pour remplir le tableau. Par la suite, des opérations très simples sont effectuées : les octets sont déplacés dans le tableau, des additions sont effectuées, etc. Le but est de mélanger autant que possible le tableau. Finalement on obtient une suite de bits pseudo-aléatoires qui peuvent être utilisés pour chiffrer les données via un XOR. (Wikipédia)"
},
{
"value" : "Quelle est la différence entre 'confusion' et 'diffusion' ?",
"answer" : "- Confusion : Fait que le ciphertext soit complètement inintelligible, s'applique par des méchanismes de substitution\n-Diffusion : Fait qu'un petit changement dans le plaintext change l'entièreté du ciphertext, s'applique par des méchanismes de permutations"
},
{
"value" : "Describe how block cipher works.",
"answer" : "Block ciphering consists in a decomposition of the plaintext in different blocks of same size which will be encrypted differently. There are different mode of operation (see slides 55 - 58 for illustrations)\n->Electronic CodeBook Mode (ECB): Each block is ciphered independently.\n->Cipher Block Chaining mode (CBC) : Each block is XORed with the previously ciphered block before beeing encrypted. The first block is encrypted with an 'initialization vector'\n->Cipher FeedBack Mode (CFB) : Each block of plaintext is XORed with the previous block after it went through encryption\n-> Counter Mode (CTR) : Chaque plaintext subit un XOR avec le résultat du chiffrement d'un grand nombre aléatoire (appelé 'nonce') concaténé à un compteur de block. Le compteur permet de faire changer un petit peu la clé pour chaque bloc."
},
{
"value" : "What is a padding ?",
"answer" : "La façon dont on remplit le dernier bloc d'un chiffrement par block pour atteindre la taille suffisante. Une manière de faire est de compter le nombre d'octets restant à remplir, et à répéter cette valeur sur les octets en question. Ainsi, quand bob a déchiffré le dernier bloc, si le dernier octet indique un nombre n, et que tous les n derniers blocs indiquent cette même valeur n, alors il s'agit d'un padding qu'il peut virer."
},
{
"value" : "Describe the DES algorithm",
"answer" : "Algorithme de chiffrement obsolète, fonctionnement expliqué dans les schémas DES dans le dossier pictures."
},
{
"value" : "What is AES ?",
"answer" : "Also called Rijndael cipher, a block cipher algorithm using 128bits blocks and keys can be either 128, 192 or 256 bits. Uses 10,12, or 14 rounds depending on the key length."
},
{
"value" : "Dans la gestion des clés, pourquoi qu'est-ce qui incite à changer de clés et qu'est-ce qui incite à les garder ?",
"answer" : "Il s'agit d'un 'tradeoff' entre la sécurité du changement de clés et les coûts d'infrastructure liés au changement de clés."
},
{
"value" : "Quels sont les problèmes habituels liés à la gestion de clés ?",
"answer" : "- Potentiellement beaucoup de clés à gérer : si on compte n personnes, on a un total de n-1 clés par personne (divisé par deux car une clé est utilisée par deux personnes).\n- Les clés doivent rester secrètes à tout moment."
},
{
"value" : "Quelles sont les étapes importantes lors de la génération de la clé ?",
"answer" : "On évite les espace de clés restreint, les clés doivent être aléatoire,assez longue,et renouvellé periodiquement "
},
{
"value" : "Qu'est ce que le PBE dans le contexte du chiffrement de clé ? A quoi cela sert-il ?",
"answer" : "Le PBE est un moyen de chiffrer une clé sans avoir à la stocké via un mot de passe auquel on aura rajouté du sel pour augmenter l'entropie "
},
{
"value" : "A quoi sert le sel dans le contexte du chiffrement?",
"answer" : "Augmenter l'entropie et éviter les attaque pré-calculatoire en ajoutant des données aléatoires au MDP "
},
{
"value" : "Qu'est ce que KDC ? ",
"answer" : "Un moyen pour deux agents qui ne se font pas forcément confiance d'échanger des clés via un third party "
},
{
"value" : "Quels sont les principes et utilisations possibles du chiffrement asymétrique ? ",
"answer" : "L'agent n'a plus une seule clé mais deux, une clé publique et une clé privé, ce qui a été crypté avec une peu être décrypté avec l'autre ce qui permet plusieurs styles d'utilisations, la confidentialité, la protection des données, l'authentification. (Voir slide 84 pour fonctionnement détaillé) "
},
{
"value" : "Qu'est ce qui rend le chiffrement de Diffie-helman computationally secure ? ",
"answer" : "Le problème du logarithme discret"
},
{
"value" : "Qu'est ce qui rend le chiffrement RSA computationally secure ? ",
"answer" : "La complexité de calculer la factoriel d'un très grand nombre"
},
{
"value" : "Qu'est ce qui rend le chiffrement de El Gamal computationally secure ? ",
"answer" : "Le problème du logarithme discret"
},
{
"value" : "Que sont les concepts de HMAC et de DSA ? Que permet DSA que ne permet pas HMAC ? ",
"answer" : "HMAC pour Hash Message Authentication Code est un mécanisme d'authentification et de non répudiation basé sur la cryptographie symétrique, DSA pour digital signature algorithm est le même concept mais en asymétrique,comme HMAC est symétrique il est impossible de distinguer qui aurait écrit un message parmis les différent possesseur de la clé,DSA quand à lui comme il est asymétrique permet de distinguer les différents agents. "
},
{
"value" : "Qu'est ce qu'un certificat digital ",
"answer" : "C'est un moyen de prouver qu'une certaine clé publique appartient bien à une certaines entité (personne,entreprise,serveur,...) ces certificats doivent bien sûr être émit par un tier de confiance."
},
{
"value" : "Qu'est ce qu'un PKI et à quoi cela sert il ? ",
"answer" : "PKI pour public key infrastructure c'est un ensemble d'entité qui gère les certificats,composé d'un certificate authority qui authentifie les sujets,révoque certains certificats et d'une registration authority qui valide les informations provenant des sujets, ."
},
]
}