Score:0

การเลือกพารามิเตอร์สำหรับ PBKDF2 โดยใช้ SHA3

ธง cn

ฉันใช้ PBKDF2 เพื่อสร้างคีย์การเซ็นชื่อ ED448 และฉันกำลังพยายามหาขนาดเกลือที่เหมาะสมที่สุดสำหรับ SHA-3 ฉันจำได้ว่าอ่านคำแนะนำให้ใช้ขนาดเกลือเท่ากับขนาดบล็อกสถานะภายในของ PRF สำหรับ PBKDF2 ความเข้าใจของฉันคือ Keccak/SHA-3 ไม่ใช้บล็อกแบบที่แฮช SHA/MD ทำ ฉันจะเลือกหรือคำนวณความยาวของเกลือตามพารามิเตอร์ Keccak ได้อย่างไร ควรเพิ่มการทำซ้ำเนื่องจาก Keccak เร็วกว่า SHA2 หรือไม่

รหัสปัจจุบัน:

const uint32_t SaltLen = 64; // จะเลือกอะไรดี?
const uint32_t PBKDFIterations = 10,000;
uint8_t เกลือ [SaltLen];
uint8_t SigningKeyBytes[ED448_KEYLEN];
RAND_bytes (เกลือ, ขนาดของ (เกลือ));
PKCS5_PBKDF2_HMAC (รหัสผ่าน, ความยาวรหัสผ่าน, เกลือ, SaltLen, PBKDFIterations, EVP_sha3_512(), sizeof (SigningKeyBytes), SigningKeyBytes);

ฉันเคยเห็นคำถามที่มีอยู่ในปี 2558 เกี่ยวกับการใช้ SHA-3 ใน PBKDF2 อย่างไรก็ตาม คำถามนั้นมีอายุเกือบ 7 ปีแล้ว และฉันคาดว่าคำแนะนำจะเปลี่ยนไปตั้งแต่นั้นมา

Score:1
ธง vu

สำหรับจุดประสงค์ของโพสต์นี้ เรามากำหนดขนาดบล็อกของฟังก์ชันแฮชแบบวนซ้ำเป็น:

จำนวนข้อมูลที่ป้อนเข้าสู่อัลกอริทึมแฮชจะทำให้ฟังก์ชันการวนซ้ำ (ฟังก์ชันการบีบอัดสำหรับ MD และการเรียงสับเปลี่ยนสำหรับ Sponge) ถูกเรียกใช้

เมื่อคำนึงถึงสิ่งนี้ ขนาดบล็อกของ SHA-3 และ SHAKE-* จะเป็นพารามิเตอร์ "อัตรา"

ตอนนี้กลับไปที่เกลือ โดยปกติเกลือ 128 บิต (16 ไบต์) ก็เพียงพอแล้ว (เพื่อป้องกันการโจมตีก่อนการคำนวณ เช่น การโจมตีตารางสายรุ้ง) 256 บิตก็เพียงพอแล้ว โพสต์ที่เกี่ยวข้องบน สแต็คโอเวอร์โฟลว์

โพสต์คำตอบ

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