Score:-1

ตัดทอน sha3-512

ธง tr

สมมติว่าฉันต้องการการแสดง 64 บิต เครื่องแล้ว SHA3-512 เป็นทางไป.
SHA-512/256(x) เป็น SHA-512(x) โดยเอาต์พุตถูกตัดเหลือ 256 บิตตาม https://pycryptodome.readthedocs.io/en/latest/src/hash/sha512.html

อนุญาต H1(x) เป็น SHA-512/256(SHA-512(SHA-512(x)))
อนุญาต H2(x) เป็น SHA-256(SHA-512(SHA-512(x)))

เป็น H1 ปลอดภัยกว่า H2?

มีวิธีการตัดไหม SHA3-512 ชอบ SHA-512/256 ทำอย่างนั้นเหรอ?
เป็น เชค-256 กับ 256 บิต ขนาดเอาต์พุต โซลูชัน?

kelalaka avatar
in flag
คุณช่วยหยุดคิดและแสดงคำถามที่แท้จริงของคุณสักครู่ได้ไหม ใครต้องการการแฮชสามเท่า? ทำไม SHA3, BLAKE2 ตัวเดียวถึงไม่พอสำหรับคุณ? คำถามต่อไปของคุณคือการแฮชสี่เท่า? และต่อไป ต่อไป และกำลังจะถามว่าตอนจบมีรอบไหม? คุณกลัวว่าจะถูกทำลายในอนาคตอันใกล้หรือไม่? ไม่น่าจะเป็นไปได้มาก... BLAKE2 เป็นหนทางไปสู่ประสิทธิภาพที่ไม่ใช่ SHA3-512
Kuba Chrabański avatar
tr flag
คำถามของฉันส่วนใหญ่ไม่เกี่ยวข้องกัน
kelalaka avatar
in flag
จริงๆแล้วส่วนใหญ่เกี่ยวข้องกัน
Kuba Chrabański avatar
tr flag
ไม่ใช่ในแบบที่คุณคิด ไม่มีคำถามที่แท้จริงที่จะแสดงออกซึ่งอยู่เบื้องหลังคำถามทั้งหมด
kelalaka avatar
in flag
`สมมติว่าฉันต้องการ' แล้วความต้องการที่แท้จริงของคุณคืออะไร? `SHA3-512 คือหนทางที่จะไป' แล้วทำไมต้องถามการแฮชสามครั้งแทนที่จะให้ **การรักษาความปลอดภัยเป้าหมายที่แท้จริงพร้อมความเสี่ยง** `SHA3-512 เหมือน SHA-512/256` ไม่จำเป็นต้องมีการออกแบบด้วยโครงสร้างฟองน้ำ
Kuba Chrabański avatar
tr flag
โอเค แต่ "ไม่จำเป็นต้องมีการออกแบบด้วยโครงสร้างฟองน้ำ" หมายความว่าฉันสามารถตัด 256 บิตแรกหรือใช้ SHAKE-256 ได้
Kuba Chrabański avatar
tr flag
`สมมติว่าฉันต้องการ' เป็นเพียงวิธีการเริ่มคำถาม
kelalaka avatar
in flag
ทำไมคุณต้องตัด มี SHA3-256 สำหรับเอาต์พุต 256 บิต Shake-x สามารถส่งออกขนาดตามอำเภอใจ ซึ่งเป็นสมาชิกของ eXtendible Output Functions (XOF)
Kuba Chrabański avatar
tr flag
มาถึงส่วนแรกของคำถามและคำถามแรกของฉัน ฉันได้รับประโยชน์จากการรัน SHA3-512 N ครั้งและ SHA3-256 เพื่อจำกัดเอาต์พุตให้แคบลงแทนการรัน SHA3-256 (N+1) ครั้ง
Maarten Bodewes avatar
in flag
โปรดทราบว่าปัจจุบัน CPU ส่วนใหญ่เร่งความเร็ว SHA-1 และ SHA-256 ไม่ใช่ SHA-512 อาจเป็นเพราะมันค่อนข้างเร็วอยู่แล้ว ด้วยเหตุนี้ SHA-256 มักจะเร็วกว่าบนฮาร์ดแวร์ 64 บิต (สมมติว่าใช้การเร่งความเร็วจริง แน่นอนว่าไม่ใช่ PyCryptoDome บนนั้น)
Score:1
ธง in

การตัดทอน SHA3-512 เป็น 256 จะสร้างฟังก์ชันแฮช 256 บิตแบบท่อกว้างที่ยอดเยี่ยม และสมเหตุสมผลอย่างแน่นอน และ IMHO เป็นตัวเลือกอันดับต้น ๆ เมื่อมองหาฟังก์ชันแฮช 256 บิตสำหรับวัตถุประสงค์ทั่วไป

อาจมีตัวเลือกที่เร็วกว่า แต่ก็ค่อนข้างเร็ว

การแฮชสามครั้งอย่างที่คุณแนะนำดูเหมือนจะไม่เหมาะกับจุดประสงค์ใดๆ ที่ฉันรู้ และคำถามไม่ได้แนะนำว่าเหตุใดคุณจึงคิดว่าโครงสร้างที่มีฟังก์ชันแฮชเป็นฐานเป็นแนวคิดที่ดีสำหรับวัตถุประสงค์ใดๆ

โดยเฉพาะอย่างยิ่ง เป็นเรื่องง่ายที่จะเห็นโครงสร้างดังกล่าวรักษาการชนกันทั้งหมดจากฟังก์ชันแฮชฐาน และเพิ่มมากขึ้นในการเรียกใช้ซ้ำ แฮชสามเท่าดังกล่าวมีความทนทานต่อการชนกันน้อยกว่าฟังก์ชันแฮชดั้งเดิมใดๆ

Kuba Chrabański avatar
tr flag
ประการแรก คุณหมายถึงอะไรโดยการตัดทอน รับ 256 บิตแรกหรือวินาทีที่สอง หรือการดำเนินการเฉพาะอย่างที่ใช้ใน SHA-512/256 นอกจากนี้ ฉันเพิ่งเข้าใจบางอย่างเมื่อเร็วๆ นี้ ดังนั้นฉันจึงสามารถตอบคำถามได้แม่นยำยิ่งขึ้น สมมติว่าฉันมีฟังก์ชันแฮชรหัสผ่าน PH(x) ฉันต้องรักษาความต้านทานพรีอิมเมจให้ได้มากที่สุดเท่าที่จะเป็นไปได้ ในขณะเดียวกันฉันก็ต้องการให้เอาต์พุตเป็น 256 บิตด้วย ฉันควร: ใช้ PH(x) ในตัวแปร 256 บิต หรือ "ลด" เอาต์พุตของ PH(x) ในตัวแปร 512 บิตผ่านฟังก์ชันแฮช 256 บิตเช่น SHA-256 หรือไม่ (SHA-256(PH(x)))
kelalaka avatar
in flag
@KubaChrabaÅski เรียนรู้ความแตกต่างระหว่างฟังก์ชันการแฮชรหัสผ่านและการแฮชแบบต้านทานการชนกัน เช่น SHAx... เราต้องการให้มันรวดเร็ว อัลกอริทึมการแฮชรหัสผ่านได้รับการออกแบบมาให้ช้า ใช้หน่วยความจำสูง และใช้เธรดมาก แม้ว่าบางรุ่นจะมี SHA-256 หรือคล้ายกันในการออกแบบ แต่จุดมุ่งหมายของเป้าหมายนั้นแตกต่างกัน แน่นอน การต้านทานภาพล่วงหน้ามีความสำคัญในการแฮชรหัสผ่าน อย่างไรก็ตาม อย่าคาดหวังว่าความต้านทานการชนกันจะเสียหายเช่นกัน
Meir Maor avatar
in flag
เมื่อเราทำแฮชแบบวนซ้ำเราชอบใน pbkdf เราจะผสมในอินพุตเดิมเสมอ เพื่อป้องกันไม่ให้โดเมนมีขนาดเล็กลงเรื่อยๆ ในการวนซ้ำแต่ละครั้ง อย่าสร้างรูปแบบการแฮชรหัสผ่านของคุณเอง ใช้สิ่งที่ออกแบบมาเพื่อจุดประสงค์นั้นอยู่แล้ว สำหรับวิธีการตัด? ไม่สำคัญว่าทุกวิธีจะได้ผล
Kuba Chrabański avatar
tr flag
@kelalaka บางทีคุณควรหยุดสักพัก นั่นไม่ใช่คำถามของฉันเลย
Kuba Chrabański avatar
tr flag
@MeirMaor เห็นได้ชัดว่าฉันจะไม่สร้างฟังก์ชันการแฮชรหัสผ่านของตัวเอง (PH(x)) ฉันแค่ต้องการให้เอาต์พุตเป็น 256 บิต และฉันสงสัยว่าฉันสามารถใช้ PH[512](x) และตัดทอนเอาต์พุต ( ถ้าเป็นเช่นนั้นได้อย่างไร) หรือใส่เอาต์พุตผ่านฟังก์ชันแฮชปกติเช่น SHA3-256 และยังได้รับประโยชน์จากการใช้ PH ตัวแปร 512 บิต
Meir Maor avatar
in flag
SHA3 ​​ไม่เหมาะสำหรับการแฮชรหัสผ่าน ยกเว้นบางทีถ้าคุณหมายถึง PBKDF2-SHA3 ดู argon2 หรือ scrypt หรือแม้แต่ bcrypt ที่เก่ากว่า แต่พยายามแล้วและจริง
คำถามนี้เป็นภาษาอื่นๆ:

โพสต์คำตอบ

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