Es gibt einige Crypto Bibliotheken die das denoch versuchen.
Sie definieren bei der Operation A := B^C mod D einen neuen Datentyp, den Modularen Ring. Ein Integer der immer modulo einem anderen Integer gerechnet wird.
ähnlich so:
Delphi-Quellcode:
var
A: IModuloRing;
C,B,D: IInteger;
begin
A.Modulo := D;
A := C^B;
end;
Nun kann ^ als Operator in A überladen werden, da A nun einen modularen Ring beschreibt rechnet diese Klasse/Record die Exponenation in spezieller Form, eben modular, aus.
Aber auch dieses Konzept wird auf lang oder kurz scheitern, zb. bei Matrizen, Elliptischen Kurven usw.
Gruß Hagen