In this paper there are presented the results of ARIA encryption standard parallelizing . The data dependence analysis of loops was applied in order to parallelize this algorithm. The OpenMP standard is chosen for presenting the algorithm parallelism. There is shown that the standard can be divided into parallelizable and unparallelizable parts. As a result of the study, it was stated that the most time-consuming loops of the algorithm are suitable for parallelization. The efficiency measurement for a parallel program is presented.
PL
W artykule zaprezentowano proces zrównoleglenia koreańskiego standardu szyfrowania ARIA. Przeprowadzono analizę zależności danych w pętlach programowych celem redukcji zależności danych blokujących możliwości zrównoleglenia algorytmu. Standard OpenMP w wersji 3.0 został wybrany celem prezentacji równoległości najbardziej czasochłonnych obliczeniowo pętli odpowiedzialnych za procesy szyfrowania oraz deszyfrowania danych w postaci bloków danych. Pokazano, że zrównoleglona wersja algorytmu składa się z części sekwenycjnej zawierającej instrukcje wejścia/wyjścia oraz równoległej, przy czym najbardziej czasochłonne pętle programowe zostały efektywnie zrównoleglone. Dołączono wyniki pomiarów przyspieszenia pracy zrównoleglonego standardu szyfrowania oraz procesów szyfrowania oraz deszyfrowania danych z wykorzystaniem dwóch, czterech, ośmiu, szesnastu oraz trzydziestu dwóch wątków oraz zastosowaniem ośmioprocesorowego serwera opartego na czterordzeniowych procesorach Quad Core Intel Xeon.
A parallelization process of the Camellia encryption algorithm along with the description of exploited parallelization tools is presented. The data dependency analysis of loops and the loop transformations were applied in order to parallelize the sequential algorithm. The OpenMP standard was chosen for representing parallelism of the cipher. Speed-up measurements for a parallel program are presented.
PL
W artykule przedstawiono proces zrównoleglenia japońskiego standardu szyfrowania danych - blokowego algorytmu szyfrowania Camellia, bazującego na sieci Feistela, pracującego w trybie pracy ECB. Krótko opisano wykorzystane do tego celu narzędzia programowe: program Petit, który służy do analizy istniejących zależności danych w pętlach programowych oraz OpenMP API. W celu zrównoleglenia algorytmu sekwencyjnego zastosowano analizę zależności danych oraz dokonano przekształceń pętli programowych w celu wyeliminowania istniejących zależności pętli blokujących proces ich zrównoleglenia. Do prezentacji równoległości szyfru wybrano język C oraz standard OpenMP. Załączono również wyniki pomiarów przyspieszenia pracy programu równoległego oraz najbardziej czasochłonnych pętli, które są odpowiedzialne za proces szyfrowania oraz deszyfrowania danych dla dwóch, czterech, ośmiu oraz szesnastu procesorów oraz dla dwóch, czterech, ośmiu oraz szesnastu wątków utworzonych z zastosowaniem kompilatora IntelŽ C++ w wersji.11.0 zawierającego OpenMP API w wersji 3.0. Najbardziej czasochłonne pętle zostały w pełni zrównoleglone, natomiast przyspieszenie pracy całego programu, zgodnie z prawem Amdahla jest zredukowane z uwagi na występowanie w kodzie programu części sekwencyjnej, zawierającej sekwencyjne operacje wejścia- wyjścia służące do odczytu danych z pliku, oraz zapisu danych do pliku. Wyniki zrównoleglenia opisane w artykule mogą być pomocne do implementacji sprzętowych algorytmu Camellia.
JavaScript jest wyłączony w Twojej przeglądarce internetowej. Włącz go, a następnie odśwież stronę, aby móc w pełni z niej korzystać.