Криптографиядағы «бәрі немесе ештеңе» түрлендіруі (AONT) – деректерді түсіну үшін толық мәліметтің қажеттілігі. Шифрлеуге дейін қолданылады, қауіпсіздікті арттырады.
Ағылшыншамен салыстырыңыз: абзацты басыңыз — түпнұсқа терезеде ашылады. Абзац астындағы EN түймесі оны мәтін ішінде көрсетеді.
Мазмұны
Кіріспе
Криптографияда AONT (All or Nothing Transform) – «барлық немесе ештеңе» протоколы деп те аталатын, деректерді тек оның барлығы белгілі болғанда ғана түсінуге мүмкіндік беретін шифрлау режимі. AONT шифрлау емес, бірақ көбінесе симметриялық шифрлерді пайдаланады және шифрлау алдында қолданылуы мүмкін. Дәлірек айтқанда, «AONT – кілті жоқ, кері қайтарылатын, кездейсоқ түрлендіру, және оның барлық нәтижесі белгілі болмаса, кері қайтару қиын».
In cryptography, an all or nothing transform (AONT), also known as an all or nothing protocol, is an encryption mode which allows the data to be understood only if all of it is known. AONTs are not encryption, but frequently make use of symmetric ciphers and may be applied before encryption. In exact terms, "an AONT is an unkeyed, invertible, randomized transformation, with the property that it is hard to invert unless all of the output is known."
Алгоритмдер
Бастапқы AONT, пакеттік трансформация, Рональд Л. Ривесттің 1997 жылғы «Барлығы немесе ештеңе шифрлеу және пакеттік трансформация» атты мақаласында сипатталған. Ривест ұсынған трансформация жай мәтінді алдын ала өңдеуді қамтиды, онда әр жай мәтін блогы кездейсоқ таңдалған кілтпен шифрланған блоктың индексімен XOR операциясы жасалады, содан кейін осы кездейсоқ кілт пен барлық алдын ала өңделген блоктардың хэштері арқылы есептелген қосымша блок қосылады. Бұл алдын ала өңдеудің нәтижесі псевдохабар деп аталады және ол шифрлеу алгоритміне кіріс ретінде қолданылады. Пакеттік трансформацияны кері қайтару үшін псевдохабардың соңғы блогынан басқа барлық блоктарын хэштеу қажет, содан кейін кездейсоқ кілтті қалпына келтіру үшін барлық хэштерді соңғы блокпен XOR операциясы жасап, одан кейін кездейсоқ кілтті қолданып әрбір алдын ала өңделген блокты бастапқы жай мәтін блогына қайтару керек. Осылайша, бастапқы мәтінді псевдохабардың барлық блоктарына қол жеткізбей қалпына келтіру мүмкін емес. Ривесттің мақаласында пакеттік трансформация CBC режимінде қолданылуының толыққанды сипаттамасы берілген, бірақ оны кез келген режимде шифрлеу арқылы іске асыруға болады. Сондықтан бірнеше нұсқалар бар: пакеттік ECB трансформациясы, пакеттік CBC трансформациясы және т.б. 1999 жылы Виктор Бойко кездейсоқ оракул моделінде қауіпсіздігі дәлелденген тағы бір AONT ұсынды. Бұл іске асыру сызықтық трансформация болып табылады, бұл бастапқы анықтаманың кейбір қауіпсіздік әлсіздіктерін көрсетеді.
The original AONT, the package transform, was described by Ronald L. Rivest in his 1997 paper "All Or Nothing Encryption and The Package Transform". The transform that Rivest proposed involved preprocessing the plaintext by XORing each plaintext block with that block's index encrypted by a randomly chosen key, then appending one extra block computed by XORing that random key and the hashes of all the preprocessed blocks. The result of this preprocessing is called the pseudomessage, and it serves as the input to the encryption algorithm. Undoing the package transform requires hashing every block of the pseudomessage except the last, XORing all the hashes with the last block to recover the random key, and then using the random key to convert each preprocessed block back into its original plaintext block. In this way, it's impossible to recover the original plaintext without first having access to every single block of the pseudomessage. Although Rivest's paper only gave a detailed description of the package transform as it applies to CBC mode, it can be implemented using a cipher in any mode. Therefore, there are multiple variants: the package ECB transform, package CBC transform, etc. In 1999 Victor Boyko proposed another AONT, provably secure under the random oracle model. This implementation is a linear transform, perhaps highlighting some security weakness of the original definition.
Қолданбалар
AONT кілт өлшемін ұлғайтпай шифрлаудың күшін арттыру үшін қолданылуы мүмкін. Бұл, мысалы, үкіметтік криптографиялық экспорт ережелерін сақтай отырып, құпия ақпаратты қорғауға пайдалы болуы мүмкін. AONT бірнеше шабуылдардың алдын алуға көмектеседі. AONT шифрлау күшін арттырудың бір жолы – ақпараттың тек бір бөлігін ашатын шабуылдарды болдырмау, себебі бұл жартылай ақпарат бастапқы хабарламаның ешқандай бөлігін қалпына келтіруге жеткіліксіз. Алғашқы еңбектерде ұсынылған тағы бір қолданысы – қауіпсіздік құнын төмендету: мысалы, файл AONT арқылы өңделеді, содан кейін оның тек шағын бөлігі шифрланады (мысалы, смарт-картада). AONT осының нәтижесінде бүкіл файлдың қорғалғанын қамтамасыз етеді. Трансформацияның күшті нұсқасын пайдалану маңызды (мысалы, жоғарыда Бойко ұсынған нұсқасы). AONT алдын ала қателерді түзетумен біріктіріліп, есептеу арқылы қамтамасыз етілген құпия бөлісу схемасын жасауға болады. AONT-тің басқа да қолданыстарын оптималды асимметриялық шифрлау толтыруында (OAEP) табуға болады.
AONTs can be used to increase the strength of encryption without increasing the key size. This may be useful to, for example, secure secrets while complying with government cryptography export regulations. AONTs help prevent several attacks. One of the ways AONTs improve the strength of encryption is by preventing attacks which reveal only part of the information from revealing anything, as the partial information is not enough to recover any of the original message. Another application, suggested in the original papers is to reduce the cost of security: for example, a file can be processed by AONT, and then only a small portion of it can be encrypted (e. g., on a smart card). AONT will assure that as a result the whole file is protected. It is important to use the stronger version of the transform (such as the one by Boyko above). AONT may be combined with forward error correction to yield a computationally secure secret sharing scheme. Other uses of AONT can be found in optimal asymmetric encryption padding (OAEP).