Code based cryptosystems have received a great deal of attention due to their resistance to quantum attacks. Unfortunately, their large key sizes make them impractical to use. In order to alleviate this issue many attempts have been made to produce public keys with compact forms by using different code structures; all have failed thus far. In this thesis I examine the effectiveness of compression techniques that do not use any algebraic structure. Instead, I look for statistical characteristics that produce keys that have a lower entropy, thus making them easier to send. In addition, I analyze the algebraic structure of a Niederreiter cryptosystem that hides the parity check matrix of a Goppa code. In doing so I found a set of equations which if efficiently solved, would allow an attacker to decompose the public key into an equivalent Goppa code and would provide an efficient decoding algorithm.