อนุญาต $BC$ เป็นรหัสบล็อกที่มีการรักษาความปลอดภัยคล้ายกับ AES (ในโหมด ECB)
นี้ $BC$ ใช้กับข้อความ $m$ ขนาดบิตเท่ากัน ผลลัพธ์คือรหัสลับ $ค$.
เช่น.;
$$BC(key_A,m) = c_A$$
$$BC(key_B,m) = c_B$$
ฉันกำลังมองหา $BC$ กับ:
$$BC(key_A,c_B) = c_{BA}$$
$$BC(key_B,c_A) = c_{AB}$$
ที่ไหน
$$c_{AB}=c_{BA}$$
แต่สำหรับคนส่วนใหญ่:
$$c_{A}\not=c_{B}$$
มีวิธีใดในการสร้างคีย์ $key_A, คีย์_A$ ด้วยคุณสมบัตินี้เหมาะสำหรับ $BC$?
(หรืออย่างน้อยก็สำหรับกลุ่มย่อยขนาดใหญ่ขององค์ประกอบ)
คำถามนี้มีคำตอบ (จากโทมัส) สำหรับคำถามที่คล้ายกัน: มีรหัสสับเปลี่ยนที่ปลอดภัยหรือไม่?
แต่เท่าที่เข้าใจมันหมายถึง $BC$ เป็นการสับเปลี่ยนสำหรับคีย์ทั้งหมด ฉันสบายดีกับคีย์เพียงเล็กน้อยที่สลับสับเปลี่ยนกันได้
นอกจากนี้ในแอปพลิเคชันเป้าหมาย $BC$ เพียงทำหน้าที่เป็นตัวสร้างตัวเลขสุ่ม หมายเลขต่อไปจะถูกสร้างขึ้นโดยการสมัคร $BC$ ถึงปัจจุบัน การกำหนด 'ดัชนี' ของค่าที่กำหนดหรือการคำนวณควรเป็นเรื่องยาก $i$- ก้าวไปข้างหน้า
RNG สับเปลี่ยนซึ่งสามารถคำนวณค่าถัดไปและก่อนหน้าจากค่าปัจจุบัน (+ ค่าคงที่บางอย่าง (เช่นคีย์หรือเมล็ด) ก็จะทำงานเช่นกัน
แก้ไข: คีย์ / เมล็ดพันธุ์จะเป็นที่รู้จัก