5.4. Поняття про дайджест повідомлення
Дайджест повідомлення - це унікальна послідовність символів, що однозначно відповідає змісту повідомлення. Зазвичай дайджест має фіксовану ємність - 128 чи 168 бітів, що не залежить від довжини самого повідомлення. Дайджест вноситься до складу електронного цифрового підпису разом із відомостями про автора та зашифровується разом з ними.
Найпростіший прийом створення дайджесту - контрольна сума символів. Наприклад, якщо букві "а" відповідає в таблиці ASCII число 192, букві "б" - число 193, а букві "в" - 194, то контрольна сума тексту "абв" - 1*192+2*193+3*194=1160. Для великого за обсягом тексту це буде величезне число, тому, щоб одержати контрольну суму в 128 бітів, її переводять у двійковий вигляд, тобто який вона і має у комп'ютері, та беруть останні 128 знаків.
Зрозуміло, що при зміні змісту, навіть однієї букви, зміниться і контрольна сума. Множення на 1, 2, 3 і так далі у формулі для підрахунку контрольної суми необхідне для того, щоб не можна було переставити букви без зміни контрольної суми. Про правильну контрольну суму користувач довідається з підпису і, порівнявши їх, виявить стороннє втручання. Зрозуміло, що цю операцію комп'ютер робить автоматично.
Існують більш надійні способи, щоб зловмисник не зміг змінити повідомлення так, щоб зберегти контрольну суму, якщо шифр буде зламаний і контрольна сума стане відомою зловмис-
100
нику. Для цього використовують спеціальні хеш-функції (необоротні функції). Це означає, що за контрольною сумою легко знайти значення цієї функції - хеш-код. Але за хеш-кодом неможливо відтворити контрольну суму. Точніше, мільярди мільярдів контрольних сум дають точнісінько той самий хеш-код.
До речі, так зберігають паролі, наприклад, на інтернет- сайтах. Щоб їх не вкрали, зберігають лише хеш-коди. Самих паро- леів немає, так що й красти нічого. У разі перевірки пароля, наданого користувачем, обробляють пароль хеш-функцією, тобто одержують його хеш-код та порівнюють з хеш-кодом, який зберігають.
Повернемося до дайджесту повідомлення. Контрольна сума обробляється хеш-функцією, щоб утворити хеш-код (аутен- тифікацію повідомлення). Хеш-код так само унікальний для даного повідомлення, як і відбитки пальців для людини. Це і є дайджест повідомлення. Його називають відбитком чи відтиском. Іноді - електронною печаткою. Дайджест повідомлення приєднується до електронного підпису і стає його складовою частиною.
Сторона, що приймає повідомлення, розшифровує своє повідомлення, перевіряє електронний підпис за допомогою своєї половини ключа, потім обробляє повідомлення тією ж хеш- функцією, що й відправник, після чого звіряє отриманий дайджест із тим, що містився в підписі. Якщо вони збіглися, значить, повідомлення не піддалося змінам у каналі зв'язку. Природно, що всі ці дії виконуються автоматично без участі самого користувача.