อัลกอริธึมแฮชที่ปลอดภัยหรือที่รู้จักกันในชื่อ SHA นั้นเป็นอัลกอริทึมการแฮชที่ถือว่าปลอดภัยแล้ว ข้อมูลดั้งเดิมเมื่อถูกแฮชด้วยอัลกอริธึมแฮชที่ปลอดภัยโดยทั่วไปแล้วจะไม่สามารถสร้างขึ้นมาใหม่ด้วยกำลังการคำนวณในจำนวนที่เป็นไปได้ อัลกอริธึมแฮชที่ปลอดภัยมักใช้ร่วมกับอัลกอริทึมอื่นเพื่อตรวจสอบสิทธิ์ข้อความรวมถึงลายเซ็นดิจิทัล
เราเตอร์เครือข่ายและไฟร์วอลล์บางตัวใช้อัลกอริทึมแฮชที่ปลอดภัยโดยตรงในฮาร์ดแวร์ของพวกเขา สิ่งนี้ทำให้แพ็กเก็ตข้อมูลได้รับการรับรองความถูกต้องโดยมีผลกระทบ จำกัด ต่อปริมาณงาน ซอฟต์แวร์อัลกอริธึมแฮชที่ปลอดภัยยังมีอยู่รวมถึงการใช้งานโอเพ่นซอร์สจำนวนมาก สถาบันมาตรฐานและเทคโนโลยีแห่งชาติสหรัฐอเมริกา (NIST) และสถานประกอบการความปลอดภัยการสื่อสารของแคนาดา (CSE) ร่วมกันดำเนินโครงการ Cryptographic Module Verification Program (CMVP) โปรแกรมอย่างเป็นทางการนี้รับรองการทำงานที่ถูกต้องของการใช้อัลกอริทึมแฮชที่ปลอดภัยสำหรับแอปพลิเคชันที่มีความละเอียดอ่อน
รัฐบาลสหรัฐฯมีมาตรฐานแฮชอัลกอริธึมที่ปลอดภัยอย่างน้อยหกมาตรฐาน SHA-0 และ SHA-1 เป็นสาขาแรกสุดที่พัฒนาขึ้นในปี 1990 ซีรี่ส์ SHA-2 ที่พัฒนาขึ้นในยุค 2000 รวมถึง SHA-224, -256, -384 และ -512 สิ่งเหล่านี้ถูกออกแบบมาเพื่อให้เอกสารสองฉบับที่มีเนื้อหาแตกต่างกันโดยทั่วไปจะสร้างค่าแฮชที่ไม่ซ้ำกันสองชุดเพื่อหลีกเลี่ยงการชนกันของแฮช
อัลกอริทึม SHA-0 ซึ่งตีพิมพ์ครั้งแรกในปี 1993 โดย NIST นั้นถูกยกเลิกอย่างรวดเร็วหลังจากพบจุดอ่อนที่สำคัญ มันถูกแทนที่ด้วย SHA-1 ในปี 1995 ซึ่งรวมถึงขั้นตอนการคำนวณพิเศษที่แก้ไขปัญหาที่ไม่เปิดเผยของ SHA-0 อัลกอริทึมทั้งสองแฮชข้อความมากถึง 2 64 -1 บิตลงใน "สรุปย่อย 160 บิต" ทั้งสองใช้ขนาดบล็อก 512 บิตและขนาดคำ 32 บิตในการทำงาน
SHA-1 ใช้ในโปรโตคอลอินเทอร์เน็ตและเครื่องมือความปลอดภัยทั่วไปบางอย่าง เหล่านี้รวมถึง IPsec, PGP, SSL, S / MIME, SSH และ TLS โดยทั่วไปแล้ว SHA-1 จะใช้เป็นส่วนหนึ่งของรูปแบบการป้องกันสำหรับเอกสารของรัฐบาลที่ไม่ได้จัดประเภท ภาคเอกชนใช้อัลกอริทึมแฮชที่ปลอดภัยนี้สำหรับข้อมูลที่ละเอียดอ่อนเช่นกัน มีกำหนดจะออกจากการใช้งานของรัฐบาลทั่วไปในปี 2010
SHA-224, -256, -384 และ -512 ได้รับการเผยแพร่โดย NIST ระหว่างปี 2001 และ 2004 อัลกอริทึมทั้งสี่เหล่านี้ยังเป็นที่รู้จักกันในนามครอบครัว SHA-2 นั้นแข็งแกร่งกว่า SHA-1 โดยทั่วไป SHA-224 และ SHA-256 ใช้ขนาดบล็อกคำและข้อความอินพุตสูงสุดเท่ากับ SHA-1 ในทางตรงกันข้าม SHA-224 จะสร้างไดรฟ์ย่อย 224 บิตในขณะที่ SHA-256 จะสร้างไดรฟ์ย่อย 256 บิต SHA-384 และ SHA-512 เพิ่มขนาดบล็อกเป็น 1024 บิตขนาดคำเป็น 64 บิตและความยาวข้อความอินพุตสูงสุดเป็น 2 128 -1 บิต การแยกย่อยที่ผลิตโดย SHA-384 มีความยาว 384 บิตในขณะที่การแยกย่อย SHA-512 มี 512 บิต
เช่นเดียวกับ SHA-0 และ SHA-1 ตระกูล SHA-2 ได้รับการออกแบบโดย US National Security Agency (NSA) แม้ว่าข้อบกพร่องที่ร้ายแรงยังไม่ได้เปิดเผยต่อสาธารณชนใน SHA-2 แต่ NIST ได้เปิดการแข่งขันเพื่อพัฒนาอัลกอริทึมแฮชที่ปลอดภัยถัดไป อัลกอริทึมใหม่นี้ที่เรียกว่า SHA-3 มีแนวโน้มที่จะได้รับเลือกในปี 2012 จากการรวบรวมรายการสาธารณะ คาดว่าจะเป็นการออกแบบใหม่ไม่ใช่ตามอัลกอริทึมที่มีอยู่


