Introduction to Intel® FPGA IP Cores

ID 683102
Date 4/03/2023
Public
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:

  • If you are using the Intel® Quartus® Prime Pro Edition software version 19.3 or later, the public encryption key is in <install directory>\quartus\common\misc\public_key.
  • If you are using a version of the Intel® Quartus® Prime Pro Edition software earlier than version 19.3, 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.