laravel RSA decryption very slow

We are storing some consumer data in database. The sensitive data is stored in encryption format and we are encrypting the data using RSA encryption. We are using phpseclib for encryption in the laravel. We are using setters to encrypt the data at the time of storing to database.

    $rsa = new RSA();
    $publicfilecontent = Storage::disk('local')->get('publickey.txt');
    $rsa->loadKey($publicfilecontent); 
    $this->attributes['address'] = $rsa->encrypt($address);

This works fine and the data is stored in blob type in the database. The issue is that when we are retrieving the data from the database, the data for many consumers is returned at the same time. We are decrypting the addresses of these employees. Since MySQL does not offer decryption, we have to decrypt the address at the laraval level and it has to be done for each employee. See the example below.

$serviceproviders = Providers::where('city_id',$request->city_id)->get();

foreach ($serviceproviders as $key => $serviceprovider) {
  $rsa = new RSA();
  $privatefilecontent = Storage::disk('local')->get('privatekey.txt');
  $rsa->loadKey($privatefilecontent); 
  $address_decrypted= $rsa->decrypt($serviceprovider->address);
  $serprov_array[$key] = $serviceprovider;
  $serprov_array[$key]->distance_decrypted= $address_decrypted;
}

The above code works fine but the problem is that it is too slow. Only for 20 records, it took 5 sec to return the data in the mobile app while without the decryption, the data returns in 500 ms. We have to load hundreds of service providers so this performance is not at acceptable level at the moment.

Can someone please guide how to improve the performance of the decryption process?