Rychlost kryptografických operací na mobilních telefonech

Podobné dokumenty
}w!"#$%&'()+,-./012345<ya

SCADA systémy na platformě mobilních zařízení

Identifikátor materiálu: ICT-1-17

Testovací protokol. webový generátor PostSignum. sada PIIX3; 1 GB RAM; harddisk 20 GB IDE OS: Windows Vista Service Pack 2 SW: Internet Explorer 9

Informatika / bezpečnost

Základy kryptografie. Beret CryptoParty Základy kryptografie 1/17

MINIMÁLNÍ POŽADAVKY NA KRYPTOGRAFICKÉ ALGORITMY. doporučení v oblasti kryptografických prostředků

Asymetrická kryptografie a elektronický podpis. Ing. Mgr. Martin Henzl Mgr. Radim Janča ijanca@fit.vutbr.cz

Česká zemědělská univerzita v Praze

Mobilní správce hesel

SIM karty a bezpečnost v mobilních sítích

UKRY - Symetrické blokové šifry

Vývoj Internetu značně pokročil a surfování je dnes možné nejen prostřednictvím počítače, ale také prostřednictvím chytrých telefonů, tabletů a

Šifrová ochrana informací věk počítačů PS5-1

Základní informace. Operační systém (OS)

Testovací protokol. 1 Informace o testování. 2 Testovací prostředí. 3 Vlastnosti generátoru klíčů. Příloha č. 13

Obsah. Úroveň I - Přehled. Úroveň II - Principy. Kapitola 1. Kapitola 2

Šifrová ochrana informací věk počítačů PS5-2

Šifrová ochrana informací věk počítačů PS5-2

Základy šifrování a kódování

Od Enigmy k PKI. principy moderní kryptografie T-SEC4 / L3. Tomáš Herout Cisco. Praha, hotel Clarion dubna 2013.

Inovace výuky prostřednictvím ICT v SPŠ Zlín, CZ.1.07/1.5.00/ Vzdělávání v informačních a komunikačních technologií

Šifrování flash a jiných datových úložišť

Kryptografie, elektronický podpis. Ing. Miloslav Hub, Ph.D. 27. listopadu 2007

Software programové vybavení. 1. část


Použití čipových karet v IT úřadu

Asymetrická kryptografie a elektronický podpis. Ing. Dominik Breitenbacher Mgr. Radim Janča

pouˇzití USB nebo SPI

Extrémně silné zabezpečení mobilního přístupu do sítě.

Vývoj aplikací na platformě Windows Mobile. Vysoká škola ekonomická v Praze. Fakulta informatiky a statistiky. Katedra informačních technologií

PA159 - Bezpečnostní aspekty

ROZVOJ ICT A PDA ZAŘÍZENÍ THE DEVELOPMENT OF ICT AND PDA DEVICES Jiří Vaněk

Digitální podepisování pomocí asymetrické kryptografie

(JME) Vybrané partie z jazyka Java (NPRG021) Jiří Tomeš

Programové vybavení OKsmart pro využití čipových karet

OPERAČNÍ SYSTÉMY. Operační systém je prostředník mezi hardwarem (technickým vybavením počítače) a určitým programem, který uživatel používá.

Kryptografie založená na problému diskrétního logaritmu

Testovací protokol USB Token Cryptomate

Definice OS. Operační systém je základní programové vybavení počítače, nezbytné pro jeho provoz.

1. SYSTÉMOVÉ POŽADAVKY / DOPORUČENÁ KONFIGURACE HW A SW Databázový server Webový server Stanice pro servisní modul...

Implementace systémů HIPS: historie a současnost. Martin Dráb

Registrační číslo projektu: CZ.1.07/1.5.00/ Elektronická podpora zkvalitnění výuky CZ.1.07 Vzděláním pro konkurenceschopnost

úvod Historie operačních systémů

SSL Secure Sockets Layer

1. ÚVOD 2. ARCHITEKTURA MOBILNÍHO TERMINÁLU 2.1. HARDWARE TERMINÁLU PRO SYMBIAN OS S OS SYMBIAN 2009/

Kerchhoffův princip Utajení šifrovacího algoritmu nesmí sloužit jako opatření nahrazující nebo garantující kvalitu šifrovacího systému

MST - sběr dat pomocí mobilních terminálů on-line/off-line

CO JE KRYPTOGRAFIE Šifrovací algoritmy Kódovací algoritmus Prolomení algoritmu

KIV/PIA 2012 Ing. Jan Tichava

Tel.: (+420)

Architektura procesoru ARM

Bezpečná autentizace přístupu do firemní sítě

Bezpečnostní mechanismy

Testovací protokol čipová karta ACOS5

Technologie Java. Jaroslav Žáček

TECHNICKÉ PODMÍNKY. Článek 2. Podmínky pro službu MojeBanka, MojeBanka Business, MojePlatba,Expresní linka Plus a TF OnLine

Diffieho-Hellmanův protokol ustanovení klíče

9. Sítě MS Windows. Distribuce Windows. Obchodní označení. Jednoduchý OS pro osobní počítače, pouze FAT, základní podpora peer to peer sítí,

Stavba operačního systému

OKsmart a správa karet v systému OKbase

Asymetrická kryptografie

ZAŘÍZENÍ PRO VZDÁLENÝ SBĚR A PŘENOS DAT FIRMWARE

I.CA SecureStore Uživatelská příručka

MFF UK Praha, 22. duben 2008

Mobilní komunikace a bezpečnost. Edward Plch, System4u

Vývoj OS Windows Mobile. Ing. Jiří Šilhán

Moderní metody substitučního šifrování

Sběrnicová struktura PC Procesory PC funkce, vlastnosti Interní počítačové paměti PC

VYSVĚTLENÍ / ZMĚNA ZADÁVACÍ DOKUMENTACE Č. 3

Vývoj SW pro mobilní zařízení s ios. Petr Hruška, Skymia s.r.o. Teorie a praxe IP telefonie,

POPIS STANDARDU CEN TC278/WG4. 1 z 5. Oblast: TTI. Zkrácený název: Zprávy přes CN 4. Norma číslo:

Porovnání rychlosti mapového serveru GeoServer při přístupu k různým datovým skladům

Šifrová ochrana informací věk počítačů KS - 5

Zapojení studentů VŠPJ do vývoje mobilních aplikací na platformě Recon Jet

Matematika v programovacích

Flow-X PRŮTOKOMĚR. On-line datový list

Obsah. 1) Rozšířené zadání 2) Teorie zásuvných modulů a) Druhy aplikací používajících zásuvné moduly b) Knihovny c) Architektura aplikace d) Výhody

Sísyfos Systém evidence činností

Měření nativních mobilních aplikací v rámci NetMonitoru

Seznámení s prostředím dot.net Framework

Asymetrické šifry. Pavla Henzlová FJFI ČVUT v Praze. Pavla Henzlová (FJFI ČVUT v Praze) Asymetrické šifry 28.3.

monolitická vrstvená virtuální počítač / stroj modulární struktura Klient server struktura

I.CA SecureStore Uživatelská příručka

Systémy pro sběr a přenos dat

Téma: Základní rozdělení Hardware

Microsoft Windows Server System

Flow-X PRŮTOKOMĚR. On-line datový list

Základní definice Aplikace hašování Kontrukce Známé hašovací funkce. Hašovací funkce. Jonáš Chudý. Úvod do kryptologie

Převrat v bezpečném telefonování!

CineStar Černý Most Praha

Příloha č. 1 zadávací dokumentace - Specifikace předmětu plnění veřejné zakázky

Zabezpečení mobilních bankovnictví

05. Operační systémy PC 1. DOS. Nejdůležitější zástupci DOSu:

VYUŽITÍ KNIHOVNY SWING PROGRAMOVACÍHO JAZYKU JAVA PŘI TVORBĚ UŽIVATELSKÉHO ROZHRANÍ SYSTÉMU "HOST PC - TARGET PC" PRO ŘÍZENÍ POLOVODIČOVÝCH MĚNIČŮ

Bezpečnostní aspekty informačních a komunikačních systémů KS2

Uživatelská příručka

Smartphone kdysi. Na počátku byl. SIMON (IBM, 1992)

Prostředí pro výuku vývoje PCI ovladačů do operačního systému GNU/Linux

CTUGuide (XXX-KOS) D1

Transkript:

Rychlost kryptografických operací na mobilních telefonech Martin Těhan Fakulta informatiky, Masarykova univerzita, Botanická 68a, 602 00, Brno xtehan@fi.muni.cz Abstrakt Práce se zabývá možnostmi vývoje kryptografických aplikací pro mobilní telefony. Úvodní část podává stručný přehled o možnostech softwarového vývoje na mobilních telefonech obecně, přístroje jsou kategorizovány dle používaného operačního systému. Zvláštní část je věnována Javě ME, která je do určité míry na operačním systému nezávislá. V souvislosti s ní je uvedena i univerzální kryptografická knihovna BouncyCastle. Následuje popis testovací aplikace, výčet algoritmů a rozbor parametrů jednotlivých testů. Naměřené výsledky jsou pouze slovně komentovány, nebot množství naměřených dat převyšuje rozsah tohoto příspěvku. Klíčová slova: mobilní telefon, kryptografie, Java ME, test výkonu 1 Úvod Mobilní telefon se stal nedílnou součástí našich životů a v západní civilizaci ho vlastní prakticky každý člověk v produktivním věku. Skutečnost, že je jeden mobilní telefon většinou pevně svázán s jednou konkrétní osobou, přímo vnucuje myšlenku, použít ho k identifikaci, či dokonce autentizaci dané osoby. K tomu je ale potřeba, aby byly splněny některé předpoklady. Jedná se zejména o dostatečnou výkonnost nosného hardwaru, možnost interakce s okolím a uživatelsky přívětivou instalaci a následné používání aplikace, která by toto zajišt ovala. V této práci si kladu za cíl prozkoumat možnosti použití kryptografie na mobilních telefonech z pozice běžného programátora. Chtěl bych podat přehledný souhrn toho, co která platforma nabízí a poskytnout jasné srovnání výkonnosti jednotlivých mobilních zařízení. Práce je rozdělena do dvou částí. První část představuje možnosti vývoje na mobilních telefonech. Kromě obecného popisu vývoje aplikací pro danou platformu jsem se snažil najít a popsat různé knihovny, které mají zjednodušit použití kryptografie pro dané zařízení.

Ve druhé části se pak věnuji samotné podstatě svojí práce, tj. popisu testovací aplikace a publikaci naměřených výsledků. Teoreticky jsem se opíral o způsob, jakým B. Schneier a D. Whiting testovali rychlost finalisty při vybírání AES [8]. Bohužel jsem neměl k dispozici zařízení, kterým bych měřil rychlost operací na počet cyklů procesoru a musel jsem se spokojit s měřením časového úseku v milisekundách. 2 Programování pro mobilní telefony Vzhledem k tomu, že mobilní telefon je poměrně široký pojem, nelze pronášet generalizující výroky, co je a co není možné. Nejjednoduší způsob, jak mobilní telefony alespoň částečně kategorizovat, je podle použitého operačního systému. Ten totiž tvoří základní programátorskou platformu a od něj se odvíjí možnosti daného zařízení. Před popisem řešení pro jednotlivé operační systémy se budu věnovat univerzální platformě Java ME a pro ni napsaným knihovnám. 2.1 Java ME (Java Platform, Micro Edition) Java ME je platforma pro vývoj aplikací na mobilních zařízeních. Jedná se o kolekci technologií a specifikací pro mobilní zařízení, které mohou být vzájemně kombinovány tak, aby poskytly základ pro vývoj aplikací na míru hardwarovým omezením konkrétního zařízení. Podle rychlosti CPU, množství operační paměti a podle možností připojení rozlišujeme dvě bázové konfigurace, každou z nich může rozšiřovat jeden nebo více profilů. V současné době je Java ME podporována drtivou většinou mobilních zařízení a to bud přímo, nebo pomocí virtuálního stroje dodaného třetí stranou. Connection Limited Device Configuration (CLDC). Konfigurace, která je vhodná pro mobilní telefony a PDA s malou operační pamětí [5]. Vyžaduje 160 kb ROM a 32 kb RAM. Ke konfiguraci CLDC se vážou profily Mobile Information Device Profile (MIDP) a Information Module Profile (IMP). Connected Device Configuration (CDC). Tato konfigurace je vhodná pro mobilní zařízení disponující relativně vysokým výkonem [4]. Předpokládá se 32bitový procesor a využitelných 2 MB RAM a 2,5 MB ROM. Používá profily Foundation Profile (FP), Personal Basis Profile (PBP) a Personal Profile (PP).

Security and Trust Services API for J2ME. Volitelné API (JSR 177), které rozšiřuje Javu ME o podporu bezpečnostních prvků a poskytuje rozhraní pro správu digitálních podpisů a implementaci kryptografických operací. Dále poskytuje podporu pro JavaCards. Jádrem API jsou balíky java.security a javax.crypto obsahující třídu Cipher, která se stará o samotné šifrování / dešifrování. 2.2 Bouncy Castle Nejrozšířenější kryptografická knihovna, která je dostupná v jazycích Java a C# [3]. Poskytuje implementace všech běžných kryptografických algoritmů a protokolů (openpgp a x509 nevyjímaje). Javová implementace se skládá ze dvou hlavních částí, JCE poskytovatele a odlehčeného API, které je použitelné na jakékoliv Javové platformě. Právě odlehčené API může být s úspěchem využito i při programování aplikací pro mobilní telefony. Nejen, že zpřístupňuje celý balík org.bouncycastle.*, ale též přidává do Javy ME některé třídy balíku java.util a java.math, které jsou běžné na vyšších platformách, ale do specifikace Java ME se nedostaly. V tomto směru je největším přínosem knihovny Bouncy Castle implementace třídy BigInteger pro velká celá čísla. 2.3 Proprietární operační systém Uzavřený operační systém bez možnosti vývoje aplikací třetími stranami. Tyto operační systémy jsou psány na míru danému zařízení (maximálně rodině zařízení) bez možnosti přenosu na jiný hardware. Kolem roku 2000 se začíná objevovat integrovaná podpora pro různé technologie, které by umožňovaly instalaci vlastního softwaru, hlavně her. V té době si získaly největší popularitu Mophun, In-Fusio, N-Gage a výše zmíněná Java ME. Zatímco Java ME je dnes dostupná prakticky na každém zařízení, ty zbývající jsou vpodstatě mrtvé. 2.4 Symbian Operační systém, který byl od konce osmdesátých let vyvíjen společností Psion pod jménem EPOC [9]. V červnu 1998 do Psionu vstupují výrobci mobilů Nokia, Motorola a Ericsson a dochází k přejmenování OS na Symbian. Postupným vývojem se od sebe oddělilo několik platforem, z nichž každá poskytuje vlastní SDK a vzájemně nejsou plně kompatibilní. Mezi nejznámější patří UIQ a S60. Nativním jazykem pro vývoj aplikací na Symbianu je dialekt C++. Mezi další podporované jazyky lze zařadit Javu ME, Python,.NET a standardní C/C++.

Symbian Cryptographic API. Poskytuje základní kryptografické služby pro využití skrze základní rozhraní Symbian OS. Je rozděleno do několika základních oblastí: Symetrické šifrování, asymetrické šifrování, kontrola integrity a ověřování podpisů, výměna klíčů a otisky zpráv. Podporuje pouze základní blokové módy ECB a CBC, paddingy můžeme vybírat mezi standardy PKCS#1 v1.5 pro šifrování a pro podepisování, PKCS#7/TLS, nebo SSLv3/TLS. Počet implementovaných algoritmů je poměrně omezený, nicméně je schopen uspokojit většinu požadavků. 2.5 Windows Microsoft dodává vlastní operační systém pro chytré mobilní telefony, založený na Windows CE. Původně se jmenoval Pocket PC, od roku 2003 je vydáván pod názvem Windows Mobile. Vývoj aplikací v C++ je umožněn pomocí SDK, které spolupracuje s MS Visual Studiem. V poslední době je umožněn i vývoj za pomoci nástrojů třetích stran, které využívají možností.net Compact Frameworku [6]. Nativní podpora Javy chybí, nicméně existuje několik různých virtuálních strojů, které lze na Windows Mobile nainstalovat. 2.6 Android Android je platforma pro mobilní zařízení obsahukící operační systém a základní aplikace [1]. Byl představen firmou Google v roce 2007. Operační systém Androidu je založen na Linuxu, vývoj aplikací probíhá v jazyce Java. Android k tomuto účelu poskytuje vlastní SDK. To obsahuje vlastní třídy pro uživatelské rozhraní a komunikaci. Vývoj kryptografických aplikací pro tuto platformu je podpořen standardními Javovými balíky java.security a javax.crypto [2]. V tomto ohledu se tvorba aplikací neliší od vývoje nad Javou SE. S úspěchem lze využít i javových kryptografických knihoven dodaných třetí stranou, jako například již popisovanou knihovnu BouncyCastle. 2.7 iphone OS Operační systém firmy Apple odvozený od OS X, který je použit v Apple iphone a Apple ipod Touch [7]. Až do začátku roku 2008 iphone OS nepodporoval aplikace třetích stran. V březnu 2008 vyšlo první SDK, které vývoj umožňovalo. I tak zůstává vydávání aplikací pro iphone OS svázáno striktní politikou Applu. Aplikace jsou psány v jazyce Objective- C. To umožňuje použití standardních knihoven pro C. Na rozdíl od jiných

otevřených platforem iphone OS nepodporuje aplikace napsané v žádném jiném jazyce. 3 Naprogramovaná aplikace Aplikace je napsána v jazyce Java pro platformu Java ME. Tato technologie byla zvolena z důvodu bezkonkurenčně největšího rozšíření na mobilních telefonech. Pokles výkonu způsobený režií JVM nám nezbývá než akceptovat, jelikož JVM na mobilních telefonech bývá pevnou součástí operačního systému. Jednoduchého midlet provede příslušné testy a jejich výsledky vypíše na obrazovku. Použitá konfigurace je CLDC 1.0 společně s profilem MIDP 2.0. O kryptografické operace se stará knihovna Bouncy Caste 1.43 v odlehčené verzi pro mobilní Javu. Sony Ericsson T630 jako jediný v testu nepodporuje profil MIDP ve verzi 2.0, proto pro něj byla aplikace sestavena za použití profilu MIDP 1.0. Jádro aplikace tvoří testovací metody, které měří délku trvání jednotlivých operací. Hlavními testovanými okruhy jsou symetrické blokové i proudové šifry, asymetrické šifry, generování pseudonáhodných čísel, podepisování, hašovací funkce a generování klíčů. Testy symetrických šifer a hašovacích algoritmů probíhají ve více kolech na vstupních datech o různých velikostech. Zvoleny byly vstupy o délce 1 KB, 10 KB a 400 KB. Horní hranice 400 KB byla vybrána s ohledem na běžnou velikost mobilních aplikací. Pro zajištění objektivity se všechny testy, při kterých se pracuje s klíči nebo jinými vstupními daty opakovány s deseti různými klíči a výsledný čas je součtem časů všech pokusů. Čas je měřen pouze na skutečně testované operaci, tj. až po načtení všech potřebných dat do paměti, vygenerování klíčů a inicializaci šifrovací funkce (pokud právě toto není součástí testu). Všechny výsledné časy jsou udávány v milisekundách. Pokud daná třída neumožňuje vygenerování všech parametrů šifry či podpisového algoritmu náhodně a žádá zadání inicializačních dat, jsou použity hodnoty z testovacích tříd balíku org.bouncycaste.crypto.test. Výjimku z popsaného tvoří asymetrické šifry a podpisové algoritmy. Z úsporných důvodů se pro ně generuje pouze jeden pár klíčů.

3.1 Generování pseudonáhodných čísel Měří se čas vygenerování jednoho sta pseudonáhodných čísel datového typu long. Generátor využívá hašovací funkce SHA-1. Jako semínko slouží systémový čas. 3.2 Testování rychlosti otisků Testovány jsou algoritmy MD5, Whirlpool, Tiger, SHA-1 a všechny čtyři algoritmy SHA-2. S každým vstupním textem je provedeno deset hašování, vstupní text je desetkrát obměněn. Výsledný čas tedy udává trvání jednoho sta průběhů dané hašovací funkce. 3.3 Testování rychlosti symetrických blokových šifer V této části se zabývám měření rychlosti následujících symetrických blokových šifer: AES, DES, dvouklíčový TripleDES, Blowfish a Twofish, dále pak IDEA a Serpent. Se stejnými vstupními daty (otevřený text, tajný klíč, případně i inicializační vektor) je provedeno deset opakování, vstupní data jsou opět desetkrát obměněna. Šifrování i dešifrování je měřeno zvlášt. Není použit žádný padding. Všechny blokové šifry jsou testovány v operačních módech ECB, CBC a OFB. Všechny šifry kromě DES a TripleDES používají klíč o délce 128 bitů. 3.4 Testování rychlosti symetrických proudových šifer Používá šifry RC4 a Salsa20. Stejně jako v předchozím případě se měří čas jednoho sta opakování, přičemž vždy po deseti cyklech dojde k vygenerování nových vstupních dat. Opět jsou výsledky pro šifrování a dešifrování uváděny zvlášt. 3.5 Testování rychlosti asymetrických blokových šifer Měří rychlost šifer RSA a ElGamal. Samostatně je testována šifra RSA s využitím Čínské věty o zbytku. Testování se provádí zvlášt pro šifrování a dešifrování. Vzhledem k tomu, že RSA umožňuje použít stejný pár klíčů i k podepisování, je v tomto případě změřen i čas potřebný k podepisování a ověřování podpisu. Délka klíčů je 1024 bitů. Šifra RSA je v obou případech implementována dle standardu PKCS#1. Asymetrické šifry testovány pro 256bitový otevřený text, což je v současnosti často používaná délka klíčů pro symetrickou kryptografii a také délka výstupu funkce SHA-256. Stejná délka dat je použita na vstupu algoritmů digitálního podpisu.

3.6 Testování rychlosti podpisovacích algoritmů K otestování byl zvolen algoritmus DSA. Testuje se za stejných podmínek jako u asymetrických blokových šifer, opět probíhá deset kol podepisování nad 256bitovými daty. 3.7 Generování klíčů Testování probíhá nad klíči pro RSA, DSA a ElGamal. Pokud generované klíče závisí na velikých prvočíslech spokojíme se s osmdesátiprocentní pravděpodobností při statistických testech, že vygenerovaná hodnota je prvočíslo. Základními generovanými velikostmi jsou 512, 768, 1024 a 2048 bitů. Z důvodů velké časové náročnosti některých generování nemusí být nutně testovány všechny délky pro každý algoritmus. Funkce generující klíče pro RSA vyžaduje v parametru zadání předgenerovaného e, jehož generování není součástí testů. 4 Výsledky měření Obrázek 1. Hašovací funkce pro vstup 10240 bitů. Provedená měření jasně prokazují, že současné mobilní telefony poskytují dostatečný výkon k tomu, abychom je mohli používat k šifrování a podepisování. Na solidní úrovni je rychlost hašovacích funkcí, ale generování klíčů stále potřebuje vyšší výkon, než mu mohou mobilní telefony

nabídnout. V následujícím textu rozeberu dosažené výsledky podrobněji, nejprve podle testovaných operací, poté podle jednotlivých mobilních telefonů. Obrázek 2. Generování pseudonáhodných čísel. U hašovacích funkcí záleží na volbě algoritmu a použité implementaci jak je vidět z obr. 1. Obecně se dá říci, že algoritmy SHA-2 poskytují dostatečnou bezpečnost při zachování poměrně vysoké rychlosti. Překvapivě, algoritmus SHA-1 byl na polovině platforem několikanásobně pomalejší než jeho následovníci. Ani kdysi velmi populární algoritmus MD5 nikterak nevyčníval a rychlostně byl srovnatelný s SHA-2. Na některých mobilních telefonech značky Sony Ericsson běžel velmi pomalu algoritmus SHA-224, příčinu se nepodařilo odhalit. Šifrování a dešifrování symetrickými šiframi proběhlo podle očekávání. U žádné z nich se neprojevil rozdíl mezi rychlostí šifrování a dešifrování, nejrychlejším operačním módem byl nejjednodušší ECB. Módy CBC a OFB jsou srovnatelně rychlé a průběh šifrování zpomalují přibližně o 10 % oproti ECB. Šifry Blowfish a Twofish se projevily jako stejně výkonné. Generování pseudonáhodných čísel nečiní problém ani těm nejpomalejším telefonům v testu (viz obr. 2), zbývá vyřešit získávání a dodání kvalitního kryptografického materiálu jako semínka. Na 256bitovém vstupním textu se u algoritmu RSA většina mobilních telefonů dostala na časy kolem dvou vteřin při práci se soukromým klíčem a pod půl vteřiny při práci s klíčem veřejným bez použití Čínské věty o zbytku. Její použití zrychlilo šifrování až padesátinásobně, což jsou

Obrázek 3. Generování RSA klíčů. z uživatelského hlediska již akceptovatelné hodnoty. V těchto testech propadl pouze šest let starý Sony Ericsson T630 a na hraně využitelnosti se ocitla stále velmi oblíbená Nokia 6230i s deseti vteřinami pro operace se soukromým a třemi vteřinami pro práci s veřejným klíčem. Stále se stavím skepticky k možnosti generovat klíče přímo na mobilních telefonech s odkazem na velkou časovou náročnost tohoto problému (obr. 3). Reálné hodnoty pro generování v praxi použitelných klíčů budou pravděpodobně mnohem vyšší než naměřené kvůli použitým parametrům, které nezaručují vygenerování kvalitního klíče. K takto kategorickému soudu jsem ale měl i jiný důvod. Podle mého názoru je mobilní telefon osobní zařízení určené k umožnění okamžité komunikace a dlouhodobé výpočty na něj nepatří. Navíc by bylo žádoucí provádět tyto výpočty na pozadí, což nemusí být všude umožněno. Vývojáři některých operačních systémů se totiž cíleně brání implementování multitaskingu a zdůvodňují to snahou o dosažení co nejsvižnější odezvy. Provedené testy názorně dokumentují rychlost vývoje mobilního hardwaru. Dokazují, že na datu uvedení záleží více než na zařazení do kategorií podle ceny a nabízených funkcí. Chytré mobilní telefony tvoří samostatnou kategorii a za cenu větších rozměrů poskytují výkon, který je stále pro běžné mobily nedostižný, což potvrdil nejrychlejší telefon v testu HTC TyTN. I Sony Ericsson P990i, který byl představen již před čtyřmi lety, pravidelně obsazoval čelní příčky.

5 Závěr Mobilní telefony se ukázaly jako solidní základna pro programování nejen kryptografických aplikací. Kromě restrikcí plynoucích z fyzických vlastností a nižšího (avšak jak jsem se snažil dokázat dostačujícího) výkonu není vývojář při psaní aplikací pro mobilní telefony omezen. Mnohem horší je vzájemná nekompatibilita různých prostředí a z ní plynoucí nutnost udržovat více verzí aplikace (či dokonce mít jednu aplikaci napsanou ve více jazycích), pokud chceme adresovat větší množství uživatelů. Navíc poslední trendy v distribuci mobilních aplikací směřují k výrobcem OS kontrolovanému šíření těchto aplikací. Reference 1. Android Developers what is Android? Webová stránka. Ověřeno prosinec 2009. Dostupné na: http://developer.android.com/guide/basics/what-is-android.html. 2. Android Developers class index. Webová stránka. Ověřeno prosinec 2009. Dostupné na: http://developer.android.com/reference/classes.html. 3. The legion of the Bouncy Castle. Webová stránka. Ověřeno prosinec 2009. Dostupné na: http://www.bouncycastle.org/. 4. Connected Device Configuration (CDC); JSR 36, JSR 219 overview. Webová stránka. Ověřeno prosinec 2009. Dostupné na: http://java.sun.com/javame/technology/cdc/. 5. Connected Limited Device Configuration (CLDC); JSR 30, JSR 139 overview. Webová stránka. Ověřeno prosinec 2009. Dostupné na: http://java.sun.com/products/cldc/overview.html. 6..NET compact framework. Webová stránka. Ověřeno prosinec 2009. Dostupné na: http://msdn.microsoft.com/en-us/netframework/aa497273.aspx. 7. iphone OS. Webová stránka. Ověřeno prosinec 2009. Dostupné na: http://en.wikipedia.org/wiki/iphone OS. 8. B. Schneier and D. Whiting. A performance comparsion of the five AES finalists, 2005. Dostupné na: http://www.schneier.com/paper-aes-comparison.pdf. 9. Symbian OS. Webová stránka. Ověřeno prosinec 2009. Dostupné na: http://en.wikipedia.org/wiki/symbian OS. Annotation: Speed of cryptografic operations on cellular phones This paper focuses on developing cryptographic aplications on mobile phones. There is description of posibilities of software development on mobile phones in the first part. Mobile phones are cathegorized with respect to used operating system. Special part is dedicated to Java ME and relevant libraries. It is followed by specification of testing software and algorithms. Finally textual summarisation of measured results is published.