Відмінності між версіями «Лавиновий ефект»

Матеріал з Вікіпедії — вільної енциклопедії.
Перейти до навігації Перейти до пошуку
[перевірена версія][перевірена версія]
(Скасування редагування № 14534653 користувача Diel1024 (обговорення))
(Скасування редагування № 14996542 користувача Ua2004 (обговорення))
 
(Не показано 2 проміжні версії 2 користувачів)
Рядок 1: Рядок 1:
'''Лавиновий ефект''' ({{lang-en|'''avalanche effect'''}})&nbsp;— посилається на бажану властивість криптографічного [[алгоритм]]у, зазвичай [[блочний шифр|блочних шифрів]] і [[криптографічна геш-функція|криптографічних геш-функцій]]. Лавиновий ефект очевидний у разі якщо, коли дані вході ледве змінюються (наприклад, змінився один біт) вихідні дані змінюються значно (наприклад, змінюється половина бітів). У випадку якісних блочних шифрів, подібна маленька зміна або в [[ключ (криптографія)|ключі]], або в [[відкритий текст|відкритому тексті]] повинна спричинити значну зміну [[шифротекст]]у. Цей термін вперше використав [[Хорст Фейстель]],<ref name="feistel1973">{{Cite journal|first=Horst|last= Feistel|title=Cryptography and Computer Privacy|journal=[[Scientific American]]|volume=228|issue= 5|year= 1973|url =http://www.apprendre-en-ligne.net/crypto/bibliotheque/feistel/index.html }}</ref> хоча сама поняття поринає назад щонайменше до [[плутанина і поширення|поширення]] [[Клод Шеннон|Шеннона]].<!-- references somewhere for both...-->
+
'''Лавиновий ефект''' ({{lang-en|'''avalanche effect'''}})&nbsp;— посилається на бажану властивість криптографічного [[алгоритм]]у, зазвичай [[блочний шифр|блочних шифрів]] і [[криптографічна геш-функція|криптографічних геш-функцій]]. Лавиновий ефект очевидний у випадку коли за умови дуже маленької зміни даних на вході (наприклад, змінився один біт) результовні дані змінюються значно (наприклад, змінюється половина бітів). У випадку якісних блочних шифрів, подібна маленька зміна або в [[ключ (криптографія)|ключі]], або у [[відкритий текст|відкритому тексті]] повинна спричинити значну зміну [[шифротекст]]у. Цей термін вперше використав [[Хорст Фейстель]],<ref name="feistel1973">{{Cite journal|first=Horst|last= Feistel|title=Cryptography and Computer Privacy|journal=[[Scientific American]]|volume=228|issue= 5|year= 1973|url =http://www.apprendre-en-ligne.net/crypto/bibliotheque/feistel/index.html }}</ref> хоча саме поняття поринає назад щонайменше до [[плутанина і поширення|поширення]] [[Клод Шеннон|Шеннона]].
   
 
[[File:Avalanche effect.svg|thumb|300px|right|Геш-функція [[SHA-1]] показує хороший лавиновий ефект. При зміні одного біту на вході геш-сума стає зовсім іншою]]
 
[[File:Avalanche effect.svg|thumb|300px|right|Геш-функція [[SHA-1]] показує хороший лавиновий ефект. При зміні одного біту на вході геш-сума стає зовсім іншою]]
   
Якщо блочні шифри або криптографічні геш-функції не проявляють лавиновий ефект значного ступеня, тоді це недостатнє перемішування, і звідси [[Криптоаналіз|криптоаналітик]], маючи лише вихідні дані, може зробити передбачення щодо вхідних даних. Цього може вистачити, щоб частково або повністю зламати алгоритм. Отже лавиновий ефект є бажаним з точки зору розробника криптографічного алгоритму.
+
Якщо блочні шифри або криптографічні геш-функції не проявляють лавиновий ефект значного ступеня, тоді це недостатнє перемішування, і звідси [[Криптоаналіз|криптоаналітик]], маючи лише результовні дані, може зробити передбачення щодо вхідних даних. Цього може вистачити, щоб частково або повністю зламати алгоритм. Отже лавиновий ефект є бажаним з точки зору розробника криптографічного алгоритму.
   
Розробка шифру або гешу, що виявляв би значний лавиновий ефект становить одну з першочергових цілей дизайну. Саме через це більшість блочних шифрів є послідовністю перетворень таких як заміна, переставка або модульна арифметика. Через це й геш-функції мають великий розмір блоків. Обидві ці властивості дозволяють маленьким змінам через ітерації алгоритму швидко поширитись так, що кожен біт вихідних даних залежатиме від усіх бітів даних на вході ще до завершення алгоритму.{{Citation needed|date=June 2010}}
+
Розробка шифру або гешу, що виявляв би значний лавиновий ефект становить одну з першочергових цілей дизайну. Саме через це більшість блочних шифрів є послідовністю перетворень таких як заміна, переставка або модульна арифметика. Через це й геш-функції мають великий розмір блоків. Обидві ці властивості дозволяють маленьким змінам через ітерації алгоритму швидко поширитись так, що кожен біт результовних даних залежатиме від усіх бітів даних на вході ще до завершення алгоритму.{{Citation needed|date=June 2010}}
   
 
== Сувора умова лавиновості ==
 
== Сувора умова лавиновості ==

Поточна версія на 06:26, 14 жовтня 2014

Лавиновий ефект (англ. avalanche effect) — посилається на бажану властивість криптографічного алгоритму, зазвичай блочних шифрів і криптографічних геш-функцій. Лавиновий ефект очевидний у випадку коли за умови дуже маленької зміни даних на вході (наприклад, змінився один біт) результовні дані змінюються значно (наприклад, змінюється половина бітів). У випадку якісних блочних шифрів, подібна маленька зміна або в ключі, або у відкритому тексті повинна спричинити значну зміну шифротексту. Цей термін вперше використав Хорст Фейстель,[1] хоча саме поняття поринає назад щонайменше до поширення Шеннона.

Геш-функція SHA-1 показує хороший лавиновий ефект. При зміні одного біту на вході геш-сума стає зовсім іншою

Якщо блочні шифри або криптографічні геш-функції не проявляють лавиновий ефект значного ступеня, тоді це недостатнє перемішування, і звідси криптоаналітик, маючи лише результовні дані, може зробити передбачення щодо вхідних даних. Цього може вистачити, щоб частково або повністю зламати алгоритм. Отже лавиновий ефект є бажаним з точки зору розробника криптографічного алгоритму.

Розробка шифру або гешу, що виявляв би значний лавиновий ефект становить одну з першочергових цілей дизайну. Саме через це більшість блочних шифрів є послідовністю перетворень таких як заміна, переставка або модульна арифметика. Через це й геш-функції мають великий розмір блоків. Обидві ці властивості дозволяють маленьким змінам через ітерації алгоритму швидко поширитись так, що кожен біт результовних даних залежатиме від усіх бітів даних на вході ще до завершення алгоритму.[джерело?]

Сувора умова лавиновості[ред. | ред. код]

Сувора умова лавиновості (англ. strict avalanche criterion) — це узагальнення лавинового ефекту. Вона виконується якщо, завжди коли один вхідний біт був змінений, кожен біт на виході змінюється з імовірністю 50%. Умова покладається на концепцію повноти і лавиновість і була введена Вебстером і Таваресом (англ. Webster, Tavares) 1985.[2]

Умова незалежності бітів[ред. | ред. код]

Умова незалежності бітів (англ. bit independence criterion) стверджує, що біти j і k мають змінюватись незалежно при зміні одного вхідного біту i, для всіх i, j і k.

Див. також[ред. | ред. код]

Примітки[ред. | ред. код]

  1. Feistel, Horst (1973). Cryptography and Computer Privacy. Scientific American 228 (5). 
  2. Webster, A. F.; Tavares, Stafford E. (1985). On the design of S-boxes. Advances in Cryptology - Crypto '85. Lecture Notes in Computer Science 219. New York, NY,: Springer-Verlag New York, Inc. с. 523–534. ISBN 0-387-16463-4.