code: def test_rsa_private_key():
      assert rsa_private_key(2, 3, 1) == (6, 1)
      assert rsa_private_key(5, 3, 3) == (15, 3)
      assert rsa_private_key(23, 29, 5) == (667, 493)
  
      with warns(NonInvertibleCipherWarning):
          assert rsa_private_key(2, 2, 1) == (4, 1)
          assert rsa_private_key(8, 8, 8) is False
  
imports: from sympy.core import symbols
  from sympy.crypto.crypto import cycle_list, encipher_shift, encipher_affine, encipher_substitution, check_and_join, encipher_vigenere, decipher_vigenere, encipher_hill, decipher_hill, encipher_bifid5, encipher_bifid6, bifid5_square, bifid6_square, bifid5, bifid6, decipher_bifid5, decipher_bifid6, encipher_kid_rsa, decipher_kid_rsa, kid_rsa_private_key, kid_rsa_public_key, decipher_rsa, rsa_private_key, rsa_public_key, encipher_rsa, lfsr_connection_polynomial, lfsr_autocorrelation, lfsr_sequence, encode_morse, decode_morse, elgamal_private_key, elgamal_public_key, encipher_elgamal, decipher_elgamal, dh_private_key, dh_public_key, dh_shared_key, decipher_shift, decipher_affine, encipher_bifid, decipher_bifid, bifid_square, padded_key, uniq, decipher_gm, encipher_gm, gm_public_key, gm_private_key, encipher_bg, decipher_bg, bg_private_key, bg_public_key, encipher_rot13, decipher_rot13, encipher_atbash, decipher_atbash, NonInvertibleCipherWarning, encipher_railfence, decipher_railfence
  from sympy.external.gmpy import gcd
  from sympy.matrices import Matrix
  from sympy.ntheory import isprime, is_primitive_root
  from sympy.polys.domains import FF
  from sympy.testing.pytest import raises, warns
  from sympy.core.random import randrange
label_desc: Use image node_id 21 for calling a global function with example usage: test_rsa_private_key() without return types