ClpISecP256R1Custom.pas 1.8 KB

1234567891011121314151617181920212223242526272829303132333435363738394041424344454647484950515253545556575859
  1. { *********************************************************************************** }
  2. { * CryptoLib Library * }
  3. { * Copyright (c) 2018 - 20XX Ugochukwu Mmaduekwe * }
  4. { * Github Repository <https://github.com/Xor-el> * }
  5. { * Distributed under the MIT software license, see the accompanying file LICENSE * }
  6. { * or visit http://www.opensource.org/licenses/mit-license.php. * }
  7. { * Acknowledgements: * }
  8. { * * }
  9. { * Thanks to Sphere 10 Software (http://www.sphere10.com/) for sponsoring * }
  10. { * development of this library * }
  11. { * ******************************************************************************* * }
  12. (* &&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&& *)
  13. unit ClpISecP256R1Custom;
  14. {$I ..\Include\CryptoLib.inc}
  15. interface
  16. uses
  17. ClpBigInteger,
  18. ClpIECC,
  19. ClpCryptoLibTypes;
  20. type
  21. ISecP256R1FieldElement = Interface(IAbstractFpFieldElement)
  22. ['{963E19D3-B86F-4F78-8C10-54BF82030F09}']
  23. function GetX: TCryptoLibUInt32Array;
  24. property X: TCryptoLibUInt32Array read GetX;
  25. end;
  26. type
  27. ISecP256R1Point = Interface(IAbstractFpPoint)
  28. ['{EDD8CEBA-B86F-41F0-96B3-958525EF3272}']
  29. end;
  30. type
  31. ISecP256R1Curve = Interface(IAbstractFpCurve)
  32. ['{D6B64687-91B2-4281-B099-3B3DCFB330DB}']
  33. function GetQ: TBigInteger;
  34. property Q: TBigInteger read GetQ;
  35. end;
  36. type
  37. ISecP256R1LookupTable = Interface(IAbstractECLookupTable)
  38. ['{87BF97BA-18D2-4248-ABEB-8E429998E9D9}']
  39. end;
  40. implementation
  41. end.