Reticulados Algébricos e Aplicações a Códigos e Criptografia