Ағылшыншамен салыстырыңыз: абзацты басыңыз — түпнұсқа терезеде ашылады. Абзац астындағы EN түймесі оны мәтін ішінде көрсетеді.
Мазмұны
Кіріспе
Ағын шифрлерін бұзу әдістері
Methods to break a stream cipher
Ағын шифрлері, онда ашық мәтін биттері эксклюзивті немесе операциясы (xor) арқылы шифрланған бит ағынымен біріктіріледі, дұрыс қолданғанда өте қауіпсіз болуы мүмкін. Дегенмен, егер белгілі бір сақтық шаралары сақталмаса, олар шабуылға ұшырауы мүмкін:
Stream ciphers, where plaintext bits are combined with a cipher bit stream by an exclusive or operation (xor), can be very secure if used properly. However, they are vulnerable to attacks if certain precautions are not followed:
кілттерді ешқашан екі рет пайдаланбау керек
нақтылығын растау үшін жарамды шифрлауға ешқашан сенбеу керек.
keys must never be used twice
valid decryption should never be relied on to indicate authenticity
Бит-өңдеу шабуылдары
Мысалы, қарсылас біздің хабардың толық немесе бір бөлігін біледі делік. Ортадағы адам шабуылы немесе қайта ойнату шабуылының бөлігі ретінде, олар кілтті, K, білмей хабардың мазмұнын өзгерте алады. Мысалы, олар хабарламаның бір бөлігін біледі, мысалы, электрондық қаражат аударуы, онда "$1000.00" ASCII жолы бар. Олар оны "$9500.00" деп өзгерте алады, шифрмәтіннің осы бөлігін "$1000.00" пен "$9500.00" жолдарының XOR операциясы арқылы өзгерту арқылы. Бұл қалай жұмыс істейтінін түсіну үшін, біз жіберген шифрмәтін C(K) XOR "$1000.00" деп есептейік. Қарсылас жасайтын жаңа хабарлама:
Suppose an adversary knows the exact content of all or part of one of our messages. As a part of a man in the middle attack or replay attack, they can alter the content of the message without knowing the key, K. Say, for example, they know a portion of the message, say an electronics fund transfer, contains the ASCII string "$1000.00". They can change that to "$9500.00" by XORing that portion of the ciphertext with the string: "$1000.00" xor "$9500.00". To see how this works, consider that the cipher text we send is just C(K) xor "$1000.00". The new message the adversary is creating is:
Естеріңізге сала кетейік, жол өзімен XOR операциясы жасалса, барлық нөлдер шығады, ал нөлдер жолының XOR операциясы екінші жолмен жасалса, ол жол өзгермейді. Нәтижесі, C(K) XOR "$9500.00", егер $9500 дұрыс сома болса, біздің шифрмәтініміздің қандай болар еді. Биттерді ауыстыру шабуылдарынан сақтану үшін хабардың аутентификациялық кодын қосу арқылы, бұрмалаудың анықталу ықтималдығын арттыруға болады.
Recall that a string XORed with itself produces all zeros and that a string of zeros XORed with another string leaves that string intact. The result, C(K) xor "$9500.00", is what our ciphertext would have been if $9500 were the correct amount. Bit flipping attacks can be prevented by including message authentication code to increase the likelihood that tampering will be detected.
ІV таңдалған шабуыл
Ағымдық шифрлар құпия кілтті келісілген инициализация векторымен (IV) біріктіріп, уақыт-уақыт қайта синхрондалатын псевдокездейсоқ тізбек тудырады. "Таңдалған IV" шабуылы құпия кілт туралы ақпаратты ашуға мүмкіндік беретін нақты IV-терді табуға негізделген. Әдетте, бірнеше IV жұбы таңдалады, содан кейін жасалған кілт ағындарындағы айырмашылықтар сызықтық корреляция және/немесе алгебралық бульдік байланыс үшін статистикалық тұрғыдан талданады (Дифференциалдық криптоанализді де қараңыз). Егер инициализация векторының белгілі бір мәндерін таңдау жасалған тізбекте кездейсоқтықтан өзге үлгіні көрсетсе, онда бұл шабуыл кейбір биттерді есептеп, тиімді кілт ұзындығын қысқартады. Шабуылдың белгісі – жиі синхронизацияның қайта жасалуы. Қазіргі заманғы ағымдық шифрлар құпия кілтті инициализация векторымен тиімді араластыру үшін қадамдарды қамтиды, әдетте көптеген бастапқы раундтарды орындау арқылы.
Stream ciphers combine a secret key with an agreed initialization vector (IV) to produce a pseudo random sequence which from time to time is re synchronized. A "Chosen IV" attack relies on finding particular IV's which taken together probably will reveal information about the secret key. Typically multiple pairs of IV are chosen and differences in generated key streams are then analysed statistically for a linear correlation and/or an algebraic boolean relation (see also Differential cryptanalysis). If choosing particular values of the initialization vector does expose a non random pattern in the generated sequence, then this attack computes some bits and thus shortens the effective key length. A symptom of the attack would be frequent re synchronisation. Modern stream ciphers include steps to adequately mix the secret key with an initialization vector, usually by performing many initial rounds.