Score:0

ตัวเลขต่อตัวเลขใด ๆ ?

ธง us

ฉันสงสัย (ไม่ทราบทางเทคนิค) ว่าการเข้ารหัสแบบตัวเลขต่อตัวเลขเป็นเรื่องปกติ/มีประโยชน์ในการเข้ารหัสหรือไม่

ลองนึกภาพ เราต้องการเข้ารหัสจำนวนเต็ม เป็นจำนวนเต็ม x. โดยใช้สูตรเช่น

x = 2 * y - 1

เราสามารถถอดรหัสได้อย่างง่ายดายโดยมีตัวอย่างการจับคู่ x-y. ปัญหาแรกคือลำดับของ จำนวนเต็มจะเหมือนกับของ x.

มีวิธีเข้ารหัสจำนวนเต็มในขณะที่ผลลัพธ์เป็นจำนวนเต็มที่คล้ายกันหรือไม่ (ไม่ใหญ่กว่าอย่างบ้าคลั่ง เช่น เปลี่ยนตัวเลข 6 หลักเป็นตัวเลข 6-8 หลัก)

bk2204 avatar
fr flag
คุณกำลังถามเกี่ยวกับการออกแบบที่มีการแมปที่สอดคล้องกันระหว่างหมายเลขอินพุตและเอาต์พุต (ซึ่งไม่ปลอดภัย) หรือคุณกำลังถามเกี่ยวกับการออกแบบที่ปลอดภัย
us flag
@bk2204 เป็นการจับคู่ที่สอดคล้องกัน เนื่องจากผู้ที่มีคีย์สามารถดึง "y" จาก "x" ได้โดยตรง แน่นอน มันไม่ปลอดภัยเท่ากับการแฮชทางเดียว แต่ความซับซ้อนของคีย์ทำให้ยากต่อการถอดรหัส
fgrieu avatar
ng flag
ดูเหมือนว่าคุณกำลังขอการเข้ารหัสที่รักษารูปแบบ ซึ่งเป็นรูปแบบพิเศษของการเข้ารหัสแบบบล็อกซึ่งสามารถรองรับข้อความธรรมดาและข้อความเข้ารหัสในรูปแบบที่กำหนด เช่น 7 หลัก ดูเหมือนว่าคุณ _not_ กำลังมองหารหัสสตรีม ดังนั้นฉันจึงเปลี่ยนแท็กหาก FPE ทำงานได้ โปรดปิดคำถาม เว้นแต่คุณต้องการข้อมูลเพิ่มเติมเกี่ยวกับ FPE (อาจเป็นบทนำหรืออัลกอริทึมตัวอย่างง่ายๆ) ซึ่งในกรณีนี้ให้ระบุข้อจำกัดของคุณ: ทำได้ด้วยคอมพิวเตอร์ เครื่องคิดเลขพกพา ปากกาและกระดาษ... แบบคงที่หรือแบบแปรผัน ขนาดสำหรับข้อความธรรมดาและข้อความเข้ารหัส นำหน้าศูนย์สำคัญหรือไม่...
us flag
@fgrieu ขอบคุณสำหรับการชี้แจง คุณพูดถูก มันอาจจะไม่ได้อยู่ในขอบเขตของรหัสสตรีม แต่ก็ไม่ใช่รหัสบล็อกทั่วไปเช่นกัน โหมดนี้เป็นสมุดรหัสอิเล็กทรอนิกส์ แต่อย่างที่ฉันเข้าใจ รหัสบล็อกแปลงอักขระแต่ละตัวเป็นอักขระใหม่ คำถามของฉันคือการปฏิบัติต่อข้อมูลที่ป้อนเป็นตัวเลข (ไม่ใช่ชุดของตัวเลข) เราไม่จำเป็นต้องให้ขนาดของเอาต์พุตเท่ากับอินพุต ฉันแค่เน้นว่าผลลัพธ์ไม่ควรมีขนาดใหญ่อย่างบ้าคลั่ง ตัวอย่างเช่น เราใช้สูตร `x = a * y^3 + b * y^2 + c * y + d` มันจะยากมากที่จะถอดรหัสผลลัพธ์ แต่จะใหญ่เกินไป
fgrieu avatar
ng flag
ถ้าสิ่งที่เป็นจำนวนเต็ม $[0..999999]$ (สูงสุด 6 หลักทศนิยม) สำหรับข้อความธรรมดาถือว่าใช้ได้ และคุณอนุญาตให้เอาต์พุตมีขนาดใหญ่กว่าอินพุต เช่น จำนวนเต็มใน $[0..2^{33}-1]$ (ที่พอดีกับทศนิยม 10 หลัก) จากนั้นคุณสามารถใช้รหัสมาตรฐานใดๆ ก็ได้ สตรีมหรือไม่ก็ได้ (เช่น AES-CTR ทั่วไป) ด้วยการแปลงเพียงอย่างเดียวจาก เลขฐานสองเป็นเลขฐานสองของข้อความธรรมดา (20 บิต) และเลขฐานสองเป็นเลขฐานสองของ IV+ciphertext (13+20 บิต) คุณไม่จำเป็นต้องใช้ FPE เต็มรูปแบบ แน่นอนว่า IV นั้นมีขนาดเล็ก และคุณไม่มีการเข้ารหัสที่รับรองความถูกต้อง แต่ไม่ได้ถาม ฉันสามารถให้รายละเอียดในคำตอบได้หากจำเป็น

โพสต์คำตอบ

คนส่วนใหญ่ไม่เข้าใจว่าการถามคำถามมากมายจะปลดล็อกการเรียนรู้และปรับปรุงความสัมพันธ์ระหว่างบุคคล ตัวอย่างเช่น ในการศึกษาของ Alison แม้ว่าผู้คนจะจำได้อย่างแม่นยำว่ามีคำถามกี่ข้อที่ถูกถามในการสนทนา แต่พวกเขาไม่เข้าใจความเชื่อมโยงระหว่างคำถามและความชอบ จากการศึกษาทั้ง 4 เรื่องที่ผู้เข้าร่วมมีส่วนร่วมในการสนทนาด้วยตนเองหรืออ่านบันทึกการสนทนาของผู้อื่น ผู้คนมักไม่ตระหนักว่าการถามคำถามจะมีอิทธิพลหรือมีอิทธิพลต่อระดับมิตรภาพระหว่างผู้สนทนา