나는 최근에 Linux가 Adiantum을 디스크 암호화 암호로 지원한다는 사실을 알게 되었습니다( cryptsetup benchmark -c xchacha20,aes-adiantum-plain64
시스템에서 실행하고 사용해 보세요). Adiantum은 주로 하드웨어 AES 가속을 지원하지 않는 저가형 장치에 더 빠른 디스크 암호화를 제공하기 위한 것이지만, 이는 또한 넓은 블록 암호화 모드이기도 합니다. 즉, 암호화 텍스트의 단일 비트 플립이 전체 일반 텍스트 섹터를 무작위화하는 반면, AES에서는 -XTS 모드(AES 가속을 사용할 수 있는 경우 현재 권장되는 암호) 암호 텍스트의 비트 뒤집기는 일반 텍스트의 16바이트 블록만 무작위화합니다. 이는 잠재적인 공격자에게 더 세밀하고 블록 경계를 제공합니다. 따라서 이 점에서 Adiantum은 AES-XTS보다 엄격하게 더 안전합니다.
Adiantum은 해시, 배치 암호 및 블록 암호로 구축된 구조입니다. 내 Linux 커널(v5.4)에서 현재 사용 가능한 변형은 ChaCha12 또는 ChaCha20을 대량 암호로 사용합니다. 이는 하드웨어 AES 가속이 없는 장치에서 사용하기에는 좋지만 이제는 AES-XTS가 Adiantum보다 약 두 배 빠른 AES 가속이 있는 노트북에서도 사용하고 싶습니다.
Linux용 하드웨어 AES 가속에 최적화된 디스크 암호화 와이드 블록 암호가 사용 가능하거나 개발 중입니까?
@앞으로 누구든지 이 글을 쓸 때 대답이 "아니요"였지만 이 질문을 읽을 때 변경된 경우, 당시 업데이트가 포함된 답변을 게시하시기 바랍니다.
답변1
Adiantum의 디자이너들도 이 문제를 해결하고 다음과 같은 아이디어를 내놓았습니다.HCTR2. Adiantum과 유사하지만 암호화에 AES-XCTR을 사용하고 가속 해시 함수로 POLYVAL을 사용합니다. Linux 커널 버전 6에서 사용 가능합니다.