Saltar al contenido

cómo implementar el cifrado de playfair usando el ejemplo de código de Python

Nuestro equipo de expertos pasados varios días de investigación y de juntar de información, dieron con la solución, nuestro deseo es que te resulte útil para tu trabajo.

Ejemplo: playfair cipher python

key=input("Enter key")
key=key.replace(" ","")
key=key.upper()defmatrix(x,y,initial):return[[initial for i inrange(x)]for j inrange(y)]
    
result=list()for c in key:#storing keyif c notin result:if c=='J':
            result.append('I')else:
            result.append(c)
flag=0for i inrange(65,91):#storing other characterifchr(i)notin result:if i==73andchr(74)notin result:
            result.append("I")
            flag=1elif flag==0and i==73or i==74:passelse:
            result.append(chr(i))
k=0
my_matrix=matrix(5,5,0)#initialize matrixfor i inrange(0,5):#making matrixfor j inrange(0,5):
        my_matrix[i][j]=result[k]
        k+=1deflocindex(c):#get location of each character
    loc=list()if c=='J':
        c='I'for i ,j inenumerate(my_matrix):for k,l inenumerate(j):if c==l:
                loc.append(i)
                loc.append(k)return loc
            
defencrypt():#Encryption
    msg=str(input("ENTER MSG:"))
    msg=msg.upper()
    msg=msg.replace(" ","")             
    i=0for s inrange(0,len(msg)+1,2):if s<len(msg)-1:if msg[s]==msg[s+1]:
                msg=msg[:s+1]+'X'+msg[s+1:]iflen(msg)%2!=0:
        msg=msg[:]+'X'print("CIPHER TEXT:",end=' ')while i<len(msg):
        loc=list()
        loc=locindex(msg[i])
        loc1=list()
        loc1=locindex(msg[i+1])if loc[1]==loc1[1]:print("".format(my_matrix[(loc[0]+1)%5][loc[1]],my_matrix[(loc1[0]+1)%5][loc1[1]]),end=' ')elif loc[0]==loc1[0]:print("".format(my_matrix[loc[0]][(loc[1]+1)%5],my_matrix[loc1[0]][(loc1[1]+1)%5]),end=' ')else:print("".format(my_matrix[loc[0]][loc1[1]],my_matrix[loc1[0]][loc[1]]),end=' ')    
        i=i+2defdecrypt():#decryption
    msg=str(input("ENTER CIPHER TEXT:"))
    msg=msg.upper()
    msg=msg.replace(" ","")print("PLAIN TEXT:",end=' ')
    i=0while i<len(msg):
        loc=list()
        loc=locindex(msg[i])
        loc1=list()
        loc1=locindex(msg[i+1])if loc[1]==loc1[1]:print("".format(my_matrix[(loc[0]-1)%5][loc[1]],my_matrix[(loc1[0]-1)%5][loc1[1]]),end=' ')elif loc[0]==loc1[0]:print("".format(my_matrix[loc[0]][(loc[1]-1)%5],my_matrix[loc1[0]][(loc1[1]-1)%5]),end=' ')else:print("".format(my_matrix[loc[0]][loc1[1]],my_matrix[loc1[0]][loc[1]]),end=' ')    
        i=i+2while(1):
    choice=int(input("n 1.Encryption n 2.Decryption: n 3.EXIT"))if choice==1:
        encrypt()elif choice==2:
        decrypt()elif choice==3:
        exit()else:print("Choose correct choice")

Si para ti ha resultado de provecho este artículo, agradeceríamos que lo compartas con el resto programadores y nos ayudes a extender este contenido.

¡Haz clic para puntuar esta entrada!
(Votos: 0 Promedio: 0)



Utiliza Nuestro Buscador

Deja una respuesta

Tu dirección de correo electrónico no será publicada. Los campos obligatorios están marcados con *