
کارهای تازهای که در زیرسیستم رمزنگاری هسته لینوکس (Linux Kernel Crypto Subsystem) انجام شده، به بهبود عملکرد کتابخانه رمزنگاری هسته (Kernel Crypto Library) منجر شده است. بر اساس گزارش فورونیکس، اریک بیگرز (Eric Biggers)، مهندس گوگل، پیادهسازیهای بهینهشده AES را برای معماریهای x86/x86_64 و RISC-V به فضای کتابخانه رمزنگاری هسته یعنی lib/crypto منتقل کرده است.
انتقال پیادهسازیهای بهینه به lib/crypto
این تغییر برای هسته لینوکس ۷.۴ ادغام شده و شامل انتقال پیادهسازیهای بهینهشده حالتهای AES مانند ECB، CBC، CBC-CTS، CTR، XCTR و XTS به کتابخانه رمزنگاری هسته است. در نتیجه، APIهای این کتابخانه روی معماریهای یادشده بهدرستی شتاب میگیرند و همزمان استفاده از crypto_skcipher نیز همچنان شتابدهی میشود.
روی پردازندههای اینتل و AMD با معماری x86_64، این تغییر به معنای استفاده از کد بهینهشده با AVX و دستورالعملهای AES-NI است. به گفته این متخصص رمزنگاری لینوکس، علاوه بر شتابدهی ناشی از این پیادهسازیهای بهینه، حجم زیادی از کدهای چسبنده (Glue Code) و کدهای تکراری نیز حذف میشود.
بهینهسازی AES-XTS برای SPARC64
در بخش دیگری از بهروزرسانیهای کتابخانه رمزنگاری برای لینوکس ۷.۴، استیان هالست (Stian Halseth)، توسعهدهنده متنباز، پیادهسازی بهینهشده AES-XTS را برای معماری SPARC64 نوشته است. این پیادهسازی جدید از کدهای عملیاتی رمزنگاری SPARC (SPARC Crypto Opcodes) استفاده میکند.
- انتقال پیادهسازیهای بهینه AES به lib/crypto برای x86/x86_64 و RISC-V
- پشتیبانی از حالتهای ECB، CBC، CBC-CTS، CTR، XCTR و XTS
- استفاده از AVX و AES-NI در پردازندههای اینتل و AMD x86_64
- کاهش کدهای چسبنده و کدهای تکراری در زیرسیستم رمزنگاری
- افزودن پیادهسازی بهینه AES-XTS برای SPARC64
فهرست کامل بهروزرسانیهای ادغامشده کتابخانه رمزنگاری برای لینوکس ۷.۴ از طریق درخواست ادغام (Pull Request) مربوطه قابل مشاهده است.