3
1024 비트의 N이 있습니다. 다음과 같이 메시지 M (512 비트)을 몽고메리 환원 양식으로 변환해야합니다.OpenSSL 라이브러리를 사용하는 몽고메리 감소 양식
M '= M *에서의 R^{- 1}
N
개조, 여기서 R = 2^(512) (MOD N)방법 I는 결과를 얻을 수 있는가?
1024 비트의 N이 있습니다. 다음과 같이 메시지 M (512 비트)을 몽고메리 환원 양식으로 변환해야합니다.OpenSSL 라이브러리를 사용하는 몽고메리 감소 양식
M '= M *에서의 R^{- 1}
N
개조, 여기서 R = 2^(512) (MOD N)방법 I는 결과를 얻을 수 있는가?
다음은 OpenSSL의 bignum 패키지를 직접 사용하는 경우에 적합합니다.
R = 2^512 (mod N)을 계산하려면 BN_mod_exp
함수를 사용하십시오.
BN_mod_inverse
를 호출하여 R의 곱셈 모듈로 역을 계산합니다. 이것은 당신에게 R^-1을 줄 것입니다.
일단 당신이 당신 단지 계산 된 R^-1 원래 메시지를 사용하여 곱셈을 할 BN_mod_mul
를 호출하여 M '을 계산 다.
당신에는 OpenSSL의 bignum 패키지에 위에서 언급 한 기능을 찾을 수 있습니다. 그들은 포함 파일에 있습니다 : openssl/bn.h
나는 똑같이했습니다. 그러나 R & R^-1이 1로 표시됩니다. 맞습니까? 문제를 파악할 수 없습니다. – dudedev
프라임 N을 게시 할 수 있습니까? –
고마워 .. 그것은 효과가 .. 나는 BIGNUM 구조체의 초기화를 변경했다. – dudedev