Introduction to Intel® FPGA IP Cores

ID 683102
Date 10/04/2021
Public

A newer version of this document is available. Customers should click here to go to the newest version.

Document Table of Contents

1.11. Support for the IEEE 1735 Encryption Standard

The Intel® Quartus® Prime Pro Edition software supports the IEEE 1735 v1 encryption standard for IP core file decryption. You can encrypt the Verilog HDL or VHDL IP files with the encrypt_1735 utility, or with a third-party encryption tool that supports the IEEE 1735 standard. You can then use the encrypted files in the Intel® Quartus® Prime Pro Edition software and simulation tools that support the IEEE 1735 encryption standard.

The encryption key is the same for Verilog HDL and VHDL. You can pass parameters to the instantiation of an encrypted module using the same method as a non-encrypted module.

Type encrypt_1735 --help at the Intel® Quartus® Prime command line to view syntax and all supported options for the encrypt_1735 utility.

encrypt_1735 [-h | --help[=<option|topic>] | -v]
encrypt_1735 <other options>

Options:
--------
	-?
	-f <argument file>
	-h
	--256_bit[=<value>]
	--help[=<option|topic>]
	--language=<verilog | systemverilog| vhdl>
	--lower_priority
	--of=<some_file>
	--quartus
	--simulation[=<aldec | cadence | mentor | synopsys (comma delimited)>]
	--tcl_jou_file=<[tcl_jou_filename=]on|off>
	--tcl_log_file=<[tcl_log_filename=]on|off>

Adding the following Verilog or VHDL pragma to your RTL, along with the public key, enables the Intel® Quartus® Prime software to use the key to decrypt IP core files.

Verilog/SystemVerilog Encryption Pragma (Third-Party Tools):

`pragma protect key_keyowner="Intel Corporation"
`pragma protect data_method="aes128-cbc"
`pragma protect key_method="rsa"
`pragma protect key_keyname="Intel-FPGA-Quartus-RSA-1"
`pragma protect key_public_key
<encrypted session key>

`pragma protect begin
`pragma protect end

VHDL Encryption Pragma (Third-Party Tools):

`protect key_keyowner = “Intel Corporation”
`protect data_method="aes128-cbc"
`protect key_method = “rsa”
`protect key_keyname = “Intel-FPGA-Quartus-RSA-1”
`protect key_block
<Encrypted session key>

Only file encryption with a third-party tool requires the public encryption key. File encryption with the Intel® Quartus® Prime Pro Edition software does not require the public encryption key.

Use one of the following methods to obtain the public encryption key:

  • To obtain the encryption key, login or register for a My-Intel account, and then submit an Intel® Premier Support case requesting the encryption key.
  • If you are ineligible for Intel® Premier Support, you can submit a question regarding the "IEEE 1735 Encryption Public Key" to the Intel® Community Forum for assistance.
Note: The Intel® Quartus® Prime Standard Edition software does not support IEEE 1735 encryption.