In de cryptografie is RC5 een eenvoudige symmetrisch-toetsblokcodering. RC5 is ontworpen door Ronald Rivest in 1994 en is een geparametreerd algoritme met een variabele blokgrootte, een variabele sleutelgrootte en een variabel aantal rondes. "RC" staat voor "Rivest Cipher", of anders voor "Ron's Code".

Om verschillende beveiligings- en efficiëntieniveaus te kunnen bieden, heeft RC5 een variabele blokgrootte (32, 64 of 128 bits), een variabele sleutelgrootte (0 tot 2040 bits) en een variabel aantal rondes (0 tot 255). De oorspronkelijke voorgestelde keuze van de parameters was een blokgrootte van 64 bits, een 128-bits sleutel en 12 rondes.

Een belangrijk kenmerk van RC5 is het gebruik van data-afhankelijke rotaties; een van de doelen van RC5 was het bestuderen en evalueren van operaties van blokcijfers als een cryptografische primitieve. RC5 bestaat ook uit een aantal modulaire toevoegingen en eXclusive OR (Xor)s. De algemene structuur van het algoritme is een Feistel-achtig netwerk. De vercijferings- en ontcijferingsroutines kunnen in enkele regels code worden gespecificeerd. Het sleutelschema is echter complexer en breidt de sleutel uit met behulp van een in wezen eenrichtingsfunctie met de binaire uitbreidingen van zowel e als de gulden snede als bronnen van "niets in mijn mouw". De eenvoud van het algoritme in combinatie met de nieuwigheid van de data-afhankelijke rotaties heeft RC5 tot een aantrekkelijk onderwerp gemaakt om te bestuderen door cryptanalisten.