Список использованных источников
1. А. Е. Ваулин «Факторизация числа, проблемы ее теории» - 2014. - [Электронный ресурс] https://habr.com/ru/post/226395/
2. А.А. Сериков «Методы криптоанализа» - 2015 – [Электронный ресурсы] https://intuit.ru/studies/courses/940/456/lecture/10198
3. В.С. Головин «Факторизация чисел и методы решета»- 2020. – [Электронный ресурс] https://se7en.ws/faktorizaciya-chisel-i-metody-resheta-chast
4. «Сравнительный анализ методов факторизации натуральных чисел» -2013. – [Интернет ресурс] https://www.bibliofond.ru/view.aspx?id=656994
5. Интернет ресурс profy48.ru.
6. Приказ ФСБ РФ от 9.02.2005 N 66 "Об утверждении Положения о разработке, производстве, реализации и эксплуатации шифровальных (криптографических) средств защиты информации (Положение ПКЗ-2005)"
7. Об утверждении Положения о лицензировании деятельности по разработке, производству, распространению шифровальных (криптографических) средств, информационных систем и телеком-муникационных систем, защищенных с использованием шифровальных (криптографических) средств, выполнению работ, оказанию услуг в об-ласти шифрования информации, техническому обслуживанию шифро-вальных (криптографических) средств, информационных систем и теле-коммуникационных систем, защищенных с использованием шифро-вальных (криптографических) средств (за исключением случая, если техническое обслуживание шифровальных (криптографических) средств, информационных систем и телекоммуникационных систем, защищенных с использованием шифровальных (криптографических) средств, осуществляется для обеспечения собственных нужд юридического лица или индивидуального предпринимателя) [Электронный ресурс].: постановление Правительства Рос. Федерации от 16.04.2012 № 313 // КонсультантПлюс : справочная правовая система / разраб. НПО «Вычисл. математика и информатика». – Москва : Консультант Плюс, 1997-2020. – Режим доступа : http://www.consultant.ru. – 01.12.2020.
|
|
8. Интернет СУБД [Электронный ресурс]. –Математика криптографи и теория шифрования - Режим доступа:https://intuit.ru/studies/courses/552/408/lecture/9368?page=6
9. Интернет СУБД [Электронный ресурс]. –Метод Лемана- Режим доступа:http://wp.wiki wiki.ru/wp/index.php/%D0%9C%D0%B5%D1%82%D0%BE%D0%B4_%D0%9B%D0%B5%D0%BC%D0%B0%D0%BD%D0%B0
10. Интернет СУБД [Электронный ресурс]. – Python- Режим доступа:https://pythonworld.ru/moduli/modul-math.html
11. Интернет СУБД [Электронный ресурс]. – Pythondocymentation- Режим доступа:https://andreyex.ru/yazyk-programmirovaniya-python/python-3-chislovaya-funkciya-sqrt/
12. Интернет СУБД [Электронный ресурс]. – Pythondocymentation- Режим доступа:https://docs.microsoft.com/ru-ru/cpp/c-runtime-library/reference/ceil-ceilf-ceill?view=msvc-160&viewFallbackFrom=vs-2019
13. Интернет СУБД [Электронный ресурс]. – Разложение чисел- Режим доступа:https://brestprog.by/topics/factorization/
14. С. Авдошин, А.Савельев «Криптоанализ: вчера, сегодня, завтра » - 2009. - [Электронный ресурс] https://www.osp.ru/os/2009/03/8120956
|
|
15. Л. Инфельд, Т.Е. Халл «Метод факторизации» - 2009. -[Электронный ресурс] http://ega-math.narod.ru/Nquant/Infeld.htm
16. Интернет СУБД [Электронный ресурс]. Алгоритмы факторизации натуральных чисел Режим доступа: https://studbooks.net/2321890/informatika/algoritmy_faktorizatsii_naturalnyh_chisel
Приложение А
Листинг программы
frommathimportsqrt, ceil
k=0
z=1
chase=int(input("Чтобы воспользоваться алгоритмом ферма введите 1, чтобы использовать алгоритм Лемана введите 2:"))
ifchase==1:
whileTrue:
try:
n = int(input("Введите целое нечётное число:"))
k = 0
z = 1
ifn % 2 == 1:
s1 = sqrt(n)
s = ceil(s1)
ifs != s1: # если не целое извленичение
whilez != 0:
x = s + k
L = (x ** 2) - n
y1 = sqrt(L)
y = round(y1)
ify == y1:
a = x + y
b = x - y
print(n, "=", a, "*", b)
ifa == 1 orb == 1:
print(n, "Простое число")
z = 0
else:
k += 1
else: # если целое
a = s
print(n, '=', a, "*", a)
else:
print('Неверное число')
exceptValueError:
print("Ошибка это не число")
if chase==2:
N=int(input(" Введитецелоенатуральноечисло :"))
I, k, d, A, B, t, dd=int
for I := 2 in Trunc(Power(N, 1 / 3))
if N % I == 0:
Result = I
for k == 1 in Trunc(Power(N, 1 / 3)) do:
for d ==0 in Trunc( Power(N, 1 / 6) / (4 * Sqrt(k)) ) + 1:
A = Trunc(Sqrt(4 * k * N)) + d;
t = Sqrt(A) - 4 * k * N;
if t <0:
B = Trunc(Sqrt(t))
if Sqr(B) == t:
ASSERT((A + B) * (A - B) // N == 0 )
dd = GCD(A - B, N)
if (1 <dd) and (dd< N):
Result = dd
else:
print(' Неверноечисло ')
except ValueError:
print(" Ошибкаэтонечисло ")
Дата добавления: 2021-01-20; просмотров: 67; Мы поможем в написании вашей работы! |
Мы поможем в написании ваших работ!