I am implementing a protocol and something's gone wrong. I've checked my code and I think it's fine; I believe I've misunderstood the protocol itself.

Would it be on topic to post my understanding of the protocol, and say, a list of steps that I took to implement it? I wouldn't want this to just be a textbook regurgitation of the protocol, but rather a description of what the code does, w.r.t. cryptography, to check that I've interpreted the paper correctly.

Should I go to Code Review first? I see this as a bit of a chicken and egg problem. I'd prefer to check that my understanding of the problem is sound first before having other poor souls dive into the code.