Využití obrazových souborových formátů v oblasti steganografie

Rozměr: px
Začít zobrazení ze stránky:

Download "Využití obrazových souborových formátů v oblasti steganografie"

Transkript

1 Mendelova univerzita v Brně Provozně ekonomická fakulta Využití obrazových souborových formátů v oblasti steganografie Bakalářská práce Vedoucí práce: Ing. Jan Přichystal, Ph.D. Lukáš Šajtar Brno 2010

2 Na tomto místě bych chtěl poděkovat ing. Janu Přichystalovi, Ph.D. za vedení bakalářské práce a cenné rady při její tvorbě.

3 Prohlašuji, že jsem tuto bakalářskou práci vyřešil samostatně s použitím literatury, kterou uvádím v seznamu. V Brně dne 4. ledna

4 4 Abstract Šajtar, L. Usage of image file formats in steganography. Bachelor thesis. Brno, Presented bachelor thesis deals with the image file formats and their utilization in steganography. It is partially focused on definitions of stenography terms and forms and usage of stenography, both in the past and today. Furthermore, the author deals with mostly used formats for storage of graphical information and analyzes the possibility of storage of text in one chosen format. The bulk of the thesis deals with a proposition and implementation of an algorithm for message hiding. The author will use the Java programming language. The end of the thesis attends to evaluation of an algorithm implementation and a possibility of using it in practice. Key words Information hiding, LSB algorithm, PNG image format, steganography Abstrakt Šajtar, L. Využití obrazových souborových formátů v oblasti steganografie. Bakalářská práce. Brno, Předkládaná bakalářská práce se zabývá tématem obrazových souborových formátů a jejich využitím v oblasti steganografie. Je z části zaměřena na vysvětlení pojmu steganografie, její formy a využití jak v minulosti, tak i v současnosti. Autor se dále zabývá jednotlivými nejčastěji využívanými formáty pro uchování grafické informace a u jednoho vybraného formátu provede analýzu možnosti uchování textové zprávy. Převážná část práce se zabývá navržením a samotnou implementací algoritmu pro ukrývání zpráv. Autor k tomuto využije programovací jazyk Java. Závěr práce je věnován zhodnocení implementace algoritmu a možnosti využití v praxi. Klíčová slova Algoritmus LSB, grafický formát PNG, steganografie, ukrývání informací

5 OBSAH 5 Obsah 1 Úvod a cíl práce Úvod Cíl práce Metodika práce 9 3 Steganografie Vysvětlení pojmu steganografie a její princip Minulost Současnost Mikrotečky Digitální steganografie Aplikace pro ukládání informací do grafických formátů Nejpoužívanější rastrové formáty současnosti GIF JPEG BMP PNG Metoda komprimace Průhlednost Gamma faktor Vnitřní struktura formátu PNG Algoritmus pro ukrytí zprávy Princip fungování algoritmu Kódování hlavičky zprávy Dekódování zprávy z nosiče informací Implementace a problémy při vytváření aplikace Vlastní implementace Problémy při vytváření aplikace Ovládání aplikace Kódování zprávy do obrázku Dekódování zprávy z obrázku Nápověda a ukončení aplikace Diskuse a zhodnocení řešení Diskuse Zhodnocení aplikace Závěr 40

6 OBSAH 6 10 Literatura Přílohy Příloha A screenshoty aplikace Příloha B zdrojový kód aplikace (CD)

7 1 ÚVOD A CÍL PRÁCE 7 1 Úvod a cíl práce 1.1 Úvod Snaha utajit informace nás doprovází od počátku lidstva a od té doby prošla velkým vývojem. Patrně první zaznamenané zprávy o použití těchto technik podává Héródotos. Popisuje případ komunikace pomocí voskových tabulek, kde byla zpráva vyryta do dřeva pod vrstvu vosku. Nebo také případ, kdy panovník vybral nejvěrnějšího otroka s tmavými a hustými vlasy, zprávu mu vytetoval na hlavu a poslal jej na cestu poté, co mu vlasy dorostly. Příjemce zprávy musel pouze vlasy oholit a zpráva mu byla k dispozici. Dnes se již používají daleko sofistikovanější metody, jako třeba mikrotečky nebo ukrývaní zpráv do různých multimediálních formátů, hudby, videí a také do grafických formátů, což bude i snahou autora práce. Na trhu již existuje poměrně velké množství více či méně zdařilých produktů, které dokáží ukrývat ať už text nebo třeba fotografie do grafických souborových formátů. Z těch, které jsou freeware, lze uvést například aplikace Outguess, či Hide in Picture. Základem pro vytvoření programu bude nastudovat strukturu jednotlivých grafických formátů a na základě těchto znalostí zvolit vhodný formát pro ukrývání textu. Grafických formátů je velké množství a bude potřeba zvážit, zda použít formát ze skupiny nekomprimovaných či ze skupiny komprimovaných. Obě skupiny mají své pro a proti. U nekomprimovaných je možné uložení většího objemu dat a manipulace se soubory (například pootočení o 90 stupňů) se neprojeví tak drasticky jako u komprimovaných. Na druhou stranu se zásah do struktury obrázku u nekomprimovaných formátů projeví výrazněji kvůli jeho vyšší kvalitě, než by se tomu tak stalo u formátů komprimovaných. Autor práce si toto téma vybral ze dvou důvodů. Steganografie se stává čím dál tím více aktuálním tématem. V dnešní době internetu, kdy se jen těžko dá utajit informace, jsou steganografické metody vítaným pomocníkem při utajování skutečnosti, že máme nějaké tajemství. Metoda ukrývání informace do obrázku byla zvolena z toho důvodu, že těchto datových nosičů je na internetu obrovské množství a málokoho napadne hledat utajenou zprávu na stránce s několika nevinně vypadajícími obrázky. Zároveň je metoda ukrývání zprávy do obrázku nejrozšířenější a nejoblíbenější, tudíž je možné dosažené výsledky snadno porovnat i s jinými produkty již dostupnými na trhu. Jak bylo výše uvedeno, na trhu se již nachází poměrně velké množství aplikací, které jsou určené ke stejnému nebo podobnému účelu, ať už profesionální placené, či freeware k vyzkoušení. Hlavní nevýhodou profesionálních aplikací je samozřejmě to, že za jejich používání musíme zaplatit určitou částku a cena za licenci se může vyšplhat až do řádů tisícovek korun. Aplikace, jejíž vytvoření bude cílem této bakalářské práce, bude samozřejmě zdarma a bude dostupná i se zdrojovým kódem.

8 1.2 Cíl práce 8 U aplikací, které nejsou zatíženy placenými licencemi, autor narazil na poměrně široké spektrum podporovaným grafickým formátů. Mezi nejčastěji podporované formáty jednoznačně patří BMP a JPEG. Naopak mezi zřídka podporované patří například PNG. Autor tento fakt vezme v úvahu a pokusí se při tvorbě vlastní aplikace přizpůsobit trhu. Jednoznačnou výhodou předkládané aplikace bude přehledné grafické prostředí. To u některých již existujících aplikacích není zrovna nejlepší a jsou i takové, u kterých chybí úplně. Aplikace, jejiž vytvoření je cílem předkládané bakalářské práce, může nalézt i praktické využití. Na MZLU v Brně je vyučován předmět Komprimace dat a kryptologie, jehož náplní je kromě jiného i seznámení studentů právě s principy steganografie. Vytvořená aplikace se může stát názornou pomůckou při demonstraci steganografických metod, které jsou využívány při utajování požadovaných informací. 1.2 Cíl práce Cílem bakalářské práce je navržení a implementace algoritmu pro ukrývání textu do zvoleného grafického souborového formátu. Algoritmus bude napsán v jazyce Java, a to ze dvou důvodů. Java je multiplatformní jazyk, takže aplikace poběží v běžných operačních systémech, jako jsou Windows nebo UNIX. Druhým důvodem je široká podpora při vytváření grafického prostředí programu, které bude aplikace pro pohodlnější manipulaci také obsahovat. Výsledná aplikace nalezne i praktické využití ve výuce, jak bylo uvedeno výše. Bude jasně demonstrovat, na jakém principu pracuje zvolená steganografická metoda pro ukrývání informace do obrázku. Konkrétně se posluchači dozví, jak pracuje daný algoritmus pro ukrývání zprávy, co se děje se samotným obrázkem a jakým způsobem je možné zprávu následně z obrázku opět získat.

9 2 METODIKA PRÁCE 9 2 Metodika práce První část předkládané práce bude věnována definování samotného pojmu steganografie. Autor v této části práce vysvětlí, co to vlastně je steganografie a jaké jsou její základní principy. Dále bude v této části zmíněn historický vývoj tohoto vědního oboru a dozvíme se o metodách, které nacházejí uplatnění v dnešní době moderních technologií, a o jejich praktickém uplatnění v životě. Nedílnou součástí teoretické části bude autorovo seznámení s nejčastěji používanými grafickými souborovými formáty současnosti. Autor nastuduje strukturu jednotlivých formátů, seznámí se s jejich klady a zápory, zhodnotí nabízené možnosti pro využití v oblasti steganografie a na základě této analýzy bude v praktické části práce navržen algoritmus, s jehož pomocí bude zpráva ukryta do obrázku. Praktická část práce bude z převážné části věnována samotné tvorbě aplikace pro ukrývání textu. Bude zde uveden algoritmus, který si autor práce po analýze možností ukrytí textové informace do zvoleného grafického formátu vybral a pomocí kterého bude ukryta samotná zpráva. Autor na tomto místě uvede postup své práce a popíše aplikaci jak z pohledu programátora, tak i z pohledu uživatele aplikace a popíše případné problémy, se kterými se během své práce setkal, a jejich řešení. Po úspěšném navržení a odladění algoritmu bude pomocí dalších nástrojů vytvořeno grafické prostředí pro pohodlnější manipulaci s programem. Tato část bakalářské práce, přesněji řečeno vytvořená aplikace, najde i praktické uplatnění v rámci výuky předmětu Komprimace dat a kryptologie na naší univerzitě, jak bylo uvedeno výše. Závěr práce bude věnován zhodnocení navržené implementace, možnostem dalších případných úprav aplikace pro dosažení maximální efektivity a funkčnosti programu, čeho se podařilo dosáhnout, respektive, co by ještě bylo možné zlepšit či doplnit.

10 3 STEGANOGRAFIE 10 3 Steganografie První zdokumentovaný případ steganografie pochází z 5. století před Kristem, kdy Řek Demaratus poslal varování o perských přípravách na invazi do Řecka. Zpráva byla vyrytá do voskové psací tabulky, z níž nejprve seškrábal vosk a po napsání zprávy do dřevěného podkladu ji voskem opětovně zakryl. V jiném případě byla otrokovi oholena hlava, zpráva napsána na jeho holou lebku a po dorostení vlasů byl poslán na svou cestu. 3.1 Vysvětlení pojmu steganografie a její princip Slovo steganografie pochází z řečtiny, a to ze slov steganos (schovaný) a graphein (psát). Je to moderní věda o utajení komunikace prostřednictvím ukrytí obsahu zprávy. Do oblasti steganografie patří například neviditelné inkousty, mikrotečky, či ukrývání zpráv do různých multimediálních formátů. Steganografie sice poskytuje jistý stupeň utajení, ale její nevýhodou je to, že když se zprávu podaří odhalit, je celý její obsah prozrazen. Zachycení zprávy se rovná i prozrazení jejího obsahu. Steganografie se proto často kombinuje s kryptografií, která na rozdíl od steganografie neutajuje existenci zprávy, ale snaží se pomocí šifrování či kódování zamezit odhalení jejího smyslu. Princip steganografie je velmi jednoduchý. Existuje spousta datových formátů, které mohou projít velkou změnou, aniž by to člověk svými smysly postřehl. Na tomto principu ostatně funguje třeba běžná komprese zvukových souborů nebo bitmap. A přesně toho se využívá při ukrývání zpráv. (Praktické základy Kryptologie a Steganografie, 2009) 3.2 Minulost Stejně jako se špionáž označuje za druhé nejstarší řemeslo, steganografie je jednou z nejstarších metod. Potřeba skrytého předávání zpráv skrze nepřátelské obležení byla nutná již ve starověkém Řecku. Jak již bylo uvedeno v předchozích odstavcích, pro přenos informací sloužila například vyholená hlava otroka nebo vosková tabulka, kde se pod tradiční vrstvou vosku skrývala skrytá zpráva. Další zajímavou metodu přenosu zpráv vymysleli staří Číňané, kteří psali tajné zprávy na jemné hedvábí, které pak zmačkali do malé kuličky a zalili voskem. Posel pak voskovou kuličku polkl. Zprávy se dále schovávaly v různě důmyslných, ale i zcela prostých skrýších, jako byly například berle, protézy, fůry hnoje, nebo fekální vozy.

11 3.3 Současnost 11 Pokročilejší metodou steganografie jsou tajné inkousty, které byly oblíbené především v renesanci a v následujících válečných obdobích. Tajné inkousty se vyráběly z mléčné šťávy pampelišky nebo citrónové šťávy, které se zviditelňovaly po zahřátí. Později šlo o inkousty ze složitějších syntetických sloučenin, které byly viditelné jen pod speciálním světelným zdrojem nebo po přetření jinou chemikálií, jenž byly běžně dostupné. Poslední variantou skryté komunikace, která se dnes řadí mezi steganografickou metodu, je skrytá komunikace pomocí masmédií. Této komunikace se využívalo a stále ještě využívá pro úkolování agentů v terénu, kdy obě strany komunikují pomocí zcela bezvýznamných sdělení (např. informace o počasí, inzeráty, apod.). (Kryptologie: Steganografie, 2009) 3.3 Současnost Moderní doba si žádá využití moderních metod. Díky rozvoji výpočetní techniky se steganografie začala ubírat dalším zajímavým směrem, a to digitalizací. Právě digitální steganografie odráží současný trend využití bezpečnostních metod při komunikaci. Umožňuje snadné skrytí tajné zprávy do multimediálního souboru (obrázek, video, zvuková nahrávka), který je volně vystaven na internetu. Principem digitální steganografie není absolutní neviditelnost ukryté zprávy, ale určitý, pokud možno vysoký stupeň nenápadnosti. Metod digitální steganografie je několik druhů. Mezi hlavní patří ukrývání informací do holého textu, formátovaného textu, obrázku, audiosignálu, videa, a do spustitelných souborů. V následujících odstavcích se dozvíme podrobnější informace o těchto jednotlivých metodách. Autor se zaměří především na steganografii u grafických formátů, kde uvede informace i o několika konkrétních, již existují řešeních pro daný účel. Současné metody steganografie již jsou daleko sofistikovanější než v minulosti. Žijeme ve věku počítačů, které nám poskytují dříve nevídané možnosti ukrývání informací. Co se týče způsobu aplikace digitální steganografie, specializovaný software do souboru jednoduše podle určitých zákonitostí, které jsou vyjádřeny klíčem, jenž zná pouze odesilatel a příjemce, přidá určitá data. Není-li poměr mezi původními a ukrývanými daty vyloženě nevhodně zvolen, je velmi obtížné cokoliv postřehnout. Z toho nám vyplývá další omezení, jímž je přenosová kapacita. Velikost ukryté zprávy nemůže být větší než je velikost nosného média, ale musí být naopak podstatně menší. Zpravidla se volí poměr zhruba 1:10. Větší množství ukrývané zprávy může zvýšit riziko odhalení, nižší je naopak nepraktické z hlediska objemu přenášených dat.

12 3.3 Současnost 12 Proti každé zbrani existuje obrana a ani moderní steganografie není výjimkou. Některá omezení jsme si již nastínili. Zbývá dodat snad jen to, že stejně jako existuje specializovaný software pro ukrývání zpráv, existuje i podobný software určený k jejich vyhledávání. Digitální steganografie dnes nachází rozsáhlé využití například v oblasti ochrany autorských práv. Umístníme-li například na svém webu obrázek stažený z některé komerční stránky, aniž bychom jej nějak upravovali, existuje možnost nás z této krádeže usvědčit právě prostřednictvím steganografie, a to pomocí digitálního vodoznaku. Ve státech, kde je šifrování omezeno zákonem (např. Francie), zpravidla pod záminkou boje s organizovaným zločinem či terorismem, steganografie bývá často zcela legální a je možné ji využít jako příhodnou alternativu. Jinak je její použití relativně vzácné. Pro přenos kratších zpráv se za výhodnější považuje využití kódových slov a u delších zpráv převažuje šifrování. (Praktické základy Kryptologie a Steganografie, 2009) Mikrotečky Obrovskou výhodou této metody je to, že na velmi malý prostor můžeme ukrýt velké množství informací. Princip spočívá v tom, že na jednom milimetru je vtlačena třeba celá stránka textu, kterou je tak možné ukrýt například v tečce za větou a posléze s odpovídajícím zvětšovacím přístrojem bez problémů přečíst Digitální steganografie Tento typ steganografie v současnosti poskytuje nejširší možnosti. Žijeme ve věku počítačů, ve kterých se nachází spousta datových formátů, do kterých je možné zprávu ukrýt tak, aniž by ji běžný člověk byl schopen odhalit. Zprávu je možné přidat do textových nebo jiných datových souborů, ale nejlépe se informace uchovávají v grafických a zvukových souborových formátech, které přirozeně s sebou nesou určité množství šumu, aniž by zjevně byly znehodnoceny a u nichž jsou také veškeré vedlejší vlivy na funkčnost souboru eliminovány přirozenou nedokonalostí lidských smyslů. Ukrývání informací do holého textu U této varianty textu máme k dispozici pouze jednotlivé znaky bez jakéhokoliv formátování. Jediné, co je v textu nenápadné, jsou bílé znaky, tedy mezery. Každý znak zprávy tak můžeme nahradit posloupností mezer a tabulátorů. Tyto posloupnosti umístíme na konec řádků. Jiná metoda spočívá v náhradě podobných písmen, např. O a 0, l a 1. Další způsob je pomocí gramatiky. Například v angličtině před slovem and může a nemusí být čárka. Výskyt čárky pak kóduje 0 nebo 1.

13 3.3 Současnost 13 Ukrývání informací do formátovaného textu Jako příklad ukrývání informace do formátovaného textu lze uvést Baconovu šifru. Bacon vymyslel pro každé písmeno abecedy pětiznakový kód složený ze znaků A a B. Díky tomu platí, že nosič zprávy musí být pětkrát delší než samotná ukrývaná zpráva. Nosič poté píšeme pomocí dvou různých fontů, podle A a podle B. Další možností je kódování pomocí zvětšování mezery mezi řádky či slovy o jeden pixel, což je pro lidské oko zcela nepostřehnutelný rozdíl. Posun poté kóduje nulu nebo jedničku. Mezi další metody lze zařadit ještě změnu vlastností písma, například řez, výšku či šířku. Ukrývání do audiosignálu Při ukrývání do audiosignálu můžeme použít tzv. low bit encoding, což je analogie LSB u obrázků. Zprávu kódujeme do nejméně významných bitů v každém bytu. Odvážnější metoda, tedy kódování zprávy do dvou bitů v každém bytu, je použitelná jen u málo kvalitních nahrávek, získáme však více prostoru pro ukrývání dat. Nevýhodou změn nízkých bitů je, že přenos přes analogové médium zničí zprávu šumem. Stejně tak zprávu zničí převzorkování. Jinou metodu představuje tzv. parity coding, čili kódování pomocí bitů pro kontrolu parity. V každé části audiosignálu je totiž jeden paritní bit. Je-li příslušný bit zprávy roven paritnímu bitu, zůstane část beze změny. Je-li příslušný bit zprávy různý, změníme jeden z LSB v části audiosignálu a následně změníme i paritní bit. Kontrola parity je v pořádku, audiosignál však ukrývá zprávu. Při dekódování zprávy čteme jen paritní bity. Zajímavou metodou kódování do audiosignálu představuje kódování pomocí fázových posunů. Audiosignál je složen ze sinů, které mají různou frekvenci a různou amplitudu. Mají také různý fázový posun. Lidské ucho vnímá jen frekvenci (výška tónu) a amplitudu (intenzita tónu), nikoliv fázový posun. DFT (Diskrétní Fourierova transformace) rozloží signál na siny. Následně upravíme fázový posun elementárních funkcí tak, aby kódoval zprávu a zrekonstruujeme audiosignál. Pro lidské ucho je změna zcela neznatelná, nový zvukový soubor je však velmi odlišný od původního. Čím složitější zvuk, tím větší prostor pro zprávu. Metodou, která opět vychází z reálného světa, je ukrývání do šumu. Zprávu namodulujeme na neslyšitelnou frekvenci a vzniklý signál přidáme do zvuku. Příjemce oddělí signál dané frekvence a dekóduje zprávu. De facto se jedná o princip elektromagnetického přenosu v reálném světě (např. do našeho hlasu je na neslyšitelné frekvenci ukryt signál rádia či televize, signál internetového modemu je přidán do kabelové televize, telefonní linky, atd.). Poslední metodou ukrývání do audiosignálu, o které se autor zmíní, je ukrývání do ozvěny. K určité části signálu v audiosouboru přidáme ozvěnu, přičemž intenzita a útlum ozvěny se mění. Zpoždění kóduje 0 nebo 1. Nelze použít pro nekvalitní signál, pro signál již obsahující ozvěny, nebo pro signál s dlouhými pomlkami (ozvěna ticha je totiž opět ticho). (Steganografie)

14 3.3 Současnost 14 Ukrývání do videa Video se skládá z obrazu a zvuku. Tím pádem máme možnost použití technik jak pro ukrývání do obrázků, tak i do zvuku, případně můžeme kombinovat obojí. Obrázků je navíc velké množství, pro zprávu tedy máme hodně prostoru. Video je však nepopulární nosič díky značnému objemu dat a skutečnosti, že se nepříliš často přenáší po internetu. Ukrývání do spustitelných souborů Spustitelný soubor není de facto nic víc, než posloupnost instrukcí, které má vykonat. Instrukce samozřejmě nelze měnit či jiným způsobem jakkoli upravovat, tím bychom zcela změnili chod programu, v horším případě způsobili i jeho nefunkčnost. Můžeme však využít instrukce nepodmíněného skoku, tím vytvoříme části souboru, které nikdy nebudou provedeny a do nich pak můžeme ukrýt zprávu. Tento způsob se sice poměrně snadno odhaluje, ale jen málo koho napadne ve spustitelných souborech hledat hluchá místa. Další metodou je ukrývání zprávy do nepoužitých proměnných pomocí negativní nebo pozitivní formulace podmínek skoku, atd. Využití grafických souborových formátů Největší pozornosti se u digitální steganografie těší ukrývání informací do obrázků. Je to zřejmě z toho důvodu, že obrázky lze bez problémů umístnit na web a prohlédnout si je na každém počítači, zatímco hudba vyžaduje přece jen specializovanější software a hlavně hardware. Digitální formáty obrázků jsou dvojí komprimované a nekomprimované. Pro steganografii jsou zřejmě vhodnější formáty nekomprimované, a to ze dvou důvodů. Prvním je jejich velikost, která nám do nich umožňuje uschovat větší objem dat anebo stejný objem dat rozptýlit, a tím jej o něco lépe ukrýt. Druhý důvod souvisí s asi nejpodstatnějším problémem digitální steganografie. Tímto problémem je to, že jakýkoli zásah do souboru (například otočení obrázku o 90 stupňů) s sebou nese riziko úplného znehodnocení celé zprávy. Každá taková úprava totiž znamená, že zpráva projde matematickým algoritmem, který s ukrytou steganografickou zprávou nepočítá a nebere na ni ohled. U komprimovaných formátu je pochopitelně takový algoritmus silnější, nicméně ani nekomprimované formáty nedokážou tomuto efektu zabránit. Například i malá změna velikosti obrázku je naprosto jistou cestou k likvidaci steganograficky ukryté zprávy, o změně formátu vůbec nemluvě. Vhodnými soubory pro ukrytí zprávy jsou takové, které obsahují mnoho detailů. Naopak obrázek, na němž je jednolitá azurová obloha, zřejmě není právě tím nejvhodnějším. Ačkoliv v tomto ohledu není důvod podléhat nějakému zvláštnímu perfekcionismu, zprávu přece jen není vhodné schovat například na bílé pozadí. (Praktické základy Kryptologie a Steganografie, 2009)

15 3.3 Současnost 15 LSB Nejjednoduší, zároveň však nejoblíbenější metodou, je kódování do nejméně významného bitu, tedy LSB (Least Significant Bit). Síla této metody spočívá právě v její jednoduchosti. V obrázku se mění pouze hodnota nejméně významného bitu každého bytu klasického barevného schématu RGB, čímž dojde jen k nepatrné, lidským okem nepostřehnutelné změně barvy. Příjemce takto kódované zprávy použije z obrázku jen stanovené bity. Alternativou tohoto postupu může být kódování do dvou posledních bitů. Tímto dochází přirozeně k většímu zásahu do obrázku, lidské oko však stále není schopno zaznamenat změnu. Ukládání do barevné palety Další metodou je ukrývání zprávy do barevné palety, což je využitelné například u obrázků souborového formátu GIF, který má barevný prostor 256 barev. Na začátku každého souboru je definice barevné palety, která představuje uspořádání barev. Samotná obrazová data jsou pak jen indexy do palety. Při změně palety a odpovídající změně indexů zůstane obraz vizuálně identický. Počet různých palet je roven 256!. Každé zprávě pak přiřadíme určité uspořádání barev. Do barevné palety lze ukrýt až 1683 b = 210 B. Využití ztrátové komprese u JPEGu Co se týče konkrétně nosiče ve formátu JPEG, můžeme využít vlastností ztrátové komprese. Ta je u JPEGu založena na DCT (Discrete Cosine Transform). Lidské oko je citlivější na změnu jasu než na změnu odstínu. V JPEG kompresi obě složky zpracováváme zvlášť a zprávu ukrýváme do informace o barvě na méně významné pozice v matici o velikosti 8x8. Vodoznaky Vodoznaky jsou speciální ochranné znaky, které je možno zakomponovat do bitmapového souboru tak, že nejenže nemusí být viditelné běžným okem, ale můžou navíc poměrně statečně odolávat změnám obrázku, například v grafických editorech. Jejich funkce je jednoduchá, a to chránit obrazová data uložená v digitální podobě před jejich zneužitím. Vodoznaky jsou v podstatě dvojího typu viditelné a neviditelné. První variantu, tedy viditelné vodoznaky, potkáváme na internetu poměrně často. Vložení poloprůhledného loga nebo nějakého nápisu do nejzajímavější části snímku s největší pravděpodobností zaručí, že jej nikdo nezneužije. Retuš by sice byla často možná, ale tak pracná, že zcela jistě odradí. Druhá varianta, tedy neviditelný vodoznak, je vhodná u dat, která autor prodává pouze s určitými autorskými právy. V tomto případě se vodoznak do daných dat zakomponuje ve formě určitého šumu. Je vhodné poznamenat, že vodoznaky nejsou čistou variantou digitální steganografie, přesto se k tomuto oboru většinou zařazují.

16 3.3 Současnost Aplikace pro ukládání informací do grafických formátů Následující odstavce budou věnovány několika již existujícím řešením, která umožňují ukrývání informací nejenom do grafických formátů. Autor práce se pokusil vybrat nejznámější zástupce, kde každý má nějakou svoji přednost. StegHide StegHide je možná nejkvalitnější freeware aplikací, kterou nám současný trh nabízí. Její velkou předností je podpora jak operačního systému UNIX, tak operačního systému Windows. Další výhodou této aplikace je to, že podporuje nejen ukrývání informací do grafických souborových formátů (JPEG, BMP), ale také do audionahrávek, konkrétně do formátů WAW a AU. V neposlední řadě je potřeba zmínit, že tato aplikace nám dává na výběr z několika kódovacích algoritmů podle libosti každého uživatele. Aplikace je dostupná například z této oficiální internetové stránky: Outguess OutGuess je stenografický nástroj, který umožňuje vkládání skrytých informací do redundantních bitů datových zdrojů. Povaha zdroje dat není důležitá. Program se spoléhá na jejich specifikaci, takže odstraní nadbytečné bity a po úpravě je zapíše zpět. Aplikace je kompletně zdarma pro jakékoli účely, kromě komerčního využití. Tato aplikace je napsána pro operační systém UNIX. Podporovanými formáty jsou JPEG a PNM. Hlavní výhodu této aplikace autor vidí v tom, že základní statistické metody pro odhalování přítomnosti ukryté zprávy u této aplikace selhávají a nejsou schopny ji detekovat. Jako nevýhodu tohoto produktu lze vidět v absenci grafického prostředí. Aplikace je dostupná například z této oficiální internetové stránky: BitCrypt BitCrypt je jeho tvůrcem (Moshe Szweizer) označena jako nejlepší svého druhu vůbec. Objektivnost tohoto tvrzení nechá autor na posouzení každého čtenáře, ale pojďme se věnovat faktům. Tato aplikace je napsána v jazyce VisualBasic. Co se týče zdrojového kódu, zde je to trošku komplikovanější. Zdrojový kód je z části dostupný a z části ne. Je tomu tak z jednoduchého důvodu, a tím je ochrana před stegoanalýzou, tedy před metodami odhalení přítomnosti ukryté informace v obrázku. Aplikace obsahuje také grafické prostředí, čímž se stává uživatelsky přijatelnějším a vlídnějším.

17 3.3 Současnost 17 Podle subjektivního hodnocení autora práce je tato aplikace celkově propracovanější a je lépe řešena než výše uvedený konkurenční program Outgess, což podtrhují i lépe vytvořené oficiální internetové stránky programu. Aplikace je dostupná například z této oficiální internetové stránky: Hide in picture Hide in picture je malá a nenáročná aplikace napsaná pro prostředí Windows bez nutnosti instalace. Umí pracovat s grafickými soubory ve formátu BMP a GIF. Nejsilnější stránkou této aplikace je to, že ukrývaný soubor je chráněný heslem, které je chráněno silnými šifrovacími algoritmy, z nichž má uživatel na výběr. Další výhodou této aplikace je jednoduché a intuitivní grafické prostředí a dostupnost i v českém jazyce. Snad jako jedinou nevýhodu této aplikace je možné uvést, že není open source, tedy že ji není možné získat i se zdrojovým kódem. Aplikace je dostupná například z této internetové stránky: Jak je z výše uvedených příkladů patrné, současný trh již nabízí několik vcelku zdařilých aplikací, které slouží ke skrývání informací do grafických formátů. Fakta, která se autor práce o těchto programech dozvěděl, mu budou při vytváření vlastní aplikace sloužit jako návod k tomu, jak vytvořit vlastní alternativu tak, aby co nejvíce vyhovovala svému uživateli. Klíčové prvky autor práce vidí v dostupnosti zdrojového kódu a tím pádem možnosti úpravy aplikace pro vlastní potřeby každého uživatele, v intuitivním a jednoduchém grafickém prostředí, a v podpoře jak systému Windows, tak systému UNIX. Všechny tyto prvky se autor pokusí ve své práci dodržet.

18 4 NEJPOUŽÍVANĚJŠÍ RASTROVÉ FORMÁTY SOUČASNOSTI 18 4 Nejpoužívanější rastrové formáty současnosti 4.1 GIF GIF (The Graphics Interchange Format) byl vyvinut společností CompuServe v roce 1987 (označován jako GIF87). Spolu s formátem JPEG je dnes nejpoužívanějším formátem pro zobrazování webové grafiky. GIF se používá pro zobrazování takzvané bitmapové (rastrové) grafiky, která se skládá převážně z jednoduchých čárových objektů a ne příliš velkého počtu barev. Zjednodušeně řečeno, každý obrázek je určen množinou svých bodů a každý bod (pixel) je určen svou pozicí a barvou. Formát GIF podporuje osmibitovou grafiku, což znamená, že obrázek může mít maximálně 256 barev, samozřejmě ale podporuje i menší barevnou hloubku. GIF umožňuje jednu barvu v obrázku nastavit jako průsvitnou (transparent). Tuto vlastnost ale najdeme až ve vylepšené verzi formátu GIF, označované jako GIF89a. Právě této vlastnosti se využívá při zobrazování webové grafiky, protože umožňuje postupné zobrazování obrázku již v průběhu stahování (obrázek se zobrazí celý, v horší kvalitě a postupně se zaostřuje). (GIF, JPEG a PNG jak a kdy je použít?, 2002) Tento formát využívá bezztrátového komprimačního algoritmu LZW, což mu zaručilo rychlou a účinnou kompresi (objem obrazových údajů je redukován zhruba na polovinu). Princip komprimace touto metodou je založený na zjištění početnosti jednotlivých kódů v údajích a těm se poté přiřazuje rozlišovací kód. Velkou výhodou tohoto formátu je podpora více rámců, což jsou obdélníkové oblasti umístěné uvnitř logické obrazovky. Minimálně musí být vždy přítomen jeden rámec, jejich maximální množství však není omezeno. To zajišťuje větší kompresní poměr, může zvýšit barevnou hloubku celého obrazu, slouží k tvorbě animací, sekvencí snímků, apod. Na internetu je GIF oblíbený zejména z toho důvodu, že podporuje animace a to bez nutnosti instalace pluginů na straně prohlížeče nebo použití speciálních technik (JavaScript, streamované video apod.). Tato výhoda je jednou z největších zbraní GIFu. (Pravda a mýty o GIFu, 2006) 4.2 JPEG Na začátek je vhodné zdůraznit, že korektní název popisovaného grafického formátu je JFIF, protože JPEG je pouze metoda předepisující způsob ztrátové i bezeztrátové komprimace rastrových obrázků, která však nijak nedefinuje, jakým způsobem bude zkomprimovaný obrázek uložen v souboru (JPEG je použit i v grafickém formátu TIFF, PDF, PS a multimediálním formátu MOV). Vzhledem k tomu, že formát je všeobecně znám spíše jako JPEG než JFIF, bude autor práce dále používat pro tento formát poněkud nepřesné označení JPEG. (JPEG král rastrových grafických formátů?, 2006)

19 4.3 BMP 19 Formát JPEG (The Joint Photographics Experts Group) je o něco mladším kolegou formátu GIF. Jeho počátky se datují od roku 1990, kdy byl standardizován normou ISO a v roce 1991 začal být hojně používán. Jedná se o formát používající takzvanou ztrátovou komprimační metodu, která využívá ověřeného faktu, že selektivním zanedbáním určité informace obsažené v obrázku je možné dosáhnout mnohem lepšího komprimačního poměru než při bezeztrátové komprimaci. V případě JPEGu je možné dosáhnout komprimačního poměru 1:50 až 1:100 při zanedbatelné ztrátě informace, ovšem pouze pro určitou skupinu obrázků. JPEG podporuje čtyřiadvacetibitovou grafiku, obrázek tedy může obsahovat až barev. Formát JPEG ukládá všechny informace o jednotlivých barvách v takzvaných RGB složkách, kdy každá barva je vyjádřena jako trojkombinace tří základních barev červené (Red), zelené (Green) a modré (Blue). Zastoupení každé barvy můžeme vyjádřit číslem 0 až 255, což je 8 bitů, barvy jsou tři, tedy celkem potřebujeme 24 bitů pro vyjádření libovolné ze 16 miliónů možných barev. (GIF, JPEG a PNG jak a kdy je použít?, 2002) Je vhodné zdůraznit, že JPEG není a ani nikdy nebyl určen pro ukládání obrázků obsahujících malé množství barev, kontrastní barevné přechody, ostré hrany, písmo, apod. Dnes se však můžeme často setkat například s tím, že se do JPEGu ukládají například screenshoty obsahující text. V tomto případě bude text rozmazaný nebo se značným způsobem zhorší komprimační poměr. JPEG je naopak určen pro ukládání fotografií, naskenovaných dokumentů (které jsou již vlastním procesem skenování rozmazané), monochromatických rentgenových a ultrazvukových snímků, atd. (JPEG král rastrových grafických formátů?, 2006) 4.3 BMP Grafický formát BMP je v současnosti jedním z nejpoužívanějších grafických formátů, což je z technologického pohledu vcelku paradoxní, jelikož je poměrně složitý na zpracování a zároveň nabízí pouze minimum užitečných vlastností. Oba dva výše popisované formáty umožňují ukládání obrázku v mnohem více variantách a také používají lepší komprimační schéma. Postup použitý při komprimaci je velice špatný, a proto se používá pouze u minima obrázků. Mnoho aplikací s komprimovanými obrázky ani neumí korektně pracovat. (Grafický formát BMP používaný a přitom neoblíbený, 2006) Obrázky BMP jsou ukládány po jednotlivých pixelech podle toho, kolik bitů je použito pro reprezentaci každého pixelu. Je možno rozlišit různé množství barev (tzv. barevná hloubka): 2 barvy (1 bit na pixel), 16 (4 bity), 256 (8 bitů), (16 bitů), nebo 16,7 miliónů barev (24 bitů). Osmibitové obrázky mohou místo barev používat šedou škálu (256 odstínů šedi). (BMP, 2009) Soubory ve formátu BMP většinou nepoužívají žádnou kompresi (přestože existují i varianty používající kompresi RLE). Z tohoto důvodu jsou obvykle BMP soubory mnohem větší než obrázky stejného rozměru uložené ve formátech, které kompresi používají.

20 4.4 PNG 20 Z předchozích odstavců je možné vyčíst, že BMP nepatří zrovna mezi formáty úsporné. Je tomu z několika důvodů. Neúspornost začíná už u datové hlavičky souboru, která obsahuje několik rezervovaných, z praktického hlediska zbytečných položek, které v minulosti a zřejmě ani v budoucnosti nebudou využity. Další zdroj neúspornosti je vidět u obrázků obsahujících barvovou paletu. Pro každé místo v barvové paletě jsou rezervovány čtyři byty místo postačujících tří bytů. Poslední a nejzávažnější důvod, proč se formát BMP řadí mezi neúsporné, spočívá v použitém komprimačním schématu. Zvolený postup komprimace je tak špatně navržen, že pro mnoho obrázků dochází spíše k nárůstu velikosti souboru místo jejího snižování. (Grafický formát BMP používaný a přitom neoblíbený, 2006) Asi jedinou výhodou tohoto formátu je jeho extrémní jednoduchost, dobrá dokumentovanost a také to, že jeho volné použití není znemožněno patentovou ochranou. Díky tomu jej dokáže snadno číst i zapisovat drtivá většina grafických editorů v mnoha různých operačních systémech. 4.4 PNG PNG (Portable Network Graphics) je grafický formát, který umožňuje ukládat až 16 bitů ve stupnici šedé, 48 bitů v systému pravých barev na pixel a až 16 bitů dat alfa. Ovládá progresivní zobrazení a je schopen uchovávat hodnoty gama, údaje o průhlednosti, textové informace, a používá účinnou a neztrátovou formu datové komprese. Snahou formátu PNG je nabídnout obci uživatelů grafiky a počítačového zpracování obrazu alternativu k formátu GIF firmy CompuServe v souvislosti s právními problémy spojenými se zpoplatněním implementace tohoto formátu. Byl navržen s cílem vytvořit jednoduchý formát, jenž se dá snadno implementovat, který je plně přenositelný a který dosahuje nebo překračuje všechny schopnosti formátu GIF. Na rozdíl od většiny formátů, které vznikají zásluhou jednoho či dvou programátorů bez většího ohledu na budoucí rozvoj formátu, byl PNG vytvořen výborem zainteresovaných vývojářů a odsuzovatelů formátu GIF v čele s Thomasem Boutellem. PNG se také může chlubit výjimečnou kvalitou svého návrhu, která dovoluje rozšiřování jeho funkčních vlastností bez nutnosti hledat kompromisy pro udržení dosavadní funkčnosti a bez potřeby modifikovat stávající software, který s PNG pracuje. (Murray a vanryper, Encyklopedie Grafických formátů) Metoda komprimace Grafický formát PNG používá bezeztrátovou komprimační metodu založenou na hledání stejných posloupností v datech reprezentujících rastr pixelů (metoda LZW). Tato komprimační metoda je ale poměrně nedokonalá v tom smyslu, že pouze sériově zpracovává přicházející data a neudělá si dopředu kompletní představu o barvových a prostorových vlastnostech celého obrázku.

21 4.4 PNG 21 Z tohoto důvodu obsahuje grafický formát PNG jednu velmi zajímavou a prospěšnou funkci. Na každý obrazový řádek je možné ještě před jeho komprimací aplikovat jednoduchý konvoluční filtr, jehož úkolem je předpřipravit data tak, aby se komprimovala lépe. Většinou se počítá s tím, že se po aplikaci filtru (který většinou hledá podobnosti sousedních pixelů) v datech objeví větší množství pixelů s nulovou hodnotou nebo hodnotou alespoň blízkou nule, čímž se statisticky zvýší pravděpodobnost toho, že komprimační program v datech nalezne delší shodné posloupnosti a tím zmenší výslednou délku souboru Průhlednost Jednou z největších předností grafického formátu PNG je plná podpora průhlednosti, nazývané také alfa kanál. Podle typu ukládaného obrázku je možné buď přímo každému pixelu umístěnému v rastrové mřížce nebo každé barvě uložené v barvové paletě přiřadit hodnotu průhlednosti. Podporován je jak plný osmibitový či dokonce šestnáctibitový alfa kanál (256 či stupňů průhlednosti, tj. hodnot alfa), tak i jednobitová průhlednost známá už z grafického formátu GIF. Faktem ovšem zůstává, že jeden z nejrozšířenějších webových prohlížečů (MSIE) má s průhledností PNG obrázků velké problémy a jejich korektní zobrazování je možné pouze po použití platformově závislého filtru. Ostatní webové prohlížeče, založené například na jádru Gecko, s běžnými PNG vesměs žádné problémy nemají Gamma faktor Při zobrazování rastrových obrázků na různých počítačových platformách (PC, SGI, Sun, Macintosh) či na televizní obrazovce si můžeme všimnout, že zatímco je obrázek na jedné platformě příliš tmavý, na jiné platformě je zase moc světlý, přičemž dochází ke splývání nejsvětlejších nebo nejtmavších barevných odstínů. Pokud se například obrázek vytvořený na Macintoshi přenese na PC, je při zobrazení většinou velmi tmavý a naopak. Toto je způsobeno rozdílným nastavením koeficientu gamma. Právě zde přichází ke slovu takzvaná gamma korekce, jejímž účelem je obrázek před jeho zobrazením předpřipravit tak, aby po průchodu celým zobrazovacím řetězcem zůstala v co největší míře zachována linearita. V grafickém formátu PNG je možné uchovat gamma faktor zařízení, které obrázek vytvořilo (skener, fotoaparát, počítačový program). Při zobrazování se na základě tohoto gamma faktoru mohou intenzity pixelů přepočítat a dosáhnout tak kýžené linearity. Důležité je, že gamma korekci je možné provádět beze změny hodnot pixelů původního obrázku, takže při úpravách a přenosu na další platformu nedochází ke ztrátě dynamiky barev. (PNG is not GIF, 2006)

22 4.4 PNG Vnitřní struktura formátu PNG Tvůrci PNG se poučili z mnoha chyb a nedostatků do té doby používaných binárních formátů a navrhli konzistentní interní strukturu PNG, která je na jednu stranu velmi sofistikovaná, a na druhou stranu přitom poměrně jednoduchá na implementaci (aplikace mají přesné informace o tom, která data musí načítat a která data mají menší význam). Formát PNG se skládá z 8bytové identifikační signatury (hlavičky) následovaný třemi a více shluky dat. Shluk (chunk) je nezávislý blok dat splňující pravidla k tomuto účelu definované struktury. Shluky nesou svou vlastní identifikaci kvůli svému vnitřnímu formátu a jsou čteny sekvenčně od začátku do konce souboru nebo datového toku. (PNG is not GIF, 2006) Hlavička Hlavička byla vytvořena s ohledem na heterogenní prostředí Internetu. Při přenosu souborů v tomto heterogenním prostředí může docházet k nežádoucím modifikacím dat, která je nutné v případě binárního formátu detekovat a vadné soubory (resp. jejich části) nenačítat. Hlavička grafického formátu PNG je z těchto důvodů vytvořena tak, aby byly všechny výše uvedené nežádoucí modifikace při načítání souboru detekovány a modifikované soubory odstraněny z dalšího zpracování. Hlavička PNG má délku pouhých osmi bytů, které mají vždy konstantní hodnoty. Je zajímavé, že zde nikde není uvedena verze PNG. To je zcela zbytečné, protože informace o tom, která data v obrázku jsou pro korektní zpracování (zobrazení) zapotřebí a která ne, je uvedena přímo u jednotlivých chunků. Pokud je hlavička korektně načtena, může prohlížeč či jiná aplikace pracující s PNG pokračovat v načítání dalších dat. (PNG is not GIF, 2006) Shluky (Chunky) Shluky neboli chunky se skládají ze 4 částí. První část má konstantní velikost čtyři byty a obsahuje celkovou délku datové části chunku. Druhá část chunku má opět velikost čtyři byty. Obsahuje jméno (typ) chunku ve formátu čtyř ASCII znaků malé i velké anglické abecedy. Jedná se o ASCII kódy v rozsahu 6590 a decimálně. Třetí část chunku je tvořena vlastními daty. Tato část má v některých případech, například u chunku nazvaného IDAT, nulovou délku. Poslední čtvrtá část chunku má délku čtyři byty a obsahuje kontrolní součet (CRC) druhé a třetí části, tj. jména (typu) chunku a uložených dat.

23 5 ALGORITMUS PRO UKRYTÍ ZPRÁVY 23 5 Algoritmus pro ukrytí zprávy Prvním krokem při vytváření aplikace byl výběr samotného algoritmu, který bude sloužit pro ukrytí zprávy. Autor práce se po analýze současných metod, které se k tomuto účelu využívají, rozhodl pro metodu LSB (Least Significant Bit). Tato metoda se řadí mezi nejjednodušší, ale zvláště zde platí, že v jednoduchosti je síla. Tato metoda ukrytí zprávy je k obrázku poměrně šetrná, takže na výsledném nosiči zprávy zásah do struktury není znát vůbec a nebo jen nepatrně. Díky tomuto faktu se tato metoda řadí mezi dnes absolutně nejoblíbenější a nejčastěji využívanou v oblasti ukrývání textových informací do grafických souborových formátů. Pojďme se nyní podívat, jak vlastně bude tento algoritmus konkrétně pracovat v rámci vytvářené aplikace. Každý obrázek je složen z mnoha stovek až tisíců malých teček, kterým se odborně říká pixely. Každý tento pixel je složen z několika částí (většinou ze tří), z několika barevných složek, a to podle barevného modelu, kterých je několik druhů. Prvním a jediným modelem, o kterém se autor zmíní, je RGB (Red, Green, Blue), který je složen z barvy červené, zelené a modré. Tento model se využívá u všech monitorů a projektorů, tudíž bude i klíčovým prvkem, se kterým bude autor pracovat při vytváření své aplikace. Zmiňovat se o dalších modelech autor práce nepovažuje za důležité, proto se podrobněji podívejme na fungování samotného algoritmu. 5.1 Princip fungování algoritmu Pro vysvětlení principu fungování algoritmu autor využije již zmíněný barevný model RGB s barevnou hloubkou 24 bitů (barevná hloubka reprezentuje počet bitů použitých k popisu určité barvy v pixelu). Každý pixel obrázku bude tedy v našem případě mít 24 bitů. To znamená, že každá ze tří složek RGB pro sebe bude mít vyhrazen 1 byte, čili 8 bitů. První věc, kterou použitý algoritmus udělá, je ta, že námi požadovaný text pro ukrytí do obrázku převede na pole bytů. Každý znak zprávy je reprezentován 8 bity, tedy jedním bytem. To znamená, že například slovo o šesti znacích bude reprezentováno polem o velikosti šesti bytů. Tyto byty budou následně jeden po druhém ukládány do obrázku. Než autor podrobně uvede postup ukládání takto vzniklého pole bytů do obrázku, pro lepší představivost názorně předvede, jak takové slovo může po transformaci na byty vypadat. Vezměme si například anglické slovíčko school, tedy škola. To bude po převedení na byty vypadat následovně:

24 5.1 Princip fungování algoritmu 24 s c h o o l Poté, co proběhne převedení znaků na pole bytů, začne samotné ukládání dat do obrázku. Algoritmus vezme první pixel obrázku a do každé z jeho tří složek, tedy do složky Red, Green a Blue, začne postupně ukládat jednotlivé bity vzniklého pole bytů zprávy, které chceme zakódovat, a to pomocí metody LSB (Least Significant Bit). Její princip je jednoduchý. Jak už bylo řečeno, každá se tří složek RGB je reprezentována 8 bity. Tato metoda vezme poslední bit každé složky (nejméně významný, umístěný úplně vpravo), odřízne ho a nahradí prvním bitem z bytového pole, které vzniklo transformací zprávy, kterou chceme utajit. V našem konkrétním případě, kdy použijeme slovo school, vezme první bit písmena s, tedy nulu a umístí ji na pozici původního bitu, který jsme v předchozím kroku odřízli z dané barevné složky. To stejné tato metoda provede u všech tří barevných složek prvního pixelu a následně bude pokračovat se stejným principem i u následujících pixelů obrázku, dokud nebudou zakódovány všechny bity znaku s a následně všechny ostatní znaky ukrývané zprávy. Autor práce opět pro lepší představivost názorně předvede, co se vlastně s obrázkem a kódovanou zprávou během tohoto procesu děje. Dejme tomu, že první pixel má své barevné složky reprezentované touto posloupností bitů (je to pouze příklad): Red Green Blue Řekli jsme si, že znak s je kódován takto: s Ve výsledku tedy jednotlivé barevné složky prvního pixelu budou vypadat následovně: Red první bit znaku s Green druhý bit znaku s Blue třetí bit znaku s

25 5.1 Princip fungování algoritmu 25 Jak je možno vidět, do barevné složky Green byla uložena stejná hodnota, jako byla původní. To ničemu nevadí, právě naopak. Pokud dojde k tomu, že odříznutý bit je shodný s tím, který ho má nahradit, je to jenom ku prospěchu věci. Nedojde totiž k žádnému zásahu do dané barevné složky a tím se zpráva stává hůře odhalitelnou lidským okem. Tato skutečnost společně s faktem, že ukládání informací do nejméně významného bitu je k obrázku velmi šetrná, činí tuto metodu velice efektivní a špatně odhalitelnou. Předchozí odstavce popisují, jak vytvořená aplikace pracuje standardně. Autor práce ale do předkládané aplikace zakomponoval také možnost, že se jednotlivé bity ukrývané zprávy nebudou ukládat postupně do každé barevné složky jednotlivých pixelů, ale bude možné bity kódovat ob jednu složku, ob dvě složky, atd. Co tato možnost přináší? V podstatě dvě věci, jednu kladnou, druhou zápornou. Přínosem této modifikace je, že ukrývaná zpráva bude rozložena do většího množství pixelů. Tím pádem bude rozložena do větší plochy obrázku a měla by být i hůře rozeznatelná při běžném pohledu. Autor úmyslně uvedl, že by měla být, protože tím můžeme docílit efektu přesně opačného. Pokud bychom ukládali bity zprávy například ob jednu složku, došlo by k následujícímu. První bit zprávy by se uložil do prvního pixelu obrázku do barevné složky Red. Složka Green bude přeskočena a druhý bit zprávy bude uložen až do barevné složky Blue. Poté se zpráva bude dále ukládat do druhého pixelu obrázku. Barevná složka Red bude přeskočena, třetí bit zprávy bude uložen až do složky Green atd. Tím, že jednotlivé bity zprávy budeme ukládat ob jednu složku, sice docílíme toho, že bude rozložena na větší ploše, ale na druhou stranu v každém pixelu dojde k úpravě jen určitých barevných složek. Díky tomu daný pixel může získat nádech jedné z barev a stane se v daném obrázku nápadně viditelným a podezřelým. Díky tomuto faktu metoda ukládání jednotlivých bitů zprávy ob určité množství barevných složek v praxi nemusí být příliš použitelná, může ale sloužit jako názorná pomůcka toho, co se s daným obrázkem po takovéto úpravě stane. Další metodou pro ukládání bitů do obrázku, kterou autor zakomponoval do aplikace, je pomocí Fibonacciho posloupnosti. Využití této metody v praxi je stejně diskutabilní jako u předchozí, opět ale může sloužit pro demonstraci toho, co se stane s obrázkem po takovémto zásahu do jeho struktury. K této metodě je také nutno dodat, že je náročnější na potřebný počet pixelů (velikost nosiče zprávy) k ukrytí zprávy. Fibonacciho posloupnost je definována jako posloupnost přirozených čísel, začínající 0, 1, 1, 2, 3, 5, 8, 13, 21 atd., kde každé číslo je součtem dvou předchozích. Díky tomuto faktu může i u poměrně krátké zprávy dojít k obrovské náročnosti na velikost potřebného nosiče.

26 5.2 Kódování hlavičky zprávy 26 Poslední metoda, jak je možné zprávu do obrázku zakódovat, je do nejvíce významného bitu každého pixelu. Tato metoda je přesným opakem toho, jak aplikace funguje standardně. Přepsáním nejvýznamnějšího bitu docílíme toho, že v obrázku bude jasně patrný zásah do jeho struktury. Jednotlivé upravované pixely viditelně změní svou barvu a budou v obrázku velmi nápadné. Tato metoda tudíž nemá praktické využití. Jejím cílem je demonstrovat, co se stane s obrázkem po takto výrazném zásahu do jeho struktury. Tato demonstrace se může stát názornou pomůckou ve výuce, protože jasně ukazuje princip fungování algoritmu a jeho dopad na výsledný nosič. 5.2 Kódování hlavičky zprávy Předchozí odstavce popisovaly postup, jakým se do obrázku kóduje samotná zpráva, kterou chceme ukrýt. Nebylo ale zmíněno, že do obrázku se před samotnou zprávou ukrývá ještě něco, a to něco je hlavička, která nese další potřebné informace. Tato hlavička není standardní součástí kódované zprávy, je uměle přidaná autorem aplikace a své uplatnění najde při dekódování zprávy z obrázku, ve kterém hraje klíčovou roli. Jak probíhá samotné dekódování zprávy z obrázku se dozvíme později, nyní se podíváme, jaké informace hlavička ukrývá, jak se do ní dostanou, a jaká je její vnitřní struktura. Hlavička se skládá ze dvou částí a celkově z devíti bytů. První část hlavičky má velikost 4 byty. Do této části se ukládá integerové číslo (typ integer má v jazyce Java velikost 4 byty), které se rovná velikosti bytového pole, které vznikne po převedení námi ukrývané zprávy na byty. Pokud tedy námi ukrývaná zpráva bude mít po převedení velikost například 50 bytů, do první části hlavičky se uloží číslo 50 v binárním vyjádření ( ). Druhá část hlavičky má velikost 5 bytů a slouží pro kontrolu parity. Tato druhá půlka hlavičky má dvě části. První část slouží pro kontrolu délky zprávy a má velikost 8 bitů, tedy 1 byte. Obsah této části hlavičky je přímo závislý na předchozí části. Hodnota, která se zde ukládá, se rovná součtu prvních čtyř bytů hlavičky. Význam této části a hlavičky jako celku vůbec bude vysvětlen později, nyní autor opět uvede pro lepší představivost názorný příklad, jak taková hlavička může vypadat. Řekněme tedy, že po převedení zprávy, kterou chceme zakódovat do obrázku, vznikne pole o velikosti 5691 bytů (pro lepší představu autor úmyslně zvolil takto velké číslo, v praxi s největší pravděpodobností budeme vždy ukládat zprávy o podstatně menším rozsahu). První část hlavičky bude obsahovat číslo 5691 v binární podobě, tedy tyto hodnoty: Poté proběhne součet těchto čtyř bytů a do první části druhé půlky hlavičky se uloží jeho výsledek:

27 5.3 Dekódování zprávy z nosiče informací výsledná hodnota Do druhé části druhé půlky hlavičky se ukládá kontrolní součet zprávy, tzv. CRC součet. Ten má velikost 4 byty. CRC je speciální hašovací funkce, která je použita k detekci chyb během přenosu dat, ukládání dat či při pokusu útočníka o úpravu zakódovaných dat. Princip CRC součtu je následující. Kontrolní součet je odeslán, či uložen společně s daty, při jejichž přenosu nebo uchovávání by mohlo dojít k chybě. Po převzetí dat je znovu nezávisle spočítán. Pokud je nezávisle spočítaný kontrolní součet odlišný od přeneseného nebo uloženého, je zřejmé že při přenosu nebo uchovávání došlo k chybě. Pokud je shodný, tak téměř jistě k žádné chybě nedošlo. V určitých případech je možné chybu pomocí CRC opravit. Uvedení konkrétního příkladu, jak CRC součet funguje, by znamenalo poměrně velkou náročnost na rozsah textu. Proto autor na tomto místě čtenáře odkáže na internetovou stránku, kde je uveden konkrétní názorný příklad. (CRC (kontrolní součet), 2003) V neposlední řadě je potřeba dodat, že hlavička se ukládá před samotnou zprávou, tedy do prvních pixelů obrázku. Princip kódování hlavičky do obrázku je naprosto stejný jako u následné zprávy, z toho důvodu jej autor nebude dále popisovat. Tímto autor seznámil čtenáře se strukturou hlavičky a s jejím možným obsahem. V následujících odstavcích se dozvíme informace o tom, jakým způsobem se zpráva dekóduje z obrázku. Na tomto místě také bude uveden konkrétní význam hlavičky, který je s dekódováním spojen. 5.3 Dekódování zprávy z nosiče informací Metoda opětovného získání zprávy po zakódování do obrázku už je poměrně jednoduchou záležitostí. Funguje totiž na úplně stejném principu jako zakódování. Jak bylo uvedeno výše, námi kódovaná zpráva se postupně ukládá do nejméně významného bitu (nebo do nejvíce významného bitu, záleží na použité metodě kódování) každé barevné složky. Pro opětovné získání původní zprávy tedy pouze přečteme tyto bity a složíme z nich původní zprávu. Zajímavější částí procesu dekódování zprávy z nosiče je využití již zmíněné hlavičky. Aplikace defaultně nabízí možnost ukrývat bity naší zprávy postupně do jednotlivých pixelů každé barvené složky. Jelikož je ale možné ukládat bity obecně ob x složek či pomocí Fibonacciho posloupnosti, nastává při dekódování drobný problém, který právě řeší autorem vytvořená hlavička.

28 5.3 Dekódování zprávy z nosiče informací 28 U dekódování máme dvě možnosti, jak ho provést. Pokud víme, jakou sekvencí byla zpráva zakódována, zadáme ji ručně. Pokud ale sekvenci nevíme nebo jsme ji zapomněli, máme možnost vybrat automatické nalezení sekvence. V tomto momentě aplikace sama začne zkoušet různé sekvence zakódování, až nalezne tu správnou a předá nám požadovanou zprávu. Toto automatické nalezení sekvence je možné právě díky hlavičce, která je přidána před samotnou zprávu. Aplikace se podívá do hlavičky na délku zprávy, zkontroluje paritu a hledá tak dlouho sekvenci, až nalezne shodu. Po nalezení shody (integerové číslo z prvních čtyř bytů hlavičky musí odpovídat paritě) nám aplikace předá zprávu. Samozřejmě metoda dekódování zprávy na základě automatického hledání sekvence není nic jiného, než použití brute force (řešení problému či úlohy, při kterém se systematicky prochází celý prostor možných řešení problému), tudíž může být časově náročnější. Proto, pokud známe sekvenci, jakou byla zpráva zakódována, je lepší ji zadat ručně. Při dekódování je samozřejmě kontrolován i CRC součet samotné zprávy. Jak již bylo uvedeno, tato kontrola probíhá z důvodu detekce chyb, které nastaly během přenosu dat, ukládání dat, či po útoku osoby, která data změnila. Tato metoda ověření správnosti dat není zcela stoprocentní, přesto poskytuje jistou míru kontroly uložených informací.

29 6 IMPLEMENTACE A PROBLÉMY PŘI VYTVÁŘENÍ APLIKACE 29 6 Implementace a problémy při vytváření aplikace V předchozích kapitolách jsme se dozvěděli, na jakém principu pracuje samotný algoritmus pro ukrývání zprávy a popsali jsme si aplikaci z pohledu uživatele. Následující odstavce budou věnovány popisu aplikace ze strany programátora. Jednotlivé části aplikace jsou rozděleny do tříd, které obsahují příslušné potřebné metody. Autor čtenáře nyní seznámí s těmito třídami a jejich nejdůležitějšími metodami, a také se dozvíme něco o problémech, které autora potkaly při vývoji samotné aplikace. 6.1 Vlastní implementace Rozhraní Sequence Rozhraní Sequence je krátká část kódu, ale velice důležitá. Toto rozhraní říká, co by měly jednotlivé sekvence, kterými je možno zprávu zakódovat, implementovat za metody (získání další hodnoty sekvence, vrácení čtecí hlavy na začátek sekvence, atd.). Třída DefinedSequence, FibonacciSequence a StaticSequence Všechny tyto tři třídy jsou založeny na stejném principu. Implementují rozhraní Sequence a definují, jaké podmínky musí splňovat jednotlivé sekvence, kterými je možné zprávu do obrázku zakódovat. Každá z těchto tříd obsahuje metodu int next() (získání následníka sekvence), void reset() (vrácení čtecí hlavy na začátek sekvence), Boolean is limited() (určuje, zda je sekvence konečná) a Boolean is next available() (určuje, zda je dostupná další hodnota sekvence, čili jestli nastal konec sekvence nebo ne). Třída FileFilterImage a TxtFileFilter Tyto dvě třídy mají za úkol načtení externích souborů. První, tedy FileFilterImage, umožňuje načítání obrázků ve formátu PNG, do kterých se ukládá námi požadovaná zpráva. Třída TxtFileFilter pracuje na stejném principu jako předchozí s tím rozdílem, že umožňuje načítání souborů s příponou.txt, ve kterých má uživatel uloženou předem připravenou zprávu, kterou chce zakódovat. U obou tříd je využito standardních knihoven, které jazyk Java nabízí. Třída Header Tato třída slouží pro vytvoření hlavičky zprávy, kterou chceme zakódovat. Kontroluje délku zprávy, která je v hlavičce uložena, a také CRC součet. Obsahuje několik důležitých metod. Metoda create(byte [] message) má za úkol vytvoření samotné hlavičky z námi ukládané zprávy. Druhá metoda, tedy set header(byte [] header), provede samotné nastavení hlavičky pro kontrolu parity.

30 6.1 Vlastní implementace 30 Metody get message length() a check parity(header header) slouží pro kontrolu délky zprávy. Prvně jmenovaná metoda má za úkol přečtení délky zprávy. Druhá jmenovaná metoda se postará o zkontrolování přečtené délky s paritou délky zprávy. Pokud přečtená délka odpovídá paritě, metoda vrací hodnotu true. Poslední významná metoda, tedy check crc(header header,byte[] message), slouží pro kontrolu CRC zprávy. Třída ByteReaderWriter Aplikace umožňuje ukládat informace do nejméně významného bitu i do nejvýznamnějšího bitu jednotlivých složek pixelů. Tento fakt je umožněn právě touto třídou. Obsahuje metody, které nám dovolují ukládat naši zprávu i do nejvýznamnějšího bitu nosiče informací a tudíž využívat i tuto demonstrativní metodu kódování. Třída ByteEncoder Stará se o zakódování zprávy do obrázku. Vezme zprávu, zjistí její velikost, vytvoří příslušnou hlavičku (zde je uložena velikost zprávy a příslušný parity byte pro kontrolu), a poté zprávu i s vytvořenou hlavičkou uloží do nosiče. Obsahuje dvě důležité metody. Metoda encode data(byte[] message) nastavuje, jakým způsobem se data budou kódovat. V našem případě byl využit algoritmus LSB, tudíž nastaví ukládání bitů naší zprávy do nejméně významného bitu nosiče. Zároveň tato metoda kontroluje, zda je nosič zprávy dostatečně velký na to, aby pojal celou naši zprávu. Druhá metoda, tedy hide message in data(byte [] message, byte [] data), se stará o samotné zakódování naší zprávy včetně hlavičky (tato metoda ji vytvoří) do obrázku, a to podle zvolené sekvence. Třída ByteDecoder Účelem této třídy je samotné dekódování zprávy z obrázku. Třída načte data, ze kterých má opětovně získat skrytou informaci. Zkontroluje parity byte a CRC součet. Pokud parity byte odpovídá délce uložené zprávy a souhlasí i CRC, začne z obrázku číst data a následně předá uživateli požadovanou zprávu. Třída obsahuje několik metod. Metoda find message len(), jak napovídá její název, má za úkol najít délku zprávy. Ta je určena na základě porovnání parity bytu s první částí hlavičky. Metoda guess sequence() je využita v případě, kdy uživatel požaduje dekódování na základě automatického nalezení správné sekvence. V tento moment je metoda opět díky parity bytu schopna nalézt správnou sekvenci a nastavit ji pro dekódování. Hlavními metodami této třídy jsou decode data(int len) a decode message from data(byte [] data). První zmíněná metoda má za úkol z nosiče získat potřebné bity, ve kterých je uložena naše zpráva a druhá jmenovaná metoda z těchto bitů vytvoří zprávu, srozumitelnou pro uživatele, tedy požadovanou posloupnost znaků.

31 6.1 Vlastní implementace 31 Třída ImageEncoder Třída ImageEncoder úzce spolupracuje s výše uvedenou třídou ByteEncoder. Tato třída vezme obrázek, do kterého chceme ukrývat zprávu. Vytvoří si jeho kopii a následně ho převede na pole bytů. V posledním kroku s pomocí třídy ByteEncoder do takto vzniklého obrázku uloží naši zprávu. O vytvoření kopie obrázku se stará metoda ImageEncoder(BufferedImage original,sequence sequence), převedení obrázku na byty a následné zakódování zprávy má na starosti metoda encode message(string message). Třída ImageDecoder Stejně jako předchozí, i tato třída spolupracuje s jinou, konkrétně s třídou ByteDecoder. Hlavní funkcí této třídy je znovuzískání uložené zprávy. Hlavní roli v této třídě hraje metoda String decode message(), která využívá třídu ByteDecoder k tomu, aby z obrázku po jeho převedení na bytové pole znovu získala uloženou zprávu ve formě textu. Rozhraní LoggerListener a třída Logger V aplikaci je umístěno pole, které slouží pro výpis logů, jenž některé třídy produkují. Pokud chce některá třída zapsat o své aktivitě poznámku do logu, zavolá statickou metodu add message ve třídě Logger. Třída Logger pak předá zprávu tomu, kdo ji poslouchá (tomu, kdo implementuje interface LoggerListener a zařadí se k posluchačům metodou add listener). Třída ImagePanel Při načítání obrázku do aplikace se nám v okně zobrazí náhled načteného obrázku. Stejně tak se stane i při dekódování obrázku. Tento fakt umožňuje právě tato třída. Obsahuje metody, které vykreslují okno, do kterého se ukládá náhled obrázků. Třída PanelEncode, PanelDecode, PanelSettings, PanelHelp a PanelExit Tyto třídy se starají o grafickou stránku aplikace. Obsahují velké množství metod, které vykreslují jednotlivé prvky aplikace. Každé tlačítko a vůbec každý prvek umístěný v aplikaci, má zde svojí metodu, která umožňuje jeho použití. Třída FrameHow Třída FrameHow má na starosti zprovoznění funkce aplikace, kterou autor nazval nápověda. Stejně, jako předchozí dvě třídy, obsahuje metody, které umožňují vykreslení jednotlivých prvků, jenž jsou v nápovědě obsaženy.

32 6.2 Problémy při vytváření aplikace 32 Třída Utils Aplikace obsahuje některé obecné metody, které programátorovi výrazně ulehčují práci. Právě tyto metody jsou obsaženy v třídě Utils. Najdeme zde například metodu String ready file(file file), která převádí soubor na String, metodu getextension(file f), která vrací příponu souboru nebo metodu String print binary(byte [] message), která převádí bytové pole na String. Třída MainW Toto je hlavní třída celé aplikace. Obsahuje sadu metod, které umožňují spojení všech tříd, jenž aplikace implementuje a jejich uvedení do provozu. Bez této třídy by aplikace byla nepoužitelná, respektive by ani nešla spustit. Třída samozřejmě obsahuje metodu main, tedy hlavní metodu celé aplikace. 6.2 Problémy při vytváření aplikace Vytváření jakéhokoli softwaru s sebou vždy nese určité problémy, které je potřeba během vývoje řešit. I sebelepší programátor občas při vytváření kódu narazí na menší či větší problémy, jenž je potřeba nějakým způsobem vyřešit a nejinak tomu bylo i v případě předkládané aplikace. Aplikace byla vytvářena v prostředí operačního systému UNIX. Jak již bylo uvedeno, při vytváření byl použit programovací jazyk Java. Jeho výhoda spočívá v tom, že je multiplatformní a tedy aplikace v něm napsané fungují jak pod systémem UNIX, tak pod systémem Windows. Autor práce s tímto faktem stoprocentně počítal, což se ukázalo jako chyba. Během prvních fází žádný problém nenastal. Aplikace dělala to, co měla. De facto ani neměl kde vzniknout nějaký závažný problém ve fungování pod různými systémy. Zádrhel nastal ve chvíli, kdy byla aplikace vesměs hotová a autor testoval její funkčnost při samotném ukládání zprávy do obrázku a jejím opětovném vytáhnutí. V systému UNIX se aplikace chovala tak jak měla, žádný problém nenastal. Zpráva se bez problému zakódovala a dekódovala. Problém nastal při testování funkčnosti pod systémem Windows. Autor práce načetl obrázek bez problému. Poté zadal text, který má být ukryt a dal zakódovat. Stále se nevyskytoval žádný náznak potíží. Nakonec vyzkoušel její opětovné dekódování a problém byl na světě. Aplikace v tomto momentě hlásila, že nesedí sekvence, jakou byla zpráva zakódována, ať už byla zadána staticky ručně, či byla zvolena metoda automatického nalezení sekvence. Autor práce pro jistotu vyzkoušel funkčnost na různých počítačích s různými verzemi operačního systému Windows, ale výsledek byl všude stejný.

33 6.2 Problémy při vytváření aplikace 33 Autorovi trvalo nekonečné hodiny než přišel na řešení, respektive než se mu ho podařilo najít na internetu. Aplikace při dekódování zprávy pracovala s originálním obrázkem, do kterého byla ukryta. V tomto nevinném faktu byl zásadní problém. Systém Windows zřejmě v tomto vidí nějaký zádrhel. Autor práce naštěstí nebyl první, kdo musel tento problém řešit a tudíž nalezl řešení, které vyčetl na internetu. Problém byl vyřešen tak, že při dekódování aplikace nepracuje se samotným originálním obrázkem, ve kterém je zpráva uložena, ale udělá si jeho kopii. Dále pak pracuje s touto kopií a zprávu získá z ní. Po aplikaci metody, která toto řeší, autor práce znovu otestoval funkčnost v operačním systému Windows. Toto řešení skutečně zabralo a aplikace už byla funkční jak pod systémem UNIX, tak pod systémem Windows. Druhý větší problém, který autor musel řešit, byl vykreslení panelů pro náhled načtených obrázků. Aplikace byla vytvářena ve vývojovém nástroji Netbeans. Tento nástroj umožňuje vkládat předem připravené grafické prvky, které už tudíž programátor nemusí programovat ručně. Autor práce se přirozeně pokoušel tohoto faktu využít a ušetřit si tak práci. Ze zdánlivě jednoduché záležitosti se ale vyklubal problém, jehož vyřešení autorovi zabralo nemálo času. Autor práce tedy použil nástrojů, které Netbeans nabízí a umístil do své aplikace předem připravené panely pro načtení obrázku v domnění, že je všechno v pořádku. Při spuštění aplikace ale došlo k problému. Náhledy obrázku se nezobrazovaly korektně, respektive se nezobrazovaly vůbec. Autor práce netušil, kde je problém a zabralo mu poměrně dlouhou dobu, než našel řešení. Jako pomocník opět posloužil všemocný nástroj Google. Po nekonečných desítkách minut hledání na internetu autor přišel na to, kde je problém. Ten se nakonec ukázal být v samotném nástroji Netbeans. Netbeans z nějakého důvodu nedokázal vykreslit všechny prvky korektně, tak jak by měl. Jinak řečeno, špatně je umisťoval. Autor tento problém vyřešil tak, že panely pro načtení obrázků musel napsat ručně, bez použití předem připravených. Po ručním napsání panelů (třída ImagePanel) byl problém odstraněn a aplikace vykreslovala obrázky korektně.

34 7 OVLÁDÁNÍ APLIKACE 34 7 Ovládání aplikace Předchozí kapitola práce popisovala, jakým způsobem pracuje algoritmus použitý pro ukrývání textu do obrázku. Následující odstavce budou věnovány samotné implementaci, to znamená jakémusi pohledu na výslednou aplikace ze strany uživatele. Naprostou nutností bylo pro autora vytvoření grafického prostředí. Aplikace bez grafického prostředí jsou pro běžného uživatele nepohodlné a raději používá ty, které ho nabízí aspoň v jednoduché podobě. Autor práce vytvořil jednoduché a přehledné grafické prostředí, které ulehčuje práci se samotnou aplikací. Program je rozdělen do pěti částí, dalo by se říci do pěti oken, které budou popsány v následujících řádcích. Každé okno navíc obsahuje stručný popis toho, k čemu v aplikaci slouží. Než se uživatel pustí do samotného kódování zprávy, musí udělat jeden důležitý krok, a to v záložce settings zvolit metodu kódování. Defaultně je aplikace nastavena tak, že zprávu kóduje i dekóduje do nejméně významného bitu každého pixelu obrázku. V záložce settings je ale možné nastavit, aby aplikace zprávu kódovala do nejvýznamnějšího bitu jednotlivých pixelů (demonstrační metoda fungování aplikace). V této záložce je také možné zvolit, do jaké složky se uloží výsledný obrázek nesoucí ukryté informace a jaký bude jeho název. 7.1 Kódování zprávy do obrázku Prvním krokem při ukrývání textu do obrázku je výběr samotného textu a způsob jeho předání samotné aplikaci. Výběr textu je samozřejmě čistě na uživateli. Co se týče jeho předání aplikaci, máme dvě možnosti. První možností je zadat text ručně, a to přímo do předem připraveného pole, které je k tomu určené. Pokud by se uživateli nelíbilo zadávat text ručně a má ho předem připravený, má možnost načtení souboru z disku či jiného média, které je připojeno k počítači. Aplikace podporuje načtení souboru s příponou.txt. Dalším krokem je vybrání způsobu, jakým se požadované informace budou ukrývat do obrázku. Jak již bylo uvedeno, aplikace nabízí dvě možnosti. První možností je nastavit ukládání pomocí statické sekvence. V tomto případě se logicky všechny bity naší zprávy budou ukládat staticky do jednotlivých složek pixelů. Sekvenci je ale možné nastavit tak, že se budou přepisovat všechny složky každého pixelu v pořadí, v jakém za sebou následují, a nebo máme možnost nastavit kódování obecně ob x složek. Defaultně je aplikace nastavena tak, aby jednotlivé bity zprávy ukládala do všech složek pixelů jak jdou za sebou. Druhou možností, kterou můžeme nastavit, je ukládání jednotlivých bitů zprávy pomocí Fibonacciho sekvence. Na jakém principu funguje Fibonacciho sekvence již bylo uvedeno v předchozí kapitole, stejně jako výhody a nevýhody jednotlivých způsobů kódování, proto se o tomto tématu autor nebude dále zmiňovat.

35 7.2 Dekódování zprávy z obrázku 35 Třetím krokem, který je potřeba udělat, je výběr samotného nosiče zprávy, tedy obrázku, do kterého chceme kódovat. Jediným podporovaným formátem, jak již opět bylo zmíněno, je grafický formát PNG. Po kliknutí na možnost vybrat PNG obrázek, nám vyskočí velice podobné okno jako při výběru textového souboru, pokud vstupní zprávu načítáme z disku. Po úspěšném výběru obrázku pro ukrytí zprávy se nám tento obrázek zobrazí v okně aplikace pro lepší přehled, co si vlastně uživatel vybral za nosič a jak tento nosič vypadá před samotným ukrytím zprávy. Posledním krokem, který nám zbývá k úspěšnému zakódování zprávy do obrázku, je stisknutí samotného tlačítka pro zakódování. V momentě, kdy takto uživatel učiní, proběhne jako první výpočet. Aplikace v rychlosti vypočítá, zda je námi zvolený obrázek pro ukrytí zprávy dostatečně velký na to, aby se do něj zpráva vešla. Pokud tomu tak není, aplikace tuto skutečnost oznámí uživateli. V tomto případě máme dvě možnosti, jak postupovat dále. První možností je zkrácení zprávy, kterou chceme zakódovat. To ale samozřejmě v některých případech nemusí být možné, takže je praktičtější varianta druhá. Tou je výběr většího obrázku, který nám poskytne více prostoru pro ukrytí zprávy. Pokud nenastane výše uvedený případ a nosič zprávy je dostatečně velký, proběhne samotné zakódování. Výsledný obrázek, který vznikne po zakódování zprávy, se nám opět pro lepší přehled zobrazí vedle původního obrázku. Uživatel tedy může okamžitě vidět rozdíl mezi původním obrázkem a nově vzniklým nosičem. Oba dva obrázky jsou ale kvůli rozměrům samotné aplikace zmenšeny, tudíž drobné rozdíly zřejmě budou nepostřehnutelné. Pro podrobné prohlédnutí či porovnání obou obrázků je potřeba otevřít je například v některé z aplikací pro prohlížení obrázků, které standardně nabízí jednotlivé operační systémy. V neposlední řadě je potřeba dodat, že v záložce settings je možné nastavit adresář, kam se výsledný obrázek uloží a jaký bude mít tento nově vzniklý obrázek název. Posledním prvkem, který je umístěn v části aplikace pro kódování zprávy, je výpis operací probíhajících při samotném ukrývání zprávy. Tato část je spíše informativní, přesto zde lze najít několik zajímavých věcí. Uživatel se tu například dozví, jakou sekvenci zvolil pro zakódování zprávy, jak vypadá parity byte a kam se uloží výsledný obrázek s ukrytou zprávou. 7.2 Dekódování zprávy z obrázku Potřebné prvky pro dekódování zprávy z obrázku nalezneme ve druhé záložce aplikace. Mezi jednotlivými záložkami můžeme samozřejmě volně přepínat. Pokud zpráva byla zakódována pomocí metody ukrývání do nejvýznamnějšího bitu, je potřeba v záložce settings tuto variantu nastavit. Poté už uživatel může přistoupit k samotnému dekódování zprávy.

36 7.3 Nápověda a ukončení aplikace 36 Samotné dekódování zprávy je pro uživatele aplikace ještě jednodušší, než její zakódování. Pomocí příslušného tlačítka má uživatel možnost vybrat z disku obrázek, ze kterého chce uloženou zprávu zpět získat. Po úspěšném načtení se obrázek zobrazí na příslušném místě v okně aplikace. Je to z toho důvodu, aby uživatel stále měl přehled o tom, se kterým obrázkem to vlastně pracuje. Obrázek je samozřejmě opět zmenšen, aby odpovídal velikosti okna aplikace Další krok spočívá ve zvolení sekvence, kterou byla zpráva do obrázku zakódována. Zde má uživatel celkem tři možnosti. První možností je ruční zadání statické sekvence. Této možnosti je vhodné využít tehdy, pokud uživatel zná sekvenci, jakou byla zpráva zakódována. Pokud by zadal sekvenci špatně, aplikace vyhodí chybovou hlášku, že zadaná sekvence není správná a uživatel ji bude muset zadat znovu. Druhou možností je zadat dekódování pomocí Fibonacciho sekvence. Princip je stejný jako v předchozím případě. Pokud zpráva byla zakódována pomocí této sekvence, aplikace nám předá výsledek, v opačném případě vyhodí chybovou hlášku. Poslední možnost dekódování je univerzální. Její přednost spočívá v tom, že si způsob, jakým byla zpráva zakódována, najde sám a podle toho nastaví příslušnou sekvenci. Tato varianta je vhodná tehdy, pokud kódovací sekvenci neznáme a nebo pokud se nám ji z jakéhokoli důvodu nechce zadávat ručně. Pokud se nám podaří úspěšně načíst obrázek, zvolit příslušnou sekvenci dekódování, či nechat na aplikaci, ať si ji najde sama, v okně pod obrázkem se nám objeví zpráva, která byla do obrázku zakódována a uživatelem opětovně požadována. Konečně posledním prvkem v této části aplikace je, stejně jako u kódování, výpis operací, které byly během dekódování provedeny. Najdeme zde především informace o hledání správné sekvence použité při zakódovaní zprávy a nastavení této sekvence při samotném dekódování. 7.3 Nápověda a ukončení aplikace Ve čtvrté záložce aplikace nalezneme nápovědu. Na tomto místě se uživatel dozví základní informace o aplikaci. Je zde také umístěno tlačítko, kterým uživatel může spustit grafickou část nápovědy, kde se dozví, jak vlastně samotný algoritmus ukrývá námi požadovanou zprávu do obrázku. V několika krocích je na tomto místě graficky vysvětleno, jak algoritmus pracuje. Tato část aplikace může najít své uplatnění jako demonstrační pomůcka při výuce předmětu Komprimace dat a kryptologie na naší univerzitě nebo jako názorná ukázka pro běžného uživatele, co vlastně algoritmus s daným obrázkem během kódování provádí. V poslední, tedy páté záložce aplikace, je umístěno jediné tlačítko, které slouží pro ukončení aplikace.

37 8 DISKUSE A ZHODNOCENÍ ŘEŠENÍ 37 8 Diskuse a zhodnocení řešení 8.1 Diskuse V kapitole věnované pojmu steganografie se autor zmiňoval o již existujících programech, které pracují na stejném či podobném principu, jako předkládaná aplikace. Po úspěšném vytvoření a odladění aplikace má autor práce nyní možnost porovnat svoje dílo právě s těmito, již existujícími aplikacemi. Následující odstavce tedy budou věnovány porovnání autorem vytvořené aplikace s nejznámějšími již existujícími řešeními, která je možno získat na internetu. Prvním kritériem, které se nabízí pro porovnání, je podpora operačních systémů. Autorova aplikace v tomto faktu, v jistém smyslu, vítězí nad ostatními, již existujícími. Je napsána v jazyce Java, který umožňuje běh v systému UNIX i Windows. Jediná aplikace ze čtveřice nejznámějších (StegHide, BitCrypt, Outguess a Hide in Picture), která umožňuje běh v systému UNIX i Windows, je StegHide. Přesto je autorova aplikace lepší v tom, že pro spuštění na dvou různých systémech nevyžaduje dvě různé verze aplikace. Program StegHide sice podporuje dva různé operační systémy, ovšem pro každý z nich je potřeba stáhnout jinou verzi aplikace, což je poněkud nepraktické. Co se týče zbylých aplikací, BitCrypt a Hide in Picture, jsou napsány pro operační systém Windows, Outguess pro UNIX. Co se týče množství podporovaných formátů, do kterých jsou ukládána samotná data, zde se prozatím autorova aplikace nemůže rovnat ostatním. Nejširší podporu formátů nabízí produkt StegHide. Jeho výhodou je to, že kromě grafických formátů podporuje i audio nahrávky, v čemž nemá konkurenci. Cílem autorovy práce ale nebylo vytvořit aplikaci pro podporu velkého množství formátů, nýbrž u jednoho vybraného formátu jasně demonstrovat fungování zvoleného algoritmu. Z tohoto důvodu autor nepovažuje šířku podporovaných formátů za klíčový faktor a nevidí v tomto faktu výrazný handicap. Další kritérium pro porovnání je možné vidět v datech, která je možno ukrývat. Zde vítězí aplikace StegHide a Hide in Picture, které umožňují ukrývání obecně jakýchkoli dat. Programy BitCrypt a Outguess jsou určeny pro ukrývání textových informací. Autorova aplikace umožňuje, stejně jako u posledních dvou jmenovaných, ukrývat informace pouze textového charakteru. Uživatel je tím sice ochuzen o možnost ukrývání například videa do obrázku, na druhou stranu ale nemusí řešit problém s velikostí nosiče, který by musel být podstatně větší. Každá aplikace používá některou z metod, pomocí které kontroluje správnost přenesených či uložených dat. V tomto ohledu je nejlépe vybavena aplikace BitCrypt, která na tuto kontrolu používá hashovací funkce. Autorova aplikace, stejně jako StegHide a Hide in Picture, využívá pro kontrolu CRC součet. Kontrola pomocí CRC součtu sice není tak účinná jako některé hashovací funkce, přesto určitou míru kontroly poskytuje a je pro daný účel zcela postačující. Jakou formu kontroly dat používá aplikace Outguess, se autorovi zjistit nepodařilo.

38 8.2 Zhodnocení aplikace 38 Skoro všechny porovnávané aplikace jsou dostupné i se zdrojovým kódem, autorova není výjimkou. Jedinou aplikací, která není dostupná i se zdrojovým kódem, je Hide in Picture, a v tomto ohledu výrazně zaostává za ostatními. Podle subjektivního hodnocení autora práce má jeho aplikace oproti ostatním jednu velkou výhodu, a to nejlépe zpracované grafické prostředí. Aplikace nabízí jednoduché a intuitivní prostředí, které umožňuje lehké ovládání aplikace. Oproti již existujícím řešením jsou prvky v aplikaci uspořádány tak, že na sebe navazují, čímž umožní ovládání aplikace i začátečníkům v oblasti práce s PC. Co se týče ostatních aplikací, ty mají grafické zpracování horší a u některých zcela chybí (Outguess). Autorova aplikace obsahuje jednu funkci, kterou se stává naprosto výjimečnou oproti ostatním. Obsahuje sice jednoduché, ale grafické znázornění toho, co algoritmus provádí s ukládaným textem při kódování do obrázku a jakým způsobem se mění struktura samotného nosiče. Žádná jiná aplikace podobnou funkci nenabízí a nemůže v tomto ohledu konkurovat aplikaci autora práce. Jak je z předchozích odstavců patrné, autorova aplikace již nyní může nabídnout prvky, díky kterým je lepší než již existující řešení. Samozřejmě má i svoje slabší stránky oproti konkurenci, na kterých by bylo možné zapracovat. Srovnání aplikací je pro autora dobrým vodítkem k tomu, jak svou aplikaci vylepšit tak, aby minimalizovala své slabé stránky a stala se v budoucnu ještě lepší. 8.2 Zhodnocení aplikace Autor práce za jeden z klíčových prvků, které měla aplikace splňovat, považoval funkčnost pod systémem UNIX i pod systémem Windows. Z tohoto důvodu bylo využito programovacího jazyku Java, který je multiplatformní a podařilo se vytvořit aplikaci pro ukrývání textu do obrázku, jenž je funkční jak pod systémem UNIX, tak pod systémem Windows. Jako podporovaný formát pro ukrývání informace byl zvolen formát PNG. Je označován jako nástupce GIFu, a v současnosti získává čím dál více na oblibě jak mezi běžnými uživateli, tak mezi odborníky přes počítačovou grafiku. Narůstající oblíbenost tohoto formátu byla jedním z důvodu, proč si autor vybral právě tento. Načítat text, který chceme do obrázku uložit, můžeme dvěma způsoby. První možností je zadat text ručně. Pokud máme text předem připravený, je možné ho načíst ze souboru. Aplikace podporuje načtení souboru s příponou.txt. Jednou z největších předností předkládané aplikace je její jednoduché a přehledné grafické prostředí. Je členěna do několika oken, ve kterých uživatel najde vše potřebné k tomu, aby dokázal svou zprávu ukrýt do obrázku a zároveň se i dozvěděl základní informace o programu, které jsou uvedeny v nápovědě. Ovládání je intuitivní a aplikace neobsahuje žádné zbytečné prvky, tudíž s ovládáním nebude mít problém ani začátečník. Každé okno navíc obsahuje stručnou charakteristiku toho, co zde uživatel může s aplikací provést.

39 8.2 Zhodnocení aplikace 39 Aplikace nabízí několik možností, kterými je možno zprávu do obrázku zakódovat. Základní možností je použití statické sekvence, kdy se ukrývaná zpráva rovnoměrně kóduje do obrázku. Další zakomponované metody jsou především demonstrativní. Své uplatnění najdou hlavně ve výuce předmětu Komprimace dat a kryptologie na naší univerzitě, ale také běžnému uživateli názorným způsobem předvedou, na jakém principu aplikace funguje a co se stane s obrázkem po jeho úpravě. Použití Fibonacciho sekvence a sekvence, kdy se zpráva ukládá obecně ob x složek jednotlivých pixelů, názorně předvede, jakým způsobem se změní výsledný nosič zprávy po nerovnoměrném zásahu do jeho struktury. Na rozdíl od předchozích dvou metod, metoda ukládání textu do nejvýznamnějšího bitu obrázku jasně demonstruje, jak bude výsledný nosič vypadat po drastickém zásahu do jeho struktury. Tato metoda je v praxi naprosto nepoužitelná, ale splní svůj účel jako učební pomůcka. V neposlední řadě je potřeba dodat, že aplikace obsahuje i grafické znázornění toho, jak samotná aplikace pracuje. V samostatném okně je v sedmi krocích názorně vysvětleno, co se stane s naším textem, jak se ukládá do obrázku a jak výsledný nosič nakonec vypadá. Předkládaná aplikace by se samozřejmě dala vyvíjet i dále. První možnou úpravou by bylo přidání metody, která by zařídila zašifrování ukrývané zprávy. Tato metoda by zvýšila bezpečnost ukrývané zprávy. I po úspěšném odhalení přítomnosti zprávy v obrázku by byl problém s jejím dešifrováním. Druhé možné vylepšení se nabízí samo. Předkládaná bakalářská práce se zabývá ukrýváním textu pouze do jednoho zvoleného grafického formátu, autor práce si konkrétně zvolil formát PNG. Samozřejmě podpora více grafických formátů by byla další z možností, jak předkládanou aplikaci upravit k její vyšší efektivitě. S tím souvisí i rozšíření podpory formátů, které umožňují načtení zprávy pro zakódování z disku. Aplikace zatím podporuje pouze soubory s příponou.txt, rozšíření by bylo možné například o.doc.

40 9 ZÁVĚR 40 9 Závěr Bakalářská práce se zabývá moderními steganografickými metodami, které nacházejí uplatnění v dnešní době výpočetní techniky. Zkoumá jejich principy a čtenáře podrobně seznamuje s metodou ukrývání informací do grafických souborových formátů. U těchto formátů provádí podrobnou analýzu z hlediska použitelnosti pro daný účel a na základě které je vybrán vhodný formát pro vytvoření aplikace, kterým se nakonec stal formát PNG. Výstupem bakalářské práce je vytvoření aplikace, která dokáže ukládat textové informace do vybraného grafického formátu, kterým se stal formát PNG, a tím je splněno zadání. Aplikace je obohacena o přehledné grafické prostředí, které ulehčuje ovládání. Součástí předkládané aplikace je i nápověda, která v několika krocích graficky znázorňuje, co se děje s naší zprávou při jejím samotném ukrývání. Podpora operačního systému UNIX a zároveň i Windows je dalším klíčovým prvkem. Kombinace přehledného grafického prostředí, podpory více operačních systémů a práce s grafickým formátem, PNG činí tuto aplikaci na trhu jedinečnou, protože žádná jiná tyto tři prvky skloubit nedokázala. Jednoduchost, přehlednost a demonstrativní metody fungování aplikace, které autor do své práce zakomponoval, činí tento nástroj pro ukládání textu do obrázku, případnou ideální pomůckou při výuce předmětu Komprimace dat a kryptologie na MZLU v Brně. V neposlední řadě je potřeba dodat, že program nebude zatížen žádnými licencemi, bude dostupný i se zdrojovým kódem a bude volně stažitelný z následujících internetových stránek:

41 10 LITERATURA Literatura BMP [on-line] [cit ]. Dokument ve formátu HTML. Dostupný na Internetu: CRC (kontrolní součet) [on-line] [cit ]. Dokument ve formátu HTML. Dostupný na Internetu: GIF, JPEG a PNG - jak a kdy je použít? [on-line] [cit ]. Dokument ve formátu HTML. Dostupný na Internetu: Grafický formát BMP - používaný a přitom neoblíbený [on-line] [cit ]. Dokument ve formátu HTML. Dostupný na Internetu: graficky-format-bmp-pouzivany-a-pritom-neoblibeny/. Grošek, O. Porubský, Š. Šifrovanie - algoritmy, metódy, prax. Praha: Grada, s. Nestůjte za dveřmi. ISBN JPEG - král rastrových grafických formátů? [on-line] [cit ]. Dokument ve formátu HTML. Dostupný na Internetu: Kryptologie: Steganografie [on-line] [cit ]. Dokument ve formátu HTML. Dostupný na Internetu: Menezes, A. J. Van Oorschot, P. C. Vanstone, S. A. Handbook of applied cryptography. Boca Raton: CRC Press, s. CRC Press series on discrete mathematics and its applications. ISBN Murray, J. D. Ryper, W. V. Encyklopedie grafických formátů. 2. vyd. Praha: Computer Press, s. ISBN Piper, F. C. Murphy, S. Kryptografie. 1. vyd. Praha: Dokořán, s. Průvodce pro každého. ISBN PNG is not GIF [on-line] [cit ]. Dokument ve formátu HTML. Dostupný na Internetu: Praktické základy Kryptologie a Steganografie [on-line] [cit ]. Dokument ve formátu HTML. Dostupný na Internetu: praktické-základy-kryptologie-steganografie. Pravda a mýty o GIFu [on-line] [cit ]. Dokument ve formátu HTML. Dostupný na Internetu: pravda-a-myty-o-gifu/. Schneier, B. Applied Cryptography: Protocols, Algorithms, and Source Code in C. 2. vyd. New York: John Wiley & Sons, s. ISBN Singh, S. Kniha kódů a šifer. Praha: Dokořán, s. ISBN

42 10 LITERATURA 42 Steganografie [on-line]. [cit ]. Dokument ve formátu HTML. Dostupný na Internetu: zobraz cast.pl?cast=7030. Žára, J. Beneš, B. Felkel, P. Moderní počítačová grafika. 1. vyd. Praha: Computer Press, s. ISBN

43 11 PŘÍLOHY Přílohy 11.1 Příloha A screenshoty aplikace Obr. 1: Kódování zprávy do obrázku

44 11.1 Příloha A screenshoty aplikace 44 Obr. 2: Dekódování zprávy z obrázku

45 11.1 Příloha A screenshoty aplikace 45 Obr. 3: Možnosti nastavení aplikace

TECHNICKÁ UNIVERZITA V LIBERCI

TECHNICKÁ UNIVERZITA V LIBERCI TECHNICKÁ UNIERZITA LIBERCI Fakulta mechatroniky, informatiky a mezioborových studií Základy digitálního obrazu. ektorová a rastrová grafika. Učební text Ivan Jaksch Liberec 2012 Materiál vznikl v rámci

Více

ČÁST PÁTÁ POZEMKY V KATASTRU NEMOVITOSTÍ

ČÁST PÁTÁ POZEMKY V KATASTRU NEMOVITOSTÍ ČÁST PÁTÁ POZEMKY V KATASTRU NEMOVITOSTÍ Pozemkem se podle 2 písm. a) katastrálního zákona rozumí část zemského povrchu, a to část taková, která je od sousedních částí zemského povrchu (sousedních pozemků)

Více

Číslicová technika 3 učební texty (SPŠ Zlín) str.: - 1 -

Číslicová technika 3 učební texty (SPŠ Zlín) str.: - 1 - Číslicová technika učební texty (SPŠ Zlín) str.: - -.. ČÍTAČE Mnohá logická rozhodnutí jsou založena na vyhodnocení počtu opakujících se jevů. Takovými jevy jsou např. rychlost otáčení nebo cykly stroje,

Více

funkční na dual-sim telefonech možnost přesměrovat příchozí hovory možnost nastavení více telefonních čísel pro případ, že je jedno nedostupné

funkční na dual-sim telefonech možnost přesměrovat příchozí hovory možnost nastavení více telefonních čísel pro případ, že je jedno nedostupné Analyzujte, navrhněte a implementujte aplikaci pro sledování spánku dětí Chůvička pro telefony na platformě Android. Od existujících aplikací se bude aplikace odlišovat tímto: funkční na dual-sim telefonech

Více

Formáty pro rastrovou grafiku

Formáty pro rastrovou grafiku Semestrální práce z předmětu Kartografická polygrafie a reprografie Formáty pro rastrovou grafiku Autor: Linda Křikavová, Ondřej Vala Editor: Miroslav Ott Praha, březen 2011 Katedra mapování a kartografie

Více

Stanovisko komise pro hodnocení dopadů regulace

Stanovisko komise pro hodnocení dopadů regulace V Praze dne 27. dubna 2015 Č.j.:359/15/REV1 Stanovisko komise pro hodnocení dopadů regulace k návrhu k návrhu zákona, kterým se mění zákon č. 133/2000 Sb., o evidenci obyvatel a rodných číslech a o změně

Více

Data v počítači EIS MIS TPS. Informační systémy 2. Spojení: e-mail: jan.skrbek@tul.cz tel.: 48 535 2442 Konzultace: úterý 14 20-15 50

Data v počítači EIS MIS TPS. Informační systémy 2. Spojení: e-mail: jan.skrbek@tul.cz tel.: 48 535 2442 Konzultace: úterý 14 20-15 50 Informační systémy 2 Data v počítači EIS MIS TPS strategické řízení taktické řízení operativní řízení a provozu Spojení: e-mail: jan.skrbek@tul.cz tel.: 48 535 2442 Konzultace: úterý 14 20-15 50 18.3.2014

Více

DUM 02 téma: Formáty souborů rastrové grafiky

DUM 02 téma: Formáty souborů rastrové grafiky DUM 02 téma: Formáty souborů rastrové grafiky ze sady: 02 tematický okruh sady: Bitmapová grafika ze šablony: 09 Počítačová grafika určeno pro: 2. ročník vzdělávací obor: vzdělávací oblast: číslo projektu:

Více

Těhotenský test pro zrakově postižené Tereza Hyková

Těhotenský test pro zrakově postižené Tereza Hyková Těhotenský test pro zrakově postižené Tereza Hyková hykovter@fel.cvut.cz Zadání Cílem projektu je nalézt řešení, které by umožnilo nevidomým dívkám a ženám interpretovat výsledek těhotenského testu v soukromí

Více

SKLÁDANÉ OPĚRNÉ STĚNY

SKLÁDANÉ OPĚRNÉ STĚNY Široký sortiment betonových prvků pro vnější architekturu nabízí také prvky, z nichž lze buď suchou montáží anebo kombinací suché montáže a monolitického betonu zhotovit opěrné stěny. Opěrná stěna je velmi

Více

TIP: Pro vložení konce stránky můžete použít klávesovou zkratku CTRL + Enter.

TIP: Pro vložení konce stránky můžete použít klávesovou zkratku CTRL + Enter. Dialogové okno Sloupce Vložení nového oddílu Pokud chcete mít oddělené jednotlivé části dokumentu (například kapitoly), musíte roz dělit dokument na více oddílů. To mimo jiné umožňuje jinak formátovat

Více

Seriál: Management projektů 7. rámcového programu

Seriál: Management projektů 7. rámcového programu Seriál: Management projektů 7. rámcového programu Část 4 Podpis Konsorciální smlouvy V předchozím čísle seriálu o Managementu projektů 7. rámcového programu pro výzkum, vývoj a demonstrace (7.RP) byl popsán

Více

STÍRÁNÍ NEČISTOT, OLEJŮ A EMULZÍ Z KOVOVÝCH PÁSŮ VE VÁLCOVNÁCH ZA STUDENA

STÍRÁNÍ NEČISTOT, OLEJŮ A EMULZÍ Z KOVOVÝCH PÁSŮ VE VÁLCOVNÁCH ZA STUDENA STÍRÁNÍ NEČISTOT, OLEJŮ A EMULZÍ Z KOVOVÝCH PÁSŮ VE VÁLCOVNÁCH ZA STUDENA ÚVOD Při válcování za studena je povrch vyválcovaného plechu znečištěn oleji či emulzemi, popř. dalšími nečistotami. Nežádoucí

Více

Projekt: Inovace oboru Mechatronik pro Zlínský kraj Registrační číslo: CZ.1.07/1.1.08/03.0009

Projekt: Inovace oboru Mechatronik pro Zlínský kraj Registrační číslo: CZ.1.07/1.1.08/03.0009 Projekt: Inovace oboru Mechatronik pro Zlínský kraj Registrační číslo: CZ.1.07/1.1.08/03.0009 Zálohování dat Většina výkladových slovníků definuje zálohu jako kopii dat na samostatný datový nosič pro případ

Více

Algoritmizace a programování

Algoritmizace a programování Algoritmizace a programování V algoritmizaci a programování je důležitá schopnost analyzovat a myslet. Všeobecně jsou odrazovým můstkem pro řešení neobvyklých, ale i každodenních problémů. Naučí nás rozdělit

Více

21 SROVNÁVACÍ LCA ANALÝZA KLASICKÝCH ŽÁROVEK A KOMPAKTNÍCH ZÁŘIVEK

21 SROVNÁVACÍ LCA ANALÝZA KLASICKÝCH ŽÁROVEK A KOMPAKTNÍCH ZÁŘIVEK 21 SROVNÁVACÍ LCA ANALÝZA KLASICKÝCH ŽÁROVEK A KOMPAKTNÍCH ZÁŘIVEK Pavel Rokos ČESKÉ VYSOKÉ UČENÍ TECHNICKÉ V PRAZE Fakulta elektrotechnická Katedra elektrotechnologie Úvod Světelné zdroje jsou jedním

Více

které je třeba si položit před zakoupením levného CAD programu

které je třeba si položit před zakoupením levného CAD programu Otázek které je třeba si položit před zakoupením levného CAD programu 5 otázek, které je třeba si položit před zakoupením levného CAD programu 1 Má daný CAD program konzistentní příkazový slovník 2 Podporuje

Více

Obsah 1. Grafický manuál firmy 2. Podklady grafického manuálu 3. Varianty loga 4. Logo a logotyp

Obsah 1. Grafický manuál firmy 2. Podklady grafického manuálu 3. Varianty loga 4. Logo a logotyp Obsah 1. Grafický manuál firmy... 9 2. Podklady grafického manuálu... 10 3. Varianty loga... 11 3.1. Hlavní varianta... 11 3.2. Černobílá varianta... 11 4. Logo a logotyp... 12 4.1. Návrh loga... 12 4.2.

Více

9.4.2001. Ėlektroakustika a televize. TV norma ... Petr Česák, studijní skupina 205

9.4.2001. Ėlektroakustika a televize. TV norma ... Petr Česák, studijní skupina 205 Ėlektroakustika a televize TV norma.......... Petr Česák, studijní skupina 205 Letní semestr 2000/200 . TV norma Úkol měření Seznamte se podrobně s průběhem úplného televizního signálu obrazového černobílého

Více

ČESKÁ ZEMĚDĚLSKÁ UNIVERZITA V PRAZE

ČESKÁ ZEMĚDĚLSKÁ UNIVERZITA V PRAZE ČESKÁ ZEMĚDĚLSKÁ UNIVERZITA V PRAZE Fakulta provozně ekonomická Obor: Provoz a ekonomika Statistické aspekty terénních průzkumů Vedoucí diplomové práce: Ing. Pavla Hošková Vypracoval: Martin Šimek 2003

Více

Návrh induktoru a vysokofrekven ního transformátoru

Návrh induktoru a vysokofrekven ního transformátoru 1 Návrh induktoru a vysokofrekven ního transformátoru Induktory energii ukládají, zatímco transformátory energii p em ují. To je základní rozdíl. Magnetická jádra induktor a vysokofrekven ních transformátor

Více

V této části manuálu bude popsán postup jak vytvářet a modifikovat stránky v publikačním systému Moris a jak plně využít všech možností systému.

V této části manuálu bude popsán postup jak vytvářet a modifikovat stránky v publikačním systému Moris a jak plně využít všech možností systému. V této části manuálu bude popsán postup jak vytvářet a modifikovat stránky v publikačním systému Moris a jak plně využít všech možností systému. MENU Tvorba základního menu Ikona Menu umožňuje vytvořit

Více

Bude nás sledovat inteligentní prach? Ing. Bibiána Buková, PhD. (17. 12. 2004)

Bude nás sledovat inteligentní prach? Ing. Bibiána Buková, PhD. (17. 12. 2004) Bude nás sledovat inteligentní prach? Ing. Bibiána Buková, PhD. (17. 12. 2004) Využití inteligentního prachu je návrh futuristický, uvažuje s možností využít zařízení, označovaného jako inteligentní prach

Více

EXPERTNÍ POSUDEK Doc. RNDr. Martin Ouředníček, Ph.D. Stručný výtah z posudku.

EXPERTNÍ POSUDEK Doc. RNDr. Martin Ouředníček, Ph.D. Stručný výtah z posudku. EXPERTNÍ POSUDEK Doc. RNDr. Martin Ouředníček, Ph.D. Stručný výtah z posudku. EXPERTNÍ POSUDEK SE BUDE ZABÝVAT NÁSLEDUJÍCÍMI OTÁZKAMI TÝKAJÍCÍMI SE METOD ZPRACOVÁNÍ RURÚ: a. zjistit shodné metodické přístupy

Více

A. PODÍL JEDNOTLIVÝCH DRUHŮ DOPRAVY NA DĚLBĚ PŘEPRAVNÍ PRÁCE A VLIV DÉLKY VYKONANÉ CESTY NA POUŽITÍ DOPRAVNÍHO PROSTŘEDKU

A. PODÍL JEDNOTLIVÝCH DRUHŮ DOPRAVY NA DĚLBĚ PŘEPRAVNÍ PRÁCE A VLIV DÉLKY VYKONANÉ CESTY NA POUŽITÍ DOPRAVNÍHO PROSTŘEDKU A. PODÍL JEDNOTLIVÝCH DRUHŮ DOPRAVY NA DĚLBĚ PŘEPRAVNÍ PRÁCE A VLIV DÉLKY VYKONANÉ CESTY NA POUŽITÍ DOPRAVNÍHO PROSTŘEDKU Ing. Jiří Čarský, Ph.D. (Duben 2007) Komplexní přehled o podílu jednotlivých druhů

Více

1 METODICKÉ POKYNY AD HOC MODUL 2007: Pracovní úrazy a zdravotní problémy související se zaměstnáním

1 METODICKÉ POKYNY AD HOC MODUL 2007: Pracovní úrazy a zdravotní problémy související se zaměstnáním 1 METODICKÉ POKYNY AD HOC MODUL 2007: Pracovní úrazy a zdravotní problémy související se zaměstnáním Ad hoc modul 2007 vymezuje Nařízení Komise (ES) č. 431/2006 z 24. února 2006. Účelem ad hoc modulu 2007

Více

Vyvažování tuhého rotoru v jedné rovině přístrojem Adash 4900 - Vibrio

Vyvažování tuhého rotoru v jedné rovině přístrojem Adash 4900 - Vibrio Aplikační list Vyvažování tuhého rotoru v jedné rovině přístrojem Adash 4900 - Vibrio Ref: 15032007 KM Obsah Vyvažování v jedné rovině bez měření fáze signálu...3 Nevýhody vyvažování jednoduchými přístroji...3

Více

Memoria Mundi Series Bohemica z trezoru na Internet

Memoria Mundi Series Bohemica z trezoru na Internet Memoria Mundi Series Bohemica z trezoru na Internet Ing. Stanislav Psohlavec AiP Beroun s.r.o. Pilíře projektu MMSB... 1 Digitalizace, digitální dokumenty, digitální knihovna... 1 MASTER... 1 Využívání

Více

účetních informací státu při přenosu účetního záznamu,

účetních informací státu při přenosu účetního záznamu, Strana 6230 Sbírka zákonů č. 383 / 2009 Částka 124 383 VYHLÁŠKA ze dne 27. října 2009 o účetních záznamech v technické formě vybraných účetních jednotek a jejich předávání do centrálního systému účetních

Více

Rychnov nad Kněžnou. Trutnov VÝVOJ BYTOVÉ VÝSTAVBY V KRÁLOVÉHRADECKÉM KRAJI V LETECH 1998 AŽ 2007 29

Rychnov nad Kněžnou. Trutnov VÝVOJ BYTOVÉ VÝSTAVBY V KRÁLOVÉHRADECKÉM KRAJI V LETECH 1998 AŽ 2007 29 3. Bytová výstavba v okresech Královéhradeckého kraje podle fází (bez promítnutí územních změn) Ekonomická transformace zasáhla bytovou výstavbu velmi negativně, v 1. polovině 90. let nastal rapidní pokles

Více

7. Domy a byty. 7.1. Charakteristika domovního fondu

7. Domy a byty. 7.1. Charakteristika domovního fondu 7. Domy a byty Sčítání lidu, domů a bytů 2011 podléhají všechny domy, které jsou určeny k bydlení (např. rodinné, bytové domy), ubytovací zařízení určená k bydlení (domovy důchodců, penziony pro důchodce,

Více

-1- N á v r h ČÁST PRVNÍ OBECNÁ USTANOVENÍ. 1 Předmět úpravy

-1- N á v r h ČÁST PRVNÍ OBECNÁ USTANOVENÍ. 1 Předmět úpravy -1- I I. N á v r h VYHLÁŠKY ze dne 2009 o účetních záznamech v technické formě vybraných účetních jednotek a jejich předávání do centrálního systému účetních informací státu a o požadavcích na technické

Více

TECHNICKÉ KRESLENÍ A CAD

TECHNICKÉ KRESLENÍ A CAD Přednáška č. 7 V ELEKTROTECHNICE Kótování Zjednodušené kótování základních geometrických prvků Někdy stačí k zobrazení pouze jeden pohled Tenké součásti kvádr Kótování Kvádr (základna čtverec) jehlan Kvalitativní

Více

KAPITOLA 6.3 POŽADAVKY NA KONSTRUKCI A ZKOUŠENÍ OBALŮ PRO INFEKČNÍ LÁTKY KATEGORIE A TŘÍDY 6.2

KAPITOLA 6.3 POŽADAVKY NA KONSTRUKCI A ZKOUŠENÍ OBALŮ PRO INFEKČNÍ LÁTKY KATEGORIE A TŘÍDY 6.2 KAPITOLA 6.3 POŽADAVKY NA KONSTRUKCI A ZKOUŠENÍ OBALŮ PRO INFEKČNÍ LÁTKY KATEGORIE A TŘÍDY 6.2 POZNÁMKA: Požadavky této kapitoly neplatí pro obaly, které budou používány dle 4.1.4.1, pokynu pro balení

Více

4.5.1 Magnety, magnetické pole

4.5.1 Magnety, magnetické pole 4.5.1 Magnety, magnetické pole Předpoklady: 4101 Pomůcky: magnety, kancelářské sponky, papír, dřevěná dýha, hliníková kulička, měděná kulička (drát), železné piliny, papír, jehla (špendlík), korek (kus

Více

Tel/fax: +420 545 222 581 IČO:269 64 970

Tel/fax: +420 545 222 581 IČO:269 64 970 PRÁŠKOVÁ NITRIDACE Pokud se chcete krátce a účinně poučit, přečtěte si stránku 6. 1. Teorie nitridace Nitridování je sycení povrchu součásti dusíkem v plynné, nebo kapalném prostředí. Výsledkem je tenká

Více

LED svítidla - nové trendy ve světelných zdrojích

LED svítidla - nové trendy ve světelných zdrojích LED svítidla - nové trendy ve světelných zdrojích Základní východiska Nejbouřlivější vývoj v posledním období probíhá v oblasti vývoje a zdokonalování světelných zdrojů nazývaných obecně LED - Light Emitting

Více

Zadávání tiskových zakázek prostřednictvím JDF a Adobe Acrobat Professional

Zadávání tiskových zakázek prostřednictvím JDF a Adobe Acrobat Professional Zadávání tiskových zakázek prostřednictvím JDF a Adobe Acrobat Professional Nejčastěji se o JDF hovoří při řízení procesů v tiskových provozech. JDF se však má stát komunikačním prostředkem mezi všemi

Více

Otevřený plamen Olejová lázeň Pece Indukční ohřívací zařízení SKF

Otevřený plamen Olejová lázeň Pece Indukční ohřívací zařízení SKF Ohřívací zařízení SKF Je to tak. Nesprávné montážní postupy jsou až v 16 % případů příčinou předčasného selhání ložisek Ve snaze snížit riziko nesprávné montáže začala společnost SKF jako jedna z prvních

Více

MOBILNÍ KOMUNIKACE STRUKTURA GSM SÍTĚ

MOBILNÍ KOMUNIKACE STRUKTURA GSM SÍTĚ MOBILNÍ KOMUNIKACE STRUKTURA GSM SÍTĚ Jiří Čermák Letní semestr 2005/2006 Struktura sítě GSM Mobilní sítě GSM byly původně vyvíjeny za účelem přenosu hlasu. Protože ale fungují na digitálním principu i

Více

Pravidla o poskytování a rozúčtování plnění nezbytných při užívání bytových a nebytových jednotek v domech s byty.

Pravidla o poskytování a rozúčtování plnění nezbytných při užívání bytových a nebytových jednotek v domech s byty. Pravidla o poskytování a rozúčtování plnění nezbytných při užívání bytových a nebytových jednotek v domech s byty. Preambule Rada města Slavičín se usnesla podle 102 odst.3 zákona č. 128/2000Sb., vydat

Více

Preference v u ívání prost edk elektronické komunikace áky a studenty

Preference v u ívání prost edk elektronické komunikace áky a studenty Preference v u ívání prost edk elektronické komunikace áky a studenty (dotazníkový pr zkum) Zuzana Pustinová Dne ní doba nabízí mnohé mo nosti, jak komunikovat, ani by se ú astníci hovoru nacházeli na

Více

Obsah. Obsah. Úvod... 7

Obsah. Obsah. Úvod... 7 Obsah Obsah Úvod... 7 1. Digitální fotografie... 10 1.1 Prohlížení obrázků pomocí Nero PhotoSnap Viewer... 10 1.1.1 Zobrazení na celou obrazovku...12 1.1.2 Jak zjednodušit přechod do jiné složky...13 1.1.3

Více

Osvětlovací modely v počítačové grafice

Osvětlovací modely v počítačové grafice Západočeská univerzita v Plzni Fakulta aplikovaných věd Semestrální práce z předmětu Matematické modelování Osvětlovací modely v počítačové grafice 27. ledna 2008 Martin Dohnal A07060 mdohnal@students.zcu.cz

Více

Výzva k podání nabídek (zadávací dokumentace)

Výzva k podání nabídek (zadávací dokumentace) Výzva k podání nabídek (zadávací dokumentace) 1.Číslo zakázky 2.Název programu: 3.Registrační číslo projektu 4.Název projektu: 5.Název zakázky: Operační program Vzdělání pro konkurenceschopnost CZ.1.07/1.1.07/02.0129

Více

Dne 12. 7. 2010 obdržel zadavatel tyto dotazy týkající se zadávací dokumentace:

Dne 12. 7. 2010 obdržel zadavatel tyto dotazy týkající se zadávací dokumentace: Dne 12. 7. 2010 obdržel zadavatel tyto dotazy týkající se zadávací dokumentace: 1. na str. 3 požadujete: Volání a SMS mezi zaměstnanci zadavatele zdarma bez paušálního poplatku za tuto službu. Tento požadavek

Více

PALETOVÉ REGÁLY SUPERBUILD NÁVOD NA MONTÁŽ

PALETOVÉ REGÁLY SUPERBUILD NÁVOD NA MONTÁŽ PALETOVÉ REGÁLY SUPERBUILD NÁVOD NA MONTÁŽ Charakteristika a použití Příhradový regál SUPERBUILD je určen pro zakládání všech druhů palet, přepravek a beden všech rozměrů a pro ukládání kusového, volně

Více

3. Restrukturalizace nebo manipulace s údaji - práce s rastrovými daty

3. Restrukturalizace nebo manipulace s údaji - práce s rastrovými daty 3. Restrukturalizace nebo manipulace s údaji - práce s rastrovými daty Většina systémových konverzí je shodná nebo analogická jako u vektorových dat. změna formátu uložení dat změny rozlišení převzorkování

Více

Měřidla. Existují dva druhy měření:

Měřidla. Existují dva druhy měření: V této kapitole se seznámíte s většinou klasických druhů měřidel a se způsobem jejich použití. A co že má dělat měření na prvním místě mezi kapitolami o ručním obrábění kovu? Je to jednoduché - proto,

Více

170/2010 Sb. VYHLÁŠKA. ze dne 21. května 2010

170/2010 Sb. VYHLÁŠKA. ze dne 21. května 2010 170/2010 Sb. VYHLÁŠKA ze dne 21. května 2010 o bateriích a akumulátorech a o změně vyhlášky č. 383/2001 Sb., o podrobnostech nakládání s odpady, ve znění pozdějších předpisů Ministerstvo životního prostředí

Více

VLÁDA ČESKÉ REPUBLIKY. Příloha k usnesení vlády ze dne 13. února 2013 č. 101. Stanovisko

VLÁDA ČESKÉ REPUBLIKY. Příloha k usnesení vlády ze dne 13. února 2013 č. 101. Stanovisko VLÁDA ČESKÉ REPUBLIKY Příloha k usnesení vlády ze dne 13. února 2013 č. 101 Stanovisko vlády k návrhu zákona, kterým se mění zákon č. 329/2011 Sb., o poskytování dávek osobám se zdravotním postižením a

Více

1 - Prostředí programu WORD 2007

1 - Prostředí programu WORD 2007 1 - Prostředí programu WORD 2007 Program WORD 2007 slouží k psaní textů, do kterých je možné vkládat různé obrázky, tabulky a grafy. Vytvořené texty se ukládají jako dokumenty s příponou docx (formát Word

Více

Využití interaktivní tabule ve výuce

Využití interaktivní tabule ve výuce Využití interaktivní tabule ve výuce Vzdělávání je neustále inovováno využíváním moderní didaktické techniky a učebních pomůcek, které se pro dnešní generaci vzdělávání staly téměř nepostradatelnými. V

Více

Pokyny České pošty pro označování Doporučených zásilek čárovými kódy

Pokyny České pošty pro označování Doporučených zásilek čárovými kódy Pokyny České pošty pro označování Doporučených zásilek čárovými kódy Zpracoval Česká pošta, s.p. Datum vytvoření 14.04.2010 Datum aktualizace 17.04.2014 Počet stran 20 Počet příloh 0 Obsah dokumentu 1.

Více

INTELIGENTNÍ DŮM. Zdeněk Kolář, Viktor Daněk. Střední průmyslová škola sdělovací techniky Panská 856/3, 110 00 Praha 1

INTELIGENTNÍ DŮM. Zdeněk Kolář, Viktor Daněk. Střední průmyslová škola sdělovací techniky Panská 856/3, 110 00 Praha 1 Středoškolská technika 2013 Setkání a prezentace prací středoškolských studentů na ČVUT INTELIGENTNÍ DŮM Zdeněk Kolář, Viktor Daněk Střední průmyslová škola sdělovací techniky Panská 856/3, 110 00 Praha

Více

HLAVA III ODVOLACÍ FINANČNÍ ŘEDITELSTVÍ 5 ÚZEMNÍ PŮSOBNOST A SÍDLO

HLAVA III ODVOLACÍ FINANČNÍ ŘEDITELSTVÍ 5 ÚZEMNÍ PŮSOBNOST A SÍDLO Územní působnost a sídlo při vymáhání některých finančních pohledávek. Tato pověření se publikují ve Finančním zpravodaji. Postup a podmínky, za kterých je prováděna mezinárodní pomoc ve vztahu k jiným

Více

ICT plán školy 2015/2016

ICT plán školy 2015/2016 Základní škola s rozšířeným vyučováním informatiky a výpočetní techniky ICT plán školy 2015/2016 1. Základní údaje o škole Název školy: Základní škola s rozšířeným vyučováním informatiky a výpočetní techniky

Více

WEBMAP Mapový server PŘÍRUČKA PRO WWW UŽIVATELE. 2005-2008 Hydrosoft Veleslavín, s.r.o., U Sadu 13, Praha 6 www.hydrosoft.eu

WEBMAP Mapový server PŘÍRUČKA PRO WWW UŽIVATELE. 2005-2008 Hydrosoft Veleslavín, s.r.o., U Sadu 13, Praha 6 www.hydrosoft.eu WEBMAP Mapový server PŘÍRUČKA PRO WWW UŽIVATELE 2005-2008 Hydrosoft Veleslavín, s.r.o., U Sadu 13, Praha 6 www.hydrosoft.eu Obsah Obsah 1 1.1 3 Internetový... prohlížeč map 4 Rozložení ovládacích... prvků

Více

STANOVISKO č. STAN/1/2006 ze dne 8. 2. 2006

STANOVISKO č. STAN/1/2006 ze dne 8. 2. 2006 STANOVISKO č. STAN/1/2006 ze dne 8. 2. 2006 Churning Churning je neetická praktika spočívající v nadměrném obchodování na účtu zákazníka obchodníka s cennými papíry. Negativní následek pro zákazníka spočívá

Více

Komprimace grafických dat, formáty počítačové grafiky

Komprimace grafických dat, formáty počítačové grafiky Komprimace grafických dat, formáty počítačové grafiky Kapitola poskytuje čtenáři základní přehled formátů používaných v počítačové grafice, základní údaje o možnostech přenositelnosti dokumentů mezi aplikacemi.

Více

Přezkoumání vhodnosti použití zvýšené podlahy pro aplikace datových středisek

Přezkoumání vhodnosti použití zvýšené podlahy pro aplikace datových středisek Přezkoumání vhodnosti použití zvýšené podlahy pro aplikace datových středisek White Paper #19 Revize 0 Resumé V tomto dokumentu jsou popsány okolnosti, které daly podnět k vývoji a používání zvýšených

Více

obecně závazné vyhlášky o vedení technické mapy obce A. OBECNÁ ČÁST Vysvětlení navrhované právní úpravy a jejích hlavních principů

obecně závazné vyhlášky o vedení technické mapy obce A. OBECNÁ ČÁST Vysvětlení navrhované právní úpravy a jejích hlavních principů O D Ů V O D N Ě N Í obecně závazné vyhlášky o vedení technické mapy obce A. OBECNÁ ČÁST Vysvětlení navrhované právní úpravy a jejích hlavních principů 1. Definice technické mapy Technickou mapou obce (TMO)

Více

Ukázka knihy z internetového knihkupectví www.kosmas.cz

Ukázka knihy z internetového knihkupectví www.kosmas.cz Ukázka knihy z internetového knihkupectví www.kosmas.cz U k á z k a k n i h y z i n t e r n e t o v é h o k n i h k u p e c t v í w w w. k o s m a s. c z, U I D : K O S 1 8 1 0 8 2 U k á z k a k n i h

Více

Uložení potrubí. Postupy pro navrhování, provoz, kontrolu a údržbu. Volba a hodnocení rezervy posuvu podpěr potrubí

Uložení potrubí. Postupy pro navrhování, provoz, kontrolu a údržbu. Volba a hodnocení rezervy posuvu podpěr potrubí Uložení potrubí Postupy pro navrhování, provoz, kontrolu a údržbu Volba a hodnocení rezervy posuvu podpěr potrubí Obsah: 1. Definice... 2 2. Rozměrový návrh komponent... 2 3. Podpěra nebo vedení na souosém

Více

Koncepce rozvoje Polytematického strukturovaného hesláře (PSH) 2012 2014

Koncepce rozvoje Polytematického strukturovaného hesláře (PSH) 2012 2014 Koncepce rozvoje Polytematického strukturovaného hesláře (PSH) 2012 2014 Schváleno Radou pro koordinaci Polytematického strukturovaného hesláře (PSH) dne: 12. 12. 2011 ÚVOD V době svého vzniku (90. léta

Více

INFORMATIKA V CHOVECH PRASAT

INFORMATIKA V CHOVECH PRASAT INFORMATIKA V CHOVECH PRASAT Bajbár, M. KONFIRM, spol. s r.o. Tento článek si klade za cíl informovat odbornou veřejnost z oblasti chovu a šlechtění prasat o možnostech využití a základních analytických

Více

Vláda nařizuje podle 133b odst. 2 zákona č. 65/1965 Sb., zákoník práce, ve znění zákona č. 155/2000 Sb.:

Vláda nařizuje podle 133b odst. 2 zákona č. 65/1965 Sb., zákoník práce, ve znění zákona č. 155/2000 Sb.: 11/2002 Sb. NAŘÍZENÍ VLÁDY ze dne 14. listopadu 2001, kterým se stanoví vzhled a umístění bezpečnostních značek a zavedení signálů Změna: 405/2004 Sb. Vláda nařizuje podle 133b odst. 2 zákona č. 65/1965

Více

Katalog vzdělávání 2015

Katalog vzdělávání 2015 Katalog vzdělávání 2015 Obsah Osobnostní rozvoj... 3 1. Komunikační dovednosti... 3 2. Prezentační dovednosti... 3 3. Lektorské dovednosti a kompetence... 3 4. Vyjednávání v každodenní praxi... 4 5. Jak

Více

Kočí, R.: Účelové pozemní komunikace a jejich právní ochrana Leges Praha, 2011

Kočí, R.: Účelové pozemní komunikace a jejich právní ochrana Leges Praha, 2011 Kočí, R.: Účelové pozemní komunikace a jejich právní ochrana Leges Praha, 2011 Účelové komunikace jsou důležitou a rozsáhlou částí sítě pozemních komunikací v České republice. Na rozdíl od ostatních kategorií

Více

SMLOUVA O PODMÍNKÁCH A PRAVIDLECH ÚČASTI NA ELEKTRONICKÝCH AUKCÍCH DŘÍVÍ

SMLOUVA O PODMÍNKÁCH A PRAVIDLECH ÚČASTI NA ELEKTRONICKÝCH AUKCÍCH DŘÍVÍ SMLOUVA O PODMÍNKÁCH A PRAVIDLECH ÚČASTI NA ELEKTRONICKÝCH AUKCÍCH DŘÍVÍ Článek 1 Strany smlouvy Lesy České republiky, s.p. se sídlem Hradec Králové, Přemyslova 1106, PSČ 50168 zapsaný v obchodním rejstříku

Více

Obsah ÚVOD. Participanti. Nastavení testu. - úvod - participanti - nastavení testu - přehled úkolů testu - soupis problémů a návrh řešení - závěr

Obsah ÚVOD. Participanti. Nastavení testu. - úvod - participanti - nastavení testu - přehled úkolů testu - soupis problémů a návrh řešení - závěr B2 Obsah - úvod - participanti - nastavení testu - přehled úkolů testu - soupis problémů a návrh řešení - závěr ÚVOD Test prováděný naší skupinou, měl za úkol najít chyby a nedostatky v designu programu

Více

1. PROSTŘEDÍ PROGRAMU. Pás karet se záložkami (na obrázku aktivovaná karta Domů ) Hlavní okno, ve kterém se edituje aktuální snímek prezentace

1. PROSTŘEDÍ PROGRAMU. Pás karet se záložkami (na obrázku aktivovaná karta Domů ) Hlavní okno, ve kterém se edituje aktuální snímek prezentace Práce v PowerPointu 2007 PowerPoint je program z balíčku programů MS Office, který slouží pro tvorbu tzv. prezentací. Prezentace je určená k promítání při různých konferencí, veletrzích, přednáškách apod.

Více

ZÁKON ze dne.2015, kterým se mění zákon č. 505/1990 Sb., o metrologii, ve znění pozdějších předpisů

ZÁKON ze dne.2015, kterým se mění zákon č. 505/1990 Sb., o metrologii, ve znění pozdějších předpisů V l á d n í n á v r h ZÁKON ze dne.2015, kterým se mění zákon č. 505/1990 Sb., o metrologii, ve znění pozdějších předpisů Parlament se usnesl na tomto zákoně České republiky: Čl. I Zákon č. 505/1990 Sb.,

Více

VÝZVA K PODÁNÍ NABÍDKY VE VEŘEJNÉ ZAKÁZCE MALÉHO ROZSAHU

VÝZVA K PODÁNÍ NABÍDKY VE VEŘEJNÉ ZAKÁZCE MALÉHO ROZSAHU VÝZVA K PODÁNÍ NABÍDKY VE VEŘEJNÉ ZAKÁZCE MALÉHO ROZSAHU Z 356 - Zajištění přímých přenosů a záznamů z jednání ZMČ preambule Tato veřejná zakázka malého rozsahu není v souladu s ust. 18 odst. 5 zákona

Více

Gymnázium Jana Pivečky a Střední odborná škola Slavičín. III/2 - Inovace a zkvalitnění výuky prostřednictvím ICT

Gymnázium Jana Pivečky a Střední odborná škola Slavičín. III/2 - Inovace a zkvalitnění výuky prostřednictvím ICT Název projektu Číslo projektu Název školy Autor Název šablony Inovace výuky prostřednictvím šablon pro SŠ CZ.1.07/1.5.00/34.0748 Gymnázium Jana Pivečky a Střední odborná škola Slavičín Ing. Alois Kužela

Více

DATABÁZE 2007. DŮLEŽITÉ: Před načtením nové databáze do vaší databáze si prosím přečtěte následující informace, které vám umožní:

DATABÁZE 2007. DŮLEŽITÉ: Před načtením nové databáze do vaší databáze si prosím přečtěte následující informace, které vám umožní: DATABÁZE 2007 DŮLEŽITÉ: Před načtením nové databáze do vaší databáze si prosím přečtěte následující informace, které vám umožní: - jednoduše a rychle provést úpravy ve struktuře vaší databáze podle potřeby

Více

VYUŽITÍ M-LEARNINGU PŘI VÝUCE

VYUŽITÍ M-LEARNINGU PŘI VÝUCE VYUŽITÍ M-LEARNINGU PŘI VÝUCE Using M-learing in Education Mgr. Jiří Zacpal, Ph.D. Katedra informatiky, Přírodovědecká fakulta, Univerzita Palackého v Olomouci E-mail: Ujiri.zacpal@upol.cz 0BAbstrakt Ve

Více

Pracovní návrh. VYHLÁŠKA Ministerstva práce a sociálních věcí. ze dne.2013. o hygienických požadavcích na prostory a provoz dětské skupiny do 12 dětí

Pracovní návrh. VYHLÁŠKA Ministerstva práce a sociálních věcí. ze dne.2013. o hygienických požadavcích na prostory a provoz dětské skupiny do 12 dětí Pracovní návrh VYHLÁŠKA Ministerstva práce a sociálních věcí ze dne.2013 o hygienických požadavcích na prostory a provoz dětské skupiny do 12 dětí Ministerstvo práce a sociálních věcí stanoví podle 26

Více

TECHNICKÁ UNIVERZITA V LIBERCI

TECHNICKÁ UNIVERZITA V LIBERCI TECHNICKÁ UNIVERZITA V LIBERCI Fakulta mechatroniky, informatiky a mezioborových studií Anemometrické metody Učební text Ing. Bc. Michal Malík Ing. Bc. Jiří Primas Liberec 2011 Materiál vznikl v rámci

Více

na sále Kulturního domu v Rudolticích dne 7. října 2013

na sále Kulturního domu v Rudolticích dne 7. října 2013 Zápis ze schůzky zástupců obce s domovními důvěrníky Zahájení v 16.00 hod. Účast: na sále Kulturního domu v Rudolticích domovní důvěrníci, popř. zástupci: dne 7. října 2013 o přítomni: Eva Chládková, Jana

Více

Systém elektronického zpracování údajů o výzkumných projektech a jejich hodnocení v GA AV

Systém elektronického zpracování údajů o výzkumných projektech a jejich hodnocení v GA AV Systém elektronického zpracování údajů o výzkumných projektech a jejich hodnocení v GA AV Leoš HORNÍČEK Kancelář AV ČR, Praha hornicek@kav.cas.cz INFORUM 2008: 14. konference o profesionálních informačních

Více

ŘÁD UPRAVUJÍCÍ POSTUP DO DALŠÍHO ROČNÍKU

ŘÁD UPRAVUJÍCÍ POSTUP DO DALŠÍHO ROČNÍKU 1. Oblast použití Řád upravující postup do dalšího ročníku ŘÁD UPRAVUJÍCÍ POSTUP DO DALŠÍHO ROČNÍKU na Německé škole v Praze 1.1. Ve školském systému s třináctiletým studijním cyklem zahrnuje nižší stupeň

Více

5.6.6.3. Metody hodnocení rizik

5.6.6.3. Metody hodnocení rizik 5.6.6.3. Metody hodnocení rizik http://www.guard7.cz/lexikon/lexikon-bozp/identifikace-nebezpeci-ahodnoceni-rizik/metody-hodnoceni-rizik Pro hodnocení a analýzu rizik se používají různé metody. Výběr metody

Více

INTERNETOVÝ TRH S POHLEDÁVKAMI. Uživatelská příručka

INTERNETOVÝ TRH S POHLEDÁVKAMI. Uživatelská příručka INTERNETOVÝ TRH S POHLEDÁVKAMI Uživatelská příručka 1. března 2013 Obsah Registrace... 3 Registrace fyzické osoby... 3 Registrace právnické osoby... 6 Uživatelské role v systému... 8 Přihlášení do systému...

Více

499/2004 Sb. ZÁKON ČÁST PRVNÍ ARCHIVNICTVÍ A SPISOVÁ SLUŽBA

499/2004 Sb. ZÁKON ČÁST PRVNÍ ARCHIVNICTVÍ A SPISOVÁ SLUŽBA Obsah a text 499/2004 Sb. - stav k 31.12.2013 Změna: 413/2005 Sb., 444/2005 Sb. Změna: 112/2006 Sb. Změna: 181/2007 Sb. Změna: 296/2007 Sb. Změna: 32/2008 Sb. Změna: 190/2009 Sb. Změna: 227/2009 Sb. Změna:

Více

Budování aplikačních rozhraní pro obousměrnou komunikaci mezi ERMS a jejich vztah k Národnímu standardu pro komunikaci mezi ERMS.

Budování aplikačních rozhraní pro obousměrnou komunikaci mezi ERMS a jejich vztah k Národnímu standardu pro komunikaci mezi ERMS. Budování aplikačních rozhraní pro obousměrnou komunikaci mezi ERMS a jejich vztah k Národnímu standardu pro komunikaci mezi ERMS. Použité zkratky ERMS ESS i AIS ESS elektronická spisová služba AIS agendový

Více

Česká zemědělská univerzita v Praze Fakulta provozně ekonomická. Obor veřejná správa a regionální rozvoj. Diplomová práce

Česká zemědělská univerzita v Praze Fakulta provozně ekonomická. Obor veřejná správa a regionální rozvoj. Diplomová práce Česká zemědělská univerzita v Praze Fakulta provozně ekonomická Obor veřejná správa a regionální rozvoj Diplomová práce Problémy obce při zpracování rozpočtu obce TEZE Diplomant: Vedoucí diplomové práce:

Více

Nemocnice a centra zobrazovacích metod d v ují systém m Rimage pro publikování disk s informacemi o pacientech, které mohou zachránit život

Nemocnice a centra zobrazovacích metod d v ují systém m Rimage pro publikování disk s informacemi o pacientech, které mohou zachránit život Nemocnice a centra zobrazovacích metod d v ují systém m Rimage pro publikování disk s informacemi o pacientech, které mohou zachránit život ešení Rimage pro publikování disk stojí v zákulisí t ch nejnáro

Více

R O Z S U D E K J M É N E M R E P U B L I K Y

R O Z S U D E K J M É N E M R E P U B L I K Y 9 Afs 63/2012-39 ČESKÁ REPUBLIKA R O Z S U D E K J M É N E M R E P U B L I K Y Nejvyšší správní soud rozhodl v senátě složeném z předsedy JUDr. Radana Malíka a soudkyň JUDr. Barbary Pořízkové a Mgr. Daniely

Více

AutoCAD Architecture 2008

AutoCAD Architecture 2008 AutoCAD Architecture 2008 AutoCAD Architecture 2008 (dále jen ACA2008) je nová verze (a nový název) známého a oblíbeného stavařského programového balíku Architectural Desktop (ADT). Je speciálně navržený

Více

Metodický výklad Ministerstva školství, mládeže a tělovýchovy

Metodický výklad Ministerstva školství, mládeže a tělovýchovy Metodický výklad Ministerstva školství, mládeže a tělovýchovy k novele zákona č. 563/2004 Sb., o pedagogických pracovnících a o změně některých zákonů, ve znění pozdějších předpisů, vyhlášené pod č. 197/2014

Více

KOMISE EVROPSKÝCH SPOLEČENSTVÍ

KOMISE EVROPSKÝCH SPOLEČENSTVÍ KOMISE EVROPSKÝCH SPOLEČENSTVÍ Brusel, 29. 6. 1999 COM(1999) 317 final SDĚLENÍ KOMISE RADĚ, EVROPSKÉMU PARLAMENTU, HOSPODÁŘSKÉMU A SOCIÁLNÍMU VÝBORU A VÝBORU REGIONŮ Rozvoj krátké námořní dopravy v Evropě

Více

funkční na dual-sim telefonech možnost přesměrovat příchozí hovory možnost nastavení více telefonních čísel pro případ, že je jedno nedostupné

funkční na dual-sim telefonech možnost přesměrovat příchozí hovory možnost nastavení více telefonních čísel pro případ, že je jedno nedostupné Analyzujte, navrhněte a implementujte aplikaci pro sledování spánku dětí Chůvička pro telefony na platformě Android. Od existujících aplikací se bude aplikace odlišovat tímto: funkční na dual-sim telefonech

Více

Příloha č. 54. Specifikace hromadné aktualizace SMS-KLAS

Příloha č. 54. Specifikace hromadné aktualizace SMS-KLAS Název projektu: Redesign Statistického informačního systému v návaznosti na zavádění egovernmentu v ČR Příjemce: Česká republika Český statistický úřad Registrační číslo projektu: CZ.1.06/1.1.00/07.06396

Více

NÁVRHOVÝ PROGRAM VÝMĚNÍKŮ TEPLA FIRMY SECESPOL CAIRO 3.5.5 PŘÍRUČKA UŽIVATELE

NÁVRHOVÝ PROGRAM VÝMĚNÍKŮ TEPLA FIRMY SECESPOL CAIRO 3.5.5 PŘÍRUČKA UŽIVATELE NÁVRHOVÝ PROGRAM VÝMĚNÍKŮ TEPLA FIRMY SECESPOL CAIRO 3.5.5 PŘÍRUČKA UŽIVATELE 1. Přehled možností programu 1.1. Hlavní okno Hlavní okno programu se skládá ze čtyř karet : Projekt, Zadání, Výsledky a Návrhový

Více

Vnitřní pravidla stanovená poskytovatelem pro poskytování služby denní stacionáře

Vnitřní pravidla stanovená poskytovatelem pro poskytování služby denní stacionáře Sociální služby města Nový Bor, příspěvková organizace B.Egermanna 950, 473 01 Nový Bor Vnitřní pravidla stanovená poskytovatelem pro poskytování služby denní stacionáře Služba: Denní stacionáře Aktualizace:

Více

METODICKÝ POKYN NÁRODNÍHO ORGÁNU

METODICKÝ POKYN NÁRODNÍHO ORGÁNU Ministerstvo pro místní rozvoj METODICKÝ POKYN NÁRODNÍHO ORGÁNU Program přeshraniční spolupráce Cíl 3 Česká republika Svobodný stát Bavorsko 2007-2013 MP číslo: 2/Příručka pro české žadatele, 5. vydání

Více

Pojďme se tedy podívat na hlavní výhody a nevýhody mezi montovanými dřevostavbami a zděnými domy.

Pojďme se tedy podívat na hlavní výhody a nevýhody mezi montovanými dřevostavbami a zděnými domy. Montovaná dřevostavba vs. Zděný dům. Stavba rodinného domu je jedno z nejzásadnějších rozhodnutí v životě. Je velmi důležité zvážit všechny faktory vašeho rozhodnutí a ujasnit si, co od svého domu očekáváte,

Více

Informace veřejného sektoru zdroj surovin pro informace a znalosti ve firmě

Informace veřejného sektoru zdroj surovin pro informace a znalosti ve firmě Informace veřejného sektoru zdroj surovin pro informace a znalosti ve firmě Dagmar Vránová EPMA Agentura pro evropské projekty & management Iniciativa Czech PSI Watch INFORUM 2007 Praha, 22. 24. května

Více

Zadání soutěžních úloh

Zadání soutěžních úloh Zadání soutěžních úloh Kategorie mládež Soutěž v programování 23. ročník Krajské kolo 2008/2009 16. až 18. dubna 2009 Úlohy můžete řešit v libovolném pořadí a samozřejmě je nemusíte vyřešit všechny. Za

Více