Файл: Бзуа талап етілетін беріктілігі бар арапайым пиясздер генераторын жзеге асыру.docx
ВУЗ: Не указан
Категория: Не указан
Дисциплина: Не указана
Добавлен: 09.01.2024
Просмотров: 95
Скачиваний: 2
ВНИМАНИЕ! Если данный файл нарушает Ваши авторские права, то обязательно сообщите нам.
10-11 срспЖұмыстың мақсаты: бұзуға талап етілетін беріктілігі бар қарапайым құпиясөздер генераторын жүзеге асыру.Жұмысты орындау реті1. Берілген вариант үшін 3 кестеде P, V, T сипаттамаларының мәндерін табу.2. (1) өрнегі бойынша берілген P, V, T үшін астынғы шекарасын S* есептеу.3. (2) шарты орындалатындай A қуаты бар кейбір әліпбиді таңдау және минималды құпиясөздің ұзындығын L алу. 4. Пайдаланушылардың құпиясөздерін генерациялау үшін бағдарламаны жүзеге асыру. Бағдарлама L ұзындығы бар кездейсоқ символдар тізбегін қалыптастыру керек.5. Зертханалық жұмыс бойынша есепті рәсімдеу.Кесте 3. Тапсырмалар варианттары
P – қаскүнемнің құпиясөзді іріктеу ықтималдығы.V – қаскүнемнің құпиясөздерді іріктеу жылдамдығы.T – құпиясөздің жұмыс істеуінің максималды уақыты.Алғашқы берілгендер V, T, P бойынша мүмкінді құпиясөздер санының тек астыңғы шекарасын S* анықтауға болады. Астыңғы шекарасының бүтінсандық мәні келесі өрнекпен есептеледіS* = [V ∙ T / P]S* =3*30/10^(-7)=> S*=90*10^(7)A – құпиясөздер әліпбиінің қуаты болсын (құпиясөздерді құру кезінде қолдануға мүмкін болатын символдар саны: егер құпиясөз кіші ағылшын әріптерінен тұрса, онда A = 26,тағыда басқа талаптармен 74 болады), L – құпиясөз ұзындығы.S* ≤ S= AL. S=90*10^(7)Енді осы табылған ұзындықта құпиясөз генерациялау программмасы жазуымыз қажет. 1-сурет. Құпиясөз генерациясыҚосымшаimport randompasslen = int(input("Құпиясөз ұзақтығы"))s="abcdefghijklmnopqrstuvwxyz01234567890ABCDEFGHIJKLMNOPQRSTUVWXYZ!@#$%^&*()?"if passlen >= 1 :p = "".join(random.sample(s,passlen ))elif passlen < 8:print("Құпия сөз ұзақтығы 8-ден кем болмауы керек")s="abcdefghijklmnopqrstuvwxyz01234567890ABCDEFGHIJKLMNOPQRSTUVWXYZ!@#$%^&*()?"print(p)
| Вариант | P | V | T |
| 1 | 10-4 | 15 құпиясөз/мин | 2 апта |
| 2 | 10-5 | 3 құпиясөз/мин | 10 күн |
| 3 | 10-6 | 10 құпиясөз/мин | 5 күн |
| 4 | 10-7 | 11 құпиясөз/мин | 6 күн |
| 5 | 10-4 | 100 құпиясөз/күн | 12 күн |
| 6 | 10-5 | 10 құпиясөз/күн | 1 ай |
| 7 | 10-6 | 20 құпиясөз/мин | 3 апта |
| 8 | 10-7 | 15 құпиясөз/мин | 20 күн |
| 9 | 10-4 | 3 құпиясөз/мин | 15 күн |
| 10 | 10-5 | 10 құпиясөз/мин | 1 апта |
| 11 | 10-6 | 11 құпиясөз/мин | 2 апта |
| 12 | 10-7 | 100 құпиясөз/күн | 10 күн |
| 13 | 10-4 | 10 құпиясөз/күн | 5 күн |
| 14 | 10-5 | 20 құпиясөз/мин | 6 күн |
| 15 | 10-6 | 15 құпиясөз/мин | 12 күн |
| 16 | 10-7 | 3 құпиясөз/мин | 1 ай |
| 17 | 10-4 | 10 құпиясөз/мин | 3 апта |
| 18 | 10-5 | 11 құпиясөз/мин | 20 күн |
| 19 | 10-6 | 100 құпиясөз/күн | 15 күн |
| 20 | 10-7 | 10 құпиясөз/күн | 1 апта |
| 21 | 10-4 | 20 құпиясөз/мин | 2 апта |
| 22 | 10-5 | 15 құпиясөз/мин | 10 күн |
| 23 | 10-6 | 3 құпиясөз/мин | 5 күн |
| 24 | 10-7 | 10 құпиясөз/мин | 6 күн |
| 25 | 10-4 | 11 құпиясөз/мин | 12 күн |
| 26 | 10-5 | 100 құпиясөз/күн | 1 ай |
| 27 | 10-6 | 10 құпиясөз/күн | 3 апта |
| 28 | 10-7 | 20 құпиясөз/мин | 20 күн |
| 29 | 10-4 | 15 құпиясөз/мин | 15 күн |
| 30 | 10-5 | 3 құпиясөз/мин | 1 апта |
P – қаскүнемнің құпиясөзді іріктеу ықтималдығы.V – қаскүнемнің құпиясөздерді іріктеу жылдамдығы.T – құпиясөздің жұмыс істеуінің максималды уақыты.Алғашқы берілгендер V, T, P бойынша мүмкінді құпиясөздер санының тек астыңғы шекарасын S* анықтауға болады. Астыңғы шекарасының бүтінсандық мәні келесі өрнекпен есептеледіS* = [V ∙ T / P]S* =3*30/10^(-7)=> S*=90*10^(7)A – құпиясөздер әліпбиінің қуаты болсын (құпиясөздерді құру кезінде қолдануға мүмкін болатын символдар саны: егер құпиясөз кіші ағылшын әріптерінен тұрса, онда A = 26,тағыда басқа талаптармен 74 болады), L – құпиясөз ұзындығы.S* ≤ S= AL. S=90*10^(7)Енді осы табылған ұзындықта құпиясөз генерациялау программмасы жазуымыз қажет. 1-сурет. Құпиясөз генерациясыҚосымшаimport randompasslen = int(input("Құпиясөз ұзақтығы"))s="abcdefghijklmnopqrstuvwxyz01234567890ABCDEFGHIJKLMNOPQRSTUVWXYZ!@#$%^&*()?"if passlen >= 1 :p = "".join(random.sample(s,passlen ))elif passlen < 8:print("Құпия сөз ұзақтығы 8-ден кем болмауы керек")s="abcdefghijklmnopqrstuvwxyz01234567890ABCDEFGHIJKLMNOPQRSTUVWXYZ!@#$%^&*()?"print(p)