mercredi 16 septembre 2015

Concténation de deux uint16 en un uint32.Est-ce sûr?

Salut tout le monde :)

Pour tout vous dire j'ignore si ma question (plutôt mes questions) soit réellement destinée à ce forum mais j'ai fait le tour des autres sous-forums et je ne vois pas aussi où ça pourrait bien passer. Je travaille actuellement sur un programme destiné à protéger une communication radio entre un émetteur et un receveur contre les MITM (man-in-the-middle attacks).Bref l'approche que je compte utiliser est une communication basé sur un NONCE (number used once) il sera émis à chaque authentification et aura 32 bits. Je travaille avec un outil de développement spécifique à la société(development tool) (désolé pour les termes en anglais corrigez moi si je me trompe dans la traduction) une bibliothèque elle-même spécifique écrite en C et un compilateur (C51 de Keil microvision pour ceux qui le connaissent). Cette bibliothèque spécifique m'offre déjà une fonction toute prête qui génère un nombre random de 16 bits à partir du bruit d'un ADC (convertisseur analogique-numérique) donc je suppose que c'est un bon random (true). Afin de produire mon NONCE qui devrait avoir une taille de 32 bits j'ai pensé à concaténer deux de ces randoms générés par cette fonction.Et là mes questions s’intègrent dans le domaine de la cryptographie, à savoir:

  • En concaténant ces deux nombres de 16 bits aurai-je un bon random? est-ce sûr en matière d'entropie?
  • Quelle serait la distribution des nombres résultants de cette concaténation sur tout l'intervalle [0...2^32] (cet intervalle parce que mes entiers ne sont pas signés)? Y a t-il des tests de randomness à faire pour le savoir?
  • En appelant ma fonction deux fois de suite pour générer mes deux randoms de 16 bits n'est-il pas très probable d'avoir deux valeurs différentes puisque ma fonction lit le bruit de l'ADC et que ce bruit microscopique a une haute variance donc les nombres 0x12341234 ou 0xAABBAABB (qu'importe...tous les nombres composés de deux uint16 égaux) seraient moins probables que les autres et que ça pourrait nuire à la distribution (Je suis peut être entrain de raconter des salades mais c'est une question que je me pose souvent)




Je vous remercie d'avance pour votre aide.


from Hackademics : Forum de hacking – hackers white hat – cours de securite informatique, apprendre langage python, tutoriels de reverse engineering http://ift.tt/1UUmtbk
via IFTTT

Aucun commentaire:

Enregistrer un commentaire