Je m'intéresse à la cryptographie depuis quelques temps. Cependant, je me pose des questions beaucoup plus "précises" sur lesquels je ne trouve pas vraiment de réponses détaillées. J'espère donc qu'un expert, ou du moins quelqu'un qui a des connaissances avançées sur ces sujets, puisse m'éclairer. Je m'excuse pour la naïvété de la première question :
1) On parle souvent de "force brute" pour attaquer des algos de crypto dits "sûrs". Or, ce que je trouve tout de même surprenant, c'est qu'on se base simplement sur la "très infime probabilité de trouver la clé". Je sais bien que la sécurité de l'algo est intimement lié à la taille de la clé, et qu'il est très très très très long de tester ne serait-ce qu'une infime partie des nombreuses combinaisons possibles (ex: 2^256 possibles pour du 256 bits), mais il est tout de même "possible", même si "très peu probable" en termes de probabilité, qu'on la trouve relativement rapidement (quelques jours, ..) ! Quelque chose m'échappe ? ou effectivement, on se base simplement sur une infime probabilité de trouver cette valeur en un temps raisonnable ? Si c'est le cas, pourquoi parler d'algo sûr ou incassable, alors que qu'on devrait parler d'algo relativement/probalement sûr ?
2) Dans le cas de "force brute", j'aimerais avoir une confirmation : nous sommes bien obligés d'avoir une idée du type de données qui sont cryptées ? En effet, en quoi essayer toutes les clés possibles aurait-il un sens si on ne sait pas ce qu'on est censé chercher en clair ? Qu'en est-il des données binaires (supposons, un buffer de données chiffré) ? Quelles sont les techniques utilisées dans ces cas précis ? J'ai l'impression qu'on ne parle jamais de la véritable application de "force brute", sa façon "d'essayer une clé", le temps requis pour "essayer" une clé, la détection de la langue (pour les textes), du type de données etc.
3) Supposons un disque chiffré par Truecrypt ou autre (ou du moins qui le paraît, puisqu'il ne s'agit à première vue que de données binaires "aléatoires" dépourvues de sens). Comment savoir s'il s'agit de données chiffrées ? Comment peut-on tenter une quelconque force brute puisqu'on ne sait même pas l'algo utilisé ? quelles sont les techniques utilisées pour le deviner, alors qu'on est simplement en face d'une suite de bits ?
Merci d'avance à la ou les personnes qui répondraient, même partiellement, à ces questions.
Partager