Wtr = ’Я автор этого произведения’ B i t = b i t a r r a yO B i t . fromby tes (Wtr ) WtrBits = B i t . t o O lQ LnBits = l en (WtrB i t s ) Dat l = 0 . 5 * n p . f l o a t _ (D a t ) [Cl,Ch] = pywt . dw t (D a t l , ’db2’ ) LnCh = len(Ch) ChNew = np . zeros(LnCh) f o r X in x r a n g e ( l e n (W t rB i t s ) ) : Val = in t (W t rB i t s [X]) ChNew[X] = Val Dat2 = pywt . i dw t (C l , ChNew,’db2’ ) [CIMod.ChMod] = pywt . dwt (Dat2 , ’db2’ ) ChModBit = np . round(ChMod) Answ = b i t a r r a yO Answ. extend(ChModBit) p r in t A n sw . t ob y t e sO [ : l en (W t r ) ] Реализация вейвлет-преобразования произведена средствами пакета PvWavelets, который относится к Open Source программам. В данном случае использовано преобразование с1Ь2', описание которого приведено в первой главе. Алгоритм можно усложнить, применив процедуру multiresolution. Детали оставляем читателю. 3.6. Линейное предсказание и автоматическое обнаружение копий файла В предыдущих параграфах было показано, каким образом автор может доказать свое авторство, используя технику внедрения ЦВЗ. Однако этой процедуре должно предшествовать обнаружение автором пиратских копий своего файла. Как правило, при копировании будут предприняты попытки так изменить файл, что непосредственное сравнение его
RkJQdWJsaXNoZXIy MTExODQxMg==