тоди відомі з найдавніших часів і дуже тривалий час вони розглядалися скоріше як деякий хитрування, ніж строга наукова дисципліна. Класичною завданням криптографії є ​​оборотне перетворення деякого зрозумілого вихідного тексту (відкритого тексту) в уявну випадкової послідовність деяких знаків, звану Шифртекст або криптограмою. При цьому шифр-пакет може містити як нові, так і наявні у відкритому повідомленні знаки. Кількість знаків в криптограмі і в початковому тексті загалом випадку може відрізнятися. Неодмінною вимогою є те, що, використовуючи деякі логічні заміни символів в шифртексту, можна однозначно і в повному обсязі відновити вихідний текст. Надійність збереження інформації у таємниці визначалося в далекі часи тим, що в секреті тримався сам метод перетворення. p> Пройшли багато століття, в перебігу яких криптографія була предметом обраних - жерців, правителів, великих воєначальників і дипломатів. Незважаючи на малу поширеність використання криптографічних методів і способів подолання шифрів противника надавав істотний вплив на результат важливих історичних подій. Відомий не один приклад того, як переоцінка використовуваних шифрів приводила до військових і дипломатичних поразок. Незважаючи на застосування криптографічних методів у важливих областях, епізодичне використання криптографії не могло навіть близько підвести її до тієї ролі і значенням, які вона має в сучасному суспільстві. Своїм перетворенням на наукову дисципліну криптографія зобов'язана потребам практики, породженим електронної інформаційною технологією.
Пробудження значного інтересу до криптографії та її розвиток почався з XIX століття, що пов'язано із зародженням електрозв'язку. У XX сторіччі секретні служби більшості розвинених країн стали відноситься до цієї дисципліни як до обов'язковому інструменту своєї діяльності.
В основі шифрування лежать два основних поняття: алгоритм і ключ. Алгоритм - Це спосіб закодувати вихідний текст, в результаті чого виходить зашифроване послання. Зашифроване послання може бути інтерпретовано тільки за допомогою ключа.
Очевидно, щоб зашифрувати послання, досить алгоритму.
Голландська криптограф Керкхоффом (1835 - 1903) вперше сформулював правило: стійкість шифру, тобто криптосистеми - набору процедур, керованих деякої секретної інформацією невеликого обсягу, повинна бути забезпечена в тому випадку, коли криптоаналітику противника відомий весь механізм шифрування за винятком секретного ключа - інформації, що управляє процесом криптографічних перетворень. Мабуть, одним із завдань цієї вимоги було усвідомлення необхідності випробування розроблюваних кріптосхему в умовах більш жорстких по порівняно з умовами, в яких міг би діяти потенційний порушник. Це правило стимулювало появу більш якісних шифруючих алгоритмів. Можна сказати, що в ньому міститься перший елемент стандартизації в області криптографії, оскільки передбачається розробка відкритих способів перетворень. В даний час це правило інтерпретується більш широко: всі довготривалі елементи системи захисту повинні передбачатись відомими потенційному зловмиснику. В останню формулювання криптосистеми входять як окремий випадок систем захисту. У цьому формулюванні передбачається, що всі елементи систем захисту поділяються на дві категорії - довготривалі і легко змінювані. До довготривалим елементів відносяться ті елементи, які відносяться до розробки систем захисту і для зміни вимагають втручання фахівців або розробників. До легко змінюваним елементів відносяться елементи системи, які призначені для довільного модифікування або модифікування по заздалегідь заданому правилу, виходячи з випадково обираних початкових параметрів. До легко змінюваним елементів відносяться, наприклад, ключ, пароль, ідентифікація та т.п. Розглянуте правило відображає той факт, належний рівень секретності може бути забезпечений тільки стосовно легко змінюваним елементам.
Незважаючи на те, що згідно сучасним вимогам до криптосистемам вони повинні витримувати криптоаналіз на основі відомого алгоритму, великого обсягу відомого відкритого тексту і відповідного йому шифртекста, шифри, використовувані спеціальними службами, зберігаються в секреті. Це обумовлено необхідністю мати додатковий запас міцності, оскільки в даний час створення криптосистем з доказовою стійкістю є предметом розвивається теорії і являє собою досить складну проблему. Щоб уникнути можливих слабкостей, алгоритм шифрування може бути побудований на основі добре вивчених і апробованих принципах і механізмах перетворення. Жоден серйозний сучасний користувач не буде покладатися тільки на надійність збереження в секреті свого алгоритму, оскільки вкрай складно гарантувати низьку ймовірність того, що інформація про алгоритм стане відомою зловмисникові.
Секретність інформації забезпечується введенням в алгоритми спеціальних ключів (кодів). Використання ключа при шифруванні надає два істотних перев...