RC2
RC2 (též ARC2) je v kryptografii název symetrické blokové šifry, kterou navrhl Ronald L. Rivest v roce 1987. Písmena „RC“ jsou zkratkou pro „Ron’s Code“ (Ronův kód) či „Rivest Cypher“ (Rivestova šifra). Mezi další Rivestem navržené šifry patří RC4, RC5 a RC6.

Historie 
Vývoj RC2 byl sponzorován společností Lotus Software, která hledala vlastní šifru, kterou by mohla po evaluaci americkou NSA exportovat do zahraničí jako součást svého softwaru Lotus Notes. NSA navrhla několik změn, které Rivest posléze začlenil. Po dalších jednáních byla šifra schválena k exportu v roce 1989. Spolu s RC4 nebyla šifra RC2 s 40bitovým klíčem předmětem omezení pro export kryptografie.

Zpočátku byly detaily ohledně algoritmu RC2 drženy v tajnosti jako vlastnictví RSA Security, nicméně 26. ledna 1996 byl zdrojový kód RC2 anonymně publikován prostřednictvím usenetového fóra sci.script. Zmínky o CodeView a SoftICE (populární ladící programy) naznačují, že k tomu došlo prostřednictvím tzv. reverzního inženýrství. K podobné situaci došlo i v případě šifry RC4.

Popis 

RC2 je 64bitová bloková šifra s variabilní délkou klíče. Rychlost šifrování nezávisí na délce klíče, protože z klíče je nejprve spočtena 128bajtová tabulka. 18 rund je uspořádáno jako nebalancovaná Feistelova šifra, 16 rund je typu MIXING a zbylé dvě typu MASHING. Runda typu MIXING se skládá ze čtyř MIX-transformací (viz ilustrace).

Kryptoanalýza 
RC2 je náchylný na útok s příbuznými klíči (related-key attack) za použití 2^34 útoků s vybraným otevřeným textem (chosen-plaintext attack). Tato analýza byla provedena Johnem Kelseyem roku 1997.

Odkazy

Reference

Literatura 
 Steven Levy, Crypto: How the Code Rebels Beat the Government — Saving Privacy in the Digital Age, , 2001.
 Lars R. Knudsen, Vincent Rijmen, Ronald L. Rivest, Matthew J. B. Robshaw: On the Design and Security of RC2. Fast Software Encryption 1998: 206–221
 John Kelsey, Bruce Schneier, David Wagner: Related-key cryptanalysis of 3-WAY, Biham-DES, CAST, DES-X, NewDES, RC2, and TEA. ICICS 1997: 233–246

Externí odkazy 
 RFC 2268 - A Description of the RC2(r) Encryption Algorithm
 RSA FAQ: What is RC2? 
 sci.crypt posting revealing the RC2 algorithm

Blokové šifry