ClpIX9ECC.pas 2.2 KB

1234567891011121314151617181920212223242526272829303132333435363738394041424344454647484950515253545556575859606162636465666768697071727374757677787980
  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 ClpIX9ECC;
  14. {$I ..\Include\CryptoLib.inc}
  15. interface
  16. uses
  17. ClpIECC,
  18. ClpIAsn1Objects,
  19. ClpCryptoLibTypes;
  20. type
  21. IX9FieldID = interface(IAsn1Encodable)
  22. ['{12A8969E-8050-4BB2-87F7-F4E155A35DCE}']
  23. function GetIdentifier: IDerObjectIdentifier;
  24. function GetParameters: IAsn1Object;
  25. property Identifier: IDerObjectIdentifier read GetIdentifier;
  26. property Parameters: IAsn1Object read GetParameters;
  27. end;
  28. type
  29. IX9FieldElement = interface(IAsn1Encodable)
  30. ['{7B055B2C-04BB-438B-B590-9A157F6412C0}']
  31. function GetValue: IECFieldElement;
  32. property Value: IECFieldElement read GetValue;
  33. end;
  34. type
  35. IX9ECPoint = interface(IAsn1Encodable)
  36. ['{B91190B8-A56A-4231-9687-24E4BB1397C7}']
  37. function GetPointEncoding(): TCryptoLibByteArray;
  38. function GetIsPointCompressed: Boolean;
  39. function GetPoint: IECPoint;
  40. property Point: IECPoint read GetPoint;
  41. property IsPointCompressed: Boolean read GetIsPointCompressed;
  42. end;
  43. type
  44. IX9Curve = interface(IAsn1Encodable)
  45. ['{BD78E2A1-C079-461C-8962-C4834DFA1478}']
  46. function GetCurve: IECCurve;
  47. function GetSeed(): TCryptoLibByteArray;
  48. property curve: IECCurve read GetCurve;
  49. end;
  50. implementation
  51. end.