Advertisement
Guest User

Untitled

a guest
Jan 17th, 2018
73
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
text 3.13 KB | None | 0 0
  1. #Prencipe Michele Pio
  2. #cifratura che assegna una lettera a caso alle lettere dell'alfabeto e scrivere la parola in quel codice
  3. import random
  4.  
  5. alfa=list("ABCDEFGHILMNOPQRSTUVZ")
  6. alfabeto=list("ABCDEFGHILMNOPQRSTUVZ")
  7.  
  8. diz_alfabeto={}
  9.  
  10. lettere=[" "]
  11. for k in alfa:
  12. for z in alfabeto:
  13. lettera=random.choice(alfabeto)
  14. if lettera not in lettere:
  15. diz_alfabeto[k]=lettera
  16. ordinato=sorted(diz_alfabeto)
  17. print(sorted(diz_alfabeto.items()))
  18. nuovo_alfa=""
  19. for k in ordinato:
  20. nuovo_alfa=nuovo_alfa+diz_alfabeto[k]
  21.  
  22. codice=""
  23. parola="CIAO"
  24. for k in parola:
  25. contatore=0
  26. for z in alfabeto:
  27. if k==z:
  28. lettera=nuovo_alfa[contatore].upper()
  29. contatore+=1
  30. codice=codice+lettera
  31. print(codice)
  32. #prencipe michele pio
  33. #cifrario di cesare
  34.  
  35. #funzione della cifratura di Cesare con chiave fissa a 3 posti di distanza
  36. def CriptCesare(word):
  37. alfabeto="ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz"
  38. codice=""
  39. parola=word.upper()
  40. for k in parola:
  41. contatore=0
  42. for z in alfabeto:
  43. if k==z:
  44. lettera=alfabeto[contatore+3].upper()
  45. contatore+=1
  46. codice=codice+lettera
  47. print(codice)
  48.  
  49. CriptCesare("ciao")
  50.  
  51. #funzione della decifrazione del cifrario di Cesare con chiave fissa a 3 posti
  52. def DecriptCesare(code):
  53. alfabeto="ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz"
  54. codice=code.upper()
  55. parola=""
  56. for k in codice:
  57. contatore=0
  58. for z in alfabeto:
  59. if k==z:
  60. lettera=alfabeto[contatore-3].upper()
  61. contatore+=1
  62. parola=parola+lettera
  63. print(parola)
  64.  
  65. DecriptCesare("fldr")
  66.  
  67. #funzione della cifratura di una parola attraverso una chiave scelta a caso dall'utente(Kirchoffs)
  68. def CriptKirchoffs(word,chiave):
  69. alfabeto="ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz"
  70. codice=""
  71. parola=word.upper()
  72. for k in parola:
  73. contatore=0
  74. for z in alfabeto:
  75. if k==z:
  76. if chiave>26:
  77. posizione=chiave%26
  78. lettera=alfabeto[contatore+posizione].upper()
  79. elif chiave<=26:
  80. posizione=chiave
  81. lettera=alfabeto[contatore+posizione].upper()
  82. contatore+=1
  83. codice=codice+lettera
  84. print(codice)
  85.  
  86. CriptKirchoffs("ciao",5)
  87.  
  88. #funzione della decifrazione di un codice con una chiave scelta a caso dall'utente(Kirchoffs)
  89. def DecriptCesare(code,chiave):
  90. alfabeto="ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz"
  91. codice=code.upper()
  92. parola=""
  93. for k in codice:
  94. contatore=0
  95. for z in alfabeto:
  96. if k==z:
  97. if chiave>26:
  98. posizione=chiave%26
  99. lettera=alfabeto[contatore-posizione].upper()
  100. elif chiave<=26:
  101. posizione=chiave
  102. lettera=alfabeto[contatore-posizione].upper()
  103. contatore+=1
  104. parola=parola+lettera
  105. print(parola)
  106.  
  107. DecriptCesare("hnft",5)
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement