A true two-part epoxy will be the most durable option, yet the priciest. The active mixing agent, causes the coat of paint to dry extremely hard and durable. Valspar offers a great product that is available in a variety of colors. Valspar also has a clear epoxy coat to add extra protection to the floor coating and adds a glossy shine.
Valspar Garage Floor Coating
A cheaper route, and lesser in quality is using Seal-Krete's Concrete & Garage Floor Paint. It is labeled as an epoxy, but it is not a true epoxy since there is no mixing agent. However, the paint does dry hard for protection. Seal-Krete also offers
Clear-Seal for a clear topcoat.
Seal-Krete Concrete & Garage Floor Paint
Either choice requires proper surface preparation. The concrete should be cleaned, etched and dry of moisture. Both Valspar and Seal-Krete sell concrete surface prep solutuions.
This is a tough one that will take a bit of work. From personal experience, any time you're going to be applying paint/primer/etc. to any kind of questionable masonry and mixed surfaces, it's going to be a good idea to clean/prep in several stages, then apply a masonry grade primer.
Depending on if there was any kind of debris, mildew, moss growing on the surface, a brush and/or pressure washer could be suggested. If the surfaces are clean and evenly covered, I would use a good stiff deck brush or similar.
I would also suggest a chemical cleaner/stripper containing muriatic acid, which will have a mild etching effect and ensure good adhesion with whatever you decide to paint with.
Then proceed with a good masonry primer, following manufacturers specifications. The same would apply for your paint.
In most of my jobs and personal projects, I would say a good paint job is 90% preparation, 9% good product and 1% skill.
In short, treat all surfaces the same, clean and prep evenly and somewhat indiscriminately. I would suggest a standard latex acrylic. Elastomeric paints tends to be heavier and really suited to new construction and initial application. If the house is older, it's most likely done most of its settling.
This reference is in regards to commercial new construction, but a lot of the premise will be the same.
http://www.masonrymagazine.com/5-08/cleaning.html
Good luck with the project.
Best Answer
This should be a fairly easy project for you. The first step it to determine, if possible, if the existing paint is an oil or latex based paint. If you have the bucket that the old paint was in, you're in luck. Otherwise, it is hard to tell even though a trained eye may be able to tell. Regardless, using latex will be safe over either oil or latex (oil over latex will wrinkle and peel almost immediately and make a mess).
Since black will be hard to cover with one or two coats of white, I'd use a good blocking primer like Kilz or any good color block. Two quick coats of primer should be a great backer for white over black. Then just roll on your good quality, hard finish floor latex enamel. Probably two coats will do the trick. Be sure to clean the existing black finish well, and if possible, sand lightly just to rough up the surface a bit. This will help assure a good bond with the primer. Good luck.