Generazione delle chiavi della curva ellittica Diffie-Hellman [chiuso]

1

Voglio generare una coppia di chiavi ECDH (64 byte ciascuna), dove i primi 12 byte della chiave pubblica si adatteranno al mio formato.

Ad esempio, se ho una sequenza unica "13456789ABC" mi piacerebbe usarla come i primi 12 byte della chiave pubblica lunga 64 byte (il resto della lunghezza è riempito dai valori generati). Per ogni generazione di chiavi, la sequenza cambierà un po 'in modo che sia unica.

Quindi sostanzialmente sto chiedendo due cose:

  1. È possibile?
  2. Esiste un generatore che mi consenta di specificare un prefisso di lunghezza adeguata per la chiave pubblica?
posta RunoTheDog 31.05.2017 - 20:22
fonte

2 risposte

1

Risposte rapide:

  1. Non impossibile, ma praticamente nel regno di sconfiggere PKI - quindi non è facile da un colpo lungo (ancora). [modifica: se diventa sempre facile, potresti voler smettere di usare quell'implementazione di PKI per la sicurezza, in primo luogo!]
  2. Non ho trovato un simile generatore.

PKI rende difficile la progettazione (non necessariamente in fase di implementazione sebbene si tratti di una digressione), quindi potresti voler cercare soluzioni progettuali che soddisfino meglio le tue esigenze. O indica il tuo bisogno di fondo, per esplorare le possibilità.

    
risposta data 01.06.2017 - 05:07
fonte
0

Questo è molto simile al problema della generazione di una chiave Bitcoin il cui indirizzo ha un contenuto predeterminato, chiamato indirizzo "vanity" per analogia con le targhe automobilistiche "vanity" disponibili in molti (la maggior parte ?) giurisdizioni a costi aggiuntivi, eccetto Bitcoin ha bisogno di indovinare approssimativamente 6 bit per ogni carattere desiderato nell'indirizzo del risultato. Vedi altro stack per Q su quello. Potresti presumibilmente modificare il programma Bitcoin vanitygen per gestire il tuo caso, poiché la parte difficile è la moltiplicazione dei punti; l'hashing è relativamente economico e base58 trascurabile.

Non è chiaro se vuoi veramente byte (e probabilmente la tua dimensione in byte, anche se non hai pensato di specificare che probabilmente conosci solo le macchine di classe PC che usano byte a 8 bit ) o poiché l'esempio che hai fornito è tutte cifre esadecimali valide se in realtà si intendono cifre fisse nella rappresentazione esadecimale spesso utilizzata per visualizzare e talvolta per memorizzare o trasportare chiavi EC (e altre cose nella moderna crittografia).

  • Se vuoi correggere 11 cifre esadecimali di 44 bit; in base alle stime approssimative del link probabilmente ci vuole meno di un giorno o al massimo qualche giorno su hardware ragionevole.

  • Se vuoi correggere 11 byte di 8 bit è molto più costoso, per esempio centomila anni se usi un milione di macchine di classe PC, un po 'meno se hai un hardware personalizzato progettato e realizzato per te.

risposta data 01.06.2017 - 09:09
fonte