Hlavní navigace

GPG - jak je to s licencí RSA?

Michal Krause

Ve včerejším článku o GPG jsem vyslovil své pochybnosti o legálnosti použití patentovaného algoritmu RSA v tomto programu. Ozvalo se několik čtenářů, kteří mi mou tezi vyvraceli. A zdá se, že jsem se opravdu mýlil.

Nejdříve tedy dva ohlasy, které jsem k onomu článku dostal. První je od Mirka Holého:

Co se tyce patentu na RSA. RSA je patentovano jen v USA. Tym ktery sifru vytvoril zverejnil algoritmus jeste pred patentovanim. Podle patentoveho prava v USA to lze. Podle mezinarodniho prava ovsem nelze patentovat to co bylo zverejneno. Toto je volne tlumoceno co je psano v knize „Bezpecnost v UNIXu a Internetu v praxi“.

Druhý je pak od Petra Krištofa (pokud jsem prohodil jméno a příjmení, omlouvám se):

zaprve, tento patent neni ve svete uznan, za druhe jeho platnost v USA konci 20. zari 2000 a pripadny soudni spor nikdo zacinat nebude, protoze by se ho nepodarilo dotahnout do konce.

Rozhodl jsem se věci trošku podívat na kloub a opravdu jsem byl nucen konstatovat, že moje závěry byly chybné. Algoritmus RSA je sice patentován, ale skutečně pouze ve Spojených Státech Amerických. Uživatelům z jiných zemí tedy zřejmě nic nebrání, aby bylo GPG rozšířeno o podporu RSA. Selský rozum napovídá, že potřebný modul musí být buď vyvíjen mimo USA a nebo by musel jeho autor zaplatit licenční poplatky.

Když už jsem pátral po možnostech rozšíření funkčnosti GPG, zajímal jsem se také o algoritmus IDEA, který je rovněž chráněn patentem – ten vlastní společnost Ascom Systec ltd.. Tato společnost je naštěstí benevolentnější a tak lze algoritmus používat pro libovolné nekomerční účely bez omezení a poplatků. Jenom pro zajímavost: Česká Republika dokonce není na seznamu zemí, na které se patent vztahuje.

Pokud tedy splňujete výše uvedené podmínky, můžete funkčnost GPG rozšířit o oba algoritmy a dosáhnout tak téměř stoprocentní kompatibility s komerčním PGP. Instalace potřebných modulů je zcela jednoduchá, neboť GPG podporuje přidávání algoritmů bez rekompilace, pomocí dynamicky připojovaných knihoven. Budete potřebovat jejich zdrojové kódy (IDEA a RSA) a C kompilátor. Postup kompilace je popsán v každém zdrojovém kódu. Pokud se kompilace podařila, získáte soubor rsa respektive idea. Ten stačí překopírovat do patřičného adresáře (v případě instalace GPG z rpm jde o /usr/lib/gnupg/, při instalaci ze zdrojových kódů zřejmě /usr/local/lib/gnup­g, pokud jste nezadali jinak). V tomto okamžiku jsem již předpokládal, že GPG si moduly sám najde, ale chyba lávky. Je třeba explicitně určit, které moduly se mají načítat. Pro IDEA a RSA se to provede přidáním následujících dvou řádků do souboru ~/.gnupg/options

load-extension idea
load-extension rsa

Zda se moduly správně načítají lze ověřit pomocí gpg –version. IDEA se objeví na řádku Cipher a RSA na řádku Pubkey.

Program GPG sám o sobě poslouží výborně za předpokladu, že jej používají oba konce kanálu. Při dodržení určitých pravidel lze vyměňovat data i mezi GPG a PGP. Přidáním podpory pro RSA a IDEA padá většina omezení komunikace s PGP, takže by vše mělo probíhat prakticky transparentně. Pokud tedy splňujete podmínky pro používání těchto algoritmů (a pokud se mi ještě neozve nějaký právník, aby mi vysvětlil, že se mýlím :), vřele jejich instalaci doporučuji.

Našli jste v článku chybu?