10
Мар
2018

Индекс совпадений, криптография

Задача: посчитать индекс совпадений для заданного сообщения

Индекс совпадений это введите сюда описание изображения

Код:

    mes = 'dlcpmpcxuopjnsaeqcxxcnhccgpstrsslyjyzsjiejzlylirsgastfovukwdyvkepydiblcjosllerdmqdeyvfcbxgkvmerbwgbvbtsmyxhscibkqcdejmmnripnmqmxmcagdgflirgicxggzlcbejzlylircejlipdmqccqdikyrjiwusxaribkpnrezoxqkjrovqozcbejgspnwyxhqgmrmlccacbigxhgmerohziapsxgxkrrijoxrovmpxfogmbvcctmxhgxkyvtfkfcdmldlcmmnripdivd'
mas = list(mes)
def get_index(mes):
    mas = list(mes)
    le = len(mas)
    j = 2

    for i in range(2, 8):
        count_i = []
        for j in range(0, le, j):
            count = mas.count(mas[j]) - 1
            count_i.append(count)
        j = i + 1
        index = 0
        for k in range(len(count_i)):
            index += (count_i[k] * (count_i[k] - 1)) / (le * (le - 1))        
        print(index)

get_index(mes)

Проблема: получаются не корректные значения.

Хотел бы увидеть комментарии в чем может быть проблема.

Источник: https://ru.stackoverflow.com/questions/796179/%D0%98%D0%BD%D0%B4%D0%B5%D0%BA%D1%81-%D1%81%D0%BE%D0%B2%D0%BF%D0%B0%D0%B4%D0%B5%D0%BD%D0%B8%D0%B9-%D0%BA%D1%80%D0%B8%D0%BF%D1%82%D0%BE%D0%B3%D1%80%D0%B0%D1%84%D0%B8%D1%8F

Тебе может это понравится...

Добавить комментарий