<?xml version="1.0" encoding="UTF-8"?>
<rss xmlns:content="http://purl.org/rss/1.0/modules/content/" xmlns:dc="http://purl.org/dc/elements/1.1/" xmlns:rdf="http://www.w3.org/1999/02/22-rdf-syntax-ns#" xmlns:taxo="http://purl.org/rss/1.0/modules/taxonomy/" version="2.0">
  <channel>
    <title>topic Re:sgx_rijndael128GCM_encrypt does not encrypt in Intel® Software Guard Extensions (Intel® SGX)</title>
    <link>https://community.intel.com/t5/Intel-Software-Guard-Extensions/sgx-rijndael128GCM-encrypt-does-not-encrypt/m-p/1389699#M5320</link>
    <description>&lt;P&gt;Hi,&lt;/P&gt;&lt;P&gt;&lt;BR /&gt;&lt;/P&gt;&lt;P&gt;Let me look into this for you. &lt;/P&gt;&lt;P&gt;In the meantime, I suggest opening a new issue in the SGX Github too: &lt;A href="https://github.com/intel/linux-sgx/issues" target="_blank"&gt;https://github.com/intel/linux-sgx/issues&lt;/A&gt; &lt;/P&gt;&lt;P&gt;&lt;BR /&gt;&lt;/P&gt;&lt;P&gt;Sincerely,&lt;/P&gt;&lt;P&gt;Sahira&lt;/P&gt;&lt;BR /&gt;</description>
    <pubDate>Thu, 02 Jun 2022 23:23:47 GMT</pubDate>
    <dc:creator>Sahira_Intel</dc:creator>
    <dc:date>2022-06-02T23:23:47Z</dc:date>
    <item>
      <title>sgx_rijndael128GCM_encrypt does not encrypt</title>
      <link>https://community.intel.com/t5/Intel-Software-Guard-Extensions/sgx-rijndael128GCM-encrypt-does-not-encrypt/m-p/1389690#M5319</link>
      <description>&lt;P&gt;I am trying to use sgx_rijndael128GCM_encrypt to encrypt some data but the buffer remains empaty. I dont know why or what i am doing wrong.&amp;nbsp; This is the code I am using, if there is any errors please mention them. As far as I think, there will be some changes in line 2, where i am calculating aesgcm_len or maybe i am using the wrong key. But if the key is wrong then it should show some errors. Please guide me. Thank you in advance.&lt;/P&gt;
&lt;P&gt;&amp;nbsp;&lt;/P&gt;
&lt;DIV style="color: #d4d4d4; background-color: #1e1e1e; font-family: 'Droid Sans Mono', 'monospace', monospace; font-weight: normal; font-size: 14px; line-height: 19px; white-space: pre;"&gt;
&lt;DIV&gt;&lt;SPAN&gt;uint8_t&lt;/SPAN&gt;&lt;SPAN&gt; *plaintext = (&lt;/SPAN&gt;&lt;SPAN&gt;uint8_t&lt;/SPAN&gt;&lt;SPAN&gt; *)&lt;/SPAN&gt;&lt;SPAN&gt;item&lt;/SPAN&gt;&lt;SPAN&gt;-&amp;gt;&lt;/SPAN&gt;&lt;SPAN&gt;certificate&lt;/SPAN&gt;&lt;SPAN&gt;;&lt;/SPAN&gt;&lt;/DIV&gt;
&lt;DIV&gt;&lt;SPAN&gt;size_t&lt;/SPAN&gt;&lt;SPAN&gt; aesgcm_len =&lt;/SPAN&gt;&lt;SPAN&gt;4&lt;/SPAN&gt;&lt;SPAN&gt; + ((((&lt;/SPAN&gt;&lt;SPAN&gt;double&lt;/SPAN&gt;&lt;SPAN&gt;)sizee)/&lt;/SPAN&gt;&lt;SPAN&gt;16&lt;/SPAN&gt;&lt;SPAN&gt;))*&lt;/SPAN&gt;&lt;SPAN&gt;16&lt;/SPAN&gt;&lt;SPAN&gt; +&lt;/SPAN&gt;&lt;SPAN&gt;16&lt;/SPAN&gt;&lt;SPAN&gt;;&lt;/SPAN&gt;&lt;/DIV&gt;
&lt;DIV&gt;&lt;SPAN&gt;item&lt;/SPAN&gt;&lt;SPAN&gt;-&amp;gt;&lt;/SPAN&gt;&lt;SPAN&gt;encrypteee&lt;/SPAN&gt;&lt;SPAN&gt; = (&lt;/SPAN&gt;&lt;SPAN&gt;uint8_t&lt;/SPAN&gt;&lt;SPAN&gt;*)&lt;/SPAN&gt;&lt;SPAN&gt;malloc&lt;/SPAN&gt;&lt;SPAN&gt;(aesgcm_len);&lt;/SPAN&gt;&lt;/DIV&gt;
&lt;DIV&gt;&lt;SPAN&gt;sgx_aes_gcm_128bit_tag_t&lt;/SPAN&gt;&lt;SPAN&gt; mac;&lt;/SPAN&gt;&lt;/DIV&gt;
&lt;DIV&gt;&lt;SPAN&gt;const&lt;/SPAN&gt; &lt;SPAN&gt;sgx_aes_gcm_128bit_key_t&lt;/SPAN&gt;&lt;SPAN&gt; aes_key= { &lt;/SPAN&gt;&lt;SPAN&gt;0x0&lt;/SPAN&gt;&lt;SPAN&gt;, &lt;/SPAN&gt;&lt;SPAN&gt;0x1&lt;/SPAN&gt;&lt;SPAN&gt;, &lt;/SPAN&gt;&lt;SPAN&gt;0x2&lt;/SPAN&gt;&lt;SPAN&gt;, &lt;/SPAN&gt;&lt;SPAN&gt;0x3&lt;/SPAN&gt;&lt;SPAN&gt;, &lt;/SPAN&gt;&lt;SPAN&gt;0x4&lt;/SPAN&gt;&lt;SPAN&gt;, &lt;/SPAN&gt;&lt;SPAN&gt;0x5&lt;/SPAN&gt;&lt;SPAN&gt;, &lt;/SPAN&gt;&lt;SPAN&gt;0x6&lt;/SPAN&gt;&lt;SPAN&gt;, &lt;/SPAN&gt;&lt;SPAN&gt;0x7&lt;/SPAN&gt;&lt;SPAN&gt;, &lt;/SPAN&gt;&lt;SPAN&gt;0x8&lt;/SPAN&gt;&lt;SPAN&gt;, &lt;/SPAN&gt;&lt;SPAN&gt;0x9&lt;/SPAN&gt;&lt;SPAN&gt;, &lt;/SPAN&gt;&lt;SPAN&gt;0xa&lt;/SPAN&gt;&lt;SPAN&gt;, &lt;/SPAN&gt;&lt;SPAN&gt;0xb&lt;/SPAN&gt;&lt;SPAN&gt;, &lt;/SPAN&gt;&lt;SPAN&gt;0xc&lt;/SPAN&gt;&lt;SPAN&gt;, &lt;/SPAN&gt;&lt;SPAN&gt;0xd&lt;/SPAN&gt;&lt;SPAN&gt;, &lt;/SPAN&gt;&lt;SPAN&gt;0xe&lt;/SPAN&gt;&lt;SPAN&gt;, &lt;/SPAN&gt;&lt;SPAN&gt;0xf&lt;/SPAN&gt;&lt;SPAN&gt; };&lt;/SPAN&gt;&lt;/DIV&gt;
&lt;DIV&gt;&lt;SPAN&gt; //sgx_read_rand((unsigned char *) &amp;amp;aes_key, sizeof(sgx_aes_gcm_128bit_key_t));&lt;/SPAN&gt;&lt;/DIV&gt;
&lt;DIV&gt;&lt;SPAN&gt;uint8_t&lt;/SPAN&gt; &lt;SPAN&gt;iv&lt;/SPAN&gt;&lt;SPAN&gt;[&lt;/SPAN&gt;&lt;SPAN&gt;12&lt;/SPAN&gt;&lt;SPAN&gt;];&lt;/SPAN&gt;&lt;/DIV&gt;
&lt;DIV&gt;&lt;SPAN&gt;memset&lt;/SPAN&gt;&lt;SPAN&gt;(iv,&lt;/SPAN&gt;&lt;SPAN&gt;0&lt;/SPAN&gt;&lt;SPAN&gt;,&lt;/SPAN&gt;&lt;SPAN&gt;12&lt;/SPAN&gt;&lt;SPAN&gt;);&lt;/SPAN&gt;&lt;/DIV&gt;
&lt;DIV&gt;&lt;SPAN&gt; ((&lt;/SPAN&gt;&lt;SPAN&gt;int&lt;/SPAN&gt;&lt;SPAN&gt;*)&lt;/SPAN&gt;&lt;SPAN&gt;item&lt;/SPAN&gt;&lt;SPAN&gt;-&amp;gt;&lt;/SPAN&gt;&lt;SPAN&gt;encrypteee&lt;/SPAN&gt;&lt;SPAN&gt;)[&lt;/SPAN&gt;&lt;SPAN&gt;0&lt;/SPAN&gt;&lt;SPAN&gt;]=sizee;&lt;/SPAN&gt;&lt;/DIV&gt;
&lt;DIV&gt;&amp;nbsp;&lt;/DIV&gt;
&lt;DIV&gt;&lt;SPAN&gt;sgx_status_t&lt;/SPAN&gt;&lt;SPAN&gt; res;&lt;/SPAN&gt;&lt;/DIV&gt;
&lt;DIV&gt;&lt;SPAN&gt; res= &lt;/SPAN&gt;&lt;SPAN&gt;sgx_rijndael128GCM_encrypt&lt;/SPAN&gt;&lt;SPAN&gt;(&amp;amp;aes_key, plaintext, sizee, (&lt;/SPAN&gt;&lt;SPAN&gt;uint8_t&lt;/SPAN&gt;&lt;SPAN&gt;*)&lt;/SPAN&gt;&lt;SPAN&gt;item&lt;/SPAN&gt;&lt;SPAN&gt;-&amp;gt;&lt;/SPAN&gt;&lt;SPAN&gt;encrypteee&lt;/SPAN&gt;&lt;SPAN&gt;+&lt;/SPAN&gt;&lt;SPAN&gt;4&lt;/SPAN&gt;&lt;SPAN&gt;,iv,&lt;/SPAN&gt;&lt;SPAN&gt;12&lt;/SPAN&gt;&lt;SPAN&gt; ,&lt;/SPAN&gt;&lt;SPAN&gt;NULL&lt;/SPAN&gt;&lt;SPAN&gt;,&lt;/SPAN&gt;&lt;SPAN&gt;0&lt;/SPAN&gt;&lt;SPAN&gt;,&amp;amp;mac);&lt;/SPAN&gt;&lt;/DIV&gt;
&lt;DIV&gt;&lt;SPAN&gt;if&lt;/SPAN&gt;&lt;SPAN&gt; (res != SGX_SUCCESS) {&lt;/SPAN&gt;&lt;/DIV&gt;
&lt;DIV&gt;&lt;SPAN&gt; //printf("encryption error");&lt;/SPAN&gt;&lt;/DIV&gt;
&lt;DIV&gt;&lt;SPAN&gt;free&lt;/SPAN&gt;&lt;SPAN&gt;(wallet);&lt;/SPAN&gt;&lt;/DIV&gt;
&lt;DIV&gt;&lt;SPAN&gt;return&lt;/SPAN&gt;&lt;SPAN&gt; ERR_FAIL_UNSEAL;&lt;/SPAN&gt;&lt;/DIV&gt;
&lt;DIV&gt;&lt;SPAN&gt; }&lt;/SPAN&gt;&lt;/DIV&gt;
&lt;/DIV&gt;</description>
      <pubDate>Thu, 02 Jun 2022 22:34:41 GMT</pubDate>
      <guid>https://community.intel.com/t5/Intel-Software-Guard-Extensions/sgx-rijndael128GCM-encrypt-does-not-encrypt/m-p/1389690#M5319</guid>
      <dc:creator>Ziidev</dc:creator>
      <dc:date>2022-06-02T22:34:41Z</dc:date>
    </item>
    <item>
      <title>Re:sgx_rijndael128GCM_encrypt does not encrypt</title>
      <link>https://community.intel.com/t5/Intel-Software-Guard-Extensions/sgx-rijndael128GCM-encrypt-does-not-encrypt/m-p/1389699#M5320</link>
      <description>&lt;P&gt;Hi,&lt;/P&gt;&lt;P&gt;&lt;BR /&gt;&lt;/P&gt;&lt;P&gt;Let me look into this for you. &lt;/P&gt;&lt;P&gt;In the meantime, I suggest opening a new issue in the SGX Github too: &lt;A href="https://github.com/intel/linux-sgx/issues" target="_blank"&gt;https://github.com/intel/linux-sgx/issues&lt;/A&gt; &lt;/P&gt;&lt;P&gt;&lt;BR /&gt;&lt;/P&gt;&lt;P&gt;Sincerely,&lt;/P&gt;&lt;P&gt;Sahira&lt;/P&gt;&lt;BR /&gt;</description>
      <pubDate>Thu, 02 Jun 2022 23:23:47 GMT</pubDate>
      <guid>https://community.intel.com/t5/Intel-Software-Guard-Extensions/sgx-rijndael128GCM-encrypt-does-not-encrypt/m-p/1389699#M5320</guid>
      <dc:creator>Sahira_Intel</dc:creator>
      <dc:date>2022-06-02T23:23:47Z</dc:date>
    </item>
    <item>
      <title>Re: Re:sgx_rijndael128GCM_encrypt does not encrypt</title>
      <link>https://community.intel.com/t5/Intel-Software-Guard-Extensions/sgx-rijndael128GCM-encrypt-does-not-encrypt/m-p/1390012#M5321</link>
      <description>&lt;P&gt;Hi Sahira,&lt;/P&gt;
&lt;P&gt;I posted there as well and trying every solution but no success. Even I tried this solution but segmentaion fault occurs at sgx_rijndael128GCM_encrypt function. I dont know why? is there any explanation. Please guide me.&lt;/P&gt;
&lt;LI-CODE lang="markup"&gt;			   uint8_t *bout;
			   //item-&amp;gt;encrypteee = (uint8_t*)malloc(aesgcm_len);
			   uint32_t boutlen = *(&amp;amp;bout +1)-bout;
			   //uint32_t boutlen = sizeof(item-&amp;gt;encrypteee);
			   uint32_t aes128gcm_ciphertext_size = SGX_AESGCM_IV_SIZE + SGX_AESGCM_MAC_SIZE + sizee;
			   if(boutlen &amp;lt; aes128gcm_ciphertext_size)
					{
						return 0Xffffffff;
					}
			   
			   	if(sgx_read_rand(bout, SGX_AESGCM_IV_SIZE) != SGX_SUCCESS)
					{
						return ERR_FAIL_UNSEAL;
					}
				const sgx_aes_gcm_128bit_key_t aes_key= { 0x0, 0x1, 0x2, 0x3, 0x4, 0x5, 0x6, 0x7, 0x8, 0x9, 0xa, 0xb, 0xc, 0xd, 0xe, 0xf };
				uint8_t *plaintext = (uint8_t *)item-&amp;gt;certificate;
			    sgx_status_t res;
			   	res=sgx_rijndael128GCM_encrypt(&amp;amp;aes_key,
					plaintext, sizee, // plaintext
					bout + SGX_AESGCM_IV_SIZE + SGX_AESGCM_MAC_SIZE, // ciphertext
					bout, SGX_AESGCM_IV_SIZE, // iv
					NULL, 0, // aad
					(sgx_aes_gcm_128bit_tag_t*) (bout + SGX_AESGCM_IV_SIZE)); // mac
				if (res != SGX_SUCCESS) {
					//printf("encryption error");
					free(wallet);
					return ERR_FAIL_UNSEAL;
				}&lt;/LI-CODE&gt;</description>
      <pubDate>Sat, 04 Jun 2022 14:15:34 GMT</pubDate>
      <guid>https://community.intel.com/t5/Intel-Software-Guard-Extensions/sgx-rijndael128GCM-encrypt-does-not-encrypt/m-p/1390012#M5321</guid>
      <dc:creator>Ziidev</dc:creator>
      <dc:date>2022-06-04T14:15:34Z</dc:date>
    </item>
    <item>
      <title>Re:sgx_rijndael128GCM_encrypt does not encrypt</title>
      <link>https://community.intel.com/t5/Intel-Software-Guard-Extensions/sgx-rijndael128GCM-encrypt-does-not-encrypt/m-p/1398371#M5383</link>
      <description>&lt;P&gt;Hi Ziidev,&lt;/P&gt;&lt;P&gt;I see someone has replied to your post on Github so I will close this issue and we can work on your issue there.&lt;/P&gt;&lt;P&gt;&lt;BR /&gt;&lt;/P&gt;&lt;P&gt;Sincerely,&lt;/P&gt;&lt;P&gt;Sahira &lt;/P&gt;&lt;BR /&gt;</description>
      <pubDate>Wed, 06 Jul 2022 22:29:31 GMT</pubDate>
      <guid>https://community.intel.com/t5/Intel-Software-Guard-Extensions/sgx-rijndael128GCM-encrypt-does-not-encrypt/m-p/1398371#M5383</guid>
      <dc:creator>Sahira_Intel</dc:creator>
      <dc:date>2022-07-06T22:29:31Z</dc:date>
    </item>
  </channel>
</rss>

