class Salsa20 implements ProtectedStringCrypto {

    public static Salsa20 createInstance(byte[] protectedStreamKey) {
        if (protectedStreamKey == null) {
            throw new IllegalArgumentException("ProtectedStreamKey must not be null");
        }

        Salsa20 salsa20 = new Salsa20();
        salsa20.initialize(protectedStreamKey);

        return salsa20;
    }

}