Coding crypto functions in Go and the pitfalls to watch for