A method for encrypting a numeric message data value (M) on a source computing device in order to transfer a cryptotext multivector (C) encrypted representation of said numeric message data value (M) to an intermediary computing system that will perform homomorphic scalar multiplication of said cryptotext multivector (C) and an unencrypted scalar data value (V) and deliver a result of said homomorphic scalar multiplication to a destination computing device, the method comprising:
- distributing by said source computing device said numeric message data value (M) into coefficients of a message multivector (M) in accord with a homomorphic preserving mathematical relationship between an unencrypted numeric data value and multivector coefficients representing said unencrypted numeric data value that is known to said source computing device and said destination computing device;
- distributing by said source computing device a shared secret numeric value (SS) into coefficients of a shared secret multivector (SS) in accord with a shared secret coefficient distribution algorithm that is known to said source computing device and said destination computing device, said shared secret numeric value (SS) being known or knowable to said source computing device and said destination computing device, but is kept secret from other devices not intended to have access to said numeric message data including said intermediary computing system;
- encrypting by said source computing device said cryptotext multivector (C) as an encryption function of at least one Geometric Algebra geometric product operation on said message multivector (M) and said shared secret multivector (SS);
- and
- sending by said source computing device said cryptotext multivector (C) to said intermediary computing system.