Advertisement
Guest User

Untitled

a guest
Mar 28th, 2017
82
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
text 9.66 KB | None | 0 0
  1. #!/usr/bin/python2.7
  2. # -*- coding: utf-8 -*-
  3. # Filename : Pharaon.py
  4.  
  5.  
  6.  
  7. print("|-------------*--Intelligence CryptoPython Advanced--*------v1.0 by lazarus®]")
  8. print ("|---------------------------------------------------------------------------|")
  9. print ("|---------------------------------------------------------------------------|")
  10.  
  11. print """
  12. _,,aadd8888888bbaa,,_
  13. _,ad88P|||||||||||||||||Y88ba,_
  14. ,ad88P" `Ya `8, `8' ,8' aP' "Y88ba,
  15. ,d8"' "Yb "b, `b 8 d' ,d" dP" `"8b,
  16. dP"Yb, `Yb, `8, 8 8 8 ,8' ,dP' ,dP"Yb
  17. ,ad8b, `Yb, "Ya `b Y, 8 ,P d' aP" ,dP' ,d8ba,
  18. dP" `Y8b, `Yb, `Yb, Y,`8 8 8',P ,dP' ,dP' ,d8P' "Yb
  19. ,88888888Yb, `Yb,`Yb,`8 8 8 8 8',dP',dP' ,dY88888888,
  20. dP `Yb`Yb, Yb,`8b 8 8 8 8 8 d8',dP ,dP'dP' Yb
  21. ,8888888888b "8, Yba888888888888888adP ,8" d8888888888,
  22. dP `Yb,`Y8P""' `""Y8P',dP' Yb
  23. ,88888888888P"Y8P'_.---.._ _..---._`Y8P"Y88888888888,
  24. dP d' 8 ' ____ `. .' ____ ` 8 `b Yb
  25. ,888888888888 8 <(@@)> | | <(@@)> 8 888888888888,
  26. dP 8 8 `""" """' 8 8 Yb
  27. ,8888888888888, 8 , , 8 ,8888888888888,
  28. dP `b 8, (.-_-.) ,8 d' Yb
  29. ,88888888888888Yaa8b ,' `, d8aaP88888888888888,
  30. dP ""8b _,gd888bg,_ d8"" Yb
  31. ,888888888888888888888b, ""Y888P"" ,d888888888888888888888,
  32. dP "8"b, ,d"8" Yb
  33. ,888888888888888888888888,"Ya,_,ggg,_,aP",888888888888888888888888,
  34. dP "8, "b"\M/"d" ,8" Yb
  35. ,88888888888888888888888888b b"\M/"d d88888888888888888888888888,
  36. 8888bgg,_ 8 b\M/d 8 _,ggd8888
  37. `"Yb, ""8888888888888888888 b\M/d 88888888888888888"" ,dP"'
  38. _d8bg,_"8, 8 b\M/d 8 ,8":_,gd8b_
  39. ,iP" "Yb,8888888888888888 8\M/8 8888888888888888,dP" `"Yi,
  40. ,P" __,888 8 8\M/8 8 888,__ "Y,
  41. ,8baaad8P"":Y8888888888888888 \M/ 8888888888888888P:""Y8baaad8,
  42. dP"':::::::::8 8 \M/ 8 8:::::::::`"Yb
  43. 8::::::::::::8888888888888888 88888 8888888888888888::::::::::::8
  44. 8::::::::::::8, 8 8:::::::::8 8 ,8::::::::::::8
  45. 8::::::::::::8888888888888888 8:::::::::8 8888888888888888::::::::::::8
  46. 8::::::::::::Ya 8 8:::::::::8 8 aP::::::::::::8
  47. 8:::::::::::::888888888888888 8:::::::::8 888888888888888:::::::::::::8
  48. 8:::::::::::::Ya 8 8:::::::::8 8 aP:::::::::::::8
  49. Ya:::::::::::::88888888888888 8:::::::::8 88888888888888:::::::::::::aP
  50. `8;:::::::::::::Ya, 8 8:::::::::8 8 ,aP:::::::::::::;8'
  51. Ya:::::::::::::::"Y888888888 8:::::::::8 888888888P":::::::::::::::aP
  52. `8;::::::::::::::::::::::::q8888888888888P::::::::::::::::::::::::;8'
  53. Ya:::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::aP
  54. "b;::::::::::::::::::::::::::LAZARUS:::::::::::::::::::::::::::aP
  55. `Ya;:::::::::::::::::::::::::::::::::::::::::::::::::::::::;aP'
  56. `Ya;:::::::::::::::::::::::::::::::::::::::::::::::::::;aP'
  57. "Ya;:::::::::::::::::::::::::::::::::::::::::::::;aP"
  58. "Yba;;;:::::::::::::::::::::::::::::::::;;;adP"""
  59.  
  60. print ("|---------------------------------------------------------------------------|")
  61. print ("|---------------------------------------------------------------------------|")
  62. print("")
  63. print ("Menu de selection generals activites:")
  64. print ("-----------------------------------------|")
  65. print ("")
  66. print("(A) >>> Cryptage par chaines de chiffrements 16 octets : ")
  67. print(" Composer de *1* keys de chiffrements")
  68. print ("")
  69. print("(B) >>> Cryptage par chaines de chiffrements 32 octets : ")
  70. print(" Composer de *2* keys de chiffrements [16 X 16]")
  71. print ("")
  72.  
  73. menu1 = ("A")
  74. menu2 = ("B")
  75.  
  76. while True:
  77. menu_entree = raw_input("Etape 1 : Choissisez votre menu generals:")
  78. if str(menu_entree) == menu1:
  79. print("")
  80. from Crypto.Cipher import AES
  81. import binascii
  82.  
  83. print '--Bienvenue dans le system automatique de Cryptage et Decryptage AES--'
  84. print ''
  85. print '* Menu de chiffrement sur base de Key a 16 Octets *'
  86. print'----------------------------------------------------'
  87. print '*exemple de keys de chifrement : This is a key123 = [16]'
  88. print '*exemple messazge de chifrement : The answer is no = [16]'
  89. print ''
  90. key = raw_input("Etape 1 : Choissisez votre key de Chiffrement par blocs de (16 caracteres) :")
  91. if len(key) > 16:
  92. print("*Le nombre de caracteres saisie est trop important, reformulez votre key*") # caractere autorisser
  93. elif len(key) < 16:
  94. print(
  95. "*Le nombre de caracteres saisie est insufisant, reformulez votre key *") # vérification du nombre de caractère
  96. else:
  97. print("*La key comportent le bon nombres de caractères*")
  98. obj = AES.new(key)
  99. message = raw_input("Etape 2 : Choissisez votre message par blocs de 16 caracteres :")
  100. if len(message) > 16:
  101. print(
  102. "*Le nombre de caracteres saisie est trop important, reformulez votre message*") # caractere autorisser
  103. elif len(message) < 16:
  104. print(
  105. "*Le nombre de caracteres saisie est insufisant, reformulez votre message*:") # vérification du nombre de caractère
  106. else:
  107. print ("*Le message comportent le bon nombres de caractères**")
  108. print("")
  109. hash = obj.encrypt(message)
  110. print ('*Votre message crypte en version AES*: *:') + binascii.hexlify(hash)
  111. obj2 = AES.new(key)
  112. print("")
  113. print ('*Verification de votre message en clair avec la key *:') + obj2.decrypt(hash)
  114. print("")
  115. print('*Votre key de chiffrements *:') + key
  116. print("")
  117. print('*--------[--Chiffrements Terminer Avec Succes--]-------*')
  118. print("")
  119. print("")
  120.  
  121. elif str(menu_entree) == menu2:
  122. print("Menu de chiffrement sur base de 32 octets :")
  123. print("")
  124. print("")
  125. from Crypto.Cipher import AES
  126. import binascii
  127.  
  128. print 'Bienvenue dans le system automatique de Cryptage et Decryptage AES '
  129. print ''
  130. print '* Menu de Chiffrement sur base de Key de 32 Octets *'
  131. print'----------------------------------------------------'
  132. print '* Le Chiffrements sur base de Key de 32 Octets sera cree sur *2* Keys de Cryptage [ 16 x 16 ] *'
  133. print ''
  134. print '*exemple : keys de chifrements 1 : This is a key123 = [16] '
  135. print '*exemple : keys de chifrements 2 : This is an IV456 = [16]'
  136. print '*exemple : message de chifrements : The answer is no + The answer is no = [32]'
  137.  
  138. print ''
  139. key1 = raw_input("Etape 1 : Choissisez votre 1* keys de Chiffrements par blocs de 16 octets :")
  140.  
  141. if len(key1) > 16:
  142. print("*Le nombre de caracteres saisie est trop important, reformulez votre key*") # caractere autorisser
  143. elif len(key1) < 16:
  144. print(
  145. "*Le nombre de caracteres saisie est insufisant, reformulez votre key*:") # vérification du nombre de caractère
  146.  
  147. key2 = raw_input("Etape 2 : Choissisez votre 2* keys de Chiffrements par blocs de 16 octets :")
  148.  
  149. if len(key2) > 16:
  150. print("*Le nombre de caracteres saisie est trop important, reformulez votre key*") # caractere autorisser
  151. elif len(key2) < 16:
  152. print(
  153. "*Le nombre de caracteres saisie est insufisant, reformulez votre key*") # vérification du nombre de caractère
  154.  
  155. else:
  156. print("*La key comportent le bon nombres de caractères*")
  157.  
  158. obj1 = AES.new(key1, AES.MODE_CBC, key2)
  159. message1 = raw_input("Etape 3 : Choissisez votre message par blocs de 16 X 16 caracteres [32]:")
  160.  
  161. if len(message1) > 32:
  162. print(
  163. "*Le nombre de caracteres saisie est trop important, reformulez votre message*") # caractere autorisser
  164. elif len(message1) < 32:
  165. print(
  166. "*Le nombre de caracteres saisie est insufisant, reformulez votre message*") # vérification du nombre de caractère
  167. else:
  168. print ("*Le message comportent le bon nombres de caractères*")
  169.  
  170. print("")
  171. hash2 = obj1.encrypt(message1)
  172. print ('*Votre message chiffre en version AES*: ') + binascii.hexlify(hash2)
  173. objD = AES.new(key1, AES.MODE_CBC, key2)
  174. print("")
  175. print ('*Votre message crypte en version AES avec *2* Keys [32] (16 X 16) *:') + objD.decrypt(hash2)
  176. print("")
  177. print('*Votre key de chiffrements 1 *:') + key1
  178. print("")
  179. print('*Votre key de chiffrements 2 *:') + key2
  180. print("")
  181. print('*--------[--Chiffrements Terminer Avec Succes--]-----------*')
  182. print("")
  183. print("")
  184.  
  185. else:
  186. print("*-*Erreur Selection Menu Generals*-*")
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement