Recentemente ho iniziato a lavorare con LibTomCrypt Library perché affermava di essere una C Library ben documentata per iniziare con Elliptic Curve Cryptography.
Nel mio primo piccolo programma ho creato una chiave ECC che successivamente ho cercato di stampare. Quindi ho usato ecc_make_key e la funzione ecc_export.
unsigned char buf[4][4096]
// I do this for the private and public Key
ecc_export(keyBufPriv[0] /*keyBufPublic[0]*/, &x, PK_PRIVATE /* PK_PUBLIC */, &keyA)
for (int i = 0; i < x; i++) {
printf(" %d ", keyBuf[0][i]);
}
Stampandoli mi sono chiesto perché la chiave pubblica e la chiave privata sembrano essere molto simili. Esistono alcuni programmi di test forniti con la libreria che mostrano lo stesso comportamento. Ho aggiunto alcune linee printf simili a quelle sopra nel programma di test.
output dal mio programma:
outputdaltestprogram:
A causa della somiglianza tra la chiave privata e pubblica, mi chiedo se tutto della libreria libtomcryp
venga eseguito come dovrebbe per rendere sicura la crittografia ECC.