Questions tagged [ecies]

Elliptic Curve Integrated Encryption Scheme, or ECIES, is a hybrid encryption system proposed by Victor Shoup in 2001

Elliptic Curve Integrated Encryption Scheme, or ECIES, is a hybrid encryption system proposed by Victor Shoup in 2001. ECIES has been standardized in ANSI X9.63, IEEE 1363a, ISO/IEC 18033-2, and SECG SEC-1. Shoup's submission can be found at http://www.shoup.net/papers/iso-2_1.pdf.

ECIES combines a Key Encapsulation Mechanism (KEM) with a Data Encapsulation Mechanism (DEM). The system independently derives a bulk encryption key and a MAC key from a common secret. Data is first encrypted under a symmetric cipher, and then the cipher text is MAC'd under an authentication scheme. Finally, the common secret is encrypted under the public part of a public/private key pair.

The output of the encryption function is the tuple {K,C,T}, where K is the encrypted common secret, C is the ciphertext, and T is the authentication tag. There is some hand waiving around the "common secret" since its actually the result of applying a Key Agreement function, and it uses the recipient's static public key and an ephemeral key pair.

A closely related system is Discrete Logarithm Integrated Encryption Scheme (DLIES), proposed by Abdalla, Bellare and Rogaway, which operates over integers rather than elliptic curves.

24 questions
0
votes
0 answers

Eccrypto ECIES Decrypt Scheme, JavaScript

This will probably need some sort of background in https://www.npmjs.com/package/eccrypto . I am trying to decrypt a message that was retrieved from an api with the ECIES scheme but it keeps telling me that the public key is "bad". error: Uncaught…
user14930609
0
votes
1 answer

Javascript. How To Efficiently Store Secp256k1 Private Key for ECIES Scheme

I've been having a really hard time figuring out how to store a Secp256k1 privateKey from multiple libraries (currently on this one for ECIES encryption: https://npm.io/package/@toruslabs/eccrypto). I have tried encoding and decoding with base64,…
user14930609
0
votes
1 answer

how to read an ECC public key which had been generated from java bouncycastle when using crypto++

I create an ECC public key from bouncycastle with below code: KeyPairGenerator keyPairGenerator = KeyPairGenerator.getInstance("EC", "BC"); keyPairGenerator.initialize(256, new SecureRandom()); KeyPair kp =…
Jack Chen
  • 1
  • 2
0
votes
1 answer

ECIES: correct way ECDH-input for KDF? Security effect?

In order to understand ECIES completely and use my favorite library I implemented some parts of ECIES myself. Doing this and comparing the results led to one point which is not really clear for me: what exacly is the input of KDF? The result of ECDH…
0
votes
1 answer

I don't understand the "encrypted" object from eccrypto library

I am learning the basics of eccrypto - JavaScript Elliptic curve cryptography library. I have got the following code from documentation. var eccrypto = require("eccrypto"); var privateKeyA = eccrypto.generatePrivate(); var publicKeyA =…
Shah Shishir
  • 133
  • 2
  • 11
0
votes
1 answer

Transferring ECIES public key to the client

I am new to ECIES and using ECIES algorithm for encryption and decryption. Below is the code snippet that I am using for the encryption and decryption mechanism. public static void main(String[] args) throws Exception { // Server Side…
Swarup Saha
  • 755
  • 1
  • 9
  • 20
0
votes
1 answer

ECIES with Inferno: Signing with ECDSA

I'm trying to sign a text file encrypted with ECIES, using Inferno. The encryption and key exchange parts work well but I'm left with a few questions regarding ECDSA. 1- I guess that the ECDSA signature must be stored in the sent file, so that…
Frank
  • 45
  • 1
  • 7
0
votes
1 answer

ECIES encryption/decryption Java

I am trying to use ECIES for encryption and decryption. This is what I have done: generated ECC key pair generated CSR Generated X509 certificate, signed by intermediate CA Server side, I need to use this certificate to encrypt data. So I have…
Mukesh
  • 177
  • 6
-1
votes
1 answer

File encryption using ECIES

I am currently trying to build a project (self-learning) which essentially is a website for sharing files (between two users). I want to encrypt a file (pdf) using ECIES (primary objective) and then send it to another user. My questions are: How to…
1
2