Forum Discussion
Does the 1SG280LU2F50E2VG support bitfile encryption
I am attempting to encrypt and load an image to the 1SG280LU2F50E2VG on our Stratix 10 GX development kit following the instructions in AN 970: Intel® Stratix® 10 Security Tutorial.
When I attempt to download the "root.qky" to the FPGA I see:
- Info(209060): Started Programmer operation at Thu Feb 12 18:01:59 2026
- Info(18942): Configuring device index 1
- Info(18943): Configuration succeeded at device index 1
- Info(20091): Programming public key on device 1
- Error(209012): Operation failed
- Info(209061): Ended Programmer operation at Thu Feb 12 18:02:02 2026
Is the FPGA on the development kit compatible with encryption?
3 Replies
- Farabi_Altera
Regular Contributor
Hello, I am taking this case. I will reply to you soon.
regards,
Farabi - Farabi_Altera
Regular Contributor
Hello,
Yes, the FPGA is compatible for design encryption.
If you are using the quartus_pfg command line tool to convert your AES root key .qek file into the compact certificate .ccert format. You need to specify the key storage location while creating the compact certificate. You may use the quartus_pfg tool to create an unsigned certificate for later signing. You must use a signature chain with the AES root key certificate signing permission, permission bit 6, enabled in order to successfully sign an AES root key compact certificate.
1. Create an additional key pair used to sign AES key compact certificate using one of the following command examples:
quartus_sign --family=stratix10 --operation=make_private_pem \
--curve=secp384r1 aesccert1_private.pem
quartus_sign --family=stratix10 --operation=make_public_pem \
aesccert1_private.pem aesccert1_public.pem
pkcs11-tool --module=/usr/local/lib/softhsm/libsofthsm2.so \
--token-label s10-token --login --pin s10-token-pin \
--keypairgen –mechanism ECDSA-KEY-PAIR-GEN \
--key-type EC:secp384r1 --usage-sign --label aesccert1 --id 2
2. Create a signature chain with the correct permission bit set using one of the following commands:
quartus_sign --family=stratix10 --operation=append_key \
--previous_pem=root_private.pem \
--previous_qky=root.qky \
--permission=0x40 --cancel=1 \
--input_pem=aesccert1_public.pem \
aesccert1_sign_chain.qky
quartus_sign --family=stratix10 --operation=append_key --module=softHSM \
-–module_args="--token_label=s10-token \
--user_pin=s10-token-pin \
--hsm_lib=/usr/local/lib/softhsm/libsofthsm2.so" \
--previous_keyname=root \
--previous_qky=root.qky \
--permission=0x40 --cancel=1 \
--input_keyname=aesccert1 \
aesccert1_sign_chain.qky
regards,
Farabi - Farabi_Altera
Regular Contributor
Hello,
Do you have further question?
regards,
Farabi