VHDL-2008 'protect

Discussion in 'VHDL' started by dwerdna, Mar 11, 2010.

  1. dwerdna

    dwerdna Guest

    Hi All

    I'm looking into the IP encryption that VHDL-2008 now offer's to use
    on our code. I've got the latest Ashenden book which has a small
    chapter on it, but was after other reference material and even working

    My main query centers around how do you encrypt the code. Are there
    3rd party tools? Modelsim PE does it, but assuming that I need to
    encrypt for Xilinx, Synplify, Altera(?), and even particular customers
    as well is Modelsim the best choice. It also seems funny that you
    need to run a simulator to encrypt source code.

    Also the session key for the assymetic encryption seems to be recorded
    into the file only when I'm using a digital envelope (and then
    hopefully it is encrypted). Does it make sense that it does not need
    to be recorded if you are not using a digital envelope?

    I also seem to be having issues using Modelsim's public key to encrypt
    the session key. In not including it in the code it appears to
    encrypt appropritely.

    Any help/suggestions would be great


    My protect code is as follows:

    `protect key_keyowner = "Mentor Graphics Corporation"
    `protect key_method = "rsa"
    `protect key_keyname = "MGC-VERIF-SIM-RSA-1"
    -- `protect key_public_key
    -- f9Tif2emi4z0qtp8E+nX7QFzocTlClC6Dcq2qIvEJcpqUgTTD+mJ6grJSJ
    -- 80Xs0QgRqkrGYxW1RUnNBcJm4ZULexYz8972Oj6rQ99n5e1kDa/
    `protect key_block
    `protect data_method = "aes128-cbc"
    `protect encoding = (enctype = "base64")
    `protect author = "IP Provider"
    `protect author_info = "Widget 5 version 3.2"
    `protect begin
    `protect end

    Generated file from Modelsim:

    `protect BEGIN_PROTECTED
    `protect encrypt_agent = "Model Technology", encrypt_agent_info =
    `protect key_keyowner = "Mentor Graphics Corporation" , key_keyname =
    "MGC-VERIF-SIM-RSA-1" , key_method = "rsa"
    `protect encoding = ( enctype = "base64" )
    `protect KEY_BLOCK
    `protect data_method = "aes128-cbc"
    `protect encoding = ( enctype = "base64" , bytes = 1770 )
    `protect DATA_BLOCK
    `protect END_PROTECTED
    dwerdna, Mar 11, 2010
    1. Advertisements

Ask a Question

Want to reply to this thread or ask your own question?

You'll need to choose a username for the site, which only take a couple of moments (here). After that, you can post your question and our members will help you out.