How can I use Python and GDAL to perform raster algebra? Is there a way that I can declare two or more satellite images lets say as A and B and thereafter use python and GDAL to perform raster algebra A*B = C?
yes there is a way. You could read you raster as numpy array and conduct any kind of analyis on it. Of course basic scriting is necessary. Here you'll find a nice compendium on gdal/ogr snippets that you could reuse for your purpose: http://pcjericks.github.io/py-gdalogr-cookbook/. In particular I like also this presentation that helped me some years ago to start with the gdal and python: http://www.gis.usu.edu/~chrisg/python/2008/os5_slides.pdf.
A simple Python raster calculator is actually shipped with GDAL - gdal_calc.py
http://www.gdal.org/gdal_calc.html
Usage is pretty straightforward, you can declare input images to the letters A-Z, declare an output file as well as calculation. Your Example would look something like this:
gdal_calc.py -A imageA.tif -B imageB.tif --outfile=ABmultiplied.tif --calc="A*B"
In the current version of GDAL you can even employ numpy array functions on your input files (e.g. logical_and, logical_or, etc.)
If you find the GDAL handling from Python a bit cumbersome might I suggest taking a look at the rasterio module developed by the Mapbox team: https://github.com/mapbox/rasterio