cancel
Showing results for 
Show  only  | Search instead for 
Did you mean: 
Highlighted
Participant
Participant
325 Views
Registered: ‎12-04-2019

IEEE-1735-2014 v2 - Generate Key?

Is there a note about how to generate keys for encrypting IP?

0 Kudos
4 Replies
Highlighted
Moderator
Moderator
271 Views
Registered: ‎11-04-2010

You can just use the key file in the Vivado's installation dir:

Ex: .\Vivado\2019.2\data\pubkey

-------------------------------------------------------------------------
Don't forget to reply, kudo, and accept as solution.
-------------------------------------------------------------------------
0 Kudos
Highlighted
Participant
Participant
213 Views
Registered: ‎12-04-2019

That doesn't make sense to me - I'd want to control both the public key as well as the private key.

I need to be able to generate a public/private key pair (either with PuttyGen or ssh-keygen) and then utilize them to encrypt the IP.

 

0 Kudos
Highlighted
Participant
Participant
198 Views
Registered: ‎12-04-2019

I used the following command:

openssl genrsa –out some_key_name.pem 2048



Then I extracted the public key:

Openssl rsa –in some_key_name.pem -pubout > some_key_name.pub



Then I placed the pasted the public keyfile into the example keyfile_vhd.txt, and launched an encryption run:

encrypt -key /path/to/keyfile -lang vhdl -ext .vhdpp /path/to/source

So that looks like I can create the encrypted file (hooray!) however when I try to add it to the Vivado project, I get a syntax error on the file and Vivado can’t seem to parse it.

I must be doing something wrong.
0 Kudos
Highlighted
Observer
Observer
66 Views
Registered: ‎11-21-2020

If you want to your code to be read by a specific design tool, you have to encode it using its public key. For Vivado it's the one found in the installation directory. For other tools you can find the key either in the documentation or in the installation directory. If your design flow uses several EDA vendors, you can encrypt your files with all required pub keys.

Therefore if you encrypt it only for use with Vivado -> use the Vivado key. It makes no sense to use another one. Vivado must be able to decrypt your file anyway. If you target different uses of your file (ie outside Vivado) encrypt with the Vivado key and your own key.

 

0 Kudos