input: Write a python function to encrypt and decrypt a given string using a random 2D matrix.
  assert decrypt(encrypt("hello")) == "hello"
  assert decrypt(encrypt("world")) == "world"
  assert decrypt(encrypt("test123")) == "test123"
output: import random
  
  def generate_matrix():
      matrix = [[random.randint(0, 255) for _ in range(256)] for _ in range(256)]
      return matrix
  
  def encrypt(text):
      matrix = generate_matrix()
      encrypted = []
      for char in text:
          row = ord(char)
          col = random.randint(0, 255)
          encrypted.append((matrix[row][col], col))
      return encrypted
  
  def decrypt(encrypted):
      matrix = generate_matrix()
      decrypted = ''
      for value, col in encrypted:
          for row in range(256):
              if matrix[row][col] == value:
                  decrypted += chr(row)
                  break
      return decrypted