diff --git a/ChangeLog.md b/ChangeLog.md
--- a/ChangeLog.md
+++ b/ChangeLog.md
@@ -1,23 +1,23 @@
 # Revision history for g3p-hash
 
-## Version 1.0.0.0 "Fight like a Pacifist" (2024-03-21)
+## Version 1.0.0.1 "Fight like a Pacifist" (2024-03-21)
 
 Developing this project has been a long, strange trip. I've taken clues and
 inspiration from so many different places, and the history of my in-the-moment
 thinking on these topics is not well-preserved. But I do have a few specific
-acknowledgements in mind.
+acknowledgments in mind.
 
 First of all, I'd like to thank Lois T Clark for teaching me how to fight like
-a pacifist. I'd like to thank Joe Taylor (K1JT) for the WSPR and WSJT suite of
+a pacifist. I'd like to thank Joe Taylor (K1JT) for WSPR and the WSJT suite of
 amateur radio protocols. I'd like to thank the State of Indiana for providing me
 with a world-class public education. These lessons directly inspired the goals
 and methodologies of this project.
 
 I'd like to thank Mike Dunn and Katalin Bimbo for trying to teach me relevance
 logic. While I still have no formal understanding of this topic, thinking about
-relevance was absolutely indispensible during this long development cycle.
+relevance was absolutely indispensable during this long development cycle.
 It helped me see through my own dubious ideas and justifications, it helped me
-modulate the goals and methodolgies of this project, and it helped me make
+modulate the goals and methodologies of this project, and it helped me make
 real progress on identifying plausibly-desirable design properties. In short,
 it took me to a design that I am so much happier with than I imagined at the
 outset of this project.
@@ -35,3 +35,7 @@
 bcrypt for paving the way, Steve "sc00bz" Thomas and Soatok for sharing their
 valuable insights into cryptography with me, and Obsidian Systems for giving me
 opportunities to develop my skills in cryptography.
+
+## Version 1.0.0.0 (2024-03-21)
+
+* Initial release accidentally omitted C header files
diff --git a/csrc/bcrypt_raw.h b/csrc/bcrypt_raw.h
new file mode 100644
--- /dev/null
+++ b/csrc/bcrypt_raw.h
@@ -0,0 +1,12 @@
+#pragma once
+
+#include <stdint.h>
+
+#define BCRYPT_RAW_MAX_INPUT_LENGTH 72
+#define BCRYPT_RAW_OUTPUT_LENGTH 24
+
+void
+bcrypt_raw ( const char *key, uint32_t keybytes,
+             const char *salt, uint32_t saltbytes,
+             char output[BCRYPT_RAW_OUTPUT_LENGTH],
+             uint32_t rounds);
diff --git a/csrc/g3p_blf.h b/csrc/g3p_blf.h
new file mode 100644
--- /dev/null
+++ b/csrc/g3p_blf.h
@@ -0,0 +1,77 @@
+#pragma once
+/* $OpenBSD: blf.h,v 1.8 2021/11/29 01:04:45 djm Exp $ */
+/*
+ * Blowfish - a fast block cipher designed by Bruce Schneier
+ *
+ * Copyright 1997 Niels Provos <provos@physnet.uni-hamburg.de>
+ * All rights reserved.
+ *
+ * Redistribution and use in source and binary forms, with or without
+ * modification, are permitted provided that the following conditions
+ * are met:
+ * 1. Redistributions of source code must retain the above copyright
+ *    notice, this list of conditions and the following disclaimer.
+ * 2. Redistributions in binary form must reproduce the above copyright
+ *    notice, this list of conditions and the following disclaimer in the
+ *    documentation and/or other materials provided with the distribution.
+ * 3. The name of the author may not be used to endorse or promote products
+ *    derived from this software without specific prior written permission.
+ *
+ * THIS SOFTWARE IS PROVIDED BY THE AUTHOR ``AS IS'' AND ANY EXPRESS OR
+ * IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES
+ * OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE DISCLAIMED.
+ * IN NO EVENT SHALL THE AUTHOR BE LIABLE FOR ANY DIRECT, INDIRECT,
+ * INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT
+ * NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE,
+ * DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY
+ * THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT
+ * (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF
+ * THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
+ */
+
+/* Schneier specifies a maximum key length of 56 bytes.
+ * This ensures that every key bit affects every cipher
+ * bit.  However, the subkeys can hold up to 72 bytes.
+ * Warning: For normal blowfish encryption only 56 bytes
+ * of the key affect all cipherbits.
+ */
+
+#include <stdint.h>
+
+#define G3P_BLF_N	16			/* Number of Subkeys */
+#define G3P_BLF_MAXKEYLEN ((G3P_BLF_N-2)*4)	/* 448 bits */
+#define G3P_BLF_MAXUTILIZED ((G3P_BLF_N+2)*4)	/* 576 bits */
+
+/* Blowfish context */
+typedef struct BlowfishContext {
+	uint32_t S[4][256];	/* S-Boxes */
+	uint32_t P[G3P_BLF_N + 2];	/* Subkeys */
+} G3P_blf_ctx;
+
+/* Raw access to customized Blowfish
+ *	G3P_blf_key is just:
+ *	G3P_Blowfish_initstate( state )
+ *	G3P_Blowfish_expand0state( state, key, keylen )
+ */
+
+void G3P_Blowfish_encipher(G3P_blf_ctx *, uint32_t *, uint32_t *);
+void G3P_Blowfish_decipher(G3P_blf_ctx *, uint32_t *, uint32_t *);
+void G3P_Blowfish_initstate(G3P_blf_ctx *);
+void G3P_Blowfish_expand0state(G3P_blf_ctx *, const uint8_t *, uint16_t);
+void G3P_Blowfish_expandstate
+(G3P_blf_ctx *, const uint8_t *, uint16_t, const uint8_t *, uint16_t);
+
+/* Standard Blowfish */
+
+void G3P_blf_key(G3P_blf_ctx *, const uint8_t *, uint16_t);
+void G3P_blf_enc(G3P_blf_ctx *, uint32_t *, uint16_t);
+void G3P_blf_dec(G3P_blf_ctx *, uint32_t *, uint16_t);
+
+void G3P_blf_ecb_encrypt(G3P_blf_ctx *, uint8_t *, uint32_t);
+void G3P_blf_ecb_decrypt(G3P_blf_ctx *, uint8_t *, uint32_t);
+
+void G3P_blf_cbc_encrypt(G3P_blf_ctx *, uint8_t *, uint8_t *, uint32_t);
+void G3P_blf_cbc_decrypt(G3P_blf_ctx *, uint8_t *, uint8_t *, uint32_t);
+
+/* Converts uint8_t to uint32_t */
+uint32_t G3P_Blowfish_stream2word(const uint8_t *, uint16_t , uint16_t *);
diff --git a/g3p-hash.cabal b/g3p-hash.cabal
--- a/g3p-hash.cabal
+++ b/g3p-hash.cabal
@@ -1,5 +1,5 @@
 name:                g3p-hash
-version:             1.0.0.0
+version:             1.0.0.1
 synopsis:            Global Password Prehash Protocol
 description:         A password hash and key derivation function that provides
                      embedded attributions in order to support self-documenting
@@ -29,6 +29,8 @@
   hs-source-dirs:    lib
   c-sources:         csrc/bcrypt_raw.c
                      csrc/blowfish.c
+                     csrc/bcrypt_raw.h
+                     csrc/g3p_blf.h
   include-dirs:      csrc
   ghc-options:       -Wall
   default-language:  Haskell2010
