Skip to content

Conversation

@haiIrake
Copy link

В лабораторной работе были сгенерированы случайные бинарные последовательности на языках C++ и Java, после чего на Python были проведены с этими последовательностями 3 теста NIST. В файле random.cpp находится генератор случайных последовательностей на языке C++, а в RandomGenerator.java на языке Java. Результаты сгенерированных последовательностей находятся в файлах sequence_сpp.txt и sequence_java.txt. В tests.py реализованы тесты NIST для определения меры случайности полученных последовательностей.
Результаты тестов находятся в файле results.json. Так как у каждого теста результаты P-value > 0.01, то обе последовательности можно считать случайными.

@github-actions github-actions bot added In progress Код в процессе проверки Lab 2 Лабораторная 2 "Статистический анализ псевдослучайных последовательностей" labels Sep 12, 2025
lab_2/tests.py Outdated
Comment on lines 44 to 45
for i in range(0, len(sequence), 8):
block = sequence[i:i + 8]

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

длина блока может быть и другой
посмотрите NIST 800-22

Comment on lines +12 to +13
s_n = abs(sequence.count('1') - sequence.count('0')) / math.sqrt(len(sequence))
p_value = math.erfc(s_n / math.sqrt(2))

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

добавить обработку исключений

return 0.0

v_n = sum(1 if sequence[i] != sequence[i + 1] else 0 for i in range(n - 1))
p_value = math.erfc(abs(v_n - 2 * n * zeta * (1 - zeta)) / (2 * math.sqrt(2 * n) * zeta * (1 - zeta)))

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

добавить обработку исключений

@Daria-creator-lab Daria-creator-lab added Approved Код зачтен. Можно сдавать теорию. and removed In progress Код в процессе проверки labels Sep 26, 2025
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

Approved Код зачтен. Можно сдавать теорию. Lab 2 Лабораторная 2 "Статистический анализ псевдослучайных последовательностей"

Projects

None yet

Development

Successfully merging this pull request may close these issues.

2 participants