Ағылшыншамен салыстырыңыз: абзацты басыңыз — түпнұсқа терезеде ашылады. Абзац астындағы EN түймесі оны мәтін ішінде көрсетеді.
Мазмұны
Кіріспе
Ресейлік криптографиялық хэш-функциясы
Russian cryptographic hash function
GOST хэш-функциясы, GOST R 34.11 94 және GOST 34.311 95 стандарттарында анықталған 256 биттік криптографиялық хэш-функция болып табылады. Ол бастапқыда Ресейдің ұлттық стандарты GOST R 34.11 94 «Ақпараттық технологиялар – Криптографиялық ақпараттық қауіпсіздік – Хэш-функция» стандартында анықталған. ТМД-ның басқа да мүше мемлекеттері қолданатын эквивалентті стандарт – GOST 34.311 95. Бұл функцияны GOST R 34.11 2012 стандартының жаңа редакциясында анықталған Streebog хэш-функциясымен шатастыруға болмайды. GOST хэш-функциясы GOST блок шифрына негізделген.
The GOST hash function, defined in the standards GOST R 34.11 94 and GOST 34.311 95 is a 256 bit cryptographic hash function. It was initially defined in the Russian national standard GOST R 34.11 94 Information Technology – Cryptographic Information Security – Hash Function. The equivalent standard used by other member states of the CIS is GOST 34.311 95. This function must not be confused with a different Streebog hash function, which is defined in the new revision of the standard GOST R 34.11 2012. The GOST hash function is based on the GOST block cipher.
Алгоритм
GOST өзгермелі ұзындықты хабарды 256 биттік тұрақты ұзындықты шығысқа өңдейді. Кіріс хабары 256 биттік блоктарға бөлінеді (сегіз 32 биттік кішкентай эндиандық бүтін сан); хабардың ұзындығы 256 битке дейін жеткізілуі үшін қажетті мөлшерде нөлдермен толықтырылады. Қалған биттер бұрынғы хэштелген блоктардың арифметикалық қосындысынан және түпнұсқа хабарламаның ұзындығын биттермен көрсететін 256 биттік бүтін саннан тұратын 256 биттік бүтін санмен толтырылады.
GOST processes a variable length message into a fixed length output of 256 bits. The input message is broken up into chunks of 256 bit blocks (eight 32 bit little endian integers); the message is padded by appending as many zeros to it as are required to bring the length of the message up to 256 bits. The remaining bits are filled up with a 256 bit integer arithmetic sum of all previously hashed blocks and then a 256 bit integer representing the length of the original message, in bits.
Шифрлау түрлендіруі
Кілттер жасалғаннан кейін, шифрлеу GOST 28147 89 стандарты бойынша кілттерді қарапайым алмастыру режимінде жүзеге асырылады. Шифрлеу үшін мәліметтер 64 биттік төрт блокқа бөлінеді: , және осы блоктардың әрқайсысы келесідей шифрленеді: Содан кейін, нәтижелер блоктары біріктіріліп, 256 биттік бір блокқа айналдырылады: .
After the keys generation, the enciphering of is done using GOST 28147 89 in the mode of simple substitution on keys Let's denote the enciphering transformation as E (enciphering 64 bit data using 256 bit key). For enciphering, the is split into four 64 bit blocks: , and each of these blocks is enciphered as:
After this, the result blocks are concatenated into one 256 bit block: .
Криптоанализ
2008 жылы GOST хэш-функциясын толық бұзатын шабуыл жарияланды. Мақалада 2¹⁰⁵ уақыттың ішінде соқтығысу шабуылы, ал 2¹⁹² уақыттың ішінде бірінші және екінші преобраз шабуылдары ұсынылған (2ⁿ уақыты шабуыл кезінде алгоритмнің шамамен есептелген саны).
In 2008, an attack was published that breaks the full round GOST hash function. The paper presents a collision attack in 2105 time, and first and second preimage attacks in 2192 time (2n time refers to the approximate number of times the algorithm was calculated in the attack).