Align behaviour of CTR and SIC modes in the JCE API. by timw · Pull Request #19 · bcgit/bc-java
We had a bit of a discussion about this, but we can't make use of this patch.
I know this is going to sound bizarre (or maybe just old fashioned) but there's a reason for the difference.
Originally SIC was specified as being available for only 128 bit block ciphers or greater (in some document that I can no longer find) this is why if you specify SIC it requires it, if you specify CTR it doesn't. It may sound a bit pedantic but this also means that if you see the use of SIC in BC you are certain the algorithm has a 128 bit or greater block size - this kind of certainty does mean something to some people (auditors for one example...). I'm aware that a look at Wikipedia will tell me that I'm probably one of the few people on the planet that is aware of this, but as we've established a "contract" on this one already, it seems best we keep it this way, as people may be relying on this in some fashion.