Intel-TSX の使用は初めてです。したがって、用語/概念上の誤りがあれば修正してください。
hereから polarssl ライブラリを使用してカスタム rsa エンジンを作成しようとしています(古いことはわかっていますが、理解しやすいことがわかりました)。私は次のコードを持っています、
result=-1;
unsigned block;
int key_len= 128;
while(result!=1){
if ((block = _xbegin()) == _XBEGIN_STARTED) {
if( rsa_pkcs1_decrypt( &rsa_polar, &myrand, NULL, RSA_PRIVATE, &key_len, from, decrypt_plaintext, sizeof(decrypt_plaintext) ) != 0 )
exit(0);
rsa_free(&rsa_polar);
result=1;
_xend();
}else{
printf("RTM 2: Transaction failed\n");
printf("status is %ld\n", block);
}
printf("Block 2: Result is %d\n", result);
}
rtm ブロック内のコードが機能しません。ただし、同じコードが rtm ブロックの外でも機能します。コードを実行すると、次の出力が得られます。
.
.
RTM 2: Transaction failed
status is 0
Block 2: Result is -1
.
.
それを解決する方法についてのヘルプ/提案はありますか?