1

我是使用 Intel-TSX 的新手。所以,请纠正我的任何术语/概念错误。

我正在尝试使用此处的 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
. 
.

关于如何解决它的任何帮助/建议?

4

0 回答 0