Kriptografide RC2 bir simetrik anahtar blok şifresidir. Ronald Rivest tarafından 1987 yılında tasarlanmıştır. "RC", "Rivest Cipher" veya alternatif olarak "Ron's Code" anlamına gelir.
RC2, değişken anahtar boyutuna sahip ve 18 tur kullanan 64 bitlik bir blok şifredir.
Turlar, "karıştırma turları" adı verilen bir türden 16 turun "ezme turları" adı verilen başka bir türden iki turla iç içe geçtiği, kaynak ağırlıklı bir feistel ağı olarak düzenlenmiştir.
18 tur aşağıdaki serpiştirilmiş sıra kullanılarak gerçekleştirilir:
- 5 karıştırma turu gerçekleştirin.
- 1 ezme turu gerçekleştirin.
- 6 karıştırma turu gerçekleştirin.
- 1 ezme turu gerçekleştirin.
- 5 karıştırma turu gerçekleştirin.
RC2, sağlanan "değişken uzunluklu" giriş anahtarının her bitine bağlı olarak karmaşık bir şekilde 64 (16 bitlik kelimelerden) oluşan genişletilmiş bir anahtarın üretildiği anahtar genişletme algoritmasını kullanır. Bir karıştırma turu, şemada gösterildiği gibi "karıştırma" dönüşümünün dört uygulamasından oluşur. Bir tur, genişletilmiş anahtarın 16 bitlik sözcüklerinden biri eklenerek "karıştırılır" (RFC 2268).
RC2, 2 34seçilmiş düz metin saldırılarını kullanan bir ilişkili anahtar saldırısına karşı hassastır (Kelsey vd. , 1997).
RC2'nin geliştirilmesi, NSA tarafından değerlendirildikten sonra Lotus Notes yazılımlarının bir parçası olarak ihraç edilecek özel bir şifre arayan Lotus tarafından desteklenmiştir. NSA, Ronald Rivest'in de dahil olduğu birkaç değişiklik önerdi. Daha sonraki görüşmelerin ardından şifre 1989 yılında ihraç edilmek üzere onaylandı.
RC4 ile birlikte, 40 bit anahtar boyutuna sahip RC2, ABD'nin kriptografi ihracat düzenlemeleri kapsamında ele alınmıştır. Artık tüm 40 bit şifreleme algoritmaları, kaba kuvvet saldırılarına karşı tehlikeli derecede hassas oldukları için kullanılmamaktadır.
Başlangıçta algoritmanın ayrıntıları gizli tutuldu - RSA Security'ye özel - ancak 29 Ocak 1996'da RC2'nin kaynak kodu Usenet forumu sci.crypt'te anonim olarak İnternet'e gönderildi. Benzer bir gönderi daha önce RC4 için de yapılmıştı. Gönderiyi yapan kişinin spesifikasyonlara erişimi olup olmadığı ya da tersine mühendislik uygulanıp uygulanmadığı belli değildir.

