Crypto API의 어떤 커널 모듈이 내 시스템에 유용한지 어떻게 알 수 있나요?
소프트웨어가 있는 경우 해당 소프트웨어가 커널 API를 사용하는지 어떻게 확인할 수 있나요? 예를 들어, RSA를 자주 사용하지만 다음 옵션을 활성화하면 RSA 관련 소프트웨어가 더 안전하고 빨라 집니까? 누가 활성화해야 합니까?
CONFIG_CRYPTO_RSA:
Generic implementation of the RSA public key algorithm.
Symbol: CRYPTO_RSA [=n]
Prompt: RSA algorithm
답변1
예를 들어, RSA를 자주 사용하지만 다음 옵션을 활성화하면 RSA 관련 소프트웨어가 더 안전하고 빨라 집니까?
아니요.
범용 명령어나 심지어 CPU 특정 명령어를 사용한 구현은 다른 커널 모듈에만 도움이 됩니다. 사용자 프로그램은 이를 사용하지 않습니다.
하드웨어 가속은 일반적으로 특히 x86 PC에서 특수 CPU 명령어에 의해 제공됩니다. 사용자 공간은 커널을 호출하지 않고도 동일한 명령어를 사용할 수 있습니다. 이는 가장 비용이 적게 드는 방법이며 작은 메시지를 암호화할 때 특히 중요합니다.
커널 모듈이 특정 알고리즘을 반드시 필요로 한다면 대부분의 경우 자동으로 선택하게 될 것이라고 생각합니다. 다른 암호화(예: IPsec)를 선택할 수 있는 경우 사용하려는 특정 알고리즘을 수동으로 활성화해야 할 수도 있습니다.
일부 시스템 온 칩 CPU에는 커널 드라이버가 필요한 암호화 가속기가 포함되어 있습니다. ~에 따르면Cryptodev-리눅스그러나 현재 메인라인 커널은 필요한 것보다 훨씬 덜 효율적인 인터페이스를 제공합니다. 내 설명은 이러한 유형의 가속기는 적어도 메인라인 Linux에서는 그다지 인기가 없다는 것입니다.