Д. Кана «Помилка шифрувальника часом є єдиною надією криптоаналітика».
Френсіс Бекон у своїй першій роботі 1580 запропонував двійковий спосіб кодування латинського алфавіту, за принципом аналогічний тому, що зараз використовується в комп'ютерах. Для кодування повідомлень Френсіс Бекон запропонував кожну букву тексту замінювати на групу з п'яти символів "A" або "B" (так як послідовністю з п'яти двійкових символів можна закодувати багато раз, що достатньо для шифрування 26 букв англійського алфавіту)[8] . За часів Френсіса Бекона англійський алфавіт складався з 24 букв: літери "I" і "J", а також "U" і "V" були попарно невідмітні і використовувалася одна замість іншого [3].
a aaaaa g bbbba n baabb t babba
b aaaab h bbbab o aabba u + v abbaa
c aaabb i + j bbabb p abbab w baaab
d aabbb k abbba q bbaba x aaaba
e abbbb l bbbaa r babab y aabab
f bbbbb m bbaab s ababb z ababa
Bаріант шифру Бекона, який використовує сучасний англійський алфавіт:
a aaaaa g bbbba m bbaab s ababb
y aabab b aaaab h bbbab n baabb
t babba z ababa c aaabb i bbabb
o aabba u abbaa d aabbb j babbb
p abbab v bbaaa e abbbb k abbba
q bbaba w baaab f bbbbb l bbbaa
r babab x aaaba
Отже, розглянувши цей розділ можна підсумувати загальну суть шифру Бекона. Бекон запропонував двійковий спосіб кодування латинського алфавіту , який полягав у заміні букв алфавіту на комбінацію з п'яти букв «а» і «в».
1.3.Особливості використання шифру, порівняльний аналіз з іншими шрифтами
Письменниця Елізабет Уелс Геллап протягом свого життя неодноразово досліджувала листи, знайдені у різних місцях написані Беконом. Сам Бекон говорив про те, якщо б хтось розшифрував його повідомлення, то на нього чекала б миттєва смерть. Шифр має певні особливості - довжина вихідних даних у 5 разів перевищує довжину вхідних даних , тому закодований текст займає великий розмір, а, отже, його важче передати , а правилами криптографії говориться, що у кожному хорошому шифрі довжина вхідних і вихідних даних однакова. Закодовані повідомлення можна легко розкодувати. Але і достоїнством шифру є те, що його можна закодувати декілька раз і цим самим підвищити криптостійкість шифру. На сьогоднішній день цей шифр є мало актуальним, оскільки займає багато розміру, а це особливо важливо оскільки від цього залежить швидкість передачі повідомлення вартість його зберігання і т.д.
Якщо зробити порівняння з іншим відомим шифром Атбаш то шифр Бекона має багато недостатків. Шифр Атбаш – стародавній шифр, що використовує техніку дзеркальної перестановки. В шифрі Атбаш перша буква алфавіту замінюється останньою , друга передостанньою і так далі, шифрування відбувається заміною букв відкритого тексту на симетричні ним букви того ж алфавіту, аналогічно виконується дешифрування. Вихідний текст займає такий самий розмір, як і вхідний , що робить його простим у використанні , хоча даний шифр має певні особливості, він має низьку криптостійкість і його запросто зламати маючи простий алфавіт в той час, коли у шифрі Бекона кожній букві ставиться у відповідність комбінація з п'яти символів і його розшифрувати можна лише маючи ключ.
Отже, якщо зробити порівняння цих двох шифрів, то можна дійти до висновку, що кожен з них має як і недоліки, так і переваги, але на сьогоднішній час їх майже не використовують через появу нових універсальних шифрів.
РОЗДІЛ II. СЕРЕДОВИЩЕ ПРОГРАМУВАННЯ С++ BUILDER
2.1.Короткий опис мови С++
Історія розроблення мови програмування C++ починається з мови С, тобто її побудовано на фундаменті та синтаксисі мови С. Мова C++ насправді є надбудовою мови С, тобто усі компілятори C++-програм можна використовувати для компілювання С-програм. Мову C++ можна назвати розширеною та поліпшеною версією мови С, у якій реалізовано технологію об'єктно-орієнтованого, узагальненого та процедурного програмування. Вона також містить ряд інших удосконалень мови С, наприклад, розширений набір бібліотечних функцій.[4]C++ розширення С - був розроблений Бьярном Страуструпом в лабораторії центра AT&T Bell Laboratories (Нью-Джерсі, США) у 1979 році. Початкова назва С була змінена на С++ у 1983 році. Оскільки С - стандартизована, апаратно-незалежна, широко доступна мова, програми, написані на С, часто можуть бути виконані з мінімальними модифікаціями або навіть без них на різних комп’ютерних системах. За останні роки у сфері програмного забезпечення відбувся ряд значних змін. С++ та інші схожі з ними мови програмування відносяться до категорії процедурних мов. Кожен оператор такої мови є вказівкою комп’ютеру виконати певну дію. Програміст створює перелік інструкцій, а комп’ютер виконує дії, що відповідають цим інструкціям.[1]
Мова С++ підтримує декілька основних парадигм програмування: об'єктно-орієнтованої, узагальненої та процедурної. Зараз мова С++ є одною з найбільш популярних мов програмування . На мові С++ написано більшість програм , ОС.
Вона має ряд особливостей:
-підтримка об'єктно-орієнтованого програмування через класи;
-підтримка узагальненого програмування через шаблони;
-доповнення до стандартної бібліотеки;
-додаткові типи даних;
-обробка винятків;
-простори імен;