I discovered that the implementation on Android of SecureRandom.nextInt(until), the one with one parameter, is incorrectly delegating to java.security.SecureRandom.nextInt() instead of java.security.SecureRandom.nextInt(until). Essentially, the lower bound is being dropped, causing Kotlin extension methods on Random like nextString to crash.
I discovered that the implementation on Android of SecureRandom.nextInt(until), the one with one parameter, is incorrectly delegating to java.security.SecureRandom.nextInt() instead of java.security.SecureRandom.nextInt(until). Essentially, the lower bound is being dropped, causing Kotlin extension methods on Random like nextString to crash.