โบลว์ฟิช
โบลว์ฟิช

โบลว์ฟิช

โบลว์ฟิช (อังกฤษ: Blowfish) ในวิทยาการเข้ารหัสลับนั้น เป็นการเข้ารหัสวิธีหนึ่งซึ่งใช้วิธีการเข้ารหัสแบบบล็อก (Block Cipher) และคีย์แบบสมมาตร (Symmetric Key) ซึ่งได้รับการออกแบบในปี ค.ศ. 1993 โดยนายบรูค ชไนย์เออร์ (Bruce Schneier) ซึ่งเป็นเจ้าพ่อแห่งวิทยาการเข้ารหัสลับ และการเข้ารหัสแบบ Blowfish นี้ได้รับความนิยมเป็นอย่างยิ่งในการนำมาใช้ทางด้านการเข้ารหัสกับผลิตภัณฑ์ของซอฟต์แวร์ต่าง ๆ ทั้งยังยากต่อการโจมตีและถูกเจาะวิเคราะห์จาก Cryptanalysis อีกด้วย ยิ่งไปกว่านั้นในปัจจุบัน ขั้นตอนวิธี Blowfish นี้ก็ยังเป็นที่นิยมในบรรดาวิธีการเข้ารหัสแบบ Block Cipher เช่นเดียวกับ ขั้นตอนวิธีอื่น ๆ เช่น AES และ Twofishต้นกำเนิดของขั้นตอนวิธี Blowfish เกิดขึ้นจากการนำออกมาเผยแพร่ในการแสดงผลงานทางด้านวิทยาการเข้ารหัสลับในงาน First Fast Software Encryption Workshop ที่เมือง Cambridge ประเทศอังกฤษในปี ค.ศ. 1994 และในเดือนเมษายนในปีเดียวกัน Blowfish ก็ได้รับการตีพิมพ์ในวารสารของ Dr. Dobb จนเมื่อ 1 ปีต่อมา Blowfish ก็ได้ปรากฏอีกครั้งในวารสารฉบับเดือนกันยายนของปี 1995 ของ Dr. Dobbนาย Bruce Schneier ได้ออกแบบขั้นตอนวิธี Blowfish โดยใช้ขั้นตอนวิธีทั่ว ๆ ไปในการ ออกแบบ และ Blowfish นี้ก็ได้เข้ามาแทนที่ขั้นตอนวิธี DES และ IDEA ที่เป็นขั้นตอนวิธีที่ได้รับความนิยมในอดีต ทั้งยังไม่มีปัญหาในการทำงานเหมือนอย่างที่ขั้นตอนวิธีในอดีตประสบกัน จึงทำให้หลาย ๆ หน่วยงานและบริษัททางด้านซอฟต์แวร์ต่าง ๆ หันมาใช้ขั้นตอนวิธี Blowfish กันมากยิ่งขึ้น จากที่เมื่อก่อนนั้นขั้นตอนวิธีในการเข้ารหัสนั้นจะต้องมีการจดลิขสิทธิ์ในการนำมาใช้งาน และเจ้าของผู้ที่จะอนุญาตให้ใช้งานคือหน่วยงานของรัฐบาลเท่านั้น แต่ขั้นตอนวิธี Blowfish นี้ได้เป็นขั้นตอนวิธีตัวแรกที่ได้มีการนำออกมาให้ใช้ได้อย่างเสรี โดยไม่มีลิขสิทธิ์ในการใช้งานใด ๆ ทั้งสิ้น สิ่งนี้เลยเป็นสิ่งที่จุดประกายให้ขั้นตอนวิธี Blowfish ได้เป็นที่นิยมกันอย่างรวดเร็ว และต่อเนื่องจนถึงปัจจุบันขั้นตอนวิธี Blowfish เป็นการใช้คีย์แบบ Variable-Length Key โดยมีขนาดความยาวของคีย์ตั้งแต่ขนาด 32 Bit จนถึง 448 Bit ซึ่งจะทำให้เกิดความยืดหยุ่นในการเลือกใช้คีย์กับการเข้ารหัสแบบ Block Cipher มากยิ่งขึ้นซึ่งจะดีกว่าวิธีการแบบ DES หรือ IDEA ซึ่งมีการ Fixed-Length Key โดยใช้คีย์ขนาด 32 Bit เท่านั้น