Forgive my ignorance, but I've run into some confusion in an AES implementation I'm testing.
To the best of my understanding, ECB provides no diffusion, the same plaintext with the same key will yield the same ciphertext every time. That's what makes it so bad for real-world cryptography.
But as a programmer, my current understanding of it is it's a little like debug vs. release. Don't do anything in the real world with ECB, don't release it. However, it's great for making sure the AES algorithm is actually working the way it should without bugs.
However, I've run into an implementation I'm not familiar with where the same plaintext with the same key will yield different ciphertext. Is there any chance I'm wrong in my understanding and in this ECB implementation (or ECB period despite some random blog stating otherwise and I've been thinking about it all wrong this whole time) while it still has poor diffusion (too much for it to be used practically), there's still diffusion?
Essentially, I want to verify my understanding is correct before I start thinking there is something wrong with someone else's programming. I can always be wrong. I'm still learning. Please clarify my current understanding. Many thanks in advance!