Как наиболее быстро совершить брутфорс AES, посредством Python?
Приветствую вас, великие и не очень, умы Хабра. Есть цель - забрутфорсить значение зашифрованное в AES 256. Предположительно, ключом может являться хеш MD5 из 5 символов(латинский алфавит в обоих регистрах, числа от 0 до 9 и спец символы _-+=). Пытался сам написать брутфорсер, на Питоне(Знаю, язык не из самых быстрых, но другие ЯП, я не знаю дальше уровня "Hello World!"), и поскольку работает он на ЦП, то результат медленный, от слова совсем. Подскажите пажажушта, какие варианты ускорения этого процесса, вы можете предложить ? Лично я хотел бы попробовать перенести процесс перебора на CUDA ядра, где по идее прирост должен быть как минимум 100 кратный. Если кто-то может, то киньте готовые решения.
import string
import math
import time
import random
from random import choice
import numpy as np
def sigmoid(x):
return 1/(1+np.exp(-x))
def exponent(x):
return np.exp(x)#y = e**x
word = string.ascii_letters
number = string.digits
punctuation = string.punctuation
time.sleep(1)
#brute = #speed brute
correctPassword = "94"
wrongPasswords = []
password = ""
length = 2
comb_pass = 0#all combination in bruteforce
chars = number
run = True
while run:
try:
password = ""
for i in range(length):
password += choice(chars)
if password not in wrongPasswords:
if password != correctPassword:
print(sorted(password))
wrongPasswords.append(password)
else:
run = False
break
except:
pass