Кіріспе
Шифрмәтін ұзындығы шифрды нақты бұзу үшін қажет. Криптографияда бірлік қашықтығы – күшпен іздеу арқылы шифрды бұзу үшін, мүмкін болатын қате кілттер санын нөлге дейін азайтуға қажетті шифрмәтін ұзындығы. Яғни, барлық мүмкін кілттерді сынап көргеннен кейін, тек бір ғана дұрыс шешілім болуы керек, яғни негізгі хабарламада қайталану болса, кілтті толық анықтау үшін қажетті шифрмәтін мөлшері. Клод Шеннон 1949 жылғы "Секретті жүйелердің коммуникация теориясы" атты мақаласында бірлік қашықтығын анықтады. "WNAIW" шифрмәтін тізбегіне шабуыл жасауды қарастырайық, ол бес әріпті кілтті пайдаланып Vigenère шифрымен шифрланған. Теориялық тұрғыдан алғанда, бұл тізбекті кез келген басқа тізбекке ашуға болады – RIVER және WATER белгілі бір кілттер үшін мүмкін жауаптар. Бұл криптоанализдің жалпы ережесі: қосымша ақпарат болмаса, бұл хабарды ашу мүмкін емес. Әрине, тіпті осы жағдайда да, бес әріпті кілттердің тек белгілі бір саны ғана ағылшын тіліндегі сөздерді шығарады. Барлық мүмкін кілттерді сынап көрсек, біз тек RIVER және WATER ғана емес, сонымен қатар SXOOS және KHDOP-ты да аламыз. "Жұмыс істейтін" кілттердің саны барлық мүмкін кілттер жиынынан әлдеқайда аз болады. Мәселе – осы "жұмыс істейтін" кілттердің қайсысы дұрыс екенін білуде; қалғандары – жалған.
In cryptography, unicity distance is the length of an original ciphertext needed to break the cipher by reducing the number of possible spurious keys to zero in a brute force attack. That is, after trying every possible key, there should be just one decipherment that makes sense, i. e. expected amount of ciphertext needed to determine the key completely, assuming the underlying message has redundancy. Claude Shannon defined the unicity distance in his 1949 paper "Communication Theory of Secrecy Systems". Consider an attack on the ciphertext string "WNAIW" encrypted using a Vigenère cipher with a five letter key. Conceivably, this string could be deciphered into any other string—RIVER and WATER are both possibilities for certain keys. This is a general rule of cryptanalysis: with no additional information it is impossible to decode this message. Of course, even in this case, only a certain number of five letter keys will result in English words. Trying all possible keys we will not only get RIVER and WATER, but SXOOS and KHDOP as well. The number of "working" keys will likely be very much smaller than the set of all possible keys. The problem is knowing which of these "working" keys is the right one; the rest are spurious.
Кілттің өлшемімен және мүмкін жай мәтінмен байланыс
Жалпы, кілттің мөлшері және мүмкін болатын хабарламалар саны туралы нақты болжамдарды ескере отырып, оқылмалы хабарламаны шығаратын бір ғана кілт (орташа есеп бойынша) болатын шифрмәтіннің орташа ұзындығы бар. Жоғарыдағы мысалда тек үлкен әріптермен жазылған ағылшын әріптерін көреміз, сондықтан жай мәтін осы форматта екенін есептесек, тізбектегі әр позиция үшін 26 мүмкін әріп болады. Сол сияқты, егер бес таңбалы үлкен әріптерден тұратын кілттерді қарастырсақ, онда K = 26⁵ мүмкін кілт болады, олардың көпшілігі «жұмыс істемейді». Тіпті осы шектеулі әріптер жиынтығын пайдаланып, N = 26ᴸ болатын, өте көп мүмкін хабарламалар N жасауға болады, мұнда L – хабарламаның ұзындығы. Дегенмен, олардың тек шағын бөлігі ғана тілдің ережелеріне сәйкес оқылмалы жай мәтін болады, шамамен M, мұнда M-нің N-ден әлдеқайда кіші болуы мүмкін. Сонымен қатар, M жұмыс істейтін кілттер санымен бір-бірге сәйкес келеді, сондықтан K мүмкін кілт болғанда, олардың тек K × (M/N) бөлігі «жұмыс істейді». Олардың бірі дұрыс кілт, ал қалғаны – жалған кілттер. Хабарламаның ұзындығы L ұлғайған сайын M/N мәні кез келгендей кішірейетініне байланысты, ақырында жалған кілттердің санын нөлге теңетейтін жеткілікті үлкен L болады. Дәл осы L, KM/N = 1 теңдеуін қанағаттандырады. Осы L – бірлік қашықтық.
Қосалқы шифрдың бірлік арақашықтығы
Қарапайым алмастыру шифры үшін мүмкін кілттер саны алфавитты ауыстырудың мүмкін жолдарының санына тең. Барлық кілттердің тең мүмкіндікке ие екенін ескерсек, бит. Ағылшын тілі үшін, сондықтан 28 таңбалы шифрмәтін берілген жағдайда, теориялық тұрғыдан ағылшын тіліндегі түпнұсқа мәтінді және осы арқылы кілтті анықтау мүмкін.
So given 28 characters of ciphertext it should be theoretically possible to work out an English plaintext and hence the key.
Іс жүзінде қолдану
Бірлік қашықтығы пайдалы теориялық өлшем, бірақ нақты ресурстарға (шектелген) ие қарсылас шабуыл жасағанда блок шифрінің қауіпсіздігі туралы көп мәлімет бермейді. Шифрмәтіннің үш блогынан тұратын бірлік қашықтығы бар блок шифрін қарастырайық. Егер есептеу мүмкіндіктері шектеулі қарсыласқа дұрыс кілтті табу үшін жеткілікті ақпарат болса да (қарапайым толық іздеу), бұл практикада есептеу жағынан мүмкін болмауы мүмкін. Бірлік қашықтығын ашық мәтіннің артық ақпаратын азайту арқылы арттыруға болады. Мұны істеудің бір жолы – шифрлау алдында деректерді сығу техникаларын қолдану, мысалы, оқылымдылықты сақтай отырып, артық дауысты әріптерді жою. Бұл бәрібір жақсы идея, себебі ол шифрлауға жататын дерек көлемін азайтады. Бірлік қашықтығынан үлкен шифрмәтіндердің тек бір ғана мағыналы түсіндірілуі бар деп есептеуге болады. Бірлік қашықтығынан қысқа шифрмәтіндердің бірнеше мүмкін түсіндірілулері болуы мүмкін. Бірлік қашықтығы криптоанализ үшін қанша шифрмәтін қажеттігін өлшемейді, бірақ криптоанализ үшін тек бір ғана логикалық шешім болуы үшін қанша шифрмәтін қажеттігін көрсетеді.