franckysnow91
Messages postés6Date d'inscriptionsamedi 16 février 2008StatutMembreDernière intervention24 octobre 2008
-
16 févr. 2008 à 18:10
lespinx
Messages postés106Date d'inscriptionlundi 9 octobre 2006StatutMembreDernière intervention23 novembre 2022
-
18 févr. 2008 à 23:59
Bonjour,
Je suis débutant en Python et après avoir cherché des heures sur la doc de python, je me tourne vers vous.
J'essaie de programmer l'algorithme AES (Advanced Encryption Standart) en python et je ne sais pas comment formuler un bit sous python ainsi que de procéder à des opération simples telles que l'addition de deux bits et la multiplication de deux bits puis par une opération modulo.
Comment puis-je faire ? Existe-t-il autrement des modules pratiques pour manipuler les bits ?
Merci de votre aide
#Représentation d'un nombre binaire
# '0011' = 3 en décimal
# 2 = base du syteme (de 2 a 36)
x=int('0011',2)
y=int('0101',2)
print "x y en decimal",x,y
#Représentation d'un nombre décimal en binaire
# (d'après l'exemple cité dans le lien)
def bin(a):
s=''
t={'0':'000','1':'001','2':'010','3':'011',
'4':'100','5':'101','6':'110','7':'111'}
for c in oct(a)[1:]:
s+=t[c]
return s
#addition
print "x+y",bin(x+y)
#OU bit a bit
print "OU bit a bit",bin(x|y)
#OU exclusif
print "OU EXCLUSIF",bin(x^y)
#NON bit a bit
print"NON",bin(~x)
#ET bit a bit
print "ET",bin(x&y)
En espérant avoir apporté de l'eau au moulin.......