หากคุณต้องการให้ C สามารถถอดรหัสสิ่งที่ส่งถึง B ได้ วิธีที่ง่ายที่สุดคือมอบคีย์ถอดรหัสของ B ให้กับ C
นอกจากนี้ยังมีสิ่งที่เรียกว่า พร็อกซีเข้ารหัสซ้ำ ที่อยู่ในจิตวิญญาณของ "re-addressing" ไซเฟอร์เท็กซ์ ในการเข้ารหัสซ้ำของพร็อกซีมีอัลกอริทึม $\textsf{ProxyKey}(sk_B, pk_C) \ถึง rk_{B\ถึง C}$: ใช้คีย์ส่วนตัวของ B และคีย์สาธารณะของ C เป็นอินพุต และสร้างคีย์เข้ารหัสใหม่ $rk_{B \ถึง C}$. ใครก็ตามที่มีคีย์เข้ารหัสซ้ำนี้สามารถทำได้ $\textsf{ReEncrypt}(rk_{B \to C}, ctxt) \to ctxt'$ซึ่งใช้ไซเฟอร์เท็กซ์ $ctxt$ จ่าหน้าถึง $B$ และแปลงร่างเป็น $ctxt'$การเข้ารหัสของสิ่งเดียวกันแต่จ่าหน้าถึง $C$.
(นอกจากนี้ยังมีรูปแบบที่ $\textsf{ProxyKey}$ ต้องการรหัสส่วนตัวของทั้งสองฝ่าย)
ความแตกต่างที่สำคัญในที่นี้คือบุคคลที่ "ระบุที่อยู่ใหม่" ของข้อความเข้ารหัส ("พร็อกซี") สามารถเป็นบุคคลอื่นที่ไม่ใช่ B หรือ C พร็อกซีที่มีแต่ $rk_{B\ถึง C}$ แต่ใครที่ไม่รู้จักคีย์ส่วนตัวของ B หรือ C จะไม่สามารถเปิดข้อความเข้ารหัสที่ส่งถึง B หรือ C ได้ พวกเขาสามารถแปลงข้อความเข้ารหัสสำหรับ B เป็นข้อความเข้ารหัสสำหรับ C เท่านั้น (และไม่ใช่ในทางกลับกัน) โดยไม่ต้องมองเข้าไปข้างในสมมติว่าพร็อกซีและ C เป็นบุคคลที่แตกต่างกัน ดังนั้น C จะสามารถอ่านได้เฉพาะข้อความที่ส่งถึง B ซึ่งพร็อกซีเลือกที่จะแปลง