BouncyCastle hat eine implementierungslücke im RSA ... da beim versuch RSA als blockchiffre zu missbrauchen haufenweise fehler entstehen ... die standard-impl von java selbst gibt hier allerdings ordnungsgemäß "0" als blockgröße vor ... was glaube ich auch eher im sinne der RFC zu RSA ist ... aber so lange man sowas nicht versucht kann ruhig BC nutzen
ob jetzt BC mit standard compatibel ist weis ich grad nicht ... aber es soll wohl gerade zwischen java und php krachen ... die standard-impl soll da wohl besser klar kommen ...
wobei man auch unterscheiden muss : BC ist lediglich ein sog. Provider der verschiedene algos zur verfügung stellt ... ein richtiges framework ist es in meinen augen nicht ... da mit ausnahme des ladens von BC und dem expliziten angeben dieses providers bei allen instance-factories der code exakt gleich ist ...
von einem richtigen framework würde ich erwarten das es direkt für die einzelnen algos direkte methoden wie "encrypt"/"decrypt" gibt ... was allerdings auch bei BC fehlt ...
ergo : ob du nun BC als provider nutzt oder nicht ... der code den du schreiben musst ist *bis auf die zwei genannten abweichung* exakt gleich ...