Projet d'Exploration Informatique Index du Forum
Projet d'Exploration Informatique
Les élèves de 6TT Informatique vous présentent leurs projets de fin d'études
 
Projet d'Exploration Informatique Index du ForumFAQRechercherS’enregistrerConnexion

:: Cryptolib ::

 
Poster un nouveau sujet   Répondre au sujet    Projet d'Exploration Informatique Index du Forum -> Les projets de l'année 2016-2017 ->
Sujet précédent :: Sujet suivant  
Auteur Message
S.Tamri
6TT-2016

Hors ligne

Inscrit le: 15 Fév 2016
Messages: 11
Masculin

MessagePosté le: Lun 13 Fév - 23:11 (2017)    Sujet du message: Cryptolib Répondre en citant

Bonsoir,
Je viens d'ajouter à mon algorithme un module de qui modifie les occurrences et injecte dans le message modifié du superflu aléatoirement entre 20 et 50 % en moyenne.

Voici mon code:

Code:
import string
import random
class ph_injsup(object):
   def __init__(self,msgmod):
      self.num = string.digits
      self.sup = ['#','_',';','€','$','*','|','¨','}','{','~']
      self.mocc = ['+','&','=','²']
      self.msgmod = msgmod
      self.msgmodc = msgmod
      self.l = []
      self.occ()

   def occ(self):
      i = 0
      self.l = []
      while i <len(self.msgmod):
         try:
            b = self.msgmod[i] == self.msgmod[i+1]
         except IndexError:
            print(self.l)
            break
         if b is True:
            j = str(i) + '=' + str(i+1)
            self.l.append(j)
         else:
            pass
         i+=1
   
      if len(self.l) == 0:
         self.ajsup()
      else:
         self.modocc()

   def modocc(self):
      i = 0
      p = 0
      while i < len(self.l):
         try:
            c = self.l[i]
            while c[p] != '=':
               p+=1
            d = int(c[:p])
         except IndexError:
            break
         if self.msgmod[d] == self.msgmod[d+1]:
            self.msgmod = self.msgmod[:d] + random.choice(self.mocc)+ self.msgmod[d+1:]
            i+=1
            continue
      print(self.msgmod)
      self.l.clear()
      self.occ()
     
 
   def ajsup(self):
      self.gen(len(self.msgmod)//5,len(self.msgmod)//2)
      #nombre de répétition de l'opération (~50-20%)
      for loop in range(self.z):
         self.gen(0,len(self.msgmod))
         #emplacement de l'opération
         while self.z in self.l:
            self.gen(0,len(self.msgmod))
         self.msgmod = self.msgmod[:self.z] + random.choice(self.sup) + self.msgmod[self.z:]
         print(self.msgmod)
      self.l.clear()
      self.verify()

   def gen(self, d, f):
      self.z= random.randrange(d,f)




   def verify(self):
      if hash(self.msgmodc) == hash(self.msgmod):
         print('!')
      else:
         print('ok')

if __name__ == '__main__':
   msgmod = 'audi tt jumelle elle est belle'
   ph2 = ph_injsup(msgmod)




Le message modifié est entouré et le message désigné avec la flèche est celui avec les occurrences en moins ainsi que l'ajout de superflu.

Le décryptage n'est pas encore au point mais j'y travaille.
_________________
Revenir en haut
Publicité






MessagePosté le: Lun 13 Fév - 23:11 (2017)    Sujet du message: Publicité

PublicitéSupprimer les publicités ?
Revenir en haut
Montrer les messages depuis:   
Poster un nouveau sujet   Répondre au sujet    Projet d'Exploration Informatique Index du Forum -> Les projets de l'année 2016-2017 -> Toutes les heures sont au format GMT + 2 Heures
Page 1 sur 1

 
Sauter vers:  

Portail | Index | Panneau d’administration | Creer un forum | Forum gratuit d’entraide | Annuaire des forums gratuits | Signaler une violation | Conditions générales d'utilisation
Texno x0.3 © theme by Larme D'Ange 2006
Powered by phpBB © 2001, 2005 phpBB Group
Traduction par : phpBB-fr.com