Kriptografide **RC6** (Rivest cipher 6), RC5'ten türetilen simetrik bir anahtar bloğu şifresidir. Gelişmiş Şifreleme Standardı AES yarışmasının gerekliliklerini karşılamak için Ron Rivest, Matt Robshaw, Ray Sidney ve Yiqun Lisa Yin tarafından tasarlanmıştır. Algoritma bu yarışmada beş finalistten biriydi ve NESSIE ve CRYPTREC projelerine de gönderilmişti. RSA Security'nin patenti olan tescilli bir algoritmadır. Yapısal olarak basit ve günümüzde hala güvenli olarak nitelendirilmektdir.

RC6 128 bit blok boyutuna sahiptir ve 2040 bit'e kadar 128, 192 ve 256 bit anahtar boyutlarını destekler; ancak RC5 gibi çok çeşitli kelime uzunluklarını, anahtar boyutlarını ve tur sayısını desteklemek için parametrelerle ifade edilebilir. RC6, verilere bağlı rotasyonlar, modüler ekleme ve XOR işlemlerini kullanması bakımından yapı olarak RC5'e çok benzer; aslında, RC6, iki paralel RC5 şifreleme işlemi olarak incelenebilir; ancak RC6, döndürmeyi yalnızca önemli birkaç bit değil, her bit'e bağımlı hale getirmek için RC5'te olmayan ekstra bir çarpma işlemi kullanır.

Şifreleme/Şifre çözme
---------------------

Anahtar genişletme algoritmasının neredeyse RC5 ile aynı olduğunu unutmayın. Tek fark, RC6 için kullanıcı tarafından sağlanan anahtardan daha fazla kelimenin türetilmesidir.

```
// Encryption/Decryption with RC6-w/r/b
// 
// Input: Plaintext stored in four w-bit input registers A, B, C & D
// r is the number of rounds
// w-bit round keys S[0, ... , 2r + 3]
// 
// Output: Ciphertext stored in A, B, C, D
// 
// '''Encryption Procedure:'''

B = B + S[0]
 D = D + S[1]
 for i = 1 to r do
 {
 t = (B \* (2B + 1)) <<< lg w
 u = (D \* (2D + 1)) <<< lg w
 A = ((A ^ t) <<< u) + S[2i]
 C = ((C ^ u) <<< t) + S[2i + 1] 
 (A, B, C, D) = (B, C, D, A)
 }
 A = A + S[2r + 2]
 C = C + S[2r + 3]

// '''Decryption Procedure:'''

 C = C - S[2r + 3]
 A = A - S[2r + 2]

 for i = r downto 1 do
 {
 (A, B, C, D) = (D, A, B, C)
 u = (D \* (2D + 1)) <<< lg w
 t = (B \* (2B + 1)) <<< lg w
 C = ((C - S[2i + 1]) >>> t) ^ u
 A = ((A - S[2i]) >>> u) ^ t
 }
 D = D - S[1]
 B = B - S[0]

```

NSA "implantlarında" olası kullanım
-----------------------------------

Ağustos 2016'de, çeşitli ağ güvenlik cihazları için Equation Group veya NSA "implants" olduğu bilinen kod açıklandı. Ekli talimatlar, bu programlardan bazılarının ağ iletişiminin gizliliği için RC6'yı kullandığını ortaya koymuştur.

Lisanslama
----------

AES için RC6 seçilmediğinden dolayı RC6'nın telifsiz olduğu garanti edilmemektedir. Ocak 2017 itibarıyla, RC6, RSA Laboratuvarları tasarımcılarının resmi web sitesinde bulunan bir web sayfasında aşağıdaki ifadeyle yer almaktadır:

"AES için RC6 seçilirse, RSA Security'nin algoritmayı kullanan ürünler için herhangi bir lisanslama veya telif hakkı ödemesi gerektirmeyeceğinin altını çizeriz."

"Eğer" sözcüğü, RSA Security Inc.'in RC6 algoritmasını kullanan herhangi bir ürün için lisans ve telif hakkı ödemesi gerektirdiğini gösterir. RC6, patentli bir şifreleme algoritmasıdır (ABD patent 5.724.428 ve ABD patent 5.835.600); ancak patentlerin süresi 2015 ile 2017 arasında doldu.

Notlar
------

* Pavan, R.L.; Robshaw, M.J.B.; Sidney, R.; Yin. Y.L. (20 Ağustos 1998). "The RC6 Block Cipher" (PDF). v1.1. 13 Aralık 2018 tarihinde kaynağından (PDF) arşivlendi. Erişim tarihi: 2 Ağustos 2015.
* Beuchat, Jean-Luc. "FPGA Implementations of the RC6 Block Cipher" (PDF). 5 Mayıs 2006 tarihinde kaynağından (PDF) arşivlendi.
* Thompson, Iain (31 Aralık 2013). "How the NSA hacks PCs, phones, routers, hard disks 'at speed of light': Spy tech catalog leaks". *The Register*. 10 Ağustos 2015 tarihinde kaynağından arşivlendi. Erişim tarihi: 2 Ağustos 2015.

Kaynakça
--------

1. ↑  Hoang, Viet Tung; Rogaway, Phillip (2010). "On Generalized Feistel Networks". *LNCS 6223*. CRYPTO 2010. ABD: Springer. ss. 613-630. doi:10.1007/978-3-642-14623-7\_33 Özgürce erişilebilir.
2. ↑  "Confirmed: hacking tool leak came from "omnipotent" NSA-tied group". *Ars Technica*. 16 Ağustos 2016. 6 Haziran 2017 tarihinde kaynağından arşivlendi. Erişim tarihi: 21 Mart 2022.
3. ↑  "These instructions guide the INSTALLATION of BLATSTING using ELIGIBLEBACHELOR via NOPEN tunnel". 17 Şubat 2019 tarihinde kaynağından arşivlendi. Erişim tarihi: 16 Ağustos 2016.
4. ↑  "3.6.4 What are RC5 and RC6?". RSA Laboratories. 6 Temmuz 2017 tarihinde kaynağından arşivlendi. Erişim tarihi: 2 Ağustos 2015.

Dış bağlantılar
---------------

* "Cryptography - 256 bit Ciphers: Reference source code and submissions to international cryptographic designs contests". 26 Eylül 2011 tarihinde kaynağından arşivlendi. Erişim tarihi: 21 Mart 2022.
* "Symmetric Ciphers: RC6". Standard Cryptographic Algorithm Naming (SCAN). 15 Nisan 2009. 25 Ocak 2001 tarihinde kaynağından arşivlendi.
* "RC6® Block Cipher". RSA Laboratories. 4 Mart 2016 tarihinde kaynağından arşivlendi.