• Nie Znaleziono Wyników

5. METODA JFD OPARTA NA ILOCZYNIE MACIERZY

5.2. Szyfrowanie

( ( )

1 )

(u u

F I E

D   , (5.1)

gdzie D(u) jest macierzą klucza deszyfrującego u-tego użytkownika, E1 jest macierzą od-wrotną do macierzy klucza szyfrującego, F(u) jest macierzą fingerprintu u-tego użytkownika, α jest współczynnikiem siły osadzania fingerprintu, oraz I jest macierzą jednostkową.

Współczynnik siły osadzania fingerprintu α reprezentuje kompromis między niezauważalno-ścią i odpornoniezauważalno-ścią osadzonych fingerprintów. Zmniejszanie wartości współczynnika α spo-woduje, że fingerprint będzie coraz mniej widoczny w odszyfrowanym obrazie. Natomiast, zwiększanie wartości współczynnika α spowoduje, że fingerprint będzie bardziej odporny na próby usunięcia. Wartość współczynnika α powinna być wybrana w taki sposób, aby możliwe było osiągnięcie możliwie największej odporności fingerprintów przy jednoczesnym zacho-waniu ich niezauważalności. Podczas badań, wartość współczynnika α została wybrana eks-perymentalnie. Wygenerowane klucze deszyfrujące D(u) należy dostarczyć poszczególnym użytkownikom w bezpieczny sposób.

5.2. Szyfrowanie

W celu zaszyfrowania obrazu kolorowego, należy go przekształcić do postaci macierzy obrazu X , która zawiera współczynniki DCT wybrane do szyfrowania selektywnego. Naj-pierw, obraz kolorowy zostaje rozłożony na trzy podobrazy składowe zgodnie z modelem przestrzeni kolorów YCbCr, czyli na podobraz zawierający składową luminancji oraz dwa podobrazy zawierające składowe różnicowe chrominancji, z których jedna stanowi różnicę między luminancją, a kolorem niebieskim, a druga stanowi różnicę między luminancją, a ko-lorem czerwonym. Każda ze składowych zostaje podzielona na bloki o rozmiarze 8×8 pikseli.

Następnie, każdy blok zostaje niezależnie poddany dwuwymiarowej dyskretnej transformacji kosinusowej DCT i przekształcony do postaci bloku 8×8 współczynników DCT. Można zaob-serwować, że wstępne przetwarzanie obrazu posiada wiele cech wspólnych z transformacjami występującymi w znanych standardach kodowania MPEG oraz JPEG, co ułatwia integrację proponowanej metody z istniejącymi metodami kodowania obrazów. Szyfrowanie, a w rezul-tacie również osadzanie fingerprintów, jest realizowane tylko w składowej luminancji, po-nieważ jest ona najbardziej istotna dla ludzkiego zmysłu wzroku oraz ma największą pojem-ność perceptualną. Niech X(b) oznacza b-ty blok DCT składowej luminancji:



Szyfrowanie wszystkich współczynników DCT luminancji najlepiej zaszyfruje obraz.

Jednakże, zgodnie z koncepcją szyfrowania selektywnego przedstawioną w rozdziale 4.2., w celu zmniejszenia złożoności obliczeniowej i czasu szyfrowania, zalecane jest zaszyfrowanie jedynie perceptualnie istotnych współczynników DCT. Należy zwrócić uwagę, że fingerprinty użytkowników będą osadzone tylko w zaszyfrowanych współczynnikach. W tym celu wybie-ranych jest R(R1) współczynników DCT składowej luminancji odpowiadających percep-tualnie istotnym elementom obrazu, gdzie RR jest rozmiarem macierzy klucza szyfrujące-go E . Perceptualnie istotne współczynniki, odpowiadające widmowym składowym niskoczę-stotliwościowym, znajdują się w lewym górnym rogu każdego bloku X(b). Współczynniki wysokiego rzędu, które znajdują się w prawym dolnym rogu bloku, są wrażliwe na kompre-sję, filtrowanie dolnopasmowe, skalowanie, rozmycie, itp., zatem nie mogą być wybrane do szyfrowania, ponieważ spowodowałoby to, że osadzone fingerprinty byłyby wrażliwe na po-wyższe operacje przetwarzania obrazu. Należy zwrócić uwagę, iż współczynnik DC, znajdu-jący się w pierwszym rzędzie i pierwszej kolumnie każdego bloku, również nie może być wybrany do osadzania fingerprintu, ponieważ jego, nawet niewielka, zmiana w znaczący ssób pogarsza jakość perceptualną obrazu. W celu rozproszenia fingerprintu na całej po-wierzchni obrazu, współczynniki wybrane do szyfrowania powinny pochodzić z możliwie jak największej liczby bloków X(b). Dla uproszczenia, bez utraty ogólności, niech liczba wszyst-kich bloków BR(R1). Wówczas, należy wybrać po jednym współczynniku z każdego bloku DCT, na przykład można wybrać współczynniki w pierwszym rzędzie i drugiej kolum-nie każdego bloku. W takim przypadku, wybrane współczynniki DCT tworzą macierz obrazu

X o rozmiarze (R1)R w następujący sposób:

Do opisu algorytmu wykorzystano przykład szyfrowania jednego współczynnika na blok, ale możliwe jest szyfrowanie większej liczby współczynników na każdy blok albo jed-nego współczynnika co kilka bloków. Jeżeli BR(R1), to należy wybrać po jednym współczynniku z co

B/R(R1)

-tego bloku DCT, gdzie

 

a oznacza zaokrąglenie liczby a w dół do najbliższej liczby całkowitej. Natomiast, jeżeli BR(R1), to wówczas należy

wybrać po

R(R1)/B

współczynników z każdego bloku DCT, w kolejności zigzag (ang.

zigzag order), gdzie

 

a oznacza zaokrąglenie liczby a w górę do najbliższej liczby całkowi-tej. Zamiast kolejności zigzag, można zastosować pseudolosowy algorytm wyboru współ-czynników, ale musi być on znany również stronie odbiorczej. Wybór współczynników w kolejności zigzag gwarantuje, że w pierwszej kolejności zostaną wybrane perceptualnie naji-stotniejsze współczynniki. Jeżeli istnieje potrzeba zaszyfrowania większej liczby współczyn-ników niż R(R1), to należy uformować więcej macierzy obrazu i zrealizować szyfrowanie dla każdej macierzy niezależnie. Do dalszych obliczeń, wybrano przypadek szyfrowania jed-nego współczynnika na blok.

Wybrane współczynniki luminancji obrazu są szyfrowane w następujący sposób:

E klucza szyfrującego, Y jest macierzą zaszyfrowanych współczynników DCT. Macierze X oraz Y mają rozmiar (R1)R, natomiast macierz E ma rozmiar RR. Różnica w roz-miarach macierzy, tj. brak jednego wiersza, w połączeniu z okresową zamianą klucza, przed-stawioną w rozdziale 5.10., daje odporność szyfru na atak ze znanym tekstem otwartym.

Następnie, zaszyfrowane współczynniki są umieszczane w swoich lokalizacjach w blo-kach DCT, z których uprzednio zostały wybrane. Wówczas, b-ty blok DCT składowej lumi-nancji Y(b) obrazu zaszyfrowanego ma następującą postać:

 roz-miarem macierzy klucza szyfrującego E .

Po szyfrowaniu, konieczne jest końcowe przekształcenie bloków DCT zaszyfrowanej luminancji oraz obu chrominancji, analogiczne do przekształceń w standardzie JPEG. Bloki DCT wszystkich składowych obrazu zostają poddane kwantyzacji DCT (kompresji),

ustawio-ne w kolejności zigzag, oraz poddaustawio-ne kompresji bezstratustawio-nej za pomocą kodowania metodą RLE (ang. Run-Length Encoding) i metodą Huffmana. Należy zwrócić uwagę, iż szyfrowanie jest przeprowadzane jednokrotnie, niezależnie od liczby użytkowników systemu. Zaszyfro-wane dane są wysyłane do wszystkich użytkowników, za pomocą jednej transmisji rozgłosze-niowej typu mulicast.