Info Call to Random API

Description

List of all calls to methods that return pseudo-random values.

Recommendation

Do not seed Random with the current time because that value is more predictable to an attacker than the default seed.

The java.util.Random class must not be used either for security-critical applications or for protecting sensitive data. Use a more secure random number generator, such as the java.security.SecureRandom class.

Technical details

Method com.google.android.gms.internal.bns.a() calling method java.util.Random.<init>()


    public final void a()
    {
        if (com.google.android.gms.internal.bob.a()) {
            long v0_1 = ((Integer) com.google.android.gms.ads.internal.au.q().a(com.google.android.gms.internal.bgs.aL)).intValue();
            int v1_3 = ((Integer) com.google.android.gms.ads.internal.au.q().a(com.google.android.gms.internal.bgs.aM)).intValue();
            if ((v0_1 > 0) && (v1_3 >= 0)) {
                com.google.android.gms.internal.qu.a.postDelayed(com.google.android.gms.internal.bnt.a, ((long) (v0_1 + new java.util.Random().nextInt((v1_3 + 1)))));
            } else {
                com.google.android.gms.ads.internal.au.s().a();
            }
        }
        this.a.a();
        return;
    }

Method com.google.android.gms.internal.aow.y() calling method java.util.Random.<init>()


    public final long y()
    {
        if (this.c.get() != 0) {
            try {
                this.c.compareAndSet(-1, 1);
                return this.c.getAndIncrement();
            } catch (Throwable v1_2) {
                throw v1_2;
            }
        } else {
            try {
                Throwable v1_5 = new java.util.Random((System.nanoTime() ^ super.m().a())).nextLong();
                long v3_1 = (this.d + 1);
                this.d = v3_1;
                return (v1_5 + ((long) v3_1));
            } catch (Throwable v1_7) {
                throw v1_7;
            }
        }
    }

Method com.google.android.gms.a.f.<init>() calling method java.util.Random.<init>()


    f(com.google.android.gms.internal.wf p3, String p4, com.google.android.gms.internal.xx p5)
    {
        super(p3);
        super.b = new java.util.HashMap();
        super.c = new java.util.HashMap();
        if (p4 != null) {
            super.b.put("&tid", p4);
        }
        super.b.put("useSecure", "1");
        super.b.put("&a", Integer.toString((new java.util.Random().nextInt(2147483647) + 1)));
        super.d = new com.google.android.gms.internal.xx("tracking", super.h());
        super.e = new com.google.android.gms.a.f$a(super, p3);
        return;
    }

Method com.crashlytics.android.a.l.<init>() calling method java.util.Random.<init>()


    public l(io.a.a.a.a.c.a.a p2, double p3)
    {
        this(p2, p3, new java.util.Random());
        return;
    }

Method com.google.firebase.iid.k.a() calling method java.util.Random.<init>()


    final void a(android.content.Intent p12)
    {
        if (p12 != null) {
            if ("com.google.android.c2dm.intent.REGISTRATION".equals(p12.getAction())) {
                String v1_0 = p12.getStringExtra("registration_id");
                if (v1_0 == null) {
                    v1_0 = p12.getStringExtra("unregistered");
                }
                StringBuilder v3_2 = 0;
                if (v1_0 != null) {
                    String v1_19;
                    this.m = android.os.SystemClock.elapsedRealtime();
                    this.q = 0;
                    this.o = 0;
                    this.p = 0;
                    if (!v1_0.startsWith("|")) {
                        v1_19 = 0;
                    } else {
                        long v4_6 = v1_0.split("\\|");
                        if (!"ID".equals(v4_6[1])) {
                            String v1_22;
                            String v1_20 = String.valueOf(v1_0);
                            if (v1_20.length() == 0) {
                                v1_22 = new String("Unexpected structured response ");
                            } else {
                                v1_22 = "Unexpected structured response ".concat(v1_20);
                            }
                            android.util.Log.w("InstanceID/Rpc", v1_22);
                        }
                        v1_19 = v4_6[2];
                        if (v4_6.length > 4) {
                            if (!"SYNC".equals(v4_6[3])) {
                                if ("RST".equals(v4_6[3])) {
                                    String v0_18 = this.g;
                                    com.google.firebase.iid.i.a(this.g, 0);
                                    com.google.firebase.iid.FirebaseInstanceId.a(v0_18, com.google.firebase.iid.i.c());
                                    p12.removeExtra("registration_id");
                                    this.a(v1_19, p12);
                                    return;
                                }
                            } else {
                                com.google.firebase.iid.FirebaseInstanceId.c(this.g);
                            }
                        }
                        String v2_38 = v4_6[(v4_6.length - 1)];
                        if (v2_38.startsWith(":")) {
                            v2_38 = v2_38.substring(1);
                        }
                        p12.putExtra("registration_id", v2_38);
                    }
                    if (v1_19 != null) {
                        this.a(v1_19, p12);
                        return;
                    } else {
                        if (android.util.Log.isLoggable("InstanceID/Rpc", 3)) {
                            android.util.Log.d("InstanceID/Rpc", "Ignoring response without a request ID");
                        }
                        return;
                    }
                } else {
                    String v1_2 = p12.getStringExtra("error");
                    if (v1_2 != null) {
                        if (android.util.Log.isLoggable("InstanceID/Rpc", 3)) {
                            String v8_1;
                            String v9_0 = String.valueOf(v1_2);
                            if (v9_0.length() == 0) {
                                v8_1 = new String("Received InstanceID error ");
                            } else {
                                v8_1 = "Received InstanceID error ".concat(v9_0);
                            }
                            android.util.Log.d("InstanceID/Rpc", v8_1);
                        }
                        if (v1_2.startsWith("|")) {
                            long v7_6 = v1_2.split("\\|");
                            if (!"ID".equals(v7_6[1])) {
                                String v1_6;
                                String v1_4 = String.valueOf(v1_2);
                                if (v1_4.length() == 0) {
                                    v1_6 = new String("Unexpected structured response ");
                                } else {
                                    v1_6 = "Unexpected structured response ".concat(v1_4);
                                }
                                android.util.Log.w("InstanceID/Rpc", v1_6);
                            }
                            if (v7_6.length <= 2) {
                                v1_2 = "UNKNOWN";
                            } else {
                                String v1_8 = v7_6[2];
                                String v2_0 = v7_6[3];
                                if (v2_0.startsWith(":")) {
                                    v2_0 = v2_0.substring(1);
                                }
                                v3_2 = v1_8;
                                v1_2 = v2_0;
                            }
                            p12.putExtra("error", v1_2);
                        }
                        this.a(v3_2, v1_2);
                        String v2_4 = p12.getLongExtra("Retry-After", 0);
                        if (v2_4 <= 0) {
                            if ((("SERVICE_NOT_AVAILABLE".equals(v1_2)) || ("AUTHENTICATION_FAILED".equals(v1_2))) && ("com.google.android.gsf".equals(ark>com.google.firebase.iid.kark>.a))) {
                                this.o = (this.o + 1);
                                if (this.o >= 3) {
                                    if (this.o == 3) {
                                        this.p = (new java.util.Random().nextInt(1000) + 1000);
                                    }
                                    this.p = (this.p << 1);
                                    this.q = (android.os.SystemClock.elapsedRealtime() + ((long) this.p));
                                    String v0_5 = this.p;
                                    StringBuilder v3_5 = new StringBuilder((String.valueOf(v1_2).length() + 31));
                                    v3_5.append("Backoff due to ");
                                    v3_5.append(v1_2);
                                    v3_5.append(" for ");
                                    v3_5.append(v0_5);
                                    android.util.Log.w("InstanceID/Rpc", v3_5.toString());
                                }
                            }
                            return;
                        } else {
                            this.n = android.os.SystemClock.elapsedRealtime();
                            this.p = (((int) v2_4) * 1000);
                            this.q = (android.os.SystemClock.elapsedRealtime() + ((long) this.p));
                            String v0_12 = this.p;
                            String v2_23 = new StringBuilder(52);
                            v2_23.append("Explicit request from server to backoff: ");
                            v2_23.append(v0_12);
                            android.util.Log.w("InstanceID/Rpc", v2_23.toString());
                            return;
                        }
                    } else {
                        String v12_9 = String.valueOf(p12.getExtras());
                        String v2_25 = new StringBuilder((String.valueOf(v12_9).length() + 49));
                        v2_25.append("Unexpected response, no error or registration id ");
                        v2_25.append(v12_9);
                        android.util.Log.w("InstanceID/Rpc", v2_25.toString());
                        return;
                    }
                }
            } else {
                if (android.util.Log.isLoggable("InstanceID/Rpc", 3)) {
                    String v12_14;
                    String v12_12 = String.valueOf(p12.getAction());
                    if (v12_12.length() == 0) {
                        v12_14 = new String("Unexpected response ");
                    } else {
                        v12_14 = "Unexpected response ".concat(v12_12);
                    }
                    android.util.Log.d("InstanceID/Rpc", v12_14);
                }
                return;
            }
        } else {
            if (android.util.Log.isLoggable("InstanceID/Rpc", 3)) {
                android.util.Log.d("InstanceID/Rpc", "Unexpected response: null");
            }
            return;
        }
    }

Method com.google.android.gms.internal.jf.<init>() calling method java.util.Random.<init>()


    jf(com.google.android.gms.internal.iv p5, String p6, int p7)
    {
        this.b = new java.util.Random();
        this.c = 0;
        this.d = 0;
        this.g = com.google.android.gms.internal.iv.a().newThread(new com.google.android.gms.internal.jg(this));
        com.google.android.gms.internal.iu v0_2 = com.google.android.gms.internal.iv.b();
        Thread v1_1 = this.g;
        StringBuilder v3_1 = new StringBuilder((String.valueOf(p6).length() + 18));
        v3_1.append(p6);
        v3_1.append("Writer-");
        v3_1.append(p7);
        v0_2.a(v1_1, v3_1.toString());
        this.e = p5;
        this.a = new java.util.concurrent.LinkedBlockingQueue();
        return;
    }

Method com.google.android.gms.internal.hy.<init>() calling method java.util.Random.<init>()


    private hy(java.util.concurrent.ScheduledExecutorService p2, com.google.android.gms.internal.il p3, long p4, long p6, double p8, double p10)
    {
        this.g = new java.util.Random();
        this.j = 1;
        this.a = p2;
        this.b = p3;
        this.c = p4;
        this.d = p6;
        this.f = p8;
        this.e = p10;
        return;
    }

Method com.google.android.gms.internal.asa.<init>() calling method java.util.Random.<init>()


    public asa(android.content.Context p2, String p3)
    {
        this(p2, p3, new java.util.Random());
        return;
    }

Method com.google.android.gms.internal.apq.c() calling method java.util.Random.<init>()


    private static java.util.Random c()
    {
        if (com.google.android.gms.internal.apq.e == null) {
            try {
                if (com.google.android.gms.internal.apq.e == null) {
                    com.google.android.gms.internal.apq.e = new java.util.Random();
                }
            } catch (java.util.Random v1_3) {
                throw v1_3;
            }
        }
        return com.google.android.gms.internal.apq.e;
    }

Method com.google.a.b.n.<clinit>() calling method java.util.Random.<init>()


    static n()
    {
        com.google.a.b.n.a = new ThreadLocal();
        com.google.a.b.n.b = new java.util.Random();
        com.google.a.b.n.c = Runtime.getRuntime().availableProcessors();
        try {
            com.google.a.b.n.g = com.google.a.b.n.a();
            com.google.a.b.n.h = com.google.a.b.n.g.objectFieldOffset(com.google.a.b.n.getDeclaredField("base"));
            com.google.a.b.n.i = com.google.a.b.n.g.objectFieldOffset(com.google.a.b.n.getDeclaredField("busy"));
            return;
        } catch (Exception v0_7) {
            throw new Error(v0_7);
        }
    }

Method org.spongycastle.jcajce.provider.keystore.bc.BcKeyStoreSpi$StoreEntry.<init>() calling method java.security.SecureRandom.setSeed()


    BcKeyStoreSpi$StoreEntry(org.spongycastle.jcajce.provider.keystore.bc.BcKeyStoreSpi p7, String p8, java.security.Key p9, char[] p10, java.security.cert.Certificate[] p11)
    {
        this.this$0 = p7;
        this.date = new java.util.Date();
        this.type = 4;
        this.alias = p8;
        this.certChain = p11;
        byte[] v4 = new byte[20];
        p7.random.setSeed(System.currentTimeMillis());
        p7.random.nextBytes(v4);
        int v5 = ((p7.random.nextInt() & 1023) + 1024);
        java.io.ByteArrayOutputStream v8_7 = new java.io.ByteArrayOutputStream();
        java.io.DataOutputStream v11_2 = new java.io.DataOutputStream(v8_7);
        v11_2.writeInt(v4.length);
        v11_2.write(v4);
        v11_2.writeInt(v5);
        java.io.DataOutputStream v10_3 = new java.io.DataOutputStream(new javax.crypto.CipherOutputStream(v11_2, p7.makePBECipher("PBEWithSHAAnd3-KeyTripleDES-CBC", 1, p10, v4, v5)));
        org.spongycastle.jcajce.provider.keystore.bc.BcKeyStoreSpi.access$000(p7, p9, v10_3);
        v10_3.close();
        this.obj = v8_7.toByteArray();
        return;
    }

Method org.spongycastle.crypto.prng.X931SecureRandom.setSeed() calling method java.security.SecureRandom.setSeed()


    public void setSeed(byte[] p2)
    {
        try {
            if (this.randomSource != null) {
                this.randomSource.setSeed(p2);
            }
        } catch (Throwable v2_1) {
            throw v2_1;
        }
        return;
    }

Method org.spongycastle.crypto.prng.X931SecureRandom.setSeed() calling method java.security.SecureRandom.setSeed()


    public void setSeed(long p2)
    {
        try {
            if (this.randomSource != null) {
                this.randomSource.setSeed(p2);
            }
        } catch (Throwable v2_1) {
            throw v2_1;
        }
        return;
    }

Method org.spongycastle.crypto.prng.SP800SecureRandom.setSeed() calling method java.security.SecureRandom.setSeed()


    public void setSeed(byte[] p2)
    {
        try {
            if (this.randomSource != null) {
                this.randomSource.setSeed(p2);
            }
        } catch (Throwable v2_1) {
            throw v2_1;
        }
        return;
    }

Method org.spongycastle.crypto.prng.SP800SecureRandom.setSeed() calling method java.security.SecureRandom.setSeed()


    public void setSeed(long p2)
    {
        try {
            if (this.randomSource != null) {
                this.randomSource.setSeed(p2);
            }
        } catch (Throwable v2_1) {
            throw v2_1;
        }
        return;
    }

Method org.bouncycastle.jcajce.provider.keystore.bc.BcKeyStoreSpi$StoreEntry.<init>() calling method java.security.SecureRandom.setSeed()


    BcKeyStoreSpi$StoreEntry(org.bouncycastle.jcajce.provider.keystore.bc.BcKeyStoreSpi p7, String p8, java.security.Key p9, char[] p10, java.security.cert.Certificate[] p11)
    {
        this.this$0 = p7;
        this.date = new java.util.Date();
        this.type = 4;
        this.alias = p8;
        this.certChain = p11;
        byte[] v4 = new byte[20];
        p7.random.setSeed(System.currentTimeMillis());
        p7.random.nextBytes(v4);
        int v5 = ((p7.random.nextInt() & 1023) + 1024);
        java.io.ByteArrayOutputStream v8_7 = new java.io.ByteArrayOutputStream();
        java.io.DataOutputStream v11_2 = new java.io.DataOutputStream(v8_7);
        v11_2.writeInt(v4.length);
        v11_2.write(v4);
        v11_2.writeInt(v5);
        java.io.DataOutputStream v10_3 = new java.io.DataOutputStream(new javax.crypto.CipherOutputStream(v11_2, p7.makePBECipher("PBEWithSHAAnd3-KeyTripleDES-CBC", 1, p10, v4, v5)));
        org.bouncycastle.jcajce.provider.keystore.bc.BcKeyStoreSpi.access$000(p7, p9, v10_3);
        v10_3.close();
        this.obj = v8_7.toByteArray();
        return;
    }

Method org.bouncycastle.crypto.prng.X931SecureRandom.setSeed() calling method java.security.SecureRandom.setSeed()


    public void setSeed(byte[] p2)
    {
        try {
            if (this.randomSource != null) {
                this.randomSource.setSeed(p2);
            }
        } catch (Throwable v2_1) {
            throw v2_1;
        }
        return;
    }

Method org.bouncycastle.crypto.prng.X931SecureRandom.setSeed() calling method java.security.SecureRandom.setSeed()


    public void setSeed(long p2)
    {
        try {
            if (this.randomSource != null) {
                this.randomSource.setSeed(p2);
            }
        } catch (Throwable v2_1) {
            throw v2_1;
        }
        return;
    }

Method org.bouncycastle.crypto.prng.SP800SecureRandom.setSeed() calling method java.security.SecureRandom.setSeed()


    public void setSeed(byte[] p2)
    {
        try {
            if (this.randomSource != null) {
                this.randomSource.setSeed(p2);
            }
        } catch (Throwable v2_1) {
            throw v2_1;
        }
        return;
    }

Method org.bouncycastle.crypto.prng.SP800SecureRandom.setSeed() calling method java.security.SecureRandom.setSeed()


    public void setSeed(long p2)
    {
        try {
            if (this.randomSource != null) {
                this.randomSource.setSeed(p2);
            }
        } catch (Throwable v2_1) {
            throw v2_1;
        }
        return;
    }

Method org.bouncycastle.crypto.examples.DESExample.<init>() calling method java.security.SecureRandom.setSeed()


    public DESExample(String p6, String p7, String p8, boolean p9)
    {
        this.encrypt = 1;
        this.cipher = 0;
        this.in = 0;
        this.out = 0;
        this.key = 0;
        this.encrypt = p9;
        try {
            this.in = new java.io.BufferedInputStream(new java.io.FileInputStream(p6));
            try {
                this.out = new java.io.BufferedOutputStream(new java.io.FileOutputStream(p7));
            } catch (java.io.IOException) {
                StringBuilder v2_5 = new StringBuilder();
                v2_5.append("Output file not created [");
                v2_5.append(p7);
                v2_5.append("]");
                System.err.println(v2_5.toString());
                System.exit(1);
            }
            if (p9 == null) {
                try {
                    java.io.BufferedOutputStream v7_4 = new java.io.BufferedInputStream(new java.io.FileInputStream(p8));
                    byte[] v9_3 = v7_4.available();
                    int v1_1 = new byte[v9_3];
                    v7_4.read(v1_1, 0, v9_3);
                    this.key = org.bouncycastle.util.encoders.Hex.decode(v1_1);
                } catch (java.io.IOException) {
                    java.io.PrintStream v6_8 = System.err;
                    java.io.BufferedOutputStream v7_6 = new StringBuilder();
                    byte[] v9_4 = "Decryption key file not found, or not valid [";
                    v7_6.append(v9_4);
                    v7_6.append(p8);
                    v7_6.append("]");
                    v6_8.println(v7_6.toString());
                    System.exit(1);
                }
            } else {
                try {
                    java.io.BufferedOutputStream v7_8 = new java.security.SecureRandom();
                } catch (Exception) {
                    v7_8 = 0;
                    System.err.println("Hmmm, no SHA1PRNG, you need the Sun implementation");
                    System.exit(1);
                    byte[] v9_9 = new org.bouncycastle.crypto.KeyGenerationParameters(v7_8, 192);
                    java.io.BufferedOutputStream v7_12 = new org.bouncycastle.crypto.generators.DESedeKeyGenerator();
                    v7_12.init(v9_9);
                    this.key = v7_12.generateKey();
                    java.io.BufferedOutputStream v7_15 = new java.io.BufferedOutputStream(new java.io.FileOutputStream(p8));
                    byte[] v9_13 = org.bouncycastle.util.encoders.Hex.encode(this.key);
                    v7_15.write(v9_13, 0, v9_13.length);
                    v7_15.flush();
                    v7_15.close();
                } catch (java.io.IOException) {
                    v6_8 = System.err;
                    v7_6 = new StringBuilder();
                    v9_4 = "Could not decryption create key file [";
                }
                v7_8.setSeed("www.bouncycastle.org".getBytes());
            }
            return;
        } catch (java.io.FileNotFoundException) {
            String v3_3 = new StringBuilder();
            v3_3.append("Input file not found [");
            v3_3.append(p6);
            v3_3.append("]");
            System.err.println(v3_3.toString());
            System.exit(1);
        }
    }

Method com.upi.hcesdk.mpp.MppService.<init>() calling method java.security.SecureRandom.setSeed()


    public MppService()
    {
        this.secureRandom = new java.security.SecureRandom();
        this.secureRandom.setSeed(System.currentTimeMillis());
        try {
            this.walletID = com.upi.hcesdk.api.service.ConfigService.getInstance().getWalletID();
            this.requesterID = com.upi.hcesdk.api.service.ConfigService.getInstance().getRequesterID();
            this.requesterKey = com.upi.hcesdk.api.service.ConfigService.getInstance().getRequesterKey();
            this.setMppPubKeyId(new Integer(com.upi.hcesdk.api.service.ConfigService.getInstance().getPublicKeyID()));
            try {
                this.mppPublicKey = java.security.KeyFactory.getInstance("RSA").generatePublic(new java.security.spec.RSAPublicKeySpec(new java.math.BigInteger(com.upi.hcesdk.api.service.ConfigService.getInstance().getPublicKeyModulus(), 16), new java.math.BigInteger(com.upi.hcesdk.api.service.ConfigService.getInstance().getPublicKeyExponent(), 16)));
            } catch (Exception v0_15) {
                android.util.Log.e(com.upi.hcesdk.mpp.MppService.LOGTAG, v0_15.getMessage(), v0_15);
            }
            return;
        } catch (Exception) {
            com.upi.hcesdk.util.LogUtil.error(com.upi.hcesdk.mpp.MppService.LOGTAG, "Error in setting the configuratio paramaters");
            return;
        }
    }

Method org.spongycastle.jcajce.provider.symmetric.util.BaseStreamCipher.engineInit() calling method java.security.SecureRandom.<init>()


    protected void engineInit(int p10, java.security.Key p11, java.security.spec.AlgorithmParameterSpec p12, java.security.SecureRandom p13)
    {
        this.pbeSpec = 0;
        this.pbeAlgorithm = 0;
        this.engineParams = 0;
        if (!(p11 instanceof javax.crypto.SecretKey)) {
            org.spongycastle.crypto.CipherParameters v12_13 = new StringBuilder();
            v12_13.append("Key for algorithm ");
            v12_13.append(p11.getAlgorithm());
            v12_13.append(" not suitable for symmetric enryption.");
            throw new java.security.InvalidKeyException(v12_13.toString());
        } else {
            org.spongycastle.crypto.CipherParameters v12_5;
            if (!(p11 instanceof org.spongycastle.jcajce.d)) {
                if (!(p11 instanceof org.spongycastle.jcajce.provider.symmetric.util.BCPBEKey)) {
                    if (p12 != null) {
                        if (!(p12 instanceof javax.crypto.spec.IvParameterSpec)) {
                            throw new java.security.InvalidAlgorithmParameterException("unknown parameter type.");
                        } else {
                            org.spongycastle.crypto.CipherParameters v0_9 = new org.spongycastle.crypto.params.ParametersWithIV(new org.spongycastle.crypto.params.KeyParameter(p11.getEncoded()), ((javax.crypto.spec.IvParameterSpec) p12).getIV());
                            this.ivParam = ((org.spongycastle.crypto.params.ParametersWithIV) v0_9);
                            v12_5 = v0_9;
                        }
                    } else {
                        if (this.digest > 0) {
                            throw new java.security.InvalidKeyException("Algorithm requires a PBE key");
                        } else {
                            v12_5 = new org.spongycastle.crypto.params.KeyParameter(p11.getEncoded());
                        }
                    }
                } else {
                    org.spongycastle.crypto.CipherParameters v0_12;
                    if (((org.spongycastle.jcajce.provider.symmetric.util.BCPBEKey) p11).getOID() == null) {
                        v0_12 = ((org.spongycastle.jcajce.provider.symmetric.util.BCPBEKey) p11).getAlgorithm();
                    } else {
                        v0_12 = ((org.spongycastle.jcajce.provider.symmetric.util.BCPBEKey) p11).getOID().b();
                    }
                    this.pbeAlgorithm = v0_12;
                    if (((org.spongycastle.jcajce.provider.symmetric.util.BCPBEKey) p11).getParam() == null) {
                        if (!(p12 instanceof javax.crypto.spec.PBEParameterSpec)) {
                            throw new java.security.InvalidAlgorithmParameterException("PBE requires PBE parameters to be set.");
                        } else {
                            org.spongycastle.crypto.CipherParameters v0_18 = org.spongycastle.jcajce.provider.symmetric.util.PBE$Util.makePBEParameters(((org.spongycastle.jcajce.provider.symmetric.util.BCPBEKey) p11), p12, this.cipher.getAlgorithmName());
                            this.pbeSpec = ((javax.crypto.spec.PBEParameterSpec) p12);
                            v12_5 = v0_18;
                        }
                    } else {
                        v12_5 = ((org.spongycastle.jcajce.provider.symmetric.util.BCPBEKey) p11).getParam();
                        this.pbeSpec = new javax.crypto.spec.PBEParameterSpec(((org.spongycastle.jcajce.provider.symmetric.util.BCPBEKey) p11).getSalt(), ((org.spongycastle.jcajce.provider.symmetric.util.BCPBEKey) p11).getIterationCount());
                    }
                    if (((org.spongycastle.jcajce.provider.symmetric.util.BCPBEKey) p11).getIvSize() != 0) {
                        this.ivParam = ((org.spongycastle.crypto.params.ParametersWithIV) v12_5);
                    }
                }
            } else {
                this.pbeSpec = ((javax.crypto.spec.PBEParameterSpec) p12);
                if (((((org.spongycastle.jcajce.d) p11) instanceof org.spongycastle.jcajce.e)) && (this.pbeSpec == null)) {
                    this.pbeSpec = new javax.crypto.spec.PBEParameterSpec(((org.spongycastle.jcajce.e) ((org.spongycastle.jcajce.d) p11)).getSalt(), ((org.spongycastle.jcajce.e) ((org.spongycastle.jcajce.d) p11)).getIterationCount());
                }
                v12_5 = org.spongycastle.jcajce.provider.symmetric.util.PBE$Util.makePBEParameters(((org.spongycastle.jcajce.d) p11).getEncoded(), 2, this.digest, this.keySizeInBits, (this.ivLength * 8), this.pbeSpec, this.cipher.getAlgorithmName());
            }
            if ((this.ivLength != 0) && (!(v12_5 instanceof org.spongycastle.crypto.params.ParametersWithIV))) {
                if (p13 == null) {
                    p13 = new java.security.SecureRandom();
                }
                if ((p10 != 1) && (p10 != 3)) {
                    throw new java.security.InvalidAlgorithmParameterException("no IV set when one expected");
                } else {
                    org.spongycastle.crypto.params.ParametersWithIV v11_11 = new byte[this.ivLength];
                    p13.nextBytes(v11_11);
                    org.spongycastle.crypto.params.ParametersWithIV v13_3 = new org.spongycastle.crypto.params.ParametersWithIV(v12_5, v11_11);
                    this.ivParam = ((org.spongycastle.crypto.params.ParametersWithIV) v13_3);
                    v12_5 = v13_3;
                }
            }
            try {
                switch (p10) {
                    case 1:
                    case 3:
                        this.cipher.init(1, v12_5);
                        return;
                    case 2:
                    case 4:
                        this.cipher.init(0, v12_5);
                        return;
                    default:
                        org.spongycastle.crypto.CipherParameters v12_7 = new StringBuilder();
                        v12_7.append("unknown opmode ");
                        v12_7.append(p10);
                        v12_7.append(" passed");
                        throw new java.security.InvalidParameterException(v12_7.toString());
                }
            } catch (java.security.InvalidAlgorithmParameterException v10_7) {
            }
            throw new java.security.InvalidKeyException(v10_7.getMessage());
        }
    }

Method org.spongycastle.jcajce.provider.symmetric.util.BaseBlockCipher.engineInit() calling method java.security.SecureRandom.<init>()


    protected void engineInit(int p18, java.security.Key p19, java.security.spec.AlgorithmParameterSpec p20, java.security.SecureRandom p21)
    {
        org.spongycastle.crypto.CipherParameters v5_2 = 0;
        this.pbeSpec = 0;
        this.pbeAlgorithm = 0;
        this.engineParams = 0;
        this.aeadParams = 0;
        if (!(p19 instanceof javax.crypto.SecretKey)) {
            byte[] v3_1 = new StringBuilder();
            v3_1.append("Key for algorithm ");
            v3_1.append(p19.getAlgorithm());
            v3_1.append(" not suitable for symmetric enryption.");
            throw new java.security.InvalidKeyException(v3_1.toString());
        } else {
            if ((p20 == null) && (this.baseEngine.getAlgorithmName().startsWith("RC5-64"))) {
                throw new java.security.InvalidAlgorithmParameterException("RC5 requires an RC5ParametersSpec to be passed in.");
            } else {
                if ((this.scheme != 2) && (!(p19 instanceof org.spongycastle.jcajce.d))) {
                    if (!(p19 instanceof org.spongycastle.jcajce.a)) {
                        if (!(p19 instanceof org.spongycastle.jcajce.provider.symmetric.util.BCPBEKey)) {
                            if (!(p19 instanceof javax.crypto.interfaces.PBEKey)) {
                                if (!(p19 instanceof org.spongycastle.jcajce.spec.RepeatedSecretKeySpec)) {
                                    if ((this.scheme == 0) || ((this.scheme == 4) || ((this.scheme == 1) || (this.scheme == 5)))) {
                                        throw new java.security.InvalidKeyException("Algorithm requires a PBE key");
                                    } else {
                                        v5_2 = new org.spongycastle.crypto.params.KeyParameter(p19.getEncoded());
                                    }
                                }
                            } else {
                                this.pbeSpec = ((javax.crypto.spec.PBEParameterSpec) p20);
                                if (((((javax.crypto.interfaces.PBEKey) p19) instanceof org.spongycastle.jcajce.e)) && (this.pbeSpec == null)) {
                                    this.pbeSpec = new javax.crypto.spec.PBEParameterSpec(((javax.crypto.interfaces.PBEKey) p19).getSalt(), ((javax.crypto.interfaces.PBEKey) p19).getIterationCount());
                                }
                                v5_2 = org.spongycastle.jcajce.provider.symmetric.util.PBE$Util.makePBEParameters(((javax.crypto.interfaces.PBEKey) p19).getEncoded(), this.scheme, this.digest, this.keySizeInBits, (this.ivLength * 8), this.pbeSpec, this.cipher.getAlgorithmName());
                                if ((v5_2 instanceof org.spongycastle.crypto.params.ParametersWithIV)) {
                                    this.ivParam = ((org.spongycastle.crypto.params.ParametersWithIV) v5_2);
                                }
                            }
                        } else {
                            reflect.Method v6_2;
                            if (((org.spongycastle.jcajce.provider.symmetric.util.BCPBEKey) p19).getOID() == null) {
                                v6_2 = ((org.spongycastle.jcajce.provider.symmetric.util.BCPBEKey) p19).getAlgorithm();
                            } else {
                                v6_2 = ((org.spongycastle.jcajce.provider.symmetric.util.BCPBEKey) p19).getOID().b();
                            }
                            this.pbeAlgorithm = v6_2;
                            if (((org.spongycastle.jcajce.provider.symmetric.util.BCPBEKey) p19).getParam() == null) {
                                if (!(p20 instanceof javax.crypto.spec.PBEParameterSpec)) {
                                    throw new java.security.InvalidAlgorithmParameterException("PBE requires PBE parameters to be set.");
                                } else {
                                    this.pbeSpec = ((javax.crypto.spec.PBEParameterSpec) p20);
                                    v5_2 = org.spongycastle.jcajce.provider.symmetric.util.PBE$Util.makePBEParameters(((org.spongycastle.jcajce.provider.symmetric.util.BCPBEKey) p19), p20, this.cipher.getUnderlyingCipher().getAlgorithmName());
                                }
                            } else {
                                v5_2 = this.adjustParameters(p20, ((org.spongycastle.jcajce.provider.symmetric.util.BCPBEKey) p19).getParam());
                            }
                            if ((v5_2 instanceof org.spongycastle.crypto.params.ParametersWithIV)) {
                            }
                        }
                    } else {
                        if ((p20 instanceof javax.crypto.spec.PBEParameterSpec)) {
                            this.pbeSpec = ((javax.crypto.spec.PBEParameterSpec) p20);
                        }
                        if (((((org.spongycastle.jcajce.a) p19) instanceof org.spongycastle.jcajce.b)) && (this.pbeSpec == null)) {
                            this.pbeSpec = new javax.crypto.spec.PBEParameterSpec(((org.spongycastle.jcajce.b) ((org.spongycastle.jcajce.a) p19)).getSalt(), ((org.spongycastle.jcajce.b) ((org.spongycastle.jcajce.a) p19)).getIterationCount());
                        }
                        v5_2 = org.spongycastle.jcajce.provider.symmetric.util.PBE$Util.makePBEParameters(((org.spongycastle.jcajce.a) p19).getEncoded(), 0, this.digest, this.keySizeInBits, (this.ivLength * 8), this.pbeSpec, this.cipher.getAlgorithmName());
                        if ((v5_2 instanceof org.spongycastle.crypto.params.ParametersWithIV)) {
                        }
                    }
                } else {
                    try {
                        if ((p20 instanceof javax.crypto.spec.PBEParameterSpec)) {
                            this.pbeSpec = ((javax.crypto.spec.PBEParameterSpec) p20);
                        }
                    } catch (Exception) {
                        throw new java.security.InvalidKeyException("PKCS12 requires a SecretKey/PBEKey");
                    }
                    reflect.Method v6_23 = (((javax.crypto.SecretKey) p19) instanceof javax.crypto.interfaces.PBEKey);
                    if ((v6_23 != null) && (this.pbeSpec == null)) {
                        this.pbeSpec = new javax.crypto.spec.PBEParameterSpec(((javax.crypto.interfaces.PBEKey) ((javax.crypto.SecretKey) p19)).getSalt(), ((javax.crypto.interfaces.PBEKey) ((javax.crypto.SecretKey) p19)).getIterationCount());
                    }
                    if ((this.pbeSpec == null) && (v6_23 == null)) {
                        throw new java.security.InvalidKeyException("Algorithm requires a PBE key");
                    } else {
                        if ((!(p19 instanceof org.spongycastle.jcajce.provider.symmetric.util.BCPBEKey)) || (((org.spongycastle.jcajce.provider.symmetric.util.BCPBEKey) p19).getParam() == null)) {
                            v5_2 = org.spongycastle.jcajce.provider.symmetric.util.PBE$Util.makePBEParameters(((javax.crypto.SecretKey) p19).getEncoded(), 2, this.digest, this.keySizeInBits, (this.ivLength * 8), this.pbeSpec, this.cipher.getAlgorithmName());
                        } else {
                            v5_2 = ((org.spongycastle.jcajce.provider.symmetric.util.BCPBEKey) p19).getParam();
                        }
                        if ((v5_2 instanceof org.spongycastle.crypto.params.ParametersWithIV)) {
                        }
                    }
                }
                if (!(p20 instanceof javax.crypto.spec.IvParameterSpec)) {
                    String v2_47;
                    if (!(p20 instanceof org.spongycastle.jcajce.spec.GOST28147ParameterSpec)) {
                        if (!(p20 instanceof javax.crypto.spec.RC2ParameterSpec)) {
                            if (!(p20 instanceof javax.crypto.spec.RC5ParameterSpec)) {
                                if ((org.spongycastle.jcajce.provider.symmetric.util.BaseBlockCipher.gcmSpecClass == null) || (!org.spongycastle.jcajce.provider.symmetric.util.BaseBlockCipher.gcmSpecClass.isInstance(p20))) {
                                    if ((p20 != null) && (!(p20 instanceof javax.crypto.spec.PBEParameterSpec))) {
                                        throw new java.security.InvalidAlgorithmParameterException("unknown parameter type.");
                                    } else {
                                        if ((this.ivLength == 0) || (((v5_2 instanceof org.spongycastle.crypto.params.ParametersWithIV)) || ((v5_2 instanceof org.spongycastle.crypto.params.AEADParameters)))) {
                                            String v2_86 = v5_2;
                                        } else {
                                            String v2_79;
                                            if (p21 != null) {
                                                v2_79 = p21;
                                            } else {
                                                v2_79 = new java.security.SecureRandom();
                                            }
                                            if ((p18 != 1) && (p18 != 3)) {
                                                if (this.cipher.getUnderlyingCipher().getAlgorithmName().indexOf("PGPCFB") < 0) {
                                                    throw new java.security.InvalidAlgorithmParameterException("no IV set when one expected");
                                                }
                                            } else {
                                                byte[] v3_37 = new byte[this.ivLength];
                                                v2_79.nextBytes(v3_37);
                                                v2_86 = new org.spongycastle.crypto.params.ParametersWithIV(v5_2, v3_37);
                                                this.ivParam = ((org.spongycastle.crypto.params.ParametersWithIV) v2_86);
                                            }
                                        }
                                        if ((p21 != null) && (this.padded)) {
                                            v2_86 = new org.spongycastle.crypto.params.ParametersWithRandom(v2_86, p21);
                                        }
                                        try {
                                            switch (p18) {
                                                case 1:
                                                case 3:
                                                    this.cipher.init(1, v2_86);
                                                    return;
                                                case 2:
                                                case 4:
                                                    this.cipher.init(0, v2_86);
                                                    return;
                                                default:
                                                    byte[] v3_44 = new StringBuilder();
                                                    v3_44.append("unknown opmode ");
                                                    v3_44.append(p18);
                                                    v3_44.append(" passed");
                                                    throw new java.security.InvalidParameterException(v3_44.toString());
                                            }
                                        } catch (java.security.InvalidAlgorithmParameterException v0_33) {
                                        }
                                        throw new org.spongycastle.jcajce.provider.symmetric.util.BaseBlockCipher$1(this, v0_33.getMessage(), v0_33);
                                    }
                                } else {
                                    if ((!this.isAEADModeName(this.modeName)) && (!(this.cipher instanceof org.spongycastle.jcajce.provider.symmetric.util.BaseBlockCipher$AEADGenericBlockCipher))) {
                                        throw new java.security.InvalidAlgorithmParameterException("GCMParameterSpec can only be used with AEAD modes.");
                                    } else {
                                        try {
                                            org.spongycastle.crypto.params.AEADParameters v9_5 = new Class[0];
                                            String v2_18 = org.spongycastle.jcajce.provider.symmetric.util.BaseBlockCipher.gcmSpecClass.getDeclaredMethod("getTLen", v9_5);
                                            Object[] v10_3 = new Class[0];
                                            reflect.Method v6_37 = org.spongycastle.jcajce.provider.symmetric.util.BaseBlockCipher.gcmSpecClass.getDeclaredMethod("getIV", v10_3);
                                        } catch (Exception) {
                                            throw new java.security.InvalidAlgorithmParameterException("Cannot process GCMParameterSpec.");
                                        }
                                        if ((v5_2 instanceof org.spongycastle.crypto.params.ParametersWithIV)) {
                                            v5_2 = ((org.spongycastle.crypto.params.ParametersWithIV) v5_2).getParameters();
                                        }
                                        Object[] v10_4 = new Object[0];
                                        Object[] v10_5 = new Object[0];
                                        org.spongycastle.crypto.params.AEADParameters v9_9 = new org.spongycastle.crypto.params.AEADParameters(((org.spongycastle.crypto.params.KeyParameter) v5_2), ((Integer) v2_18.invoke(p20, v10_4)).intValue(), ((byte[]) ((byte[]) v6_37.invoke(p20, v10_5))));
                                        this.aeadParams = v9_9;
                                        v5_2 = v9_9;
                                    }
                                }
                            } else {
                                v5_2 = new org.spongycastle.crypto.params.RC5Parameters(p19.getEncoded(), ((javax.crypto.spec.RC5ParameterSpec) p20).getRounds());
                                if (!this.baseEngine.getAlgorithmName().startsWith("RC5")) {
                                    throw new java.security.InvalidAlgorithmParameterException("RC5 parameters passed to a cipher that is not RC5.");
                                } else {
                                    if (!this.baseEngine.getAlgorithmName().equals("RC5-32")) {
                                        if ((this.baseEngine.getAlgorithmName().equals("RC5-64")) && (((javax.crypto.spec.RC5ParameterSpec) p20).getWordSize() != 64)) {
                                            String v2_36 = new StringBuilder();
                                            v2_36.append("RC5 already set up for a word size of 64 not ");
                                            v2_36.append(((javax.crypto.spec.RC5ParameterSpec) p20).getWordSize());
                                            v2_36.append(".");
                                            throw new java.security.InvalidAlgorithmParameterException(v2_36.toString());
                                        }
                                    } else {
                                        if (((javax.crypto.spec.RC5ParameterSpec) p20).getWordSize() != 32) {
                                            String v2_41 = new StringBuilder();
                                            v2_41.append("RC5 already set up for a word size of 32 not ");
                                            v2_41.append(((javax.crypto.spec.RC5ParameterSpec) p20).getWordSize());
                                            v2_41.append(".");
                                            throw new java.security.InvalidAlgorithmParameterException(v2_41.toString());
                                        }
                                    }
                                    if ((((javax.crypto.spec.RC5ParameterSpec) p20).getIV() == null) || (this.ivLength == 0)) {
                                    } else {
                                        if (!(v5_2 instanceof org.spongycastle.crypto.params.ParametersWithIV)) {
                                            v2_47 = new org.spongycastle.crypto.params.ParametersWithIV(v5_2, ((javax.crypto.spec.RC5ParameterSpec) p20).getIV());
                                        } else {
                                            v2_47 = new org.spongycastle.crypto.params.ParametersWithIV(((org.spongycastle.crypto.params.ParametersWithIV) v5_2).getParameters(), ((javax.crypto.spec.RC5ParameterSpec) p20).getIV());
                                        }
                                    }
                                }
                            }
                        } else {
                            v5_2 = new org.spongycastle.crypto.params.RC2Parameters(p19.getEncoded(), ((javax.crypto.spec.RC2ParameterSpec) p20).getEffectiveKeyBits());
                            if ((((javax.crypto.spec.RC2ParameterSpec) p20).getIV() == null) || (this.ivLength == 0)) {
                            } else {
                                if (!(v5_2 instanceof org.spongycastle.crypto.params.ParametersWithIV)) {
                                    v2_47 = new org.spongycastle.crypto.params.ParametersWithIV(v5_2, ((javax.crypto.spec.RC2ParameterSpec) p20).getIV());
                                } else {
                                    v2_47 = new org.spongycastle.crypto.params.ParametersWithIV(((org.spongycastle.crypto.params.ParametersWithIV) v5_2).getParameters(), ((javax.crypto.spec.RC2ParameterSpec) p20).getIV());
                                }
                            }
                        }
                    } else {
                        v5_2 = new org.spongycastle.crypto.params.ParametersWithSBox(new org.spongycastle.crypto.params.KeyParameter(p19.getEncoded()), ((org.spongycastle.jcajce.spec.GOST28147ParameterSpec) p20).getSbox());
                        if ((((org.spongycastle.jcajce.spec.GOST28147ParameterSpec) p20).getIV() == null) || (this.ivLength == 0)) {
                        } else {
                            if (!(v5_2 instanceof org.spongycastle.crypto.params.ParametersWithIV)) {
                                v2_47 = new org.spongycastle.crypto.params.ParametersWithIV(v5_2, ((org.spongycastle.jcajce.spec.GOST28147ParameterSpec) p20).getIV());
                            } else {
                                v2_47 = new org.spongycastle.crypto.params.ParametersWithIV(((org.spongycastle.crypto.params.ParametersWithIV) v5_2).getParameters(), ((org.spongycastle.jcajce.spec.GOST28147ParameterSpec) p20).getIV());
                            }
                        }
                    }
                    this.ivParam = ((org.spongycastle.crypto.params.ParametersWithIV) v2_47);
                    v5_2 = v2_47;
                } else {
                    if (this.ivLength == 0) {
                        if ((this.modeName != null) && (this.modeName.equals("ECB"))) {
                            throw new java.security.InvalidAlgorithmParameterException("ECB mode does not use an IV");
                        }
                    } else {
                        if ((((javax.crypto.spec.IvParameterSpec) p20).getIV().length != this.ivLength) && ((!(this.cipher instanceof org.spongycastle.jcajce.provider.symmetric.util.BaseBlockCipher$AEADGenericBlockCipher)) && (this.fixedIv))) {
                            String v2_70 = new StringBuilder();
                            v2_70.append("IV must be ");
                            v2_70.append(this.ivLength);
                            v2_70.append(" bytes long.");
                            throw new java.security.InvalidAlgorithmParameterException(v2_70.toString());
                        } else {
                            byte[] v3_32;
                            if (!(v5_2 instanceof org.spongycastle.crypto.params.ParametersWithIV)) {
                                v3_32 = new org.spongycastle.crypto.params.ParametersWithIV(v5_2, ((javax.crypto.spec.IvParameterSpec) p20).getIV());
                            } else {
                                v3_32 = new org.spongycastle.crypto.params.ParametersWithIV(((org.spongycastle.crypto.params.ParametersWithIV) v5_2).getParameters(), ((javax.crypto.spec.IvParameterSpec) p20).getIV());
                            }
                            v5_2 = v3_32;
                            this.ivParam = ((org.spongycastle.crypto.params.ParametersWithIV) v5_2);
                        }
                    }
                }
            }
        }
    }

Method org.spongycastle.crypto.signers.ISO9796d2PSSSigner.init() calling method java.security.SecureRandom.<init>()


    public void init(boolean p4, org.spongycastle.crypto.CipherParameters p5)
    {
        java.security.SecureRandom v5_8;
        org.spongycastle.crypto.params.RSAKeyParameters v1_2;
        int v0_0 = this.saltLength;
        if (!(p5 instanceof org.spongycastle.crypto.params.ParametersWithRandom)) {
            if (!(p5 instanceof org.spongycastle.crypto.params.ParametersWithSalt)) {
                v1_2 = ((org.spongycastle.crypto.params.RSAKeyParameters) p5);
                if (p4 != null) {
                    v5_8 = new java.security.SecureRandom();
                    this.random = v5_8;
                }
            } else {
                v1_2 = ((org.spongycastle.crypto.params.RSAKeyParameters) ((org.spongycastle.crypto.params.ParametersWithSalt) p5).getParameters());
                this.standardSalt = ((org.spongycastle.crypto.params.ParametersWithSalt) p5).getSalt();
                v0_0 = this.standardSalt.length;
                if (this.standardSalt.length != this.saltLength) {
                    throw new IllegalArgumentException("Fixed salt is of wrong length");
                }
            }
        } else {
            v1_2 = ((org.spongycastle.crypto.params.RSAKeyParameters) ((org.spongycastle.crypto.params.ParametersWithRandom) p5).getParameters());
            if (p4 != null) {
                v5_8 = ((org.spongycastle.crypto.params.ParametersWithRandom) p5).getRandom();
            }
        }
        byte[] v4_15;
        this.cipher.init(p4, v1_2);
        this.keyBits = v1_2.getModulus().bitLength();
        byte[] v4_8 = new byte[((this.keyBits + 7) / 8)];
        this.block = v4_8;
        if (this.trailer != 188) {
            v4_15 = ((((this.block.length - this.digest.getDigestSize()) - v0_0) - 1) - 2);
        } else {
            v4_15 = ((((this.block.length - this.digest.getDigestSize()) - v0_0) - 1) - 1);
        }
        byte[] v4_21 = new byte[v4_15];
        this.mBuf = v4_21;
        this.reset();
        return;
    }

Method org.spongycastle.crypto.ec.ECNewRandomnessTransform.init() calling method java.security.SecureRandom.<init>()


    public void init(org.spongycastle.crypto.CipherParameters p2)
    {
        IllegalArgumentException v2_2;
        if (!(p2 instanceof org.spongycastle.crypto.params.ParametersWithRandom)) {
            if (!(p2 instanceof org.spongycastle.crypto.params.ECPublicKeyParameters)) {
                throw new IllegalArgumentException("ECPublicKeyParameters are required for new randomness transform.");
            } else {
                this.key = ((org.spongycastle.crypto.params.ECPublicKeyParameters) p2);
                v2_2 = new java.security.SecureRandom();
            }
        } else {
            if (!(((org.spongycastle.crypto.params.ParametersWithRandom) p2).getParameters() instanceof org.spongycastle.crypto.params.ECPublicKeyParameters)) {
                throw new IllegalArgumentException("ECPublicKeyParameters are required for new randomness transform.");
            } else {
                this.key = ((org.spongycastle.crypto.params.ECPublicKeyParameters) ((org.spongycastle.crypto.params.ParametersWithRandom) p2).getParameters());
                v2_2 = ((org.spongycastle.crypto.params.ParametersWithRandom) p2).getRandom();
            }
        }
        this.random = v2_2;
        return;
    }

Method org.bouncycastle.jcajce.provider.symmetric.util.BaseStreamCipher.engineInit() calling method java.security.SecureRandom.<init>()


    protected void engineInit(int p10, java.security.Key p11, java.security.spec.AlgorithmParameterSpec p12, java.security.SecureRandom p13)
    {
        this.pbeSpec = 0;
        this.pbeAlgorithm = 0;
        this.engineParams = 0;
        if (!(p11 instanceof javax.crypto.SecretKey)) {
            org.bouncycastle.crypto.CipherParameters v12_13 = new StringBuilder();
            v12_13.append("Key for algorithm ");
            v12_13.append(p11.getAlgorithm());
            v12_13.append(" not suitable for symmetric enryption.");
            throw new java.security.InvalidKeyException(v12_13.toString());
        } else {
            org.bouncycastle.crypto.CipherParameters v12_5;
            if (!(p11 instanceof org.bouncycastle.jcajce.PKCS12Key)) {
                if (!(p11 instanceof org.bouncycastle.jcajce.provider.symmetric.util.BCPBEKey)) {
                    if (p12 != null) {
                        if (!(p12 instanceof javax.crypto.spec.IvParameterSpec)) {
                            throw new java.security.InvalidAlgorithmParameterException("unknown parameter type.");
                        } else {
                            org.bouncycastle.crypto.CipherParameters v0_9 = new org.bouncycastle.crypto.params.ParametersWithIV(new org.bouncycastle.crypto.params.KeyParameter(p11.getEncoded()), ((javax.crypto.spec.IvParameterSpec) p12).getIV());
                            this.ivParam = ((org.bouncycastle.crypto.params.ParametersWithIV) v0_9);
                            v12_5 = v0_9;
                        }
                    } else {
                        if (this.digest > 0) {
                            throw new java.security.InvalidKeyException("Algorithm requires a PBE key");
                        } else {
                            v12_5 = new org.bouncycastle.crypto.params.KeyParameter(p11.getEncoded());
                        }
                    }
                } else {
                    org.bouncycastle.crypto.CipherParameters v0_12;
                    if (((org.bouncycastle.jcajce.provider.symmetric.util.BCPBEKey) p11).getOID() == null) {
                        v0_12 = ((org.bouncycastle.jcajce.provider.symmetric.util.BCPBEKey) p11).getAlgorithm();
                    } else {
                        v0_12 = ((org.bouncycastle.jcajce.provider.symmetric.util.BCPBEKey) p11).getOID().getId();
                    }
                    this.pbeAlgorithm = v0_12;
                    if (((org.bouncycastle.jcajce.provider.symmetric.util.BCPBEKey) p11).getParam() == null) {
                        if (!(p12 instanceof javax.crypto.spec.PBEParameterSpec)) {
                            throw new java.security.InvalidAlgorithmParameterException("PBE requires PBE parameters to be set.");
                        } else {
                            org.bouncycastle.crypto.CipherParameters v0_18 = org.bouncycastle.jcajce.provider.symmetric.util.PBE$Util.makePBEParameters(((org.bouncycastle.jcajce.provider.symmetric.util.BCPBEKey) p11), p12, this.cipher.getAlgorithmName());
                            this.pbeSpec = ((javax.crypto.spec.PBEParameterSpec) p12);
                            v12_5 = v0_18;
                        }
                    } else {
                        v12_5 = ((org.bouncycastle.jcajce.provider.symmetric.util.BCPBEKey) p11).getParam();
                        this.pbeSpec = new javax.crypto.spec.PBEParameterSpec(((org.bouncycastle.jcajce.provider.symmetric.util.BCPBEKey) p11).getSalt(), ((org.bouncycastle.jcajce.provider.symmetric.util.BCPBEKey) p11).getIterationCount());
                    }
                    if (((org.bouncycastle.jcajce.provider.symmetric.util.BCPBEKey) p11).getIvSize() != 0) {
                        this.ivParam = ((org.bouncycastle.crypto.params.ParametersWithIV) v12_5);
                    }
                }
            } else {
                this.pbeSpec = ((javax.crypto.spec.PBEParameterSpec) p12);
                if (((((org.bouncycastle.jcajce.PKCS12Key) p11) instanceof org.bouncycastle.jcajce.PKCS12KeyWithParameters)) && (this.pbeSpec == null)) {
                    this.pbeSpec = new javax.crypto.spec.PBEParameterSpec(((org.bouncycastle.jcajce.PKCS12KeyWithParameters) ((org.bouncycastle.jcajce.PKCS12Key) p11)).getSalt(), ((org.bouncycastle.jcajce.PKCS12KeyWithParameters) ((org.bouncycastle.jcajce.PKCS12Key) p11)).getIterationCount());
                }
                v12_5 = org.bouncycastle.jcajce.provider.symmetric.util.PBE$Util.makePBEParameters(((org.bouncycastle.jcajce.PKCS12Key) p11).getEncoded(), 2, this.digest, this.keySizeInBits, (this.ivLength * 8), this.pbeSpec, this.cipher.getAlgorithmName());
            }
            if ((this.ivLength != 0) && (!(v12_5 instanceof org.bouncycastle.crypto.params.ParametersWithIV))) {
                if (p13 == null) {
                    p13 = new java.security.SecureRandom();
                }
                if ((p10 != 1) && (p10 != 3)) {
                    throw new java.security.InvalidAlgorithmParameterException("no IV set when one expected");
                } else {
                    org.bouncycastle.crypto.params.ParametersWithIV v11_11 = new byte[this.ivLength];
                    p13.nextBytes(v11_11);
                    org.bouncycastle.crypto.params.ParametersWithIV v13_3 = new org.bouncycastle.crypto.params.ParametersWithIV(v12_5, v11_11);
                    this.ivParam = ((org.bouncycastle.crypto.params.ParametersWithIV) v13_3);
                    v12_5 = v13_3;
                }
            }
            try {
                switch (p10) {
                    case 1:
                    case 3:
                        this.cipher.init(1, v12_5);
                        return;
                    case 2:
                    case 4:
                        this.cipher.init(0, v12_5);
                        return;
                    default:
                        org.bouncycastle.crypto.CipherParameters v12_7 = new StringBuilder();
                        v12_7.append("unknown opmode ");
                        v12_7.append(p10);
                        v12_7.append(" passed");
                        throw new java.security.InvalidParameterException(v12_7.toString());
                }
            } catch (java.security.InvalidAlgorithmParameterException v10_7) {
            }
            throw new java.security.InvalidKeyException(v10_7.getMessage());
        }
    }

Method org.bouncycastle.jcajce.provider.symmetric.util.BaseBlockCipher.engineInit() calling method java.security.SecureRandom.<init>()


    protected void engineInit(int p18, java.security.Key p19, java.security.spec.AlgorithmParameterSpec p20, java.security.SecureRandom p21)
    {
        org.bouncycastle.crypto.CipherParameters v5_2 = 0;
        this.pbeSpec = 0;
        this.pbeAlgorithm = 0;
        this.engineParams = 0;
        this.aeadParams = 0;
        if (!(p19 instanceof javax.crypto.SecretKey)) {
            byte[] v3_1 = new StringBuilder();
            v3_1.append("Key for algorithm ");
            v3_1.append(p19.getAlgorithm());
            v3_1.append(" not suitable for symmetric enryption.");
            throw new java.security.InvalidKeyException(v3_1.toString());
        } else {
            if ((p20 == null) && (this.baseEngine.getAlgorithmName().startsWith("RC5-64"))) {
                throw new java.security.InvalidAlgorithmParameterException("RC5 requires an RC5ParametersSpec to be passed in.");
            } else {
                if ((this.scheme != 2) && (!(p19 instanceof org.bouncycastle.jcajce.PKCS12Key))) {
                    if (!(p19 instanceof org.bouncycastle.jcajce.PBKDF1Key)) {
                        if (!(p19 instanceof org.bouncycastle.jcajce.provider.symmetric.util.BCPBEKey)) {
                            if (!(p19 instanceof javax.crypto.interfaces.PBEKey)) {
                                if (!(p19 instanceof org.bouncycastle.jcajce.spec.RepeatedSecretKeySpec)) {
                                    if ((this.scheme == 0) || ((this.scheme == 4) || ((this.scheme == 1) || (this.scheme == 5)))) {
                                        throw new java.security.InvalidKeyException("Algorithm requires a PBE key");
                                    } else {
                                        v5_2 = new org.bouncycastle.crypto.params.KeyParameter(p19.getEncoded());
                                    }
                                }
                            } else {
                                this.pbeSpec = ((javax.crypto.spec.PBEParameterSpec) p20);
                                if (((((javax.crypto.interfaces.PBEKey) p19) instanceof org.bouncycastle.jcajce.PKCS12KeyWithParameters)) && (this.pbeSpec == null)) {
                                    this.pbeSpec = new javax.crypto.spec.PBEParameterSpec(((javax.crypto.interfaces.PBEKey) p19).getSalt(), ((javax.crypto.interfaces.PBEKey) p19).getIterationCount());
                                }
                                v5_2 = org.bouncycastle.jcajce.provider.symmetric.util.PBE$Util.makePBEParameters(((javax.crypto.interfaces.PBEKey) p19).getEncoded(), this.scheme, this.digest, this.keySizeInBits, (this.ivLength * 8), this.pbeSpec, this.cipher.getAlgorithmName());
                                if ((v5_2 instanceof org.bouncycastle.crypto.params.ParametersWithIV)) {
                                    this.ivParam = ((org.bouncycastle.crypto.params.ParametersWithIV) v5_2);
                                }
                            }
                        } else {
                            reflect.Method v6_2;
                            if (((org.bouncycastle.jcajce.provider.symmetric.util.BCPBEKey) p19).getOID() == null) {
                                v6_2 = ((org.bouncycastle.jcajce.provider.symmetric.util.BCPBEKey) p19).getAlgorithm();
                            } else {
                                v6_2 = ((org.bouncycastle.jcajce.provider.symmetric.util.BCPBEKey) p19).getOID().getId();
                            }
                            this.pbeAlgorithm = v6_2;
                            if (((org.bouncycastle.jcajce.provider.symmetric.util.BCPBEKey) p19).getParam() == null) {
                                if (!(p20 instanceof javax.crypto.spec.PBEParameterSpec)) {
                                    throw new java.security.InvalidAlgorithmParameterException("PBE requires PBE parameters to be set.");
                                } else {
                                    this.pbeSpec = ((javax.crypto.spec.PBEParameterSpec) p20);
                                    v5_2 = org.bouncycastle.jcajce.provider.symmetric.util.PBE$Util.makePBEParameters(((org.bouncycastle.jcajce.provider.symmetric.util.BCPBEKey) p19), p20, this.cipher.getUnderlyingCipher().getAlgorithmName());
                                }
                            } else {
                                v5_2 = this.adjustParameters(p20, ((org.bouncycastle.jcajce.provider.symmetric.util.BCPBEKey) p19).getParam());
                            }
                            if ((v5_2 instanceof org.bouncycastle.crypto.params.ParametersWithIV)) {
                            }
                        }
                    } else {
                        if ((p20 instanceof javax.crypto.spec.PBEParameterSpec)) {
                            this.pbeSpec = ((javax.crypto.spec.PBEParameterSpec) p20);
                        }
                        if (((((org.bouncycastle.jcajce.PBKDF1Key) p19) instanceof org.bouncycastle.jcajce.PBKDF1KeyWithParameters)) && (this.pbeSpec == null)) {
                            this.pbeSpec = new javax.crypto.spec.PBEParameterSpec(((org.bouncycastle.jcajce.PBKDF1KeyWithParameters) ((org.bouncycastle.jcajce.PBKDF1Key) p19)).getSalt(), ((org.bouncycastle.jcajce.PBKDF1KeyWithParameters) ((org.bouncycastle.jcajce.PBKDF1Key) p19)).getIterationCount());
                        }
                        v5_2 = org.bouncycastle.jcajce.provider.symmetric.util.PBE$Util.makePBEParameters(((org.bouncycastle.jcajce.PBKDF1Key) p19).getEncoded(), 0, this.digest, this.keySizeInBits, (this.ivLength * 8), this.pbeSpec, this.cipher.getAlgorithmName());
                        if ((v5_2 instanceof org.bouncycastle.crypto.params.ParametersWithIV)) {
                        }
                    }
                } else {
                    try {
                        if ((p20 instanceof javax.crypto.spec.PBEParameterSpec)) {
                            this.pbeSpec = ((javax.crypto.spec.PBEParameterSpec) p20);
                        }
                    } catch (Exception) {
                        throw new java.security.InvalidKeyException("PKCS12 requires a SecretKey/PBEKey");
                    }
                    reflect.Method v6_23 = (((javax.crypto.SecretKey) p19) instanceof javax.crypto.interfaces.PBEKey);
                    if ((v6_23 != null) && (this.pbeSpec == null)) {
                        if (((javax.crypto.interfaces.PBEKey) ((javax.crypto.SecretKey) p19)).getSalt() == null) {
                            throw new java.security.InvalidAlgorithmParameterException("PBEKey requires parameters to specify salt");
                        } else {
                            this.pbeSpec = new javax.crypto.spec.PBEParameterSpec(((javax.crypto.interfaces.PBEKey) ((javax.crypto.SecretKey) p19)).getSalt(), ((javax.crypto.interfaces.PBEKey) ((javax.crypto.SecretKey) p19)).getIterationCount());
                        }
                    }
                    if ((this.pbeSpec == null) && (v6_23 == null)) {
                        throw new java.security.InvalidKeyException("Algorithm requires a PBE key");
                    } else {
                        if (!(p19 instanceof org.bouncycastle.jcajce.provider.symmetric.util.BCPBEKey)) {
                            v5_2 = org.bouncycastle.jcajce.provider.symmetric.util.PBE$Util.makePBEParameters(((javax.crypto.SecretKey) p19).getEncoded(), 2, this.digest, this.keySizeInBits, (this.ivLength * 8), this.pbeSpec, this.cipher.getAlgorithmName());
                        } else {
                            reflect.Method v6_27 = ((org.bouncycastle.jcajce.provider.symmetric.util.BCPBEKey) p19).getParam();
                            if (!(v6_27 instanceof org.bouncycastle.crypto.params.ParametersWithIV)) {
                                if (v6_27 != null) {
                                    throw new java.security.InvalidKeyException("Algorithm requires a PBE key suitable for PKCS12");
                                } else {
                                    v6_27 = org.bouncycastle.jcajce.provider.symmetric.util.PBE$Util.makePBEParameters(((javax.crypto.SecretKey) p19).getEncoded(), 2, this.digest, this.keySizeInBits, (this.ivLength * 8), this.pbeSpec, this.cipher.getAlgorithmName());
                                }
                            }
                            v5_2 = v6_27;
                        }
                        if ((v5_2 instanceof org.bouncycastle.crypto.params.ParametersWithIV)) {
                        }
                    }
                }
                if (!(p20 instanceof javax.crypto.spec.IvParameterSpec)) {
                    String v2_49;
                    if (!(p20 instanceof org.bouncycastle.jcajce.spec.GOST28147ParameterSpec)) {
                        if (!(p20 instanceof javax.crypto.spec.RC2ParameterSpec)) {
                            if (!(p20 instanceof javax.crypto.spec.RC5ParameterSpec)) {
                                if ((org.bouncycastle.jcajce.provider.symmetric.util.BaseBlockCipher.gcmSpecClass == null) || (!org.bouncycastle.jcajce.provider.symmetric.util.BaseBlockCipher.gcmSpecClass.isInstance(p20))) {
                                    if ((p20 != null) && (!(p20 instanceof javax.crypto.spec.PBEParameterSpec))) {
                                        throw new java.security.InvalidAlgorithmParameterException("unknown parameter type.");
                                    } else {
                                        if ((this.ivLength == 0) || (((v5_2 instanceof org.bouncycastle.crypto.params.ParametersWithIV)) || ((v5_2 instanceof org.bouncycastle.crypto.params.AEADParameters)))) {
                                            String v2_88 = v5_2;
                                        } else {
                                            String v2_81;
                                            if (p21 != null) {
                                                v2_81 = p21;
                                            } else {
                                                v2_81 = new java.security.SecureRandom();
                                            }
                                            if ((p18 != 1) && (p18 != 3)) {
                                                if (this.cipher.getUnderlyingCipher().getAlgorithmName().indexOf("PGPCFB") < 0) {
                                                    throw new java.security.InvalidAlgorithmParameterException("no IV set when one expected");
                                                }
                                            } else {
                                                byte[] v3_37 = new byte[this.ivLength];
                                                v2_81.nextBytes(v3_37);
                                                v2_88 = new org.bouncycastle.crypto.params.ParametersWithIV(v5_2, v3_37);
                                                this.ivParam = ((org.bouncycastle.crypto.params.ParametersWithIV) v2_88);
                                            }
                                        }
                                        if ((p21 != null) && (this.padded)) {
                                            v2_88 = new org.bouncycastle.crypto.params.ParametersWithRandom(v2_88, p21);
                                        }
                                        try {
                                            switch (p18) {
                                                case 1:
                                                case 3:
                                                    this.cipher.init(1, v2_88);
                                                    return;
                                                case 2:
                                                case 4:
                                                    this.cipher.init(0, v2_88);
                                                    return;
                                                default:
                                                    byte[] v3_44 = new StringBuilder();
                                                    v3_44.append("unknown opmode ");
                                                    v3_44.append(p18);
                                                    v3_44.append(" passed");
                                                    throw new java.security.InvalidParameterException(v3_44.toString());
                                            }
                                        } catch (java.security.InvalidAlgorithmParameterException v0_37) {
                                        }
                                        throw new org.bouncycastle.jcajce.provider.symmetric.util.BaseBlockCipher$1(this, v0_37.getMessage(), v0_37);
                                    }
                                } else {
                                    if ((!this.isAEADModeName(this.modeName)) && (!(this.cipher instanceof org.bouncycastle.jcajce.provider.symmetric.util.BaseBlockCipher$AEADGenericBlockCipher))) {
                                        throw new java.security.InvalidAlgorithmParameterException("GCMParameterSpec can only be used with AEAD modes.");
                                    } else {
                                        try {
                                            org.bouncycastle.crypto.params.AEADParameters v9_6 = new Class[0];
                                            String v2_20 = org.bouncycastle.jcajce.provider.symmetric.util.BaseBlockCipher.gcmSpecClass.getDeclaredMethod("getTLen", v9_6);
                                            Object[] v10_4 = new Class[0];
                                            reflect.Method v6_39 = org.bouncycastle.jcajce.provider.symmetric.util.BaseBlockCipher.gcmSpecClass.getDeclaredMethod("getIV", v10_4);
                                        } catch (Exception) {
                                            throw new java.security.InvalidAlgorithmParameterException("Cannot process GCMParameterSpec.");
                                        }
                                        if ((v5_2 instanceof org.bouncycastle.crypto.params.ParametersWithIV)) {
                                            v5_2 = ((org.bouncycastle.crypto.params.ParametersWithIV) v5_2).getParameters();
                                        }
                                        Object[] v10_5 = new Object[0];
                                        Object[] v10_6 = new Object[0];
                                        org.bouncycastle.crypto.params.AEADParameters v9_10 = new org.bouncycastle.crypto.params.AEADParameters(((org.bouncycastle.crypto.params.KeyParameter) v5_2), ((Integer) v2_20.invoke(p20, v10_5)).intValue(), ((byte[]) ((byte[]) v6_39.invoke(p20, v10_6))));
                                        this.aeadParams = v9_10;
                                        v5_2 = v9_10;
                                    }
                                }
                            } else {
                                v5_2 = new org.bouncycastle.crypto.params.RC5Parameters(p19.getEncoded(), ((javax.crypto.spec.RC5ParameterSpec) p20).getRounds());
                                if (!this.baseEngine.getAlgorithmName().startsWith("RC5")) {
                                    throw new java.security.InvalidAlgorithmParameterException("RC5 parameters passed to a cipher that is not RC5.");
                                } else {
                                    if (!this.baseEngine.getAlgorithmName().equals("RC5-32")) {
                                        if ((this.baseEngine.getAlgorithmName().equals("RC5-64")) && (((javax.crypto.spec.RC5ParameterSpec) p20).getWordSize() != 64)) {
                                            String v2_39 = new StringBuilder();
                                            v2_39.append("RC5 already set up for a word size of 64 not ");
                                            v2_39.append(((javax.crypto.spec.RC5ParameterSpec) p20).getWordSize());
                                            v2_39.append(".");
                                            throw new java.security.InvalidAlgorithmParameterException(v2_39.toString());
                                        }
                                    } else {
                                        if (((javax.crypto.spec.RC5ParameterSpec) p20).getWordSize() != 32) {
                                            String v2_43 = new StringBuilder();
                                            v2_43.append("RC5 already set up for a word size of 32 not ");
                                            v2_43.append(((javax.crypto.spec.RC5ParameterSpec) p20).getWordSize());
                                            v2_43.append(".");
                                            throw new java.security.InvalidAlgorithmParameterException(v2_43.toString());
                                        }
                                    }
                                    if ((((javax.crypto.spec.RC5ParameterSpec) p20).getIV() == null) || (this.ivLength == 0)) {
                                    } else {
                                        if (!(v5_2 instanceof org.bouncycastle.crypto.params.ParametersWithIV)) {
                                            v2_49 = new org.bouncycastle.crypto.params.ParametersWithIV(v5_2, ((javax.crypto.spec.RC5ParameterSpec) p20).getIV());
                                        } else {
                                            v2_49 = new org.bouncycastle.crypto.params.ParametersWithIV(((org.bouncycastle.crypto.params.ParametersWithIV) v5_2).getParameters(), ((javax.crypto.spec.RC5ParameterSpec) p20).getIV());
                                        }
                                    }
                                }
                            }
                        } else {
                            v5_2 = new org.bouncycastle.crypto.params.RC2Parameters(p19.getEncoded(), ((javax.crypto.spec.RC2ParameterSpec) p20).getEffectiveKeyBits());
                            if ((((javax.crypto.spec.RC2ParameterSpec) p20).getIV() == null) || (this.ivLength == 0)) {
                            } else {
                                if (!(v5_2 instanceof org.bouncycastle.crypto.params.ParametersWithIV)) {
                                    v2_49 = new org.bouncycastle.crypto.params.ParametersWithIV(v5_2, ((javax.crypto.spec.RC2ParameterSpec) p20).getIV());
                                } else {
                                    v2_49 = new org.bouncycastle.crypto.params.ParametersWithIV(((org.bouncycastle.crypto.params.ParametersWithIV) v5_2).getParameters(), ((javax.crypto.spec.RC2ParameterSpec) p20).getIV());
                                }
                            }
                        }
                    } else {
                        v5_2 = new org.bouncycastle.crypto.params.ParametersWithSBox(new org.bouncycastle.crypto.params.KeyParameter(p19.getEncoded()), ((org.bouncycastle.jcajce.spec.GOST28147ParameterSpec) p20).getSbox());
                        if ((((org.bouncycastle.jcajce.spec.GOST28147ParameterSpec) p20).getIV() == null) || (this.ivLength == 0)) {
                        } else {
                            if (!(v5_2 instanceof org.bouncycastle.crypto.params.ParametersWithIV)) {
                                v2_49 = new org.bouncycastle.crypto.params.ParametersWithIV(v5_2, ((org.bouncycastle.jcajce.spec.GOST28147ParameterSpec) p20).getIV());
                            } else {
                                v2_49 = new org.bouncycastle.crypto.params.ParametersWithIV(((org.bouncycastle.crypto.params.ParametersWithIV) v5_2).getParameters(), ((org.bouncycastle.jcajce.spec.GOST28147ParameterSpec) p20).getIV());
                            }
                        }
                    }
                    this.ivParam = ((org.bouncycastle.crypto.params.ParametersWithIV) v2_49);
                    v5_2 = v2_49;
                } else {
                    if (this.ivLength == 0) {
                        if ((this.modeName != null) && (this.modeName.equals("ECB"))) {
                            throw new java.security.InvalidAlgorithmParameterException("ECB mode does not use an IV");
                        }
                    } else {
                        if ((((javax.crypto.spec.IvParameterSpec) p20).getIV().length != this.ivLength) && ((!(this.cipher instanceof org.bouncycastle.jcajce.provider.symmetric.util.BaseBlockCipher$AEADGenericBlockCipher)) && (this.fixedIv))) {
                            String v2_72 = new StringBuilder();
                            v2_72.append("IV must be ");
                            v2_72.append(this.ivLength);
                            v2_72.append(" bytes long.");
                            throw new java.security.InvalidAlgorithmParameterException(v2_72.toString());
                        } else {
                            byte[] v3_32;
                            if (!(v5_2 instanceof org.bouncycastle.crypto.params.ParametersWithIV)) {
                                v3_32 = new org.bouncycastle.crypto.params.ParametersWithIV(v5_2, ((javax.crypto.spec.IvParameterSpec) p20).getIV());
                            } else {
                                v3_32 = new org.bouncycastle.crypto.params.ParametersWithIV(((org.bouncycastle.crypto.params.ParametersWithIV) v5_2).getParameters(), ((javax.crypto.spec.IvParameterSpec) p20).getIV());
                            }
                            v5_2 = v3_32;
                            this.ivParam = ((org.bouncycastle.crypto.params.ParametersWithIV) v5_2);
                        }
                    }
                }
            }
        }
    }

Method org.bouncycastle.crypto.signers.ISO9796d2PSSSigner.init() calling method java.security.SecureRandom.<init>()


    public void init(boolean p4, org.bouncycastle.crypto.CipherParameters p5)
    {
        java.security.SecureRandom v5_8;
        org.bouncycastle.crypto.params.RSAKeyParameters v1_2;
        int v0_0 = this.saltLength;
        if (!(p5 instanceof org.bouncycastle.crypto.params.ParametersWithRandom)) {
            if (!(p5 instanceof org.bouncycastle.crypto.params.ParametersWithSalt)) {
                v1_2 = ((org.bouncycastle.crypto.params.RSAKeyParameters) p5);
                if (p4 != null) {
                    v5_8 = new java.security.SecureRandom();
                    this.random = v5_8;
                }
            } else {
                v1_2 = ((org.bouncycastle.crypto.params.RSAKeyParameters) ((org.bouncycastle.crypto.params.ParametersWithSalt) p5).getParameters());
                this.standardSalt = ((org.bouncycastle.crypto.params.ParametersWithSalt) p5).getSalt();
                v0_0 = this.standardSalt.length;
                if (this.standardSalt.length != this.saltLength) {
                    throw new IllegalArgumentException("Fixed salt is of wrong length");
                }
            }
        } else {
            v1_2 = ((org.bouncycastle.crypto.params.RSAKeyParameters) ((org.bouncycastle.crypto.params.ParametersWithRandom) p5).getParameters());
            if (p4 != null) {
                v5_8 = ((org.bouncycastle.crypto.params.ParametersWithRandom) p5).getRandom();
            }
        }
        byte[] v4_15;
        this.cipher.init(p4, v1_2);
        this.keyBits = v1_2.getModulus().bitLength();
        byte[] v4_8 = new byte[((this.keyBits + 7) / 8)];
        this.block = v4_8;
        if (this.trailer != 188) {
            v4_15 = ((((this.block.length - this.digest.getDigestSize()) - v0_0) - 1) - 2);
        } else {
            v4_15 = ((((this.block.length - this.digest.getDigestSize()) - v0_0) - 1) - 1);
        }
        byte[] v4_21 = new byte[v4_15];
        this.mBuf = v4_21;
        this.reset();
        return;
    }

Method org.bouncycastle.crypto.ec.ECNewRandomnessTransform.init() calling method java.security.SecureRandom.<init>()


    public void init(org.bouncycastle.crypto.CipherParameters p2)
    {
        IllegalArgumentException v2_2;
        if (!(p2 instanceof org.bouncycastle.crypto.params.ParametersWithRandom)) {
            if (!(p2 instanceof org.bouncycastle.crypto.params.ECPublicKeyParameters)) {
                throw new IllegalArgumentException("ECPublicKeyParameters are required for new randomness transform.");
            } else {
                this.key = ((org.bouncycastle.crypto.params.ECPublicKeyParameters) p2);
                v2_2 = new java.security.SecureRandom();
            }
        } else {
            if (!(((org.bouncycastle.crypto.params.ParametersWithRandom) p2).getParameters() instanceof org.bouncycastle.crypto.params.ECPublicKeyParameters)) {
                throw new IllegalArgumentException("ECPublicKeyParameters are required for new randomness transform.");
            } else {
                this.key = ((org.bouncycastle.crypto.params.ECPublicKeyParameters) ((org.bouncycastle.crypto.params.ParametersWithRandom) p2).getParameters());
                v2_2 = ((org.bouncycastle.crypto.params.ParametersWithRandom) p2).getRandom();
            }
        }
        this.random = v2_2;
        return;
    }

Method org.bouncycastle.cms.jcajce.JceKeyAgreeRecipientInfoGenerator.init() calling method java.security.SecureRandom.<init>()


    private void init(org.bouncycastle.asn1.ASN1ObjectIdentifier p4)
    {
        if (this.random == null) {
            this.random = new java.security.SecureRandom();
        }
        if ((org.bouncycastle.cms.jcajce.CMSUtils.isMQV(p4)) && (this.ephemeralKP == null)) {
            try {
                org.bouncycastle.cms.CMSException v0_3 = org.bouncycastle.asn1.x509.SubjectPublicKeyInfo.getInstance(this.senderPublicKey.getEncoded());
                String v1_1 = this.helper.createAlgorithmParameters(p4);
                v1_1.init(v0_3.getAlgorithm().getParameters().toASN1Primitive().getEncoded());
                Exception v4_1 = this.helper.createKeyPairGenerator(p4);
                v4_1.initialize(v1_1.getParameterSpec(java.security.spec.AlgorithmParameterSpec), this.random);
                this.ephemeralKP = v4_1.generateKeyPair();
            } catch (Exception v4_3) {
                String v1_4 = new StringBuilder();
                v1_4.append("cannot determine MQV ephemeral key pair parameters from public key: ");
                v1_4.append(v4_3);
                throw new org.bouncycastle.cms.CMSException(v1_4.toString(), v4_3);
            }
        }
        return;
    }

Method org.spongycastle.jce.provider.BrokenJCEBlockCipher.engineInit() calling method java.security.SecureRandom.<init>()


    protected void engineInit(int p9, java.security.Key p10, java.security.spec.AlgorithmParameterSpec p11, java.security.SecureRandom p12)
    {
        org.spongycastle.crypto.params.ParametersWithIV v10_5;
        if (!(p10 instanceof org.spongycastle.jcajce.provider.symmetric.util.BCPBEKey)) {
            byte[] v11_10;
            if (p11 != null) {
                org.spongycastle.crypto.params.RC5Parameters v0_2;
                if (!(p11 instanceof javax.crypto.spec.IvParameterSpec)) {
                    if (!(p11 instanceof javax.crypto.spec.RC2ParameterSpec)) {
                        if (!(p11 instanceof javax.crypto.spec.RC5ParameterSpec)) {
                            throw new java.security.InvalidAlgorithmParameterException("unknown parameter type.");
                        } else {
                            v0_2 = new org.spongycastle.crypto.params.RC5Parameters(p10.getEncoded(), ((javax.crypto.spec.RC5ParameterSpec) p11).getRounds());
                            if (((javax.crypto.spec.RC5ParameterSpec) p11).getWordSize() != 32) {
                                throw new IllegalArgumentException("can only accept RC5 word size 32 (at the moment...)");
                            } else {
                                if ((((javax.crypto.spec.RC5ParameterSpec) p11).getIV() != null) && (this.ivLength != 0)) {
                                    v10_5 = new org.spongycastle.crypto.params.ParametersWithIV(v0_2, ((javax.crypto.spec.RC5ParameterSpec) p11).getIV());
                                    this.ivParam = ((org.spongycastle.crypto.params.ParametersWithIV) v10_5);
                                    if ((this.ivLength != 0) && (!(v10_5 instanceof org.spongycastle.crypto.params.ParametersWithIV))) {
                                        if (p12 == null) {
                                            p12 = new java.security.SecureRandom();
                                        }
                                        if ((p9 != 1) && (p9 != 3)) {
                                            throw new java.security.InvalidAlgorithmParameterException("no IV set when one expected");
                                        } else {
                                            byte[] v11_3 = new byte[this.ivLength];
                                            p12.nextBytes(v11_3);
                                            org.spongycastle.crypto.params.ParametersWithIV v12_3 = new org.spongycastle.crypto.params.ParametersWithIV(v10_5, v11_3);
                                            this.ivParam = ((org.spongycastle.crypto.params.ParametersWithIV) v12_3);
                                            v10_5 = v12_3;
                                        }
                                    }
                                    switch (p9) {
                                        case 1:
                                        case 3:
                                            this.cipher.init(1, v10_5);
                                            break;
                                        case 2:
                                        case 4:
                                            this.cipher.init(0, v10_5);
                                            break;
                                        default:
                                            System.out.println("eeek!");
                                    }
                                    return;
                                }
                            }
                        }
                    } else {
                        v0_2 = new org.spongycastle.crypto.params.RC2Parameters(p10.getEncoded(), ((javax.crypto.spec.RC2ParameterSpec) p11).getEffectiveKeyBits());
                        if ((((javax.crypto.spec.RC2ParameterSpec) p11).getIV() != null) && (this.ivLength != 0)) {
                            v10_5 = new org.spongycastle.crypto.params.ParametersWithIV(v0_2, ((javax.crypto.spec.RC2ParameterSpec) p11).getIV());
                        }
                    }
                } else {
                    if (this.ivLength == 0) {
                        v11_10 = new org.spongycastle.crypto.params.KeyParameter(p10.getEncoded());
                        v10_5 = v11_10;
                    } else {
                        v0_2 = new org.spongycastle.crypto.params.ParametersWithIV(new org.spongycastle.crypto.params.KeyParameter(p10.getEncoded()), ((javax.crypto.spec.IvParameterSpec) p11).getIV());
                        this.ivParam = ((org.spongycastle.crypto.params.ParametersWithIV) v0_2);
                    }
                }
                v10_5 = v0_2;
            } else {
                v11_10 = new org.spongycastle.crypto.params.KeyParameter(p10.getEncoded());
            }
        } else {
            v10_5 = org.spongycastle.jce.provider.BrokenPBE$Util.makePBEParameters(((org.spongycastle.jcajce.provider.symmetric.util.BCPBEKey) p10), p11, this.pbeType, this.pbeHash, this.cipher.getUnderlyingCipher().getAlgorithmName(), this.pbeKeySize, this.pbeIvSize);
            if (this.pbeIvSize != 0) {
            }
        }
    }

Method org.spongycastle.jcajce.provider.symmetric.Shacal2$AlgParamGen.engineGenerateParameters() calling method java.security.SecureRandom.<init>()


    protected java.security.AlgorithmParameters engineGenerateParameters()
    {
        String v0_1 = new byte[32];
        if (this.random == null) {
            this.random = new java.security.SecureRandom();
        }
        this.random.nextBytes(v0_1);
        try {
            RuntimeException v1_0 = this.createParametersInstance("Shacal2");
            v1_0.init(new javax.crypto.spec.IvParameterSpec(v0_1));
            return v1_0;
        } catch (String v0_2) {
            throw new RuntimeException(v0_2.getMessage());
        }
    }

Method org.spongycastle.jcajce.provider.symmetric.SM4$AlgParamGen.engineGenerateParameters() calling method java.security.SecureRandom.<init>()


    protected java.security.AlgorithmParameters engineGenerateParameters()
    {
        String v0_1 = new byte[16];
        if (this.random == null) {
            this.random = new java.security.SecureRandom();
        }
        this.random.nextBytes(v0_1);
        try {
            RuntimeException v1_0 = this.createParametersInstance("SM4");
            v1_0.init(new javax.crypto.spec.IvParameterSpec(v0_1));
            return v1_0;
        } catch (String v0_2) {
            throw new RuntimeException(v0_2.getMessage());
        }
    }

Method org.spongycastle.jcajce.provider.symmetric.SEED$AlgParamGen.engineGenerateParameters() calling method java.security.SecureRandom.<init>()


    protected java.security.AlgorithmParameters engineGenerateParameters()
    {
        String v0_1 = new byte[16];
        if (this.random == null) {
            this.random = new java.security.SecureRandom();
        }
        this.random.nextBytes(v0_1);
        try {
            RuntimeException v1_0 = this.createParametersInstance("SEED");
            v1_0.init(new javax.crypto.spec.IvParameterSpec(v0_1));
            return v1_0;
        } catch (String v0_2) {
            throw new RuntimeException(v0_2.getMessage());
        }
    }

Method org.spongycastle.jcajce.provider.symmetric.RC6$AlgParamGen.engineGenerateParameters() calling method java.security.SecureRandom.<init>()


    protected java.security.AlgorithmParameters engineGenerateParameters()
    {
        String v0_1 = new byte[16];
        if (this.random == null) {
            this.random = new java.security.SecureRandom();
        }
        this.random.nextBytes(v0_1);
        try {
            RuntimeException v1_0 = this.createParametersInstance("RC6");
            v1_0.init(new javax.crypto.spec.IvParameterSpec(v0_1));
            return v1_0;
        } catch (String v0_2) {
            throw new RuntimeException(v0_2.getMessage());
        }
    }

Method org.spongycastle.jcajce.provider.symmetric.RC5$AlgParamGen.engineGenerateParameters() calling method java.security.SecureRandom.<init>()


    protected java.security.AlgorithmParameters engineGenerateParameters()
    {
        String v0_1 = new byte[8];
        if (this.random == null) {
            this.random = new java.security.SecureRandom();
        }
        this.random.nextBytes(v0_1);
        try {
            RuntimeException v1_0 = this.createParametersInstance("RC5");
            v1_0.init(new javax.crypto.spec.IvParameterSpec(v0_1));
            return v1_0;
        } catch (String v0_2) {
            throw new RuntimeException(v0_2.getMessage());
        }
    }

Method org.spongycastle.jcajce.provider.symmetric.RC2$AlgParamGen.engineGenerateParameters() calling method java.security.SecureRandom.<init>()


    protected java.security.AlgorithmParameters engineGenerateParameters()
    {
        RuntimeException v1_6;
        if (this.spec != null) {
            try {
                v1_6 = this.createParametersInstance("RC2");
                v1_6.init(this.spec);
            } catch (String v0_8) {
                throw new RuntimeException(v0_8.getMessage());
            }
        } else {
            String v0_3 = new byte[8];
            if (this.random == null) {
                this.random = new java.security.SecureRandom();
            }
            this.random.nextBytes(v0_3);
            try {
                v1_6 = this.createParametersInstance("RC2");
                v1_6.init(new javax.crypto.spec.IvParameterSpec(v0_3));
            } catch (String v0_5) {
                throw new RuntimeException(v0_5.getMessage());
            }
        }
        return v1_6;
    }

Method org.spongycastle.jcajce.provider.symmetric.Noekeon$AlgParamGen.engineGenerateParameters() calling method java.security.SecureRandom.<init>()


    protected java.security.AlgorithmParameters engineGenerateParameters()
    {
        String v0_1 = new byte[16];
        if (this.random == null) {
            this.random = new java.security.SecureRandom();
        }
        this.random.nextBytes(v0_1);
        try {
            RuntimeException v1_0 = this.createParametersInstance("Noekeon");
            v1_0.init(new javax.crypto.spec.IvParameterSpec(v0_1));
            return v1_0;
        } catch (String v0_2) {
            throw new RuntimeException(v0_2.getMessage());
        }
    }

Method org.spongycastle.jcajce.provider.symmetric.IDEA$AlgParamGen.engineGenerateParameters() calling method java.security.SecureRandom.<init>()


    protected java.security.AlgorithmParameters engineGenerateParameters()
    {
        String v0_1 = new byte[8];
        if (this.random == null) {
            this.random = new java.security.SecureRandom();
        }
        this.random.nextBytes(v0_1);
        try {
            RuntimeException v1_0 = this.createParametersInstance("IDEA");
            v1_0.init(new javax.crypto.spec.IvParameterSpec(v0_1));
            return v1_0;
        } catch (String v0_2) {
            throw new RuntimeException(v0_2.getMessage());
        }
    }

Method org.spongycastle.jcajce.provider.symmetric.GOST28147$AlgParamGen.engineGenerateParameters() calling method java.security.SecureRandom.<init>()


    protected java.security.AlgorithmParameters engineGenerateParameters()
    {
        String v0_1 = new byte[16];
        if (this.random == null) {
            this.random = new java.security.SecureRandom();
        }
        this.random.nextBytes(v0_1);
        try {
            RuntimeException v1_0 = this.createParametersInstance("GOST28147");
            v1_0.init(new javax.crypto.spec.IvParameterSpec(v0_1));
            return v1_0;
        } catch (String v0_2) {
            throw new RuntimeException(v0_2.getMessage());
        }
    }

Method org.spongycastle.jcajce.provider.symmetric.DESede$KeyGenerator.engineGenerateKey() calling method java.security.SecureRandom.<init>()


    protected javax.crypto.SecretKey engineGenerateKey()
    {
        if (this.uninitialised) {
            this.engine.init(new org.spongycastle.crypto.KeyGenerationParameters(new java.security.SecureRandom(), this.defaultKeySize));
            this.uninitialised = 0;
        }
        if (this.keySizeSet) {
            return new javax.crypto.spec.SecretKeySpec(this.engine.generateKey(), this.algName);
        } else {
            javax.crypto.spec.SecretKeySpec v0_5 = this.engine.generateKey();
            System.arraycopy(v0_5, 0, v0_5, 16, 8);
            return new javax.crypto.spec.SecretKeySpec(v0_5, this.algName);
        }
    }

Method org.spongycastle.jcajce.provider.symmetric.DESede$AlgParamGen.engineGenerateParameters() calling method java.security.SecureRandom.<init>()


    protected java.security.AlgorithmParameters engineGenerateParameters()
    {
        String v0_1 = new byte[8];
        if (this.random == null) {
            this.random = new java.security.SecureRandom();
        }
        this.random.nextBytes(v0_1);
        try {
            RuntimeException v1_0 = this.createParametersInstance("DES");
            v1_0.init(new javax.crypto.spec.IvParameterSpec(v0_1));
            return v1_0;
        } catch (String v0_2) {
            throw new RuntimeException(v0_2.getMessage());
        }
    }

Method org.spongycastle.jcajce.provider.symmetric.DES$KeyGenerator.engineGenerateKey() calling method java.security.SecureRandom.<init>()


    protected javax.crypto.SecretKey engineGenerateKey()
    {
        if (this.uninitialised) {
            this.engine.init(new org.spongycastle.crypto.KeyGenerationParameters(new java.security.SecureRandom(), this.defaultKeySize));
            this.uninitialised = 0;
        }
        return new javax.crypto.spec.SecretKeySpec(this.engine.generateKey(), this.algName);
    }

Method org.spongycastle.jcajce.provider.symmetric.DES$AlgParamGen.engineGenerateParameters() calling method java.security.SecureRandom.<init>()


    protected java.security.AlgorithmParameters engineGenerateParameters()
    {
        String v0_1 = new byte[8];
        if (this.random == null) {
            this.random = new java.security.SecureRandom();
        }
        this.random.nextBytes(v0_1);
        try {
            RuntimeException v1_0 = this.createParametersInstance("DES");
            v1_0.init(new javax.crypto.spec.IvParameterSpec(v0_1));
            return v1_0;
        } catch (String v0_2) {
            throw new RuntimeException(v0_2.getMessage());
        }
    }

Method org.spongycastle.jcajce.provider.symmetric.Camellia$AlgParamGen.engineGenerateParameters() calling method java.security.SecureRandom.<init>()


    protected java.security.AlgorithmParameters engineGenerateParameters()
    {
        String v0_1 = new byte[16];
        if (this.random == null) {
            this.random = new java.security.SecureRandom();
        }
        this.random.nextBytes(v0_1);
        try {
            RuntimeException v1_0 = this.createParametersInstance("Camellia");
            v1_0.init(new javax.crypto.spec.IvParameterSpec(v0_1));
            return v1_0;
        } catch (String v0_2) {
            throw new RuntimeException(v0_2.getMessage());
        }
    }

Method org.spongycastle.jcajce.provider.symmetric.CAST5$AlgParamGen.engineGenerateParameters() calling method java.security.SecureRandom.<init>()


    protected java.security.AlgorithmParameters engineGenerateParameters()
    {
        String v0_1 = new byte[8];
        if (this.random == null) {
            this.random = new java.security.SecureRandom();
        }
        this.random.nextBytes(v0_1);
        try {
            RuntimeException v1_0 = this.createParametersInstance("CAST5");
            v1_0.init(new javax.crypto.spec.IvParameterSpec(v0_1));
            return v1_0;
        } catch (String v0_2) {
            throw new RuntimeException(v0_2.getMessage());
        }
    }

Method org.spongycastle.jcajce.provider.symmetric.AES$AlgParamGenGCM.engineGenerateParameters() calling method java.security.SecureRandom.<init>()


    protected java.security.AlgorithmParameters engineGenerateParameters()
    {
        RuntimeException v1_0 = new byte[12];
        if (this.random == null) {
            this.random = new java.security.SecureRandom();
        }
        this.random.nextBytes(v1_0);
        try {
            java.security.AlgorithmParameters v2_0 = this.createParametersInstance("GCM");
            v2_0.init(new org.spongycastle.a.d.b(v1_0, 12).getEncoded());
            return v2_0;
        } catch (String v0_2) {
            throw new RuntimeException(v0_2.getMessage());
        }
    }

Method org.spongycastle.jcajce.provider.symmetric.AES$AlgParamGenCCM.engineGenerateParameters() calling method java.security.SecureRandom.<init>()


    protected java.security.AlgorithmParameters engineGenerateParameters()
    {
        RuntimeException v1_0 = new byte[12];
        if (this.random == null) {
            this.random = new java.security.SecureRandom();
        }
        this.random.nextBytes(v1_0);
        try {
            java.security.AlgorithmParameters v2_0 = this.createParametersInstance("CCM");
            v2_0.init(new org.spongycastle.a.d.a(v1_0, 12).getEncoded());
            return v2_0;
        } catch (String v0_2) {
            throw new RuntimeException(v0_2.getMessage());
        }
    }

Method org.spongycastle.jcajce.provider.symmetric.AES$AlgParamGen.engineGenerateParameters() calling method java.security.SecureRandom.<init>()


    protected java.security.AlgorithmParameters engineGenerateParameters()
    {
        String v0_1 = new byte[16];
        if (this.random == null) {
            this.random = new java.security.SecureRandom();
        }
        this.random.nextBytes(v0_1);
        try {
            RuntimeException v1_0 = this.createParametersInstance("AES");
            v1_0.init(new javax.crypto.spec.IvParameterSpec(v0_1));
            return v1_0;
        } catch (String v0_2) {
            throw new RuntimeException(v0_2.getMessage());
        }
    }

Method org.spongycastle.jcajce.provider.keystore.pkcs12.PKCS12KeyStoreSpi.<init>() calling method java.security.SecureRandom.<init>()


    public PKCS12KeyStoreSpi(java.security.Provider p3, org.spongycastle.a.o p4, org.spongycastle.a.o p5)
    {
        String v3_2;
        this.helper = new org.spongycastle.jcajce.a.a();
        this.keys = new org.spongycastle.jcajce.provider.keystore.pkcs12.PKCS12KeyStoreSpi$IgnoresCaseHashtable(0);
        this.localIds = new java.util.Hashtable();
        this.certs = new org.spongycastle.jcajce.provider.keystore.pkcs12.PKCS12KeyStoreSpi$IgnoresCaseHashtable(0);
        this.chainCerts = new java.util.Hashtable();
        this.keyCerts = new java.util.Hashtable();
        this.random = new java.security.SecureRandom();
        this.keyAlgorithm = p4;
        this.certAlgorithm = p5;
        if (p3 == null) {
            v3_2 = java.security.cert.CertificateFactory.getInstance("X.509");
        } else {
            v3_2 = java.security.cert.CertificateFactory.getInstance("X.509", p3);
        }
        this.certFact = v3_2;
        return;
    }

Method org.spongycastle.jcajce.provider.keystore.bc.BcKeyStoreSpi.<init>() calling method java.security.SecureRandom.<init>()


    public BcKeyStoreSpi(int p2)
    {
        this.table = new java.util.Hashtable();
        this.random = new java.security.SecureRandom();
        this.helper = new org.spongycastle.jcajce.a.a();
        this.version = p2;
        return;
    }

Method org.spongycastle.jcajce.provider.asymmetric.rsa.CipherSpi.engineInit() calling method java.security.SecureRandom.<init>()


    protected void engineInit(int p6, java.security.Key p7, java.security.spec.AlgorithmParameterSpec p8, java.security.SecureRandom p9)
    {
        if ((p8 != null) && (!(p8 instanceof javax.crypto.spec.OAEPParameterSpec))) {
            String v7_16 = new StringBuilder();
            v7_16.append("unknown parameter type: ");
            v7_16.append(p8.getClass().getName());
            throw new java.security.InvalidAlgorithmParameterException(v7_16.toString());
        } else {
            String v7_12;
            if (!(p7 instanceof java.security.interfaces.RSAPublicKey)) {
                if (!(p7 instanceof java.security.interfaces.RSAPrivateKey)) {
                    throw new java.security.InvalidKeyException("unknown key type passed to RSA");
                } else {
                    if ((this.publicKeyOnly) && (p6 == 1)) {
                        throw new java.security.InvalidKeyException("mode 2 requires RSAPublicKey");
                    } else {
                        v7_12 = org.spongycastle.jcajce.provider.asymmetric.rsa.RSAUtil.generatePrivateKeyParameter(((java.security.interfaces.RSAPrivateKey) p7));
                    }
                }
            } else {
                if ((this.privateKeyOnly) && (p6 == 1)) {
                    throw new java.security.InvalidKeyException("mode 1 requires RSAPrivateKey");
                } else {
                    v7_12 = org.spongycastle.jcajce.provider.asymmetric.rsa.RSAUtil.generatePublicKeyParameter(((java.security.interfaces.RSAPublicKey) p7));
                }
            }
            if (p8 != null) {
                this.paramSpec = p8;
                if ((!((javax.crypto.spec.OAEPParameterSpec) p8).getMGFAlgorithm().equalsIgnoreCase("MGF1")) && (!((javax.crypto.spec.OAEPParameterSpec) p8).getMGFAlgorithm().equals(org.spongycastle.a.o.o.l_.b()))) {
                    throw new java.security.InvalidAlgorithmParameterException("unknown mask generation function specified");
                } else {
                    if (!(((javax.crypto.spec.OAEPParameterSpec) p8).getMGFParameters() instanceof java.security.spec.MGF1ParameterSpec)) {
                        throw new java.security.InvalidAlgorithmParameterException("unkown MGF parameters");
                    } else {
                        String v8_18 = org.spongycastle.jcajce.provider.b.d.a(((javax.crypto.spec.OAEPParameterSpec) p8).getDigestAlgorithm());
                        if (v8_18 == null) {
                            String v7_20 = new StringBuilder();
                            v7_20.append("no match on digest algorithm: ");
                            v7_20.append(((javax.crypto.spec.OAEPParameterSpec) p8).getDigestAlgorithm());
                            throw new java.security.InvalidAlgorithmParameterException(v7_20.toString());
                        } else {
                            org.spongycastle.crypto.encodings.OAEPEncoding v2_6 = ((java.security.spec.MGF1ParameterSpec) ((javax.crypto.spec.OAEPParameterSpec) p8).getMGFParameters());
                            org.spongycastle.crypto.Digest v3_1 = org.spongycastle.jcajce.provider.b.d.a(v2_6.getDigestAlgorithm());
                            if (v3_1 == null) {
                                String v7_2 = new StringBuilder();
                                v7_2.append("no match on MGF digest algorithm: ");
                                v7_2.append(v2_6.getDigestAlgorithm());
                                throw new java.security.InvalidAlgorithmParameterException(v7_2.toString());
                            } else {
                                this.cipher = new org.spongycastle.crypto.encodings.OAEPEncoding(new org.spongycastle.crypto.engines.RSABlindedEngine(), v8_18, v3_1, ((javax.crypto.spec.PSource$PSpecified) ((javax.crypto.spec.OAEPParameterSpec) p8).getPSource()).getValue());
                            }
                        }
                    }
                }
            }
            String v8_6;
            if ((this.cipher instanceof org.spongycastle.crypto.engines.RSABlindedEngine)) {
                v8_6 = v7_12;
            } else {
                if (p9 == null) {
                    v8_6 = new org.spongycastle.crypto.params.ParametersWithRandom(v7_12, new java.security.SecureRandom());
                } else {
                    v8_6 = new org.spongycastle.crypto.params.ParametersWithRandom(v7_12, p9);
                }
            }
            this.bOut.reset();
            switch (p6) {
                case 1:
                case 3:
                    this.cipher.init(1, v8_6);
                    break;
                case 2:
                case 4:
                    this.cipher.init(0, v8_6);
                    break;
                default:
                    String v8_10 = new StringBuilder();
                    v8_10.append("unknown opmode ");
                    v8_10.append(p6);
                    v8_10.append(" passed to RSA");
                    throw new java.security.InvalidParameterException(v8_10.toString());
            }
            return;
        }
    }

Method org.spongycastle.jcajce.provider.asymmetric.gost.AlgorithmParameterGeneratorSpi.engineGenerateParameters() calling method java.security.SecureRandom.<init>()


    protected java.security.AlgorithmParameters engineGenerateParameters()
    {
        RuntimeException v1_5;
        org.spongycastle.jce.spec.GOST3410PublicKeyParameterSetSpec v3_3;
        String v0_1 = new org.spongycastle.crypto.a.q();
        if (this.random == null) {
            v1_5 = this.strength;
            v3_3 = new java.security.SecureRandom();
        } else {
            v1_5 = this.strength;
            v3_3 = this.random;
        }
        v0_1.a(v1_5, 2, v3_3);
        String v0_2 = v0_1.a();
        try {
            RuntimeException v1_1 = this.createParametersInstance("GOST3410");
            v1_1.init(new org.spongycastle.jce.spec.GOST3410ParameterSpec(new org.spongycastle.jce.spec.GOST3410PublicKeyParameterSetSpec(v0_2.getP(), v0_2.getQ(), v0_2.getA())));
            return v1_1;
        } catch (String v0_4) {
            throw new RuntimeException(v0_4.getMessage());
        }
    }

Method org.spongycastle.jcajce.provider.asymmetric.elgamal.AlgorithmParameterGeneratorSpi.engineGenerateParameters() calling method java.security.SecureRandom.<init>()


    protected java.security.AlgorithmParameters engineGenerateParameters()
    {
        java.math.BigInteger v3_2;
        RuntimeException v1_5;
        String v0_1 = new org.spongycastle.crypto.a.n();
        if (this.random == null) {
            v1_5 = this.strength;
            v3_2 = new java.security.SecureRandom();
        } else {
            v1_5 = this.strength;
            v3_2 = this.random;
        }
        v0_1.a(v1_5, 20, v3_2);
        String v0_2 = v0_1.a();
        try {
            RuntimeException v1_1 = this.createParametersInstance("ElGamal");
            v1_1.init(new javax.crypto.spec.DHParameterSpec(v0_2.getP(), v0_2.getG(), this.l));
            return v1_1;
        } catch (String v0_4) {
            throw new RuntimeException(v0_4.getMessage());
        }
    }

Method org.spongycastle.jcajce.provider.asymmetric.ec.KeyPairGeneratorSpi$EC.generateKeyPair() calling method java.security.SecureRandom.<init>()


    public java.security.KeyPair generateKeyPair()
    {
        if (!this.initialised) {
            this.initialize(this.strength, new java.security.SecureRandom());
        }
        org.spongycastle.jcajce.provider.asymmetric.ec.BCECPublicKey v0_15 = this.engine.generateKeyPair();
        java.security.KeyPair v1_1 = ((org.spongycastle.crypto.params.ECPublicKeyParameters) v0_15.getPublic());
        org.spongycastle.crypto.params.ECPrivateKeyParameters v4_1 = ((org.spongycastle.crypto.params.ECPrivateKeyParameters) v0_15.getPrivate());
        if (!(this.ecParams instanceof org.spongycastle.jce.spec.ECParameterSpec)) {
            if (this.ecParams != null) {
                java.security.spec.ECParameterSpec v6_1 = ((java.security.spec.ECParameterSpec) this.ecParams);
                org.spongycastle.jcajce.provider.asymmetric.ec.BCECPublicKey v0_8 = new org.spongycastle.jcajce.provider.asymmetric.ec.BCECPublicKey(this.algorithm, v1_1, v6_1, this.configuration);
                org.spongycastle.jcajce.provider.asymmetric.ec.BCECPrivateKey v8_0 = new org.spongycastle.jcajce.provider.asymmetric.ec.BCECPrivateKey;
                v8_0(this.algorithm, v4_1, v0_8, v6_1, this.configuration);
                return new java.security.KeyPair(v0_8, v8_0);
            } else {
                return new java.security.KeyPair(new org.spongycastle.jcajce.provider.asymmetric.ec.BCECPublicKey(this.algorithm, v1_1, this.configuration), new org.spongycastle.jcajce.provider.asymmetric.ec.BCECPrivateKey(this.algorithm, v4_1, this.configuration));
            }
        } else {
            java.security.spec.ECParameterSpec v6_3 = ((org.spongycastle.jce.spec.ECParameterSpec) this.ecParams);
            org.spongycastle.jcajce.provider.asymmetric.ec.BCECPublicKey v0_13 = new org.spongycastle.jcajce.provider.asymmetric.ec.BCECPublicKey(this.algorithm, v1_1, v6_3, this.configuration);
            org.spongycastle.jcajce.provider.asymmetric.ec.BCECPrivateKey v8_1 = new org.spongycastle.jcajce.provider.asymmetric.ec.BCECPrivateKey;
            v8_1(this.algorithm, v4_1, v0_13, v6_3, this.configuration);
            return new java.security.KeyPair(v0_13, v8_1);
        }
    }

Method org.spongycastle.jcajce.provider.asymmetric.ec.KeyPairGeneratorSpi$EC.<init>() calling method java.security.SecureRandom.<init>()


    public KeyPairGeneratorSpi$EC(String p2, org.spongycastle.jcajce.provider.a.b p3)
    {
        super(p2);
        super.engine = new org.spongycastle.crypto.a.l();
        super.ecParams = 0;
        super.strength = 239;
        super.certainty = 50;
        super.random = new java.security.SecureRandom();
        super.initialised = 0;
        super.algorithm = p2;
        super.configuration = p3;
        return;
    }

Method org.spongycastle.jcajce.provider.asymmetric.ec.KeyPairGeneratorSpi$EC.<init>() calling method java.security.SecureRandom.<init>()


    public KeyPairGeneratorSpi$EC()
    {
        super("EC");
        super.engine = new org.spongycastle.crypto.a.l();
        super.ecParams = 0;
        super.strength = 239;
        super.certainty = 50;
        super.random = new java.security.SecureRandom();
        super.initialised = 0;
        super.algorithm = "EC";
        super.configuration = org.spongycastle.jce.provider.BouncyCastleProvider.CONFIGURATION;
        return;
    }

Method org.spongycastle.jcajce.provider.asymmetric.dsa.AlgorithmParameterGeneratorSpi.engineGenerateParameters() calling method java.security.SecureRandom.<init>()


    protected java.security.AlgorithmParameters engineGenerateParameters()
    {
        String v0_6;
        if (this.strength > 1024) {
            v0_6 = new org.spongycastle.crypto.a.j(new org.spongycastle.crypto.digests.SHA256Digest());
        } else {
            v0_6 = new org.spongycastle.crypto.a.j();
        }
        if (this.random == null) {
            this.random = new java.security.SecureRandom();
        }
        if (this.strength != 1024) {
            if (this.strength <= 1024) {
                v0_6.a(this.strength, 20, this.random);
            } else {
                this.params = new org.spongycastle.crypto.params.DSAParameterGenerationParameters(this.strength, 256, 80, this.random);
                v0_6.a(this.params);
            }
        } else {
            this.params = new org.spongycastle.crypto.params.DSAParameterGenerationParameters(1024, 160, 80, this.random);
        }
        String v0_2 = v0_6.a();
        try {
            RuntimeException v1_6 = this.createParametersInstance("DSA");
            v1_6.init(new java.security.spec.DSAParameterSpec(v0_2.getP(), v0_2.getQ(), v0_2.getG()));
            return v1_6;
        } catch (String v0_4) {
            throw new RuntimeException(v0_4.getMessage());
        }
    }

Method org.spongycastle.jcajce.provider.asymmetric.dh.AlgorithmParameterGeneratorSpi.engineGenerateParameters() calling method java.security.SecureRandom.<init>()


    protected java.security.AlgorithmParameters engineGenerateParameters()
    {
        java.math.BigInteger v3_2;
        RuntimeException v1_5;
        String v0_1 = new org.spongycastle.crypto.a.g();
        if (this.random == null) {
            v1_5 = this.strength;
            v3_2 = new java.security.SecureRandom();
        } else {
            v1_5 = this.strength;
            v3_2 = this.random;
        }
        v0_1.a(v1_5, 20, v3_2);
        String v0_2 = v0_1.a();
        try {
            RuntimeException v1_1 = this.createParametersInstance("DH");
            v1_1.init(new javax.crypto.spec.DHParameterSpec(v0_2.getP(), v0_2.getG(), this.l));
            return v1_1;
        } catch (String v0_4) {
            throw new RuntimeException(v0_4.getMessage());
        }
    }

Method org.spongycastle.crypto.signers.PSSSigner.init() calling method java.security.SecureRandom.<init>()


    public void init(boolean p3, org.spongycastle.crypto.CipherParameters p4)
    {
        org.spongycastle.crypto.AsymmetricBlockCipher v1_0;
        if (!(p4 instanceof org.spongycastle.crypto.params.ParametersWithRandom)) {
            if (p3 != null) {
                this.random = new java.security.SecureRandom();
            }
            v1_0 = p4;
        } else {
            v1_0 = ((org.spongycastle.crypto.params.ParametersWithRandom) p4).getParameters();
            this.random = ((org.spongycastle.crypto.params.ParametersWithRandom) p4).getRandom();
        }
        int v0_4;
        if (!(v1_0 instanceof org.spongycastle.crypto.params.RSABlindingParameters)) {
            v0_4 = ((org.spongycastle.crypto.params.RSAKeyParameters) v1_0);
            this.cipher.init(p3, v1_0);
        } else {
            v0_4 = ((org.spongycastle.crypto.params.RSABlindingParameters) v1_0).getPublicKey();
            this.cipher.init(p3, p4);
        }
        this.emBits = (v0_4.getModulus().bitLength() - 1);
        if (this.emBits < (((this.hLen * 8) + (this.sLen * 8)) + 9)) {
            throw new IllegalArgumentException("key too small for specified hash and salt lengths");
        } else {
            IllegalArgumentException v3_10 = new byte[((this.emBits + 7) / 8)];
            this.block = v3_10;
            this.reset();
            return;
        }
    }

Method org.spongycastle.crypto.signers.GOST3410Signer.init() calling method java.security.SecureRandom.<init>()


    public void init(boolean p1, org.spongycastle.crypto.CipherParameters p2)
    {
        org.spongycastle.crypto.params.GOST3410PrivateKeyParameters v2_1;
        if (p1 == null) {
            v2_1 = ((org.spongycastle.crypto.params.GOST3410PublicKeyParameters) p2);
            this.key = v2_1;
        } else {
            if (!(p2 instanceof org.spongycastle.crypto.params.ParametersWithRandom)) {
                this.random = new java.security.SecureRandom();
                v2_1 = ((org.spongycastle.crypto.params.GOST3410PrivateKeyParameters) p2);
            } else {
                this.random = ((org.spongycastle.crypto.params.ParametersWithRandom) p2).getRandom();
                this.key = ((org.spongycastle.crypto.params.GOST3410PrivateKeyParameters) ((org.spongycastle.crypto.params.ParametersWithRandom) p2).getParameters());
            }
        }
        return;
    }

Method org.spongycastle.crypto.signers.ECNRSigner.init() calling method java.security.SecureRandom.<init>()


    public void init(boolean p1, org.spongycastle.crypto.CipherParameters p2)
    {
        org.spongycastle.crypto.params.ECPrivateKeyParameters v2_2;
        this.forSigning = p1;
        if (p1 == null) {
            v2_2 = ((org.spongycastle.crypto.params.ECPublicKeyParameters) p2);
            this.key = v2_2;
        } else {
            if (!(p2 instanceof org.spongycastle.crypto.params.ParametersWithRandom)) {
                this.random = new java.security.SecureRandom();
                v2_2 = ((org.spongycastle.crypto.params.ECPrivateKeyParameters) p2);
            } else {
                this.random = ((org.spongycastle.crypto.params.ParametersWithRandom) p2).getRandom();
                this.key = ((org.spongycastle.crypto.params.ECPrivateKeyParameters) ((org.spongycastle.crypto.params.ParametersWithRandom) p2).getParameters());
            }
        }
        return;
    }

Method org.spongycastle.crypto.signers.ECGOST3410Signer.init() calling method java.security.SecureRandom.<init>()


    public void init(boolean p1, org.spongycastle.crypto.CipherParameters p2)
    {
        org.spongycastle.crypto.params.ECPrivateKeyParameters v2_1;
        if (p1 == null) {
            v2_1 = ((org.spongycastle.crypto.params.ECPublicKeyParameters) p2);
            this.key = v2_1;
        } else {
            if (!(p2 instanceof org.spongycastle.crypto.params.ParametersWithRandom)) {
                this.random = new java.security.SecureRandom();
                v2_1 = ((org.spongycastle.crypto.params.ECPrivateKeyParameters) p2);
            } else {
                this.random = ((org.spongycastle.crypto.params.ParametersWithRandom) p2).getRandom();
                this.key = ((org.spongycastle.crypto.params.ECPrivateKeyParameters) ((org.spongycastle.crypto.params.ParametersWithRandom) p2).getParameters());
            }
        }
        return;
    }

Method org.spongycastle.crypto.signers.ECDSASigner.initSecureRandom() calling method java.security.SecureRandom.<init>()


    protected java.security.SecureRandom initSecureRandom(boolean p1, java.security.SecureRandom p2)
    {
        if (p1) {
            if (p2 == null) {
                p2 = new java.security.SecureRandom();
            }
        } else {
            p2 = 0;
        }
        return p2;
    }

Method org.spongycastle.crypto.signers.DSTU4145Signer.init() calling method java.security.SecureRandom.<init>()


    public void init(boolean p1, org.spongycastle.crypto.CipherParameters p2)
    {
        org.spongycastle.crypto.params.ECPrivateKeyParameters v2_1;
        if (p1 == null) {
            v2_1 = ((org.spongycastle.crypto.params.ECPublicKeyParameters) p2);
        } else {
            if (!(p2 instanceof org.spongycastle.crypto.params.ParametersWithRandom)) {
                this.random = new java.security.SecureRandom();
            } else {
                this.random = ((org.spongycastle.crypto.params.ParametersWithRandom) p2).getRandom();
                p2 = ((org.spongycastle.crypto.params.ParametersWithRandom) p2).getParameters();
            }
            v2_1 = ((org.spongycastle.crypto.params.ECPrivateKeyParameters) p2);
        }
        this.key = v2_1;
        return;
    }

Method org.spongycastle.crypto.signers.DSASigner.initSecureRandom() calling method java.security.SecureRandom.<init>()


    protected java.security.SecureRandom initSecureRandom(boolean p1, java.security.SecureRandom p2)
    {
        if (p1) {
            if (p2 == null) {
                p2 = new java.security.SecureRandom();
            }
        } else {
            p2 = 0;
        }
        return p2;
    }

Method org.spongycastle.crypto.params.ParametersWithRandom.<init>() calling method java.security.SecureRandom.<init>()


    public ParametersWithRandom(org.spongycastle.crypto.CipherParameters p2)
    {
        this(p2, new java.security.SecureRandom());
        return;
    }

Method org.spongycastle.crypto.paddings.ISO10126d2Padding.init() calling method java.security.SecureRandom.<init>()


    public void init(java.security.SecureRandom p1)
    {
        if (p1 == null) {
            p1 = new java.security.SecureRandom();
        }
        this.random = p1;
        return;
    }

Method org.spongycastle.crypto.engines.RSABlindedEngine.init() calling method java.security.SecureRandom.<init>()


    public void init(boolean p2, org.spongycastle.crypto.CipherParameters p3)
    {
        java.security.SecureRandom v2_3;
        this.core.init(p2, p3);
        if (!(p3 instanceof org.spongycastle.crypto.params.ParametersWithRandom)) {
            this.key = ((org.spongycastle.crypto.params.RSAKeyParameters) p3);
            v2_3 = new java.security.SecureRandom();
        } else {
            this.key = ((org.spongycastle.crypto.params.RSAKeyParameters) ((org.spongycastle.crypto.params.ParametersWithRandom) p3).getParameters());
            v2_3 = ((org.spongycastle.crypto.params.ParametersWithRandom) p3).getRandom();
        }
        this.random = v2_3;
        return;
    }

Method org.spongycastle.crypto.engines.RFC3211WrapEngine.init() calling method java.security.SecureRandom.<init>()


    public void init(boolean p2, org.spongycastle.crypto.CipherParameters p3)
    {
        this.forWrapping = p2;
        if (!(p3 instanceof org.spongycastle.crypto.params.ParametersWithRandom)) {
            if (p2 != null) {
                this.rand = new java.security.SecureRandom();
            }
            this.param = ((org.spongycastle.crypto.params.ParametersWithIV) p3);
        } else {
            this.rand = ((org.spongycastle.crypto.params.ParametersWithRandom) p3).getRandom();
            this.param = ((org.spongycastle.crypto.params.ParametersWithIV) ((org.spongycastle.crypto.params.ParametersWithRandom) p3).getParameters());
        }
        return;
    }

Method org.spongycastle.crypto.engines.RC2WrapEngine.init() calling method java.security.SecureRandom.<init>()


    public void init(boolean p2, org.spongycastle.crypto.CipherParameters p3)
    {
        this.forWrapping = p2;
        this.engine = new org.spongycastle.crypto.modes.CBCBlockCipher(new org.spongycastle.crypto.engines.RC2Engine());
        if (!(p3 instanceof org.spongycastle.crypto.params.ParametersWithRandom)) {
            this.sr = new java.security.SecureRandom();
        } else {
            this.sr = ((org.spongycastle.crypto.params.ParametersWithRandom) p3).getRandom();
            p3 = ((org.spongycastle.crypto.params.ParametersWithRandom) p3).getParameters();
        }
        if (!(p3 instanceof org.spongycastle.crypto.params.ParametersWithIV)) {
            this.param = p3;
            if (this.forWrapping) {
                IllegalArgumentException v2_5 = new byte[8];
                this.iv = v2_5;
                this.sr.nextBytes(this.iv);
                this.paramPlusIV = new org.spongycastle.crypto.params.ParametersWithIV(this.param, this.iv);
            }
        } else {
            this.paramPlusIV = ((org.spongycastle.crypto.params.ParametersWithIV) p3);
            this.iv = this.paramPlusIV.getIV();
            this.param = this.paramPlusIV.getParameters();
            if (!this.forWrapping) {
                throw new IllegalArgumentException("You should not supply an IV for unwrapping");
            } else {
                if ((this.iv == null) || (this.iv.length != 8)) {
                    throw new IllegalArgumentException("IV is not 8 octets");
                }
            }
        }
        return;
    }

Method org.spongycastle.crypto.engines.ElGamalEngine.init() calling method java.security.SecureRandom.<init>()


    public void init(boolean p2, org.spongycastle.crypto.CipherParameters p3)
    {
        String v3_1;
        if (!(p3 instanceof org.spongycastle.crypto.params.ParametersWithRandom)) {
            this.key = ((org.spongycastle.crypto.params.ElGamalKeyParameters) p3);
            v3_1 = new java.security.SecureRandom();
        } else {
            this.key = ((org.spongycastle.crypto.params.ElGamalKeyParameters) ((org.spongycastle.crypto.params.ParametersWithRandom) p3).getParameters());
            v3_1 = ((org.spongycastle.crypto.params.ParametersWithRandom) p3).getRandom();
        }
        this.random = v3_1;
        this.forEncryption = p2;
        this.bitSize = this.key.getParameters().getP().bitLength();
        if (p2 == null) {
            if (!(this.key instanceof org.spongycastle.crypto.params.ElGamalPrivateKeyParameters)) {
                throw new IllegalArgumentException("ElGamalPrivateKeyParameters are required for decryption.");
            }
        } else {
            if (!(this.key instanceof org.spongycastle.crypto.params.ElGamalPublicKeyParameters)) {
                throw new IllegalArgumentException("ElGamalPublicKeyParameters are required for encryption.");
            }
        }
        return;
    }

Method org.spongycastle.crypto.engines.DESedeWrapEngine.init() calling method java.security.SecureRandom.<init>()


    public void init(boolean p4, org.spongycastle.crypto.CipherParameters p5)
    {
        String v5_1;
        IllegalArgumentException v4_2;
        this.forWrapping = p4;
        this.engine = new org.spongycastle.crypto.modes.CBCBlockCipher(new org.spongycastle.crypto.engines.DESedeEngine());
        if (!(p5 instanceof org.spongycastle.crypto.params.ParametersWithRandom)) {
            v5_1 = new java.security.SecureRandom();
            v4_2 = p5;
        } else {
            v4_2 = ((org.spongycastle.crypto.params.ParametersWithRandom) p5).getParameters();
            v5_1 = ((org.spongycastle.crypto.params.ParametersWithRandom) p5).getRandom();
        }
        if (!(v4_2 instanceof org.spongycastle.crypto.params.KeyParameter)) {
            if ((v4_2 instanceof org.spongycastle.crypto.params.ParametersWithIV)) {
                this.paramPlusIV = ((org.spongycastle.crypto.params.ParametersWithIV) v4_2);
                this.iv = this.paramPlusIV.getIV();
                this.param = ((org.spongycastle.crypto.params.KeyParameter) this.paramPlusIV.getParameters());
                if (!this.forWrapping) {
                    throw new IllegalArgumentException("You should not supply an IV for unwrapping");
                } else {
                    if ((this.iv == null) || (this.iv.length != 8)) {
                        throw new IllegalArgumentException("IV is not 8 octets");
                    }
                }
            }
        } else {
            this.param = ((org.spongycastle.crypto.params.KeyParameter) v4_2);
            if (this.forWrapping) {
                IllegalArgumentException v4_20 = new byte[8];
                this.iv = v4_20;
                v5_1.nextBytes(this.iv);
                this.paramPlusIV = new org.spongycastle.crypto.params.ParametersWithIV(this.param, this.iv);
            }
        }
        return;
    }

Method org.spongycastle.crypto.encodings.PKCS1Encoding.init() calling method java.security.SecureRandom.<init>()


    public void init(boolean p3, org.spongycastle.crypto.CipherParameters p4)
    {
        org.spongycastle.crypto.params.AsymmetricKeyParameter v0_4;
        if (!(p4 instanceof org.spongycastle.crypto.params.ParametersWithRandom)) {
            v0_4 = ((org.spongycastle.crypto.params.AsymmetricKeyParameter) p4);
            if ((!((org.spongycastle.crypto.params.AsymmetricKeyParameter) p4).isPrivate()) && (p3)) {
                this.random = new java.security.SecureRandom();
            }
        } else {
            this.random = ((org.spongycastle.crypto.params.ParametersWithRandom) p4).getRandom();
            v0_4 = ((org.spongycastle.crypto.params.AsymmetricKeyParameter) ((org.spongycastle.crypto.params.ParametersWithRandom) p4).getParameters());
        }
        this.engine.init(p3, p4);
        this.forPrivateKey = v0_4.isPrivate();
        this.forEncryption = p3;
        return;
    }

Method org.spongycastle.crypto.encodings.OAEPEncoding.init() calling method java.security.SecureRandom.<init>()


    public void init(boolean p2, org.spongycastle.crypto.CipherParameters p3)
    {
        org.spongycastle.crypto.AsymmetricBlockCipher v0_2;
        if (!(p3 instanceof org.spongycastle.crypto.params.ParametersWithRandom)) {
            v0_2 = new java.security.SecureRandom();
        } else {
            v0_2 = ((org.spongycastle.crypto.params.ParametersWithRandom) p3).getRandom();
        }
        this.random = v0_2;
        this.engine.init(p2, p3);
        this.forEncryption = p2;
        return;
    }

Method org.spongycastle.crypto.ec.ECNewPublicKeyTransform.init() calling method java.security.SecureRandom.<init>()


    public void init(org.spongycastle.crypto.CipherParameters p2)
    {
        IllegalArgumentException v2_2;
        if (!(p2 instanceof org.spongycastle.crypto.params.ParametersWithRandom)) {
            if (!(p2 instanceof org.spongycastle.crypto.params.ECPublicKeyParameters)) {
                throw new IllegalArgumentException("ECPublicKeyParameters are required for new public key transform.");
            } else {
                this.key = ((org.spongycastle.crypto.params.ECPublicKeyParameters) p2);
                v2_2 = new java.security.SecureRandom();
            }
        } else {
            if (!(((org.spongycastle.crypto.params.ParametersWithRandom) p2).getParameters() instanceof org.spongycastle.crypto.params.ECPublicKeyParameters)) {
                throw new IllegalArgumentException("ECPublicKeyParameters are required for new public key transform.");
            } else {
                this.key = ((org.spongycastle.crypto.params.ECPublicKeyParameters) ((org.spongycastle.crypto.params.ParametersWithRandom) p2).getParameters());
                v2_2 = ((org.spongycastle.crypto.params.ParametersWithRandom) p2).getRandom();
            }
        }
        this.random = v2_2;
        return;
    }

Method org.spongycastle.crypto.ec.ECElGamalEncryptor.init() calling method java.security.SecureRandom.<init>()


    public void init(org.spongycastle.crypto.CipherParameters p2)
    {
        IllegalArgumentException v2_2;
        if (!(p2 instanceof org.spongycastle.crypto.params.ParametersWithRandom)) {
            if (!(p2 instanceof org.spongycastle.crypto.params.ECPublicKeyParameters)) {
                throw new IllegalArgumentException("ECPublicKeyParameters are required for encryption.");
            } else {
                this.key = ((org.spongycastle.crypto.params.ECPublicKeyParameters) p2);
                v2_2 = new java.security.SecureRandom();
            }
        } else {
            if (!(((org.spongycastle.crypto.params.ParametersWithRandom) p2).getParameters() instanceof org.spongycastle.crypto.params.ECPublicKeyParameters)) {
                throw new IllegalArgumentException("ECPublicKeyParameters are required for encryption.");
            } else {
                this.key = ((org.spongycastle.crypto.params.ECPublicKeyParameters) ((org.spongycastle.crypto.params.ParametersWithRandom) p2).getParameters());
                v2_2 = ((org.spongycastle.crypto.params.ParametersWithRandom) p2).getRandom();
            }
        }
        this.random = v2_2;
        return;
    }

Method org.spongycastle.crypto.a.l.init() calling method java.security.SecureRandom.<init>()


    public void init(org.spongycastle.crypto.KeyGenerationParameters p2)
    {
        this.b = ((org.spongycastle.crypto.params.ECKeyGenerationParameters) p2).getRandom();
        this.a = ((org.spongycastle.crypto.params.ECKeyGenerationParameters) p2).getDomainParameters();
        if (this.b == null) {
            this.b = new java.security.SecureRandom();
        }
        return;
    }

Method org.bouncycastle.util.test.TestRandomEntropySourceProvider.<init>() calling method java.security.SecureRandom.<init>()


    public TestRandomEntropySourceProvider(boolean p2)
    {
        this._sr = new java.security.SecureRandom();
        this._predictionResistant = p2;
        return;
    }

Method org.bouncycastle.pqc.math.linearalgebra.GF2Matrix.<init>() calling method java.security.SecureRandom.<init>()


    public GF2Matrix(int p2, char p3)
    {
        this(p2, p3, new java.security.SecureRandom());
        return;
    }

Method org.bouncycastle.pqc.jcajce.provider.util.AsymmetricHybridCipher.initEncrypt() calling method java.security.SecureRandom.<init>()


    public final void initEncrypt(java.security.Key p2, java.security.spec.AlgorithmParameterSpec p3)
    {
        this.initEncrypt(p2, p3, new java.security.SecureRandom());
        return;
    }

Method org.bouncycastle.pqc.jcajce.provider.util.AsymmetricHybridCipher.initEncrypt() calling method java.security.SecureRandom.<init>()


    public final void initEncrypt(java.security.Key p3)
    {
        try {
            this.initEncrypt(p3, 0, new java.security.SecureRandom());
            return;
        } catch (java.security.InvalidAlgorithmParameterException) {
            throw new java.security.InvalidParameterException("This cipher needs algorithm parameters for initialization (cannot be null).");
        }
    }

Method org.bouncycastle.pqc.jcajce.provider.util.AsymmetricBlockCipher.initEncrypt() calling method java.security.SecureRandom.<init>()


    public final void initEncrypt(java.security.Key p2, java.security.spec.AlgorithmParameterSpec p3)
    {
        this.initEncrypt(p2, p3, new java.security.SecureRandom());
        return;
    }

Method org.bouncycastle.pqc.jcajce.provider.util.AsymmetricBlockCipher.initEncrypt() calling method java.security.SecureRandom.<init>()


    public final void initEncrypt(java.security.Key p3)
    {
        try {
            this.initEncrypt(p3, 0, new java.security.SecureRandom());
            return;
        } catch (java.security.InvalidAlgorithmParameterException) {
            throw new java.security.InvalidParameterException("This cipher needs algorithm parameters for initialization (cannot be null).");
        }
    }

Method org.bouncycastle.pqc.crypto.rainbow.RainbowSigner.init() calling method java.security.SecureRandom.<init>()


    public void init(boolean p1, org.bouncycastle.crypto.CipherParameters p2)
    {
        org.bouncycastle.pqc.crypto.rainbow.RainbowPrivateKeyParameters v2_1;
        if (p1 == 0) {
            v2_1 = ((org.bouncycastle.pqc.crypto.rainbow.RainbowPublicKeyParameters) p2);
            this.key = v2_1;
        } else {
            if (!(p2 instanceof org.bouncycastle.crypto.params.ParametersWithRandom)) {
                this.random = new java.security.SecureRandom();
                v2_1 = ((org.bouncycastle.pqc.crypto.rainbow.RainbowPrivateKeyParameters) p2);
            } else {
                this.random = ((org.bouncycastle.crypto.params.ParametersWithRandom) p2).getRandom();
                this.key = ((org.bouncycastle.pqc.crypto.rainbow.RainbowPrivateKeyParameters) ((org.bouncycastle.crypto.params.ParametersWithRandom) p2).getParameters());
            }
        }
        this.signableDocumentLength = this.key.getDocLength();
        return;
    }

Method org.bouncycastle.pqc.crypto.rainbow.RainbowKeyPairGenerator.initialize() calling method java.security.SecureRandom.<init>()


    public void initialize(org.bouncycastle.crypto.KeyGenerationParameters p1)
    {
        this.rainbowParams = ((org.bouncycastle.pqc.crypto.rainbow.RainbowKeyGenerationParameters) p1);
        this.sr = new java.security.SecureRandom();
        this.vi = this.rainbowParams.getParameters().getVi();
        this.numOfLayers = this.rainbowParams.getParameters().getNumOfLayers();
        this.initialized = 1;
        return;
    }

Method org.bouncycastle.pqc.crypto.rainbow.RainbowKeyPairGenerator.initializeDefault() calling method java.security.SecureRandom.<init>()


    private void initializeDefault()
    {
        this.initialize(new org.bouncycastle.pqc.crypto.rainbow.RainbowKeyGenerationParameters(new java.security.SecureRandom(), new org.bouncycastle.pqc.crypto.rainbow.RainbowParameters()));
        return;
    }

Method org.bouncycastle.pqc.crypto.mceliece.McEliecePointchevalCipher.initCipherEncrypt() calling method java.security.SecureRandom.<init>()


    public void initCipherEncrypt(org.bouncycastle.pqc.crypto.mceliece.McElieceCCA2PublicKeyParameters p2)
    {
        int v0_4;
        if (this.sr == null) {
            v0_4 = new java.security.SecureRandom();
        } else {
            v0_4 = this.sr;
        }
        this.sr = v0_4;
        this.messDigest = org.bouncycastle.pqc.crypto.mceliece.Utils.getDigest(p2.getDigest());
        this.n = p2.getN();
        this.k = p2.getK();
        this.t = p2.getT();
        return;
    }

Method org.bouncycastle.pqc.crypto.mceliece.McEliecePointchevalCipher.init() calling method java.security.SecureRandom.<init>()


    public void init(boolean p1, org.bouncycastle.crypto.CipherParameters p2)
    {
        this.forEncryption = p1;
        if (p1 == null) {
            this.key = ((org.bouncycastle.pqc.crypto.mceliece.McElieceCCA2PrivateKeyParameters) p2);
            this.initCipherDecrypt(((org.bouncycastle.pqc.crypto.mceliece.McElieceCCA2PrivateKeyParameters) this.key));
        } else {
            if (!(p2 instanceof org.bouncycastle.crypto.params.ParametersWithRandom)) {
                this.sr = new java.security.SecureRandom();
                this.key = ((org.bouncycastle.pqc.crypto.mceliece.McElieceCCA2PublicKeyParameters) p2);
            } else {
                this.sr = ((org.bouncycastle.crypto.params.ParametersWithRandom) p2).getRandom();
                this.key = ((org.bouncycastle.pqc.crypto.mceliece.McElieceCCA2PublicKeyParameters) ((org.bouncycastle.crypto.params.ParametersWithRandom) p2).getParameters());
            }
            this.initCipherEncrypt(((org.bouncycastle.pqc.crypto.mceliece.McElieceCCA2PublicKeyParameters) this.key));
        }
        return;
    }

Method org.bouncycastle.pqc.crypto.mceliece.McElieceKobaraImaiCipher.init() calling method java.security.SecureRandom.<init>()


    public void init(boolean p1, org.bouncycastle.crypto.CipherParameters p2)
    {
        this.forEncryption = p1;
        if (p1 == null) {
            this.key = ((org.bouncycastle.pqc.crypto.mceliece.McElieceCCA2PrivateKeyParameters) p2);
            this.initCipherDecrypt(((org.bouncycastle.pqc.crypto.mceliece.McElieceCCA2PrivateKeyParameters) this.key));
        } else {
            if (!(p2 instanceof org.bouncycastle.crypto.params.ParametersWithRandom)) {
                this.sr = new java.security.SecureRandom();
                this.key = ((org.bouncycastle.pqc.crypto.mceliece.McElieceCCA2PublicKeyParameters) p2);
            } else {
                this.sr = ((org.bouncycastle.crypto.params.ParametersWithRandom) p2).getRandom();
                this.key = ((org.bouncycastle.pqc.crypto.mceliece.McElieceCCA2PublicKeyParameters) ((org.bouncycastle.crypto.params.ParametersWithRandom) p2).getParameters());
            }
            this.initCipherEncrypt(((org.bouncycastle.pqc.crypto.mceliece.McElieceCCA2PublicKeyParameters) this.key));
        }
        return;
    }

Method org.bouncycastle.pqc.crypto.mceliece.McElieceKeyPairGenerator.initializeDefault() calling method java.security.SecureRandom.<init>()


    private void initializeDefault()
    {
        this.initialize(new org.bouncycastle.pqc.crypto.mceliece.McElieceKeyGenerationParameters(new java.security.SecureRandom(), new org.bouncycastle.pqc.crypto.mceliece.McElieceParameters()));
        return;
    }

Method org.bouncycastle.pqc.crypto.mceliece.McElieceKeyPairGenerator.initialize() calling method java.security.SecureRandom.<init>()


    private void initialize(org.bouncycastle.crypto.KeyGenerationParameters p1)
    {
        this.mcElieceParams = ((org.bouncycastle.pqc.crypto.mceliece.McElieceKeyGenerationParameters) p1);
        this.random = new java.security.SecureRandom();
        this.m = this.mcElieceParams.getParameters().getM();
        this.n = this.mcElieceParams.getParameters().getN();
        this.t = this.mcElieceParams.getParameters().getT();
        this.fieldPoly = this.mcElieceParams.getParameters().getFieldPoly();
        this.initialized = 1;
        return;
    }

Method org.bouncycastle.pqc.crypto.mceliece.McElieceFujisakiCipher.init() calling method java.security.SecureRandom.<init>()


    public void init(boolean p1, org.bouncycastle.crypto.CipherParameters p2)
    {
        this.forEncryption = p1;
        if (p1 == null) {
            this.key = ((org.bouncycastle.pqc.crypto.mceliece.McElieceCCA2PrivateKeyParameters) p2);
            this.initCipherDecrypt(((org.bouncycastle.pqc.crypto.mceliece.McElieceCCA2PrivateKeyParameters) this.key));
        } else {
            if (!(p2 instanceof org.bouncycastle.crypto.params.ParametersWithRandom)) {
                this.sr = new java.security.SecureRandom();
                this.key = ((org.bouncycastle.pqc.crypto.mceliece.McElieceCCA2PublicKeyParameters) p2);
            } else {
                this.sr = ((org.bouncycastle.crypto.params.ParametersWithRandom) p2).getRandom();
                this.key = ((org.bouncycastle.pqc.crypto.mceliece.McElieceCCA2PublicKeyParameters) ((org.bouncycastle.crypto.params.ParametersWithRandom) p2).getParameters());
            }
            this.initCipherEncrypt(((org.bouncycastle.pqc.crypto.mceliece.McElieceCCA2PublicKeyParameters) this.key));
        }
        return;
    }

Method org.bouncycastle.pqc.crypto.mceliece.McElieceFujisakiCipher.initCipherEncrypt() calling method java.security.SecureRandom.<init>()


    private void initCipherEncrypt(org.bouncycastle.pqc.crypto.mceliece.McElieceCCA2PublicKeyParameters p2)
    {
        int v0_4;
        if (this.sr == null) {
            v0_4 = new java.security.SecureRandom();
        } else {
            v0_4 = this.sr;
        }
        this.sr = v0_4;
        this.messDigest = org.bouncycastle.pqc.crypto.mceliece.Utils.getDigest(p2.getDigest());
        this.n = p2.getN();
        this.k = p2.getK();
        this.t = p2.getT();
        return;
    }

Method org.bouncycastle.pqc.crypto.mceliece.McElieceCipher.initCipherEncrypt() calling method java.security.SecureRandom.<init>()


    public void initCipherEncrypt(org.bouncycastle.pqc.crypto.mceliece.McEliecePublicKeyParameters p2)
    {
        int v0_3;
        if (this.sr == null) {
            v0_3 = new java.security.SecureRandom();
        } else {
            v0_3 = this.sr;
        }
        this.sr = v0_3;
        this.n = p2.getN();
        this.k = p2.getK();
        this.t = p2.getT();
        this.cipherTextSize = (this.n >> 3);
        this.maxPlainTextSize = (this.k >> 3);
        return;
    }

Method org.bouncycastle.pqc.crypto.mceliece.McElieceCipher.init() calling method java.security.SecureRandom.<init>()


    public void init(boolean p1, org.bouncycastle.crypto.CipherParameters p2)
    {
        this.forEncryption = p1;
        if (p1 == null) {
            this.key = ((org.bouncycastle.pqc.crypto.mceliece.McEliecePrivateKeyParameters) p2);
            this.initCipherDecrypt(((org.bouncycastle.pqc.crypto.mceliece.McEliecePrivateKeyParameters) this.key));
        } else {
            if (!(p2 instanceof org.bouncycastle.crypto.params.ParametersWithRandom)) {
                this.sr = new java.security.SecureRandom();
                this.key = ((org.bouncycastle.pqc.crypto.mceliece.McEliecePublicKeyParameters) p2);
            } else {
                this.sr = ((org.bouncycastle.crypto.params.ParametersWithRandom) p2).getRandom();
                this.key = ((org.bouncycastle.pqc.crypto.mceliece.McEliecePublicKeyParameters) ((org.bouncycastle.crypto.params.ParametersWithRandom) p2).getParameters());
            }
            this.initCipherEncrypt(((org.bouncycastle.pqc.crypto.mceliece.McEliecePublicKeyParameters) this.key));
        }
        return;
    }

Method org.bouncycastle.pqc.crypto.mceliece.McElieceCCA2KeyPairGenerator.init() calling method java.security.SecureRandom.<init>()


    public void init(org.bouncycastle.crypto.KeyGenerationParameters p1)
    {
        this.mcElieceCCA2Params = ((org.bouncycastle.pqc.crypto.mceliece.McElieceCCA2KeyGenerationParameters) p1);
        this.random = new java.security.SecureRandom();
        this.m = this.mcElieceCCA2Params.getParameters().getM();
        this.n = this.mcElieceCCA2Params.getParameters().getN();
        this.t = this.mcElieceCCA2Params.getParameters().getT();
        this.fieldPoly = this.mcElieceCCA2Params.getParameters().getFieldPoly();
        this.initialized = 1;
        return;
    }

Method org.bouncycastle.pqc.crypto.mceliece.McElieceCCA2KeyPairGenerator.initializeDefault() calling method java.security.SecureRandom.<init>()


    private void initializeDefault()
    {
        this.init(new org.bouncycastle.pqc.crypto.mceliece.McElieceCCA2KeyGenerationParameters(new java.security.SecureRandom(), new org.bouncycastle.pqc.crypto.mceliece.McElieceCCA2Parameters()));
        return;
    }

Method org.bouncycastle.pqc.crypto.gmss.GMSSSigner.init() calling method java.security.SecureRandom.<init>()


    public void init(boolean p1, org.bouncycastle.crypto.CipherParameters p2)
    {
        if (p1 == null) {
            this.key = ((org.bouncycastle.pqc.crypto.gmss.GMSSPublicKeyParameters) p2);
            this.initVerify();
        } else {
            if (!(p2 instanceof org.bouncycastle.crypto.params.ParametersWithRandom)) {
                this.random = new java.security.SecureRandom();
                this.key = ((org.bouncycastle.pqc.crypto.gmss.GMSSPrivateKeyParameters) p2);
            } else {
                this.random = ((org.bouncycastle.crypto.params.ParametersWithRandom) p2).getRandom();
                this.key = ((org.bouncycastle.pqc.crypto.gmss.GMSSPrivateKeyParameters) ((org.bouncycastle.crypto.params.ParametersWithRandom) p2).getParameters());
            }
            this.initSign();
        }
        return;
    }

Method org.bouncycastle.pqc.crypto.gmss.GMSSKeyPairGenerator.initialize() calling method java.security.SecureRandom.<init>()


    public void initialize(org.bouncycastle.crypto.KeyGenerationParameters p5)
    {
        this.gmssParams = ((org.bouncycastle.pqc.crypto.gmss.GMSSKeyGenerationParameters) p5);
        this.gmssPS = new org.bouncycastle.pqc.crypto.gmss.GMSSParameters(this.gmssParams.getParameters().getNumOfLayers(), this.gmssParams.getParameters().getHeightOfTrees(), this.gmssParams.getParameters().getWinternitzParameter(), this.gmssParams.getParameters().getK());
        this.numLayer = this.gmssPS.getNumOfLayers();
        this.heightOfTrees = this.gmssPS.getHeightOfTrees();
        this.otsIndex = this.gmssPS.getWinternitzParameter();
        this.K = this.gmssPS.getK();
        this.currentSeeds = ((byte[][]) reflect.Array.newInstance(byte, new int[] {this.numLayer, this.mdLength})));
        this.nextNextSeeds = ((byte[][]) reflect.Array.newInstance(byte, new int[] {(this.numLayer - 1), this.mdLength})));
        java.security.SecureRandom v5_22 = new java.security.SecureRandom();
        int v1_4 = 0;
        while (v1_4 < this.numLayer) {
            v5_22.nextBytes(this.currentSeeds[v1_4]);
            this.gmssRandom.nextSeed(this.currentSeeds[v1_4]);
            v1_4++;
        }
        this.initialized = 1;
        return;
    }

Method org.bouncycastle.pqc.crypto.gmss.GMSSKeyPairGenerator.initializeDefault() calling method java.security.SecureRandom.<init>()


    private void initializeDefault()
    {
        int[] v1 = new int[4];
        v1 = {10, 10, 10, 10};
        int[] v2 = new int[4];
        v2 = {3, 3, 3, 3};
        int[] v0_1 = new int[4];
        v0_1 = {2, 2, 2, 2};
        this.initialize(new org.bouncycastle.pqc.crypto.gmss.GMSSKeyGenerationParameters(new java.security.SecureRandom(), new org.bouncycastle.pqc.crypto.gmss.GMSSParameters(v1.length, v1, v2, v0_1)));
        return;
    }

Method org.bouncycastle.pkcs.jcajce.JcePKCS12MacCalculatorBuilder.build() calling method java.security.SecureRandom.<init>()


    public org.bouncycastle.operator.MacCalculator build(char[] p5)
    {
        if (this.random == null) {
            this.random = new java.security.SecureRandom();
        }
        try {
            org.bouncycastle.operator.OperatorCreationException v0_1 = this.helper.createMac(this.algorithm.getId());
            this.saltLength = v0_1.getMacLength();
            String v1_2 = new byte[this.saltLength];
            this.random.nextBytes(v1_2);
            String v2_2 = new javax.crypto.spec.PBEParameterSpec(v1_2, this.iterationCount);
            org.bouncycastle.jcajce.PKCS12Key v3_2 = new org.bouncycastle.jcajce.PKCS12Key(p5);
            v0_1.init(v3_2, v2_2);
            return new org.bouncycastle.pkcs.jcajce.JcePKCS12MacCalculatorBuilder$1(this, v1_2, v0_1, v3_2);
        } catch (Exception v5_3) {
            String v1_4 = new StringBuilder();
            v1_4.append("unable to create MAC calculator: ");
            v1_4.append(v5_3.getMessage());
            throw new org.bouncycastle.operator.OperatorCreationException(v1_4.toString(), v5_3);
        }
    }

Method org.bouncycastle.pkcs.bc.BcPKCS12MacCalculatorBuilder.build() calling method java.security.SecureRandom.<init>()


    public org.bouncycastle.operator.MacCalculator build(char[] p6)
    {
        if (this.random == null) {
            this.random = new java.security.SecureRandom();
        }
        byte[] v0_4 = new byte[this.saltLength];
        this.random.nextBytes(v0_4);
        return org.bouncycastle.pkcs.bc.PKCS12PBEUtils.createMacCalculator(this.algorithmIdentifier.getAlgorithm(), this.digest, new org.bouncycastle.asn1.pkcs.PKCS12PBEParams(v0_4, this.iterationCount), p6);
    }

Method org.bouncycastle.jce.provider.BrokenJCEBlockCipher.engineInit() calling method java.security.SecureRandom.<init>()


    protected void engineInit(int p9, java.security.Key p10, java.security.spec.AlgorithmParameterSpec p11, java.security.SecureRandom p12)
    {
        org.bouncycastle.crypto.params.ParametersWithIV v10_5;
        if (!(p10 instanceof org.bouncycastle.jcajce.provider.symmetric.util.BCPBEKey)) {
            byte[] v11_10;
            if (p11 != null) {
                org.bouncycastle.crypto.params.RC5Parameters v0_2;
                if (!(p11 instanceof javax.crypto.spec.IvParameterSpec)) {
                    if (!(p11 instanceof javax.crypto.spec.RC2ParameterSpec)) {
                        if (!(p11 instanceof javax.crypto.spec.RC5ParameterSpec)) {
                            throw new java.security.InvalidAlgorithmParameterException("unknown parameter type.");
                        } else {
                            v0_2 = new org.bouncycastle.crypto.params.RC5Parameters(p10.getEncoded(), ((javax.crypto.spec.RC5ParameterSpec) p11).getRounds());
                            if (((javax.crypto.spec.RC5ParameterSpec) p11).getWordSize() != 32) {
                                throw new IllegalArgumentException("can only accept RC5 word size 32 (at the moment...)");
                            } else {
                                if ((((javax.crypto.spec.RC5ParameterSpec) p11).getIV() != null) && (this.ivLength != 0)) {
                                    v10_5 = new org.bouncycastle.crypto.params.ParametersWithIV(v0_2, ((javax.crypto.spec.RC5ParameterSpec) p11).getIV());
                                    this.ivParam = ((org.bouncycastle.crypto.params.ParametersWithIV) v10_5);
                                    if ((this.ivLength != 0) && (!(v10_5 instanceof org.bouncycastle.crypto.params.ParametersWithIV))) {
                                        if (p12 == null) {
                                            p12 = new java.security.SecureRandom();
                                        }
                                        if ((p9 != 1) && (p9 != 3)) {
                                            throw new java.security.InvalidAlgorithmParameterException("no IV set when one expected");
                                        } else {
                                            byte[] v11_3 = new byte[this.ivLength];
                                            p12.nextBytes(v11_3);
                                            org.bouncycastle.crypto.params.ParametersWithIV v12_3 = new org.bouncycastle.crypto.params.ParametersWithIV(v10_5, v11_3);
                                            this.ivParam = ((org.bouncycastle.crypto.params.ParametersWithIV) v12_3);
                                            v10_5 = v12_3;
                                        }
                                    }
                                    switch (p9) {
                                        case 1:
                                        case 3:
                                            this.cipher.init(1, v10_5);
                                            break;
                                        case 2:
                                        case 4:
                                            this.cipher.init(0, v10_5);
                                            break;
                                        default:
                                            System.out.println("eeek!");
                                    }
                                    return;
                                }
                            }
                        }
                    } else {
                        v0_2 = new org.bouncycastle.crypto.params.RC2Parameters(p10.getEncoded(), ((javax.crypto.spec.RC2ParameterSpec) p11).getEffectiveKeyBits());
                        if ((((javax.crypto.spec.RC2ParameterSpec) p11).getIV() != null) && (this.ivLength != 0)) {
                            v10_5 = new org.bouncycastle.crypto.params.ParametersWithIV(v0_2, ((javax.crypto.spec.RC2ParameterSpec) p11).getIV());
                        }
                    }
                } else {
                    if (this.ivLength == 0) {
                        v11_10 = new org.bouncycastle.crypto.params.KeyParameter(p10.getEncoded());
                        v10_5 = v11_10;
                    } else {
                        v0_2 = new org.bouncycastle.crypto.params.ParametersWithIV(new org.bouncycastle.crypto.params.KeyParameter(p10.getEncoded()), ((javax.crypto.spec.IvParameterSpec) p11).getIV());
                        this.ivParam = ((org.bouncycastle.crypto.params.ParametersWithIV) v0_2);
                    }
                }
                v10_5 = v0_2;
            } else {
                v11_10 = new org.bouncycastle.crypto.params.KeyParameter(p10.getEncoded());
            }
        } else {
            v10_5 = org.bouncycastle.jce.provider.BrokenPBE$Util.makePBEParameters(((org.bouncycastle.jcajce.provider.symmetric.util.BCPBEKey) p10), p11, this.pbeType, this.pbeHash, this.cipher.getUnderlyingCipher().getAlgorithmName(), this.pbeKeySize, this.pbeIvSize);
            if (this.pbeIvSize != 0) {
            }
        }
    }

Method org.bouncycastle.jcajce.provider.symmetric.Shacal2$AlgParamGen.engineGenerateParameters() calling method java.security.SecureRandom.<init>()


    protected java.security.AlgorithmParameters engineGenerateParameters()
    {
        String v0_1 = new byte[32];
        if (this.random == null) {
            this.random = new java.security.SecureRandom();
        }
        this.random.nextBytes(v0_1);
        try {
            RuntimeException v1_0 = this.createParametersInstance("Shacal2");
            v1_0.init(new javax.crypto.spec.IvParameterSpec(v0_1));
            return v1_0;
        } catch (String v0_2) {
            throw new RuntimeException(v0_2.getMessage());
        }
    }

Method org.bouncycastle.jcajce.provider.symmetric.SM4$AlgParamGen.engineGenerateParameters() calling method java.security.SecureRandom.<init>()


    protected java.security.AlgorithmParameters engineGenerateParameters()
    {
        String v0_1 = new byte[16];
        if (this.random == null) {
            this.random = new java.security.SecureRandom();
        }
        this.random.nextBytes(v0_1);
        try {
            RuntimeException v1_0 = this.createParametersInstance("SM4");
            v1_0.init(new javax.crypto.spec.IvParameterSpec(v0_1));
            return v1_0;
        } catch (String v0_2) {
            throw new RuntimeException(v0_2.getMessage());
        }
    }

Method org.bouncycastle.jcajce.provider.symmetric.SEED$AlgParamGen.engineGenerateParameters() calling method java.security.SecureRandom.<init>()


    protected java.security.AlgorithmParameters engineGenerateParameters()
    {
        String v0_1 = new byte[16];
        if (this.random == null) {
            this.random = new java.security.SecureRandom();
        }
        this.random.nextBytes(v0_1);
        try {
            RuntimeException v1_0 = this.createParametersInstance("SEED");
            v1_0.init(new javax.crypto.spec.IvParameterSpec(v0_1));
            return v1_0;
        } catch (String v0_2) {
            throw new RuntimeException(v0_2.getMessage());
        }
    }

Method org.bouncycastle.jcajce.provider.symmetric.RC6$AlgParamGen.engineGenerateParameters() calling method java.security.SecureRandom.<init>()


    protected java.security.AlgorithmParameters engineGenerateParameters()
    {
        String v0_1 = new byte[16];
        if (this.random == null) {
            this.random = new java.security.SecureRandom();
        }
        this.random.nextBytes(v0_1);
        try {
            RuntimeException v1_0 = this.createParametersInstance("RC6");
            v1_0.init(new javax.crypto.spec.IvParameterSpec(v0_1));
            return v1_0;
        } catch (String v0_2) {
            throw new RuntimeException(v0_2.getMessage());
        }
    }

Method org.bouncycastle.jcajce.provider.symmetric.RC5$AlgParamGen.engineGenerateParameters() calling method java.security.SecureRandom.<init>()


    protected java.security.AlgorithmParameters engineGenerateParameters()
    {
        String v0_1 = new byte[8];
        if (this.random == null) {
            this.random = new java.security.SecureRandom();
        }
        this.random.nextBytes(v0_1);
        try {
            RuntimeException v1_0 = this.createParametersInstance("RC5");
            v1_0.init(new javax.crypto.spec.IvParameterSpec(v0_1));
            return v1_0;
        } catch (String v0_2) {
            throw new RuntimeException(v0_2.getMessage());
        }
    }

Method org.bouncycastle.jcajce.provider.symmetric.RC2$AlgParamGen.engineGenerateParameters() calling method java.security.SecureRandom.<init>()


    protected java.security.AlgorithmParameters engineGenerateParameters()
    {
        RuntimeException v1_6;
        if (this.spec != null) {
            try {
                v1_6 = this.createParametersInstance("RC2");
                v1_6.init(this.spec);
            } catch (String v0_8) {
                throw new RuntimeException(v0_8.getMessage());
            }
        } else {
            String v0_3 = new byte[8];
            if (this.random == null) {
                this.random = new java.security.SecureRandom();
            }
            this.random.nextBytes(v0_3);
            try {
                v1_6 = this.createParametersInstance("RC2");
                v1_6.init(new javax.crypto.spec.IvParameterSpec(v0_3));
            } catch (String v0_5) {
                throw new RuntimeException(v0_5.getMessage());
            }
        }
        return v1_6;
    }

Method org.bouncycastle.jcajce.provider.symmetric.Noekeon$AlgParamGen.engineGenerateParameters() calling method java.security.SecureRandom.<init>()


    protected java.security.AlgorithmParameters engineGenerateParameters()
    {
        String v0_1 = new byte[16];
        if (this.random == null) {
            this.random = new java.security.SecureRandom();
        }
        this.random.nextBytes(v0_1);
        try {
            RuntimeException v1_0 = this.createParametersInstance("Noekeon");
            v1_0.init(new javax.crypto.spec.IvParameterSpec(v0_1));
            return v1_0;
        } catch (String v0_2) {
            throw new RuntimeException(v0_2.getMessage());
        }
    }

Method org.bouncycastle.jcajce.provider.symmetric.IDEA$AlgParamGen.engineGenerateParameters() calling method java.security.SecureRandom.<init>()


    protected java.security.AlgorithmParameters engineGenerateParameters()
    {
        String v0_1 = new byte[8];
        if (this.random == null) {
            this.random = new java.security.SecureRandom();
        }
        this.random.nextBytes(v0_1);
        try {
            RuntimeException v1_0 = this.createParametersInstance("IDEA");
            v1_0.init(new javax.crypto.spec.IvParameterSpec(v0_1));
            return v1_0;
        } catch (String v0_2) {
            throw new RuntimeException(v0_2.getMessage());
        }
    }

Method org.bouncycastle.jcajce.provider.symmetric.GOST28147$AlgParamGen.engineGenerateParameters() calling method java.security.SecureRandom.<init>()


    protected java.security.AlgorithmParameters engineGenerateParameters()
    {
        String v0_1 = new byte[16];
        if (this.random == null) {
            this.random = new java.security.SecureRandom();
        }
        this.random.nextBytes(v0_1);
        try {
            RuntimeException v1_0 = this.createParametersInstance("GOST28147");
            v1_0.init(new javax.crypto.spec.IvParameterSpec(v0_1));
            return v1_0;
        } catch (String v0_2) {
            throw new RuntimeException(v0_2.getMessage());
        }
    }

Method org.bouncycastle.jcajce.provider.symmetric.DESede$KeyGenerator.engineGenerateKey() calling method java.security.SecureRandom.<init>()


    protected javax.crypto.SecretKey engineGenerateKey()
    {
        if (this.uninitialised) {
            this.engine.init(new org.bouncycastle.crypto.KeyGenerationParameters(new java.security.SecureRandom(), this.defaultKeySize));
            this.uninitialised = 0;
        }
        if (this.keySizeSet) {
            return new javax.crypto.spec.SecretKeySpec(this.engine.generateKey(), this.algName);
        } else {
            javax.crypto.spec.SecretKeySpec v0_5 = this.engine.generateKey();
            System.arraycopy(v0_5, 0, v0_5, 16, 8);
            return new javax.crypto.spec.SecretKeySpec(v0_5, this.algName);
        }
    }

Method org.bouncycastle.jcajce.provider.symmetric.DESede$AlgParamGen.engineGenerateParameters() calling method java.security.SecureRandom.<init>()


    protected java.security.AlgorithmParameters engineGenerateParameters()
    {
        String v0_1 = new byte[8];
        if (this.random == null) {
            this.random = new java.security.SecureRandom();
        }
        this.random.nextBytes(v0_1);
        try {
            RuntimeException v1_0 = this.createParametersInstance("DES");
            v1_0.init(new javax.crypto.spec.IvParameterSpec(v0_1));
            return v1_0;
        } catch (String v0_2) {
            throw new RuntimeException(v0_2.getMessage());
        }
    }

Method org.bouncycastle.jcajce.provider.symmetric.DES$KeyGenerator.engineGenerateKey() calling method java.security.SecureRandom.<init>()


    protected javax.crypto.SecretKey engineGenerateKey()
    {
        if (this.uninitialised) {
            this.engine.init(new org.bouncycastle.crypto.KeyGenerationParameters(new java.security.SecureRandom(), this.defaultKeySize));
            this.uninitialised = 0;
        }
        return new javax.crypto.spec.SecretKeySpec(this.engine.generateKey(), this.algName);
    }

Method org.bouncycastle.jcajce.provider.symmetric.DES$AlgParamGen.engineGenerateParameters() calling method java.security.SecureRandom.<init>()


    protected java.security.AlgorithmParameters engineGenerateParameters()
    {
        String v0_1 = new byte[8];
        if (this.random == null) {
            this.random = new java.security.SecureRandom();
        }
        this.random.nextBytes(v0_1);
        try {
            RuntimeException v1_0 = this.createParametersInstance("DES");
            v1_0.init(new javax.crypto.spec.IvParameterSpec(v0_1));
            return v1_0;
        } catch (String v0_2) {
            throw new RuntimeException(v0_2.getMessage());
        }
    }

Method org.bouncycastle.jcajce.provider.symmetric.Camellia$AlgParamGen.engineGenerateParameters() calling method java.security.SecureRandom.<init>()


    protected java.security.AlgorithmParameters engineGenerateParameters()
    {
        String v0_1 = new byte[16];
        if (this.random == null) {
            this.random = new java.security.SecureRandom();
        }
        this.random.nextBytes(v0_1);
        try {
            RuntimeException v1_0 = this.createParametersInstance("Camellia");
            v1_0.init(new javax.crypto.spec.IvParameterSpec(v0_1));
            return v1_0;
        } catch (String v0_2) {
            throw new RuntimeException(v0_2.getMessage());
        }
    }

Method org.bouncycastle.jcajce.provider.symmetric.CAST5$AlgParamGen.engineGenerateParameters() calling method java.security.SecureRandom.<init>()


    protected java.security.AlgorithmParameters engineGenerateParameters()
    {
        String v0_1 = new byte[8];
        if (this.random == null) {
            this.random = new java.security.SecureRandom();
        }
        this.random.nextBytes(v0_1);
        try {
            RuntimeException v1_0 = this.createParametersInstance("CAST5");
            v1_0.init(new javax.crypto.spec.IvParameterSpec(v0_1));
            return v1_0;
        } catch (String v0_2) {
            throw new RuntimeException(v0_2.getMessage());
        }
    }

Method org.bouncycastle.jcajce.provider.symmetric.AES$AlgParamGenGCM.engineGenerateParameters() calling method java.security.SecureRandom.<init>()


    protected java.security.AlgorithmParameters engineGenerateParameters()
    {
        RuntimeException v1_0 = new byte[12];
        if (this.random == null) {
            this.random = new java.security.SecureRandom();
        }
        this.random.nextBytes(v1_0);
        try {
            java.security.AlgorithmParameters v2_0 = this.createParametersInstance("GCM");
            v2_0.init(new org.bouncycastle.asn1.cms.GCMParameters(v1_0, 12).getEncoded());
            return v2_0;
        } catch (String v0_2) {
            throw new RuntimeException(v0_2.getMessage());
        }
    }

Method org.bouncycastle.jcajce.provider.symmetric.AES$AlgParamGenCCM.engineGenerateParameters() calling method java.security.SecureRandom.<init>()


    protected java.security.AlgorithmParameters engineGenerateParameters()
    {
        RuntimeException v1_0 = new byte[12];
        if (this.random == null) {
            this.random = new java.security.SecureRandom();
        }
        this.random.nextBytes(v1_0);
        try {
            java.security.AlgorithmParameters v2_0 = this.createParametersInstance("CCM");
            v2_0.init(new org.bouncycastle.asn1.cms.CCMParameters(v1_0, 12).getEncoded());
            return v2_0;
        } catch (String v0_2) {
            throw new RuntimeException(v0_2.getMessage());
        }
    }

Method org.bouncycastle.jcajce.provider.symmetric.AES$AlgParamGen.engineGenerateParameters() calling method java.security.SecureRandom.<init>()


    protected java.security.AlgorithmParameters engineGenerateParameters()
    {
        String v0_1 = new byte[16];
        if (this.random == null) {
            this.random = new java.security.SecureRandom();
        }
        this.random.nextBytes(v0_1);
        try {
            RuntimeException v1_0 = this.createParametersInstance("AES");
            v1_0.init(new javax.crypto.spec.IvParameterSpec(v0_1));
            return v1_0;
        } catch (String v0_2) {
            throw new RuntimeException(v0_2.getMessage());
        }
    }

Method org.bouncycastle.jcajce.provider.keystore.pkcs12.PKCS12KeyStoreSpi.<init>() calling method java.security.SecureRandom.<init>()


    public PKCS12KeyStoreSpi(java.security.Provider p3, org.bouncycastle.asn1.ASN1ObjectIdentifier p4, org.bouncycastle.asn1.ASN1ObjectIdentifier p5)
    {
        String v3_2;
        this.helper = new org.bouncycastle.jcajce.util.BCJcaJceHelper();
        this.keys = new org.bouncycastle.jcajce.provider.keystore.pkcs12.PKCS12KeyStoreSpi$IgnoresCaseHashtable(0);
        this.localIds = new java.util.Hashtable();
        this.certs = new org.bouncycastle.jcajce.provider.keystore.pkcs12.PKCS12KeyStoreSpi$IgnoresCaseHashtable(0);
        this.chainCerts = new java.util.Hashtable();
        this.keyCerts = new java.util.Hashtable();
        this.random = new java.security.SecureRandom();
        this.keyAlgorithm = p4;
        this.certAlgorithm = p5;
        if (p3 == null) {
            v3_2 = java.security.cert.CertificateFactory.getInstance("X.509");
        } else {
            v3_2 = java.security.cert.CertificateFactory.getInstance("X.509", p3);
        }
        this.certFact = v3_2;
        return;
    }

Method org.bouncycastle.jcajce.provider.keystore.bc.BcKeyStoreSpi.<init>() calling method java.security.SecureRandom.<init>()


    public BcKeyStoreSpi(int p2)
    {
        this.table = new java.util.Hashtable();
        this.random = new java.security.SecureRandom();
        this.helper = new org.bouncycastle.jcajce.util.BCJcaJceHelper();
        this.version = p2;
        return;
    }

Method org.bouncycastle.jcajce.provider.asymmetric.rsa.CipherSpi.engineInit() calling method java.security.SecureRandom.<init>()


    protected void engineInit(int p6, java.security.Key p7, java.security.spec.AlgorithmParameterSpec p8, java.security.SecureRandom p9)
    {
        if ((p8 != null) && (!(p8 instanceof javax.crypto.spec.OAEPParameterSpec))) {
            String v7_16 = new StringBuilder();
            v7_16.append("unknown parameter type: ");
            v7_16.append(p8.getClass().getName());
            throw new java.security.InvalidAlgorithmParameterException(v7_16.toString());
        } else {
            String v7_12;
            if (!(p7 instanceof java.security.interfaces.RSAPublicKey)) {
                if (!(p7 instanceof java.security.interfaces.RSAPrivateKey)) {
                    throw new java.security.InvalidKeyException("unknown key type passed to RSA");
                } else {
                    if ((this.publicKeyOnly) && (p6 == 1)) {
                        throw new java.security.InvalidKeyException("mode 2 requires RSAPublicKey");
                    } else {
                        v7_12 = org.bouncycastle.jcajce.provider.asymmetric.rsa.RSAUtil.generatePrivateKeyParameter(((java.security.interfaces.RSAPrivateKey) p7));
                    }
                }
            } else {
                if ((this.privateKeyOnly) && (p6 == 1)) {
                    throw new java.security.InvalidKeyException("mode 1 requires RSAPrivateKey");
                } else {
                    v7_12 = org.bouncycastle.jcajce.provider.asymmetric.rsa.RSAUtil.generatePublicKeyParameter(((java.security.interfaces.RSAPublicKey) p7));
                }
            }
            if (p8 != null) {
                this.paramSpec = p8;
                if ((!((javax.crypto.spec.OAEPParameterSpec) p8).getMGFAlgorithm().equalsIgnoreCase("MGF1")) && (!((javax.crypto.spec.OAEPParameterSpec) p8).getMGFAlgorithm().equals(org.bouncycastle.asn1.pkcs.PKCSObjectIdentifiers.id_mgf1.getId()))) {
                    throw new java.security.InvalidAlgorithmParameterException("unknown mask generation function specified");
                } else {
                    if (!(((javax.crypto.spec.OAEPParameterSpec) p8).getMGFParameters() instanceof java.security.spec.MGF1ParameterSpec)) {
                        throw new java.security.InvalidAlgorithmParameterException("unkown MGF parameters");
                    } else {
                        String v8_18 = org.bouncycastle.jcajce.provider.util.DigestFactory.getDigest(((javax.crypto.spec.OAEPParameterSpec) p8).getDigestAlgorithm());
                        if (v8_18 == null) {
                            String v7_20 = new StringBuilder();
                            v7_20.append("no match on digest algorithm: ");
                            v7_20.append(((javax.crypto.spec.OAEPParameterSpec) p8).getDigestAlgorithm());
                            throw new java.security.InvalidAlgorithmParameterException(v7_20.toString());
                        } else {
                            org.bouncycastle.crypto.encodings.OAEPEncoding v2_6 = ((java.security.spec.MGF1ParameterSpec) ((javax.crypto.spec.OAEPParameterSpec) p8).getMGFParameters());
                            org.bouncycastle.crypto.Digest v3_1 = org.bouncycastle.jcajce.provider.util.DigestFactory.getDigest(v2_6.getDigestAlgorithm());
                            if (v3_1 == null) {
                                String v7_2 = new StringBuilder();
                                v7_2.append("no match on MGF digest algorithm: ");
                                v7_2.append(v2_6.getDigestAlgorithm());
                                throw new java.security.InvalidAlgorithmParameterException(v7_2.toString());
                            } else {
                                this.cipher = new org.bouncycastle.crypto.encodings.OAEPEncoding(new org.bouncycastle.crypto.engines.RSABlindedEngine(), v8_18, v3_1, ((javax.crypto.spec.PSource$PSpecified) ((javax.crypto.spec.OAEPParameterSpec) p8).getPSource()).getValue());
                            }
                        }
                    }
                }
            }
            String v8_6;
            if ((this.cipher instanceof org.bouncycastle.crypto.engines.RSABlindedEngine)) {
                v8_6 = v7_12;
            } else {
                if (p9 == null) {
                    v8_6 = new org.bouncycastle.crypto.params.ParametersWithRandom(v7_12, new java.security.SecureRandom());
                } else {
                    v8_6 = new org.bouncycastle.crypto.params.ParametersWithRandom(v7_12, p9);
                }
            }
            this.bOut.reset();
            switch (p6) {
                case 1:
                case 3:
                    this.cipher.init(1, v8_6);
                    break;
                case 2:
                case 4:
                    this.cipher.init(0, v8_6);
                    break;
                default:
                    String v8_10 = new StringBuilder();
                    v8_10.append("unknown opmode ");
                    v8_10.append(p6);
                    v8_10.append(" passed to RSA");
                    throw new java.security.InvalidParameterException(v8_10.toString());
            }
            return;
        }
    }

Method org.bouncycastle.jcajce.provider.asymmetric.gost.AlgorithmParameterGeneratorSpi.engineGenerateParameters() calling method java.security.SecureRandom.<init>()


    protected java.security.AlgorithmParameters engineGenerateParameters()
    {
        RuntimeException v1_5;
        org.bouncycastle.jce.spec.GOST3410PublicKeyParameterSetSpec v3_3;
        String v0_1 = new org.bouncycastle.crypto.generators.GOST3410ParametersGenerator();
        if (this.random == null) {
            v1_5 = this.strength;
            v3_3 = new java.security.SecureRandom();
        } else {
            v1_5 = this.strength;
            v3_3 = this.random;
        }
        v0_1.init(v1_5, 2, v3_3);
        String v0_2 = v0_1.generateParameters();
        try {
            RuntimeException v1_1 = this.createParametersInstance("GOST3410");
            v1_1.init(new org.bouncycastle.jce.spec.GOST3410ParameterSpec(new org.bouncycastle.jce.spec.GOST3410PublicKeyParameterSetSpec(v0_2.getP(), v0_2.getQ(), v0_2.getA())));
            return v1_1;
        } catch (String v0_4) {
            throw new RuntimeException(v0_4.getMessage());
        }
    }

Method org.bouncycastle.jcajce.provider.asymmetric.elgamal.AlgorithmParameterGeneratorSpi.engineGenerateParameters() calling method java.security.SecureRandom.<init>()


    protected java.security.AlgorithmParameters engineGenerateParameters()
    {
        java.math.BigInteger v3_2;
        RuntimeException v1_5;
        String v0_1 = new org.bouncycastle.crypto.generators.ElGamalParametersGenerator();
        if (this.random == null) {
            v1_5 = this.strength;
            v3_2 = new java.security.SecureRandom();
        } else {
            v1_5 = this.strength;
            v3_2 = this.random;
        }
        v0_1.init(v1_5, 20, v3_2);
        String v0_2 = v0_1.generateParameters();
        try {
            RuntimeException v1_1 = this.createParametersInstance("ElGamal");
            v1_1.init(new javax.crypto.spec.DHParameterSpec(v0_2.getP(), v0_2.getG(), this.l));
            return v1_1;
        } catch (String v0_4) {
            throw new RuntimeException(v0_4.getMessage());
        }
    }

Method org.bouncycastle.jcajce.provider.asymmetric.ec.KeyPairGeneratorSpi$EC.generateKeyPair() calling method java.security.SecureRandom.<init>()


    public java.security.KeyPair generateKeyPair()
    {
        if (!this.initialised) {
            this.initialize(this.strength, new java.security.SecureRandom());
        }
        org.bouncycastle.jcajce.provider.asymmetric.ec.BCECPublicKey v0_15 = this.engine.generateKeyPair();
        java.security.KeyPair v1_1 = ((org.bouncycastle.crypto.params.ECPublicKeyParameters) v0_15.getPublic());
        org.bouncycastle.crypto.params.ECPrivateKeyParameters v4_1 = ((org.bouncycastle.crypto.params.ECPrivateKeyParameters) v0_15.getPrivate());
        if (!(this.ecParams instanceof org.bouncycastle.jce.spec.ECParameterSpec)) {
            if (this.ecParams != null) {
                java.security.spec.ECParameterSpec v6_1 = ((java.security.spec.ECParameterSpec) this.ecParams);
                org.bouncycastle.jcajce.provider.asymmetric.ec.BCECPublicKey v0_8 = new org.bouncycastle.jcajce.provider.asymmetric.ec.BCECPublicKey(this.algorithm, v1_1, v6_1, this.configuration);
                org.bouncycastle.jcajce.provider.asymmetric.ec.BCECPrivateKey v8_0 = new org.bouncycastle.jcajce.provider.asymmetric.ec.BCECPrivateKey;
                v8_0(this.algorithm, v4_1, v0_8, v6_1, this.configuration);
                return new java.security.KeyPair(v0_8, v8_0);
            } else {
                return new java.security.KeyPair(new org.bouncycastle.jcajce.provider.asymmetric.ec.BCECPublicKey(this.algorithm, v1_1, this.configuration), new org.bouncycastle.jcajce.provider.asymmetric.ec.BCECPrivateKey(this.algorithm, v4_1, this.configuration));
            }
        } else {
            java.security.spec.ECParameterSpec v6_3 = ((org.bouncycastle.jce.spec.ECParameterSpec) this.ecParams);
            org.bouncycastle.jcajce.provider.asymmetric.ec.BCECPublicKey v0_13 = new org.bouncycastle.jcajce.provider.asymmetric.ec.BCECPublicKey(this.algorithm, v1_1, v6_3, this.configuration);
            org.bouncycastle.jcajce.provider.asymmetric.ec.BCECPrivateKey v8_1 = new org.bouncycastle.jcajce.provider.asymmetric.ec.BCECPrivateKey;
            v8_1(this.algorithm, v4_1, v0_13, v6_3, this.configuration);
            return new java.security.KeyPair(v0_13, v8_1);
        }
    }

Method org.bouncycastle.jcajce.provider.asymmetric.ec.KeyPairGeneratorSpi$EC.<init>() calling method java.security.SecureRandom.<init>()


    public KeyPairGeneratorSpi$EC(String p2, org.bouncycastle.jcajce.provider.config.ProviderConfiguration p3)
    {
        super(p2);
        super.engine = new org.bouncycastle.crypto.generators.ECKeyPairGenerator();
        super.ecParams = 0;
        super.strength = 239;
        super.certainty = 50;
        super.random = new java.security.SecureRandom();
        super.initialised = 0;
        super.algorithm = p2;
        super.configuration = p3;
        return;
    }

Method org.bouncycastle.jcajce.provider.asymmetric.ec.KeyPairGeneratorSpi$EC.<init>() calling method java.security.SecureRandom.<init>()


    public KeyPairGeneratorSpi$EC()
    {
        super("EC");
        super.engine = new org.bouncycastle.crypto.generators.ECKeyPairGenerator();
        super.ecParams = 0;
        super.strength = 239;
        super.certainty = 50;
        super.random = new java.security.SecureRandom();
        super.initialised = 0;
        super.algorithm = "EC";
        super.configuration = org.bouncycastle.jce.provider.BouncyCastleProvider.CONFIGURATION;
        return;
    }

Method org.bouncycastle.jcajce.provider.asymmetric.dsa.AlgorithmParameterGeneratorSpi.engineGenerateParameters() calling method java.security.SecureRandom.<init>()


    protected java.security.AlgorithmParameters engineGenerateParameters()
    {
        String v0_6;
        if (this.strength > 1024) {
            v0_6 = new org.bouncycastle.crypto.generators.DSAParametersGenerator(new org.bouncycastle.crypto.digests.SHA256Digest());
        } else {
            v0_6 = new org.bouncycastle.crypto.generators.DSAParametersGenerator();
        }
        if (this.random == null) {
            this.random = new java.security.SecureRandom();
        }
        if (this.strength != 1024) {
            if (this.strength <= 1024) {
                v0_6.init(this.strength, 20, this.random);
            } else {
                this.params = new org.bouncycastle.crypto.params.DSAParameterGenerationParameters(this.strength, 256, 80, this.random);
                v0_6.init(this.params);
            }
        } else {
            this.params = new org.bouncycastle.crypto.params.DSAParameterGenerationParameters(1024, 160, 80, this.random);
        }
        String v0_2 = v0_6.generateParameters();
        try {
            RuntimeException v1_6 = this.createParametersInstance("DSA");
            v1_6.init(new java.security.spec.DSAParameterSpec(v0_2.getP(), v0_2.getQ(), v0_2.getG()));
            return v1_6;
        } catch (String v0_4) {
            throw new RuntimeException(v0_4.getMessage());
        }
    }

Method org.bouncycastle.jcajce.provider.asymmetric.dh.AlgorithmParameterGeneratorSpi.engineGenerateParameters() calling method java.security.SecureRandom.<init>()


    protected java.security.AlgorithmParameters engineGenerateParameters()
    {
        java.math.BigInteger v3_2;
        RuntimeException v1_5;
        String v0_1 = new org.bouncycastle.crypto.generators.DHParametersGenerator();
        if (this.random == null) {
            v1_5 = this.strength;
            v3_2 = new java.security.SecureRandom();
        } else {
            v1_5 = this.strength;
            v3_2 = this.random;
        }
        v0_1.init(v1_5, 20, v3_2);
        String v0_2 = v0_1.generateParameters();
        try {
            RuntimeException v1_1 = this.createParametersInstance("DH");
            v1_1.init(new javax.crypto.spec.DHParameterSpec(v0_2.getP(), v0_2.getG(), this.l));
            return v1_1;
        } catch (String v0_4) {
            throw new RuntimeException(v0_4.getMessage());
        }
    }

Method org.bouncycastle.crypto.signers.PSSSigner.init() calling method java.security.SecureRandom.<init>()


    public void init(boolean p3, org.bouncycastle.crypto.CipherParameters p4)
    {
        org.bouncycastle.crypto.AsymmetricBlockCipher v1_0;
        if (!(p4 instanceof org.bouncycastle.crypto.params.ParametersWithRandom)) {
            if (p3 != null) {
                this.random = new java.security.SecureRandom();
            }
            v1_0 = p4;
        } else {
            v1_0 = ((org.bouncycastle.crypto.params.ParametersWithRandom) p4).getParameters();
            this.random = ((org.bouncycastle.crypto.params.ParametersWithRandom) p4).getRandom();
        }
        int v0_4;
        if (!(v1_0 instanceof org.bouncycastle.crypto.params.RSABlindingParameters)) {
            v0_4 = ((org.bouncycastle.crypto.params.RSAKeyParameters) v1_0);
            this.cipher.init(p3, v1_0);
        } else {
            v0_4 = ((org.bouncycastle.crypto.params.RSABlindingParameters) v1_0).getPublicKey();
            this.cipher.init(p3, p4);
        }
        this.emBits = (v0_4.getModulus().bitLength() - 1);
        if (this.emBits < (((this.hLen * 8) + (this.sLen * 8)) + 9)) {
            throw new IllegalArgumentException("key too small for specified hash and salt lengths");
        } else {
            IllegalArgumentException v3_10 = new byte[((this.emBits + 7) / 8)];
            this.block = v3_10;
            this.reset();
            return;
        }
    }

Method org.bouncycastle.crypto.signers.GOST3410Signer.init() calling method java.security.SecureRandom.<init>()


    public void init(boolean p1, org.bouncycastle.crypto.CipherParameters p2)
    {
        org.bouncycastle.crypto.params.GOST3410PrivateKeyParameters v2_1;
        if (p1 == null) {
            v2_1 = ((org.bouncycastle.crypto.params.GOST3410PublicKeyParameters) p2);
            this.key = v2_1;
        } else {
            if (!(p2 instanceof org.bouncycastle.crypto.params.ParametersWithRandom)) {
                this.random = new java.security.SecureRandom();
                v2_1 = ((org.bouncycastle.crypto.params.GOST3410PrivateKeyParameters) p2);
            } else {
                this.random = ((org.bouncycastle.crypto.params.ParametersWithRandom) p2).getRandom();
                this.key = ((org.bouncycastle.crypto.params.GOST3410PrivateKeyParameters) ((org.bouncycastle.crypto.params.ParametersWithRandom) p2).getParameters());
            }
        }
        return;
    }

Method org.bouncycastle.crypto.signers.ECNRSigner.init() calling method java.security.SecureRandom.<init>()


    public void init(boolean p1, org.bouncycastle.crypto.CipherParameters p2)
    {
        org.bouncycastle.crypto.params.ECPrivateKeyParameters v2_2;
        this.forSigning = p1;
        if (p1 == null) {
            v2_2 = ((org.bouncycastle.crypto.params.ECPublicKeyParameters) p2);
            this.key = v2_2;
        } else {
            if (!(p2 instanceof org.bouncycastle.crypto.params.ParametersWithRandom)) {
                this.random = new java.security.SecureRandom();
                v2_2 = ((org.bouncycastle.crypto.params.ECPrivateKeyParameters) p2);
            } else {
                this.random = ((org.bouncycastle.crypto.params.ParametersWithRandom) p2).getRandom();
                this.key = ((org.bouncycastle.crypto.params.ECPrivateKeyParameters) ((org.bouncycastle.crypto.params.ParametersWithRandom) p2).getParameters());
            }
        }
        return;
    }

Method org.bouncycastle.crypto.signers.ECGOST3410Signer.init() calling method java.security.SecureRandom.<init>()


    public void init(boolean p1, org.bouncycastle.crypto.CipherParameters p2)
    {
        org.bouncycastle.crypto.params.ECPrivateKeyParameters v2_1;
        if (p1 == null) {
            v2_1 = ((org.bouncycastle.crypto.params.ECPublicKeyParameters) p2);
            this.key = v2_1;
        } else {
            if (!(p2 instanceof org.bouncycastle.crypto.params.ParametersWithRandom)) {
                this.random = new java.security.SecureRandom();
                v2_1 = ((org.bouncycastle.crypto.params.ECPrivateKeyParameters) p2);
            } else {
                this.random = ((org.bouncycastle.crypto.params.ParametersWithRandom) p2).getRandom();
                this.key = ((org.bouncycastle.crypto.params.ECPrivateKeyParameters) ((org.bouncycastle.crypto.params.ParametersWithRandom) p2).getParameters());
            }
        }
        return;
    }

Method org.bouncycastle.crypto.signers.ECDSASigner.initSecureRandom() calling method java.security.SecureRandom.<init>()


    protected java.security.SecureRandom initSecureRandom(boolean p1, java.security.SecureRandom p2)
    {
        if (p1) {
            if (p2 == null) {
                p2 = new java.security.SecureRandom();
            }
        } else {
            p2 = 0;
        }
        return p2;
    }

Method org.bouncycastle.crypto.signers.DSTU4145Signer.init() calling method java.security.SecureRandom.<init>()


    public void init(boolean p1, org.bouncycastle.crypto.CipherParameters p2)
    {
        org.bouncycastle.crypto.params.ECPrivateKeyParameters v2_1;
        if (p1 == null) {
            v2_1 = ((org.bouncycastle.crypto.params.ECPublicKeyParameters) p2);
        } else {
            if (!(p2 instanceof org.bouncycastle.crypto.params.ParametersWithRandom)) {
                this.random = new java.security.SecureRandom();
            } else {
                this.random = ((org.bouncycastle.crypto.params.ParametersWithRandom) p2).getRandom();
                p2 = ((org.bouncycastle.crypto.params.ParametersWithRandom) p2).getParameters();
            }
            v2_1 = ((org.bouncycastle.crypto.params.ECPrivateKeyParameters) p2);
        }
        this.key = v2_1;
        return;
    }

Method org.bouncycastle.crypto.signers.DSASigner.initSecureRandom() calling method java.security.SecureRandom.<init>()


    protected java.security.SecureRandom initSecureRandom(boolean p1, java.security.SecureRandom p2)
    {
        if (p1) {
            if (p2 == null) {
                p2 = new java.security.SecureRandom();
            }
        } else {
            p2 = 0;
        }
        return p2;
    }

Method org.bouncycastle.crypto.params.ParametersWithRandom.<init>() calling method java.security.SecureRandom.<init>()


    public ParametersWithRandom(org.bouncycastle.crypto.CipherParameters p2)
    {
        this(p2, new java.security.SecureRandom());
        return;
    }

Method org.bouncycastle.crypto.paddings.ISO10126d2Padding.init() calling method java.security.SecureRandom.<init>()


    public void init(java.security.SecureRandom p1)
    {
        if (p1 == null) {
            p1 = new java.security.SecureRandom();
        }
        this.random = p1;
        return;
    }

Method org.bouncycastle.crypto.generators.ECKeyPairGenerator.init() calling method java.security.SecureRandom.<init>()


    public void init(org.bouncycastle.crypto.KeyGenerationParameters p2)
    {
        this.random = ((org.bouncycastle.crypto.params.ECKeyGenerationParameters) p2).getRandom();
        this.params = ((org.bouncycastle.crypto.params.ECKeyGenerationParameters) p2).getDomainParameters();
        if (this.random == null) {
            this.random = new java.security.SecureRandom();
        }
        return;
    }

Method org.bouncycastle.crypto.engines.RSABlindedEngine.init() calling method java.security.SecureRandom.<init>()


    public void init(boolean p2, org.bouncycastle.crypto.CipherParameters p3)
    {
        java.security.SecureRandom v2_3;
        this.core.init(p2, p3);
        if (!(p3 instanceof org.bouncycastle.crypto.params.ParametersWithRandom)) {
            this.key = ((org.bouncycastle.crypto.params.RSAKeyParameters) p3);
            v2_3 = new java.security.SecureRandom();
        } else {
            this.key = ((org.bouncycastle.crypto.params.RSAKeyParameters) ((org.bouncycastle.crypto.params.ParametersWithRandom) p3).getParameters());
            v2_3 = ((org.bouncycastle.crypto.params.ParametersWithRandom) p3).getRandom();
        }
        this.random = v2_3;
        return;
    }

Method org.bouncycastle.crypto.engines.RFC3211WrapEngine.init() calling method java.security.SecureRandom.<init>()


    public void init(boolean p2, org.bouncycastle.crypto.CipherParameters p3)
    {
        this.forWrapping = p2;
        if (!(p3 instanceof org.bouncycastle.crypto.params.ParametersWithRandom)) {
            if (p2 != null) {
                this.rand = new java.security.SecureRandom();
            }
            this.param = ((org.bouncycastle.crypto.params.ParametersWithIV) p3);
        } else {
            this.rand = ((org.bouncycastle.crypto.params.ParametersWithRandom) p3).getRandom();
            this.param = ((org.bouncycastle.crypto.params.ParametersWithIV) ((org.bouncycastle.crypto.params.ParametersWithRandom) p3).getParameters());
        }
        return;
    }

Method org.bouncycastle.crypto.engines.RC2WrapEngine.init() calling method java.security.SecureRandom.<init>()


    public void init(boolean p2, org.bouncycastle.crypto.CipherParameters p3)
    {
        this.forWrapping = p2;
        this.engine = new org.bouncycastle.crypto.modes.CBCBlockCipher(new org.bouncycastle.crypto.engines.RC2Engine());
        if (!(p3 instanceof org.bouncycastle.crypto.params.ParametersWithRandom)) {
            this.sr = new java.security.SecureRandom();
        } else {
            this.sr = ((org.bouncycastle.crypto.params.ParametersWithRandom) p3).getRandom();
            p3 = ((org.bouncycastle.crypto.params.ParametersWithRandom) p3).getParameters();
        }
        if (!(p3 instanceof org.bouncycastle.crypto.params.ParametersWithIV)) {
            this.param = p3;
            if (this.forWrapping) {
                IllegalArgumentException v2_5 = new byte[8];
                this.iv = v2_5;
                this.sr.nextBytes(this.iv);
                this.paramPlusIV = new org.bouncycastle.crypto.params.ParametersWithIV(this.param, this.iv);
            }
        } else {
            this.paramPlusIV = ((org.bouncycastle.crypto.params.ParametersWithIV) p3);
            this.iv = this.paramPlusIV.getIV();
            this.param = this.paramPlusIV.getParameters();
            if (!this.forWrapping) {
                throw new IllegalArgumentException("You should not supply an IV for unwrapping");
            } else {
                if ((this.iv == null) || (this.iv.length != 8)) {
                    throw new IllegalArgumentException("IV is not 8 octets");
                }
            }
        }
        return;
    }

Method org.bouncycastle.crypto.engines.ElGamalEngine.init() calling method java.security.SecureRandom.<init>()


    public void init(boolean p2, org.bouncycastle.crypto.CipherParameters p3)
    {
        String v3_1;
        if (!(p3 instanceof org.bouncycastle.crypto.params.ParametersWithRandom)) {
            this.key = ((org.bouncycastle.crypto.params.ElGamalKeyParameters) p3);
            v3_1 = new java.security.SecureRandom();
        } else {
            this.key = ((org.bouncycastle.crypto.params.ElGamalKeyParameters) ((org.bouncycastle.crypto.params.ParametersWithRandom) p3).getParameters());
            v3_1 = ((org.bouncycastle.crypto.params.ParametersWithRandom) p3).getRandom();
        }
        this.random = v3_1;
        this.forEncryption = p2;
        this.bitSize = this.key.getParameters().getP().bitLength();
        if (p2 == null) {
            if (!(this.key instanceof org.bouncycastle.crypto.params.ElGamalPrivateKeyParameters)) {
                throw new IllegalArgumentException("ElGamalPrivateKeyParameters are required for decryption.");
            }
        } else {
            if (!(this.key instanceof org.bouncycastle.crypto.params.ElGamalPublicKeyParameters)) {
                throw new IllegalArgumentException("ElGamalPublicKeyParameters are required for encryption.");
            }
        }
        return;
    }

Method org.bouncycastle.crypto.engines.DESedeWrapEngine.init() calling method java.security.SecureRandom.<init>()


    public void init(boolean p4, org.bouncycastle.crypto.CipherParameters p5)
    {
        IllegalArgumentException v4_2;
        String v5_1;
        this.forWrapping = p4;
        this.engine = new org.bouncycastle.crypto.modes.CBCBlockCipher(new org.bouncycastle.crypto.engines.DESedeEngine());
        if (!(p5 instanceof org.bouncycastle.crypto.params.ParametersWithRandom)) {
            v5_1 = new java.security.SecureRandom();
            v4_2 = p5;
        } else {
            v4_2 = ((org.bouncycastle.crypto.params.ParametersWithRandom) p5).getParameters();
            v5_1 = ((org.bouncycastle.crypto.params.ParametersWithRandom) p5).getRandom();
        }
        if (!(v4_2 instanceof org.bouncycastle.crypto.params.KeyParameter)) {
            if ((v4_2 instanceof org.bouncycastle.crypto.params.ParametersWithIV)) {
                this.paramPlusIV = ((org.bouncycastle.crypto.params.ParametersWithIV) v4_2);
                this.iv = this.paramPlusIV.getIV();
                this.param = ((org.bouncycastle.crypto.params.KeyParameter) this.paramPlusIV.getParameters());
                if (!this.forWrapping) {
                    throw new IllegalArgumentException("You should not supply an IV for unwrapping");
                } else {
                    if ((this.iv == null) || (this.iv.length != 8)) {
                        throw new IllegalArgumentException("IV is not 8 octets");
                    }
                }
            }
        } else {
            this.param = ((org.bouncycastle.crypto.params.KeyParameter) v4_2);
            if (this.forWrapping) {
                IllegalArgumentException v4_20 = new byte[8];
                this.iv = v4_20;
                v5_1.nextBytes(this.iv);
                this.paramPlusIV = new org.bouncycastle.crypto.params.ParametersWithIV(this.param, this.iv);
            }
        }
        return;
    }

Method org.bouncycastle.crypto.encodings.PKCS1Encoding.init() calling method java.security.SecureRandom.<init>()


    public void init(boolean p3, org.bouncycastle.crypto.CipherParameters p4)
    {
        org.bouncycastle.crypto.params.AsymmetricKeyParameter v0_4;
        if (!(p4 instanceof org.bouncycastle.crypto.params.ParametersWithRandom)) {
            v0_4 = ((org.bouncycastle.crypto.params.AsymmetricKeyParameter) p4);
            if ((!((org.bouncycastle.crypto.params.AsymmetricKeyParameter) p4).isPrivate()) && (p3)) {
                this.random = new java.security.SecureRandom();
            }
        } else {
            this.random = ((org.bouncycastle.crypto.params.ParametersWithRandom) p4).getRandom();
            v0_4 = ((org.bouncycastle.crypto.params.AsymmetricKeyParameter) ((org.bouncycastle.crypto.params.ParametersWithRandom) p4).getParameters());
        }
        this.engine.init(p3, p4);
        this.forPrivateKey = v0_4.isPrivate();
        this.forEncryption = p3;
        return;
    }

Method org.bouncycastle.crypto.encodings.OAEPEncoding.init() calling method java.security.SecureRandom.<init>()


    public void init(boolean p2, org.bouncycastle.crypto.CipherParameters p3)
    {
        org.bouncycastle.crypto.AsymmetricBlockCipher v0_2;
        if (!(p3 instanceof org.bouncycastle.crypto.params.ParametersWithRandom)) {
            v0_2 = new java.security.SecureRandom();
        } else {
            v0_2 = ((org.bouncycastle.crypto.params.ParametersWithRandom) p3).getRandom();
        }
        this.random = v0_2;
        this.engine.init(p2, p3);
        this.forEncryption = p2;
        return;
    }

Method org.bouncycastle.crypto.ec.ECNewPublicKeyTransform.init() calling method java.security.SecureRandom.<init>()


    public void init(org.bouncycastle.crypto.CipherParameters p2)
    {
        IllegalArgumentException v2_2;
        if (!(p2 instanceof org.bouncycastle.crypto.params.ParametersWithRandom)) {
            if (!(p2 instanceof org.bouncycastle.crypto.params.ECPublicKeyParameters)) {
                throw new IllegalArgumentException("ECPublicKeyParameters are required for new public key transform.");
            } else {
                this.key = ((org.bouncycastle.crypto.params.ECPublicKeyParameters) p2);
                v2_2 = new java.security.SecureRandom();
            }
        } else {
            if (!(((org.bouncycastle.crypto.params.ParametersWithRandom) p2).getParameters() instanceof org.bouncycastle.crypto.params.ECPublicKeyParameters)) {
                throw new IllegalArgumentException("ECPublicKeyParameters are required for new public key transform.");
            } else {
                this.key = ((org.bouncycastle.crypto.params.ECPublicKeyParameters) ((org.bouncycastle.crypto.params.ParametersWithRandom) p2).getParameters());
                v2_2 = ((org.bouncycastle.crypto.params.ParametersWithRandom) p2).getRandom();
            }
        }
        this.random = v2_2;
        return;
    }

Method org.bouncycastle.crypto.ec.ECElGamalEncryptor.init() calling method java.security.SecureRandom.<init>()


    public void init(org.bouncycastle.crypto.CipherParameters p2)
    {
        IllegalArgumentException v2_2;
        if (!(p2 instanceof org.bouncycastle.crypto.params.ParametersWithRandom)) {
            if (!(p2 instanceof org.bouncycastle.crypto.params.ECPublicKeyParameters)) {
                throw new IllegalArgumentException("ECPublicKeyParameters are required for encryption.");
            } else {
                this.key = ((org.bouncycastle.crypto.params.ECPublicKeyParameters) p2);
                v2_2 = new java.security.SecureRandom();
            }
        } else {
            if (!(((org.bouncycastle.crypto.params.ParametersWithRandom) p2).getParameters() instanceof org.bouncycastle.crypto.params.ECPublicKeyParameters)) {
                throw new IllegalArgumentException("ECPublicKeyParameters are required for encryption.");
            } else {
                this.key = ((org.bouncycastle.crypto.params.ECPublicKeyParameters) ((org.bouncycastle.crypto.params.ParametersWithRandom) p2).getParameters());
                v2_2 = ((org.bouncycastle.crypto.params.ParametersWithRandom) p2).getRandom();
            }
        }
        this.random = v2_2;
        return;
    }

Method org.bouncycastle.cms.jcajce.JceCMSMacCalculatorBuilder$CMSMacCalculator.<init>() calling method java.security.SecureRandom.<init>()


    JceCMSMacCalculatorBuilder$CMSMacCalculator(org.bouncycastle.cms.jcajce.JceCMSMacCalculatorBuilder p2, org.bouncycastle.asn1.ASN1ObjectIdentifier p3, int p4, java.security.SecureRandom p5)
    {
        this.this$0 = p2;
        javax.crypto.KeyGenerator v0_1 = org.bouncycastle.cms.jcajce.JceCMSMacCalculatorBuilder.access$000(p2).createKeyGenerator(p3);
        if (p5 == null) {
            p5 = new java.security.SecureRandom();
        }
        this.random = p5;
        if (p4 >= null) {
            v0_1.init(p4, p5);
        } else {
            v0_1.init(p5);
        }
        this.encKey = v0_1.generateKey();
        this.algorithmIdentifier = org.bouncycastle.cms.jcajce.JceCMSMacCalculatorBuilder.access$000(p2).getAlgorithmIdentifier(p3, this.generateParameterSpec(p3, this.encKey));
        this.mac = org.bouncycastle.cms.jcajce.JceCMSMacCalculatorBuilder.access$000(p2).createContentMac(this.encKey, this.algorithmIdentifier);
        return;
    }

Method org.bouncycastle.cms.jcajce.JceCMSContentEncryptorBuilder$CMSOutputEncryptor.<init>() calling method java.security.SecureRandom.<init>()


    JceCMSContentEncryptorBuilder$CMSOutputEncryptor(org.bouncycastle.cms.jcajce.JceCMSContentEncryptorBuilder p4, org.bouncycastle.asn1.ASN1ObjectIdentifier p5, int p6, java.security.SecureRandom p7)
    {
        this.this$0 = p4;
        javax.crypto.Cipher v0_3 = org.bouncycastle.cms.jcajce.JceCMSContentEncryptorBuilder.access$000(p4).createKeyGenerator(p5);
        if (p7 == null) {
            p7 = new java.security.SecureRandom();
        }
        if (p6 >= null) {
            v0_3.init(p6, p7);
        } else {
            v0_3.init(p7);
        }
        this.cipher = org.bouncycastle.cms.jcajce.JceCMSContentEncryptorBuilder.access$000(p4).createCipher(p5);
        this.encKey = v0_3.generateKey();
        java.security.AlgorithmParameters v6_5 = org.bouncycastle.cms.jcajce.JceCMSContentEncryptorBuilder.access$000(p4).generateParameters(p5, this.encKey, p7);
        try {
            this.cipher.init(1, this.encKey, v6_5, p7);
        } catch (org.bouncycastle.asn1.x509.AlgorithmIdentifier v4_1) {
            java.security.AlgorithmParameters v6_7 = new StringBuilder();
            v6_7.append("unable to initialize cipher: ");
            v6_7.append(v4_1.getMessage());
            throw new org.bouncycastle.cms.CMSException(v6_7.toString(), v4_1);
        }
        if (v6_5 == null) {
            v6_5 = this.cipher.getParameters();
        }
        this.algorithmIdentifier = org.bouncycastle.cms.jcajce.JceCMSContentEncryptorBuilder.access$000(p4).getAlgorithmIdentifier(p5, v6_5);
        return;
    }

Method org.bouncycastle.cms.bc.BcCMSContentEncryptorBuilder$CMSOutputEncryptor.<init>() calling method java.security.SecureRandom.<init>()


    BcCMSContentEncryptorBuilder$CMSOutputEncryptor(org.bouncycastle.cms.bc.BcCMSContentEncryptorBuilder p2, org.bouncycastle.asn1.ASN1ObjectIdentifier p3, int p4, java.security.SecureRandom p5)
    {
        this.this$0 = p2;
        if (p5 == null) {
            p5 = new java.security.SecureRandom();
        }
        this.encKey = new org.bouncycastle.crypto.params.KeyParameter(org.bouncycastle.cms.bc.BcCMSContentEncryptorBuilder.access$000(p2).createKeyGenerator(p3, p5).generateKey());
        this.algorithmIdentifier = org.bouncycastle.cms.bc.BcCMSContentEncryptorBuilder.access$000(p2).generateAlgorithmIdentifier(p3, this.encKey, p5);
        org.bouncycastle.cms.bc.BcCMSContentEncryptorBuilder.access$000(p2);
        this.cipher = org.bouncycastle.cms.bc.EnvelopedDataHelper.createContentCipher(1, this.encKey, this.algorithmIdentifier);
        return;
    }

Method org.bouncycastle.cms.PasswordRecipientInfoGenerator.generate() calling method java.security.SecureRandom.<init>()


    public org.bouncycastle.asn1.cms.RecipientInfo generate(org.bouncycastle.operator.GenericKey p8)
    {
        org.bouncycastle.asn1.x509.AlgorithmIdentifier v0_1 = new byte[this.blockSize];
        if (this.random == null) {
            this.random = new java.security.SecureRandom();
        }
        this.random.nextBytes(v0_1);
        if (this.salt == null) {
            org.bouncycastle.asn1.DEROctetString v1_1 = new byte[20];
            this.salt = v1_1;
            this.random.nextBytes(this.salt);
        }
        this.keyDerivationAlgorithm = new org.bouncycastle.asn1.x509.AlgorithmIdentifier(org.bouncycastle.asn1.pkcs.PKCSObjectIdentifiers.id_PBKDF2, new org.bouncycastle.asn1.pkcs.PBKDF2Params(this.salt, this.iterationCount, this.prf.prfAlgID));
        org.bouncycastle.asn1.DEROctetString v1_10 = new org.bouncycastle.asn1.DEROctetString(this.generateEncryptedBytes(new org.bouncycastle.asn1.x509.AlgorithmIdentifier(this.kekAlgorithm, new org.bouncycastle.asn1.DEROctetString(v0_1)), this.calculateDerivedKey(this.schemeID, this.keyDerivationAlgorithm, this.keySize), p8));
        org.bouncycastle.asn1.cms.RecipientInfo v8_3 = new org.bouncycastle.asn1.ASN1EncodableVector();
        v8_3.add(this.kekAlgorithm);
        v8_3.add(new org.bouncycastle.asn1.DEROctetString(v0_1));
        return new org.bouncycastle.asn1.cms.RecipientInfo(new org.bouncycastle.asn1.cms.PasswordRecipientInfo(this.keyDerivationAlgorithm, new org.bouncycastle.asn1.x509.AlgorithmIdentifier(org.bouncycastle.asn1.pkcs.PKCSObjectIdentifiers.id_alg_PWRI_KEK, new org.bouncycastle.asn1.DERSequence(v8_3)), v1_10));
    }

Method org.bouncycastle.cert.crmf.jcajce.JceCRMFEncryptorBuilder$CRMFOutputEncryptor.<init>() calling method java.security.SecureRandom.<init>()


    JceCRMFEncryptorBuilder$CRMFOutputEncryptor(org.bouncycastle.cert.crmf.jcajce.JceCRMFEncryptorBuilder p4, org.bouncycastle.asn1.ASN1ObjectIdentifier p5, int p6, java.security.SecureRandom p7)
    {
        this.this$0 = p4;
        javax.crypto.Cipher v0_3 = org.bouncycastle.cert.crmf.jcajce.JceCRMFEncryptorBuilder.access$000(p4).createKeyGenerator(p5);
        if (p7 == null) {
            p7 = new java.security.SecureRandom();
        }
        if (p6 < null) {
            p6 = org.bouncycastle.cert.crmf.jcajce.JceCRMFEncryptorBuilder.access$100().getKeySize(p5);
        }
        if (p6 >= null) {
            v0_3.init(p6, p7);
        } else {
            v0_3.init(p7);
        }
        this.cipher = org.bouncycastle.cert.crmf.jcajce.JceCRMFEncryptorBuilder.access$000(p4).createCipher(p5);
        this.encKey = v0_3.generateKey();
        java.security.AlgorithmParameters v6_6 = org.bouncycastle.cert.crmf.jcajce.JceCRMFEncryptorBuilder.access$000(p4).generateParameters(p5, this.encKey, p7);
        try {
            this.cipher.init(1, this.encKey, v6_6, p7);
        } catch (org.bouncycastle.asn1.x509.AlgorithmIdentifier v4_1) {
            java.security.AlgorithmParameters v6_8 = new StringBuilder();
            v6_8.append("unable to initialize cipher: ");
            v6_8.append(v4_1.getMessage());
            throw new org.bouncycastle.cert.crmf.CRMFException(v6_8.toString(), v4_1);
        }
        if (v6_6 == null) {
            v6_6 = this.cipher.getParameters();
        }
        this.algorithmIdentifier = org.bouncycastle.cert.crmf.jcajce.JceCRMFEncryptorBuilder.access$000(p4).getAlgorithmIdentifier(p5, v6_6);
        return;
    }

Method org.bouncycastle.cert.crmf.bc.BcFixedLengthMGF1Padder.getPaddedData() calling method java.security.SecureRandom.<init>()


    public byte[] getPaddedData(byte[] p7)
    {
        byte[] v0_1 = new byte[this.length];
        byte[] v1_2 = new byte[this.dig.getDigestSize()];
        byte[] v2_1 = new byte[(this.length - this.dig.getDigestSize())];
        if (this.random == null) {
            this.random = new java.security.SecureRandom();
        }
        this.random.nextBytes(v1_2);
        byte v3_5 = new org.bouncycastle.crypto.generators.MGF1BytesGenerator(this.dig);
        v3_5.init(new org.bouncycastle.crypto.params.MGFParameters(v1_2));
        int v5 = 0;
        v3_5.generateBytes(v2_1, 0, v2_1.length);
        System.arraycopy(v1_2, 0, v0_1, 0, v1_2.length);
        System.arraycopy(p7, 0, v0_1, v1_2.length, p7.length);
        byte v3_9 = (v1_2.length + p7.length);
        while(true) {
            v3_9++;
            if (v3_9 == v0_1.length) {
                break;
            }
            v0_1[v3_9] = ((byte) (this.random.nextInt(255) + 1));
        }
        while (v5 != v2_1.length) {
            int v7_5 = (v1_2.length + v5);
            v0_1[v7_5] = ((byte) (v0_1[v7_5] ^ v2_1[v5]));
            v5++;
        }
        return v0_1;
    }

Method org.spongycastle.jcajce.provider.symmetric.util.BaseKeyGenerator.engineInit() calling method java.security.SecureRandom.<init>()


    protected void engineInit(int p3, java.security.SecureRandom p4)
    {
        if (p4 == null) {
            p4 = new java.security.SecureRandom();
        }
        this.engine.init(new org.spongycastle.crypto.KeyGenerationParameters(p4, p3));
        this.uninitialised = 0;
        return;
    }

Method org.spongycastle.jcajce.provider.symmetric.util.BaseKeyGenerator.engineGenerateKey() calling method java.security.SecureRandom.<init>()


    protected javax.crypto.SecretKey engineGenerateKey()
    {
        if (this.uninitialised) {
            this.engine.init(new org.spongycastle.crypto.KeyGenerationParameters(new java.security.SecureRandom(), this.defaultKeySize));
            this.uninitialised = 0;
        }
        return new javax.crypto.spec.SecretKeySpec(this.engine.generateKey(), this.algName);
    }

Method org.spongycastle.jcajce.provider.asymmetric.rsa.KeyPairGeneratorSpi.<init>() calling method java.security.SecureRandom.<init>()


    public KeyPairGeneratorSpi()
    {
        super("RSA");
        super.engine = new org.spongycastle.crypto.a.x();
        super.param = new org.spongycastle.crypto.params.RSAKeyGenerationParameters(org.spongycastle.jcajce.provider.asymmetric.rsa.KeyPairGeneratorSpi.defaultPublicExponent, new java.security.SecureRandom(), 2048, 112);
        super.engine.init(super.param);
        return;
    }

Method org.spongycastle.jcajce.provider.asymmetric.ies.CipherSpi.engineInit() calling method java.security.SecureRandom.<init>()


    protected void engineInit(int p5, java.security.Key p6, java.security.spec.AlgorithmParameterSpec p7, java.security.SecureRandom p8)
    {
        if (!(p6 instanceof org.spongycastle.jce.interfaces.IESKey)) {
            throw new java.security.InvalidKeyException("must be passed IES key");
        } else {
            int v0_1 = 1;
            if ((p7 != null) || ((p5 != 1) && (p5 != 3))) {
                if (!(p7 instanceof org.spongycastle.jce.spec.IESParameterSpec)) {
                    throw new java.security.InvalidAlgorithmParameterException("must be passed IES parameters");
                }
            } else {
                java.io.ByteArrayOutputStream v1_0 = new byte[16];
                org.spongycastle.crypto.params.IESParameters v7_2 = new byte[16];
                if (p8 == null) {
                    p8 = new java.security.SecureRandom();
                }
                p8.nextBytes(v1_0);
                p8.nextBytes(v7_2);
                p7 = new org.spongycastle.jce.spec.IESParameterSpec(v1_0, v7_2, 128);
            }
            String v6_5;
            org.spongycastle.crypto.params.AsymmetricKeyParameter v8_8;
            if (!(((org.spongycastle.jce.interfaces.IESKey) p6).getPublic() instanceof javax.crypto.interfaces.DHPublicKey)) {
                v8_8 = org.spongycastle.jcajce.provider.asymmetric.util.ECUtil.generatePublicKeyParameter(((org.spongycastle.jce.interfaces.IESKey) p6).getPublic());
                v6_5 = org.spongycastle.jcajce.provider.asymmetric.util.ECUtil.generatePrivateKeyParameter(((org.spongycastle.jce.interfaces.IESKey) p6).getPrivate());
            } else {
                v8_8 = org.spongycastle.jcajce.provider.asymmetric.util.DHUtil.generatePublicKeyParameter(((org.spongycastle.jce.interfaces.IESKey) p6).getPublic());
                v6_5 = org.spongycastle.jcajce.provider.asymmetric.util.DHUtil.generatePrivateKeyParameter(((org.spongycastle.jce.interfaces.IESKey) p6).getPrivate());
            }
            org.spongycastle.crypto.engines.IESEngine v5_5;
            this.engineParams = ((org.spongycastle.jce.spec.IESParameterSpec) p7);
            org.spongycastle.crypto.params.IESParameters v7_5 = new org.spongycastle.crypto.params.IESParameters(this.engineParams.getDerivationV(), this.engineParams.getEncodingV(), this.engineParams.getMacKeySize());
            this.state = p5;
            this.buffer.reset();
            switch (p5) {
                case 1:
                case 3:
                    v5_5 = this.cipher;
                    v5_5.init(v0_1, v6_5, v8_8, v7_5);
                    break;
                case 2:
                case 4:
                    v5_5 = this.cipher;
                    v0_1 = 0;
                    break;
                default:
                    System.out.println("eeek!");
            }
            return;
        }
    }

Method org.spongycastle.jcajce.provider.asymmetric.gost.KeyPairGeneratorSpi.generateKeyPair() calling method java.security.SecureRandom.<init>()


    public java.security.KeyPair generateKeyPair()
    {
        if (!this.initialised) {
            this.init(new org.spongycastle.jce.spec.GOST3410ParameterSpec(org.spongycastle.a.e.a.n.b()), new java.security.SecureRandom());
        }
        org.spongycastle.crypto.params.GOST3410PrivateKeyParameters v0_2 = this.engine.generateKeyPair();
        return new java.security.KeyPair(new org.spongycastle.jcajce.provider.asymmetric.gost.BCGOST3410PublicKey(((org.spongycastle.crypto.params.GOST3410PublicKeyParameters) v0_2.getPublic()), this.gost3410Params), new org.spongycastle.jcajce.provider.asymmetric.gost.BCGOST3410PrivateKey(((org.spongycastle.crypto.params.GOST3410PrivateKeyParameters) v0_2.getPrivate()), this.gost3410Params));
    }

Method org.spongycastle.jcajce.provider.asymmetric.elgamal.KeyPairGeneratorSpi.<init>() calling method java.security.SecureRandom.<init>()


    public KeyPairGeneratorSpi()
    {
        super("ElGamal");
        super.engine = new org.spongycastle.crypto.a.m();
        super.strength = 1024;
        super.certainty = 20;
        super.random = new java.security.SecureRandom();
        super.initialised = 0;
        return;
    }

Method org.spongycastle.jcajce.provider.asymmetric.dsa.KeyPairGeneratorSpi.<init>() calling method java.security.SecureRandom.<init>()


    public KeyPairGeneratorSpi()
    {
        super("DSA");
        super.engine = new org.spongycastle.crypto.a.i();
        super.strength = 1024;
        super.certainty = 20;
        super.random = new java.security.SecureRandom();
        super.initialised = 0;
        return;
    }

Method org.spongycastle.jcajce.provider.asymmetric.dh.KeyPairGeneratorSpi.<init>() calling method java.security.SecureRandom.<init>()


    public KeyPairGeneratorSpi()
    {
        super("DH");
        super.engine = new org.spongycastle.crypto.a.d();
        super.strength = 1024;
        super.certainty = 20;
        super.random = new java.security.SecureRandom();
        super.initialised = 0;
        return;
    }

Method org.spongycastle.crypto.prng.X931SecureRandomBuilder.<init>() calling method java.security.SecureRandom.<init>()


    public X931SecureRandomBuilder()
    {
        this(new java.security.SecureRandom(), 0);
        return;
    }

Method org.spongycastle.crypto.prng.X931SecureRandom.<init>() calling method java.security.SecureRandom.<init>()


    X931SecureRandom(java.security.SecureRandom p1, org.spongycastle.crypto.prng.X931RNG p2, boolean p3)
    {
        this.randomSource = p1;
        this.drbg = p2;
        this.predictionResistant = p3;
        return;
    }

Method org.spongycastle.crypto.prng.SP800SecureRandomBuilder.<init>() calling method java.security.SecureRandom.<init>()


    public SP800SecureRandomBuilder()
    {
        this(new java.security.SecureRandom(), 0);
        return;
    }

Method org.spongycastle.crypto.prng.SP800SecureRandom.<init>() calling method java.security.SecureRandom.<init>()


    SP800SecureRandom(java.security.SecureRandom p1, org.spongycastle.crypto.prng.EntropySource p2, org.spongycastle.crypto.prng.DRBGProvider p3, boolean p4)
    {
        this.randomSource = p1;
        this.entropySource = p2;
        this.drbgProvider = p3;
        this.predictionResistant = p4;
        return;
    }

Method org.spongycastle.crypto.prng.FixedSecureRandom.<init>() calling method java.security.SecureRandom.<init>()


    public FixedSecureRandom(boolean p4, byte[][] p5)
    {
        java.io.ByteArrayOutputStream v0_1 = new java.io.ByteArrayOutputStream();
        int v1 = 0;
        while (v1 != p5.length) {
            try {
                v0_1.write(p5[v1]);
                v1++;
            } catch (java.io.IOException) {
                throw new IllegalArgumentException("can\'t save value array.");
            }
        }
        this._data = v0_1.toByteArray();
        if (p4 != 0) {
            this._intPad = (this._data.length % 4);
        }
        return;
    }

Method org.spongycastle.crypto.engines.CramerShoupCoreEngine.initSecureRandom() calling method java.security.SecureRandom.<init>()


    protected java.security.SecureRandom initSecureRandom(boolean p1, java.security.SecureRandom p2)
    {
        if (p1) {
            if (p2 == null) {
                p2 = new java.security.SecureRandom();
            }
        } else {
            p2 = 0;
        }
        return p2;
    }

Method org.spongycastle.crypto.agreement.jpake.JPAKEParticipant.<init>() calling method java.security.SecureRandom.<init>()


    public JPAKEParticipant(String p7, char[] p8, org.spongycastle.crypto.agreement.jpake.JPAKEPrimeOrderGroup p9)
    {
        this(p7, p8, p9, new org.spongycastle.crypto.digests.SHA256Digest(), new java.security.SecureRandom());
        return;
    }

Method org.spongycastle.crypto.agreement.DHAgreement.init() calling method java.security.SecureRandom.<init>()


    public void init(org.spongycastle.crypto.CipherParameters p2)
    {
        if (!(p2 instanceof org.spongycastle.crypto.params.ParametersWithRandom)) {
            this.random = new java.security.SecureRandom();
        } else {
            this.random = ((org.spongycastle.crypto.params.ParametersWithRandom) p2).getRandom();
            p2 = ((org.spongycastle.crypto.params.ParametersWithRandom) p2).getParameters();
        }
        if (!(((org.spongycastle.crypto.params.AsymmetricKeyParameter) p2) instanceof org.spongycastle.crypto.params.DHPrivateKeyParameters)) {
            throw new IllegalArgumentException("DHEngine expects DHPrivateKeyParameters");
        } else {
            this.key = ((org.spongycastle.crypto.params.DHPrivateKeyParameters) ((org.spongycastle.crypto.params.AsymmetricKeyParameter) p2));
            this.dhParams = this.key.getParameters();
            return;
        }
    }

Method org.bouncycastle.util.test.FixedSecureRandom.<init>() calling method java.security.SecureRandom.<init>()


    public FixedSecureRandom(boolean p4, byte[][] p5)
    {
        java.io.ByteArrayOutputStream v0_1 = new java.io.ByteArrayOutputStream();
        int v1 = 0;
        while (v1 != p5.length) {
            try {
                v0_1.write(p5[v1]);
                v1++;
            } catch (java.io.IOException) {
                throw new IllegalArgumentException("can\'t save value array.");
            }
        }
        this._data = v0_1.toByteArray();
        if (p4 != 0) {
            this._intPad = (this._data.length % 4);
        }
        return;
    }

Method org.bouncycastle.pqc.math.linearalgebra.IntegerFunctions.randomize() calling method java.security.SecureRandom.<init>()


    public static java.math.BigInteger randomize(java.math.BigInteger p4, java.security.SecureRandom p5)
    {
        int v0 = p4.bitLength();
        java.math.BigInteger v1_1 = java.math.BigInteger.valueOf(0);
        if (p5 == null) {
            if (org.bouncycastle.pqc.math.linearalgebra.IntegerFunctions.sr == null) {
                p5 = new java.security.SecureRandom();
            } else {
                p5 = org.bouncycastle.pqc.math.linearalgebra.IntegerFunctions.sr;
            }
        }
        int v2 = 0;
        while (v2 < 20) {
            v1_1 = new java.math.BigInteger(v0, p5);
            if (v1_1.compareTo(p4) >= 0) {
                v2++;
            } else {
                return v1_1;
            }
        }
        return v1_1.mod(p4);
    }

Method org.bouncycastle.pqc.math.linearalgebra.IntegerFunctions.randomize() calling method java.security.SecureRandom.<init>()


    public static java.math.BigInteger randomize(java.math.BigInteger p1)
    {
        if (org.bouncycastle.pqc.math.linearalgebra.IntegerFunctions.sr == null) {
            org.bouncycastle.pqc.math.linearalgebra.IntegerFunctions.sr = new java.security.SecureRandom();
        }
        return org.bouncycastle.pqc.math.linearalgebra.IntegerFunctions.randomize(p1, org.bouncycastle.pqc.math.linearalgebra.IntegerFunctions.sr);
    }

Method org.bouncycastle.pqc.math.linearalgebra.GF2mField.getRandomNonZeroElement() calling method java.security.SecureRandom.<init>()


    public int getRandomNonZeroElement()
    {
        return this.getRandomNonZeroElement(new java.security.SecureRandom());
    }

Method org.bouncycastle.pqc.jcajce.provider.sphincs.Sphincs256KeyPairGeneratorSpi.<init>() calling method java.security.SecureRandom.<init>()


    public Sphincs256KeyPairGeneratorSpi()
    {
        super("SPHINCS256");
        super.treeDigest = org.bouncycastle.asn1.nist.NISTObjectIdentifiers.id_sha512_256;
        super.engine = new org.bouncycastle.pqc.crypto.sphincs.SPHINCS256KeyPairGenerator();
        super.random = new java.security.SecureRandom();
        super.initialised = 0;
        return;
    }

Method org.bouncycastle.pqc.jcajce.provider.rainbow.RainbowKeyPairGeneratorSpi.<init>() calling method java.security.SecureRandom.<init>()


    public RainbowKeyPairGeneratorSpi()
    {
        super("Rainbow");
        super.engine = new org.bouncycastle.pqc.crypto.rainbow.RainbowKeyPairGenerator();
        super.strength = 1024;
        super.random = new java.security.SecureRandom();
        super.initialised = 0;
        return;
    }

Method org.bouncycastle.pqc.jcajce.provider.newhope.NHKeyPairGeneratorSpi.<init>() calling method java.security.SecureRandom.<init>()


    public NHKeyPairGeneratorSpi()
    {
        super("NH");
        super.engine = new org.bouncycastle.pqc.crypto.newhope.NHKeyPairGenerator();
        super.random = new java.security.SecureRandom();
        super.initialised = 0;
        return;
    }

Method org.bouncycastle.pqc.jcajce.provider.mceliece.McElieceKeyPairGeneratorSpi.initialize() calling method java.security.SecureRandom.<init>()


    public void initialize(java.security.spec.AlgorithmParameterSpec p5)
    {
        this.kpg = new org.bouncycastle.pqc.crypto.mceliece.McElieceKeyPairGenerator();
        super.initialize(p5);
        this.kpg.init(new org.bouncycastle.pqc.crypto.mceliece.McElieceKeyGenerationParameters(new java.security.SecureRandom(), new org.bouncycastle.pqc.crypto.mceliece.McElieceParameters(((org.bouncycastle.pqc.jcajce.spec.McElieceKeyGenParameterSpec) p5).getM(), ((org.bouncycastle.pqc.jcajce.spec.McElieceKeyGenParameterSpec) p5).getT())));
        return;
    }

Method org.bouncycastle.pqc.jcajce.provider.mceliece.McElieceCCA2KeyPairGeneratorSpi.initialize() calling method java.security.SecureRandom.<init>()


    public void initialize(java.security.spec.AlgorithmParameterSpec p6)
    {
        this.kpg = new org.bouncycastle.pqc.crypto.mceliece.McElieceCCA2KeyPairGenerator();
        super.initialize(p6);
        this.kpg.init(new org.bouncycastle.pqc.crypto.mceliece.McElieceCCA2KeyGenerationParameters(new java.security.SecureRandom(), new org.bouncycastle.pqc.crypto.mceliece.McElieceCCA2Parameters(((org.bouncycastle.pqc.jcajce.spec.McElieceCCA2KeyGenParameterSpec) p6).getM(), ((org.bouncycastle.pqc.jcajce.spec.McElieceCCA2KeyGenParameterSpec) p6).getT(), ((org.bouncycastle.pqc.jcajce.spec.McElieceCCA2KeyGenParameterSpec) p6).getDigest())));
        return;
    }

Method org.bouncycastle.pkcs.jcajce.JcePKCSPBEOutputEncryptorBuilder.build() calling method java.security.SecureRandom.<init>()


    public org.bouncycastle.operator.OutputEncryptor build(char[] p9)
    {
        if (this.random == null) {
            this.random = new java.security.SecureRandom();
        }
        String v0_6 = new byte[20];
        this.random.nextBytes(v0_6);
        try {
            javax.crypto.Cipher v1_8;
            org.bouncycastle.asn1.x509.AlgorithmIdentifier v2_4;
            if (!this.isPKCS12(this.algorithm)) {
                if (!this.algorithm.equals(org.bouncycastle.asn1.pkcs.PKCSObjectIdentifiers.id_PBES2)) {
                    throw new org.bouncycastle.operator.OperatorCreationException("unrecognised algorithm");
                } else {
                    javax.crypto.Cipher v1_5 = this.helper.createSecretKeyFactory(org.bouncycastle.asn1.pkcs.PKCSObjectIdentifiers.id_PBKDF2.getId()).generateSecret(new javax.crypto.spec.PBEKeySpec(p9, v0_6, this.iterationCount, this.keySizeProvider.getKeySize(new org.bouncycastle.asn1.x509.AlgorithmIdentifier(this.keyEncAlgorithm))));
                    javax.crypto.Cipher v3_6 = this.helper.createCipher(this.keyEncAlgorithm.getId());
                    v3_6.init(1, v1_5, this.random);
                    v2_4 = new org.bouncycastle.asn1.x509.AlgorithmIdentifier(this.algorithm, new org.bouncycastle.asn1.pkcs.PBES2Parameters(new org.bouncycastle.asn1.pkcs.KeyDerivationFunc(org.bouncycastle.asn1.pkcs.PKCSObjectIdentifiers.id_PBKDF2, new org.bouncycastle.asn1.pkcs.PBKDF2Params(v0_6, this.iterationCount)), new org.bouncycastle.asn1.pkcs.EncryptionScheme(this.keyEncAlgorithm, org.bouncycastle.asn1.ASN1Primitive.fromByteArray(v3_6.getParameters().getEncoded()))));
                    v1_8 = v3_6;
                }
            } else {
                v1_8 = this.helper.createCipher(this.algorithm.getId());
                v1_8.init(1, new org.bouncycastle.jcajce.PKCS12KeyWithParameters(p9, v0_6, this.iterationCount));
                v2_4 = new org.bouncycastle.asn1.x509.AlgorithmIdentifier(this.algorithm, new org.bouncycastle.asn1.pkcs.PKCS12PBEParams(v0_6, this.iterationCount));
            }
        } catch (org.bouncycastle.operator.OperatorCreationException v9_3) {
            javax.crypto.Cipher v1_13 = new StringBuilder();
            v1_13.append("unable to create OutputEncryptor: ");
            v1_13.append(v9_3.getMessage());
            throw new org.bouncycastle.operator.OperatorCreationException(v1_13.toString(), v9_3);
        }
        return new org.bouncycastle.pkcs.jcajce.JcePKCSPBEOutputEncryptorBuilder$1(this, v2_4, v1_8, p9);
    }

Method org.bouncycastle.pkcs.bc.BcPKCS12PBEOutputEncryptorBuilder.build() calling method java.security.SecureRandom.<init>()


    public org.bouncycastle.operator.OutputEncryptor build(char[] p5)
    {
        if (this.random == null) {
            this.random = new java.security.SecureRandom();
        }
        org.bouncycastle.pkcs.bc.BcPKCS12PBEOutputEncryptorBuilder$1 v0_8 = new byte[20];
        this.random.nextBytes(v0_8);
        org.bouncycastle.asn1.pkcs.PKCS12PBEParams v1_0 = new org.bouncycastle.asn1.pkcs.PKCS12PBEParams(v0_8, this.iterationCount);
        this.engine.init(1, org.bouncycastle.pkcs.bc.PKCS12PBEUtils.createCipherParameters(this.algorithm, this.digest, this.engine.getBlockSize(), v1_0, p5));
        return new org.bouncycastle.pkcs.bc.BcPKCS12PBEOutputEncryptorBuilder$1(this, v1_0, p5);
    }

Method org.bouncycastle.openssl.jcajce.JcePEMEncryptorBuilder.build() calling method java.security.SecureRandom.<init>()


    public org.bouncycastle.openssl.PEMEncryptor build(char[] p3)
    {
        if (this.random == null) {
            this.random = new java.security.SecureRandom();
        }
        byte[] v0_1;
        if (!this.algorithm.startsWith("AES-")) {
            v0_1 = 8;
        } else {
            v0_1 = 16;
        }
        byte[] v0_2 = new byte[v0_1];
        this.random.nextBytes(v0_2);
        return new org.bouncycastle.openssl.jcajce.JcePEMEncryptorBuilder$1(this, v0_2, p3);
    }

Method org.bouncycastle.openssl.jcajce.JceOpenSSLPKCS8EncryptorBuilder.build() calling method java.security.SecureRandom.<init>()


    public org.bouncycastle.operator.OutputEncryptor build()
    {
        java.security.GeneralSecurityException v0_1 = new byte[20];
        this.salt = v0_1;
        if (this.random == null) {
            this.random = new java.security.SecureRandom();
        }
        this.random.nextBytes(this.salt);
        try {
            this.cipher = this.helper.createCipher(this.algOID.getId());
        } catch (java.security.GeneralSecurityException v0_14) {
            String v2_10 = new StringBuilder();
            v2_10.append(this.algOID);
            v2_10.append(" not available: ");
            v2_10.append(v0_14.getMessage());
            throw new org.bouncycastle.operator.OperatorCreationException(v2_10.toString(), v0_14);
        }
        if (org.bouncycastle.openssl.jcajce.PEMUtilities.isPKCS5Scheme2(this.algOID)) {
            this.paramGen = this.helper.createAlgorithmParameterGenerator(this.algOID.getId());
        }
        java.security.GeneralSecurityException v0_6;
        if (!org.bouncycastle.openssl.jcajce.PEMUtilities.isPKCS5Scheme2(this.algOID)) {
            if (!org.bouncycastle.openssl.jcajce.PEMUtilities.isPKCS12(this.algOID)) {
                org.bouncycastle.operator.OperatorCreationException v1_14 = new StringBuilder();
                v1_14.append("unknown algorithm: ");
                v1_14.append(this.algOID);
                throw new org.bouncycastle.operator.OperatorCreationException(v1_14.toString(), 0);
            } else {
                java.security.GeneralSecurityException v0_25 = new org.bouncycastle.asn1.ASN1EncodableVector();
                v0_25.add(new org.bouncycastle.asn1.DEROctetString(this.salt));
                v0_25.add(new org.bouncycastle.asn1.ASN1Integer(((long) this.iterationCount)));
                String v2_20 = new org.bouncycastle.asn1.x509.AlgorithmIdentifier(this.algOID, org.bouncycastle.asn1.pkcs.PKCS12PBEParams.getInstance(new org.bouncycastle.asn1.DERSequence(v0_25)));
                try {
                    this.cipher.init(1, new org.bouncycastle.jcajce.PKCS12KeyWithParameters(this.password, this.salt, this.iterationCount));
                    v0_6 = v2_20;
                } catch (java.security.GeneralSecurityException v0_29) {
                    throw new org.bouncycastle.operator.OperatorCreationException(v0_29.getMessage(), v0_29);
                }
            }
        } else {
            this.params = this.paramGen.generateParameters();
            try {
                java.security.GeneralSecurityException v0_3 = new org.bouncycastle.asn1.pkcs.KeyDerivationFunc(this.algOID, org.bouncycastle.asn1.ASN1Primitive.fromByteArray(this.params.getEncoded()));
                String v2_2 = new org.bouncycastle.asn1.pkcs.KeyDerivationFunc(org.bouncycastle.asn1.pkcs.PKCSObjectIdentifiers.id_PBKDF2, new org.bouncycastle.asn1.pkcs.PBKDF2Params(this.salt, this.iterationCount));
                org.bouncycastle.jcajce.PKCS12KeyWithParameters v3_5 = new org.bouncycastle.asn1.ASN1EncodableVector();
                v3_5.add(v2_2);
                v3_5.add(v0_3);
                v0_6 = new org.bouncycastle.asn1.x509.AlgorithmIdentifier(org.bouncycastle.asn1.pkcs.PKCSObjectIdentifiers.id_PBES2, org.bouncycastle.asn1.pkcs.PBES2Parameters.getInstance(new org.bouncycastle.asn1.DERSequence(v3_5)));
                try {
                    this.key = org.bouncycastle.openssl.jcajce.PEMUtilities.generateSecretKeyForPKCS5Scheme2(this.helper, this.algOID.getId(), this.password, this.salt, this.iterationCount);
                    this.cipher.init(1, this.key, this.params);
                } catch (java.security.GeneralSecurityException v0_8) {
                    throw new org.bouncycastle.operator.OperatorCreationException(v0_8.getMessage(), v0_8);
                }
            } catch (java.security.GeneralSecurityException v0_7) {
                throw new org.bouncycastle.operator.OperatorCreationException(v0_7.getMessage(), v0_7);
            }
        }
        return new org.bouncycastle.openssl.jcajce.JceOpenSSLPKCS8EncryptorBuilder$1(this, v0_6);
    }

Method org.bouncycastle.math.ec.tools.TraceOptimizer.<clinit>() calling method java.security.SecureRandom.<init>()


    static TraceOptimizer()
    {
        org.bouncycastle.math.ec.tools.TraceOptimizer.ONE = java.math.BigInteger.valueOf(1);
        org.bouncycastle.math.ec.tools.TraceOptimizer.R = new java.security.SecureRandom();
        return;
    }

Method org.bouncycastle.math.ec.tools.DiscoverEndomorphisms.findBetaValues() calling method java.security.SecureRandom.<init>()


    private static org.bouncycastle.math.ec.ECFieldElement[] findBetaValues(org.bouncycastle.math.ec.ECCurve p5)
    {
        org.bouncycastle.math.ec.ECFieldElement[] v0_3 = p5.getField().getCharacteristic();
        do {
            java.math.BigInteger v3_1 = org.bouncycastle.util.BigIntegers.createRandomInRange(org.bouncycastle.math.ec.ECConstants.TWO, v0_3.subtract(org.bouncycastle.math.ec.ECConstants.TWO), new java.security.SecureRandom()).modPow(v0_3.divide(org.bouncycastle.math.ec.ECConstants.THREE), v0_3);
        } while(v3_1.equals(org.bouncycastle.math.ec.ECConstants.ONE));
        org.bouncycastle.math.ec.ECFieldElement v5_1 = p5.fromBigInteger(v3_1);
        org.bouncycastle.math.ec.ECFieldElement[] v0_2 = new org.bouncycastle.math.ec.ECFieldElement[2];
        v0_2[0] = v5_1;
        v0_2[1] = v5_1.square();
        return v0_2;
    }

Method org.bouncycastle.jcajce.provider.symmetric.util.BaseKeyGenerator.engineInit() calling method java.security.SecureRandom.<init>()


    protected void engineInit(int p3, java.security.SecureRandom p4)
    {
        if (p4 == null) {
            p4 = new java.security.SecureRandom();
        }
        this.engine.init(new org.bouncycastle.crypto.KeyGenerationParameters(p4, p3));
        this.uninitialised = 0;
        return;
    }

Method org.bouncycastle.jcajce.provider.symmetric.util.BaseKeyGenerator.engineGenerateKey() calling method java.security.SecureRandom.<init>()


    protected javax.crypto.SecretKey engineGenerateKey()
    {
        if (this.uninitialised) {
            this.engine.init(new org.bouncycastle.crypto.KeyGenerationParameters(new java.security.SecureRandom(), this.defaultKeySize));
            this.uninitialised = 0;
        }
        return new javax.crypto.spec.SecretKeySpec(this.engine.generateKey(), this.algName);
    }

Method org.bouncycastle.jcajce.provider.asymmetric.rsa.KeyPairGeneratorSpi.<init>() calling method java.security.SecureRandom.<init>()


    public KeyPairGeneratorSpi()
    {
        super("RSA");
        super.engine = new org.bouncycastle.crypto.generators.RSAKeyPairGenerator();
        super.param = new org.bouncycastle.crypto.params.RSAKeyGenerationParameters(org.bouncycastle.jcajce.provider.asymmetric.rsa.KeyPairGeneratorSpi.defaultPublicExponent, new java.security.SecureRandom(), 2048, 112);
        super.engine.init(super.param);
        return;
    }

Method org.bouncycastle.jcajce.provider.asymmetric.gost.KeyPairGeneratorSpi.generateKeyPair() calling method java.security.SecureRandom.<init>()


    public java.security.KeyPair generateKeyPair()
    {
        if (!this.initialised) {
            this.init(new org.bouncycastle.jce.spec.GOST3410ParameterSpec(org.bouncycastle.asn1.cryptopro.CryptoProObjectIdentifiers.gostR3410_94_CryptoPro_A.getId()), new java.security.SecureRandom());
        }
        org.bouncycastle.crypto.params.GOST3410PrivateKeyParameters v0_2 = this.engine.generateKeyPair();
        return new java.security.KeyPair(new org.bouncycastle.jcajce.provider.asymmetric.gost.BCGOST3410PublicKey(((org.bouncycastle.crypto.params.GOST3410PublicKeyParameters) v0_2.getPublic()), this.gost3410Params), new org.bouncycastle.jcajce.provider.asymmetric.gost.BCGOST3410PrivateKey(((org.bouncycastle.crypto.params.GOST3410PrivateKeyParameters) v0_2.getPrivate()), this.gost3410Params));
    }

Method org.bouncycastle.jcajce.provider.asymmetric.elgamal.KeyPairGeneratorSpi.<init>() calling method java.security.SecureRandom.<init>()


    public KeyPairGeneratorSpi()
    {
        super("ElGamal");
        super.engine = new org.bouncycastle.crypto.generators.ElGamalKeyPairGenerator();
        super.strength = 1024;
        super.certainty = 20;
        super.random = new java.security.SecureRandom();
        super.initialised = 0;
        return;
    }

Method org.bouncycastle.jcajce.provider.asymmetric.dsa.KeyPairGeneratorSpi.<init>() calling method java.security.SecureRandom.<init>()


    public KeyPairGeneratorSpi()
    {
        super("DSA");
        super.engine = new org.bouncycastle.crypto.generators.DSAKeyPairGenerator();
        super.strength = 1024;
        super.certainty = 20;
        super.random = new java.security.SecureRandom();
        super.initialised = 0;
        return;
    }

Method org.bouncycastle.jcajce.provider.asymmetric.dh.KeyPairGeneratorSpi.<init>() calling method java.security.SecureRandom.<init>()


    public KeyPairGeneratorSpi()
    {
        super("DH");
        super.engine = new org.bouncycastle.crypto.generators.DHBasicKeyPairGenerator();
        super.strength = 1024;
        super.certainty = 20;
        super.random = new java.security.SecureRandom();
        super.initialised = 0;
        return;
    }

Method org.bouncycastle.crypto.prng.X931SecureRandomBuilder.<init>() calling method java.security.SecureRandom.<init>()


    public X931SecureRandomBuilder()
    {
        this(new java.security.SecureRandom(), 0);
        return;
    }

Method org.bouncycastle.crypto.prng.X931SecureRandom.<init>() calling method java.security.SecureRandom.<init>()


    X931SecureRandom(java.security.SecureRandom p1, org.bouncycastle.crypto.prng.X931RNG p2, boolean p3)
    {
        this.randomSource = p1;
        this.drbg = p2;
        this.predictionResistant = p3;
        return;
    }

Method org.bouncycastle.crypto.prng.SP800SecureRandomBuilder.<init>() calling method java.security.SecureRandom.<init>()


    public SP800SecureRandomBuilder()
    {
        this(new java.security.SecureRandom(), 0);
        return;
    }

Method org.bouncycastle.crypto.prng.SP800SecureRandom.<init>() calling method java.security.SecureRandom.<init>()


    SP800SecureRandom(java.security.SecureRandom p1, org.bouncycastle.crypto.prng.EntropySource p2, org.bouncycastle.crypto.prng.DRBGProvider p3, boolean p4)
    {
        this.randomSource = p1;
        this.entropySource = p2;
        this.drbgProvider = p3;
        this.predictionResistant = p4;
        return;
    }

Method org.bouncycastle.crypto.prng.FixedSecureRandom.<init>() calling method java.security.SecureRandom.<init>()


    public FixedSecureRandom(boolean p4, byte[][] p5)
    {
        java.io.ByteArrayOutputStream v0_1 = new java.io.ByteArrayOutputStream();
        int v1 = 0;
        while (v1 != p5.length) {
            try {
                v0_1.write(p5[v1]);
                v1++;
            } catch (java.io.IOException) {
                throw new IllegalArgumentException("can\'t save value array.");
            }
        }
        this._data = v0_1.toByteArray();
        if (p4 != 0) {
            this._intPad = (this._data.length % 4);
        }
        return;
    }

Method org.bouncycastle.crypto.generators.RSABlindingFactorGenerator.init() calling method java.security.SecureRandom.<init>()


    public void init(org.bouncycastle.crypto.CipherParameters p2)
    {
        IllegalArgumentException v2_1;
        if (!(p2 instanceof org.bouncycastle.crypto.params.ParametersWithRandom)) {
            this.key = ((org.bouncycastle.crypto.params.RSAKeyParameters) p2);
            v2_1 = new java.security.SecureRandom();
        } else {
            this.key = ((org.bouncycastle.crypto.params.RSAKeyParameters) ((org.bouncycastle.crypto.params.ParametersWithRandom) p2).getParameters());
            v2_1 = ((org.bouncycastle.crypto.params.ParametersWithRandom) p2).getRandom();
        }
        this.random = v2_1;
        if ((this.key instanceof org.bouncycastle.crypto.params.RSAPrivateCrtKeyParameters)) {
            throw new IllegalArgumentException("generator requires RSA public key");
        } else {
            return;
        }
    }

Method org.bouncycastle.crypto.examples.JPAKEExample.main() calling method java.security.SecureRandom.<init>()


    public static void main(String[] p12)
    {
        java.io.PrintStream v12_0 = org.bouncycastle.crypto.agreement.jpake.JPAKEPrimeOrderGroups.NIST_3072;
        String v0_3 = v12_0.getP();
        org.bouncycastle.crypto.agreement.jpake.JPAKERound3Payload v1_28 = v12_0.getQ();
        String v2_58 = v12_0.getG();
        System.out.println("********* Initialization **********");
        System.out.println("Public parameters for the cyclic group:");
        String v5_4 = new StringBuilder();
        v5_4.append("p (");
        v5_4.append(v0_3.bitLength());
        v5_4.append(" bits): ");
        v5_4.append(v0_3.toString(16));
        System.out.println(v5_4.toString());
        String v5_8 = new StringBuilder();
        v5_8.append("q (");
        v5_8.append(v1_28.bitLength());
        v5_8.append(" bits): ");
        v5_8.append(v1_28.toString(16));
        System.out.println(v5_8.toString());
        String v5_17 = new StringBuilder();
        v5_17.append("g (");
        v5_17.append(v0_3.bitLength());
        v5_17.append(" bits): ");
        v5_17.append(v2_58.toString(16));
        System.out.println(v5_17.toString());
        String v5_20 = new StringBuilder();
        v5_20.append("p mod q = ");
        v5_20.append(v0_3.mod(v1_28).toString(16));
        System.out.println(v5_20.toString());
        String v5_23 = new StringBuilder();
        v5_23.append("g^{q} mod p = ");
        v5_23.append(v2_58.modPow(v1_28, v0_3).toString(16));
        System.out.println(v5_23.toString());
        System.out.println("");
        org.bouncycastle.crypto.agreement.jpake.JPAKERound3Payload v1_38 = new StringBuilder();
        v1_38.append("(Secret passwords used by Alice and Bob: \"");
        v1_38.append("password");
        v1_38.append("\" and \"");
        v1_38.append("password");
        v1_38.append("\")\n");
        System.out.println(v1_38.toString());
        org.bouncycastle.crypto.agreement.jpake.JPAKEParticipant v10 = new org.bouncycastle.crypto.agreement.jpake.JPAKEParticipant;
        java.io.PrintStream v3_0 = v12_0;
        String v4_0 = new org.bouncycastle.crypto.digests.SHA256Digest();
        String v5_1 = new java.security.SecureRandom();
        v10("alice", "password".toCharArray(), v3_0, v4_0, v5_1);
        org.bouncycastle.crypto.agreement.jpake.JPAKEParticipant v11 = new org.bouncycastle.crypto.agreement.jpake.JPAKEParticipant;
        v11("bob", "password".toCharArray(), v3_0, v4_0, v5_1);
        java.io.PrintStream v12_1 = v10.createRound1PayloadToSend();
        String v0_2 = v11.createRound1PayloadToSend();
        System.out.println("************ Round 1 **************");
        System.out.println("Alice sends to Bob: ");
        String v2_6 = new StringBuilder();
        v2_6.append("g^{x1}=");
        v2_6.append(v12_1.getGx1().toString(16));
        System.out.println(v2_6.toString());
        String v2_9 = new StringBuilder();
        v2_9.append("g^{x2}=");
        v2_9.append(v12_1.getGx2().toString(16));
        System.out.println(v2_9.toString());
        String v2_12 = new StringBuilder();
        v2_12.append("KP{x1}={");
        v2_12.append(v12_1.getKnowledgeProofForX1()[0].toString(16));
        v2_12.append("};{");
        v2_12.append(v12_1.getKnowledgeProofForX1()[1].toString(16));
        v2_12.append("}");
        System.out.println(v2_12.toString());
        String v2_15 = new StringBuilder();
        v2_15.append("KP{x2}={");
        v2_15.append(v12_1.getKnowledgeProofForX2()[0].toString(16));
        v2_15.append("};{");
        v2_15.append(v12_1.getKnowledgeProofForX2()[1].toString(16));
        v2_15.append("}");
        System.out.println(v2_15.toString());
        System.out.println("");
        System.out.println("Bob sends to Alice: ");
        String v2_20 = new StringBuilder();
        v2_20.append("g^{x3}=");
        v2_20.append(v0_2.getGx1().toString(16));
        System.out.println(v2_20.toString());
        String v2_23 = new StringBuilder();
        v2_23.append("g^{x4}=");
        v2_23.append(v0_2.getGx2().toString(16));
        System.out.println(v2_23.toString());
        String v2_26 = new StringBuilder();
        v2_26.append("KP{x3}={");
        v2_26.append(v0_2.getKnowledgeProofForX1()[0].toString(16));
        v2_26.append("};{");
        v2_26.append(v0_2.getKnowledgeProofForX1()[1].toString(16));
        v2_26.append("}");
        System.out.println(v2_26.toString());
        String v2_29 = new StringBuilder();
        v2_29.append("KP{x4}={");
        v2_29.append(v0_2.getKnowledgeProofForX2()[0].toString(16));
        v2_29.append("};{");
        v2_29.append(v0_2.getKnowledgeProofForX2()[1].toString(16));
        v2_29.append("}");
        System.out.println(v2_29.toString());
        System.out.println("");
        v10.validateRound1PayloadReceived(v0_2);
        System.out.println("Alice checks g^{x4}!=1: OK");
        System.out.println("Alice checks KP{x3}: OK");
        System.out.println("Alice checks KP{x4}: OK");
        System.out.println("");
        v11.validateRound1PayloadReceived(v12_1);
        System.out.println("Bob checks g^{x2}!=1: OK");
        System.out.println("Bob checks KP{x1},: OK");
        System.out.println("Bob checks KP{x2},: OK");
        System.out.println("");
        java.io.PrintStream v12_6 = v10.createRound2PayloadToSend();
        String v0_12 = v11.createRound2PayloadToSend();
        System.out.println("************ Round 2 **************");
        System.out.println("Alice sends to Bob: ");
        String v2_35 = new StringBuilder();
        v2_35.append("A=");
        v2_35.append(v12_6.getA().toString(16));
        System.out.println(v2_35.toString());
        String v2_38 = new StringBuilder();
        v2_38.append("KP{x2*s}={");
        v2_38.append(v12_6.getKnowledgeProofForX2s()[0].toString(16));
        v2_38.append("},{");
        v2_38.append(v12_6.getKnowledgeProofForX2s()[1].toString(16));
        v2_38.append("}");
        System.out.println(v2_38.toString());
        System.out.println("");
        System.out.println("Bob sends to Alice");
        String v2_43 = new StringBuilder();
        v2_43.append("B=");
        v2_43.append(v0_12.getA().toString(16));
        System.out.println(v2_43.toString());
        String v2_46 = new StringBuilder();
        v2_46.append("KP{x4*s}={");
        v2_46.append(v0_12.getKnowledgeProofForX2s()[0].toString(16));
        v2_46.append("},{");
        v2_46.append(v0_12.getKnowledgeProofForX2s()[1].toString(16));
        v2_46.append("}");
        System.out.println(v2_46.toString());
        System.out.println("");
        v10.validateRound2PayloadReceived(v0_12);
        System.out.println("Alice checks KP{x4*s}: OK\n");
        v11.validateRound2PayloadReceived(v12_6);
        System.out.println("Bob checks KP{x2*s}: OK\n");
        java.io.PrintStream v12_8 = v10.calculateKeyingMaterial();
        String v0_15 = v11.calculateKeyingMaterial();
        System.out.println("********* After round 2 ***********");
        String v2_51 = new StringBuilder();
        v2_51.append("Alice computes key material \t K=");
        v2_51.append(v12_8.toString(16));
        System.out.println(v2_51.toString());
        String v2_54 = new StringBuilder();
        v2_54.append("Bob computes key material \t K=");
        v2_54.append(v0_15.toString(16));
        System.out.println(v2_54.toString());
        System.out.println();
        org.bouncycastle.crypto.examples.JPAKEExample.deriveSessionKey(v12_8);
        org.bouncycastle.crypto.examples.JPAKEExample.deriveSessionKey(v0_15);
        org.bouncycastle.crypto.agreement.jpake.JPAKERound3Payload v1_35 = v10.createRound3PayloadToSend(v12_8);
        String v2_56 = v11.createRound3PayloadToSend(v0_15);
        System.out.println("************ Round 3 **************");
        System.out.println("Alice sends to Bob: ");
        String v4_8 = new StringBuilder();
        v4_8.append("MacTag=");
        v4_8.append(v1_35.getMacTag().toString(16));
        System.out.println(v4_8.toString());
        System.out.println("");
        System.out.println("Bob sends to Alice: ");
        String v4_14 = new StringBuilder();
        v4_14.append("MacTag=");
        v4_14.append(v2_56.getMacTag().toString(16));
        System.out.println(v4_14.toString());
        System.out.println("");
        v10.validateRound3PayloadReceived(v2_56, v12_8);
        System.out.println("Alice checks MacTag: OK\n");
        v11.validateRound3PayloadReceived(v1_35, v0_15);
        System.out.println("Bob checks MacTag: OK\n");
        System.out.println();
        System.out.println("MacTags validated, therefore the keying material matches.");
        return;
    }

Method org.bouncycastle.crypto.examples.DESExample.<init>() calling method java.security.SecureRandom.<init>()


    public DESExample(String p6, String p7, String p8, boolean p9)
    {
        this.encrypt = 1;
        this.cipher = 0;
        this.in = 0;
        this.out = 0;
        this.key = 0;
        this.encrypt = p9;
        try {
            this.in = new java.io.BufferedInputStream(new java.io.FileInputStream(p6));
            try {
                this.out = new java.io.BufferedOutputStream(new java.io.FileOutputStream(p7));
            } catch (java.io.IOException) {
                StringBuilder v2_5 = new StringBuilder();
                v2_5.append("Output file not created [");
                v2_5.append(p7);
                v2_5.append("]");
                System.err.println(v2_5.toString());
                System.exit(1);
            }
            if (p9 == null) {
                try {
                    java.io.BufferedOutputStream v7_4 = new java.io.BufferedInputStream(new java.io.FileInputStream(p8));
                    byte[] v9_3 = v7_4.available();
                    int v1_1 = new byte[v9_3];
                    v7_4.read(v1_1, 0, v9_3);
                    this.key = org.bouncycastle.util.encoders.Hex.decode(v1_1);
                } catch (java.io.IOException) {
                    java.io.PrintStream v6_8 = System.err;
                    java.io.BufferedOutputStream v7_6 = new StringBuilder();
                    byte[] v9_4 = "Decryption key file not found, or not valid [";
                    v7_6.append(v9_4);
                    v7_6.append(p8);
                    v7_6.append("]");
                    v6_8.println(v7_6.toString());
                    System.exit(1);
                }
            } else {
                try {
                    java.io.BufferedOutputStream v7_8 = new java.security.SecureRandom();
                } catch (Exception) {
                    v7_8 = 0;
                    System.err.println("Hmmm, no SHA1PRNG, you need the Sun implementation");
                    System.exit(1);
                    byte[] v9_9 = new org.bouncycastle.crypto.KeyGenerationParameters(v7_8, 192);
                    java.io.BufferedOutputStream v7_12 = new org.bouncycastle.crypto.generators.DESedeKeyGenerator();
                    v7_12.init(v9_9);
                    this.key = v7_12.generateKey();
                    java.io.BufferedOutputStream v7_15 = new java.io.BufferedOutputStream(new java.io.FileOutputStream(p8));
                    byte[] v9_13 = org.bouncycastle.util.encoders.Hex.encode(this.key);
                    v7_15.write(v9_13, 0, v9_13.length);
                    v7_15.flush();
                    v7_15.close();
                } catch (java.io.IOException) {
                    v6_8 = System.err;
                    v7_6 = new StringBuilder();
                    v9_4 = "Could not decryption create key file [";
                }
                v7_8.setSeed("www.bouncycastle.org".getBytes());
            }
            return;
        } catch (java.io.FileNotFoundException) {
            String v3_3 = new StringBuilder();
            v3_3.append("Input file not found [");
            v3_3.append(p6);
            v3_3.append("]");
            System.err.println(v3_3.toString());
            System.exit(1);
        }
    }

Method org.bouncycastle.crypto.engines.CramerShoupCoreEngine.initSecureRandom() calling method java.security.SecureRandom.<init>()


    protected java.security.SecureRandom initSecureRandom(boolean p1, java.security.SecureRandom p2)
    {
        if (p1) {
            if (p2 == null) {
                p2 = new java.security.SecureRandom();
            }
        } else {
            p2 = 0;
        }
        return p2;
    }

Method org.bouncycastle.crypto.agreement.jpake.JPAKEParticipant.<init>() calling method java.security.SecureRandom.<init>()


    public JPAKEParticipant(String p7, char[] p8, org.bouncycastle.crypto.agreement.jpake.JPAKEPrimeOrderGroup p9)
    {
        this(p7, p8, p9, new org.bouncycastle.crypto.digests.SHA256Digest(), new java.security.SecureRandom());
        return;
    }

Method org.bouncycastle.crypto.agreement.DHAgreement.init() calling method java.security.SecureRandom.<init>()


    public void init(org.bouncycastle.crypto.CipherParameters p2)
    {
        if (!(p2 instanceof org.bouncycastle.crypto.params.ParametersWithRandom)) {
            this.random = new java.security.SecureRandom();
        } else {
            this.random = ((org.bouncycastle.crypto.params.ParametersWithRandom) p2).getRandom();
            p2 = ((org.bouncycastle.crypto.params.ParametersWithRandom) p2).getParameters();
        }
        if (!(((org.bouncycastle.crypto.params.AsymmetricKeyParameter) p2) instanceof org.bouncycastle.crypto.params.DHPrivateKeyParameters)) {
            throw new IllegalArgumentException("DHEngine expects DHPrivateKeyParameters");
        } else {
            this.key = ((org.bouncycastle.crypto.params.DHPrivateKeyParameters) ((org.bouncycastle.crypto.params.AsymmetricKeyParameter) p2));
            this.dhParams = this.key.getParameters();
            return;
        }
    }

Method org.bouncycastle.cert.crmf.PKMACBuilder.build() calling method java.security.SecureRandom.<init>()


    public org.bouncycastle.operator.MacCalculator build(char[] p6)
    {
        if (this.parameters == null) {
            byte[] v0_3 = new byte[this.saltLength];
            if (this.random == null) {
                this.random = new java.security.SecureRandom();
            }
            this.random.nextBytes(v0_3);
            return this.genCalculator(new org.bouncycastle.asn1.cmp.PBMParameter(v0_3, this.owf, this.iterationCount, this.mac), p6);
        } else {
            return this.genCalculator(this.parameters, p6);
        }
    }

Method org.apache.http.impl.auth.DigestScheme.createCnonce() calling method java.security.SecureRandom.<init>()


    public static String createCnonce()
    {
        byte[] v1_1 = new byte[8];
        new java.security.SecureRandom().nextBytes(v1_1);
        return org.apache.http.impl.auth.DigestScheme.encode(v1_1);
    }

Method com.google.android.gms.internal.aow.z() calling method java.security.SecureRandom.<init>()


    final java.security.SecureRandom z()
    {
        super.e();
        if (this.b == null) {
            this.b = new java.security.SecureRandom();
        }
        return this.b;
    }

Method com.google.android.gms.internal.aow.a() calling method java.security.SecureRandom.<init>()


    protected final void a()
    {
        com.google.android.gms.internal.aku v0_1 = new java.security.SecureRandom();
        long v1 = v0_1.nextLong();
        if (v1 == 0) {
            v1 = v0_1.nextLong();
            if (v1 == 0) {
                super.v().A().a("Utils falling back to Random for random id");
            }
        }
        this.c.set(v1);
        return;
    }

Method com.google.android.gms.auth.api.credentials.PasswordSpecification.<init>() calling method java.security.SecureRandom.<init>()


    PasswordSpecification(int p3, String p4, java.util.List p5, java.util.List p6, int p7, int p8)
    {
        this.c = p3;
        this.d = p4;
        this.e = java.util.Collections.unmodifiableList(p5);
        this.f = java.util.Collections.unmodifiableList(p6);
        this.g = p7;
        this.h = p8;
        java.security.SecureRandom v3_2 = new int[95];
        java.util.Arrays.fill(v3_2, -1);
        java.util.Iterator v4_3 = this.e.iterator();
        int v6_1 = 0;
        while (v4_3.hasNext()) {
            char[] v7_4 = ((String) v4_3.next()).toCharArray();
            int v8_1 = v7_4.length;
            int v0 = 0;
            while (v0 < v8_1) {
                v3_2[(v7_4[v0] - 32)] = v6_1;
                v0++;
            }
            v6_1++;
        }
        this.i = v3_2;
        this.j = new java.security.SecureRandom();
        return;
    }

Method com.upi.hcesdk.security.SecurityManager.<clinit>() calling method java.security.SecureRandom.<init>()


    static SecurityManager()
    {
        com.upi.hcesdk.security.SecurityManager.secureRandom = new java.security.SecureRandom();
        java.security.Security.insertProviderAt(new org.spongycastle.jce.provider.BouncyCastleProvider(), 1);
        com.upi.hcesdk.security.SecurityManager.initialise();
        return;
    }

Method com.upi.hcesdk.mpp.MppService.<init>() calling method java.security.SecureRandom.<init>()


    public MppService()
    {
        this.secureRandom = new java.security.SecureRandom();
        this.secureRandom.setSeed(System.currentTimeMillis());
        try {
            this.walletID = com.upi.hcesdk.api.service.ConfigService.getInstance().getWalletID();
            this.requesterID = com.upi.hcesdk.api.service.ConfigService.getInstance().getRequesterID();
            this.requesterKey = com.upi.hcesdk.api.service.ConfigService.getInstance().getRequesterKey();
            this.setMppPubKeyId(new Integer(com.upi.hcesdk.api.service.ConfigService.getInstance().getPublicKeyID()));
            try {
                this.mppPublicKey = java.security.KeyFactory.getInstance("RSA").generatePublic(new java.security.spec.RSAPublicKeySpec(new java.math.BigInteger(com.upi.hcesdk.api.service.ConfigService.getInstance().getPublicKeyModulus(), 16), new java.math.BigInteger(com.upi.hcesdk.api.service.ConfigService.getInstance().getPublicKeyExponent(), 16)));
            } catch (Exception v0_15) {
                android.util.Log.e(com.upi.hcesdk.mpp.MppService.LOGTAG, v0_15.getMessage(), v0_15);
            }
            return;
        } catch (Exception) {
            com.upi.hcesdk.util.LogUtil.error(com.upi.hcesdk.mpp.MppService.LOGTAG, "Error in setting the configuratio paramaters");
            return;
        }
    }

Method com.google.android.gms.internal.aib.a() calling method java.security.SecureRandom.<init>()


    private static byte[] a(byte[] p3, String p4, boolean p5)
    {
        int v0_0;
        if (p5 == null) {
            v0_0 = 255;
        } else {
            v0_0 = 239;
        }
        if (p3.length > v0_0) {
            p3 = com.google.android.gms.internal.p.a(ark>com.google.android.gms.internal.aibark>.a(4096));
        }
        byte[] v3_1;
        if (p3.length >= v0_0) {
            v3_1 = java.nio.ByteBuffer.allocate((v0_0 + 1)).put(((byte) p3.length)).put(p3);
        } else {
            java.nio.ByteBuffer v1_5 = new byte[(v0_0 - p3.length)];
            new java.security.SecureRandom().nextBytes(v1_5);
            v3_1 = java.nio.ByteBuffer.allocate((v0_0 + 1)).put(((byte) p3.length)).put(p3).put(v1_5);
        }
        byte[] v3_3 = v3_1.array();
        if (p5 != null) {
            v3_3 = java.nio.ByteBuffer.allocate(256).put(ark>com.google.android.gms.internal.aibark>.a(v3_3)).put(v3_3).array();
        }
        byte[] v5_3 = new byte[256];
        new com.google.android.gms.internal.aie().a(v3_3, v5_3);
        if ((p4 != null) && (p4.length() > 0)) {
            if (p4.length() > 32) {
                p4 = p4.substring(0, 32);
            }
            new com.google.android.gms.internal.d(p4.getBytes("UTF-8")).a(v5_3);
        }
        return v5_3;
    }

Method com.b.a.b.a.b() calling method java.security.SecureRandom.<init>()


    public java.security.SecureRandom b()
    {
        java.security.SecureRandom v0_2;
        if (this.b == null) {
            v0_2 = new java.security.SecureRandom();
        } else {
            v0_2 = this.b;
        }
        return v0_2;
    }

Method org.spongycastle.b.a.e$b.g() calling method java.util.Random.<init>()


    public org.spongycastle.b.a.e g()
    {
        if ((!this.j()) && (!this.i())) {
            if (!this.a.testBit(0)) {
                throw new RuntimeException("not done yet");
            } else {
                if (!this.a.testBit(1)) {
                    if (!this.a.testBit(2)) {
                        org.spongycastle.b.a.e$b v0_23 = this.a.shiftRight(1);
                        if (this.h.modPow(v0_23, this.a).equals(org.spongycastle.b.a.c.d)) {
                            java.math.BigInteger v3_8 = this.h;
                            java.math.BigInteger v5_2 = this.b(this.b(v3_8));
                            java.math.BigInteger v6_1 = v0_23.add(org.spongycastle.b.a.c.d);
                            java.math.BigInteger v7_1 = this.a.subtract(org.spongycastle.b.a.c.d);
                            java.util.Random v8_2 = new java.util.Random();
                            do {
                                boolean v9_1 = new java.math.BigInteger(this.a.bitLength(), v8_2);
                                if ((v9_1.compareTo(this.a) < 0) && (this.e(v9_1.multiply(v9_1).subtract(v5_2)).modPow(v0_23, this.a).equals(v7_1))) {
                                    boolean v9_2 = this.a(v9_1, v3_8, v6_1);
                                    java.math.BigInteger v10_9 = v9_2[0];
                                    boolean v9_3 = v9_2[1];
                                    if (!this.b(v9_3, v9_3).equals(v5_2)) {
                                    } else {
                                        return new org.spongycastle.b.a.e$b(this.a, this.b, this.c(v9_3));
                                    }
                                }
                            } while((v10_9.equals(org.spongycastle.b.a.c.d)) || (v10_9.equals(v7_1)));
                            return 0;
                        } else {
                            return 0;
                        }
                    } else {
                        org.spongycastle.b.a.e$b v0_1 = this.h.modPow(this.a.shiftRight(3), this.a);
                        java.math.BigInteger v1_2 = this.b(v0_1, this.h);
                        if (!this.b(v1_2, v0_1).equals(org.spongycastle.b.a.c.d)) {
                            return this.e(new org.spongycastle.b.a.e$b(this.a, this.b, this.b(v1_2, org.spongycastle.b.a.c.e.modPow(this.a.shiftRight(2), this.a))));
                        } else {
                            return this.e(new org.spongycastle.b.a.e$b(this.a, this.b, v1_2));
                        }
                    }
                } else {
                    return this.e(new org.spongycastle.b.a.e$b(this.a, this.b, this.h.modPow(this.a.shiftRight(2).add(org.spongycastle.b.a.c.d), this.a)));
                }
            }
        } else {
            return this;
        }
    }

Method org.bouncycastle.pqc.math.linearalgebra.GF2nPolynomialElement.solveQuadraticEquation() calling method java.util.Random.<init>()


    public org.bouncycastle.pqc.math.linearalgebra.GF2nElement solveQuadraticEquation()
    {
        if (!this.isZero()) {
            if ((this.mDegree & 1) == 1) {
                return this.halfTrace();
            }
            do {
                RuntimeException v0_1 = new org.bouncycastle.pqc.math.linearalgebra.GF2nPolynomialElement(((org.bouncycastle.pqc.math.linearalgebra.GF2nPolynomialField) this.mField), new java.util.Random());
                org.bouncycastle.pqc.math.linearalgebra.GF2nPolynomialElement v2_2 = org.bouncycastle.pqc.math.linearalgebra.GF2nPolynomialElement.ZERO(((org.bouncycastle.pqc.math.linearalgebra.GF2nPolynomialField) this.mField));
                org.bouncycastle.pqc.math.linearalgebra.GF2nPolynomialElement v3_3 = ((org.bouncycastle.pqc.math.linearalgebra.GF2nPolynomialElement) v0_1.clone());
                int v4 = 1;
                if (v4 >= this.mDegree) {
                } else {
                    v2_2.squareThis();
                    v3_3.squareThis();
                    v2_2.addToThis(v3_3.multiply(this));
                    v3_3.addToThis(v0_1);
                    v4++;
                    while (v4 < this.mDegree) {
                    }
                }
            } while(v3_3.isZero());
            if (!this.equals(v2_2.square().add(v2_2))) {
                throw new RuntimeException();
            } else {
                return v2_2;
            }
        } else {
            return org.bouncycastle.pqc.math.linearalgebra.GF2nPolynomialElement.ZERO(((org.bouncycastle.pqc.math.linearalgebra.GF2nPolynomialField) this.mField));
        }
    }

Method org.bouncycastle.math.ec.ECFieldElement$Fp.sqrt() calling method java.util.Random.<init>()


    public org.bouncycastle.math.ec.ECFieldElement sqrt()
    {
        if ((!this.isZero()) && (!this.isOne())) {
            if (!this.q.testBit(0)) {
                throw new RuntimeException("not done yet");
            } else {
                if (!this.q.testBit(1)) {
                    if (!this.q.testBit(2)) {
                        org.bouncycastle.math.ec.ECFieldElement$Fp v0_23 = this.q.shiftRight(1);
                        if (this.x.modPow(v0_23, this.q).equals(org.bouncycastle.math.ec.ECConstants.ONE)) {
                            java.math.BigInteger v3_8 = this.x;
                            java.math.BigInteger v5_2 = this.modDouble(this.modDouble(v3_8));
                            java.math.BigInteger v6_1 = v0_23.add(org.bouncycastle.math.ec.ECConstants.ONE);
                            java.math.BigInteger v7_1 = this.q.subtract(org.bouncycastle.math.ec.ECConstants.ONE);
                            java.util.Random v8_2 = new java.util.Random();
                            do {
                                boolean v9_1 = new java.math.BigInteger(this.q.bitLength(), v8_2);
                                if ((v9_1.compareTo(this.q) < 0) && (this.modReduce(v9_1.multiply(v9_1).subtract(v5_2)).modPow(v0_23, this.q).equals(v7_1))) {
                                    boolean v9_2 = this.lucasSequence(v9_1, v3_8, v6_1);
                                    java.math.BigInteger v10_9 = v9_2[0];
                                    boolean v9_3 = v9_2[1];
                                    if (!this.modMult(v9_3, v9_3).equals(v5_2)) {
                                    } else {
                                        return new org.bouncycastle.math.ec.ECFieldElement$Fp(this.q, this.r, this.modHalfAbs(v9_3));
                                    }
                                }
                            } while((v10_9.equals(org.bouncycastle.math.ec.ECConstants.ONE)) || (v10_9.equals(v7_1)));
                            return 0;
                        } else {
                            return 0;
                        }
                    } else {
                        org.bouncycastle.math.ec.ECFieldElement$Fp v0_1 = this.x.modPow(this.q.shiftRight(3), this.q);
                        java.math.BigInteger v1_2 = this.modMult(v0_1, this.x);
                        if (!this.modMult(v1_2, v0_1).equals(org.bouncycastle.math.ec.ECConstants.ONE)) {
                            return this.checkSqrt(new org.bouncycastle.math.ec.ECFieldElement$Fp(this.q, this.r, this.modMult(v1_2, org.bouncycastle.math.ec.ECConstants.TWO.modPow(this.q.shiftRight(2), this.q))));
                        } else {
                            return this.checkSqrt(new org.bouncycastle.math.ec.ECFieldElement$Fp(this.q, this.r, v1_2));
                        }
                    }
                } else {
                    return this.checkSqrt(new org.bouncycastle.math.ec.ECFieldElement$Fp(this.q, this.r, this.x.modPow(this.q.shiftRight(2).add(org.bouncycastle.math.ec.ECConstants.ONE), this.q)));
                }
            }
        } else {
            return this;
        }
    }

Method org.spongycastle.b.a.d$a.a() calling method java.util.Random.<init>()


    private org.spongycastle.b.a.e a(org.spongycastle.b.a.e p9)
    {
        if (!p9.j()) {
            org.spongycastle.b.a.e v0_2 = this.a(org.spongycastle.b.a.c.c);
            int v1 = this.a();
            java.util.Random v2_1 = new java.util.Random();
            do {
                boolean v3_2 = this.a(new java.math.BigInteger(v1, v2_1));
                int v4 = 1;
                org.spongycastle.b.a.e v5_0 = p9;
                org.spongycastle.b.a.e v6_0 = v0_2;
                if (v4 >= v1) {
                    if (v5_0.j()) {
                    } else {
                        return 0;
                    }
                } else {
                    org.spongycastle.b.a.e v5_1 = v5_0.e();
                    v6_0 = v6_0.e().a(v5_1.c(v3_2));
                    v5_0 = v5_1.a(p9);
                    v4++;
                    while (v4 < v1) {
                    }
                }
            } while(v6_0.e().a(v6_0).j());
            return v6_0;
        } else {
            return p9;
        }
    }

Method org.bouncycastle.pqc.math.linearalgebra.GF2nONBField.elementOfOrder() calling method java.util.Random.<init>()


    private int elementOfOrder(int p5, int p6)
    {
        int v0_1 = new java.util.Random();
        int v1_1 = 0;
        while (v1_1 == 0) {
            int v2_1 = (p6 - 1);
            v1_1 = (v0_1.nextInt() % v2_1);
            if (v1_1 < 0) {
                v1_1 += v2_1;
            }
        }
        do {
            int v2_2 = org.bouncycastle.pqc.math.linearalgebra.IntegerFunctions.order(v1_1, p6);
            if (((v2_2 % p5) == 0) && (v2_2 != 0)) {
                int v6_1 = 2;
                int v0_2 = v1_1;
                while (v6_1 <= (p5 / v2_2)) {
                    v0_2 *= v1_1;
                    v6_1++;
                }
                return v0_2;
            }
        } while(v1_1 != 0);
        int v2_0 = (p6 - 1);
        v1_1 = (v0_1.nextInt() % v2_0);
        if (v1_1 < 0) {
            v1_1 += v2_0;
            while (v1_1 == 0) {
            }
        }
    }

Method org.bouncycastle.math.ec.ECCurve$AbstractF2m.solveQuadraticEquation() calling method java.util.Random.<init>()


    private org.bouncycastle.math.ec.ECFieldElement solveQuadraticEquation(org.bouncycastle.math.ec.ECFieldElement p9)
    {
        if (!p9.isZero()) {
            org.bouncycastle.math.ec.ECFieldElement v0_2 = this.fromBigInteger(org.bouncycastle.math.ec.ECConstants.ZERO);
            int v1 = this.getFieldSize();
            java.util.Random v2_1 = new java.util.Random();
            do {
                boolean v3_2 = this.fromBigInteger(new java.math.BigInteger(v1, v2_1));
                int v4 = 1;
                org.bouncycastle.math.ec.ECFieldElement v5_0 = p9;
                org.bouncycastle.math.ec.ECFieldElement v6_0 = v0_2;
                if (v4 >= v1) {
                    if (v5_0.isZero()) {
                    } else {
                        return 0;
                    }
                } else {
                    org.bouncycastle.math.ec.ECFieldElement v5_1 = v5_0.square();
                    v6_0 = v6_0.square().add(v5_1.multiply(v3_2));
                    v5_0 = v5_1.add(p9);
                    v4++;
                    while (v4 < v1) {
                    }
                }
            } while(v6_0.square().add(v6_0).isZero());
            return v6_0;
        } else {
            return p9;
        }
    }

Method org.spongycastle.b.c.b.a() calling method java.util.Random.<init>()


    public static int[] a(int[] p7)
    {
        int v0 = p7.length;
        java.util.Random v1_1 = new java.util.Random();
        int[] v2 = org.spongycastle.b.c.c.a(v0);
        int v3 = (v0 - 1);
        int v4_4 = p7[v3];
        int v4_5 = (v4_4 | (v4_4 >> 1));
        int v4_0 = (v4_5 | (v4_5 >> 2));
        int v4_1 = (v4_0 | (v4_0 >> 4));
        int v4_2 = (v4_1 | (v4_1 >> 8));
        int v4_3 = (v4_2 | (v4_2 >> 16));
        do {
            boolean v5_3 = 0;
            if (v5_3 == v0) {
                v2[v3] = (v2[v3] & v4_3);
            } else {
                v2[v5_3] = v1_1.nextInt();
                v5_3++;
                while (v5_3 != v0) {
                }
            }
        } while(org.spongycastle.b.c.c.c(v0, v2, p7));
        return v2;
    }

Method org.spongycastle.a.r.e.a() calling method java.util.Random.<init>()


    private static org.spongycastle.b.a.e a(org.spongycastle.b.a.d p8, org.spongycastle.b.a.e p9)
    {
        if (!p9.j()) {
            org.spongycastle.b.a.e v0_2 = p8.a(org.spongycastle.b.a.c.c);
            java.util.Random v1_1 = new java.util.Random();
            int v2 = p9.b();
            do {
                boolean v3_2 = p8.a(new java.math.BigInteger(v2, v1_1));
                int v4 = 1;
                org.spongycastle.b.a.e v5_0 = p9;
                org.spongycastle.b.a.e v6_0 = v0_2;
                if (v4 > (v2 - 1)) {
                    if (v5_0.j()) {
                    } else {
                        return 0;
                    }
                } else {
                    org.spongycastle.b.a.e v5_1 = v5_0.e();
                    v6_0 = v6_0.e().a(v5_1.c(v3_2));
                    v5_0 = v5_1.a(p9);
                    v4++;
                    while (v4 <= (v2 - 1)) {
                    }
                }
            } while(v6_0.e().a(v6_0).j());
            return v6_0;
        } else {
            return p9;
        }
    }

Method org.bouncycastle.pqc.math.linearalgebra.GF2Polynomial.<clinit>() calling method java.util.Random.<init>()


    static GF2Polynomial()
    {
        org.bouncycastle.pqc.math.linearalgebra.GF2Polynomial.rand = new java.util.Random();
        int[] v1_1 = new boolean[256];
        v1_1 = {0, 1, 1, 0, 1, 0, 0, 1, 1, 0, 0, 1, 0, 1, 1, 0, 1, 0, 0, 1, 0, 1, 1, 0, 0, 1, 1, 0, 1, 0, 0, 1, 1, 0, 0, 1, 0, 1, 1, 0, 0, 1, 1, 0, 1, 0, 0, 1, 0, 1, 1, 0, 1, 0, 0, 1, 1, 0, 0, 1, 0, 1, 1, 0, 1, 0, 0, 1, 0, 1, 1, 0, 0, 1, 1, 0, 1, 0, 0, 1, 0, 1, 1, 0, 1, 0, 0, 1, 1, 0, 0, 1, 0, 1, 1, 0, 0, 1, 1, 0, 1, 0, 0, 1, 1, 0, 0, 1, 0, 1, 1, 0, 1, 0, 0, 1, 0, 1, 1, 0, 0, 1, 1, 0, 1, 0, 0, 1, 1, 0, 0, 1, 0, 1, 1, 0, 0, 1, 1, 0, 1, 0, 0, 1, 0, 1, 1, 0, 1, 0, 0, 1, 1, 0, 0, 1, 0, 1, 1, 0, 0, 1, 1, 0, 1, 0, 0, 1, 1, 0, 0, 1, 0, 1, 1, 0, 1, 0, 0, 1, 0, 1, 1, 0, 0, 1, 1, 0, 1, 0, 0, 1, 0, 1, 1, 0, 1, 0, 0, 1, 1, 0, 0, 1, 0, 1, 1, 0, 1, 0, 0, 1, 0, 1, 1, 0, 0, 1, 1, 0, 1, 0, 0, 1, 1, 0, 0, 1, 0, 1, 1, 0, 0, 1, 1, 0, 1, 0, 0, 1, 0, 1, 1, 0, 1, 0, 0, 1, 1, 0, 0, 1, 0, 1, 1, 0};
        org.bouncycastle.pqc.math.linearalgebra.GF2Polynomial.parity = v1_1;
        int[] v0_5 = new short[256];
        v0_5 = {0, 1, 4, 5, 16, 17, 20, 21, 64, 65, 68, 69, 80, 81, 84, 85, 256, 257, 260, 261, 272, 273, 276, 277, 320, 321, 324, 325, 336, 337, 340, 341, 1024, 1025, 1028, 1029, 1040, 1041, 1044, 1045, 1088, 1089, 1092, 1093, 1104, 1105, 1108, 1109, 1280, 1281, 1284, 1285, 1296, 1297, 1300, 1301, 1344, 1345, 1348, 1349, 1360, 1361, 1364, 1365, 4096, 4097, 4100, 4101, 4112, 4113, 4116, 4117, 4160, 4161, 4164, 4165, 4176, 4177, 4180, 4181, 4352, 4353, 4356, 4357, 4368, 4369, 4372, 4373, 4416, 4417, 4420, 4421, 4432, 4433, 4436, 4437, 5120, 5121, 5124, 5125, 5136, 5137, 5140, 5141, 5184, 5185, 5188, 5189, 5200, 5201, 5204, 5205, 5376, 5377, 5380, 5381, 5392, 5393, 5396, 5397, 5440, 5441, 5444, 5445, 5456, 5457, 5460, 5461, 16384, 16385, 16388, 16389, 16400, 16401, 16404, 16405, 16448, 16449, 16452, 16453, 16464, 16465, 16468, 16469, 16640, 16641, 16644, 16645, 16656, 16657, 16660, 16661, 16704, 16705, 16708, 16709, 16720, 16721, 16724, 16725, 17408, 17409, 17412, 17413, 17424, 17425, 17428, 17429, 17472, 17473, 17476, 17477, 17488, 17489, 17492, 17493, 17664, 17665, 17668, 17669, 17680, 17681, 17684, 17685, 17728, 17729, 17732, 17733, 17744, 17745, 17748, 17749, 20480, 20481, 20484, 20485, 20496, 20497, 20500, 20501, 20544, 20545, 20548, 20549, 20560, 20561, 20564, 20565, 20736, 20737, 20740, 20741, 20752, 20753, 20756, 20757, 20800, 20801, 20804, 20805, 20816, 20817, 20820, 20821, 21504, 21505, 21508, 21509, 21520, 21521, 21524, 21525, 21568, 21569, 21572, 21573, 21584, 21585, 21588, 21589, 21760, 21761, 21764, 21765, 21776, 21777, 21780, 21781, 21824, 21825, 21828, 21829, 21840, 21841, 21844, 21845};
        org.bouncycastle.pqc.math.linearalgebra.GF2Polynomial.squaringTable = v0_5;
        int[] v1_0 = new int[33];
        v1_0 = {1, 2, 4, 8, 16, 32, 64, 128, 256, 512, 1024, 2048, 4096, 8192, 16384, 32768, 65536, 131072, 262144, 524288, 1048576, 2097152, 4194304, 8388608, 16777216, 33554432, 67108864, 134217728, 268435456, 536870912, 1073741824, -2147483648, 0};
        org.bouncycastle.pqc.math.linearalgebra.GF2Polynomial.bitMask = v1_0;
        int[] v0_3 = new int[33];
        v0_3 = {0, 1, 3, 7, 15, 31, 63, 127, 255, 511, 1023, 2047, 4095, 8191, 16383, 32767, 65535, 131071, 262143, 524287, 1048575, 2097151, 4194303, 8388607, 16777215, 33554431, 67108863, 134217727, 268435455, 536870911, 1073741823, 2147483647, -1};
        org.bouncycastle.pqc.math.linearalgebra.GF2Polynomial.reverseRightMask = v0_3;
        return;
    }

Method org.bouncycastle.math.raw.Mod.random() calling method java.util.Random.<init>()


    public static int[] random(int[] p7)
    {
        int v0 = p7.length;
        java.util.Random v1_1 = new java.util.Random();
        int[] v2 = org.bouncycastle.math.raw.Nat.create(v0);
        int v3 = (v0 - 1);
        int v4_4 = p7[v3];
        int v4_5 = (v4_4 | (v4_4 >> 1));
        int v4_0 = (v4_5 | (v4_5 >> 2));
        int v4_1 = (v4_0 | (v4_0 >> 4));
        int v4_2 = (v4_1 | (v4_1 >> 8));
        int v4_3 = (v4_2 | (v4_2 >> 16));
        do {
            boolean v5_3 = 0;
            if (v5_3 == v0) {
                v2[v3] = (v2[v3] & v4_3);
            } else {
                v2[v5_3] = v1_1.nextInt();
                v5_3++;
                while (v5_3 != v0) {
                }
            }
        } while(org.bouncycastle.math.raw.Nat.gte(v0, v2, p7));
        return v2;
    }

Method org.bouncycastle.asn1.ua.DSTU4145PointEncoder.solveQuadraticEquation() calling method java.util.Random.<init>()


    private static org.bouncycastle.math.ec.ECFieldElement solveQuadraticEquation(org.bouncycastle.math.ec.ECCurve p8, org.bouncycastle.math.ec.ECFieldElement p9)
    {
        if (!p9.isZero()) {
            org.bouncycastle.math.ec.ECFieldElement v0_2 = p8.fromBigInteger(org.bouncycastle.math.ec.ECConstants.ZERO);
            java.util.Random v1_1 = new java.util.Random();
            int v2 = p9.getFieldSize();
            do {
                boolean v3_2 = p8.fromBigInteger(new java.math.BigInteger(v2, v1_1));
                int v4 = 1;
                org.bouncycastle.math.ec.ECFieldElement v5_0 = p9;
                org.bouncycastle.math.ec.ECFieldElement v6_0 = v0_2;
                if (v4 > (v2 - 1)) {
                    if (v5_0.isZero()) {
                    } else {
                        return 0;
                    }
                } else {
                    org.bouncycastle.math.ec.ECFieldElement v5_1 = v5_0.square();
                    v6_0 = v6_0.square().add(v5_1.multiply(v3_2));
                    v5_0 = v5_1.add(p9);
                    v4++;
                    while (v4 <= (v2 - 1)) {
                    }
                }
            } while(v6_0.square().add(v6_0).isZero());
            return v6_0;
        } else {
            return p9;
        }
    }

Method com.paysys.nbpdigital.activity.MessageService.onMessageReceived() calling method java.util.Random.<init>()


    public void onMessageReceived(com.google.firebase.messaging.a p5)
    {
        this.jsonNotifyObj = new org.json.JSONObject(p5.b());
        try {
            this.title = this.jsonNotifyObj.get("title").toString();
            this.body = this.jsonNotifyObj.get("body").toString();
        } catch (android.app.NotificationManager v0_8) {
            v0_8.printStackTrace();
        }
        android.app.NotificationManager v0_10 = new StringBuilder();
        v0_10.append("From: ");
        v0_10.append(p5.a());
        com.paysys.nbpdigital.utils.Log.d(v0_10.toString());
        if (p5.b().size() > 0) {
            android.app.NotificationManager v0_16 = new StringBuilder();
            v0_16.append("Message data payload: ");
            v0_16.append(p5.b());
            com.paysys.nbpdigital.utils.Log.d(v0_16.toString());
        }
        if (p5.c() != null) {
            android.app.NotificationManager v0_21 = new StringBuilder();
            v0_21.append("Message Notification Body: ");
            v0_21.append(p5.c().a());
            com.paysys.nbpdigital.utils.Log.d(v0_21.toString());
        }
        android.app.NotificationManager v0_24 = new android.content.Intent(this, com.paysys.nbpdigital.activity.MainActivity);
        v0_24.putExtra("NotifyData", new com.google.b.e().a(p5.b()));
        v0_24.setFlags(67108864);
        android.app.NotificationManager v0_25 = android.app.PendingIntent.getActivity(this, 0, v0_24, 1073741824);
        android.app.Notification v1_16 = new android.support.v4.app.NotificationCompat$Builder(this);
        v1_16.setContentTitle("NBP");
        v1_16.setContentText(p5.c().a());
        v1_16.setSound(android.provider.Settings$System.DEFAULT_NOTIFICATION_URI);
        int v5_6 = new long[2];
        v5_6 = {4.94e-321, 4.94e-321};
        v1_16.setVibrate(v5_6);
        v1_16.setAutoCancel(1);
        v1_16.setContentIntent(v0_25);
        v1_16.setSmallIcon(2131231146);
        ((android.app.NotificationManager) this.getSystemService("notification")).notify(new java.util.Random().nextInt(), v1_16.build());
        return;
    }