Войти
или
Зарегистрироваться
Курсы
Учебник
Учебник 2.0
ОГЭ/ЕГЭ
Олимпиады
Рубрикатор
Компилятор
Статья Автор:
Антон Летов
Silver ГДЗ и не только!
Здесь будут поститься решения актуальных задач преимущественно
по программированию
.
В полях, где примеры кода,
можно кодить
, используйте фреймы
как вам удобно
.
НО!
При перезагрузке страницы весь ваш кодинг
не сохранится!
#include <iostream> using namespace std; // C++ int main(){ cout << "Hello_World\n"; }
×
print("Hello_World") # Python
×
В файле
info_python.txt
есть много полезной инфы по python'у соответсвенно =)
def is_prime(n): # RSA-шифратор. В доработке. for i in range(2, int(n**0.5)+1): # Функция проверки на простоту if not n % i: return False return True # print(is_prime(int(input()))) p, q = int(input('enter p: ')), int(input('enter q: ')) alph = [chr(i) for i in range(ord('а'), ord('а')+32)] # Алфавит (ru) if not (is_prime(p) and is_prime(q)): print('ERROR: p or q are composite!') exit() n, f = p*q, (q-1)*(p-1) # e = lambda f: max() e = max([num for num in range((q-1)*(p-1), 1, -1) if is_prime(num)]) d = max([num for num in range(-100, 100) if (num*e)%f==1]) phrase_inp, phrase_inp_ind = input('enter phrase: ').lower(), [] # Вводим фразу, которую будем шифровать for sym in phrase_inp: phrase_inp_ind.append(alph.index(sym)+1) # Собираем alph_index_list, БУКВЫ СЧИТАЕМ С 1, без Ё! # phrase_otp = [phrase_inp_ind[0]] + [phrase_inp_ind[num]+phrase_inp_ind[num+1] for num in range(len(phrase_inp_ind)-1)] phrase_otp_p, phrase_otp = phrase_inp_ind.copy(), phrase_inp_ind.copy() # Делаем копии alph_index_list для последуещей обработки # phrase_otp = [phrase_otp[i-1] + phrase_otp[i] for i in range(1, len(phrase_otp))] for i in range(1, len(phrase_otp_p)): phrase_otp_p[i] = phrase_otp_p[i-1] + phrase_otp_p[i] # Избегаем повторения кодов (защита от вероятностного подбора) phrase_otp_p_rebuild = [(num**e)%n for num in phrase_otp_p] # Непосредственно шифрование pre-защищённой последовательности phrase_otp = [(num**e)%n for num in phrase_otp] # Шифрование последовательности print('\n================> service data <================') # print('alph:', alph) print('alph_index_list:', phrase_inp_ind) print('phrase_otp_protected_non_encrypted:', phrase_otp_p) print('==============> END of service data <===========\n') print('Your encrypted phrase:', *phrase_otp, sep=' ') print('Your encrypted phrase (+protection):', *phrase_otp_p_rebuild, sep=' ')
×
Прикрепленные файлы
info_python.txt
от Антон Летов 03.10.2024 22:29
Как вводить данные?
от Каташев Антон 03.10.2024 22:35
Кто модер паблика?
от Каташев Антон 03.10.2024 22:35
Я
от Антон Летов 03.10.2024 22:40
Данные в rsa вводи так:
7 (p)
11 (q)
кабан (фраза)
А лучше copy-past'ь в IDE и решай там, silvertests не поддерживают интерктивную консоль
от Антон Летов 03.10.2024 22:38
Кто модер паблика?
от Каташев Антон 03.10.2024 22:38
Как вводить данные?
от Каташев Антон 03.10.2024 22:39
Как вводить данные?
от Каташев Антон 03.10.2024 22:40
Чтобы оставить комментарий нужна авторизация
Печать