РахманП.А., МЭИ(ТУ), 2007.
Основызащитыданныхотразрушения. КодыРида-Соломона.
Однаизнаиболееострыхпроблемвинформационныхтехнологиях– этозащита
данныхотразрушения. Какговорится, «энтропия»слепа, нотерпелива. «Энтропия» неимеет
собственной воли и неразрушаетцеленаправленноконкретный порядоквконкретной
структуре, ноунееестьединственнаяцель– глобальныйхаос, ионаслучайнымобразом,
вслепую, наносит свои удары по любым упорядоченным структурам, делая изних
бесформеннуюбессмыслицу. «Энтропия» вечна, фундаментальнаинепобедима. Скольконе
восстанавливайпорядок, онасноватерпеливостремитсявездедостичьбеспорядка. Чтобы
противостоять «энтропии» необходимо непрерывно затрачивать энергию, проявлять
изобретательностьиприменятьспециальныетехнологии.
Втечениебольшейчастивторойполовиныпрошлоговекаматематикииспециалисты
поаппаратным ипрограммным средствам ЭВМ ипроблемам передачиданныхупорно
билисьнадтем, чтобы выработатьтехнологию, позволяющую кодироватьинформацию
такимобразом, чтобы приразрушениислучайновыбранныхееблоков, этиблокиможно
быловосстановить. Послетого, какбылазаложенаматематическаяосновадлякодирования,
разработаныэффективныеалгоритмы кодированияидекодирования, технологияближек
концу прошлого векасталаболее или менееустоявшейся, и, честно говоря, вообще
превратиласьвширпотреб, которымпользуютсявсеповседневноидаженеподозреваютоее
существовании. Технологияприменяетсяприприеме/ передачеданныхвсетяхипричтении
/ записиданныхнабольшинственосителейинформации.
И здесь, еслипользователямидомохозяйкам можнопроститьихневежественно-
потребительскоеотношениеквысокимтехнологиям, тоужуважающиесебяспециалистыпо
системным и сетевым технологиям обязаны бытьзнакомы стонкостями и деталями
технологии. Ну, аужуважающиесебяпрограммисты, каквподтверждениесвоейвысокой
квалификации, должны иметь свои собственные корректно работающиепрограммные
реализациитехнепростыхалгоритмов, которыеиспользуютсявэтойтехнологии.
1. Краткооконечныхполях. ПоляГалуа.
Основнаятрудностьвпониманиитехнологиикодированиязаключаетсявтом, чтоона
базируетсянена привычной еще со школьной скамьи алгебре вбесконечном поле
вещественныхчисел, анаспециальнойалгебреконечныхполей[1], конкретнонаполях
Галуасколичествомэлементов, равным2
M
. ПолеГалуаобозначаетсяGF(2
M
). Аббревиатура
GF – этосокращениеотGalois Field. Какизвестно, впривычнойдлянасалгебреоперации
сложения/ вычитанияитемболееужумножения/ делениямогутдатьрезультат, который
выходитзапределынекоторогозаданногодиапазона. Например, еслимыимеемдиапазон
чиселот1 до100, иработаемтолькосчисламиизэтогодиапазона, то, например, результаты
операций: 45 + 90, 10 – 25, 50 * 30, 15 / 60 ужевыйдутзаэтотдиапазон. Авотвконечном
поле, любыеоперации слюбыми элементами этогополяврезультатедаютэлемент,
принадлежащийэтомужеполю. Соответственно, вконечныхполяхвообщеотсутствует
такиепроблемы, какпереполнениеприумноженииипотеряточностиприделении, делая
темсамымалгебруконечныхполейнаиболееестественнойсточкизренияЭВМ, которая
имеетконечнуюразряднуюсеткудляпредставленияданныхиконечнуюемкостьпамяти.
Впринципеалгебраконечныхполейнесложнее, аместамигораздодажепроще, чем
классическаяалгебра. Внейможновыполнятьлюбыеарифметическиеоперации, составлять
и решатьуравнения, и дажедифференцировать и интегрировать. Простыми словами,
конечное поле– это некоторая конечная совокупность чисел, над которыми можно
производитьчетыреарифметическиеоперации, невыходязапределыэтойсовокупности. В
частности, полеГалуаGF(2
8
), используемоевтехнологиикодирования, состоитиз2
8
= 256
целыхчиселот0 до2
8
– 1, расположенныеневпорядкевозрастания, аособымобразом.